Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/util/BlockingCloseableIterator.java')
-rw-r--r--plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/util/BlockingCloseableIterator.java58
1 files changed, 29 insertions, 29 deletions
diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/util/BlockingCloseableIterator.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/util/BlockingCloseableIterator.java
index 7b2e36e181..7a6d9a8629 100644
--- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/util/BlockingCloseableIterator.java
+++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/util/BlockingCloseableIterator.java
@@ -1,29 +1,29 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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:
- * Simon McDuff - initial API and implementation
- * Eike Stepper - maintenance
- *************************************************************************/
-package org.eclipse.emf.cdo.common.util;
-
-import org.eclipse.net4j.util.collection.CloseableIterator;
-
-/**
- * A closeable iterator that blocks on {@link #hasNext()} until the next element is available or the end of the
- * iteration is reached.
- *
- * @author Simon McDuff
- * @since 2.0
- */
-public interface BlockingCloseableIterator<T> extends CloseableIterator<T>
-{
- /**
- * Non-blocking call.
- */
- public T peek();
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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:
+ * Simon McDuff - initial API and implementation
+ * Eike Stepper - maintenance
+ *************************************************************************/
+package org.eclipse.emf.cdo.common.util;
+
+import org.eclipse.net4j.util.collection.CloseableIterator;
+
+/**
+ * A closeable iterator that blocks on {@link #hasNext()} until the next element is available or the end of the
+ * iteration is reached.
+ *
+ * @author Simon McDuff
+ * @since 2.0
+ */
+public interface BlockingCloseableIterator<T> extends CloseableIterator<T>
+{
+ /**
+ * Non-blocking call.
+ */
+ public T peek();
+}

Back to the top

f/features/org.eclipse.jem-feature/sourceTemplatePlugin/about.html?h=v20050720_1322'>features/org.eclipse.jem-feature/sourceTemplatePlugin/about.html27
-rw-r--r--features/org.eclipse.jem-feature/sourceTemplatePlugin/about.ini29
-rw-r--r--features/org.eclipse.jem-feature/sourceTemplatePlugin/about.mappings6
-rw-r--r--features/org.eclipse.jem-feature/sourceTemplatePlugin/about.properties28
-rw-r--r--features/org.eclipse.jem-feature/sourceTemplatePlugin/build.properties20
-rw-r--r--features/org.eclipse.jem-feature/sourceTemplatePlugin/eclipse32.gifbin1706 -> 0 bytes-rw-r--r--features/org.eclipse.jem-feature/sourceTemplatePlugin/plugin.properties18
-rw-r--r--plugins/org.eclipse.jem.beaninfo.ui/.project12
-rw-r--r--plugins/org.eclipse.jem.beaninfo.ui/OBSOLETE-moved to org.eclipse.jem.ui0
-rw-r--r--plugins/org.eclipse.jem.beaninfo/.classpath9
-rw-r--r--plugins/org.eclipse.jem.beaninfo/.cvsignore4
-rw-r--r--plugins/org.eclipse.jem.beaninfo/.options3
-rw-r--r--plugins/org.eclipse.jem.beaninfo/.project51
-rw-r--r--plugins/org.eclipse.jem.beaninfo/.settings/org.eclipse.core.resources.prefs3
-rw-r--r--plugins/org.eclipse.jem.beaninfo/.settings/org.eclipse.jdt.core.prefs282
-rw-r--r--plugins/org.eclipse.jem.beaninfo/.settings/org.eclipse.jdt.ui.prefs6
-rw-r--r--plugins/org.eclipse.jem.beaninfo/.settings/org.eclipse.pde.core.prefs3
-rw-r--r--plugins/org.eclipse.jem.beaninfo/META-INF/MANIFEST.MF32
-rw-r--r--plugins/org.eclipse.jem.beaninfo/about.html22
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/BeanDecorator.java432
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/BeanEvent.java41
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/BeaninfoFactory.java128
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/BeaninfoPackage.java2691
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/EventSetDecorator.java326
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/FeatureDecorator.java491
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/ImplicitItem.java168
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/IndexedPropertyDecorator.java149
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/MethodDecorator.java109
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/MethodProxy.java75
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/ParameterDecorator.java97
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/PropertyDecorator.java496
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeanInfoAdapterMessages.java31
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeanInfoDecoratorUtility.java1446
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoAdapterFactory.java207
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoClassAdapter.java2475
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoJavaReflectionKeyExtension.java133
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoModelSynchronizer.java198
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoNature.java977
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoProxyConstants.java103
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoSuperAdapter.java118
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/CreateRegistryJobHandler.java165
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/DOMReader.java73
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/IReader.java32
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/SpecialResourceSet.java44
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/UICreateRegistryJobHandler.java104
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/messages.properties19
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/BeanInfoCacheController.java1582
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/BeanInfoContributorAdapter.java148
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/BeaninfoCoreMessages.java28
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/BeaninfoEntry.java373
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/BeaninfoPlugin.java707
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/BeaninfoRegistration.java79
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/BeaninfosDoc.java87
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/ConfigurationElementReader.java73
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/IBeanInfoContributor.java78
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/IBeaninfoSupplier.java55
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/IBeaninfosDocEntry.java33
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/Init.java67
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/SearchpathEntry.java189
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/Utilities.java497
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/messages.properties12
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/BeanDecoratorImpl.java1057
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/BeanEventImpl.java314
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/BeaninfoFactoryImpl.java239
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/BeaninfoPackageImpl.java1008
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/EventSetDecoratorImpl.java991
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/FeatureAttributeMapEntryImpl.java307
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/FeatureDecoratorImpl.java1057
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/IndexedPropertyDecoratorImpl.java664
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/MethodDecoratorImpl.java592
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/MethodProxyImpl.java342
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/ParameterDecoratorImpl.java522
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/PropertyDecoratorImpl.java1162
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfoCommon/org/eclipse/jem/internal/beaninfo/common/BeanRecord.java53
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfoCommon/org/eclipse/jem/internal/beaninfo/common/EventSetRecord.java37
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfoCommon/org/eclipse/jem/internal/beaninfo/common/FeatureAttributeValue.java750
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfoCommon/org/eclipse/jem/internal/beaninfo/common/FeatureRecord.java41
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfoCommon/org/eclipse/jem/internal/beaninfo/common/IBeanInfoIntrospectionConstants.java129
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfoCommon/org/eclipse/jem/internal/beaninfo/common/IndexedPropertyRecord.java32
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfoCommon/org/eclipse/jem/internal/beaninfo/common/InvalidObject.java53
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfoCommon/org/eclipse/jem/internal/beaninfo/common/MethodRecord.java38
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfoCommon/org/eclipse/jem/internal/beaninfo/common/ParameterRecord.java32
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfoCommon/org/eclipse/jem/internal/beaninfo/common/PropertyRecord.java37
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfoCommon/org/eclipse/jem/internal/beaninfo/common/ReflectFieldRecord.java35
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfoCommon/org/eclipse/jem/internal/beaninfo/common/ReflectMethodRecord.java35
-rw-r--r--plugins/org.eclipse.jem.beaninfo/build.properties33
-rw-r--r--plugins/org.eclipse.jem.beaninfo/model/beaninfo.ecore280
-rw-r--r--plugins/org.eclipse.jem.beaninfo/model/introspect.genmodel93
-rw-r--r--plugins/org.eclipse.jem.beaninfo/plugin.properties20
-rw-r--r--plugins/org.eclipse.jem.beaninfo/plugin.xml36
-rw-r--r--plugins/org.eclipse.jem.beaninfo/proxy.jars2
-rw-r--r--plugins/org.eclipse.jem.beaninfo/rose/.cvsignore2
-rw-r--r--plugins/org.eclipse.jem.beaninfo/rose/beaninfo.cat3289
-rw-r--r--plugins/org.eclipse.jem.beaninfo/rose/introspect.mdl5224
-rw-r--r--plugins/org.eclipse.jem.beaninfo/schema/registrations.exsd254
-rw-r--r--plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/beaninfo/vm/BaseBeanInfo.java866
-rw-r--r--plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/beaninfo/vm/basebeaninfonls.properties31
-rw-r--r--plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/beaninfo/vm/beaninfo.properties32
-rw-r--r--plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/BeanDescriptorEquality.java77
-rw-r--r--plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/EventSetDescriptorEquality.java145
-rw-r--r--plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/FeatureDescriptorEquality.java201
-rw-r--r--plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/IndexedPropertyDescriptorEquality.java91
-rw-r--r--plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/MethodDescriptorEquality.java135
-rw-r--r--plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/ModelingBeanInfo.java862
-rw-r--r--plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/ModelingBeanInfo15.java43
-rw-r--r--plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/ModelingBeanInfoPre15.java31
-rw-r--r--plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/ParameterDescriptorEquality.java37
-rw-r--r--plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/PropertyDescriptorEquality.java83
-rw-r--r--plugins/org.eclipse.jem.proxy/.classpath40
-rw-r--r--plugins/org.eclipse.jem.proxy/.cvsignore4
-rw-r--r--plugins/org.eclipse.jem.proxy/.options9
-rw-r--r--plugins/org.eclipse.jem.proxy/.project34
-rw-r--r--plugins/org.eclipse.jem.proxy/.settings/org.eclipse.jdt.core.prefs282
-rw-r--r--plugins/org.eclipse.jem.proxy/.settings/org.eclipse.jdt.ui.prefs6
-rw-r--r--plugins/org.eclipse.jem.proxy/.settings/org.eclipse.pde.core.prefs3
-rw-r--r--plugins/org.eclipse.jem.proxy/META-INF/MANIFEST.MF34
-rw-r--r--plugins/org.eclipse.jem.proxy/about.html22
-rw-r--r--plugins/org.eclipse.jem.proxy/build.properties43
-rw-r--r--plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/ArrayArguments.java136
-rw-r--r--plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Block.java113
-rw-r--r--plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/BooleanLiteral.java63
-rw-r--r--plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/CannotProcessArrayTypesException.java29
-rw-r--r--plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/CannotProcessInnerClassesException.java29
-rw-r--r--plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Cast.java173
-rw-r--r--plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/CharLiteral.java114
-rw-r--r--plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Constructor.java337
-rw-r--r--plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/EvaluationException.java46
-rw-r--r--plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Expression.java130
-rw-r--r--plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Field.java146
-rw-r--r--plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/IParserConstants.java51
-rw-r--r--plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/InitializationStringEvaluationException.java34
-rw-r--r--plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/InitializationStringParser.java300
-rw-r--r--plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Message.java224
-rw-r--r--plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/MessageArgument.java123
-rw-r--r--plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/NullLiteral.java59
-rw-r--r--plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/NumberLiteral.java171
-rw-r--r--plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/PrimitiveOperation.java113
-rw-r--r--plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/ProxyInitParserMessages.java46
-rw-r--r--plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Statement.java201
-rw-r--r--plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Static.java305
-rw-r--r--plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/StringLiteral.java142
-rw-r--r--plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/messages.properties24
-rw-r--r--plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/AbstractEnum.java73
-rw-r--r--plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/Enum.java37
-rw-r--r--plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/ExpressionProcesser.java3342
-rw-r--r--plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/ForExpression.java213
-rw-r--r--plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/IExpressionConstants.java26
-rw-r--r--plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/InfixOperator.java212
-rw-r--r--plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/InitparserTreeMessages.java43
-rw-r--r--plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/InternalConditionalOperandType.java70
-rw-r--r--plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/InternalExpressionProxy.java77
-rw-r--r--plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/InternalExpressionTypes.java293
-rw-r--r--plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/InternalIfElseOperandType.java60
-rw-r--r--plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/InternalInfixOperandType.java63
-rw-r--r--plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/NoExpressionValueException.java58
-rw-r--r--plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/PrefixOperator.java77
-rw-r--r--plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/VariableReference.java58
-rw-r--r--plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/messages.properties29
-rw-r--r--plugins/org.eclipse.jem.proxy/plugin.properties21
-rw-r--r--plugins/org.eclipse.jem.proxy/plugin.xml21
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy.jars4
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/awt/IStandardAwtBeanProxyFactory.java48
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/awt/JavaStandardAwtBeanConstants.java254
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/BaseProxyFactoryRegistry.java89
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/CollectionBeanProxyWrapper.java137
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ConfigurationContributorAdapter.java51
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/EnumerationBeanProxyWrapper.java77
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/Expression.java2501
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ExpressionProxy.java349
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IAccessibleObjectProxy.java39
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IArrayBeanProxy.java92
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IArrayBeanTypeProxy.java41
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IBeanProxy.java80
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IBeanProxyFactory.java49
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IBeanTypeExpressionProxy.java32
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IBeanTypeProxy.java318
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IBeanTypeProxyFactory.java31
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IBooleanBeanProxy.java31
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ICallback.java152
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ICallbackRegistry.java75
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ICharacterBeanProxy.java35
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IConfigurationContributionController.java178
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IConfigurationContributionInfo.java90
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IConfigurationContributor.java76
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IConstructorProxy.java42
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IDimensionBeanProxy.java34
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IExpression.java990
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IExtensionRegistration.java42
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IFieldProxy.java45
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IIntegerBeanProxy.java29
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IInvokable.java83
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IMethodProxy.java52
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IMethodProxyFactory.java83
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/INumberBeanProxy.java59
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IPDEContributeClasspath.java48
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IPointBeanProxy.java33
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IProxy.java48
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IProxyBeanType.java85
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IProxyConstants.java69
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IProxyField.java25
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IProxyMethod.java26
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IRectangleBeanProxy.java43
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IStandardBeanProxyFactory.java202
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IStandardBeanTypeProxyFactory.java168
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IStringBeanProxy.java30
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IUIRunner.java40
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IteratorBeanProxyWrapper.java84
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/JavaStandardBeanProxyConstants.java347
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ListBeanProxyWrapper.java111
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ListIteratorBeanProxyWrapper.java84
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ListenerList.java195
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/MapJNITypes.java72
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/PDEContributeClasspath.java106
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/PDEContributeClasspathInstance.java52
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/PDEProcessForPlugin.java68
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ProxyFactoryRegistry.java327
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ProxyLaunchSupport.java843
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ProxyMessages.java46
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ProxyPlugin.java1133
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ThrowableProxy.java68
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/UIRunner.java105
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/messages.properties48
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/AmbiguousMethodException.java33
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/CommandException.java50
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/ICallback.java30
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/ICallbackHandler.java101
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/ICallbackRunnable.java28
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/ICommandException.java20
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/IVMCallbackServer.java48
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/IVMServer.java50
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/MapTypes.java159
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/MethodHelper.java243
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/BeanProxyValueSender.java96
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/DebugModeHelper.java365
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMBeanProxy.java63
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMBeanTypeProxy.java42
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMBeanTypeProxyFactory.java85
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMConnection.java106
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMConstantBeanProxy.java25
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMConstantBeanTypeProxy.java32
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMExpressionConnection.java182
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMMethodProxy.java34
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMSpecialBeanTypeProxy.java32
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/LocalFileConfigurationContributorController.java276
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/LocalProxyLaunchDelegate.java472
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/MessageDialog.java331
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/ProxyRemoteMessages.java54
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/ProxyRemoteUtil.java60
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMAbstractBeanProxy.java134
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMAbstractBeanTypeProxy.java701
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMAbstractNumberBeanTypeProxy.java72
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMAccessibleObjectProxy.java53
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMAnAbstractBeanTypeProxy.java75
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMArrayBeanProxy.java253
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMArrayBeanTypeProxy.java340
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBeanProxy.java39
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBeanTypeProxy.java66
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBigDecimalBeanProxy.java45
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBigDecimalBeanTypeProxy.java73
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBigIntegerBeanProxy.java45
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBigIntegerBeanTypeProxy.java75
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBooleanClassBeanProxy.java96
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBooleanClassBeanTypeProxy.java93
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBooleanTypeBeanProxy.java104
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBooleanTypeBeanTypeProxy.java69
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMByteClassBeanProxy.java45
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMByteClassBeanTypeProxy.java85
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMByteTypeBeanProxy.java133
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMByteTypeBeanTypeProxy.java110
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCallbackInputStream.java146
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCallbackRegistry.java185
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCallbackThread.java327
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCharacterClassBeanProxy.java150
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCharacterClassBeanTypeProxy.java85
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCharacterTypeBeanProxy.java155
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCharacterTypeBeanTypeProxy.java66
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMClassBeanTypeProxy.java75
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMConnection.java342
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMConstantBeanProxy.java100
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMConstructorProxy.java109
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMConstructorTypeProxy.java67
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMDoubleClassBeanProxy.java44
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMDoubleClassBeanTypeProxy.java73
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMDoubleTypeBeanProxy.java133
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMDoubleTypeBeanTypeProxy.java98
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMExpression.java1864
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMFieldProxy.java106
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMFieldTypeProxy.java67
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMFloatClassBeanProxy.java44
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMFloatClassBeanTypeProxy.java74
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMFloatTypeBeanProxy.java131
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMFloatTypeBeanTypeProxy.java98
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMInitErrorBeanTypeProxy.java469
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMIntegerClassBeanProxy.java49
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMIntegerClassBeanTypeProxy.java85
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMIntegerTypeBeanProxy.java132
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMIntegerTypeBeanTypeProxy.java111
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMInterfaceBeanTypeProxy.java72
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMInvokable.java233
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMLongClassBeanProxy.java44
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMLongClassBeanTypeProxy.java87
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMLongTypeBeanProxy.java131
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMLongTypeBeanTypeProxy.java115
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMMasterServerThread.java172
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMMethodProxy.java276
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMMethodProxyFactory.java305
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMMethodTypeProxy.java67
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMNumberBeanProxy.java106
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMPrimitiveBeanTypeProxy.java234
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMProxyConstants.java679
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMProxyFactoryRegistry.java475
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMRegistryController.java198
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMShortClassBeanProxy.java44
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMShortClassBeanTypeProxy.java84
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMShortTypeBeanProxy.java132
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMShortTypeBeanTypeProxy.java109
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMStandardBeanProxyConstants.java508
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMStandardBeanProxyFactory.java854
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMStandardBeanTypeProxyFactory.java690
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMStringBeanProxy.java83
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMStringBeanTypeProxy.java124
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMThrowableBeanProxy.java214
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMThrowableBeanTypeProxy.java68
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMVoidBeanTypeProxy.java83
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMDimensionBeanProxy.java68
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMDimensionBeanTypeProxy.java67
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMPointBeanProxy.java71
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMPointBeanTypeProxy.java67
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMRectangleBeanProxy.java120
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMRectangleBeanTypeProxy.java67
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMRegisterAWT.java38
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMStandardAWTBeanProxyFactory.java74
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMStandardAWTBeanTypeProxyFactory.java82
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/messages.properties66
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEAccessibleObjectProxy.java56
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEArrayBeanProxy.java279
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEArrayBeanTypeProxy.java326
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBeanProxy.java101
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBeanTypeProxy.java451
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBigDecimalBeanTypeProxy.java38
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBigIntegerBeanTypeProxy.java40
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBooleanBeanProxy.java45
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBooleanBeanTypeProxy.java46
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBooleanClassBeanTypeProxy.java49
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBooleanTypeBeanTypeProxy.java59
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEByteClassBeanTypeProxy.java32
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEByteTypeBeanTypeProxy.java36
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDECallbackRegistry.java150
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDECharTypeBeanTypeProxy.java39
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDECharacterBeanProxy.java84
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDECharacterClassBeanTypeProxy.java30
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEClassBeanTypeProxy.java63
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEConstructorProxy.java119
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEConstructorTypeProxy.java35
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEDoubleClassBeanTypeProxy.java32
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEDoubleTypeBeanTypeProxy.java37
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEExpression.java1070
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEExtensionBeanTypeProxyFactory.java28
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEFieldProxy.java96
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEFieldTypeProxy.java33
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEFloatClassBeanTypeProxy.java30
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEFloatTypeBeanTypeProxy.java40
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEInitErrorBeanTypeProxy.java248
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEIntegerBeanProxy.java38
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEIntegerClassBeanTypeProxy.java57
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEIntegerTypeBeanTypeProxy.java69
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDELongClassBeanTypeProxy.java32
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDELongTypeBeanTypeProxy.java41
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEMethodProxy.java191
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEMethodProxyFactory.java337
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEMethodTypeProxy.java35
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDENumberBeanProxy.java107
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDENumberBeanTypeProxy.java51
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEObjectBeanProxy.java65
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEPrimitiveBeanTypeProxy.java36
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEProxyFactoryRegistry.java205
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDERegistration.java154
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEShortClassBeanTypeProxy.java28
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEShortTypeBeanTypeProxy.java36
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEStandardBeanProxyFactory.java262
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEStandardBeanTypeProxyFactory.java461
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEStringBeanProxy.java40
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEStringBeanTypeProxy.java49
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEThrowableProxy.java100
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEVMServer.java83
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IIDEBeanProxy.java29
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDEDimensionBeanProxy.java51
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDEDimensionBeanTypeProxy.java46
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDEPointBeanProxy.java51
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDEPointBeanTypeProxy.java44
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDERectangleBeanProxy.java73
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDERectangleBeanTypeProxy.java45
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDERegisterAWT.java29
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDEStandardAWTBeanProxyFactory.java47
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDEStandardAWTBeanTypeProxyFactory.java85
-rw-r--r--plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/CommandErrorException.java76
-rw-r--r--plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/Commands.java1450
-rw-r--r--plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/ExpressionCommands.java345
-rw-r--r--plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/IOCommandException.java60
-rw-r--r--plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/TransmitableArray.java36
-rw-r--r--plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/UnexpectedCommandException.java72
-rw-r--r--plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/UnexpectedExceptionCommandException.java67
-rw-r--r--plugins/org.eclipse.jem.proxy/schema/contributors.exsd147
-rw-r--r--plugins/org.eclipse.jem.proxy/schema/extensions.exsd155
-rw-r--r--plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/AWTStarter.java35
-rw-r--r--plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/ArrayHelper.java71
-rw-r--r--plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/CallbackHandler.java181
-rw-r--r--plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/CallbackOutputStream.java155
-rw-r--r--plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/ClassHelper.java48
-rw-r--r--plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/ConnectionHandler.java926
-rw-r--r--plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/ConnectionThread.java53
-rw-r--r--plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/ExpressionProcesserController.java731
-rw-r--r--plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/IdentityMap.java96
-rw-r--r--plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/RemoteVMApplication.java45
-rw-r--r--plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/RemoteVMServerThread.java717
-rw-r--r--plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/StackTraceUtility.java32
-rw-r--r--plugins/org.eclipse.jem.ui/.classpath8
-rw-r--r--plugins/org.eclipse.jem.ui/.cvsignore2
-rw-r--r--plugins/org.eclipse.jem.ui/.options3
-rw-r--r--plugins/org.eclipse.jem.ui/.project41
-rw-r--r--plugins/org.eclipse.jem.ui/.settings/org.eclipse.jdt.core.prefs282
-rw-r--r--plugins/org.eclipse.jem.ui/.settings/org.eclipse.jdt.ui.prefs6
-rw-r--r--plugins/org.eclipse.jem.ui/META-INF/MANIFEST.MF27
-rw-r--r--plugins/org.eclipse.jem.ui/about.html22
-rw-r--r--plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BIListElementSorter.java78
-rw-r--r--plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BPBeaninfoListElement.java80
-rw-r--r--plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BPListElement.java56
-rw-r--r--plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BPSearchListElement.java71
-rw-r--r--plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeanInfoUIMessages.java92
-rw-r--r--plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfoEntrySearchpathDialog.java329
-rw-r--r--plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfoPathsBlock.java564
-rw-r--r--plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfosPropertyPage.java179
-rw-r--r--plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfosWorkbookPage.java596
-rw-r--r--plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BuildSearchBasePage.java23
-rw-r--r--plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/OverlayComposite.java200
-rw-r--r--plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/PackageOnlyContentProvider.java57
-rw-r--r--plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/PackagesWorkbookPage.java438
-rw-r--r--plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/SPListElementSorter.java88
-rw-r--r--plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/SearchPathListLabelProvider.java369
-rw-r--r--plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/SearchpathOrderingWorkbookPage.java68
-rw-r--r--plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/VariableSelectionBlock.java297
-rw-r--r--plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/messages.properties108
-rw-r--r--plugins/org.eclipse.jem.ui/build.properties21
-rw-r--r--plugins/org.eclipse.jem.ui/icons/blank.gifbin70 -> 0 bytes-rw-r--r--plugins/org.eclipse.jem.ui/icons/full/ctool16/run_exc.gifbin379 -> 0 bytes-rw-r--r--plugins/org.eclipse.jem.ui/icons/full/obj16/file_obj.gifbin561 -> 0 bytes-rw-r--r--plugins/org.eclipse.jem.ui/icons/full/wizban/run_wiz.gifbin3202 -> 0 bytes-rw-r--r--plugins/org.eclipse.jem.ui/icons/javabean.gifbin310 -> 0 bytes-rw-r--r--plugins/org.eclipse.jem.ui/icons/package_obj_missing.gifbin211 -> 0 bytes-rw-r--r--plugins/org.eclipse.jem.ui/icons/plugin_obj.gifbin328 -> 0 bytes-rw-r--r--plugins/org.eclipse.jem.ui/plugin.properties33
-rw-r--r--plugins/org.eclipse.jem.ui/plugin.xml134
-rw-r--r--plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/core/JEMUIPlugin.java60
-rw-r--r--plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/ProxyLaunchMenuDelegate.java31
-rw-r--r--plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/ProxyLaunchToolbarDelegate.java127
-rw-r--r--plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/ProxyUIMessages.java29
-rw-r--r--plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/SelectDefaultConfigurationActionDelegate.java244
-rw-r--r--plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/messages.properties17
-rw-r--r--plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/remote/LocalLaunchProjectTab.java267
-rw-r--r--plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/remote/LocalLaunchTabGroup.java49
-rw-r--r--plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/remote/ProxyRemoteUIMessages.java35
-rw-r--r--plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/remote/messages.properties23
-rw-r--r--plugins/org.eclipse.jem.workbench/.classpath7
-rw-r--r--plugins/org.eclipse.jem.workbench/.cvsignore2
-rw-r--r--plugins/org.eclipse.jem.workbench/.project34
-rw-r--r--plugins/org.eclipse.jem.workbench/.settings/org.eclipse.jdt.core.prefs282
-rw-r--r--plugins/org.eclipse.jem.workbench/.settings/org.eclipse.jdt.ui.prefs6
-rw-r--r--plugins/org.eclipse.jem.workbench/META-INF/MANIFEST.MF19
-rw-r--r--plugins/org.eclipse.jem.workbench/about.html22
-rw-r--r--plugins/org.eclipse.jem.workbench/build.properties18
-rw-r--r--plugins/org.eclipse.jem.workbench/plugin.properties20
-rw-r--r--plugins/org.eclipse.jem.workbench/plugin.xml23
-rw-r--r--plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JDOMAdaptor.java336
-rw-r--r--plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JDOMClassFinder.java94
-rw-r--r--plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JDOMSearchHelper.java358
-rw-r--r--plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaClassJDOMAdaptor.java669
-rw-r--r--plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaFieldJDOMAdaptor.java291
-rw-r--r--plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaJDOMAdapterFactory.java233
-rw-r--r--plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaMethodJDOMAdaptor.java364
-rw-r--r--plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaModelListener.java275
-rw-r--r--plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaReflectionSynchronizer.java322
-rw-r--r--plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/plugin/IJavaProjectInfo.java20
-rw-r--r--plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/plugin/JavaEMFNature.java180
-rw-r--r--plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/plugin/JavaPlugin.java67
-rw-r--r--plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/plugin/JavaProjectInfo.java50
-rw-r--r--plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/workbench/utility/ASTBoundResolver.java117
-rw-r--r--plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/workbench/utility/JemProjectUtilities.java746
-rw-r--r--plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/workbench/utility/NoASTResolver.java51
-rw-r--r--plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/workbench/utility/ParseTreeCreationFromAST.java565
-rw-r--r--plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/workbench/utility/WorkbenchUtilityMessages.java33
-rw-r--r--plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/workbench/utility/messages.properties16
-rw-r--r--plugins/org.eclipse.jem/.classpath8
-rw-r--r--plugins/org.eclipse.jem/.cvsignore2
-rw-r--r--plugins/org.eclipse.jem/.options3
-rw-r--r--plugins/org.eclipse.jem/.project42
-rw-r--r--plugins/org.eclipse.jem/.settings/org.eclipse.jdt.core.prefs282
-rw-r--r--plugins/org.eclipse.jem/.settings/org.eclipse.jdt.ui.prefs7
-rw-r--r--plugins/org.eclipse.jem/META-INF/MANIFEST.MF28
-rw-r--r--plugins/org.eclipse.jem/about.html22
-rw-r--r--plugins/org.eclipse.jem/about.ini29
-rw-r--r--plugins/org.eclipse.jem/about.mappings6
-rw-r--r--plugins/org.eclipse.jem/about.properties28
-rw-r--r--plugins/org.eclipse.jem/build.properties20
-rw-r--r--plugins/org.eclipse.jem/eclipse32.gifbin1706 -> 0 bytes-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/ImplicitAllocation.java95
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/InitStringAllocation.java72
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/InstantiationFactory.java499
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/InstantiationPackage.java1819
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/JavaAllocation.java38
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTArrayAccess.java82
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTArrayCreation.java106
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTArrayInitializer.java54
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTBooleanLiteral.java63
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTCastExpression.java89
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTCharacterLiteral.java89
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTClassInstanceCreation.java80
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTConditionalExpression.java115
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTExpression.java36
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTFieldAccess.java89
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTInfixExpression.java148
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTInfixOperator.java619
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTInstanceReference.java62
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTInstanceof.java89
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTInvalidExpression.java63
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTMethodInvocation.java106
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTName.java63
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTNullLiteral.java32
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTNumberLiteral.java64
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTParenthesizedExpression.java63
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTPrefixExpression.java92
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTPrefixOperator.java213
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTStringLiteral.java89
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTThisLiteral.java32
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTTypeLiteral.java63
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/ParseTreeAllocation.java64
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/ParseVisitor.java266
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/FeatureValueProvider.java97
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/IJavaDataTypeInstance.java23
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/IJavaInstance.java51
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/IJavaObjectInstance.java23
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/InstantiationBaseMessages.java28
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/JavaDataTypeInstance.java61
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/JavaFactoryHandler.java60
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/JavaInstantiation.java110
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/JavaInstantiationHandlerFactoryAdapter.java50
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/JavaObjectInstance.java284
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/ParseTreeAllocationInstantiationVisitor.java497
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/messages.properties11
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/ImplicitAllocationImpl.java225
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/InitStringAllocationImpl.java169
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/InstantiationFactoryImpl.java607
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/InstantiationImplMessages.java28
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/InstantiationPackageImpl.java1346
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/JavaAllocationImpl.java53
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/NaiveExpressionFlattener.java325
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTArrayAccessImpl.java244
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTArrayCreationImpl.java299
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTArrayInitializerImpl.java171
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTBooleanLiteralImpl.java167
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTCastExpressionImpl.java254
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTCharacterLiteralImpl.java387
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTClassInstanceCreationImpl.java231
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTConditionalExpressionImpl.java333
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTExpressionImpl.java168
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTFieldAccessImpl.java255
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTInfixExpressionImpl.java394
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTInstanceReferenceImpl.java169
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTInstanceofImpl.java255
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTInvalidExpressionImpl.java166
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTMethodInvocationImpl.java298
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTNameImpl.java167
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTNullLiteralImpl.java58
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTNumberLiteralImpl.java176
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTParenthesizedExpressionImpl.java198
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTPrefixExpressionImpl.java256
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTStringLiteralImpl.java286
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTThisLiteralImpl.java59
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTTypeLiteralImpl.java166
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/ParseTreeAllocationImpl.java193
-rw-r--r--plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/messages.properties11
-rw-r--r--plugins/org.eclipse.jem/model/instance.ecore482
-rw-r--r--plugins/org.eclipse.jem/model/instance.genmodel136
-rw-r--r--plugins/org.eclipse.jem/model/java.ecore353
-rw-r--r--plugins/org.eclipse.jem/model/javaModel.genmodel173
-rw-r--r--plugins/org.eclipse.jem/mofjava/javaadapters.properties26
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/core/JEMPlugin.java53
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/IJavaClassAdaptor.java51
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/IJavaMethodAdapter.java39
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/IJavaReflectionKeyExtension.java34
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/InternalReadAdaptable.java34
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/JavaArrayTypeReflectionAdapter.java138
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/JavaReflectionAdapterFactory.java172
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/JavaReflectionAdaptor.java279
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/JavaReflectionKey.java393
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/JavaXMIFactoryImpl.java162
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/ReadAdaptor.java32
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/ReflectionAdaptor.java168
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/jdk/JDKAdaptor.java320
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/jdk/JavaClassJDKAdaptor.java341
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/jdk/JavaFieldJDKAdaptor.java150
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/jdk/JavaJDKAdapterFactory.java84
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/jdk/JavaMethodJDKAdaptor.java245
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/nls/ResourceHandler.java62
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/beaninfo/IIntrospectionAdapter.java38
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/init/JavaInit.java75
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/instantiation/IInstantiationHandler.java47
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/instantiation/IInstantiationHandlerFactoryAdapter.java35
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/instantiation/IInstantiationInstance.java29
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/ArrayType.java97
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/Block.java60
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/Comment.java28
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/Field.java174
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/InheritanceCycleException.java49
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/Initializer.java72
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaClass.java420
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaDataType.java42
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaEvent.java29
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaHelpers.java120
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaPackage.java41
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaParameter.java85
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaParameterKind.java202
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaRefFactory.java181
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaRefPackage.java1972
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaURL.java91
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaVisibilityKind.java203
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/Method.java279
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/Statement.java27
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/TypeKind.java200
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/ArrayTypeImpl.java688
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/BlockImpl.java243
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/CommentImpl.java143
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/FieldImpl.java739
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/InitializerImpl.java297
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaClassImpl.java1959
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaDataTypeImpl.java426
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaEventImpl.java309
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaFactoryImpl.java68
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaPackageImpl.java319
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaParameterImpl.java418
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaRefFactoryImpl.java382
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaRefPackageImpl.java1002
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/MethodImpl.java1133
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/StatementImpl.java140
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/URL.java76
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/util/JavaRefAdapterFactory.java478
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/util/JavaRefSwitch.java547
-rw-r--r--plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/util/NotificationUtil.java73
-rw-r--r--plugins/org.eclipse.jem/overrides/..ROOT...override10
-rw-r--r--plugins/org.eclipse.jem/overrides/java/lang/Object.override35
-rw-r--r--plugins/org.eclipse.jem/plugin.properties18
-rw-r--r--plugins/org.eclipse.jem/plugin.xml30
-rw-r--r--plugins/org.eclipse.jem/rose/.cvsignore2
-rw-r--r--plugins/org.eclipse.jem/rose/edocjava2.cat5613
-rw-r--r--plugins/org.eclipse.jem/rose/instance.mdl8669
-rw-r--r--plugins/org.eclipse.jem/rose/instantiation.cat3072
-rw-r--r--plugins/org.eclipse.jem/rose/javaModel.mdl8819
-rw-r--r--plugins/org.eclipse.jst.common.annotations.controller/.classpath8
-rw-r--r--plugins/org.eclipse.jst.common.annotations.controller/.cvsignore4
-rw-r--r--plugins/org.eclipse.jst.common.annotations.controller/.project28
-rw-r--r--plugins/org.eclipse.jst.common.annotations.controller/META-INF/MANIFEST.MF19
-rw-r--r--plugins/org.eclipse.jst.common.annotations.controller/about.html22
-rw-r--r--plugins/org.eclipse.jst.common.annotations.controller/build.properties21
-rw-r--r--plugins/org.eclipse.jst.common.annotations.controller/controller/org/eclipse/jst/common/internal/annotations/controller/AnnotationsController.java86
-rw-r--r--plugins/org.eclipse.jst.common.annotations.controller/controller/org/eclipse/jst/common/internal/annotations/controller/AnnotationsControllerHelper.java153
-rw-r--r--plugins/org.eclipse.jst.common.annotations.controller/controller/org/eclipse/jst/common/internal/annotations/controller/AnnotationsControllerManager.java206
-rw-r--r--plugins/org.eclipse.jst.common.annotations.controller/controller/org/eclipse/jst/common/internal/annotations/registry/AnnotationTagDynamicInitializer.java24
-rw-r--r--plugins/org.eclipse.jst.common.annotations.controller/controller/org/eclipse/jst/common/internal/annotations/registry/AnnotationTagRegistry.java511
-rw-r--r--plugins/org.eclipse.jst.common.annotations.controller/controller/org/eclipse/jst/common/internal/annotations/registry/AnnotationTagsetRegistry.java105
-rw-r--r--plugins/org.eclipse.jst.common.annotations.controller/controller/org/eclipse/jst/common/internal/annotations/registry/AnnotationsControllerResources.java64
-rw-r--r--plugins/org.eclipse.jst.common.annotations.controller/controller/org/eclipse/jst/common/internal/annotations/registry/AttributeValueProposalHelper.java79
-rw-r--r--plugins/org.eclipse.jst.common.annotations.controller/controller/org/eclipse/jst/common/internal/annotations/registry/AttributeValuesHelper.java48
-rw-r--r--plugins/org.eclipse.jst.common.annotations.controller/controller/org/eclipse/jst/common/internal/annotations/registry/TagAttribSpec.java350
-rw-r--r--plugins/org.eclipse.jst.common.annotations.controller/controller/org/eclipse/jst/common/internal/annotations/registry/TagSpec.java331
-rw-r--r--plugins/org.eclipse.jst.common.annotations.controller/controller/org/eclipse/jst/common/internal/annotations/registry/TagsetDescriptor.java146
-rw-r--r--plugins/org.eclipse.jst.common.annotations.controller/plugin.xml9
-rw-r--r--plugins/org.eclipse.jst.common.annotations.controller/prepareforpii.xml36
-rw-r--r--plugins/org.eclipse.jst.common.annotations.controller/property_files/annotationcontroller.properties23
-rw-r--r--plugins/org.eclipse.jst.common.annotations.controller/schema/annotation-tag-info.exsd251
-rw-r--r--plugins/org.eclipse.jst.common.annotations.controller/schema/annotation.tagset.exsd134
-rw-r--r--plugins/org.eclipse.jst.common.annotations.controller/schema/annotationTagDynamicInitializer.exsd102
-rw-r--r--plugins/org.eclipse.jst.common.annotations.controller/schema/annotationsController.exsd106
-rw-r--r--plugins/org.eclipse.jst.common.annotations.core/.classpath8
-rw-r--r--plugins/org.eclipse.jst.common.annotations.core/.cvsignore4
-rw-r--r--plugins/org.eclipse.jst.common.annotations.core/.project28
-rw-r--r--plugins/org.eclipse.jst.common.annotations.core/META-INF/MANIFEST.MF12
-rw-r--r--plugins/org.eclipse.jst.common.annotations.core/about.html22
-rw-r--r--plugins/org.eclipse.jst.common.annotations.core/build.properties19
-rw-r--r--plugins/org.eclipse.jst.common.annotations.core/plugin.xml6
-rw-r--r--plugins/org.eclipse.jst.common.annotations.core/prepareforpii.xml36
-rw-r--r--plugins/org.eclipse.jst.common.annotations.core/property_files/annotationcore.properties16
-rw-r--r--plugins/org.eclipse.jst.common.annotations.core/src/org/eclipse/jst/common/internal/annotations/core/AnnotatedCommentHandler.java74
-rw-r--r--plugins/org.eclipse.jst.common.annotations.core/src/org/eclipse/jst/common/internal/annotations/core/AnnotationTagParser.java266
-rw-r--r--plugins/org.eclipse.jst.common.annotations.core/src/org/eclipse/jst/common/internal/annotations/core/AnnotationsAdapter.java161
-rw-r--r--plugins/org.eclipse.jst.common.annotations.core/src/org/eclipse/jst/common/internal/annotations/core/AnnotationsCoreResources.java53
-rw-r--r--plugins/org.eclipse.jst.common.annotations.core/src/org/eclipse/jst/common/internal/annotations/core/AnnotationsTranslator.java150
-rw-r--r--plugins/org.eclipse.jst.common.annotations.core/src/org/eclipse/jst/common/internal/annotations/core/TagParseEventHandler.java55
-rw-r--r--plugins/org.eclipse.jst.common.annotations.core/src/org/eclipse/jst/common/internal/annotations/core/Token.java103
-rw-r--r--plugins/org.eclipse.jst.common.annotations.ui/.classpath8
-rw-r--r--plugins/org.eclipse.jst.common.annotations.ui/.cvsignore4
-rw-r--r--plugins/org.eclipse.jst.common.annotations.ui/.project28
-rw-r--r--plugins/org.eclipse.jst.common.annotations.ui/META-INF/MANIFEST.MF26
-rw-r--r--plugins/org.eclipse.jst.common.annotations.ui/about.html22
-rw-r--r--plugins/org.eclipse.jst.common.annotations.ui/build.properties18
-rw-r--r--plugins/org.eclipse.jst.common.annotations.ui/plugin.xml14
-rw-r--r--plugins/org.eclipse.jst.common.annotations.ui/prepareforpii.xml36
-rw-r--r--plugins/org.eclipse.jst.common.annotations.ui/property_files/taghandlerui.properties12
-rw-r--r--plugins/org.eclipse.jst.common.annotations.ui/schema/AnnotationUI.exsd104
-rw-r--r--plugins/org.eclipse.jst.common.annotations.ui/src/org/eclipse/jst/common/internal/annotations/ui/AnnotationTagCompletionProc.java726
-rw-r--r--plugins/org.eclipse.jst.common.annotations.ui/src/org/eclipse/jst/common/internal/annotations/ui/AnnotationTagProposal.java158
-rw-r--r--plugins/org.eclipse.jst.common.annotations.ui/src/org/eclipse/jst/common/internal/annotations/ui/IWRDResources.java53
-rw-r--r--plugins/org.eclipse.jst.common.annotations.ui/src/org/eclipse/jst/common/internal/annotations/ui/UIAttributeValueProposalHelper.java41
-rw-r--r--plugins/org.eclipse.jst.common.annotations.ui/src/org/eclipse/jst/common/internal/annotations/ui/UiPlugin.java65
-rw-r--r--plugins/org.eclipse.jst.common.frameworks/.classpath7
-rw-r--r--plugins/org.eclipse.jst.common.frameworks/.cvsignore4
-rw-r--r--plugins/org.eclipse.jst.common.frameworks/.project28
-rw-r--r--plugins/org.eclipse.jst.common.frameworks/META-INF/MANIFEST.MF22
-rw-r--r--plugins/org.eclipse.jst.common.frameworks/about.html22
-rw-r--r--plugins/org.eclipse.jst.common.frameworks/build.properties17
-rw-r--r--plugins/org.eclipse.jst.common.frameworks/component.xml14
-rw-r--r--plugins/org.eclipse.jst.common.frameworks/plugin.xml34
-rw-r--r--plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/componentcore/util/ComponentUtilities.java371
-rw-r--r--plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/frameworks/CommonFrameworksPlugin.java51
-rw-r--r--plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/classpath/ClasspathDecorations.java75
-rw-r--r--plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/classpath/ClasspathDecorationsManager.java374
-rw-r--r--plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/classpath/FlexibleProjectContainer.java363
-rw-r--r--plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/classpath/FlexibleProjectContainerInitializer.java82
-rw-r--r--plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/IJavaProjectCreationProperties.java37
-rw-r--r--plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/IJavaProjectMigrationDataModelProperties.java11
-rw-r--r--plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/JavaArtifactEditModel.java196
-rw-r--r--plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/JavaArtifactEditModelFactory.java63
-rw-r--r--plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/JavaInsertionHelper.java176
-rw-r--r--plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/JavaProjectCreationDataModelProvider.java41
-rw-r--r--plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/JavaProjectCreationOperation.java112
-rw-r--r--plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/JavaProjectMigrationDataModelProvider.java60
-rw-r--r--plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/JavaProjectMigrationOperation.java171
-rw-r--r--plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/JavaProjectValidationHandler.java55
-rw-r--r--plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/WTPWorkingCopyManager.java532
-rw-r--r--plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/WorkingCopyManager.java49
-rw-r--r--plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/WorkingCopyManagerFactory.java57
-rw-r--r--plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/WorkingCopyProvider.java60
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/.classpath11
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/.cvsignore4
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/.project28
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/META-INF/MANIFEST.MF92
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/about.html22
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/build.properties33
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/commonarchive.properties94
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/ApplicationClientFile.java45
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/Archive.java468
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/ArchiveTypeDiscriminatorRegistry.java102
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/ClientModuleRef.java25
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/CommonArchiveFactoryRegistry.java48
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/CommonArchiveResourceHandler.java62
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/CommonarchiveFactory.java445
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/CommonarchivePackage.java1024
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/ConnectorModuleRef.java24
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/Container.java83
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/EARFile.java299
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/EJBJarFile.java55
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/EJBModuleRef.java25
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/File.java256
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/GenericArchiveTypeDiscriminator.java47
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/ModuleFile.java96
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/ModuleRef.java178
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/RARFile.java66
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/ReadOnlyDirectory.java36
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/RepairArchiveCommand.java159
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/ValidateXmlCommand.java173
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/WARFile.java99
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/WebModuleRef.java24
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/XmlValidationResult.java72
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/ArchiveException.java32
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/ArchiveRuntimeException.java60
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/ArchiveWrappedException.java58
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/DeploymentDescriptorLoadException.java57
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/DuplicateObjectException.java68
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/EmptyResourceException.java36
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/IArchiveWrappedException.java22
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/ManifestException.java51
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/NestedJarException.java35
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/NoEJB10DescriptorsException.java37
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/NoModuleElementException.java36
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/NoModuleFileException.java51
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/NotADeploymentDescriptorException.java37
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/NotSupportedException.java54
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/ObjectNotFoundException.java37
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/OpenFailureException.java58
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/ReopenException.java60
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/ResourceLoadException.java58
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/SaveFailureException.java56
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/SubclassResponsibilityException.java39
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/UncontainedModuleFileException.java36
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/ArchiveConstants.java35
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/ArchiveInit.java58
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/ArchiveManifest.java116
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/ArchiveManifestImpl.java323
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/ArchiveOptions.java226
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/ArchiveTypeDiscriminator.java80
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/ArchiveTypeDiscriminatorImpl.java180
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/ArchiveURIConverterImpl.java309
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/ExportStrategy.java38
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/FileExtensionsFilterImpl.java143
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/FileIterator.java31
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/FileIteratorImpl.java52
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/ManifestPackageEntryImpl.java110
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/NestedArchiveIterator.java77
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/ResourceProxyValidator.java107
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/RuntimeClasspathEntry.java54
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/RuntimeClasspathEntryImpl.java135
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/SaveFilter.java28
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/SaveFilterImpl.java34
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/SelectedFilesFilterImpl.java83
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/AltResourceRegister.java46
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/ApplicationClientFileImpl.java359
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/ArchiveCopySessionUtility.java108
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/ArchiveCopyUtility.java239
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/ArchiveImpl.java1602
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/ClientModuleRefImpl.java193
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/CommonarchiveFactoryImpl.java1071
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/CommonarchivePackageImpl.java635
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/ConnectorModuleRefImpl.java192
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/ContainerImpl.java513
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/EARFileImpl.java1324
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/EJBJarFileImpl.java418
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/EJBModuleRefImpl.java194
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/FileImpl.java680
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/ModuleFileImpl.java408
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/ModuleRefImpl.java544
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/RARFileImpl.java402
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/ReadOnlyDirectoryImpl.java304
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/RootArchiveTypeDescriminatorImpl.java89
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/RootEJBJarDescriminatorImpl.java120
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/WARFileImpl.java589
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/WebModuleRefImpl.java197
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/LooseApplication.java28
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/LooseArchive.java80
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/LooseConfigRegister.java358
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/LooseConfiguration.java29
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/LooseLibrary.java33
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/LooseModule.java33
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/LooseWARFile.java28
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/LooseconfigFactory.java63
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/LooseconfigPackage.java334
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/impl/LooseApplicationImpl.java221
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/impl/LooseArchiveImpl.java335
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/impl/LooseConfigurationImpl.java140
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/impl/LooseLibraryImpl.java227
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/impl/LooseModuleImpl.java237
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/impl/LooseWARFileImpl.java236
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/impl/LooseconfigFactoryImpl.java114
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/impl/LooseconfigPackageImpl.java349
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/util/LooseconfigAdapterFactory.java168
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/util/LooseconfigSwitch.java156
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/AppClient12ExportStrategyImpl.java26
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/AppClient12ImportStrategyImpl.java91
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/ArchiveStrategy.java24
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/ArchiveStrategyImpl.java37
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/ConnectorDirectorySaveStrategyImpl.java217
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/DirectoryArchiveLoadStrategy.java20
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/DirectoryArchiveLoadStrategyImpl.java50
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/DirectoryLoadStrategyImpl.java244
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/DirectorySaveStrategyImpl.java245
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/Ear12ExportStrategyImpl.java26
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/Ear12ImportStrategyImpl.java91
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/EjbJar11ExportStrategyImpl.java26
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/EjbJar11ImportStrategyImpl.java90
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/ExportStrategyImpl.java63
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/ImportStrategy.java34
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/ImportStrategyImpl.java41
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/LoadStrategy.java148
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/LoadStrategyImpl.java557
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/NestedArchiveLoadStrategyImpl.java260
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/NullLoadStrategyImpl.java56
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/RarExportStrategyImpl.java26
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/RarImportStrategyImpl.java93
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/ReadOnlyDirectoryLoadStrategyImpl.java113
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/SaveStrategy.java57
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/SaveStrategyImpl.java280
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/TempZipFileLoadStrategyImpl.java58
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/War22ExportStrategyImpl.java26
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/War22ImportStrategyImpl.java91
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/XmlBasedImportStrategyImpl.java46
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/ZipFileLoadStrategyImpl.java153
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/ZipStreamSaveStrategyImpl.java161
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/ArchiveFileDynamicClassLoader.java188
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/ArchiveUtil.java865
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/ClasspathUtil.java124
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/CommonarchiveAdapterFactory.java381
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/CommonarchiveSwitch.java479
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/EARFileUtil.java90
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/FileDups.java201
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/ObjectInputStreamCustomResolver.java102
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/RarFileDynamicClassLoader.java58
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/WarFileDynamicClassLoader.java72
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/component.xml1
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/applicationclientvalidation.properties65
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/earvalidation.properties139
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/ejbvalidator.properties1528
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/erefvalidation.properties78
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ABMPHomeVRule.java57
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ABeanClassVRule.java506
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ACMPHomeVRule.java76
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AComponentVRule.java164
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AEntityBeanClassVRule.java44
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AEntityHomeVRule.java98
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AHomeVRule.java284
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AInterfaceTypeVRule.java151
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AKeyClassVRule.java79
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ASessionBeanClassVRule.java43
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ASessionHomeVRule.java24
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AStatelessHomeVRule.java35
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ATypeVRule.java644
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AValidateBean.java673
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AValidateEJB.java375
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AValidateEntityBean.java1001
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AValidateEntityHome.java681
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AValidateHome.java420
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AValidateKeyClass.java148
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AValidateRemote.java380
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AValidationRule.java123
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AbstractEJBValidationRuleFactory.java130
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AbstractEJBValidator.java324
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ApplicationClientMessageConstants.java37
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ApplicationClientValidator.java142
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/BMPBeanClassVRule.java303
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/BMPKeyClassVRule.java130
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/BMPLocalComponentVRule.java114
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/BMPLocalHomeVRule.java125
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/BMPRemoteComponentVRule.java114
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/BMPRemoteHomeVRule.java129
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/CMPBeanClassVRule.java484
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/CMPKeyClassVRule.java211
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/CMPLocalComponentVRule.java113
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/CMPLocalHomeVRule.java131
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/CMPRemoteComponentVRule.java165
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/CMPRemoteHomeVRule.java131
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ClassUtility.java304
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ConnectorMessageConstants.java31
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ConnectorValidator.java121
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/DuplicatesTable.java152
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/EARMessageConstants.java49
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/EJBExt20VRule.java252
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/EJBJar11VRule.java595
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/EJBJar20VRule.java884
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/EJBValidationContext.java194
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/EJBValidationRuleFactory.java373
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/EJBValidator.java501
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/EJBValidatorModelEnum.java29
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/EarValidator.java705
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/EnterpriseBean11VRule.java1071
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/EnterpriseBean20VRule.java1193
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IClassVRule.java48
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IComponentType.java23
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IEJBInterfaceType.java33
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IEJBType.java38
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IEJBValidationContext.java55
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IEJBValidatorConstants.java35
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IEJBValidatorMessageConstants.java114
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IFieldType.java24
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IHomeType.java23
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ILocalType.java21
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IMessagePrefixEjb11Constants.java91
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IMessagePrefixEjb20Constants.java200
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IMethodAndFieldConstants.java99
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IMethodType.java39
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IRemoteType.java21
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ITypeConstants.java64
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IValidationRule.java80
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IValidationRuleList.java63
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/InvalidInputException.java41
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/J2EEMessageConstants.java35
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/J2EEValidationResourceHandler.java499
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/J2EEValidator.java511
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/MessageDrivenBeanClassVRule.java291
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/MessageUtility.java358
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/MethodUtility.java2149
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/RoleHelper.java221
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/StatefulSessionBeanClassVRule.java250
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/StatefulSessionLocalComponentVRule.java110
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/StatefulSessionLocalHomeVRule.java114
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/StatefulSessionRemoteComponentVRule.java113
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/StatefulSessionRemoteHomeVRule.java113
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/StatelessSessionBeanClassVRule.java258
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/StatelessSessionLocalComponentVRule.java109
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/StatelessSessionLocalHomeVRule.java114
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/StatelessSessionRemoteComponentVRule.java112
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/StatelessSessionRemoteHomeVRule.java116
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ValidateBMPBean.java544
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ValidateBMPHome.java183
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ValidateBMPKey.java80
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ValidateBMPRemote.java64
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ValidateCMPBean.java564
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ValidateCMPKey.java301
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ValidateCMPRemote.java63
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ValidateSessionBean.java719
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ValidateSessionHome.java354
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ValidateSessionRemote.java64
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ValidationCancelledException.java21
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ValidationRuleUtility.java1548
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/WARMessageConstants.java72
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/WARValidationResourceHandler.java64
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/WarValidator.java1330
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/rarvalidation.properties13
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2ee-validation/warvalidation.properties258
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2eeCorePlugin/org/eclipse/jst/j2ee/core/internal/plugin/EclipseEJBModelExtenderProvider.java161
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/j2eeCorePlugin/org/eclipse/jst/j2ee/core/internal/plugin/J2EECorePlugin.java70
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/ejb.properties51
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/j2eeplugin.properties16
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/j2eexml.properties28
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/mofj2ee.properties28
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/application/Application.java116
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/application/ApplicationFactory.java74
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/application/ApplicationResource.java18
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/application/ConnectorModule.java24
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/application/EjbModule.java25
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/application/JavaClientModule.java25
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/application/Module.java75
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/application/WebModule.java38
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/client/ApplicationClient.java212
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/client/ApplicationClientResource.java19
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/client/ClientFactory.java43
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/client/ResAuthApplicationType.java133
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/CommonFactory.java231
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/CompatibilityDescriptionGroup.java147
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/DeploymentExtension.java103
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/Description.java101
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/DescriptionGroup.java89
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/DisplayName.java99
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/EJBLocalRef.java46
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/EjbRef.java196
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/EjbRefType.java126
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/EnvEntry.java142
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/EnvEntryType.java266
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/ExtensibleType.java58
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/IconType.java152
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/Identity.java75
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/JNDIEnvRefsGroup.java160
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/Listener.java71
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/MessageDestination.java87
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/MessageDestinationRef.java189
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/MessageDestinationUsageType.java166
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/ParamValue.java145
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/QName.java150
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/ResAuthTypeBase.java173
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/ResSharingScopeType.java126
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/ResourceEnvRef.java99
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/ResourceRef.java206
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/RunAsSpecifiedIdentity.java40
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/SecurityIdentity.java61
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/SecurityRole.java68
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/SecurityRoleRef.java86
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/UseCallerIdentity.java26
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/AcknowledgeMode.java125
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/ActivationConfig.java81
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/ActivationConfigProperty.java108
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/AssemblyDescriptor.java120
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/CMPAttribute.java97
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/CMRField.java52
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/CommonRelationship.java29
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/CommonRelationshipRole.java110
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/ContainerManagedEntity.java235
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/DestinationType.java126
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/EJBExtensionFilter.java72
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/EJBJar.java231
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/EJBMethodCategory.java24
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/EJBRelation.java126
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/EJBRelationshipRole.java307
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/EJBResource.java42
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/EjbFactory.java183
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/EjbMethodElementComparator.java81
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/EjbMethodElementHelper.java436
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/EnterpriseBean.java328
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/Entity.java103
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/ExcludeList.java70
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/IRoleShapeStrategy.java34
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/MessageDriven.java281
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/MessageDrivenDestination.java132
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/MethodElement.java368
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/MethodElementKind.java214
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/MethodPermission.java148
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/MethodTransaction.java139
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/MultiplicityKind.java126
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/Query.java197
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/QueryMethod.java45
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/Relationships.java82
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/ReturnTypeMapping.java126
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/RoleSource.java84
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/Session.java163
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/SessionType.java126
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/SubscriptionDurabilityKind.java126
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/TransactionAttributeType.java206
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/TransactionType.java126
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/DefaultEJBModelExtenderProvider.java51
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/EJBModelExtenderManager.java59
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/EjbModuleExtensionHelper.java42
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ExceptionHelper.java59
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/IEJBModelExtenderManager.java37
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/IEJBModelExtenderProvider.java41
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/IWrappedException.java35
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/J2EEConstants.java165
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/J2EEInit.java229
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/J2EEModuleExtensionHelper.java29
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/J2EEVersionConstants.java73
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/MOFJ2EEResourceHandler.java57
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/WrappedException.java91
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/WrappedRuntimeException.java94
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/application/ApplicationPackage.java354
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/application/impl/ApplicationFactoryImpl.java121
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/application/impl/ApplicationImpl.java434
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/application/impl/ApplicationPackageImpl.java364
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/application/impl/ApplicationResourceFactory.java75
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/application/impl/ApplicationResourceImpl.java147
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/application/impl/ConnectorModuleImpl.java176
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/application/impl/EjbModuleImpl.java177
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/application/impl/JavaClientModuleImpl.java177
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/application/impl/ModuleImpl.java307
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/application/impl/WebModuleImpl.java233
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/application/util/ApplicationAdapterFactory.java248
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/application/util/ApplicationSwitch.java254
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/client/ClientPackage.java278
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/client/impl/ApplicationClientImpl.java606
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/client/impl/ApplicationClientResourceFactory.java76
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/client/impl/ApplicationClientResourceImpl.java154
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/client/impl/ClientFactoryImpl.java101
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/client/impl/ClientPackageImpl.java321
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/client/util/ClientAdapterFactory.java158
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/client/util/ClientSwitch.java140
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/common/CommonPackage.java2107
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/common/J2EEVersionResource.java26
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/common/J2EEXMIResource.java58
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/common/J2EEXMIResourceFactory.java51
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/common/XMLResource.java88
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/common/impl/CommonFactoryImpl.java369
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/common/impl/CommonPackageImpl.java1502
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/common/impl/CompatibilityDescriptionGroupImpl.java601
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/common/impl/DescriptionGroupAdapter.java119
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/common/impl/DescriptionGroupImpl.java221
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/common/impl/DescriptionImpl.java218
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/common/impl/DisplayNameImpl.java218
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/common/impl/EJBLocalRefImpl.java333
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/common/impl/EjbRefImpl.java514
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/common/impl/EnvEntryImpl.java371
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/common/impl/IconTypeImpl.java272
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/common/impl/IdentityImpl.java248
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/common/impl/J2EEResouceFactorySaxRegistry.java53
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/common/impl/J2EEResourceFactoryDomRegistry.java61
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/common/impl/J2EEResourceFactoryRegistry.java30
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/common/impl/JNDIEnvRefsGroupImpl.java454
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/common/impl/ListenerImpl.java267
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/common/impl/MessageDestinationImpl.java262
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/common/impl/MessageDestinationRefImpl.java412
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/common/impl/ParamValueImpl.java331
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/common/impl/QNameImpl.java416
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/common/impl/ResourceEnvRefImpl.java323
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/common/impl/ResourceRefImpl.java508
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/common/impl/RunAsSpecifiedIdentityImpl.java193
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/common/impl/SecurityIdentityImpl.java214
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/common/impl/SecurityRoleImpl.java289
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/common/impl/SecurityRoleRefImpl.java288
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/common/impl/UseCallerIdentityImpl.java137
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/common/impl/XMLResourceFactory.java53
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/common/impl/XMLResourceImpl.java261
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/common/util/CommonAdapterFactory.java464
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/common/util/CommonSwitch.java571
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/common/util/CommonUtil.java82
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/common/util/Defaultable.java21
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/common/util/DefaultedAdapterImpl.java64
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/common/util/Defaultor.java29
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/common/util/IDUtility.java77
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/common/util/XmlSpecifiedDataAdapter.java31
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/EjbPackage.java2776
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/impl/AbstractRelationshipRoleAttributeFilter.java99
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/impl/AbstractRequiredRelationshipRoleFilter.java115
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/impl/ActivationConfigImpl.java191
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/impl/ActivationConfigPropertyImpl.java218
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/impl/AssemblyDescriptorImpl.java483
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/impl/CMPAttributeImpl.java605
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/impl/CMRFieldImpl.java470
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/impl/ContainerManagedEntityFilter.java101
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/impl/ContainerManagedEntityImpl.java1143
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/impl/EJB20FlattenedRoleShapeStrategy.java157
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/impl/EJBJarImpl.java817
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/impl/EJBJarResourceFactory.java74
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/impl/EJBMethodCategoryImpl.java41
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/impl/EJBRelationImpl.java449
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/impl/EJBRelationshipRoleImpl.java1011
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/impl/EJBResourceImpl.java215
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/impl/EjbFactoryImpl.java503
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/impl/EjbPackageImpl.java1772
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/impl/EnterpriseBeanImpl.java1447
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/impl/EntityImpl.java643
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/impl/ExcludeListImpl.java245
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/impl/KeyRelationshipRoleAttributeFilter.java93
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/impl/KeyRelationshipRoleFilter.java56
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/impl/LocalKeyAttributeFilter.java102
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/impl/LocalModelledPersistentAttributeFilter.java59
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/impl/LocalOppositeRelationshipRoleFilter.java57
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/impl/LocalPersistentAttributeFilter.java103
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/impl/LocalRelationshipRoleAttributeFilter.java92
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/impl/LocalRelationshipRoleKeyAttributeFilter.java52
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/impl/MessageDrivenDestinationImpl.java359
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/impl/MessageDrivenImpl.java982
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/impl/MethodElementImpl.java1039
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/impl/MethodPermissionImpl.java465
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/impl/MethodTransactionImpl.java432
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/impl/ModelledKeyAttributeFilter.java105
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/impl/ModelledPersistentAttributeFilter.java105
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/impl/NonKeyRequiredRoleFilter.java61
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/impl/QueryImpl.java513
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/impl/QueryMethodImpl.java373
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/impl/RelationshipRoleAttributeFilter.java92
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/impl/RelationshipsImpl.java313
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/impl/RequiredLocalRelationshipRoleFilter.java91
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/impl/RequiredRelationshipRoleFilter.java60
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/impl/RoleShapeStrategy.java171
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/impl/RoleSourceImpl.java330
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/impl/SessionImpl.java670
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/impl/SupertypeCMPAttributeFilter.java117
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/util/CMPFieldDescriptor.java66
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/util/CMPHelper.java263
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/util/CMPKeySynchronizationAdapter.java398
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/util/CommonRelationshipAttributeMaintenanceAdapter.java173
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/util/ConvertedEJBAdapter.java68
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/util/EJBAttributeMaintenanceFactoryImpl.java47
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/util/EJBRelationAttributeMaintenanceAdapter.java46
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/util/EjbAdapterFactory.java607
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/util/EjbSwitch.java743
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/util/MethodElementHelper.java61
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/ejb/util/RelationshipsAttributeMaintenanceAdapter.java57
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/jca/JcaPackage.java2088
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/jca/impl/ActivationSpecImpl.java223
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/jca/impl/AdminObjectImpl.java277
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/jca/impl/AuthenticationMechanismImpl.java866
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/jca/impl/ConfigPropertyImpl.java357
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/jca/impl/ConnectionDefinitionImpl.java439
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/jca/impl/ConnectorImpl.java508
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/jca/impl/ConnectorResourceFactory.java71
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/jca/impl/ConnectorResourceImpl.java180
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/jca/impl/InboundResourceAdapterImpl.java181
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/jca/impl/JcaFactoryImpl.java422
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/jca/impl/JcaPackageImpl.java2107
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/jca/impl/LicenseImpl.java275
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/jca/impl/MessageAdapterImpl.java154
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/jca/impl/MessageListenerImpl.java248
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/jca/impl/OutboundResourceAdapterImpl.java383
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/jca/impl/RequiredConfigPropertyTypeImpl.java223
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/jca/impl/ResourceAdapterImpl.java817
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/jca/impl/SecurityPermissionImpl.java246
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/jca/util/JCADescriptionHelper.java157
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/jca/util/JcaAdapterFactory.java392
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/jca/util/JcaSwitch.java427
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/jsp/JspPackage.java448
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/jsp/impl/JSPConfigImpl.java191
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/jsp/impl/JSPPropertyGroupImpl.java637
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/jsp/impl/JspFactoryImpl.java102
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/jsp/impl/JspPackageImpl.java398
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/jsp/impl/TagLibRefTypeImpl.java218
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/jsp/util/JspAdapterFactory.java196
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/jsp/util/JspSwitch.java184
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/migration/Connector14SpecificationMigrator.java135
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/migration/J2EEMigrationMultiStatus.java114
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/migration/J2EEMigrationStatus.java233
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/migration/J2EESpecificationMigrationConstants.java39
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/migration/J2EESpecificationMigrator.java483
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/migration/SpecificationMigrator.java209
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/migration/War14SpecificationMigrator.java202
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/model/translator/application/ApplicationTranslator.java90
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/model/translator/application/ModuleTranslator.java144
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/model/translator/client/ApplicationClientTranslator.java94
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/model/translator/common/BooleanTranslator.java60
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/model/translator/common/CommonTranslators.java423
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/model/translator/common/EnvEntryTranslator.java77
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/model/translator/common/EnvEntryTypeTranslator.java47
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/model/translator/common/JavaClassTranslator.java122
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/model/translator/common/ResAuthTranslator.java92
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/model/translator/connector/ConnectorTranslator.java300
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/model/translator/ejb/AbstractEJBTranslator.java146
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/model/translator/ejb/AcknowledgeModeTranslator.java59
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/model/translator/ejb/CMPFieldTranslator.java103
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/model/translator/ejb/CMPVersionTranslator.java50
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/model/translator/ejb/ContainerManagedEntityTranslator.java447
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/model/translator/ejb/EJBJarTranslator.java426
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/model/translator/ejb/EnterpriseBeansTranslator.java87
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/model/translator/ejb/EntityTranslator.java118
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/model/translator/ejb/MessageDrivenDestinationTypeTranslator.java62
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/model/translator/ejb/MessageDrivenTranslator.java179
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/model/translator/ejb/MethodElementKindTranslator.java74
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/model/translator/ejb/MethodParamsTranslator.java103
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/model/translator/ejb/MultiplicityTranslator.java49
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/model/translator/ejb/PrimKeyFieldTranslator.java65
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/model/translator/ejb/SecurityIdentityTranslator.java106
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/model/translator/ejb/SessionTranslator.java92
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/model/translator/webapplication/ErrorPageTranslator.java76
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/model/translator/webapplication/WebAppTranslator.java548
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/model/translator/webapplication/WebTypeTranslator.java86
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/model/translator/webservices/EJBLinkTranslator.java64
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/model/translator/webservices/ElementNameTranslator.java63
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/model/translator/webservices/InterfaceMappingTranslator.java301
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/model/translator/webservices/JaxrpcmapTranslator.java225
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/model/translator/webservices/JaxrpcmapXmlMapperI.java66
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/model/translator/webservices/SOAPRoleTranslator.java66
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/model/translator/webservices/ServletLinkTranslator.java65
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/model/translator/webservices/WebServiceCommonXmlMapperI.java40
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/model/translator/webservices/WebServicesTranslator.java158
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/model/translator/webservices/WsddTranslator.java281
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/model/translator/webservices/WsddXmlMapperI.java35
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/taglib/BodyContentType.java178
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/taglib/ExtensibleType.java58
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/taglib/Function.java206
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/taglib/JSPScriptingVariableScope.java151
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/taglib/JSPTag.java227
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/taglib/JSPTagAttribute.java186
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/taglib/JSPVariable.java125
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/taglib/TagFile.java148
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/taglib/TagLib.java162
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/taglib/TaglibFactory.java95
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/taglib/TaglibPackage.java1053
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/taglib/TldExtension.java76
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/taglib/Validator.java74
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/taglib/impl/ExtensibleTypeImpl.java164
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/taglib/impl/FunctionImpl.java431
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/taglib/impl/JSPTagAttributeImpl.java473
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/taglib/impl/JSPTagImpl.java599
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/taglib/impl/JSPVariableImpl.java397
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/taglib/impl/TagFileImpl.java370
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/taglib/impl/TagLibImpl.java594
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/taglib/impl/TaglibFactoryImpl.java183
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/taglib/impl/TaglibPackageImpl.java851
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/taglib/impl/TldExtensionImpl.java223
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/taglib/impl/ValidatorImpl.java245
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/taglib/util/TaglibAdapterFactory.java303
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/taglib/util/TaglibSwitch.java318
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/webapplication/WebapplicationPackage.java2129
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/webapplication/impl/AuthConstraintImpl.java318
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/webapplication/impl/ContextParamImpl.java332
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/webapplication/impl/ErrorCodeErrorPageImpl.java233
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/webapplication/impl/ErrorPageImpl.java258
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/webapplication/impl/ExceptionTypeErrorPageImpl.java248
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/webapplication/impl/FilterImpl.java387
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/webapplication/impl/FilterMappingImpl.java341
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/webapplication/impl/FormLoginConfigImpl.java291
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/webapplication/impl/HTTPMethodTypeImpl.java164
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/webapplication/impl/InitParamImpl.java237
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/webapplication/impl/JSPTypeImpl.java153
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/webapplication/impl/LocalEncodingMappingImpl.java218
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/webapplication/impl/LocalEncodingMappingListImpl.java154
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/webapplication/impl/LoginConfigImpl.java445
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/webapplication/impl/MimeMappingImpl.java290
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/webapplication/impl/RoleNameTypeImpl.java147
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/webapplication/impl/SecurityConstraintImpl.java449
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/webapplication/impl/ServletImpl.java699
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/webapplication/impl/ServletMappingImpl.java349
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/webapplication/impl/ServletTypeImpl.java150
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/webapplication/impl/SessionConfigImpl.java281
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/webapplication/impl/TagLibRefImpl.java296
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/webapplication/impl/URLPatternTypeImpl.java243
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/webapplication/impl/UserDataConstraintImpl.java376
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/webapplication/impl/WebAppImpl.java1399
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/webapplication/impl/WebAppResourceFactory.java91
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/webapplication/impl/WebAppResourceImpl.java201
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/webapplication/impl/WebResourceCollectionImpl.java499
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/webapplication/impl/WebTypeImpl.java61
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/webapplication/impl/WebapplicationFactoryImpl.java402
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/webapplication/impl/WebapplicationPackageImpl.java1833
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/webapplication/impl/WelcomeFileImpl.java245
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/webapplication/impl/WelcomeFileListImpl.java235
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/webapplication/util/WebapplicationAdapterFactory.java700
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/webapplication/util/WebapplicationSwitch.java776
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/webservice/util/DescriptionGroupHelper.java1577
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/webservice/util/DescriptionGroupItem.java77
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/webservice/util/QNameHelper.java130
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/xml/CollectingErrorHandler.java61
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/xml/DeploymentDescriptorXmlMapperI.java102
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/xml/EarDeploymentDescriptorXmlMapperI.java32
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/xml/EjbDeploymentDescriptorXmlMapperI.java85
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/xml/GeneralXmlDocumentReader.java329
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/xml/J2EEXMLResourceHandler.java57
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/xml/J2EEXmlDtDEntityResolver.java126
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/xml/MissingRequiredDataException.java33
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/xml/NotSupportedException.java50
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/xml/RarDeploymentDescriptorXmlMapperI.java64
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/xml/WarDeploymentDescriptorXmlMapperI.java81
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/xml/WebServicesDeploymentDescriptorXmlMapperI.java32
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/xml/XMLParseResourceHandler.java58
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/xml/XmlDocumentReader.java85
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/jca/ActivationSpec.java96
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/jca/AdminObject.java130
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/jca/AuthenticationMechanism.java463
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/jca/AuthenticationMechanismType.java126
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/jca/ConfigProperty.java125
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/jca/ConnectionDefinition.java255
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/jca/Connector.java126
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/jca/ConnectorResource.java23
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/jca/InboundResourceAdapter.java71
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/jca/JcaFactory.java289
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/jca/License.java89
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/jca/MessageAdapter.java58
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/jca/MessageListener.java104
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/jca/OutboundResourceAdapter.java203
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/jca/RequiredConfigPropertyType.java88
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/jca/ResourceAdapter.java326
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/jca/SecurityPermission.java75
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/jca/TransactionSupportKind.java146
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/jsp/JSPConfig.java73
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/jsp/JSPPropertyGroup.java340
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/jsp/JspFactory.java69
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/jsp/TagLibRefType.java106
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webapplication/AuthConstraint.java86
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webapplication/AuthMethodKind.java191
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webapplication/ContextParam.java82
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webapplication/DispatcherType.java194
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webapplication/ErrorCodeErrorPage.java46
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webapplication/ErrorPage.java61
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webapplication/ExceptionTypeErrorPage.java57
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webapplication/Filter.java96
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webapplication/FilterMapping.java104
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webapplication/FormLoginConfig.java72
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webapplication/HTTPMethodType.java54
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webapplication/HTTPMethodTypeEnum.java277
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webapplication/InitParam.java71
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webapplication/JSPType.java47
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webapplication/LocalEncodingMapping.java85
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webapplication/LocalEncodingMappingList.java49
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webapplication/LoginConfig.java148
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webapplication/MimeMapping.java71
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webapplication/ResAuthServletType.java130
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webapplication/RoleNameType.java44
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webapplication/SecurityConstraint.java120
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webapplication/Servlet.java186
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webapplication/ServletMapping.java102
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webapplication/ServletType.java44
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webapplication/SessionConfig.java82
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webapplication/TagLibRef.java90
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webapplication/TransportGuaranteeType.java151
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webapplication/URLPatternType.java70
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webapplication/UserDataConstraint.java129
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webapplication/WebApp.java363
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webapplication/WebAppResource.java42
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webapplication/WebResourceCollection.java147
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webapplication/WebType.java35
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webapplication/WebapplicationFactory.java216
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webapplication/WelcomeFile.java57
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webapplication/WelcomeFileList.java53
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/internal/WebServiceConstants.java45
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/internal/WebServiceInit.java60
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/internal/wsclient/Webservice_clientPackage.java730
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/internal/wsclient/impl/ComponentScopedRefsImpl.java223
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/internal/wsclient/impl/HandlerImpl.java473
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/internal/wsclient/impl/PortComponentRefImpl.java226
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/internal/wsclient/impl/ServiceRefImpl.java575
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/internal/wsclient/impl/WebServicesClientImpl.java191
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/internal/wsclient/impl/WebServicesClientResourceFactory.java75
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/internal/wsclient/impl/WebServicesResourceImpl.java145
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/internal/wsclient/impl/Webservice_clientFactoryImpl.java127
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/internal/wsclient/impl/Webservice_clientPackageImpl.java531
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/internal/wsclient/util/Webservice_clientAdapterFactory.java231
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/internal/wsclient/util/Webservice_clientSwitch.java230
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/internal/wscommon/WscommonPackage.java444
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/internal/wscommon/impl/DescriptionTypeImpl.java113
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/internal/wscommon/impl/DisplayNameTypeImpl.java113
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/internal/wscommon/impl/InitParamImpl.java332
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/internal/wscommon/impl/PortNameImpl.java165
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/internal/wscommon/impl/SOAPHeaderImpl.java133
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/internal/wscommon/impl/SOAPRoleImpl.java165
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/internal/wscommon/impl/WscommonFactoryImpl.java140
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/internal/wscommon/impl/WscommonPackageImpl.java409
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/internal/wscommon/util/WscommonAdapterFactory.java269
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/internal/wscommon/util/WscommonSwitch.java268
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/internal/wsdd/WsddPackage.java1181
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/internal/wsdd/WsddResourceFactory.java72
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/internal/wsdd/impl/BeanLinkImpl.java48
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/internal/wsdd/impl/EJBLinkImpl.java164
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/internal/wsdd/impl/HandlerImpl.java431
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/internal/wsdd/impl/PortComponentImpl.java829
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/internal/wsdd/impl/ServiceImplBeanImpl.java316
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/internal/wsdd/impl/ServletLinkImpl.java164
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/internal/wsdd/impl/WSDLPortImpl.java133
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/internal/wsdd/impl/WebServiceDescriptionImpl.java969
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/internal/wsdd/impl/WebServicesImpl.java241
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/internal/wsdd/impl/WsddFactoryImpl.java176
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/internal/wsdd/impl/WsddPackageImpl.java783
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/internal/wsdd/impl/WsddResourceImpl.java181
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/internal/wsdd/util/WsddAdapterFactory.java323
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/internal/wsdd/util/WsddSwitch.java338
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/wsclient/ComponentScopedRefs.java80
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/wsclient/Handler.java177
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/wsclient/PortComponentRef.java109
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/wsclient/ServiceRef.java249
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/wsclient/WebServicesClient.java70
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/wsclient/WebServicesResource.java23
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/wsclient/Webservice_clientFactory.java87
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/wscommon/DescriptionType.java27
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/wscommon/DisplayNameType.java27
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/wscommon/InitParam.java130
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/wscommon/PortName.java58
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/wscommon/SOAPHeader.java32
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/wscommon/SOAPRole.java63
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/wscommon/WscommonFactory.java96
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/wsdd/BeanLink.java27
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/wsdd/EJBLink.java71
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/wsdd/Handler.java145
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/wsdd/PortComponent.java364
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/wsdd/ServiceImplBean.java119
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/wsdd/ServletLink.java67
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/wsdd/WSDLPort.java32
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/wsdd/WebServiceDescription.java346
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/wsdd/WebServices.java55
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/wsdd/WsddFactory.java123
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webservice/wsdd/WsddResource.java24
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/xmlparse.properties18
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/plugin.properties14
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/plugin.xml159
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/prepareforpii.xml46
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/rose/application.cat956
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/rose/application.ecore70
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/rose/client.cat1579
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/rose/client.ecore71
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/rose/common.cat6797
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/rose/common.ecore408
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/rose/commonArchive.genmodel153
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/rose/commonArchive.mdl9301
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/rose/commonArchiveCore.cat4370
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/rose/commonarchivecore.ecore91
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/rose/ejb.ecore586
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/rose/ejbschema.cat13576
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/rose/j2ee.genmodel869
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/rose/j2ee.mdl5711
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/rose/j2ee_codegen.scrapbook28
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/rose/jaxrpcmap.cat4728
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/rose/jca.ecore349
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/rose/jca1_0.cat4353
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/rose/jsp.ecore72
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/rose/jsp_2_0.cat618
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/rose/taglib.ecore223
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/rose/taglib_1_1.cat3446
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/rose/tcg.pty590
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/rose/webapplication.cat10347
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/rose/webapplication.ecore538
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/rose/webservice-j2ee.mdl8928
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/rose/webservice.genmodel89
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/rose/webservice_client.ecore111
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/rose/webservices_client_1_0.cat1815
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/rose/wscommon.cat103
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/rose/wscommon.ecore29
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/rose/wsdd.cat4011
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/rose/wsdd.ecore120
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/internal/jaxrpcmap/JaxrpcmapPackage.java3003
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/internal/jaxrpcmap/impl/ClassTypeImpl.java233
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/internal/jaxrpcmap/impl/ConstructorParameterOrderImpl.java241
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/internal/jaxrpcmap/impl/ElementNameImpl.java233
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/internal/jaxrpcmap/impl/ExceptionMappingImpl.java453
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/internal/jaxrpcmap/impl/ExceptionTypeImpl.java233
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/internal/jaxrpcmap/impl/InterfaceMappingImpl.java49
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/internal/jaxrpcmap/impl/JavaMethodNameImpl.java233
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/internal/jaxrpcmap/impl/JavaPortNameImpl.java233
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/internal/jaxrpcmap/impl/JavaVariableNameImpl.java233
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/internal/jaxrpcmap/impl/JavaWSDLMappingImpl.java358
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/internal/jaxrpcmap/impl/JavaXMLTypeMappingImpl.java481
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/internal/jaxrpcmap/impl/JaxrpcmapFactoryImpl.java514
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/internal/jaxrpcmap/impl/JaxrpcmapPackageImpl.java1989
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/internal/jaxrpcmap/impl/JaxrpcmapResourceImpl.java173
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/internal/jaxrpcmap/impl/MethodParamPartsMappingImpl.java381
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/internal/jaxrpcmap/impl/MethodReturnValueImpl.java233
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/internal/jaxrpcmap/impl/PackageMappingImpl.java289
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/internal/jaxrpcmap/impl/PackageTypeImpl.java233
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/internal/jaxrpcmap/impl/ParamPositionImpl.java233
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/internal/jaxrpcmap/impl/ParamTypeImpl.java233
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/internal/jaxrpcmap/impl/ParameterModeImpl.java233
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/internal/jaxrpcmap/impl/PortMappingImpl.java289
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/internal/jaxrpcmap/impl/QnameScopeImpl.java233
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/internal/jaxrpcmap/impl/RootTypeQnameImpl.java143
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/internal/jaxrpcmap/impl/ServiceEndpointInterfaceMappingImpl.java440
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/internal/jaxrpcmap/impl/ServiceEndpointMethodMappingImpl.java517
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/internal/jaxrpcmap/impl/ServiceInterfaceMappingImpl.java368
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/internal/jaxrpcmap/impl/VariableMappingImpl.java529
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/internal/jaxrpcmap/impl/WSDLBindingImpl.java143
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/internal/jaxrpcmap/impl/WSDLMessageImpl.java143
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/internal/jaxrpcmap/impl/WSDLMessageMappingImpl.java473
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/internal/jaxrpcmap/impl/WSDLMessagePartNameImpl.java233
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/internal/jaxrpcmap/impl/WSDLOperationImpl.java233
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/internal/jaxrpcmap/impl/WSDLPortTypeImpl.java143
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/internal/jaxrpcmap/impl/WSDLReturnValueMappingImpl.java381
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/internal/jaxrpcmap/impl/WSDLServiceNameImpl.java143
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/internal/jaxrpcmap/impl/XMLElementNameImpl.java233
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/internal/jaxrpcmap/util/JaxrpcmapAdapterFactory.java816
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/internal/jaxrpcmap/util/JaxrpcmapSwitch.java932
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/jaxrpcmap/ClassType.java85
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/jaxrpcmap/ConstructorParameterOrder.java76
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/jaxrpcmap/ElementName.java85
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/jaxrpcmap/ExceptionMapping.java166
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/jaxrpcmap/ExceptionType.java85
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/jaxrpcmap/InterfaceMapping.java29
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/jaxrpcmap/JavaMethodName.java85
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/jaxrpcmap/JavaPortName.java85
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/jaxrpcmap/JavaVariableName.java85
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/jaxrpcmap/JavaWSDLMapping.java127
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/jaxrpcmap/JavaXMLTypeMapping.java184
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/jaxrpcmap/JaxrpcmapFactory.java348
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/jaxrpcmap/JaxrpcmapResource.java24
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/jaxrpcmap/JaxrpcmapResourceFactory.java67
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/jaxrpcmap/MethodParamPartsMapping.java139
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/jaxrpcmap/MethodReturnValue.java85
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/jaxrpcmap/PackageMapping.java112
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/jaxrpcmap/PackageType.java85
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/jaxrpcmap/ParamPosition.java85
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/jaxrpcmap/ParamType.java85
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/jaxrpcmap/ParameterMode.java85
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/jaxrpcmap/PortMapping.java112
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/jaxrpcmap/QnameScope.java85
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/jaxrpcmap/RootTypeQname.java29
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/jaxrpcmap/ServiceEndpointInterfaceMapping.java156
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/jaxrpcmap/ServiceEndpointMethodMapping.java211
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/jaxrpcmap/ServiceInterfaceMapping.java129
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/jaxrpcmap/VariableMapping.java247
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/jaxrpcmap/WSDLBinding.java29
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/jaxrpcmap/WSDLMessage.java29
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/jaxrpcmap/WSDLMessageMapping.java193
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/jaxrpcmap/WSDLMessagePartName.java85
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/jaxrpcmap/WSDLOperation.java85
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/jaxrpcmap/WSDLPortType.java29
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/jaxrpcmap/WSDLReturnValueMapping.java139
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/jaxrpcmap/WSDLServiceName.java29
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/webservices/org/eclipse/jst/j2ee/webservice/jaxrpcmap/XMLElementName.java85
-rw-r--r--plugins/org.eclipse.jst.j2ee.jca.ui/.classpath8
-rw-r--r--plugins/org.eclipse.jst.j2ee.jca.ui/.cvsignore4
-rw-r--r--plugins/org.eclipse.jst.j2ee.jca.ui/.project29
-rw-r--r--plugins/org.eclipse.jst.j2ee.jca.ui/META-INF/MANIFEST.MF26
-rw-r--r--plugins/org.eclipse.jst.j2ee.jca.ui/about.html22
-rw-r--r--plugins/org.eclipse.jst.j2ee.jca.ui/build.properties11
-rw-r--r--plugins/org.eclipse.jst.j2ee.jca.ui/icons/full/ctool16/export_rar.gifbin346 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.jca.ui/icons/full/ctool16/import_rar.gifbin347 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.jca.ui/icons/full/ctool16/newconnectionprj_wiz.gifbin585 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.jca.ui/jca_ui/org/eclipse/jst/j2ee/jca/ui/internal/actions/ExportRARAction.java58
-rw-r--r--plugins/org.eclipse.jst.j2ee.jca.ui/jca_ui/org/eclipse/jst/j2ee/jca/ui/internal/actions/IConnectorArchiveConstants.java64
-rw-r--r--plugins/org.eclipse.jst.j2ee.jca.ui/jca_ui/org/eclipse/jst/j2ee/jca/ui/internal/actions/ImportRARAction.java59
-rw-r--r--plugins/org.eclipse.jst.j2ee.jca.ui/jca_ui/org/eclipse/jst/j2ee/jca/ui/internal/actions/NewConnectorComponentAction.java77
-rw-r--r--plugins/org.eclipse.jst.j2ee.jca.ui/jca_ui/org/eclipse/jst/j2ee/jca/ui/internal/actions/RARArchiveUIResourceHandler.java64
-rw-r--r--plugins/org.eclipse.jst.j2ee.jca.ui/jca_ui/org/eclipse/jst/j2ee/jca/ui/internal/plugin/JCAUIPlugin.java48
-rw-r--r--plugins/org.eclipse.jst.j2ee.jca.ui/jca_ui/org/eclipse/jst/j2ee/jca/ui/internal/util/JCAUIMessages.java61
-rw-r--r--plugins/org.eclipse.jst.j2ee.jca.ui/jca_ui/org/eclipse/jst/j2ee/jca/ui/internal/wizard/ConnectorComponentCreationWizard.java89
-rw-r--r--plugins/org.eclipse.jst.j2ee.jca.ui/jca_ui/org/eclipse/jst/j2ee/jca/ui/internal/wizard/ConnectorComponentCreationWizardPage.java47
-rw-r--r--plugins/org.eclipse.jst.j2ee.jca.ui/jca_ui/org/eclipse/jst/j2ee/jca/ui/internal/wizard/ConnectorComponentExportWizard.java77
-rw-r--r--plugins/org.eclipse.jst.j2ee.jca.ui/jca_ui/org/eclipse/jst/j2ee/jca/ui/internal/wizard/ConnectorComponentImportPage.java54
-rw-r--r--plugins/org.eclipse.jst.j2ee.jca.ui/jca_ui/org/eclipse/jst/j2ee/jca/ui/internal/wizard/ConnectorComponentImportWizard.java82
-rw-r--r--plugins/org.eclipse.jst.j2ee.jca.ui/jca_ui/org/eclipse/jst/j2ee/jca/ui/internal/wizard/RARExportPage.java93
-rw-r--r--plugins/org.eclipse.jst.j2ee.jca.ui/plugin.properties22
-rw-r--r--plugins/org.eclipse.jst.j2ee.jca.ui/plugin.xml271
-rw-r--r--plugins/org.eclipse.jst.j2ee.jca.ui/property_files/jca_ui.properties21
-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/.cdtproject10
-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/.classpath7
-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/.cvsignore4
-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/.project29
-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/META-INF/MANIFEST.MF37
-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/about.html22
-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/build.properties21
-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/J2EEPerspective.gifbin1018 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/appclientgroup_obj.gifbin578 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/connectorgroup_obj.gifbin355 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/eargroup_obj.gifbin596 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/ejbgroup_obj.gifbin569 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/folder.gifbin216 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/full/ctool16/appclient_export.gifbin356 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/full/ctool16/appclient_import_wiz.gifbin358 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/full/ctool16/export_ear.gifbin607 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/full/ctool16/export_ejbjar_wiz.gifbin563 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/full/ctool16/export_rar.gifbin346 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/full/ctool16/exportwar_wiz.gifbin581 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/full/ctool16/import_ear.gifbin595 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/full/ctool16/import_ejbjar.gifbin565 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/full/ctool16/import_rar.gifbin347 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/full/ctool16/importwar_wiz.gifbin580 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/full/ctool16/newappclient_wiz.gifbin364 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/full/ctool16/newconnectionprj_wiz.gifbin585 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/full/ctool16/newear_wiz.gifbin605 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/full/ctool16/newejbprj_wiz.gifbin587 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/full/ctool16/newwar_wiz.gifbin1039 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/full/cview16/j2ee_view.gifbin345 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/full/obj16/webapp_deploy.gifbin364 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/full/ovr16/client_app_ovr.gifbin166 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/full/ovr16/connector_ovr.gifbin166 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/full/ovr16/ejb_module_ovr.gifbin167 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/full/ovr16/enterprise_app_ovr.gifbin112 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/full/ovr16/web_module_ovr.gifbin273 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/full/wizban/appclient_wiz.gifbin2940 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/full/wizban/connector_wiz.gifbin2982 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/full/wizban/ear_wiz.gifbin3213 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/full/wizban/ejbproject_wiz.gifbin3091 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/full/wizban/export_appclient_wiz.gifbin2992 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/full/wizban/export_ear_wiz.gifbin3189 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/full/wizban/export_ejbjar_obj.gifbin3487 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/full/wizban/export_rar_wiz.gifbin3374 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/full/wizban/export_war_wiz.gifbin3574 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/full/wizban/import_appclient_wiz.gifbin2978 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/full/wizban/import_ear_wiz.gifbin3360 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/full/wizban/import_ejbjar_wiz.gifbin3533 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/full/wizban/import_rar_wiz.gifbin3520 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/full/wizban/import_war_wiz.gifbin3598 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/full/wizban/war_wiz.gifbin3526 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/jcu_obj.gifbin569 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/servlet.gifbin588 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/sessionBean_obj.gifbin583 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/srvce_elem_obj.gifbin569 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/webgroup_obj.gifbin573 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/webservicedesc.gifbin563 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/icons/wsdl.gifbin563 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/EMFModelManager.java43
-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/EMFModelManagerFactory.java28
-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/EMFRootObjectManager.java245
-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/EMFRootObjectProvider.java158
-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/FlexibleEMFModelManager.java239
-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/IJ2EENavigatorConstants.java29
-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/IJ2EEWizardConstants.java74
-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EEActionProvider.java137
-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EEComparator.java54
-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EEContentProvider.java219
-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EELabelProvider.java222
-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EENavigationLabelProvider.java33
-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EEViewerSorter.java52
-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/NonFlexibleEMFModelManager.java131
-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/dnd/AddExternalUtilityJarDropAction.java55
-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/dnd/AddModuleDropAction.java42
-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/dnd/AddProjectToEarDropAction.java132
-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/dnd/AddUtilityJarDropAction.java54
-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/dnd/J2EEImportDropAction.java256
-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/dnd/ModuleIdentifierSerializer.java49
-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/plugin/J2EENavigatorPlugin.java47
-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/workingsets/ComponentWorkingSet.java338
-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/workingsets/ComponentWorkingSetDescriptor.java115
-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/workingsets/ComponentWorkingSetFactory.java53
-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/workingsets/ComponentWorkingSetProvider.java64
-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/workingsets/ComponentWorkingSetRegistry.java132
-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/workingsets/ComponentWorkingSetUpdater.java321
-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/plugin.properties33
-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/plugin.xml538
-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/prepareforpii.xml32
-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/schema/componentWorkingSet.exsd120
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/.classpath8
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/.cvsignore5
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/.project29
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/META-INF/MANIFEST.MF64
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/about.html22
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/build.properties22
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/20_cmpbean_obj.gifbin632 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/adown.gifbin826 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/appclientgroup_obj.gifbin578 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/arrow_down.gifbin78 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/arrowp.gifbin70 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/cascade_left.gifbin981 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/cascade_left2.gifbin1094 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/cascade_right.gifbin1129 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/cmp.gifbin581 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/connectorgroup_obj.gifbin355 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/deadend.gifbin865 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/eargroup_obj.gifbin596 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/ejbgroup_obj.gifbin569 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/folder.gifbin216 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/clcl16/ejb_client_remove_action_obj.gifbin603 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/clcl16/ejb_deploy_action_obj.gifbin571 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/appclient_export.gifbin356 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/appclient_import_wiz.gifbin358 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/ejbclientjar_wiz.gifbin1044 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/export_ear.gifbin607 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/export_ejbjar_wiz.gifbin563 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/export_rar.gifbin346 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/exportwar_wiz.gifbin581 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/import_ear.gifbin595 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/import_ejbjar.gifbin565 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/import_rar.gifbin347 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/importwar_wiz.gifbin580 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/newappclient_wiz.gifbin364 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/newconnectionprj_wiz.gifbin585 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/newear_wiz.gifbin605 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/newejbprj_wiz.gifbin587 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/newwar_wiz.gifbin1039 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/re_execute.gifbin565 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/cview16/j2ee_perspective.gifbin345 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/cview16/j2ee_view.gifbin345 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/dlcl16/ejb_client_remove_action_obj.gifbin375 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/dlcl16/ejb_deploy_action_obj.gifbin356 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/13_ear_obj.gifbin632 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/21_cmpbean_obj.gifbin628 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/21_ejb_obj.gifbin1041 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/21_ejbjar_wiz.gifbin631 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/annotation_positioned_overlay.gifbin83 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/appclient_14.gifbin590 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/appclient_14_deploy.gifbin615 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/extwebserviceitemprovider_obj.gifbin599 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/home_interface_positioned_overlay.gifbin122 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/local_home_interface_positioned_overlay.gifbin125 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/local_interface_positioned_overlay.gifbin77 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/remote_interface_positioned_overlay.gifbin91 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/service_interface_positioned_overlay.gifbin77 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/webServiceItemProvider_obj.gifbin563 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/webServicesFolder_obj.gifbin604 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/webapp_14.gifbin590 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/webapp_deploy.gifbin364 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/annotation_bean_overlay.gifbin62 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/annotation_positioned_overlay.gifbin83 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/client_app_ovr.gifbin166 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/connector_ovr.gifbin166 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/dis_annotation_bean_overlay.gifbin111 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/ejb_module_ovr.gifbin167 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/enterprise_app_ovr.gifbin112 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/externalWebServiceOverlay_obj.gifbin82 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/home_interface_overlay_obj.gifbin106 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/home_interface_positioned_overlay.gifbin122 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/key_interf_ov.gifbin81 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/local_home_interface_overlay_obj.gifbin108 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/local_home_interface_positioned_overlay.gifbin125 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/local_interface_overlay_obj.gifbin64 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/local_interface_positioned_overlay.gifbin77 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/remote_interface_overlay_obj.gifbin77 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/remote_interface_positioned_overlay.gifbin91 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/service_interface_overlay_obj.gifbin66 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/service_interface_positioned_overlay.gifbin77 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/web_module_ovr.gifbin273 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/add_mess_dest_wiz_ban.gifbin2812 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/add_web_service_handler_wiz.gifbin3496 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addauthoritycontraints_wiz_.gifbin3577 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addcmpfiled_wiz_ban.gifbin3434 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addcontextparameter_wiz_ban.gifbin2900 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addenvirentry_wiz_ban.gifbin3368 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/adderrorcodeerror_wiz_ban.g.gifbin3374 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addexceptionerrorpage_wiz_ban.gifbin2687 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addfiltermapping_wiz_ban.gifbin3011 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addhandlersoapheader_wiz_ba.gifbin3249 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addjsppropgropu_wiz_ban.gifbin2904 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addlocencodingmap_wiz_ban.gifbin3095 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addmimemapping_wiz_ban.gifbin2960 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addservletmapping_wiz_ban.gifbin3352 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addtaglibref_wiz_ban.gifbin3385 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addwebSecuritycontraint_wiz.gifbin2904 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addwebrescollection_wiz_ban.gifbin3536 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addwebsecurityroleref_wiz_b.gifbin3129 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addwelcomepage_wiz_ban.gifbin3469 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/appclient_wiz.gifbin2940 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/connection_migration_wizard_wiz.gifbin3771 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/connector_wiz.gifbin2982 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/ear_wiz.gifbin3213 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/ejbclientjar_wizban.gifbin3415 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/ejbproject_wiz.gifbin3091 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/export_appclient_wiz.gifbin2992 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/export_ear_wiz.gifbin3189 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/export_ejbjar_obj.gifbin3487 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/export_rar_wiz.gifbin3374 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/export_war_wiz.gifbin3574 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/import_appclient_wiz.gifbin2978 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/import_class_file_wiz_ban.gifbin3303 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/import_ear_wiz.gifbin3360 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/import_ejbjar_wiz.gifbin3533 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/import_rar_wiz.gifbin3520 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/import_war_wiz.gifbin3598 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/init_param_wiz_ban.gifbin2988 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/mdb_2_1_jms_creation_wiz.gifbin3163 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/mdb_2_1_non_jms_creation_wi.gifbin3163 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/newservlet_wiz.gifbin3180 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/versionmigrate3_wiz.gifbin3313 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/war_wiz.gifbin3526 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/web_library_project_wiz_ban.gifbin3554 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/jar_obj.gifbin579 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/jcu_obj.gifbin569 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/key_interf_ov.gifbin81 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/left_arrow.gifbin981 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/right_arrow.gifbin956 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/servlet.gifbin588 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/sessionBean_obj.gifbin583 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/showerr_tsk.gifbin339 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/showwarn_tsk.gifbin338 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/srvce_elem_obj.gifbin569 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/webgroup_obj.gifbin573 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/webservicedesc.gifbin563 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/icons/wsdl.gifbin563 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/common/jdt/internal/integration/ui/JavaInsertionOperation.java251
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/common/jdt/internal/integration/ui/WTPUIWorkingCopyManager.java473
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/AddModulestoEARPropertiesPage.java564
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/AvailableJ2EEComponentsForEARContentProvider.java169
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ClasspathTableManager.java424
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/IClasspathTableOwner.java27
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ICommonManifestUIConstants.java36
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/J2EEPropertiesConstants.java58
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/J2EEPropertiesPage.java506
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/JARDependencyPropertiesPage.java663
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ManifestErrorPrompter.java44
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ManifestUIResourceHandler.java60
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/UpdateManifestOperation.java73
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/WebSettingsStateInputProvider.java80
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/WorkspaceModifyComposedOperation.java78
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/AbstractActionDelegate.java223
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/AbstractActionWithDelegate.java69
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/AbstractOpenAction.java122
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/AbstractOpenWizardAction.java145
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/AbstractOpenWizardWorkbenchAction.java59
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/BaseAction.java121
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/IJ2EEUIContextIds.java58
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/ImportClassesAction.java63
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/J2EEDeleteAction.java426
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/J2EEDeleteModuleActionPopulator.java48
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/J2EEDeployAction.java117
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/J2EEModuleRenameChange.java151
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/J2EERenameAction.java400
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/J2EERenameParticipant.java124
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/J2EERenameResourceAction.java67
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/J2EEResourceOpenListener.java46
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/NewAppClientComponentAction.java46
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/NewEARComponentAction.java46
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/OpenJ2EEResourceAction.java225
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/WTPBaseAction.java120
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/WorkspaceModifyComposedOperation.java82
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/client/actions/AppClientArchiveUIResourceHandler.java59
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/client/actions/ExportApplicationClientAction.java51
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/client/actions/ImportApplicationClientAction.java56
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/command/AbstractOverrideCommand.java97
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/command/J2EEClipboard.java77
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/command/J2EECompoundCommand.java191
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/command/J2EECopyCommand.java79
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/command/J2EECopyFromClipboardCommand.java96
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/command/J2EECopyToClipboardOverrideCommand.java82
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/command/J2EEPasteFromClipboardOverrideCommand.java148
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/command/J2EERemoveOverrideCommand.java170
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/command/J2EEStrictCompoundCommand.java99
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/DeleteEARComposite.java268
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/DeleteEARDialog.java65
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/DeleteModuleComposite.java127
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/DeleteModuleDialog.java48
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/DeleteModuleReferencesComposite.java85
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/FilteredFileSelectionDialog.java75
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/J2EEDeleteDialog.java50
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/J2EEDeleteUIConstants.java29
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/J2EEDeployStatusDialog.java334
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/J2EEDeployUIConstants.java23
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/J2EERenameDialog.java51
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/J2EERenameUIConstants.java27
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/ListMessageDialog.java211
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/RenameEARComposite.java263
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/RenameEARDialog.java59
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/RenameModuleComposite.java181
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/RenameModuleDialog.java63
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/RenameModuleReferencesComposite.java88
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/TwoArrayQuickSorter.java126
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/TypeJavaSearchScope.java352
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/TypeSearchEngine.java65
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/TypedFileViewerFilter.java72
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ear/actions/ArchiveEARUIResourceHandler.java59
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ear/actions/EARImportListContentProvider.java72
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ear/actions/ExportEARAction.java52
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ear/actions/ImportEARAction.java55
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ear/actions/ModulesProvider.java138
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/AbstractMethodsContentProvider.java314
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/BeanClassProviderHelper.java57
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/EJBUIMessages.java82
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/ExcludeListContentProvider.java138
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/GroupedEJBItemProvider.java30
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/GroupedEJBJarItemProvider.java365
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/GroupedEntityItemProvider.java37
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/GroupedMessageItemProvider.java38
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/GroupedSessionItemProvider.java37
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/HomeInterfaceProviderHelper.java60
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/J2EEContainerManagedEntityItemProvider.java46
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/J2EEEjbItemProviderAdapterFactory.java80
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/J2EEEntityItemProvider.java43
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/J2EEJavaClassProviderHelper.java141
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/J2EEMessageDrivenItemProvider.java40
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/J2EEReferenceProviderHelper.java49
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/J2EESessionItemProvider.java54
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/LocalHomeInterfaceProviderHelper.java58
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/LocalInterfaceProviderHelper.java58
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/MethodPermissionsContentProvider.java127
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/MethodTransactionContentProvider.java115
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/PrimaryKeyClassProviderHelper.java61
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/RemoteInterfaceProviderHelper.java60
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/ServiceEndpointInterfaceProviderHelper.java65
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/emf2xml/sed/EMF2DOMSedAdapter.java332
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/emf2xml/sed/EMF2DOMSedRenderer.java497
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/emf2xml/sed/EMF2DOMSedRendererFactory.java35
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/emf2xml/sed/UIResourceHandler.java56
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/listeners/IValidateEditListener.java43
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/listeners/ValidateEditListener.java267
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/perspective/J2EEPerspective.java125
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/CommonEditorUtility.java101
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/ErrorDialog.java192
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/J2EEEditorUtility.java202
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/J2EEUIAdapterFactory.java46
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/J2EEUIContextIds.java38
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/J2EEUIMessages.java208
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/J2EEUIPlugin.java269
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/J2EEUIPluginIcons.java55
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/J2EEViewerSorter.java51
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/UIProjectUtilities.java213
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/J2EEAdapterFactoryContentProvider.java129
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/J2EEAdapterFactoryLabelProvider.java90
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/J2EEApplicationItemProvider.java193
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/J2EEApplicationItemProviderAdapterFactory.java32
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/J2EEEditingDomain.java152
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/J2EEModulemapItemProviderAdapterFactory.java30
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/J2EEProviderUtility.java38
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/J2EEUIEditingDomain.java73
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/J2EEUtilityJarItemProvider.java265
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/J2EEUtilityJavaProjectsItemProvider.java52
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/MethodsProviderDelegate.java117
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/ModulesItemProvider.java222
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ui/util/BinaryProjectUIHelper.java42
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/J2EEWebAppItemProvider.java239
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/J2EEWebItemProviderAdapterFactory.java49
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/WebFilterMappingGroupItemProvider.java86
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/WebFiltersGroupItemProvider.java88
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/WebGroupItemProvider.java90
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/WebListenerGroupItemProvider.java88
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/WebReferencesGroupItemProvider.java113
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/WebSecurityGroupItemProvider.java93
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/WebServletGroupItemProvider.java87
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/WebServletMappingGroupItemProvider.java86
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/AnnotationsStandaloneGroup.java217
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/AppClientComponentCreationWizard.java81
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/AppClientComponentCreationWizardPage.java61
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/AppClientComponentExportWizard.java76
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/AppClientComponentImportPage.java78
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/AppClientComponentImportWizard.java99
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/AppClientExportPage.java88
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/AvailableJ2EEComponentsContentProvider.java135
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/AvailableJarsProvider.java235
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/AvailableModuleProjectsProvider.java154
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/AvailableUtilJarsAndWebLibProvider.java181
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/AvailableUtilityJarsProvider.java162
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/ClassesImportWizard.java175
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/DataModelAnnotationsStandaloneGroup.java160
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/DefaultJ2EEComponentCreationWizard.java77
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/EARComponentCreationSecondPage.java309
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/EARComponentCreationWizard.java85
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/EARComponentCreationWizardPage.java48
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/EARComponentExportPage.java93
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/EARComponentExportWizard.java78
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/EARComponentImportOptionsPage.java320
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/EARComponentImportPage.java131
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/EARComponentImportWizard.java104
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/EARComponentProjectsPage.java315
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/EARImportListContentProvider.java100
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/EARValidationHelper.java90
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/FlexibleProjectCreationWizard.java122
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/FlexibleProjectCreationWizardPage.java304
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/ImportUtil.java216
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEArtifactCreationWizard.java283
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEArtifactExportWizard.java171
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEArtifactImportWizard.java224
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEComponentCreationWizard.java206
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEComponentCreationWizardPage.java474
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEComponentImportWizard.java156
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEComponentLabelProvider.java81
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEExportPage.java384
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEImportPage.java278
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEModuleExportPage.java49
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEModuleImportPage.java65
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEModulesDependencyPage.java235
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEUtilityJarImportPageNew.java398
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEUtilityJarImportTypePageNew.java430
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEUtilityJarImportWizardNew.java88
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/JavaUtilityComponentCreationWizard.java64
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/JavaUtilityComponentCreationWizardPage.java83
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/MinimizedFileSystemElement.java131
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/NewFlexibleProjectGroup.java127
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/NewJ2EEComponentSelectionPage.java517
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/NewJavaClassOptionsWizardPage.java368
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/NewJavaClassWizardPage.java676
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/NewModuleDataModelGroup.java275
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/NewModuleGroup.java260
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/NewModuleGroupEx.java274
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/NewProjectGroup.java142
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/PackageNameResolver.java70
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/ServerEarAndStandaloneGroup.java132
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/ServerTargetComboHelper.java74
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/ServerTargetGroup.java141
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/ServerTargetUIHelper.java173
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/StringArrayTableWizardSection.java261
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/TableObjects.java42
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/WizardClassesImportMainPage.java135
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/WizardClassesImportPage1.java1442
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/javadoc.xml6
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/plugin.properties42
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/plugin.xml895
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/prepareforpii.xml38
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/property_files/ejb_figures.properties18
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/property_files/ejb_ui.properties43
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/property_files/emftosed.properties3
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/property_files/j2ee_ejb_ui.properties15
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/property_files/j2ee_ui.properties321
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/property_files/jca_ui.properties21
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/property_files/manifest_ui.properties19
-rw-r--r--plugins/org.eclipse.jst.j2ee.ui/property_files/migwizards.properties187
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice.ui/.classpath8
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice.ui/.cvsignore5
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice.ui/.project29
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice.ui/META-INF/MANIFEST.MF34
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice.ui/about.html22
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice.ui/build.properties9
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice.ui/icons/full/ctool16/exportwar_wiz.gifbin581 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice.ui/icons/full/ctool16/importwar_wiz.gifbin580 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice.ui/icons/full/ctool16/newservlet_wiz.gifbin599 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice.ui/icons/full/ctool16/newwar_wiz.gifbin1039 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice.ui/icons/full/ctool16/webservicedesc.gifbin563 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice.ui/icons/full/ctool16/wsdl.gifbin563 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice.ui/plugin.xml59
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice.ui/property_files/webserviceui.properties46
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice.ui/webservices_ui/org/eclipse/jst/j2ee/internal/webservice/OpenExternalWSDLAction.java59
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice.ui/webservices_ui/org/eclipse/jst/j2ee/internal/webservice/WebServiceAdapterFactory.java63
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice.ui/webservices_ui/org/eclipse/jst/j2ee/internal/webservice/WebServiceFilesContribution.java77
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice.ui/webservices_ui/org/eclipse/jst/j2ee/internal/webservice/WebServiceNavigatorGroup.java63
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice.ui/webservices_ui/org/eclipse/jst/j2ee/internal/webservice/WebServiceNavigatorGroupType.java133
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice.ui/webservices_ui/org/eclipse/jst/j2ee/internal/webservice/WebServiceUIResourceHandler.java65
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice.ui/webservices_ui/org/eclipse/jst/j2ee/internal/webservice/WebServicesNavigatorContentProvider.java305
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice.ui/webservices_ui/org/eclipse/jst/j2ee/internal/webservice/WebServicesNavigatorGroupOpenListener.java111
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice.ui/webservices_ui/org/eclipse/jst/j2ee/internal/webservice/WebServicesNavigatorLabelProvider.java189
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice.ui/webservices_ui/org/eclipse/jst/j2ee/internal/webservice/WebServicesNavigatorSynchronizer.java105
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice.ui/webservices_ui/org/eclipse/jst/j2ee/internal/webservice/WsdlResourceAdapterFactory.java61
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice.ui/webservices_ui/org/eclipse/jst/j2ee/internal/webservice/plugin/WebServiceUIPlugin.java48
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/.classpath8
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/.cvsignore4
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/.project28
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/META-INF/MANIFEST.MF37
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/about.html22
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/build.properties21
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/component.xml1
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/ctool16/CreateComponentScopedRefs_serviceRefs_ServiceRef.gifbin171 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/ctool16/CreateDescriptionGroup_descriptions_Description.gifbin171 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/ctool16/CreateDescriptionGroup_descriptions_DescriptionType.gifbin171 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/ctool16/CreateDescriptionGroup_displayNames_DisplayName.gifbin171 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/ctool16/CreateDescriptionGroup_displayNames_DisplayNameType.gifbin171 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/ctool16/CreateDescriptionGroup_icons_IconType.gifbin171 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/ctool16/CreateHandler_initParams_InitParam.gifbin171 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/ctool16/CreateHandler_initParams_ParamValue.gifbin171 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/ctool16/CreateHandler_soapHeaders_QName.gifbin171 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/ctool16/CreateHandler_soapHeaders_SOAPHeader.gifbin171 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/ctool16/CreateHandler_soapHeaders_WSDLPort.gifbin171 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/ctool16/CreateHandler_soapRoles_SOAPRole.gifbin171 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/ctool16/CreatePortComponent_descriptionType_DescriptionType.gifbin171 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/ctool16/CreatePortComponent_displayNameType_DisplayNameType.gifbin171 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/ctool16/CreatePortComponent_handlers_Handler.gifbin171 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/ctool16/CreatePortComponent_iconType_IconType.gifbin171 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/ctool16/CreatePortComponent_serviceImplBean_ServiceImplBean.gifbin171 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/ctool16/CreatePortComponent_wsdlPort_WSDLPort.gifbin171 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/ctool16/CreateServiceImplBean_beanLink_BeanLink.gifbin171 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/ctool16/CreateServiceImplBean_beanLink_EJBLink.gifbin171 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/ctool16/CreateServiceImplBean_beanLink_ServletLink.gifbin171 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/ctool16/CreateServiceImplBean_eEJBLink_EJBLink.gifbin171 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/ctool16/CreateServiceImplBean_eServletLink_ServletLink.gifbin171 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/ctool16/CreateServiceRef_handlers_Handler.gifbin171 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/ctool16/CreateServiceRef_portComponentRefs_PortComponentRef.gifbin171 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/ctool16/CreateServiceRef_serviceQname_QName.gifbin171 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/ctool16/CreateServiceRef_serviceQname_SOAPHeader.gifbin171 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/ctool16/CreateServiceRef_serviceQname_WSDLPort.gifbin171 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/ctool16/CreateWebServiceDescription_descriptionType_DescriptionType.gifbin171 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/ctool16/CreateWebServiceDescription_displayNameType_DisplayNameType.gifbin171 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/ctool16/CreateWebServiceDescription_iconType_IconType.gifbin171 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/ctool16/CreateWebServiceDescription_portComponents_PortComponent.gifbin171 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/ctool16/CreateWebServicesClient_componentScopedRefs_ComponentScopedRefs.gifbin171 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/ctool16/CreateWebServicesClient_serviceRefs_ServiceRef.gifbin171 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/ctool16/CreateWebServices_webServiceDescriptions_WebServiceDescription.gifbin171 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/obj16/BeanLink.gifbin129 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/obj16/ComponentScopedRefs.gifbin129 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/obj16/EJBLink.gifbin129 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/obj16/Handler.gifbin129 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/obj16/PortComponent.gifbin129 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/obj16/PortComponentRef.gifbin129 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/obj16/SOAPHeader.gifbin171 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/obj16/ServiceImplBean.gifbin129 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/obj16/ServiceRef.gifbin129 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/obj16/ServletLink.gifbin129 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/obj16/WSDLPort.gifbin129 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/obj16/WebServiceDescription.gifbin129 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/obj16/WebServices.gifbin129 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/obj16/WebServicesClient.gifbin129 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/obj16/initializ_parameter.gifbin337 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/obj16/servlet.gifbin588 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/obj16/sessionBean_obj.gifbin583 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/obj16/srvce_elem_obj.gifbin569 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/full/obj16/wsdl.gifbin563 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/obj16/componentscopedref.gifbin576 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/obj16/handler.gifbin622 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/obj16/portcomponent.gifbin221 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/obj16/serviceref.gifbin569 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/obj16/webservicedesc.gifbin563 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/wsceditor.gifbin577 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/icons/wseditor.gifbin540 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/images/form_banner.gifbin5600 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/images/home_nav.gifbin583 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/plugin.properties156
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/plugin.xml115
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/prepareforpii.xml38
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/property_files/webservice.properties16
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/adapter/AdapterCCombo.java131
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/adapter/AdapterElement.java197
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/adapter/AdapterExpiresCCombo.java160
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/adapter/AdapterHandlerClassText.java127
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/adapter/AdapterLayer.java89
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/adapter/AdapterPCRefText.java116
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/adapter/AdapterQNameElement.java248
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/adapter/AdapterQNameText.java62
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/adapter/AdapterServiceInterfaceText.java115
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/adapter/AdapterText.java121
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/adapter/AdapterTextCCombo.java103
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/adapter/AdapterViewer.java147
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/adapter/AdapterViewerItem.java39
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/command/CommandAddClientHandler.java191
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/command/CommandAddElement.java205
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/command/CommandAddPortComponentRef.java191
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/command/CommandAddServiceRef.java183
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/command/CommandModifyElement.java180
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/command/CommandModifyHandlerClassText.java181
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/command/CommandModifyNSURI.java181
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/command/CommandModifySEI.java196
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/command/CommandModifyServiceInterfaceText.java181
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/command/CommandModifyText.java179
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/command/CommandMoveServiceRefs.java289
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/command/CommandRemoveElement.java198
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/command/CommandSetElement.java196
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/componentcore/util/JaxRPCMapArtifactEdit.java384
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/componentcore/util/WSCDDArtifactEdit.java363
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/componentcore/util/WSDDArtifactEdit.java435
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/constants/ATKUIConstants.java144
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/constants/InfopopConstants.java249
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/helper/WSDLHelper.java358
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/helper/WSDLServiceHelperImpl.java197
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/helper/WebServicesManager.java890
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/operation/AddHandlerInitParamDataModel.java116
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/operation/AddHandlerInitParamOperation.java83
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/operation/AddHandlerSOAPHeaderDataModel.java106
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/operation/AddHandlerSOAPHeaderOperation.java74
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/operation/AddWebServiceHandlerDataModel.java101
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/operation/AddWebServiceHandlerOperation.java73
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/operation/WebServiceMessages.java69
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/plugin/WebServicePlugin.java231
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/ATKUIAdapterFactory.java90
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/ATKUICommonAdapterFactory.java48
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/ATKUIComponentScopedRefsItemProvider.java85
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/ATKUIHandlerItemProvider.java96
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/ATKUIInitParamItemProvider.java48
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/ATKUIParamValueItemProvider.java52
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/ATKUIPortComponentRefItemProvider.java53
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/ATKUIPortNameItemProvider.java35
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/ATKUIQNameItemProvider.java51
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/ATKUISOAPHeaderItemProvider.java48
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/ATKUISOAPRoleItemProvider.java35
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/ATKUIServiceRefItemProvider.java96
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/ATKUIWebServicesClientItemProvider.java89
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/ATKUIWscddAdapterFactory.java59
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/ATKUIWscommonAdapterFactory.java41
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/AbstractATKUIItemProvider.java81
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/BeanLinkItemProvider.java163
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/ClassTypeItemProvider.java148
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/ComponentScopedRefsItemProvider.java165
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/ConstructorParameterOrderItemProvider.java155
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/DescriptionTypeItemProvider.java113
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/DisplayNameTypeItemProvider.java113
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/EJBLinkItemProvider.java158
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/ElementNameItemProvider.java148
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/ExceptionMappingItemProvider.java200
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/ExceptionTypeItemProvider.java148
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/HandlerItemProvider.java222
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/InitParamItemProvider.java220
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/InterfaceMappingItemProvider.java109
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/JavaMethodNameItemProvider.java149
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/JavaPortNameItemProvider.java148
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/JavaVariableNameItemProvider.java149
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/JavaWSDLMappingItemProvider.java184
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/JavaXMLTypeMappingItemProvider.java214
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/JaxrpcmapItemProviderAdapterFactory.java954
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/MethodParamPartsMappingItemProvider.java183
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/MethodReturnValueItemProvider.java149
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/PackageMappingItemProvider.java163
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/PackageTypeItemProvider.java148
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/ParamPositionItemProvider.java148
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/ParamTypeItemProvider.java148
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/ParameterModeItemProvider.java148
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/PortComponentItemProvider.java336
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/PortComponentRefItemProvider.java154
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/PortMappingItemProvider.java162
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/PortNameItemProvider.java159
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/QnameScopeItemProvider.java148
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/RootTypeQnameItemProvider.java112
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/SOAPHeaderItemProvider.java127
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/SOAPRoleItemProvider.java160
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/SectionComponentScopedRefHelper.java41
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/ServiceEndpointInterfaceMappingItemProvider.java190
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/ServiceEndpointMethodMappingItemProvider.java214
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/ServiceImplBeanItemProvider.java253
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/ServiceInterfaceMappingItemProvider.java185
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/ServiceRefEditorItemProvider.java64
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/ServiceRefItemProvider.java228
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/ServletLinkItemProvider.java156
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/VariableMappingItemProvider.java205
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/WSDLBindingItemProvider.java112
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/WSDLMessageItemProvider.java112
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/WSDLMessageMappingItemProvider.java197
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/WSDLMessagePartNameItemProvider.java149
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/WSDLOperationItemProvider.java148
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/WSDLPortItemProvider.java129
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/WSDLPortTypeItemProvider.java112
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/WSDLReturnValueMappingItemProvider.java183
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/WSDLServiceNameItemProvider.java113
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/WebServiceDescriptionItemProvider.java344
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/WebServicesClientItemProvider.java154
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/WebServicesItemProvider.java163
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/Webservice_clientEditorItemProviderFactory.java48
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/Webservice_clientItemProviderAdapterFactory.java279
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/Webservicej2eeEditPlugin.java91
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/WscommonItemProviderAdapterFactory.java307
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/WsddItemProviderAdapterFactory.java374
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/provider/XMLElementNameItemProvider.java149
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/wsdd/provider/HandlerItemProvider.java271
-rw-r--r--plugins/org.eclipse.jst.servlet.ui/.classpath8
-rw-r--r--plugins/org.eclipse.jst.servlet.ui/.cvsignore4
-rw-r--r--plugins/org.eclipse.jst.servlet.ui/.project29
-rw-r--r--plugins/org.eclipse.jst.servlet.ui/META-INF/MANIFEST.MF34
-rw-r--r--plugins/org.eclipse.jst.servlet.ui/about.html22
-rw-r--r--plugins/org.eclipse.jst.servlet.ui/build.properties11
-rw-r--r--plugins/org.eclipse.jst.servlet.ui/icons/full/ctool16/exportwar_wiz.gifbin581 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.servlet.ui/icons/full/ctool16/importwar_wiz.gifbin580 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.servlet.ui/icons/full/ctool16/newservlet_wiz.gifbin599 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.servlet.ui/icons/full/ctool16/newwar_wiz.gifbin1039 -> 0 bytes-rw-r--r--plugins/org.eclipse.jst.servlet.ui/plugin.properties34
-rw-r--r--plugins/org.eclipse.jst.servlet.ui/plugin.xml313
-rw-r--r--plugins/org.eclipse.jst.servlet.ui/property_files/web_ui.properties100
-rw-r--r--plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/IWebUIContextIds.java22
-rw-r--r--plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/actions/ConvertToWebModuleTypeAction.java124
-rw-r--r--plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/actions/NewWebComponentAction.java47
-rw-r--r--plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/classpath/WebAppContainerPage.java171
-rw-r--r--plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/plugin/ServletUIPlugin.java47
-rw-r--r--plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/plugin/WEBUIMessages.java70
-rw-r--r--plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/AddServletWizard.java133
-rw-r--r--plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/AddServletWizardPage.java122
-rw-r--r--plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/AvailableWebLibProvider.java68
-rw-r--r--plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/ConvertToWebComponentTypeWizard.java70
-rw-r--r--plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/ConvertToWebComponentTypeWizardPage.java42
-rw-r--r--plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/IWebWizardConstants.java88
-rw-r--r--plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/MultiSelectFilteredFileSelectionDialog.java663
-rw-r--r--plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/NewServletClassOptionsWizardPage.java125
-rw-r--r--plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/NewWebWizard.java62
-rw-r--r--plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/WebComponentCreationWizard.java94
-rw-r--r--plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/WebComponentCreationWizardPage.java90
-rw-r--r--plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/WebComponentExportPage.java65
-rw-r--r--plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/WebComponentExportWizard.java77
-rw-r--r--plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/WebComponentImportPage.java63
-rw-r--r--plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/WebComponentImportWebLibsPage.java234
-rw-r--r--plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/WebComponentImportWizard.java94
-rw-r--r--plugins/org.eclipse.wst.web.ui/.classpath7
-rw-r--r--plugins/org.eclipse.wst.web.ui/.cvsignore4
-rw-r--r--plugins/org.eclipse.wst.web.ui/.project28
-rw-r--r--plugins/org.eclipse.wst.web.ui/META-INF/MANIFEST.MF19
-rw-r--r--plugins/org.eclipse.wst.web.ui/about.html22
-rw-r--r--plugins/org.eclipse.wst.web.ui/build.properties8
-rw-r--r--plugins/org.eclipse.wst.web.ui/icons/full/ctool16/newwebprj_wiz.gifbin607 -> 0 bytes-rw-r--r--plugins/org.eclipse.wst.web.ui/icons/full/obj16/web_application.gifbin996 -> 0 bytes-rw-r--r--plugins/org.eclipse.wst.web.ui/icons/full/ovr16/web_module_ovr.gifbin273 -> 0 bytes-rw-r--r--plugins/org.eclipse.wst.web.ui/icons/full/wizban/newwprj_wiz.gifbin3202 -> 0 bytes-rw-r--r--plugins/org.eclipse.wst.web.ui/plugin.properties14
-rw-r--r--plugins/org.eclipse.wst.web.ui/plugin.xml108
-rw-r--r--plugins/org.eclipse.wst.web.ui/static_web_ui/org/eclipse/wst/web/ui/internal/WSTWebPreferences.java81
-rw-r--r--plugins/org.eclipse.wst.web.ui/static_web_ui/org/eclipse/wst/web/ui/internal/WSTWebUIPlugin.java50
-rw-r--r--plugins/org.eclipse.wst.web.ui/static_web_ui/org/eclipse/wst/web/ui/internal/wizards/SimpleContextRootComposite.java117
-rw-r--r--plugins/org.eclipse.wst.web.ui/static_web_ui/org/eclipse/wst/web/ui/internal/wizards/SimpleWebModuleCreationWizard.java67
-rw-r--r--plugins/org.eclipse.wst.web.ui/static_web_ui/org/eclipse/wst/web/ui/internal/wizards/SimpleWebModuleWizardBasePage.java87
-rw-r--r--plugins/org.eclipse.wst.web.ui/static_web_ui/org/eclipse/wst/web/ui/internal/wizards/SimpleWebSettingsPropertiesPage.java271
-rw-r--r--plugins/org.eclipse.wst.web/.classpath8
-rw-r--r--plugins/org.eclipse.wst.web/.cvsignore4
-rw-r--r--plugins/org.eclipse.wst.web/.project28
-rw-r--r--plugins/org.eclipse.wst.web/META-INF/MANIFEST.MF25
-rw-r--r--plugins/org.eclipse.wst.web/about.html22
-rw-r--r--plugins/org.eclipse.wst.web/build.properties14
-rw-r--r--plugins/org.eclipse.wst.web/component.xml1
-rw-r--r--plugins/org.eclipse.wst.web/icons/full/obj16/web_application.gifbin996 -> 0 bytes-rw-r--r--plugins/org.eclipse.wst.web/icons/full/obj16/webstatic_deploy.gifbin364 -> 0 bytes-rw-r--r--plugins/org.eclipse.wst.web/icons/full/wizban/newwprj_wiz.gifbin3202 -> 0 bytes-rw-r--r--plugins/org.eclipse.wst.web/plugin.properties4
-rw-r--r--plugins/org.eclipse.wst.web/plugin.xml74
-rw-r--r--plugins/org.eclipse.wst.web/property_files/staticwebproject.properties6
-rw-r--r--plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/ISimpleWebModuleConstants.java17
-rw-r--r--plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/ISimpleWebNatureConstants.java28
-rw-r--r--plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/IStaticWebNatureConstants.java22
-rw-r--r--plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/IStaticWebProjectConstants.java17
-rw-r--r--plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/IWSTWebPreferences.java13
-rw-r--r--plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/ResourceHandler.java38
-rw-r--r--plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/SimpleWebNatureRuntimeUtilities.java114
-rw-r--r--plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/WSTWebPlugin.java103
-rw-r--r--plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/WSTWebPreferences.java81
-rw-r--r--plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/WebPropertiesUtil.java106
-rw-r--r--plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/deployables/IStaticWebModuleArtifact.java6
-rw-r--r--plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/deployables/StaticWebDeployable.java119
-rw-r--r--plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/deployables/StaticWebDeployableFactory.java117
-rw-r--r--plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/deployables/StaticWebDeployableObjectAdapter.java26
-rw-r--r--plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/deployables/StaticWebDeployableObjectAdapterUtil.java119
-rw-r--r--plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/operation/IBaseWebNature.java122
-rw-r--r--plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/operation/ILibModule.java26
-rw-r--r--plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/operation/ISimpleWebModuleCreationDataModelProperties.java17
-rw-r--r--plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/operation/IStaticWebNature.java20
-rw-r--r--plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/operation/LibModule.java70
-rw-r--r--plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/operation/SimpleWebModuleCreationDataModelProvider.java51
-rw-r--r--plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/operation/SimpleWebModuleCreationOperation.java58
-rw-r--r--plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/operation/StaticWebNatureRuntime.java651
-rw-r--r--plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/operation/WebSettings.java609
2431 files changed, 0 insertions, 519316 deletions
diff --git a/features/org.eclipse.jem-feature/.cvsignore b/features/org.eclipse.jem-feature/.cvsignore
deleted file mode 100644
index c14487cea..000000000
--- a/features/org.eclipse.jem-feature/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-build.xml
diff --git a/features/org.eclipse.jem-feature/.project b/features/org.eclipse.jem-feature/.project
deleted file mode 100644
index 04e071f37..000000000
--- a/features/org.eclipse.jem-feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.jem-feature</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.FeatureBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.FeatureNature</nature>
- </natures>
-</projectDescription>
diff --git a/features/org.eclipse.jem-feature/build.properties b/features/org.eclipse.jem-feature/build.properties
deleted file mode 100644
index 4ce7515dc..000000000
--- a/features/org.eclipse.jem-feature/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 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
-###############################################################################
-bin.includes = feature.xml,\
- feature.properties,\
- epl-v10.html,\
- eclipse_update_120.jpg,\
- license.html
-
-
diff --git a/features/org.eclipse.jem-feature/com.ibm.etools.emf.event/.classpath b/features/org.eclipse.jem-feature/com.ibm.etools.emf.event/.classpath
deleted file mode 100644
index 059b9d15b..000000000
--- a/features/org.eclipse.jem-feature/com.ibm.etools.emf.event/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry exported="true" kind="lib" path="runtime/event.jar"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/features/org.eclipse.jem-feature/com.ibm.etools.emf.event/.project b/features/org.eclipse.jem-feature/com.ibm.etools.emf.event/.project
deleted file mode 100644
index 8c8107f8a..000000000
--- a/features/org.eclipse.jem-feature/com.ibm.etools.emf.event/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>com.ibm.etools.emf.event</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.PluginNature</nature>
- </natures>
-</projectDescription>
diff --git a/features/org.eclipse.jem-feature/com.ibm.etools.emf.event/about.html b/features/org.eclipse.jem-feature/com.ibm.etools.emf.event/about.html
deleted file mode 100644
index 6f6b96c4c..000000000
--- a/features/org.eclipse.jem-feature/com.ibm.etools.emf.event/about.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>February 24, 2005</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/features/org.eclipse.jem-feature/com.ibm.etools.emf.event/build.properties b/features/org.eclipse.jem-feature/com.ibm.etools.emf.event/build.properties
deleted file mode 100644
index 0cb2fd15c..000000000
--- a/features/org.eclipse.jem-feature/com.ibm.etools.emf.event/build.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 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
-###############################################################################
-bin.includes = runtime/event.jar,\
- plugin.xml,\
- about.html
diff --git a/features/org.eclipse.jem-feature/com.ibm.etools.emf.event/plugin.xml b/features/org.eclipse.jem-feature/com.ibm.etools.emf.event/plugin.xml
deleted file mode 100644
index 55ff069f8..000000000
--- a/features/org.eclipse.jem-feature/com.ibm.etools.emf.event/plugin.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- id="com.ibm.etools.emf.event"
- name="Event Model"
- version="3.0.0.1">
-
- <runtime>
- <library name="runtime/event.jar">
- <export name="*"/>
- </library>
- </runtime>
-<!-- build-level = "20030806_1713SL" *** With fix 10028 merged in. -->
- <requires>
- <import plugin="org.eclipse.emf.ecore" version="2.0.0" match="compatible"/>
- </requires>
-
-
- <extension
- point="org.eclipse.emf.ecore.generated_package">
- <package
- uri="event.xmi"
- class="com.ibm.etools.emf.event.impl.EventPackageImpl">
- </package>
- </extension>
-
-</plugin>
diff --git a/features/org.eclipse.jem-feature/com.ibm.etools.emf.event/runtime/event.jar b/features/org.eclipse.jem-feature/com.ibm.etools.emf.event/runtime/event.jar
deleted file mode 100644
index b64130cfd..000000000
--- a/features/org.eclipse.jem-feature/com.ibm.etools.emf.event/runtime/event.jar
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.jem-feature/eclipse_update_120.jpg b/features/org.eclipse.jem-feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708ad..000000000
--- a/features/org.eclipse.jem-feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.jem-feature/epl-v10.html b/features/org.eclipse.jem-feature/epl-v10.html
deleted file mode 100644
index ed4b19665..000000000
--- a/features/org.eclipse.jem-feature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
- <o:Revision>2</o:Revision>
- <o:TotalTime>3</o:TotalTime>
- <o:Created>2004-03-05T23:03:00Z</o:Created>
- <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
- <o:Pages>4</o:Pages>
- <o:Words>1626</o:Words>
- <o:Characters>9270</o:Characters>
- <o:Lines>77</o:Lines>
- <o:Paragraphs>18</o:Paragraphs>
- <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
- <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
- <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
- {font-family:Tahoma;
- panose-1:2 11 6 4 3 5 4 4 2 4;
- mso-font-charset:0;
- mso-generic-font-family:swiss;
- mso-font-pitch:variable;
- mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
- {mso-style-parent:"";
- margin:0in;
- margin-bottom:.0001pt;
- mso-pagination:widow-orphan;
- font-size:12.0pt;
- font-family:"Times New Roman";
- mso-fareast-font-family:"Times New Roman";}
-p
- {margin-right:0in;
- mso-margin-top-alt:auto;
- mso-margin-bottom-alt:auto;
- margin-left:0in;
- mso-pagination:widow-orphan;
- font-size:12.0pt;
- font-family:"Times New Roman";
- mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
- {mso-style-name:"Balloon Text";
- margin:0in;
- margin-bottom:.0001pt;
- mso-pagination:widow-orphan;
- font-size:8.0pt;
- font-family:Tahoma;
- mso-fareast-font-family:"Times New Roman";}
-@page Section1
- {size:8.5in 11.0in;
- margin:1.0in 1.25in 1.0in 1.25in;
- mso-header-margin:.5in;
- mso-footer-margin:.5in;
- mso-paper-source:0;}
-div.Section1
- {page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html> \ No newline at end of file
diff --git a/features/org.eclipse.jem-feature/feature.properties b/features/org.eclipse.jem-feature/feature.properties
deleted file mode 100644
index 0a70e2b60..000000000
--- a/features/org.eclipse.jem-feature/feature.properties
+++ /dev/null
@@ -1,131 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/features/org.eclipse.jem-feature/Attic/feature.properties,v $
-# $Revision: 1.6 $ $Date: 2005/02/28 19:02:00 $
-#
-
-
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Java EMF Model
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Visual Editor update site
-
-# "description" property - description of the feature
-description=Java EMF Model, including BeanInfo, Java Model, Proxy support (with remote vm and IDE vm support).
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-January 28, 2004\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments\n\
-("Fragments"), and features ("Features"). A Feature is a bundle of one or\n\
-more Plug-ins and/or Fragments and associated material. Files named\n\
-"feature.xml" may contain a list of the names and version numbers of the\n\
-Plug-ins and/or Fragments associated with a Feature. Plug-ins and Fragments\n\
-are located in directories named "plugins" and Features are located in\n\
-directories named "features".\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
- - The top-level (root) directory\n\
- - Plug-in and Fragment directories\n\
- - Subdirectories of the directory named "src" of certain Plug-ins\n\
- - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
- - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
- - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
- - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
- - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
- - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
- - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n
-########### end of license property ##########################################
diff --git a/features/org.eclipse.jem-feature/feature.xml b/features/org.eclipse.jem-feature/feature.xml
deleted file mode 100644
index aef44d817..000000000
--- a/features/org.eclipse.jem-feature/feature.xml
+++ /dev/null
@@ -1,68 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
- id="org.eclipse.jem"
- label="%featureName"
- version="1.1.0"
- provider-name="%providerName"
- image="eclipse_update_120.jpg">
-
- <description>
- %description
- </description>
-
- <license url="%licenseURL">
- %license
- </license>
-
- <url>
- <update label="%updateSiteName" url="http://update.eclipse.org/tools/ve/updates/1.0"/>
- </url>
-
- <requires>
- <import feature="org.eclipse.jdt" version="3.1.0"/>
- <import feature="org.eclipse.emf" version="2.1.0"/>
- </requires>
-
- <plugin
- id="org.eclipse.jem.beaninfo"
- download-size="0"
- install-size="0"
- version="0.0.0"/>
-
- <plugin
- id="org.eclipse.jem.proxy"
- download-size="0"
- install-size="0"
- version="0.0.0"/>
-
- <plugin
- id="org.eclipse.jem"
- download-size="0"
- install-size="0"
- version="0.0.0"/>
-
- <plugin
- id="org.eclipse.jem.workbench"
- download-size="0"
- install-size="0"
- version="0.0.0"/>
-
- <plugin
- id="com.ibm.etools.emf.event"
- download-size="0"
- install-size="0"
- version="3.0.0.1"/>
-
- <plugin
- id="org.eclipse.jem.ui"
- download-size="0"
- install-size="0"
- version="0.0.0"/>
-
- <plugin
- id="org.eclipse.jem.util"
- download-size="0"
- install-size="0"
- version="0.0.0"/>
-
-</feature>
diff --git a/features/org.eclipse.jem-feature/license.html b/features/org.eclipse.jem-feature/license.html
deleted file mode 100644
index 3259fb996..000000000
--- a/features/org.eclipse.jem-feature/license.html
+++ /dev/null
@@ -1,73 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>January 28, 2005</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
- (COLLECTIVELY &quot;CONTENT&quot;). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
- CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE
- OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
- NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
- CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-
-<h3>Applicable Licenses</h3>
-
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
- (&quot;EPL&quot;). A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
- For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
- modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-
-<p>Content may be apportioned into plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;). A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins and/or Fragments associated with a Feature. Plug-ins and Fragments are located in directories
- named &quot;plugins&quot; and Features are located in directories named &quot;features&quot;.</p>
-
-<p>Features may also include other Features (&quot;Included Features&quot;). Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</p>
-
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
- <li>The top-level (root) directory</li>
- <li>Plug-in and Fragment directories</li>
- <li>Subdirectories of the directory named &quot;src&quot; of certain Plug-ins</li>
- <li>Feature directories</li>
-</ul>
-
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them. Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot;.
-Such Abouts, Feature Licenses and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
- <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
- <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
- <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
- <li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>
- <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
- <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
- another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
- possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-</body>
-</html>
diff --git a/features/org.eclipse.jem-feature/org.eclipse.jem.sdk-feature/build.properties b/features/org.eclipse.jem-feature/org.eclipse.jem.sdk-feature/build.properties
deleted file mode 100644
index ea394f9cc..000000000
--- a/features/org.eclipse.jem-feature/org.eclipse.jem.sdk-feature/build.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 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
-###############################################################################
-bin.includes = epl-v10.html,\
- eclipse_update_120.jpg,\
- feature.properties,\
- feature.xml,\
- license.html
-generate.feature@org.eclipse.jem.source=org.eclipse.jem
diff --git a/features/org.eclipse.jem-feature/org.eclipse.jem.sdk-feature/eclipse_update_120.jpg b/features/org.eclipse.jem-feature/org.eclipse.jem.sdk-feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708ad..000000000
--- a/features/org.eclipse.jem-feature/org.eclipse.jem.sdk-feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.jem-feature/org.eclipse.jem.sdk-feature/epl-v10.html b/features/org.eclipse.jem-feature/org.eclipse.jem.sdk-feature/epl-v10.html
deleted file mode 100644
index ed4b19665..000000000
--- a/features/org.eclipse.jem-feature/org.eclipse.jem.sdk-feature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
- <o:Revision>2</o:Revision>
- <o:TotalTime>3</o:TotalTime>
- <o:Created>2004-03-05T23:03:00Z</o:Created>
- <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
- <o:Pages>4</o:Pages>
- <o:Words>1626</o:Words>
- <o:Characters>9270</o:Characters>
- <o:Lines>77</o:Lines>
- <o:Paragraphs>18</o:Paragraphs>
- <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
- <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
- <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
- {font-family:Tahoma;
- panose-1:2 11 6 4 3 5 4 4 2 4;
- mso-font-charset:0;
- mso-generic-font-family:swiss;
- mso-font-pitch:variable;
- mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
- {mso-style-parent:"";
- margin:0in;
- margin-bottom:.0001pt;
- mso-pagination:widow-orphan;
- font-size:12.0pt;
- font-family:"Times New Roman";
- mso-fareast-font-family:"Times New Roman";}
-p
- {margin-right:0in;
- mso-margin-top-alt:auto;
- mso-margin-bottom-alt:auto;
- margin-left:0in;
- mso-pagination:widow-orphan;
- font-size:12.0pt;
- font-family:"Times New Roman";
- mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
- {mso-style-name:"Balloon Text";
- margin:0in;
- margin-bottom:.0001pt;
- mso-pagination:widow-orphan;
- font-size:8.0pt;
- font-family:Tahoma;
- mso-fareast-font-family:"Times New Roman";}
-@page Section1
- {size:8.5in 11.0in;
- margin:1.0in 1.25in 1.0in 1.25in;
- mso-header-margin:.5in;
- mso-footer-margin:.5in;
- mso-paper-source:0;}
-div.Section1
- {page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html> \ No newline at end of file
diff --git a/features/org.eclipse.jem-feature/org.eclipse.jem.sdk-feature/feature.properties b/features/org.eclipse.jem-feature/org.eclipse.jem.sdk-feature/feature.properties
deleted file mode 100644
index 2154c2b1b..000000000
--- a/features/org.eclipse.jem-feature/org.eclipse.jem.sdk-feature/feature.properties
+++ /dev/null
@@ -1,131 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/features/org.eclipse.jem-feature/org.eclipse.jem.sdk-feature/Attic/feature.properties,v $
-# $Revision: 1.6 $ $Date: 2005/02/28 19:02:00 $
-#
-
-
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Java EMF Model SDK
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Visual Editor update site
-
-# "description" property - description of the feature
-description=Binaries and API documentation and source zips for the Visual Editor.
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-January 28, 2004\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments\n\
-("Fragments"), and features ("Features"). A Feature is a bundle of one or\n\
-more Plug-ins and/or Fragments and associated material. Files named\n\
-"feature.xml" may contain a list of the names and version numbers of the\n\
-Plug-ins and/or Fragments associated with a Feature. Plug-ins and Fragments\n\
-are located in directories named "plugins" and Features are located in\n\
-directories named "features".\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
- - The top-level (root) directory\n\
- - Plug-in and Fragment directories\n\
- - Subdirectories of the directory named "src" of certain Plug-ins\n\
- - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
- - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
- - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
- - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
- - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
- - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
- - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n
-########### end of license property ##########################################
diff --git a/features/org.eclipse.jem-feature/org.eclipse.jem.sdk-feature/feature.xml b/features/org.eclipse.jem-feature/org.eclipse.jem.sdk-feature/feature.xml
deleted file mode 100644
index 12ae816dd..000000000
--- a/features/org.eclipse.jem-feature/org.eclipse.jem.sdk-feature/feature.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
- id="org.eclipse.jem.sdk"
- label="%featureName"
- version="1.1.0"
- provider-name="%providerName"
- image="eclipse_update_120.jpg">
-
- <description>
- %description
- </description>
-
- <license url="%licenseURL">
- %license
- </license>
-
- <url>
- <update label="%updateSiteName" url="http://update.eclipse.org/tools/ve/updates/1.0"/>
- </url>
-
- <includes
- id="org.eclipse.jem"
- version="0.0.0"/>
-
- <includes
- id="org.eclipse.jem.source"
- version="0.0.0"/>
-
- <plugin
- id="org.eclipse.jem.sdk"
- download-size="0"
- install-size="0"
- version="0.0.0"/>
-
-</feature>
diff --git a/features/org.eclipse.jem-feature/org.eclipse.jem.sdk-feature/license.html b/features/org.eclipse.jem-feature/org.eclipse.jem.sdk-feature/license.html
deleted file mode 100644
index 3259fb996..000000000
--- a/features/org.eclipse.jem-feature/org.eclipse.jem.sdk-feature/license.html
+++ /dev/null
@@ -1,73 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>January 28, 2005</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
- (COLLECTIVELY &quot;CONTENT&quot;). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
- CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE
- OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
- NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
- CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-
-<h3>Applicable Licenses</h3>
-
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
- (&quot;EPL&quot;). A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
- For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
- modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-
-<p>Content may be apportioned into plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;). A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins and/or Fragments associated with a Feature. Plug-ins and Fragments are located in directories
- named &quot;plugins&quot; and Features are located in directories named &quot;features&quot;.</p>
-
-<p>Features may also include other Features (&quot;Included Features&quot;). Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</p>
-
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
- <li>The top-level (root) directory</li>
- <li>Plug-in and Fragment directories</li>
- <li>Subdirectories of the directory named &quot;src&quot; of certain Plug-ins</li>
- <li>Feature directories</li>
-</ul>
-
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them. Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot;.
-Such Abouts, Feature Licenses and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
- <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
- <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
- <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
- <li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>
- <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
- <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
- another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
- possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-</body>
-</html>
diff --git a/features/org.eclipse.jem-feature/org.eclipse.jem.sdk/.project b/features/org.eclipse.jem-feature/org.eclipse.jem.sdk/.project
deleted file mode 100644
index 4f232d3ad..000000000
--- a/features/org.eclipse.jem-feature/org.eclipse.jem.sdk/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.jem.sdk</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- </natures>
-</projectDescription>
diff --git a/features/org.eclipse.jem-feature/org.eclipse.jem.sdk/META-INF/MANIFEST.MF b/features/org.eclipse.jem-feature/org.eclipse.jem.sdk/META-INF/MANIFEST.MF
deleted file mode 100644
index 5178f94a3..000000000
--- a/features/org.eclipse.jem-feature/org.eclipse.jem.sdk/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.jem.sdk
-Bundle-Version: 1.1.0
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
diff --git a/features/org.eclipse.jem-feature/org.eclipse.jem.sdk/about.html b/features/org.eclipse.jem-feature/org.eclipse.jem.sdk/about.html
deleted file mode 100644
index 6f6b96c4c..000000000
--- a/features/org.eclipse.jem-feature/org.eclipse.jem.sdk/about.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>February 24, 2005</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/features/org.eclipse.jem-feature/org.eclipse.jem.sdk/about.ini b/features/org.eclipse.jem-feature/org.eclipse.jem.sdk/about.ini
deleted file mode 100644
index a21a3ecea..000000000
--- a/features/org.eclipse.jem-feature/org.eclipse.jem.sdk/about.ini
+++ /dev/null
@@ -1,29 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=eclipse32.gif
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-
diff --git a/features/org.eclipse.jem-feature/org.eclipse.jem.sdk/about.mappings b/features/org.eclipse.jem-feature/org.eclipse.jem.sdk/about.mappings
deleted file mode 100644
index bddaab431..000000000
--- a/features/org.eclipse.jem-feature/org.eclipse.jem.sdk/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@ \ No newline at end of file
diff --git a/features/org.eclipse.jem-feature/org.eclipse.jem.sdk/about.properties b/features/org.eclipse.jem-feature/org.eclipse.jem.sdk/about.properties
deleted file mode 100644
index 37842ee0b..000000000
--- a/features/org.eclipse.jem-feature/org.eclipse.jem.sdk/about.properties
+++ /dev/null
@@ -1,29 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/features/org.eclipse.jem-feature/org.eclipse.jem.sdk/Attic/about.properties,v $
-# $Revision: 1.4 $ $Date: 2005/02/15 23:13:16 $
-#
-
-
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-
-blurb=Java EMF Model SDK\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others. 2000, 2004. All rights reserved.\n\
-Visit http://www.eclipse.org/vep
diff --git a/features/org.eclipse.jem-feature/org.eclipse.jem.sdk/build.properties b/features/org.eclipse.jem-feature/org.eclipse.jem.sdk/build.properties
deleted file mode 100644
index 3b1b87e83..000000000
--- a/features/org.eclipse.jem-feature/org.eclipse.jem.sdk/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 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
-###############################################################################
-bin.includes = about.html,\
- about.ini,\
- about.mappings,\
- about.properties,\
- eclipse32.gif,\
- plugin.xml,\
- plugin.properties,\
- META-INF/
diff --git a/features/org.eclipse.jem-feature/org.eclipse.jem.sdk/eclipse32.gif b/features/org.eclipse.jem-feature/org.eclipse.jem.sdk/eclipse32.gif
deleted file mode 100644
index e6ad7ccd7..000000000
--- a/features/org.eclipse.jem-feature/org.eclipse.jem.sdk/eclipse32.gif
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.jem-feature/org.eclipse.jem.sdk/plugin.properties b/features/org.eclipse.jem-feature/org.eclipse.jem.sdk/plugin.properties
deleted file mode 100644
index c83dcb5d8..000000000
--- a/features/org.eclipse.jem-feature/org.eclipse.jem.sdk/plugin.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/features/org.eclipse.jem-feature/org.eclipse.jem.sdk/Attic/plugin.properties,v $
-# $Revision: 1.4 $ $Date: 2005/02/15 23:13:16 $
-#
-
-
-pluginName=Java EMF Model SDK
-providerName = Eclipse.org
diff --git a/features/org.eclipse.jem-feature/sourceTemplateFeature/build.properties b/features/org.eclipse.jem-feature/sourceTemplateFeature/build.properties
deleted file mode 100644
index 4ce7515dc..000000000
--- a/features/org.eclipse.jem-feature/sourceTemplateFeature/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 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
-###############################################################################
-bin.includes = feature.xml,\
- feature.properties,\
- epl-v10.html,\
- eclipse_update_120.jpg,\
- license.html
-
-
diff --git a/features/org.eclipse.jem-feature/sourceTemplateFeature/eclipse_update_120.jpg b/features/org.eclipse.jem-feature/sourceTemplateFeature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708ad..000000000
--- a/features/org.eclipse.jem-feature/sourceTemplateFeature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.jem-feature/sourceTemplateFeature/epl-v10.html b/features/org.eclipse.jem-feature/sourceTemplateFeature/epl-v10.html
deleted file mode 100644
index ed4b19665..000000000
--- a/features/org.eclipse.jem-feature/sourceTemplateFeature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
- <o:Revision>2</o:Revision>
- <o:TotalTime>3</o:TotalTime>
- <o:Created>2004-03-05T23:03:00Z</o:Created>
- <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
- <o:Pages>4</o:Pages>
- <o:Words>1626</o:Words>
- <o:Characters>9270</o:Characters>
- <o:Lines>77</o:Lines>
- <o:Paragraphs>18</o:Paragraphs>
- <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
- <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
- <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
- {font-family:Tahoma;
- panose-1:2 11 6 4 3 5 4 4 2 4;
- mso-font-charset:0;
- mso-generic-font-family:swiss;
- mso-font-pitch:variable;
- mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
- {mso-style-parent:"";
- margin:0in;
- margin-bottom:.0001pt;
- mso-pagination:widow-orphan;
- font-size:12.0pt;
- font-family:"Times New Roman";
- mso-fareast-font-family:"Times New Roman";}
-p
- {margin-right:0in;
- mso-margin-top-alt:auto;
- mso-margin-bottom-alt:auto;
- margin-left:0in;
- mso-pagination:widow-orphan;
- font-size:12.0pt;
- font-family:"Times New Roman";
- mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
- {mso-style-name:"Balloon Text";
- margin:0in;
- margin-bottom:.0001pt;
- mso-pagination:widow-orphan;
- font-size:8.0pt;
- font-family:Tahoma;
- mso-fareast-font-family:"Times New Roman";}
-@page Section1
- {size:8.5in 11.0in;
- margin:1.0in 1.25in 1.0in 1.25in;
- mso-header-margin:.5in;
- mso-footer-margin:.5in;
- mso-paper-source:0;}
-div.Section1
- {page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html> \ No newline at end of file
diff --git a/features/org.eclipse.jem-feature/sourceTemplateFeature/feature.properties b/features/org.eclipse.jem-feature/sourceTemplateFeature/feature.properties
deleted file mode 100644
index 2d01395f9..000000000
--- a/features/org.eclipse.jem-feature/sourceTemplateFeature/feature.properties
+++ /dev/null
@@ -1,131 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/features/org.eclipse.jem-feature/sourceTemplateFeature/Attic/feature.properties,v $
-# $Revision: 1.7 $ $Date: 2005/02/28 19:02:00 $
-#
-
-
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Java EMF Model Source
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Visual Editor update site
-
-# "description" property - description of the feature
-description=API documentation and source zips for the Java EMF Model.
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-January 28, 2004\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments\n\
-("Fragments"), and features ("Features"). A Feature is a bundle of one or\n\
-more Plug-ins and/or Fragments and associated material. Files named\n\
-"feature.xml" may contain a list of the names and version numbers of the\n\
-Plug-ins and/or Fragments associated with a Feature. Plug-ins and Fragments\n\
-are located in directories named "plugins" and Features are located in\n\
-directories named "features".\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
- - The top-level (root) directory\n\
- - Plug-in and Fragment directories\n\
- - Subdirectories of the directory named "src" of certain Plug-ins\n\
- - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
- - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
- - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
- - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
- - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
- - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
- - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n
-########### end of license property ##########################################
diff --git a/features/org.eclipse.jem-feature/sourceTemplateFeature/license.html b/features/org.eclipse.jem-feature/sourceTemplateFeature/license.html
deleted file mode 100644
index 3259fb996..000000000
--- a/features/org.eclipse.jem-feature/sourceTemplateFeature/license.html
+++ /dev/null
@@ -1,73 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>January 28, 2005</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
- (COLLECTIVELY &quot;CONTENT&quot;). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
- CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE
- OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
- NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
- CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-
-<h3>Applicable Licenses</h3>
-
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
- (&quot;EPL&quot;). A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
- For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
- modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-
-<p>Content may be apportioned into plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;). A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins and/or Fragments associated with a Feature. Plug-ins and Fragments are located in directories
- named &quot;plugins&quot; and Features are located in directories named &quot;features&quot;.</p>
-
-<p>Features may also include other Features (&quot;Included Features&quot;). Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</p>
-
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
- <li>The top-level (root) directory</li>
- <li>Plug-in and Fragment directories</li>
- <li>Subdirectories of the directory named &quot;src&quot; of certain Plug-ins</li>
- <li>Feature directories</li>
-</ul>
-
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them. Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot;.
-Such Abouts, Feature Licenses and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
- <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
- <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
- <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
- <li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>
- <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
- <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
- another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
- possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-</body>
-</html>
diff --git a/features/org.eclipse.jem-feature/sourceTemplatePlugin/about.html b/features/org.eclipse.jem-feature/sourceTemplatePlugin/about.html
deleted file mode 100644
index dae413bb6..000000000
--- a/features/org.eclipse.jem-feature/sourceTemplatePlugin/about.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>February 24, 2005</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-<h3>Source Code</h3>
-<p>This plug-in contains source code zip files (&quot;Source Zips&quot;) that correspond to binary content in other plug-ins. These Source Zips may be distributed under different license
-agreements and/or notices. Details about these license agreements and notices are contained in &quot;about.html&quot; files (&quot;Abouts&quot;) located in sub-directories in the
-src/ directory of this plug-in. Such Abouts govern your use of the Source Zips in that directory, not the EPL.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/features/org.eclipse.jem-feature/sourceTemplatePlugin/about.ini b/features/org.eclipse.jem-feature/sourceTemplatePlugin/about.ini
deleted file mode 100644
index a21a3ecea..000000000
--- a/features/org.eclipse.jem-feature/sourceTemplatePlugin/about.ini
+++ /dev/null
@@ -1,29 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=eclipse32.gif
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-
diff --git a/features/org.eclipse.jem-feature/sourceTemplatePlugin/about.mappings b/features/org.eclipse.jem-feature/sourceTemplatePlugin/about.mappings
deleted file mode 100644
index bddaab431..000000000
--- a/features/org.eclipse.jem-feature/sourceTemplatePlugin/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@ \ No newline at end of file
diff --git a/features/org.eclipse.jem-feature/sourceTemplatePlugin/about.properties b/features/org.eclipse.jem-feature/sourceTemplatePlugin/about.properties
deleted file mode 100644
index bf7deb495..000000000
--- a/features/org.eclipse.jem-feature/sourceTemplatePlugin/about.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/features/org.eclipse.jem-feature/sourceTemplatePlugin/Attic/about.properties,v $
-# $Revision: 1.5 $ $Date: 2005/02/15 23:13:16 $
-#
-
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-
-blurb=Java EMF Model SDK\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others. 2000, 2004. All rights reserved.\n\
-Visit http://www.eclipse.org/vep
diff --git a/features/org.eclipse.jem-feature/sourceTemplatePlugin/build.properties b/features/org.eclipse.jem-feature/sourceTemplatePlugin/build.properties
deleted file mode 100644
index 1b757beac..000000000
--- a/features/org.eclipse.jem-feature/sourceTemplatePlugin/build.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 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
-###############################################################################
-bin.includes = plugin.xml,\
- plugin.properties,\
- about.html,\
- about.ini,\
- about.mappings,\
- about.properties,\
- eclipse32.gif,\
- src/,\
- META-INF/
-sourcePlugin = true
diff --git a/features/org.eclipse.jem-feature/sourceTemplatePlugin/eclipse32.gif b/features/org.eclipse.jem-feature/sourceTemplatePlugin/eclipse32.gif
deleted file mode 100644
index e6ad7ccd7..000000000
--- a/features/org.eclipse.jem-feature/sourceTemplatePlugin/eclipse32.gif
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.jem-feature/sourceTemplatePlugin/plugin.properties b/features/org.eclipse.jem-feature/sourceTemplatePlugin/plugin.properties
deleted file mode 100644
index 569a6f675..000000000
--- a/features/org.eclipse.jem-feature/sourceTemplatePlugin/plugin.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2003 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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/features/org.eclipse.jem-feature/sourceTemplatePlugin/Attic/plugin.properties,v $
-# $Revision: 1.3 $ $Date: 2005/02/15 23:13:16 $
-#
-
-
-pluginName = Java EMF Model Source
-providerName = Eclipse.org \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo.ui/.project b/plugins/org.eclipse.jem.beaninfo.ui/.project
deleted file mode 100644
index 3898d5625..000000000
--- a/plugins/org.eclipse.jem.beaninfo.ui/.project
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.jem.beaninfo.ui</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
-
- </buildSpec>
- <natures>
- </natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.jem.beaninfo.ui/OBSOLETE-moved to org.eclipse.jem.ui b/plugins/org.eclipse.jem.beaninfo.ui/OBSOLETE-moved to org.eclipse.jem.ui
deleted file mode 100644
index e69de29bb..000000000
--- a/plugins/org.eclipse.jem.beaninfo.ui/OBSOLETE-moved to org.eclipse.jem.ui
+++ /dev/null
diff --git a/plugins/org.eclipse.jem.beaninfo/.classpath b/plugins/org.eclipse.jem.beaninfo/.classpath
deleted file mode 100644
index 3e7a2efd2..000000000
--- a/plugins/org.eclipse.jem.beaninfo/.classpath
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="beaninfo"/>
- <classpathentry output="bin_beaninfocommon" kind="src" path="beaninfoCommon"/>
- <classpathentry output="bin_vm_beaninfovm" kind="src" path="vm_beaninfovm"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.jem.beaninfo/.cvsignore b/plugins/org.eclipse.jem.beaninfo/.cvsignore
deleted file mode 100644
index 9b8171d4d..000000000
--- a/plugins/org.eclipse.jem.beaninfo/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-bin
-build.xml
-bin_beaninfocommon
-bin_vm_beaninfovm
diff --git a/plugins/org.eclipse.jem.beaninfo/.options b/plugins/org.eclipse.jem.beaninfo/.options
deleted file mode 100644
index 5b246520d..000000000
--- a/plugins/org.eclipse.jem.beaninfo/.options
+++ /dev/null
@@ -1,3 +0,0 @@
-org.eclipse.jem.beaninfo/debug/logtrace=default
-org.eclipse.jem.beaninfo/debug/logtracefile=default
-org.eclipse.jem.beaninfo/debug/loglevel=default
diff --git a/plugins/org.eclipse.jem.beaninfo/.project b/plugins/org.eclipse.jem.beaninfo/.project
deleted file mode 100644
index 79380706a..000000000
--- a/plugins/org.eclipse.jem.beaninfo/.project
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.jem.beaninfo</name>
- <comment></comment>
- <projects>
- <project>com.ibm.etools.emf.event</project>
- <project>org.apache.xerces</project>
- <project>org.eclipse.compare</project>
- <project>org.eclipse.core.resources</project>
- <project>org.eclipse.core.runtime.compatibility</project>
- <project>org.eclipse.emf.ecore</project>
- <project>org.eclipse.emf.ecore.xmi</project>
- <project>org.eclipse.jdt.core</project>
- <project>org.eclipse.jdt.launching</project>
- <project>org.eclipse.jem</project>
- <project>org.eclipse.jem.proxy</project>
- <project>org.eclipse.jem.workbench</project>
- <project>org.eclipse.osgi</project>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>com.ibm.rtp.tools.rose.builder</name>
- <arguments>
- <dictionary>
- <key>rose</key>
- <value></value>
- </dictionary>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>com.ibm.rtp.tools.rose.toolnature</nature>
- </natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.jem.beaninfo/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.jem.beaninfo/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 794b7f611..000000000
--- a/plugins/org.eclipse.jem.beaninfo/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Wed May 18 16:43:27 EDT 2005
-eclipse.preferences.version=1
-encoding//beaninfo/org/eclipse/jem/internal/beaninfo/core/messages.properties=8859_1
diff --git a/plugins/org.eclipse.jem.beaninfo/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.jem.beaninfo/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 4a7c7a1ed..000000000
--- a/plugins/org.eclipse.jem.beaninfo/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,282 +0,0 @@
-#Thu Jun 16 12:45:44 EDT 2005
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=1
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines=false
-org.eclipse.jdt.core.formatter.comment.format_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=150
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=150
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
diff --git a/plugins/org.eclipse.jem.beaninfo/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.jem.beaninfo/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4cff627b9..000000000
--- a/plugins/org.eclipse.jem.beaninfo/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,6 +0,0 @@
-#Wed May 11 16:20:15 EDT 2005
-eclipse.preferences.version=1
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=java;javax;org;org.eclipse.wtp;org.eclipse.jem;org.eclipse.ve.internal.cdm;org.eclipse.ve.internal.cde;org.eclipse.ve.internal.jcm;org.eclipse.ve.internal.java;org.eclipse.ve;com;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates/>
diff --git a/plugins/org.eclipse.jem.beaninfo/.settings/org.eclipse.pde.core.prefs b/plugins/org.eclipse.jem.beaninfo/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 59dc1688c..000000000
--- a/plugins/org.eclipse.jem.beaninfo/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Thu Jun 16 11:09:08 EDT 2005
-eclipse.preferences.version=1
-selfhosting.binExcludes=/org.eclipse.jem.beaninfo/bin_vm_beaninfovm
diff --git a/plugins/org.eclipse.jem.beaninfo/META-INF/MANIFEST.MF b/plugins/org.eclipse.jem.beaninfo/META-INF/MANIFEST.MF
deleted file mode 100644
index ea0df67c1..000000000
--- a/plugins/org.eclipse.jem.beaninfo/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,32 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.jem.beaninfo; singleton:=true
-Bundle-Version: 1.1.0
-Bundle-ClassPath: beaninfo.jar,
- beaninfocommon.jar
-Bundle-Activator: org.eclipse.jem.internal.beaninfo.core.BeaninfoPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.jem.beaninfo.vm,
- org.eclipse.jem.internal.beaninfo,
- org.eclipse.jem.internal.beaninfo.adapters,
- org.eclipse.jem.internal.beaninfo.common,
- org.eclipse.jem.internal.beaninfo.core,
- org.eclipse.jem.internal.beaninfo.impl,
- org.eclipse.jem.internal.beaninfo.vm
-Require-Bundle: org.eclipse.jem.proxy,
- com.ibm.etools.emf.event,
- org.eclipse.jdt.core,
- org.eclipse.jem.workbench,
- org.eclipse.core.resources,
- org.eclipse.emf.ecore,
- org.eclipse.jem,
- org.eclipse.emf.ecore.xmi,
- org.eclipse.osgi,
- org.eclipse.ui;resolution:=optional,
- org.eclipse.core.runtime,
- org.eclipse.debug.core,
- org.eclipse.jem.util,
- org.eclipse.emf.ecore.change
-Eclipse-AutoStart: true
diff --git a/plugins/org.eclipse.jem.beaninfo/about.html b/plugins/org.eclipse.jem.beaninfo/about.html
deleted file mode 100644
index 6f6b96c4c..000000000
--- a/plugins/org.eclipse.jem.beaninfo/about.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>February 24, 2005</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/BeanDecorator.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/BeanDecorator.java
deleted file mode 100644
index a7cd9f05c..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/BeanDecorator.java
+++ /dev/null
@@ -1,432 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo;
-/*
- * $RCSfile: BeanDecorator.java,v $
- * $Revision: 1.9 $ $Date: 2005/04/14 19:05:36 $
- */
-
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.jem.java.JavaClass;
-import java.net.URL;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Bean Decorator</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * Equivalent to BeanDecorator in java.
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isMergeSuperProperties <em>Merge Super Properties</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isMergeSuperMethods <em>Merge Super Methods</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isMergeSuperEvents <em>Merge Super Events</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isIntrospectProperties <em>Introspect Properties</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isIntrospectMethods <em>Introspect Methods</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isIntrospectEvents <em>Introspect Events</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isDoBeaninfo <em>Do Beaninfo</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#getNotInheritedPropertyNames <em>Not Inherited Property Names</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#getNotInheritedMethodNames <em>Not Inherited Method Names</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#getNotInheritedEventNames <em>Not Inherited Event Names</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#getCustomizerClass <em>Customizer Class</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getBeanDecorator()
- * @model
- * @generated
- */
-
-
-public interface BeanDecorator extends FeatureDecorator{
-
- /**
- * Returns the value of the '<em><b>Merge Super Properties</b></em>' attribute.
- * The default value is <code>"true"</code>.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Merge Super Properties</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * Should the properties of super types be merged when asking for eAllAttributes/eAllReferences.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Merge Super Properties</em>' attribute.
- * @see #isSetMergeSuperProperties()
- * @see #unsetMergeSuperProperties()
- * @see #setMergeSuperProperties(boolean)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getBeanDecorator_MergeSuperProperties()
- * @model default="true" unsettable="true"
- * @generated
- */
- boolean isMergeSuperProperties();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isMergeSuperProperties <em>Merge Super Properties</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Merge Super Properties</em>' attribute.
- * @see #isSetMergeSuperProperties()
- * @see #unsetMergeSuperProperties()
- * @see #isMergeSuperProperties()
- * @generated
- */
- void setMergeSuperProperties(boolean value);
-
- /**
- * Unsets the value of the '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isMergeSuperProperties <em>Merge Super Properties</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetMergeSuperProperties()
- * @see #isMergeSuperProperties()
- * @see #setMergeSuperProperties(boolean)
- * @generated
- */
- void unsetMergeSuperProperties();
-
- /**
- * Returns whether the value of the '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isMergeSuperProperties <em>Merge Super Properties</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Merge Super Properties</em>' attribute is set.
- * @see #unsetMergeSuperProperties()
- * @see #isMergeSuperProperties()
- * @see #setMergeSuperProperties(boolean)
- * @generated
- */
- boolean isSetMergeSuperProperties();
-
- /**
- * Returns the value of the '<em><b>Merge Super Methods</b></em>' attribute.
- * The default value is <code>"true"</code>.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Merge Super Behaviors</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * Should the methods of super types be merged when asking for eAllBehaviors.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Merge Super Methods</em>' attribute.
- * @see #isSetMergeSuperMethods()
- * @see #unsetMergeSuperMethods()
- * @see #setMergeSuperMethods(boolean)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getBeanDecorator_MergeSuperMethods()
- * @model default="true" unsettable="true"
- * @generated
- */
- boolean isMergeSuperMethods();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isMergeSuperMethods <em>Merge Super Methods</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Merge Super Methods</em>' attribute.
- * @see #isSetMergeSuperMethods()
- * @see #unsetMergeSuperMethods()
- * @see #isMergeSuperMethods()
- * @generated
- */
- void setMergeSuperMethods(boolean value);
-
- /**
- * Unsets the value of the '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isMergeSuperMethods <em>Merge Super Methods</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetMergeSuperMethods()
- * @see #isMergeSuperMethods()
- * @see #setMergeSuperMethods(boolean)
- * @generated
- */
- void unsetMergeSuperMethods();
-
- /**
- * Returns whether the value of the '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isMergeSuperMethods <em>Merge Super Methods</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Merge Super Methods</em>' attribute is set.
- * @see #unsetMergeSuperMethods()
- * @see #isMergeSuperMethods()
- * @see #setMergeSuperMethods(boolean)
- * @generated
- */
- boolean isSetMergeSuperMethods();
-
- /**
- * Returns the value of the '<em><b>Merge Super Events</b></em>' attribute.
- * The default value is <code>"true"</code>.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Merge Super Events</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * Should the events of super types be merged when asking for eAllEvents.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Merge Super Events</em>' attribute.
- * @see #isSetMergeSuperEvents()
- * @see #unsetMergeSuperEvents()
- * @see #setMergeSuperEvents(boolean)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getBeanDecorator_MergeSuperEvents()
- * @model default="true" unsettable="true"
- * @generated
- */
- boolean isMergeSuperEvents();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isMergeSuperEvents <em>Merge Super Events</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Merge Super Events</em>' attribute.
- * @see #isSetMergeSuperEvents()
- * @see #unsetMergeSuperEvents()
- * @see #isMergeSuperEvents()
- * @generated
- */
- void setMergeSuperEvents(boolean value);
-
- /**
- * Unsets the value of the '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isMergeSuperEvents <em>Merge Super Events</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetMergeSuperEvents()
- * @see #isMergeSuperEvents()
- * @see #setMergeSuperEvents(boolean)
- * @generated
- */
- void unsetMergeSuperEvents();
-
- /**
- * Returns whether the value of the '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isMergeSuperEvents <em>Merge Super Events</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Merge Super Events</em>' attribute is set.
- * @see #unsetMergeSuperEvents()
- * @see #isMergeSuperEvents()
- * @see #setMergeSuperEvents(boolean)
- * @generated
- */
- boolean isSetMergeSuperEvents();
-
- /**
- * Returns the value of the '<em><b>Introspect Properties</b></em>' attribute.
- * The default value is <code>"true"</code>.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Introspect Properties</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * Should the properties from the introspection be added to the class. This allows properties to not be introspected and to use only what is defined explicitly in the JavaClass xmi file.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Introspect Properties</em>' attribute.
- * @see #setIntrospectProperties(boolean)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getBeanDecorator_IntrospectProperties()
- * @model default="true"
- * @generated
- */
- boolean isIntrospectProperties();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isIntrospectProperties <em>Introspect Properties</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Introspect Properties</em>' attribute.
- * @see #isIntrospectProperties()
- * @generated
- */
- void setIntrospectProperties(boolean value);
-
- /**
- * Returns the value of the '<em><b>Introspect Methods</b></em>' attribute.
- * The default value is <code>"true"</code>.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Introspect Behaviors</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * Should the methods from the introspection be added to the class. This allows methods to not be introspected and to use only what is defined explicitly in the JavaClass xmi file.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Introspect Methods</em>' attribute.
- * @see #setIntrospectMethods(boolean)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getBeanDecorator_IntrospectMethods()
- * @model default="true"
- * @generated
- */
- boolean isIntrospectMethods();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isIntrospectMethods <em>Introspect Methods</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Introspect Methods</em>' attribute.
- * @see #isIntrospectMethods()
- * @generated
- */
- void setIntrospectMethods(boolean value);
-
- /**
- * Returns the value of the '<em><b>Introspect Events</b></em>' attribute.
- * The default value is <code>"true"</code>.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Introspect Events</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * Should the events from the introspection be added to the class. This allows events to not be introspected and to use only what is defined explicitly in the JavaClass xmi file.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Introspect Events</em>' attribute.
- * @see #setIntrospectEvents(boolean)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getBeanDecorator_IntrospectEvents()
- * @model default="true"
- * @generated
- */
- boolean isIntrospectEvents();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isIntrospectEvents <em>Introspect Events</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Introspect Events</em>' attribute.
- * @see #isIntrospectEvents()
- * @generated
- */
- void setIntrospectEvents(boolean value);
-
- /**
- * Returns the value of the '<em><b>Customizer Class</b></em>' reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Customizer Class</em>' reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Customizer Class</em>' reference.
- * @see #setCustomizerClass(JavaClass)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getBeanDecorator_CustomizerClass()
- * @model
- * @generated
- */
- JavaClass getCustomizerClass();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#getCustomizerClass <em>Customizer Class</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Customizer Class</em>' reference.
- * @see #getCustomizerClass()
- * @generated
- */
- void setCustomizerClass(JavaClass value);
-
- /**
- * Returns the value of the '<em><b>Do Beaninfo</b></em>' attribute.
- * The default value is <code>"true"</code>.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Do Beaninfo</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * This means do we go and get the beaninfo from the remote vm. If false, then it will not try to get the beaninfo. This doesn't prevent introspection through reflection. That is controled by the separate introspect... attributes.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Do Beaninfo</em>' attribute.
- * @see #setDoBeaninfo(boolean)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getBeanDecorator_DoBeaninfo()
- * @model default="true"
- * @generated
- */
- boolean isDoBeaninfo();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isDoBeaninfo <em>Do Beaninfo</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Do Beaninfo</em>' attribute.
- * @see #isDoBeaninfo()
- * @generated
- */
- void setDoBeaninfo(boolean value);
-
- /**
- * Returns the value of the '<em><b>Not Inherited Property Names</b></em>' attribute list.
- * The list contents are of type {@link java.lang.String}.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * This is the list of inherited property names to not use in getAllProperties(). These names are properties that should not be inherited and should not show through. If the inherited property is not on the list then it will show in getAllProperties().
- * <p>
- * This list will be empty if all properties are inherited or if the mergeSuperProperties flag is false.
- * <p>
- * Note: This attribute is not meant to be changed by clients. It is an internal attribute.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Not Inherited Property Names</em>' attribute list.
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getBeanDecorator_NotInheritedPropertyNames()
- * @model type="java.lang.String"
- * @generated
- */
- EList getNotInheritedPropertyNames();
-
- /**
- * Returns the value of the '<em><b>Not Inherited Method Names</b></em>' attribute list.
- * The list contents are of type {@link java.lang.String}.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * This is the list of inherited method names to not use in eAllOperations(). These names are operations that should not be inherited and should not show through. If the inherited operation is not on the list then it will show in getAllOperations().
- * <p>
- * This list will be empty if all operations are inherited or if the mergeSuperBehaviors flag is false.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Not Inherited Method Names</em>' attribute list.
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getBeanDecorator_NotInheritedMethodNames()
- * @model type="java.lang.String"
- * @generated
- */
- EList getNotInheritedMethodNames();
-
- /**
- * Returns the value of the '<em><b>Not Inherited Event Names</b></em>' attribute list.
- * The list contents are of type {@link java.lang.String}.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * This is the list of inherited event names to not use in getAllEvents(). These names are events that should not be inherited and should not show through. If the inherited event is not on the list then it will show in getAllEvents().
- * <p>
- * This list will be empty if all events are inherited or if the mergeSuperEvents flag is false.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Not Inherited Event Names</em>' attribute list.
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getBeanDecorator_NotInheritedEventNames()
- * @model type="java.lang.String"
- * @generated
- */
- EList getNotInheritedEventNames();
-
- /**
- * Return the URL of a 16x16 Color icon
- */
- URL getIconURL();
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/BeanEvent.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/BeanEvent.java
deleted file mode 100644
index fbd56cf42..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/BeanEvent.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo;
-/*
- * $RCSfile: BeanEvent.java,v $
- * $Revision: 1.6 $ $Date: 2005/04/14 19:05:36 $
- */
-
-import org.eclipse.jem.java.JavaEvent;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Bean Event</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * Event from Introspection/Reflection.
- * <p>
- * The BeanEvent will be under the JavaClass' events and allEvents feature. Each BeanEvent will be decorated by an EventSetDecorator.
- * <!-- end-model-doc -->
- *
- *
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getBeanEvent()
- * @model
- * @generated
- */
-
-public interface BeanEvent extends JavaEvent{
-
-
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/BeaninfoFactory.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/BeaninfoFactory.java
deleted file mode 100644
index 1d99aaae8..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/BeaninfoFactory.java
+++ /dev/null
@@ -1,128 +0,0 @@
-package org.eclipse.jem.internal.beaninfo;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: BeaninfoFactory.java,v $
- * $Revision: 1.3 $ $Date: 2005/02/15 22:44:20 $
- */
-
-
-import org.eclipse.emf.ecore.EFactory;
-/**
- * <!-- begin-user-doc -->
- * The <b>Factory</b> for the model.
- * It provides a create method for each non-abstract class of the model.
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage
- * @generated
- */
-
-
-public interface BeaninfoFactory extends EFactory{
- /**
- * The singleton instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- BeaninfoFactory eINSTANCE = new org.eclipse.jem.internal.beaninfo.impl.BeaninfoFactoryImpl();
-
- /**
- * Returns a new object of class '<em>Feature Decorator</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Feature Decorator</em>'.
- * @generated
- */
- FeatureDecorator createFeatureDecorator();
-
- /**
- * Returns a new object of class '<em>Event Set Decorator</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Event Set Decorator</em>'.
- * @generated
- */
- EventSetDecorator createEventSetDecorator();
-
- /**
- * Returns a new object of class '<em>Method Proxy</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Method Proxy</em>'.
- * @generated
- */
- MethodProxy createMethodProxy();
-
- /**
- * Returns a new object of class '<em>Property Decorator</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Property Decorator</em>'.
- * @generated
- */
- PropertyDecorator createPropertyDecorator();
-
- /**
- * Returns a new object of class '<em>Indexed Property Decorator</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Indexed Property Decorator</em>'.
- * @generated
- */
- IndexedPropertyDecorator createIndexedPropertyDecorator();
-
- /**
- * Returns a new object of class '<em>Bean Decorator</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Bean Decorator</em>'.
- * @generated
- */
- BeanDecorator createBeanDecorator();
-
- /**
- * Returns a new object of class '<em>Method Decorator</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Method Decorator</em>'.
- * @generated
- */
- MethodDecorator createMethodDecorator();
-
- /**
- * Returns a new object of class '<em>Parameter Decorator</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Parameter Decorator</em>'.
- * @generated
- */
- ParameterDecorator createParameterDecorator();
-
- /**
- * Returns the package supported by this factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the package supported by this factory.
- * @generated
- */
- BeaninfoPackage getBeaninfoPackage();
-
- /**
- * Returns a new object of class '<em>Bean Event</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Bean Event</em>'.
- * @generated
- */
- BeanEvent createBeanEvent();
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/BeaninfoPackage.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/BeaninfoPackage.java
deleted file mode 100644
index 736ad9d43..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/BeaninfoPackage.java
+++ /dev/null
@@ -1,2691 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo;
-/*
- * $RCSfile: BeaninfoPackage.java,v $
- * $Revision: 1.8 $ $Date: 2005/04/14 19:05:36 $
- */
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EEnum;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EcorePackage;
-
-import org.eclipse.jem.java.JavaRefPackage;
-/**
- * <!-- begin-user-doc -->
- * The <b>Package</b> for the model.
- * It contains accessors for the meta objects to represent
- * <ul>
- * <li>each class,</li>
- * <li>each feature of each class,</li>
- * <li>each enum,</li>
- * <li>and each data type</li>
- * </ul>
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoFactory
- * @generated
- */
-
-public interface BeaninfoPackage extends EPackage{
- /**
- * The package name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNAME = "beaninfo"; //$NON-NLS-1$
-
- /**
- * The package namespace URI.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNS_URI = "http:///org/eclipse/jem/internal/beaninfo/beaninfo.ecore"; //$NON-NLS-1$
-
- /**
- * The package namespace name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNS_PREFIX = "org.eclipse.jem.internal.beaninfo.beaninfo"; //$NON-NLS-1$
-
- /**
- * The singleton instance of the package.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- BeaninfoPackage eINSTANCE = org.eclipse.jem.internal.beaninfo.impl.BeaninfoPackageImpl.init();
-
-
- /**
- * The meta object id for the '{@link org.eclipse.jem.internal.beaninfo.impl.FeatureDecoratorImpl <em>Feature Decorator</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.beaninfo.impl.FeatureDecoratorImpl
- * @see org.eclipse.jem.internal.beaninfo.impl.BeaninfoPackageImpl#getFeatureDecorator()
- * @generated
- */
- int FEATURE_DECORATOR = 0;
- /**
- * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int FEATURE_DECORATOR__EANNOTATIONS = EcorePackage.EANNOTATION__EANNOTATIONS;
-
- /**
- * The feature id for the '<em><b>Source</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int FEATURE_DECORATOR__SOURCE = EcorePackage.EANNOTATION__SOURCE;
-
- /**
- * The feature id for the '<em><b>Details</b></em>' map.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int FEATURE_DECORATOR__DETAILS = EcorePackage.EANNOTATION__DETAILS;
-
- /**
- * The feature id for the '<em><b>EModel Element</b></em>' container reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int FEATURE_DECORATOR__EMODEL_ELEMENT = EcorePackage.EANNOTATION__EMODEL_ELEMENT;
-
- /**
- * The feature id for the '<em><b>Contents</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int FEATURE_DECORATOR__CONTENTS = EcorePackage.EANNOTATION__CONTENTS;
-
- /**
- * The feature id for the '<em><b>References</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int FEATURE_DECORATOR__REFERENCES = EcorePackage.EANNOTATION__REFERENCES;
-
- /**
- * The feature id for the '<em><b>Display Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int FEATURE_DECORATOR__DISPLAY_NAME = EcorePackage.EANNOTATION_FEATURE_COUNT + 0;
- /**
- * The feature id for the '<em><b>Short Description</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int FEATURE_DECORATOR__SHORT_DESCRIPTION = EcorePackage.EANNOTATION_FEATURE_COUNT + 1;
- /**
- * The feature id for the '<em><b>Category</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int FEATURE_DECORATOR__CATEGORY = EcorePackage.EANNOTATION_FEATURE_COUNT + 2;
- /**
- * The feature id for the '<em><b>Expert</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int FEATURE_DECORATOR__EXPERT = EcorePackage.EANNOTATION_FEATURE_COUNT + 3;
-
- /**
- * The feature id for the '<em><b>Hidden</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int FEATURE_DECORATOR__HIDDEN = EcorePackage.EANNOTATION_FEATURE_COUNT + 4;
-
- /**
- * The feature id for the '<em><b>Preferred</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int FEATURE_DECORATOR__PREFERRED = EcorePackage.EANNOTATION_FEATURE_COUNT + 5;
-
- /**
- * The feature id for the '<em><b>Merge Introspection</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int FEATURE_DECORATOR__MERGE_INTROSPECTION = EcorePackage.EANNOTATION_FEATURE_COUNT + 6;
- /**
- * The feature id for the '<em><b>Attributes Explicit Empty</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int FEATURE_DECORATOR__ATTRIBUTES_EXPLICIT_EMPTY = EcorePackage.EANNOTATION_FEATURE_COUNT + 7;
-
- /**
- * The feature id for the '<em><b>Implicitly Set Bits</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int FEATURE_DECORATOR__IMPLICITLY_SET_BITS = EcorePackage.EANNOTATION_FEATURE_COUNT + 8;
-
- /**
- * The feature id for the '<em><b>Implicit Decorator Flag</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int FEATURE_DECORATOR__IMPLICIT_DECORATOR_FLAG = EcorePackage.EANNOTATION_FEATURE_COUNT + 9;
-
- /**
- * The meta object id for the '{@link org.eclipse.jem.internal.beaninfo.impl.EventSetDecoratorImpl <em>Event Set Decorator</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.beaninfo.impl.EventSetDecoratorImpl
- * @see org.eclipse.jem.internal.beaninfo.impl.BeaninfoPackageImpl#getEventSetDecorator()
- * @generated
- */
- int EVENT_SET_DECORATOR = 2;
- /**
- * The meta object id for the '{@link org.eclipse.jem.internal.beaninfo.impl.MethodProxyImpl <em>Method Proxy</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.beaninfo.impl.MethodProxyImpl
- * @see org.eclipse.jem.internal.beaninfo.impl.BeaninfoPackageImpl#getMethodProxy()
- * @generated
- */
- int METHOD_PROXY = 7;
- /**
- * The meta object id for the '{@link org.eclipse.jem.internal.beaninfo.impl.PropertyDecoratorImpl <em>Property Decorator</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.beaninfo.impl.PropertyDecoratorImpl
- * @see org.eclipse.jem.internal.beaninfo.impl.BeaninfoPackageImpl#getPropertyDecorator()
- * @generated
- */
- int PROPERTY_DECORATOR = 5;
- /**
- * The meta object id for the '{@link org.eclipse.jem.internal.beaninfo.impl.IndexedPropertyDecoratorImpl <em>Indexed Property Decorator</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.beaninfo.impl.IndexedPropertyDecoratorImpl
- * @see org.eclipse.jem.internal.beaninfo.impl.BeaninfoPackageImpl#getIndexedPropertyDecorator()
- * @generated
- */
- int INDEXED_PROPERTY_DECORATOR = 6;
- /**
- * The meta object id for the '{@link org.eclipse.jem.internal.beaninfo.impl.BeanDecoratorImpl <em>Bean Decorator</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.beaninfo.impl.BeanDecoratorImpl
- * @see org.eclipse.jem.internal.beaninfo.impl.BeaninfoPackageImpl#getBeanDecorator()
- * @generated
- */
- int BEAN_DECORATOR = 1;
- /**
- * The meta object id for the '{@link org.eclipse.jem.internal.beaninfo.impl.MethodDecoratorImpl <em>Method Decorator</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.beaninfo.impl.MethodDecoratorImpl
- * @see org.eclipse.jem.internal.beaninfo.impl.BeaninfoPackageImpl#getMethodDecorator()
- * @generated
- */
- int METHOD_DECORATOR = 3;
- /**
- * The meta object id for the '{@link org.eclipse.jem.internal.beaninfo.impl.ParameterDecoratorImpl <em>Parameter Decorator</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.beaninfo.impl.ParameterDecoratorImpl
- * @see org.eclipse.jem.internal.beaninfo.impl.BeaninfoPackageImpl#getParameterDecorator()
- * @generated
- */
- int PARAMETER_DECORATOR = 4;
- /**
- * The meta object id for the '<em>Feature Attribute Value</em>' data type.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.beaninfo.common.FeatureAttributeValue
- * @see org.eclipse.jem.internal.beaninfo.impl.BeaninfoPackageImpl#getFeatureAttributeValue()
- * @generated
- */
- int FEATURE_ATTRIBUTE_VALUE = 11;
- /**
- * The feature id for the '<em><b>Attributes</b></em>' map.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int FEATURE_DECORATOR__ATTRIBUTES = EcorePackage.EANNOTATION_FEATURE_COUNT + 10;
- /**
- * The number of structural features of the the '<em>Feature Decorator</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int FEATURE_DECORATOR_FEATURE_COUNT = EcorePackage.EANNOTATION_FEATURE_COUNT + 11;
-
- /**
- * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_DECORATOR__EANNOTATIONS = FEATURE_DECORATOR__EANNOTATIONS;
-
- /**
- * The feature id for the '<em><b>Source</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_DECORATOR__SOURCE = FEATURE_DECORATOR__SOURCE;
-
- /**
- * The feature id for the '<em><b>Details</b></em>' map.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_DECORATOR__DETAILS = FEATURE_DECORATOR__DETAILS;
-
- /**
- * The feature id for the '<em><b>EModel Element</b></em>' container reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_DECORATOR__EMODEL_ELEMENT = FEATURE_DECORATOR__EMODEL_ELEMENT;
-
- /**
- * The feature id for the '<em><b>Contents</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_DECORATOR__CONTENTS = FEATURE_DECORATOR__CONTENTS;
-
- /**
- * The feature id for the '<em><b>References</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_DECORATOR__REFERENCES = FEATURE_DECORATOR__REFERENCES;
-
- /**
- * The feature id for the '<em><b>Display Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_DECORATOR__DISPLAY_NAME = FEATURE_DECORATOR__DISPLAY_NAME;
- /**
- * The feature id for the '<em><b>Short Description</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_DECORATOR__SHORT_DESCRIPTION = FEATURE_DECORATOR__SHORT_DESCRIPTION;
- /**
- * The feature id for the '<em><b>Category</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_DECORATOR__CATEGORY = FEATURE_DECORATOR__CATEGORY;
- /**
- * The feature id for the '<em><b>Expert</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_DECORATOR__EXPERT = FEATURE_DECORATOR__EXPERT;
-
- /**
- * The feature id for the '<em><b>Hidden</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_DECORATOR__HIDDEN = FEATURE_DECORATOR__HIDDEN;
-
- /**
- * The feature id for the '<em><b>Preferred</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_DECORATOR__PREFERRED = FEATURE_DECORATOR__PREFERRED;
-
- /**
- * The feature id for the '<em><b>Merge Introspection</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_DECORATOR__MERGE_INTROSPECTION = FEATURE_DECORATOR__MERGE_INTROSPECTION;
- /**
- * The feature id for the '<em><b>Attributes Explicit Empty</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_DECORATOR__ATTRIBUTES_EXPLICIT_EMPTY = FEATURE_DECORATOR__ATTRIBUTES_EXPLICIT_EMPTY;
-
- /**
- * The feature id for the '<em><b>Implicitly Set Bits</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_DECORATOR__IMPLICITLY_SET_BITS = FEATURE_DECORATOR__IMPLICITLY_SET_BITS;
-
- /**
- * The feature id for the '<em><b>Implicit Decorator Flag</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_DECORATOR__IMPLICIT_DECORATOR_FLAG = FEATURE_DECORATOR__IMPLICIT_DECORATOR_FLAG;
-
- /**
- * The feature id for the '<em><b>Attributes</b></em>' map.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_DECORATOR__ATTRIBUTES = FEATURE_DECORATOR__ATTRIBUTES;
- /**
- * The feature id for the '<em><b>Merge Super Properties</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_DECORATOR__MERGE_SUPER_PROPERTIES = FEATURE_DECORATOR_FEATURE_COUNT + 0;
- /**
- * The feature id for the '<em><b>Merge Super Methods</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_DECORATOR__MERGE_SUPER_METHODS = FEATURE_DECORATOR_FEATURE_COUNT + 1;
-
- /**
- * The feature id for the '<em><b>Merge Super Events</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_DECORATOR__MERGE_SUPER_EVENTS = FEATURE_DECORATOR_FEATURE_COUNT + 2;
- /**
- * The feature id for the '<em><b>Introspect Properties</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_DECORATOR__INTROSPECT_PROPERTIES = FEATURE_DECORATOR_FEATURE_COUNT + 3;
- /**
- * The feature id for the '<em><b>Introspect Methods</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_DECORATOR__INTROSPECT_METHODS = FEATURE_DECORATOR_FEATURE_COUNT + 4;
-
- /**
- * The feature id for the '<em><b>Introspect Events</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_DECORATOR__INTROSPECT_EVENTS = FEATURE_DECORATOR_FEATURE_COUNT + 5;
- /**
- * The feature id for the '<em><b>Do Beaninfo</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_DECORATOR__DO_BEANINFO = FEATURE_DECORATOR_FEATURE_COUNT + 6;
- /**
- * The feature id for the '<em><b>Not Inherited Property Names</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_DECORATOR__NOT_INHERITED_PROPERTY_NAMES = FEATURE_DECORATOR_FEATURE_COUNT + 7;
-
- /**
- * The feature id for the '<em><b>Not Inherited Method Names</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_DECORATOR__NOT_INHERITED_METHOD_NAMES = FEATURE_DECORATOR_FEATURE_COUNT + 8;
-
- /**
- * The feature id for the '<em><b>Not Inherited Event Names</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_DECORATOR__NOT_INHERITED_EVENT_NAMES = FEATURE_DECORATOR_FEATURE_COUNT + 9;
-
- /**
- * The feature id for the '<em><b>Customizer Class</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_DECORATOR__CUSTOMIZER_CLASS = FEATURE_DECORATOR_FEATURE_COUNT + 10;
- /**
- * The number of structural features of the the '<em>Bean Decorator</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_DECORATOR_FEATURE_COUNT = FEATURE_DECORATOR_FEATURE_COUNT + 11;
-
- /**
- * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EVENT_SET_DECORATOR__EANNOTATIONS = FEATURE_DECORATOR__EANNOTATIONS;
-
- /**
- * The feature id for the '<em><b>Source</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EVENT_SET_DECORATOR__SOURCE = FEATURE_DECORATOR__SOURCE;
-
- /**
- * The feature id for the '<em><b>Details</b></em>' map.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EVENT_SET_DECORATOR__DETAILS = FEATURE_DECORATOR__DETAILS;
-
- /**
- * The feature id for the '<em><b>EModel Element</b></em>' container reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EVENT_SET_DECORATOR__EMODEL_ELEMENT = FEATURE_DECORATOR__EMODEL_ELEMENT;
-
- /**
- * The feature id for the '<em><b>Contents</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EVENT_SET_DECORATOR__CONTENTS = FEATURE_DECORATOR__CONTENTS;
-
- /**
- * The feature id for the '<em><b>References</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EVENT_SET_DECORATOR__REFERENCES = FEATURE_DECORATOR__REFERENCES;
-
- /**
- * The feature id for the '<em><b>Display Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EVENT_SET_DECORATOR__DISPLAY_NAME = FEATURE_DECORATOR__DISPLAY_NAME;
- /**
- * The feature id for the '<em><b>Short Description</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EVENT_SET_DECORATOR__SHORT_DESCRIPTION = FEATURE_DECORATOR__SHORT_DESCRIPTION;
- /**
- * The feature id for the '<em><b>Category</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EVENT_SET_DECORATOR__CATEGORY = FEATURE_DECORATOR__CATEGORY;
- /**
- * The feature id for the '<em><b>Expert</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EVENT_SET_DECORATOR__EXPERT = FEATURE_DECORATOR__EXPERT;
-
- /**
- * The feature id for the '<em><b>Hidden</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EVENT_SET_DECORATOR__HIDDEN = FEATURE_DECORATOR__HIDDEN;
-
- /**
- * The feature id for the '<em><b>Preferred</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EVENT_SET_DECORATOR__PREFERRED = FEATURE_DECORATOR__PREFERRED;
-
- /**
- * The feature id for the '<em><b>Merge Introspection</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EVENT_SET_DECORATOR__MERGE_INTROSPECTION = FEATURE_DECORATOR__MERGE_INTROSPECTION;
- /**
- * The feature id for the '<em><b>Attributes Explicit Empty</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EVENT_SET_DECORATOR__ATTRIBUTES_EXPLICIT_EMPTY = FEATURE_DECORATOR__ATTRIBUTES_EXPLICIT_EMPTY;
-
- /**
- * The feature id for the '<em><b>Implicitly Set Bits</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EVENT_SET_DECORATOR__IMPLICITLY_SET_BITS = FEATURE_DECORATOR__IMPLICITLY_SET_BITS;
-
- /**
- * The feature id for the '<em><b>Implicit Decorator Flag</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EVENT_SET_DECORATOR__IMPLICIT_DECORATOR_FLAG = FEATURE_DECORATOR__IMPLICIT_DECORATOR_FLAG;
-
- /**
- * The feature id for the '<em><b>Attributes</b></em>' map.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EVENT_SET_DECORATOR__ATTRIBUTES = FEATURE_DECORATOR__ATTRIBUTES;
- /**
- * The feature id for the '<em><b>In Default Event Set</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EVENT_SET_DECORATOR__IN_DEFAULT_EVENT_SET = FEATURE_DECORATOR_FEATURE_COUNT + 0;
-
- /**
- * The feature id for the '<em><b>Unicast</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EVENT_SET_DECORATOR__UNICAST = FEATURE_DECORATOR_FEATURE_COUNT + 1;
-
- /**
- * The feature id for the '<em><b>Listener Methods Explicit Empty</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EVENT_SET_DECORATOR__LISTENER_METHODS_EXPLICIT_EMPTY = FEATURE_DECORATOR_FEATURE_COUNT + 2;
-
- /**
- * The meta object id for the '{@link org.eclipse.jem.internal.beaninfo.impl.BeanEventImpl <em>Bean Event</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.beaninfo.impl.BeanEventImpl
- * @see org.eclipse.jem.internal.beaninfo.impl.BeaninfoPackageImpl#getBeanEvent()
- * @generated
- */
- int BEAN_EVENT = 8;
- /**
- * The feature id for the '<em><b>Add Listener Method</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EVENT_SET_DECORATOR__ADD_LISTENER_METHOD = FEATURE_DECORATOR_FEATURE_COUNT + 3;
- /**
- * The feature id for the '<em><b>Listener Methods</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EVENT_SET_DECORATOR__LISTENER_METHODS = FEATURE_DECORATOR_FEATURE_COUNT + 4;
- /**
- * The feature id for the '<em><b>Listener Type</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EVENT_SET_DECORATOR__LISTENER_TYPE = FEATURE_DECORATOR_FEATURE_COUNT + 5;
- /**
- * The feature id for the '<em><b>Remove Listener Method</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EVENT_SET_DECORATOR__REMOVE_LISTENER_METHOD = FEATURE_DECORATOR_FEATURE_COUNT + 6;
- /**
- * The feature id for the '<em><b>Event Adapter Class</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EVENT_SET_DECORATOR__EVENT_ADAPTER_CLASS = FEATURE_DECORATOR_FEATURE_COUNT + 7;
-
- /**
- * The feature id for the '<em><b>Ser List Mthd</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EVENT_SET_DECORATOR__SER_LIST_MTHD = FEATURE_DECORATOR_FEATURE_COUNT + 8;
-
- /**
- * The number of structural features of the the '<em>Event Set Decorator</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EVENT_SET_DECORATOR_FEATURE_COUNT = FEATURE_DECORATOR_FEATURE_COUNT + 9;
-
- /**
- * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD_DECORATOR__EANNOTATIONS = FEATURE_DECORATOR__EANNOTATIONS;
-
- /**
- * The feature id for the '<em><b>Source</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD_DECORATOR__SOURCE = FEATURE_DECORATOR__SOURCE;
-
- /**
- * The feature id for the '<em><b>Details</b></em>' map.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD_DECORATOR__DETAILS = FEATURE_DECORATOR__DETAILS;
-
- /**
- * The feature id for the '<em><b>EModel Element</b></em>' container reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD_DECORATOR__EMODEL_ELEMENT = FEATURE_DECORATOR__EMODEL_ELEMENT;
-
- /**
- * The feature id for the '<em><b>Contents</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD_DECORATOR__CONTENTS = FEATURE_DECORATOR__CONTENTS;
-
- /**
- * The feature id for the '<em><b>References</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD_DECORATOR__REFERENCES = FEATURE_DECORATOR__REFERENCES;
-
- /**
- * The feature id for the '<em><b>Display Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD_DECORATOR__DISPLAY_NAME = FEATURE_DECORATOR__DISPLAY_NAME;
- /**
- * The feature id for the '<em><b>Short Description</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD_DECORATOR__SHORT_DESCRIPTION = FEATURE_DECORATOR__SHORT_DESCRIPTION;
- /**
- * The feature id for the '<em><b>Category</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD_DECORATOR__CATEGORY = FEATURE_DECORATOR__CATEGORY;
- /**
- * The feature id for the '<em><b>Expert</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD_DECORATOR__EXPERT = FEATURE_DECORATOR__EXPERT;
-
- /**
- * The feature id for the '<em><b>Hidden</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD_DECORATOR__HIDDEN = FEATURE_DECORATOR__HIDDEN;
-
- /**
- * The feature id for the '<em><b>Preferred</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD_DECORATOR__PREFERRED = FEATURE_DECORATOR__PREFERRED;
-
- /**
- * The feature id for the '<em><b>Merge Introspection</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD_DECORATOR__MERGE_INTROSPECTION = FEATURE_DECORATOR__MERGE_INTROSPECTION;
- /**
- * The feature id for the '<em><b>Attributes Explicit Empty</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD_DECORATOR__ATTRIBUTES_EXPLICIT_EMPTY = FEATURE_DECORATOR__ATTRIBUTES_EXPLICIT_EMPTY;
-
- /**
- * The feature id for the '<em><b>Implicitly Set Bits</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD_DECORATOR__IMPLICITLY_SET_BITS = FEATURE_DECORATOR__IMPLICITLY_SET_BITS;
-
- /**
- * The feature id for the '<em><b>Implicit Decorator Flag</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD_DECORATOR__IMPLICIT_DECORATOR_FLAG = FEATURE_DECORATOR__IMPLICIT_DECORATOR_FLAG;
-
- /**
- * The feature id for the '<em><b>Attributes</b></em>' map.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD_DECORATOR__ATTRIBUTES = FEATURE_DECORATOR__ATTRIBUTES;
- /**
- * The feature id for the '<em><b>Parms Explicit Empty</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD_DECORATOR__PARMS_EXPLICIT_EMPTY = FEATURE_DECORATOR_FEATURE_COUNT + 0;
-
- /**
- * The feature id for the '<em><b>Parameter Descriptors</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD_DECORATOR__PARAMETER_DESCRIPTORS = FEATURE_DECORATOR_FEATURE_COUNT + 1;
- /**
- * The feature id for the '<em><b>Ser Parm Desc</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD_DECORATOR__SER_PARM_DESC = FEATURE_DECORATOR_FEATURE_COUNT + 2;
-
- /**
- * The number of structural features of the the '<em>Method Decorator</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD_DECORATOR_FEATURE_COUNT = FEATURE_DECORATOR_FEATURE_COUNT + 3;
-
- /**
- * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PARAMETER_DECORATOR__EANNOTATIONS = FEATURE_DECORATOR__EANNOTATIONS;
-
- /**
- * The feature id for the '<em><b>Source</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PARAMETER_DECORATOR__SOURCE = FEATURE_DECORATOR__SOURCE;
-
- /**
- * The feature id for the '<em><b>Details</b></em>' map.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PARAMETER_DECORATOR__DETAILS = FEATURE_DECORATOR__DETAILS;
-
- /**
- * The feature id for the '<em><b>EModel Element</b></em>' container reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PARAMETER_DECORATOR__EMODEL_ELEMENT = FEATURE_DECORATOR__EMODEL_ELEMENT;
-
- /**
- * The feature id for the '<em><b>Contents</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PARAMETER_DECORATOR__CONTENTS = FEATURE_DECORATOR__CONTENTS;
-
- /**
- * The feature id for the '<em><b>References</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PARAMETER_DECORATOR__REFERENCES = FEATURE_DECORATOR__REFERENCES;
-
- /**
- * The feature id for the '<em><b>Display Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PARAMETER_DECORATOR__DISPLAY_NAME = FEATURE_DECORATOR__DISPLAY_NAME;
- /**
- * The feature id for the '<em><b>Short Description</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PARAMETER_DECORATOR__SHORT_DESCRIPTION = FEATURE_DECORATOR__SHORT_DESCRIPTION;
- /**
- * The feature id for the '<em><b>Category</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PARAMETER_DECORATOR__CATEGORY = FEATURE_DECORATOR__CATEGORY;
- /**
- * The feature id for the '<em><b>Expert</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PARAMETER_DECORATOR__EXPERT = FEATURE_DECORATOR__EXPERT;
-
- /**
- * The feature id for the '<em><b>Hidden</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PARAMETER_DECORATOR__HIDDEN = FEATURE_DECORATOR__HIDDEN;
-
- /**
- * The feature id for the '<em><b>Preferred</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PARAMETER_DECORATOR__PREFERRED = FEATURE_DECORATOR__PREFERRED;
-
- /**
- * The feature id for the '<em><b>Merge Introspection</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PARAMETER_DECORATOR__MERGE_INTROSPECTION = FEATURE_DECORATOR__MERGE_INTROSPECTION;
- /**
- * The feature id for the '<em><b>Attributes Explicit Empty</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PARAMETER_DECORATOR__ATTRIBUTES_EXPLICIT_EMPTY = FEATURE_DECORATOR__ATTRIBUTES_EXPLICIT_EMPTY;
-
- /**
- * The feature id for the '<em><b>Implicitly Set Bits</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PARAMETER_DECORATOR__IMPLICITLY_SET_BITS = FEATURE_DECORATOR__IMPLICITLY_SET_BITS;
-
- /**
- * The feature id for the '<em><b>Implicit Decorator Flag</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PARAMETER_DECORATOR__IMPLICIT_DECORATOR_FLAG = FEATURE_DECORATOR__IMPLICIT_DECORATOR_FLAG;
-
- /**
- * The feature id for the '<em><b>Attributes</b></em>' map.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PARAMETER_DECORATOR__ATTRIBUTES = FEATURE_DECORATOR__ATTRIBUTES;
- /**
- * The feature id for the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PARAMETER_DECORATOR__NAME = FEATURE_DECORATOR_FEATURE_COUNT + 0;
- /**
- * The feature id for the '<em><b>Parameter</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PARAMETER_DECORATOR__PARAMETER = FEATURE_DECORATOR_FEATURE_COUNT + 1;
- /**
- * The number of structural features of the the '<em>Parameter Decorator</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PARAMETER_DECORATOR_FEATURE_COUNT = FEATURE_DECORATOR_FEATURE_COUNT + 2;
-
- /**
- * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PROPERTY_DECORATOR__EANNOTATIONS = FEATURE_DECORATOR__EANNOTATIONS;
-
- /**
- * The feature id for the '<em><b>Source</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PROPERTY_DECORATOR__SOURCE = FEATURE_DECORATOR__SOURCE;
-
- /**
- * The feature id for the '<em><b>Details</b></em>' map.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PROPERTY_DECORATOR__DETAILS = FEATURE_DECORATOR__DETAILS;
-
- /**
- * The feature id for the '<em><b>EModel Element</b></em>' container reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PROPERTY_DECORATOR__EMODEL_ELEMENT = FEATURE_DECORATOR__EMODEL_ELEMENT;
-
- /**
- * The feature id for the '<em><b>Contents</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PROPERTY_DECORATOR__CONTENTS = FEATURE_DECORATOR__CONTENTS;
-
- /**
- * The feature id for the '<em><b>References</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PROPERTY_DECORATOR__REFERENCES = FEATURE_DECORATOR__REFERENCES;
-
- /**
- * The feature id for the '<em><b>Display Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PROPERTY_DECORATOR__DISPLAY_NAME = FEATURE_DECORATOR__DISPLAY_NAME;
- /**
- * The feature id for the '<em><b>Short Description</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PROPERTY_DECORATOR__SHORT_DESCRIPTION = FEATURE_DECORATOR__SHORT_DESCRIPTION;
- /**
- * The feature id for the '<em><b>Category</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PROPERTY_DECORATOR__CATEGORY = FEATURE_DECORATOR__CATEGORY;
- /**
- * The feature id for the '<em><b>Expert</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PROPERTY_DECORATOR__EXPERT = FEATURE_DECORATOR__EXPERT;
-
- /**
- * The feature id for the '<em><b>Hidden</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PROPERTY_DECORATOR__HIDDEN = FEATURE_DECORATOR__HIDDEN;
-
- /**
- * The feature id for the '<em><b>Preferred</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PROPERTY_DECORATOR__PREFERRED = FEATURE_DECORATOR__PREFERRED;
-
- /**
- * The feature id for the '<em><b>Merge Introspection</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PROPERTY_DECORATOR__MERGE_INTROSPECTION = FEATURE_DECORATOR__MERGE_INTROSPECTION;
- /**
- * The feature id for the '<em><b>Attributes Explicit Empty</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PROPERTY_DECORATOR__ATTRIBUTES_EXPLICIT_EMPTY = FEATURE_DECORATOR__ATTRIBUTES_EXPLICIT_EMPTY;
-
- /**
- * The feature id for the '<em><b>Implicitly Set Bits</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PROPERTY_DECORATOR__IMPLICITLY_SET_BITS = FEATURE_DECORATOR__IMPLICITLY_SET_BITS;
-
- /**
- * The feature id for the '<em><b>Implicit Decorator Flag</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PROPERTY_DECORATOR__IMPLICIT_DECORATOR_FLAG = FEATURE_DECORATOR__IMPLICIT_DECORATOR_FLAG;
-
- /**
- * The feature id for the '<em><b>Attributes</b></em>' map.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PROPERTY_DECORATOR__ATTRIBUTES = FEATURE_DECORATOR__ATTRIBUTES;
- /**
- * The feature id for the '<em><b>Bound</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PROPERTY_DECORATOR__BOUND = FEATURE_DECORATOR_FEATURE_COUNT + 0;
-
- /**
- * The feature id for the '<em><b>Constrained</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PROPERTY_DECORATOR__CONSTRAINED = FEATURE_DECORATOR_FEATURE_COUNT + 1;
-
- /**
- * The feature id for the '<em><b>Design Time</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PROPERTY_DECORATOR__DESIGN_TIME = FEATURE_DECORATOR_FEATURE_COUNT + 2;
-
- /**
- * The feature id for the '<em><b>Always Incompatible</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PROPERTY_DECORATOR__ALWAYS_INCOMPATIBLE = FEATURE_DECORATOR_FEATURE_COUNT + 3;
-
- /**
- * The feature id for the '<em><b>Filter Flags</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PROPERTY_DECORATOR__FILTER_FLAGS = FEATURE_DECORATOR_FEATURE_COUNT + 4;
- /**
- * The feature id for the '<em><b>Field Read Only</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PROPERTY_DECORATOR__FIELD_READ_ONLY = FEATURE_DECORATOR_FEATURE_COUNT + 5;
-
- /**
- * The feature id for the '<em><b>Property Editor Class</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PROPERTY_DECORATOR__PROPERTY_EDITOR_CLASS = FEATURE_DECORATOR_FEATURE_COUNT + 6;
- /**
- * The feature id for the '<em><b>Read Method</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PROPERTY_DECORATOR__READ_METHOD = FEATURE_DECORATOR_FEATURE_COUNT + 7;
- /**
- * The feature id for the '<em><b>Write Method</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PROPERTY_DECORATOR__WRITE_METHOD = FEATURE_DECORATOR_FEATURE_COUNT + 8;
- /**
- * The feature id for the '<em><b>Field</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PROPERTY_DECORATOR__FIELD = FEATURE_DECORATOR_FEATURE_COUNT + 9;
-
- /**
- * The number of structural features of the the '<em>Property Decorator</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PROPERTY_DECORATOR_FEATURE_COUNT = FEATURE_DECORATOR_FEATURE_COUNT + 10;
-
- /**
- * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INDEXED_PROPERTY_DECORATOR__EANNOTATIONS = PROPERTY_DECORATOR__EANNOTATIONS;
-
- /**
- * The feature id for the '<em><b>Source</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INDEXED_PROPERTY_DECORATOR__SOURCE = PROPERTY_DECORATOR__SOURCE;
-
- /**
- * The feature id for the '<em><b>Details</b></em>' map.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INDEXED_PROPERTY_DECORATOR__DETAILS = PROPERTY_DECORATOR__DETAILS;
-
- /**
- * The feature id for the '<em><b>EModel Element</b></em>' container reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INDEXED_PROPERTY_DECORATOR__EMODEL_ELEMENT = PROPERTY_DECORATOR__EMODEL_ELEMENT;
-
- /**
- * The feature id for the '<em><b>Contents</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INDEXED_PROPERTY_DECORATOR__CONTENTS = PROPERTY_DECORATOR__CONTENTS;
-
- /**
- * The feature id for the '<em><b>References</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INDEXED_PROPERTY_DECORATOR__REFERENCES = PROPERTY_DECORATOR__REFERENCES;
-
- /**
- * The feature id for the '<em><b>Display Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INDEXED_PROPERTY_DECORATOR__DISPLAY_NAME = PROPERTY_DECORATOR__DISPLAY_NAME;
- /**
- * The feature id for the '<em><b>Short Description</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INDEXED_PROPERTY_DECORATOR__SHORT_DESCRIPTION = PROPERTY_DECORATOR__SHORT_DESCRIPTION;
- /**
- * The feature id for the '<em><b>Category</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INDEXED_PROPERTY_DECORATOR__CATEGORY = PROPERTY_DECORATOR__CATEGORY;
- /**
- * The feature id for the '<em><b>Expert</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INDEXED_PROPERTY_DECORATOR__EXPERT = PROPERTY_DECORATOR__EXPERT;
-
- /**
- * The feature id for the '<em><b>Hidden</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INDEXED_PROPERTY_DECORATOR__HIDDEN = PROPERTY_DECORATOR__HIDDEN;
-
- /**
- * The feature id for the '<em><b>Preferred</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INDEXED_PROPERTY_DECORATOR__PREFERRED = PROPERTY_DECORATOR__PREFERRED;
-
- /**
- * The feature id for the '<em><b>Merge Introspection</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INDEXED_PROPERTY_DECORATOR__MERGE_INTROSPECTION = PROPERTY_DECORATOR__MERGE_INTROSPECTION;
- /**
- * The feature id for the '<em><b>Attributes Explicit Empty</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INDEXED_PROPERTY_DECORATOR__ATTRIBUTES_EXPLICIT_EMPTY = PROPERTY_DECORATOR__ATTRIBUTES_EXPLICIT_EMPTY;
-
- /**
- * The feature id for the '<em><b>Implicitly Set Bits</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INDEXED_PROPERTY_DECORATOR__IMPLICITLY_SET_BITS = PROPERTY_DECORATOR__IMPLICITLY_SET_BITS;
-
- /**
- * The feature id for the '<em><b>Implicit Decorator Flag</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INDEXED_PROPERTY_DECORATOR__IMPLICIT_DECORATOR_FLAG = PROPERTY_DECORATOR__IMPLICIT_DECORATOR_FLAG;
-
- /**
- * The feature id for the '<em><b>Attributes</b></em>' map.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INDEXED_PROPERTY_DECORATOR__ATTRIBUTES = PROPERTY_DECORATOR__ATTRIBUTES;
- /**
- * The feature id for the '<em><b>Bound</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INDEXED_PROPERTY_DECORATOR__BOUND = PROPERTY_DECORATOR__BOUND;
-
- /**
- * The feature id for the '<em><b>Constrained</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INDEXED_PROPERTY_DECORATOR__CONSTRAINED = PROPERTY_DECORATOR__CONSTRAINED;
-
- /**
- * The feature id for the '<em><b>Design Time</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INDEXED_PROPERTY_DECORATOR__DESIGN_TIME = PROPERTY_DECORATOR__DESIGN_TIME;
-
- /**
- * The feature id for the '<em><b>Always Incompatible</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INDEXED_PROPERTY_DECORATOR__ALWAYS_INCOMPATIBLE = PROPERTY_DECORATOR__ALWAYS_INCOMPATIBLE;
-
- /**
- * The feature id for the '<em><b>Filter Flags</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INDEXED_PROPERTY_DECORATOR__FILTER_FLAGS = PROPERTY_DECORATOR__FILTER_FLAGS;
- /**
- * The feature id for the '<em><b>Field Read Only</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INDEXED_PROPERTY_DECORATOR__FIELD_READ_ONLY = PROPERTY_DECORATOR__FIELD_READ_ONLY;
-
- /**
- * The feature id for the '<em><b>Property Editor Class</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INDEXED_PROPERTY_DECORATOR__PROPERTY_EDITOR_CLASS = PROPERTY_DECORATOR__PROPERTY_EDITOR_CLASS;
- /**
- * The feature id for the '<em><b>Read Method</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INDEXED_PROPERTY_DECORATOR__READ_METHOD = PROPERTY_DECORATOR__READ_METHOD;
- /**
- * The feature id for the '<em><b>Write Method</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INDEXED_PROPERTY_DECORATOR__WRITE_METHOD = PROPERTY_DECORATOR__WRITE_METHOD;
- /**
- * The feature id for the '<em><b>Field</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INDEXED_PROPERTY_DECORATOR__FIELD = PROPERTY_DECORATOR__FIELD;
-
- /**
- * The feature id for the '<em><b>Indexed Read Method</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INDEXED_PROPERTY_DECORATOR__INDEXED_READ_METHOD = PROPERTY_DECORATOR_FEATURE_COUNT + 0;
- /**
- * The feature id for the '<em><b>Indexed Write Method</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INDEXED_PROPERTY_DECORATOR__INDEXED_WRITE_METHOD = PROPERTY_DECORATOR_FEATURE_COUNT + 1;
- /**
- * The number of structural features of the the '<em>Indexed Property Decorator</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INDEXED_PROPERTY_DECORATOR_FEATURE_COUNT = PROPERTY_DECORATOR_FEATURE_COUNT + 2;
-
- /**
- * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD_PROXY__EANNOTATIONS = EcorePackage.EOPERATION__EANNOTATIONS;
-
- /**
- * The feature id for the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD_PROXY__NAME = EcorePackage.EOPERATION__NAME;
- /**
- * The feature id for the '<em><b>Ordered</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD_PROXY__ORDERED = EcorePackage.EOPERATION__ORDERED;
-
- /**
- * The feature id for the '<em><b>Unique</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD_PROXY__UNIQUE = EcorePackage.EOPERATION__UNIQUE;
-
- /**
- * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD_PROXY__LOWER_BOUND = EcorePackage.EOPERATION__LOWER_BOUND;
-
- /**
- * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD_PROXY__UPPER_BOUND = EcorePackage.EOPERATION__UPPER_BOUND;
-
- /**
- * The feature id for the '<em><b>Many</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD_PROXY__MANY = EcorePackage.EOPERATION__MANY;
-
- /**
- * The feature id for the '<em><b>Required</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD_PROXY__REQUIRED = EcorePackage.EOPERATION__REQUIRED;
-
- /**
- * The feature id for the '<em><b>EType</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD_PROXY__ETYPE = EcorePackage.EOPERATION__ETYPE;
-
- /**
- * The feature id for the '<em><b>EContaining Class</b></em>' container reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD_PROXY__ECONTAINING_CLASS = EcorePackage.EOPERATION__ECONTAINING_CLASS;
-
- /**
- * The feature id for the '<em><b>EParameters</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD_PROXY__EPARAMETERS = EcorePackage.EOPERATION__EPARAMETERS;
-
- /**
- * The feature id for the '<em><b>EExceptions</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD_PROXY__EEXCEPTIONS = EcorePackage.EOPERATION__EEXCEPTIONS;
-
- /**
- * The feature id for the '<em><b>Method</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD_PROXY__METHOD = EcorePackage.EOPERATION_FEATURE_COUNT + 0;
- /**
- * The number of structural features of the the '<em>Method Proxy</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD_PROXY_FEATURE_COUNT = EcorePackage.EOPERATION_FEATURE_COUNT + 1;
-
- /**
- * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_EVENT__EANNOTATIONS = JavaRefPackage.JAVA_EVENT__EANNOTATIONS;
-
- /**
- * The feature id for the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_EVENT__NAME = JavaRefPackage.JAVA_EVENT__NAME;
- /**
- * The feature id for the '<em><b>Ordered</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_EVENT__ORDERED = JavaRefPackage.JAVA_EVENT__ORDERED;
-
- /**
- * The feature id for the '<em><b>Unique</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_EVENT__UNIQUE = JavaRefPackage.JAVA_EVENT__UNIQUE;
-
- /**
- * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_EVENT__LOWER_BOUND = JavaRefPackage.JAVA_EVENT__LOWER_BOUND;
-
- /**
- * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_EVENT__UPPER_BOUND = JavaRefPackage.JAVA_EVENT__UPPER_BOUND;
-
- /**
- * The feature id for the '<em><b>Many</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_EVENT__MANY = JavaRefPackage.JAVA_EVENT__MANY;
-
- /**
- * The feature id for the '<em><b>Required</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_EVENT__REQUIRED = JavaRefPackage.JAVA_EVENT__REQUIRED;
-
- /**
- * The feature id for the '<em><b>EType</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_EVENT__ETYPE = JavaRefPackage.JAVA_EVENT__ETYPE;
-
- /**
- * The feature id for the '<em><b>Changeable</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_EVENT__CHANGEABLE = JavaRefPackage.JAVA_EVENT__CHANGEABLE;
-
- /**
- * The feature id for the '<em><b>Volatile</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_EVENT__VOLATILE = JavaRefPackage.JAVA_EVENT__VOLATILE;
-
- /**
- * The feature id for the '<em><b>Transient</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_EVENT__TRANSIENT = JavaRefPackage.JAVA_EVENT__TRANSIENT;
-
- /**
- * The feature id for the '<em><b>Default Value Literal</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_EVENT__DEFAULT_VALUE_LITERAL = JavaRefPackage.JAVA_EVENT__DEFAULT_VALUE_LITERAL;
-
- /**
- * The feature id for the '<em><b>Default Value</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_EVENT__DEFAULT_VALUE = JavaRefPackage.JAVA_EVENT__DEFAULT_VALUE;
-
- /**
- * The feature id for the '<em><b>Unsettable</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_EVENT__UNSETTABLE = JavaRefPackage.JAVA_EVENT__UNSETTABLE;
-
- /**
- * The feature id for the '<em><b>Derived</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_EVENT__DERIVED = JavaRefPackage.JAVA_EVENT__DERIVED;
-
- /**
- * The feature id for the '<em><b>EContaining Class</b></em>' container reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_EVENT__ECONTAINING_CLASS = JavaRefPackage.JAVA_EVENT__ECONTAINING_CLASS;
-
- /**
- * The number of structural features of the the '<em>Bean Event</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_EVENT_FEATURE_COUNT = JavaRefPackage.JAVA_EVENT_FEATURE_COUNT + 0;
-
-
- /**
- * The meta object id for the '{@link org.eclipse.jem.internal.beaninfo.impl.FeatureAttributeMapEntryImpl <em>Feature Attribute Map Entry</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.beaninfo.impl.FeatureAttributeMapEntryImpl
- * @see org.eclipse.jem.internal.beaninfo.impl.BeaninfoPackageImpl#getFeatureAttributeMapEntry()
- * @generated
- */
- int FEATURE_ATTRIBUTE_MAP_ENTRY = 9;
-
- /**
- * The feature id for the '<em><b>Key</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int FEATURE_ATTRIBUTE_MAP_ENTRY__KEY = 0;
-
- /**
- * The feature id for the '<em><b>Value</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int FEATURE_ATTRIBUTE_MAP_ENTRY__VALUE = 1;
-
- /**
- * The number of structural features of the the '<em>Feature Attribute Map Entry</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int FEATURE_ATTRIBUTE_MAP_ENTRY_FEATURE_COUNT = 2;
-
-
- /**
- * The meta object id for the '{@link org.eclipse.jem.internal.beaninfo.ImplicitItem <em>Implicit Item</em>}' enum.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.beaninfo.ImplicitItem
- * @see org.eclipse.jem.internal.beaninfo.impl.BeaninfoPackageImpl#getImplicitItem()
- * @generated
- */
- int IMPLICIT_ITEM = 10;
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator <em>Feature Decorator</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Feature Decorator</em>'.
- * @see org.eclipse.jem.internal.beaninfo.FeatureDecorator
- * @generated
- */
- EClass getFeatureDecorator();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#getDisplayName <em>Display Name</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Display Name</em>'.
- * @see org.eclipse.jem.internal.beaninfo.FeatureDecorator#getDisplayName()
- * @see #getFeatureDecorator()
- * @generated
- */
- EAttribute getFeatureDecorator_DisplayName();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#getShortDescription <em>Short Description</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Short Description</em>'.
- * @see org.eclipse.jem.internal.beaninfo.FeatureDecorator#getShortDescription()
- * @see #getFeatureDecorator()
- * @generated
- */
- EAttribute getFeatureDecorator_ShortDescription();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#getCategory <em>Category</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Category</em>'.
- * @see org.eclipse.jem.internal.beaninfo.FeatureDecorator#getCategory()
- * @see #getFeatureDecorator()
- * @generated
- */
- EAttribute getFeatureDecorator_Category();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#isExpert <em>Expert</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Expert</em>'.
- * @see org.eclipse.jem.internal.beaninfo.FeatureDecorator#isExpert()
- * @see #getFeatureDecorator()
- * @generated
- */
- EAttribute getFeatureDecorator_Expert();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#isHidden <em>Hidden</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Hidden</em>'.
- * @see org.eclipse.jem.internal.beaninfo.FeatureDecorator#isHidden()
- * @see #getFeatureDecorator()
- * @generated
- */
- EAttribute getFeatureDecorator_Hidden();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#isPreferred <em>Preferred</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Preferred</em>'.
- * @see org.eclipse.jem.internal.beaninfo.FeatureDecorator#isPreferred()
- * @see #getFeatureDecorator()
- * @generated
- */
- EAttribute getFeatureDecorator_Preferred();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#isMergeIntrospection <em>Merge Introspection</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Merge Introspection</em>'.
- * @see org.eclipse.jem.internal.beaninfo.FeatureDecorator#isMergeIntrospection()
- * @see #getFeatureDecorator()
- * @generated
- */
- EAttribute getFeatureDecorator_MergeIntrospection();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#isAttributesExplicitEmpty <em>Attributes Explicit Empty</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Attributes Explicit Empty</em>'.
- * @see org.eclipse.jem.internal.beaninfo.FeatureDecorator#isAttributesExplicitEmpty()
- * @see #getFeatureDecorator()
- * @generated
- */
- EAttribute getFeatureDecorator_AttributesExplicitEmpty();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#getImplicitlySetBits <em>Implicitly Set Bits</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Implicitly Set Bits</em>'.
- * @see org.eclipse.jem.internal.beaninfo.FeatureDecorator#getImplicitlySetBits()
- * @see #getFeatureDecorator()
- * @generated
- */
- EAttribute getFeatureDecorator_ImplicitlySetBits();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#getImplicitDecoratorFlag <em>Implicit Decorator Flag</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Implicit Decorator Flag</em>'.
- * @see org.eclipse.jem.internal.beaninfo.FeatureDecorator#getImplicitDecoratorFlag()
- * @see #getFeatureDecorator()
- * @generated
- */
- EAttribute getFeatureDecorator_ImplicitDecoratorFlag();
-
- /**
- * Returns the meta object for the map '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#getAttributes <em>Attributes</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the map '<em>Attributes</em>'.
- * @see org.eclipse.jem.internal.beaninfo.FeatureDecorator#getAttributes()
- * @see #getFeatureDecorator()
- * @generated
- */
- EReference getFeatureDecorator_Attributes();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator <em>Event Set Decorator</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Event Set Decorator</em>'.
- * @see org.eclipse.jem.internal.beaninfo.EventSetDecorator
- * @generated
- */
- EClass getEventSetDecorator();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#isInDefaultEventSet <em>In Default Event Set</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>In Default Event Set</em>'.
- * @see org.eclipse.jem.internal.beaninfo.EventSetDecorator#isInDefaultEventSet()
- * @see #getEventSetDecorator()
- * @generated
- */
- EAttribute getEventSetDecorator_InDefaultEventSet();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#isUnicast <em>Unicast</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Unicast</em>'.
- * @see org.eclipse.jem.internal.beaninfo.EventSetDecorator#isUnicast()
- * @see #getEventSetDecorator()
- * @generated
- */
- EAttribute getEventSetDecorator_Unicast();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#isListenerMethodsExplicitEmpty <em>Listener Methods Explicit Empty</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Listener Methods Explicit Empty</em>'.
- * @see org.eclipse.jem.internal.beaninfo.EventSetDecorator#isListenerMethodsExplicitEmpty()
- * @see #getEventSetDecorator()
- * @generated
- */
- EAttribute getEventSetDecorator_ListenerMethodsExplicitEmpty();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#getAddListenerMethod <em>Add Listener Method</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Add Listener Method</em>'.
- * @see org.eclipse.jem.internal.beaninfo.EventSetDecorator#getAddListenerMethod()
- * @see #getEventSetDecorator()
- * @generated
- */
- EReference getEventSetDecorator_AddListenerMethod();
-
- /**
- * Returns the meta object for the reference list '{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#getListenerMethods <em>Listener Methods</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference list '<em>Listener Methods</em>'.
- * @see org.eclipse.jem.internal.beaninfo.EventSetDecorator#getListenerMethods()
- * @see #getEventSetDecorator()
- * @generated
- */
- EReference getEventSetDecorator_ListenerMethods();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#getListenerType <em>Listener Type</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Listener Type</em>'.
- * @see org.eclipse.jem.internal.beaninfo.EventSetDecorator#getListenerType()
- * @see #getEventSetDecorator()
- * @generated
- */
- EReference getEventSetDecorator_ListenerType();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#getRemoveListenerMethod <em>Remove Listener Method</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Remove Listener Method</em>'.
- * @see org.eclipse.jem.internal.beaninfo.EventSetDecorator#getRemoveListenerMethod()
- * @see #getEventSetDecorator()
- * @generated
- */
- EReference getEventSetDecorator_RemoveListenerMethod();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#getEventAdapterClass <em>Event Adapter Class</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Event Adapter Class</em>'.
- * @see org.eclipse.jem.internal.beaninfo.EventSetDecorator#getEventAdapterClass()
- * @see #getEventSetDecorator()
- * @generated
- */
- EReference getEventSetDecorator_EventAdapterClass();
-
- /**
- * Returns the meta object for the containment reference list '{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#getSerListMthd <em>Ser List Mthd</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>Ser List Mthd</em>'.
- * @see org.eclipse.jem.internal.beaninfo.EventSetDecorator#getSerListMthd()
- * @see #getEventSetDecorator()
- * @generated
- */
- EReference getEventSetDecorator_SerListMthd();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jem.internal.beaninfo.MethodProxy <em>Method Proxy</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Method Proxy</em>'.
- * @see org.eclipse.jem.internal.beaninfo.MethodProxy
- * @generated
- */
- EClass getMethodProxy();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.jem.internal.beaninfo.MethodProxy#getMethod <em>Method</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Method</em>'.
- * @see org.eclipse.jem.internal.beaninfo.MethodProxy#getMethod()
- * @see #getMethodProxy()
- * @generated
- */
- EReference getMethodProxy_Method();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator <em>Property Decorator</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Property Decorator</em>'.
- * @see org.eclipse.jem.internal.beaninfo.PropertyDecorator
- * @generated
- */
- EClass getPropertyDecorator();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#isBound <em>Bound</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Bound</em>'.
- * @see org.eclipse.jem.internal.beaninfo.PropertyDecorator#isBound()
- * @see #getPropertyDecorator()
- * @generated
- */
- EAttribute getPropertyDecorator_Bound();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#isConstrained <em>Constrained</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Constrained</em>'.
- * @see org.eclipse.jem.internal.beaninfo.PropertyDecorator#isConstrained()
- * @see #getPropertyDecorator()
- * @generated
- */
- EAttribute getPropertyDecorator_Constrained();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#isDesignTime <em>Design Time</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Design Time</em>'.
- * @see org.eclipse.jem.internal.beaninfo.PropertyDecorator#isDesignTime()
- * @see #getPropertyDecorator()
- * @generated
- */
- EAttribute getPropertyDecorator_DesignTime();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#isAlwaysIncompatible <em>Always Incompatible</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Always Incompatible</em>'.
- * @see org.eclipse.jem.internal.beaninfo.PropertyDecorator#isAlwaysIncompatible()
- * @see #getPropertyDecorator()
- * @generated
- */
- EAttribute getPropertyDecorator_AlwaysIncompatible();
-
- /**
- * Returns the meta object for the attribute list '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#getFilterFlags <em>Filter Flags</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute list '<em>Filter Flags</em>'.
- * @see org.eclipse.jem.internal.beaninfo.PropertyDecorator#getFilterFlags()
- * @see #getPropertyDecorator()
- * @generated
- */
- EAttribute getPropertyDecorator_FilterFlags();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#isFieldReadOnly <em>Field Read Only</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Field Read Only</em>'.
- * @see org.eclipse.jem.internal.beaninfo.PropertyDecorator#isFieldReadOnly()
- * @see #getPropertyDecorator()
- * @generated
- */
- EAttribute getPropertyDecorator_FieldReadOnly();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#getPropertyEditorClass <em>Property Editor Class</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Property Editor Class</em>'.
- * @see org.eclipse.jem.internal.beaninfo.PropertyDecorator#getPropertyEditorClass()
- * @see #getPropertyDecorator()
- * @generated
- */
- EReference getPropertyDecorator_PropertyEditorClass();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#getReadMethod <em>Read Method</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Read Method</em>'.
- * @see org.eclipse.jem.internal.beaninfo.PropertyDecorator#getReadMethod()
- * @see #getPropertyDecorator()
- * @generated
- */
- EReference getPropertyDecorator_ReadMethod();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#getWriteMethod <em>Write Method</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Write Method</em>'.
- * @see org.eclipse.jem.internal.beaninfo.PropertyDecorator#getWriteMethod()
- * @see #getPropertyDecorator()
- * @generated
- */
- EReference getPropertyDecorator_WriteMethod();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#getField <em>Field</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Field</em>'.
- * @see org.eclipse.jem.internal.beaninfo.PropertyDecorator#getField()
- * @see #getPropertyDecorator()
- * @generated
- */
- EReference getPropertyDecorator_Field();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jem.internal.beaninfo.IndexedPropertyDecorator <em>Indexed Property Decorator</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Indexed Property Decorator</em>'.
- * @see org.eclipse.jem.internal.beaninfo.IndexedPropertyDecorator
- * @generated
- */
- EClass getIndexedPropertyDecorator();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.jem.internal.beaninfo.IndexedPropertyDecorator#getIndexedReadMethod <em>Indexed Read Method</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Indexed Read Method</em>'.
- * @see org.eclipse.jem.internal.beaninfo.IndexedPropertyDecorator#getIndexedReadMethod()
- * @see #getIndexedPropertyDecorator()
- * @generated
- */
- EReference getIndexedPropertyDecorator_IndexedReadMethod();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.jem.internal.beaninfo.IndexedPropertyDecorator#getIndexedWriteMethod <em>Indexed Write Method</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Indexed Write Method</em>'.
- * @see org.eclipse.jem.internal.beaninfo.IndexedPropertyDecorator#getIndexedWriteMethod()
- * @see #getIndexedPropertyDecorator()
- * @generated
- */
- EReference getIndexedPropertyDecorator_IndexedWriteMethod();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator <em>Bean Decorator</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Bean Decorator</em>'.
- * @see org.eclipse.jem.internal.beaninfo.BeanDecorator
- * @generated
- */
- EClass getBeanDecorator();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isMergeSuperProperties <em>Merge Super Properties</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Merge Super Properties</em>'.
- * @see org.eclipse.jem.internal.beaninfo.BeanDecorator#isMergeSuperProperties()
- * @see #getBeanDecorator()
- * @generated
- */
- EAttribute getBeanDecorator_MergeSuperProperties();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isMergeSuperMethods <em>Merge Super Methods</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Merge Super Methods</em>'.
- * @see org.eclipse.jem.internal.beaninfo.BeanDecorator#isMergeSuperMethods()
- * @see #getBeanDecorator()
- * @generated
- */
- EAttribute getBeanDecorator_MergeSuperMethods();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isMergeSuperEvents <em>Merge Super Events</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Merge Super Events</em>'.
- * @see org.eclipse.jem.internal.beaninfo.BeanDecorator#isMergeSuperEvents()
- * @see #getBeanDecorator()
- * @generated
- */
- EAttribute getBeanDecorator_MergeSuperEvents();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isIntrospectProperties <em>Introspect Properties</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Introspect Properties</em>'.
- * @see org.eclipse.jem.internal.beaninfo.BeanDecorator#isIntrospectProperties()
- * @see #getBeanDecorator()
- * @generated
- */
- EAttribute getBeanDecorator_IntrospectProperties();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isIntrospectMethods <em>Introspect Methods</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Introspect Methods</em>'.
- * @see org.eclipse.jem.internal.beaninfo.BeanDecorator#isIntrospectMethods()
- * @see #getBeanDecorator()
- * @generated
- */
- EAttribute getBeanDecorator_IntrospectMethods();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isIntrospectEvents <em>Introspect Events</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Introspect Events</em>'.
- * @see org.eclipse.jem.internal.beaninfo.BeanDecorator#isIntrospectEvents()
- * @see #getBeanDecorator()
- * @generated
- */
- EAttribute getBeanDecorator_IntrospectEvents();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#getCustomizerClass <em>Customizer Class</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Customizer Class</em>'.
- * @see org.eclipse.jem.internal.beaninfo.BeanDecorator#getCustomizerClass()
- * @see #getBeanDecorator()
- * @generated
- */
- EReference getBeanDecorator_CustomizerClass();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jem.internal.beaninfo.MethodDecorator <em>Method Decorator</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Method Decorator</em>'.
- * @see org.eclipse.jem.internal.beaninfo.MethodDecorator
- * @generated
- */
- EClass getMethodDecorator();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.MethodDecorator#isParmsExplicitEmpty <em>Parms Explicit Empty</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Parms Explicit Empty</em>'.
- * @see org.eclipse.jem.internal.beaninfo.MethodDecorator#isParmsExplicitEmpty()
- * @see #getMethodDecorator()
- * @generated
- */
- EAttribute getMethodDecorator_ParmsExplicitEmpty();
-
- /**
- * Returns the meta object for the reference list '{@link org.eclipse.jem.internal.beaninfo.MethodDecorator#getParameterDescriptors <em>Parameter Descriptors</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference list '<em>Parameter Descriptors</em>'.
- * @see org.eclipse.jem.internal.beaninfo.MethodDecorator#getParameterDescriptors()
- * @see #getMethodDecorator()
- * @generated
- */
- EReference getMethodDecorator_ParameterDescriptors();
-
- /**
- * Returns the meta object for the containment reference list '{@link org.eclipse.jem.internal.beaninfo.MethodDecorator#getSerParmDesc <em>Ser Parm Desc</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>Ser Parm Desc</em>'.
- * @see org.eclipse.jem.internal.beaninfo.MethodDecorator#getSerParmDesc()
- * @see #getMethodDecorator()
- * @generated
- */
- EReference getMethodDecorator_SerParmDesc();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jem.internal.beaninfo.ParameterDecorator <em>Parameter Decorator</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Parameter Decorator</em>'.
- * @see org.eclipse.jem.internal.beaninfo.ParameterDecorator
- * @generated
- */
- EClass getParameterDecorator();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.ParameterDecorator#getName <em>Name</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Name</em>'.
- * @see org.eclipse.jem.internal.beaninfo.ParameterDecorator#getName()
- * @see #getParameterDecorator()
- * @generated
- */
- EAttribute getParameterDecorator_Name();
-
- /**
- * Returns the meta object for data type '{@link org.eclipse.jem.internal.beaninfo.common.FeatureAttributeValue <em>Feature Attribute Value</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for data type '<em>Feature Attribute Value</em>'.
- * @see org.eclipse.jem.internal.beaninfo.common.FeatureAttributeValue
- * @model instanceClass="org.eclipse.jem.internal.beaninfo.common.FeatureAttributeValue"
- * @generated
- */
- EDataType getFeatureAttributeValue();
-
- /**
- * Returns the factory that creates the instances of the model.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the factory that creates the instances of the model.
- * @generated
- */
- BeaninfoFactory getBeaninfoFactory();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isDoBeaninfo <em>Do Beaninfo</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Do Beaninfo</em>'.
- * @see org.eclipse.jem.internal.beaninfo.BeanDecorator#isDoBeaninfo()
- * @see #getBeanDecorator()
- * @generated
- */
- EAttribute getBeanDecorator_DoBeaninfo();
-
- /**
- * Returns the meta object for the attribute list '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#getNotInheritedPropertyNames <em>Not Inherited Property Names</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute list '<em>Not Inherited Property Names</em>'.
- * @see org.eclipse.jem.internal.beaninfo.BeanDecorator#getNotInheritedPropertyNames()
- * @see #getBeanDecorator()
- * @generated
- */
- EAttribute getBeanDecorator_NotInheritedPropertyNames();
-
- /**
- * Returns the meta object for the attribute list '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#getNotInheritedMethodNames <em>Not Inherited Method Names</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute list '<em>Not Inherited Method Names</em>'.
- * @see org.eclipse.jem.internal.beaninfo.BeanDecorator#getNotInheritedMethodNames()
- * @see #getBeanDecorator()
- * @generated
- */
- EAttribute getBeanDecorator_NotInheritedMethodNames();
-
- /**
- * Returns the meta object for the attribute list '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#getNotInheritedEventNames <em>Not Inherited Event Names</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute list '<em>Not Inherited Event Names</em>'.
- * @see org.eclipse.jem.internal.beaninfo.BeanDecorator#getNotInheritedEventNames()
- * @see #getBeanDecorator()
- * @generated
- */
- EAttribute getBeanDecorator_NotInheritedEventNames();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.jem.internal.beaninfo.ParameterDecorator#getParameter <em>Parameter</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Parameter</em>'.
- * @see org.eclipse.jem.internal.beaninfo.ParameterDecorator#getParameter()
- * @see #getParameterDecorator()
- * @generated
- */
- EReference getParameterDecorator_Parameter();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jem.internal.beaninfo.BeanEvent <em>Bean Event</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Bean Event</em>'.
- * @see org.eclipse.jem.internal.beaninfo.BeanEvent
- * @generated
- */
- EClass getBeanEvent();
-
- /**
- * Returns the meta object for class '{@link java.util.Map.Entry <em>Feature Attribute Map Entry</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Feature Attribute Map Entry</em>'.
- * @see java.util.Map.Entry
- * @model keyType="java.lang.String"
- * valueType="org.eclipse.jem.internal.beaninfo.common.FeatureAttributeValue" valueDataType="org.eclipse.jem.internal.beaninfo.FeatureAttributeValue"
- * @generated
- */
- EClass getFeatureAttributeMapEntry();
-
- /**
- * Returns the meta object for the attribute '{@link java.util.Map.Entry <em>Key</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Key</em>'.
- * @see java.util.Map.Entry
- * @see #getFeatureAttributeMapEntry()
- * @generated
- */
- EAttribute getFeatureAttributeMapEntry_Key();
-
- /**
- * Returns the meta object for the attribute '{@link java.util.Map.Entry <em>Value</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Value</em>'.
- * @see java.util.Map.Entry
- * @see #getFeatureAttributeMapEntry()
- * @generated
- */
- EAttribute getFeatureAttributeMapEntry_Value();
-
- /**
- * Returns the meta object for enum '{@link org.eclipse.jem.internal.beaninfo.ImplicitItem <em>Implicit Item</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for enum '<em>Implicit Item</em>'.
- * @see org.eclipse.jem.internal.beaninfo.ImplicitItem
- * @generated
- */
- EEnum getImplicitItem();
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/EventSetDecorator.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/EventSetDecorator.java
deleted file mode 100644
index 1b982f8d9..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/EventSetDecorator.java
+++ /dev/null
@@ -1,326 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo;
-/*
- * $RCSfile: EventSetDecorator.java,v $
- * $Revision: 1.6 $ $Date: 2005/04/14 19:05:36 $
- */
-
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.Method;
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Event Set Decorator</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * Equivalent to EventSetDecorator in java.
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#isInDefaultEventSet <em>In Default Event Set</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#isUnicast <em>Unicast</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#isListenerMethodsExplicitEmpty <em>Listener Methods Explicit Empty</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#getAddListenerMethod <em>Add Listener Method</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#getListenerMethods <em>Listener Methods</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#getListenerType <em>Listener Type</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#getRemoveListenerMethod <em>Remove Listener Method</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#getEventAdapterClass <em>Event Adapter Class</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#getSerListMthd <em>Ser List Mthd</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getEventSetDecorator()
- * @model
- * @generated
- */
-
-
-public interface EventSetDecorator extends FeatureDecorator{
- public static final String EVENTADAPTERCLASS = "eventAdapterClass"; //$NON-NLS-1$
- /**
- * Returns the value of the '<em><b>In Default Event Set</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>In Default Event Set</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>In Default Event Set</em>' attribute.
- * @see #isSetInDefaultEventSet()
- * @see #unsetInDefaultEventSet()
- * @see #setInDefaultEventSet(boolean)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getEventSetDecorator_InDefaultEventSet()
- * @model unsettable="true"
- * @generated
- */
- boolean isInDefaultEventSet();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#isInDefaultEventSet <em>In Default Event Set</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>In Default Event Set</em>' attribute.
- * @see #isSetInDefaultEventSet()
- * @see #unsetInDefaultEventSet()
- * @see #isInDefaultEventSet()
- * @generated
- */
- void setInDefaultEventSet(boolean value);
-
- /**
- * Unsets the value of the '{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#isInDefaultEventSet <em>In Default Event Set</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetInDefaultEventSet()
- * @see #isInDefaultEventSet()
- * @see #setInDefaultEventSet(boolean)
- * @generated
- */
- void unsetInDefaultEventSet();
-
- /**
- * Returns whether the value of the '{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#isInDefaultEventSet <em>In Default Event Set</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>In Default Event Set</em>' attribute is set.
- * @see #unsetInDefaultEventSet()
- * @see #isInDefaultEventSet()
- * @see #setInDefaultEventSet(boolean)
- * @generated
- */
- boolean isSetInDefaultEventSet();
-
- /**
- * Returns the value of the '<em><b>Unicast</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Unicast</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Unicast</em>' attribute.
- * @see #isSetUnicast()
- * @see #unsetUnicast()
- * @see #setUnicast(boolean)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getEventSetDecorator_Unicast()
- * @model unsettable="true"
- * @generated
- */
- boolean isUnicast();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#isUnicast <em>Unicast</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Unicast</em>' attribute.
- * @see #isSetUnicast()
- * @see #unsetUnicast()
- * @see #isUnicast()
- * @generated
- */
- void setUnicast(boolean value);
-
- /**
- * Unsets the value of the '{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#isUnicast <em>Unicast</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetUnicast()
- * @see #isUnicast()
- * @see #setUnicast(boolean)
- * @generated
- */
- void unsetUnicast();
-
- /**
- * Returns whether the value of the '{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#isUnicast <em>Unicast</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Unicast</em>' attribute is set.
- * @see #unsetUnicast()
- * @see #isUnicast()
- * @see #setUnicast(boolean)
- * @generated
- */
- boolean isSetUnicast();
-
- /**
- * Returns the value of the '<em><b>Listener Methods Explicit Empty</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * Set true if the listenerMethods feature is explicitly set as empty and is not to have listener methods merged in from BeanInfo or reflection.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Listener Methods Explicit Empty</em>' attribute.
- * @see #setListenerMethodsExplicitEmpty(boolean)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getEventSetDecorator_ListenerMethodsExplicitEmpty()
- * @model
- * @generated
- */
- boolean isListenerMethodsExplicitEmpty();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#isListenerMethodsExplicitEmpty <em>Listener Methods Explicit Empty</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Listener Methods Explicit Empty</em>' attribute.
- * @see #isListenerMethodsExplicitEmpty()
- * @generated
- */
- void setListenerMethodsExplicitEmpty(boolean value);
-
- /**
- * Returns the value of the '<em><b>Add Listener Method</b></em>' reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Add Listener Method</em>' reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Add Listener Method</em>' reference.
- * @see #setAddListenerMethod(Method)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getEventSetDecorator_AddListenerMethod()
- * @model required="true"
- * @generated
- */
- Method getAddListenerMethod();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#getAddListenerMethod <em>Add Listener Method</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Add Listener Method</em>' reference.
- * @see #getAddListenerMethod()
- * @generated
- */
- void setAddListenerMethod(Method value);
-
- /**
- * Returns the value of the '<em><b>Listener Methods</b></em>' reference list.
- * The list contents are of type {@link org.eclipse.jem.internal.beaninfo.MethodProxy}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Listener Methods</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * listener methods. If it is desired that the list be explicitly empty and not have BeanInfo set it, then set listenerMethodsExplicitEmpty to true.
- * <p>
- * ListenerMethods will be decorated with MethodDecorators.
- * <p>
- * Note: This is a derived setting, which means it will not notify out changes to it. To here changes to it, listen on "serListMthd" notifications instead.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Listener Methods</em>' reference list.
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getEventSetDecorator_ListenerMethods()
- * @model type="org.eclipse.jem.internal.beaninfo.MethodProxy" required="true" transient="true" volatile="true" derived="true"
- * @generated
- */
- EList getListenerMethods();
-
- /**
- * Returns the value of the '<em><b>Listener Type</b></em>' reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Listener Type</em>' reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Listener Type</em>' reference.
- * @see #setListenerType(JavaClass)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getEventSetDecorator_ListenerType()
- * @model required="true"
- * @generated
- */
- JavaClass getListenerType();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#getListenerType <em>Listener Type</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Listener Type</em>' reference.
- * @see #getListenerType()
- * @generated
- */
- void setListenerType(JavaClass value);
-
- /**
- * Returns the value of the '<em><b>Remove Listener Method</b></em>' reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Remove Listener Method</em>' reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Remove Listener Method</em>' reference.
- * @see #setRemoveListenerMethod(Method)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getEventSetDecorator_RemoveListenerMethod()
- * @model required="true"
- * @generated
- */
- Method getRemoveListenerMethod();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#getRemoveListenerMethod <em>Remove Listener Method</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Remove Listener Method</em>' reference.
- * @see #getRemoveListenerMethod()
- * @generated
- */
- void setRemoveListenerMethod(Method value);
-
- /**
- * Returns the value of the '<em><b>Event Adapter Class</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * For some listener interfaces an adapter class is provided that implements default no-op methods, e.g. java.awt.event.FocusEvent which has java.awt.event.FocusAdapter. The Adapter class is provided in a key/value pair on the java.beans.EventSetDescriptor with a key defined in a static final constants EVENTADAPTERCLASS = "eventAdapterClass".
- * <!-- end-model-doc -->
- * @return the value of the '<em>Event Adapter Class</em>' reference.
- * @see #setEventAdapterClass(JavaClass)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getEventSetDecorator_EventAdapterClass()
- * @model
- * @generated
- */
- JavaClass getEventAdapterClass();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#getEventAdapterClass <em>Event Adapter Class</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Event Adapter Class</em>' reference.
- * @see #getEventAdapterClass()
- * @generated
- */
- void setEventAdapterClass(JavaClass value);
-
- /**
- * Returns the value of the '<em><b>Ser List Mthd</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jem.internal.beaninfo.MethodProxy}.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * This is a private feature. It is used internally only.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Ser List Mthd</em>' containment reference list.
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getEventSetDecorator_SerListMthd()
- * @model type="org.eclipse.jem.internal.beaninfo.MethodProxy" containment="true" required="true"
- * @generated
- */
- EList getSerListMthd();
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/FeatureDecorator.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/FeatureDecorator.java
deleted file mode 100644
index 4b502c013..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/FeatureDecorator.java
+++ /dev/null
@@ -1,491 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo;
-/*
- * $RCSfile: FeatureDecorator.java,v $
- * $Revision: 1.7 $ $Date: 2005/04/14 19:05:36 $
- */
-
-
-import org.eclipse.emf.common.util.EMap;
-import org.eclipse.emf.ecore.EAnnotation;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Feature Decorator</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * Equivalent to FeatureDescriptor in java.
- * <p>
- * Note: If any attribute is explicitly set then the BeanInfo/Reflection will not be merged into the decorator. This provides a way of overriding the BeanInfos. Also for any many-valued attribute, if it is desired to have it explicitly empty and not have BeanInfo fill it in, there will be another attribute named of the form "attibutueExplicitEmpty" If this is true then the BeanInfo will not merge in and will leave it empty.
- * <p>
- * These comments about merging apply to all subclasses of this decorator too.
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#getDisplayName <em>Display Name</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#getShortDescription <em>Short Description</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#getCategory <em>Category</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#isExpert <em>Expert</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#isHidden <em>Hidden</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#isPreferred <em>Preferred</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#isMergeIntrospection <em>Merge Introspection</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#isAttributesExplicitEmpty <em>Attributes Explicit Empty</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#getImplicitlySetBits <em>Implicitly Set Bits</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#getImplicitDecoratorFlag <em>Implicit Decorator Flag</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#getAttributes <em>Attributes</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getFeatureDecorator()
- * @model
- * @generated
- */
-
-
-public interface FeatureDecorator extends EAnnotation{
-
- /**
- * Returns the value of the '<em><b>Display Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Display Name</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Display Name</em>' attribute.
- * @see #isSetDisplayName()
- * @see #unsetDisplayName()
- * @see #setDisplayName(String)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getFeatureDecorator_DisplayName()
- * @model unsettable="true"
- * @generated
- */
- String getDisplayName();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#getDisplayName <em>Display Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Display Name</em>' attribute.
- * @see #isSetDisplayName()
- * @see #unsetDisplayName()
- * @see #getDisplayName()
- * @generated
- */
- void setDisplayName(String value);
-
- /**
- * Unsets the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#getDisplayName <em>Display Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetDisplayName()
- * @see #getDisplayName()
- * @see #setDisplayName(String)
- * @generated
- */
- void unsetDisplayName();
-
- /**
- * Returns whether the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#getDisplayName <em>Display Name</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Display Name</em>' attribute is set.
- * @see #unsetDisplayName()
- * @see #getDisplayName()
- * @see #setDisplayName(String)
- * @generated
- */
- boolean isSetDisplayName();
-
- /**
- * Returns the value of the '<em><b>Short Description</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Short Description</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Short Description</em>' attribute.
- * @see #isSetShortDescription()
- * @see #unsetShortDescription()
- * @see #setShortDescription(String)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getFeatureDecorator_ShortDescription()
- * @model unsettable="true"
- * @generated
- */
- String getShortDescription();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#getShortDescription <em>Short Description</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Short Description</em>' attribute.
- * @see #isSetShortDescription()
- * @see #unsetShortDescription()
- * @see #getShortDescription()
- * @generated
- */
- void setShortDescription(String value);
-
- /**
- * Unsets the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#getShortDescription <em>Short Description</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetShortDescription()
- * @see #getShortDescription()
- * @see #setShortDescription(String)
- * @generated
- */
- void unsetShortDescription();
-
- /**
- * Returns whether the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#getShortDescription <em>Short Description</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Short Description</em>' attribute is set.
- * @see #unsetShortDescription()
- * @see #getShortDescription()
- * @see #setShortDescription(String)
- * @generated
- */
- boolean isSetShortDescription();
-
- /**
- * Returns the value of the '<em><b>Category</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Category</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Category</em>' attribute.
- * @see #setCategory(String)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getFeatureDecorator_Category()
- * @model
- * @generated
- */
- String getCategory();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#getCategory <em>Category</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Category</em>' attribute.
- * @see #getCategory()
- * @generated
- */
- void setCategory(String value);
-
- /**
- * Returns the value of the '<em><b>Expert</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Expert</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Expert</em>' attribute.
- * @see #isSetExpert()
- * @see #unsetExpert()
- * @see #setExpert(boolean)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getFeatureDecorator_Expert()
- * @model unsettable="true"
- * @generated
- */
- boolean isExpert();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#isExpert <em>Expert</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Expert</em>' attribute.
- * @see #isSetExpert()
- * @see #unsetExpert()
- * @see #isExpert()
- * @generated
- */
- void setExpert(boolean value);
-
- /**
- * Unsets the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#isExpert <em>Expert</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetExpert()
- * @see #isExpert()
- * @see #setExpert(boolean)
- * @generated
- */
- void unsetExpert();
-
- /**
- * Returns whether the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#isExpert <em>Expert</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Expert</em>' attribute is set.
- * @see #unsetExpert()
- * @see #isExpert()
- * @see #setExpert(boolean)
- * @generated
- */
- boolean isSetExpert();
-
- /**
- * Returns the value of the '<em><b>Hidden</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Hidden</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Hidden</em>' attribute.
- * @see #isSetHidden()
- * @see #unsetHidden()
- * @see #setHidden(boolean)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getFeatureDecorator_Hidden()
- * @model unsettable="true"
- * @generated
- */
- boolean isHidden();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#isHidden <em>Hidden</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Hidden</em>' attribute.
- * @see #isSetHidden()
- * @see #unsetHidden()
- * @see #isHidden()
- * @generated
- */
- void setHidden(boolean value);
-
- /**
- * Unsets the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#isHidden <em>Hidden</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetHidden()
- * @see #isHidden()
- * @see #setHidden(boolean)
- * @generated
- */
- void unsetHidden();
-
- /**
- * Returns whether the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#isHidden <em>Hidden</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Hidden</em>' attribute is set.
- * @see #unsetHidden()
- * @see #isHidden()
- * @see #setHidden(boolean)
- * @generated
- */
- boolean isSetHidden();
-
- /**
- * Returns the value of the '<em><b>Preferred</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Preferred</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Preferred</em>' attribute.
- * @see #isSetPreferred()
- * @see #unsetPreferred()
- * @see #setPreferred(boolean)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getFeatureDecorator_Preferred()
- * @model unsettable="true"
- * @generated
- */
- boolean isPreferred();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#isPreferred <em>Preferred</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Preferred</em>' attribute.
- * @see #isSetPreferred()
- * @see #unsetPreferred()
- * @see #isPreferred()
- * @generated
- */
- void setPreferred(boolean value);
-
- /**
- * Unsets the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#isPreferred <em>Preferred</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetPreferred()
- * @see #isPreferred()
- * @see #setPreferred(boolean)
- * @generated
- */
- void unsetPreferred();
-
- /**
- * Returns whether the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#isPreferred <em>Preferred</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Preferred</em>' attribute is set.
- * @see #unsetPreferred()
- * @see #isPreferred()
- * @see #setPreferred(boolean)
- * @generated
- */
- boolean isSetPreferred();
-
- /**
- * Returns the value of the '<em><b>Merge Introspection</b></em>' attribute.
- * The default value is <code>"true"</code>.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Merge Introspection</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * Should the introspection results be merged into this decorator. If this is set to false, then the introspection results are ignored for this particular decorator. This is an internal feature simply to allow desired override capabilities. Customers would use it to prevent ANY introspection/reflection from occurring.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Merge Introspection</em>' attribute.
- * @see #setMergeIntrospection(boolean)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getFeatureDecorator_MergeIntrospection()
- * @model default="true"
- * @generated
- */
- boolean isMergeIntrospection();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#isMergeIntrospection <em>Merge Introspection</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Merge Introspection</em>' attribute.
- * @see #isMergeIntrospection()
- * @generated
- */
- void setMergeIntrospection(boolean value);
-
- /**
- * Returns the value of the '<em><b>Attributes Explicit Empty</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * The attributes are explicitly set as empty and not retrieved from the beaninfo/reflection. Customers should set this if they want the list of attributes to be empty and not merged with the BeanInfo results.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Attributes Explicit Empty</em>' attribute.
- * @see #setAttributesExplicitEmpty(boolean)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getFeatureDecorator_AttributesExplicitEmpty()
- * @model
- * @generated
- */
- boolean isAttributesExplicitEmpty();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#isAttributesExplicitEmpty <em>Attributes Explicit Empty</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Attributes Explicit Empty</em>' attribute.
- * @see #isAttributesExplicitEmpty()
- * @generated
- */
- void setAttributesExplicitEmpty(boolean value);
-
- /**
- * Returns the value of the '<em><b>Implicitly Set Bits</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * A bitflag for which attributes have been set by BeanInfo/Reflection.
- * <p>
- * This is an internal attribute that is used by the BeanInfo maintanance. It is not meant to be used by customers.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Implicitly Set Bits</em>' attribute.
- * @see #setImplicitlySetBits(long)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getFeatureDecorator_ImplicitlySetBits()
- * @model
- * @generated
- */
- long getImplicitlySetBits();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#getImplicitlySetBits <em>Implicitly Set Bits</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Implicitly Set Bits</em>' attribute.
- * @see #getImplicitlySetBits()
- * @generated
- */
- void setImplicitlySetBits(long value);
-
- /**
- * Returns the value of the '<em><b>Implicit Decorator Flag</b></em>' attribute.
- * The literals are from the enumeration {@link org.eclipse.jem.internal.beaninfo.ImplicitItem}.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * Is this decorator/feature implicit. This means created by Introspection/Reflection and not by customer.
- * <p>
- * This is an internal attribute that is used by the BeanInfo maintanance. It is not meant to be used by customers.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Implicit Decorator Flag</em>' attribute.
- * @see org.eclipse.jem.internal.beaninfo.ImplicitItem
- * @see #setImplicitDecoratorFlag(ImplicitItem)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getFeatureDecorator_ImplicitDecoratorFlag()
- * @model
- * @generated
- */
- ImplicitItem getImplicitDecoratorFlag();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#getImplicitDecoratorFlag <em>Implicit Decorator Flag</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Implicit Decorator Flag</em>' attribute.
- * @see org.eclipse.jem.internal.beaninfo.ImplicitItem
- * @see #getImplicitDecoratorFlag()
- * @generated
- */
- void setImplicitDecoratorFlag(ImplicitItem value);
-
- /**
- * Returns the value of the '<em><b>Attributes</b></em>' map.
- * The key is of type {@link java.lang.String},
- * and the value is of type {@link org.eclipse.jem.internal.beaninfo.common.FeatureAttributeValue},
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Attributes</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * Feature attributes. Key/value pairs. If it is desired that the feature attributes is explicitly empty and not have BeanInfo/reflection set it, set attributesExplicitEmpty to true.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Attributes</em>' map.
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getFeatureDecorator_Attributes()
- * @model mapType="org.eclipse.jem.internal.beaninfo.FeatureAttributeMapEntry" keyType="java.lang.String" valueType="org.eclipse.jem.internal.beaninfo.common.FeatureAttributeValue"
- * @generated
- */
- EMap getAttributes();
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @model parameters=""
- * @generated
- */
- String getName();
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/ImplicitItem.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/ImplicitItem.java
deleted file mode 100644
index 197d462d6..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/ImplicitItem.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.common.util.AbstractEnumerator;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the literals of the enumeration '<em><b>Implicit Item</b></em>',
- * and utility methods for working with them.
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * This enum is an internal enum. It is used by BeanInfo for cache maintenance.
- * <p>
- * This enum is not meant to be used by clients.
- * <!-- end-model-doc -->
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getImplicitItem()
- * @model
- * @generated
- */
-public final class ImplicitItem extends AbstractEnumerator {
- /**
- * The '<em><b>NOT IMPLICIT</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * Means this decorator is not implicit. That is it was created by customer.
- * <!-- end-model-doc -->
- * @see #NOT_IMPLICIT_LITERAL
- * @model
- * @generated
- * @ordered
- */
- public static final int NOT_IMPLICIT = 0;
-
- /**
- * The '<em><b>IMPLICIT DECORATOR</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * This means that the decorator is implicit. That is it was not created by the customer.
- * <!-- end-model-doc -->
- * @see #IMPLICIT_DECORATOR_LITERAL
- * @model
- * @generated
- * @ordered
- */
- public static final int IMPLICIT_DECORATOR = 1;
-
- /**
- * The '<em><b>IMPLICIT DECORATOR AND FEATURE</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * This means the decorator and the feature where implicit. That is they were not created by the customer.
- * <!-- end-model-doc -->
- * @see #IMPLICIT_DECORATOR_AND_FEATURE_LITERAL
- * @model
- * @generated
- * @ordered
- */
- public static final int IMPLICIT_DECORATOR_AND_FEATURE = 2;
-
- /**
- * The '<em><b>NOT IMPLICIT</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #NOT_IMPLICIT
- * @generated
- * @ordered
- */
- public static final ImplicitItem NOT_IMPLICIT_LITERAL = new ImplicitItem(NOT_IMPLICIT, "NOT_IMPLICIT");
-
- /**
- * The '<em><b>IMPLICIT DECORATOR</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #IMPLICIT_DECORATOR
- * @generated
- * @ordered
- */
- public static final ImplicitItem IMPLICIT_DECORATOR_LITERAL = new ImplicitItem(IMPLICIT_DECORATOR, "IMPLICIT_DECORATOR");
-
- /**
- * The '<em><b>IMPLICIT DECORATOR AND FEATURE</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #IMPLICIT_DECORATOR_AND_FEATURE
- * @generated
- * @ordered
- */
- public static final ImplicitItem IMPLICIT_DECORATOR_AND_FEATURE_LITERAL = new ImplicitItem(IMPLICIT_DECORATOR_AND_FEATURE, "IMPLICIT_DECORATOR_AND_FEATURE");
-
- /**
- * An array of all the '<em><b>Implicit Item</b></em>' enumerators.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private static final ImplicitItem[] VALUES_ARRAY =
- new ImplicitItem[] {
- NOT_IMPLICIT_LITERAL,
- IMPLICIT_DECORATOR_LITERAL,
- IMPLICIT_DECORATOR_AND_FEATURE_LITERAL,
- };
-
- /**
- * A public read-only list of all the '<em><b>Implicit Item</b></em>' enumerators.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
-
- /**
- * Returns the '<em><b>Implicit Item</b></em>' literal with the specified name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static ImplicitItem get(String name) {
- for (int i = 0; i < VALUES_ARRAY.length; ++i) {
- ImplicitItem result = VALUES_ARRAY[i];
- if (result.toString().equals(name)) {
- return result;
- }
- }
- return null;
- }
-
- /**
- * Returns the '<em><b>Implicit Item</b></em>' literal with the specified value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static ImplicitItem get(int value) {
- switch (value) {
- case NOT_IMPLICIT: return NOT_IMPLICIT_LITERAL;
- case IMPLICIT_DECORATOR: return IMPLICIT_DECORATOR_LITERAL;
- case IMPLICIT_DECORATOR_AND_FEATURE: return IMPLICIT_DECORATOR_AND_FEATURE_LITERAL;
- }
- return null;
- }
-
- /**
- * Only this class can construct instances.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private ImplicitItem(int value, String name) {
- super(value, name);
- }
-
-} //ImplicitItem
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/IndexedPropertyDecorator.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/IndexedPropertyDecorator.java
deleted file mode 100644
index 9dd17c87b..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/IndexedPropertyDecorator.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo;
-/*
- * $RCSfile: IndexedPropertyDecorator.java,v $
- * $Revision: 1.6 $ $Date: 2005/04/14 19:05:36 $
- */
-
-
-import org.eclipse.jem.java.Method;
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Indexed Property Decorator</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * Equivalent to IndexedPropertyDecorator
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.beaninfo.IndexedPropertyDecorator#getIndexedReadMethod <em>Indexed Read Method</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.IndexedPropertyDecorator#getIndexedWriteMethod <em>Indexed Write Method</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getIndexedPropertyDecorator()
- * @model
- * @generated
- */
-
-
-public interface IndexedPropertyDecorator extends PropertyDecorator{
- /**
- * Returns the value of the '<em><b>Indexed Read Method</b></em>' reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Indexed Read Method</em>' reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Indexed Read Method</em>' reference.
- * @see #isSetIndexedReadMethod()
- * @see #unsetIndexedReadMethod()
- * @see #setIndexedReadMethod(Method)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getIndexedPropertyDecorator_IndexedReadMethod()
- * @model unsettable="true"
- * @generated
- */
- Method getIndexedReadMethod();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.IndexedPropertyDecorator#getIndexedReadMethod <em>Indexed Read Method</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Indexed Read Method</em>' reference.
- * @see #isSetIndexedReadMethod()
- * @see #unsetIndexedReadMethod()
- * @see #getIndexedReadMethod()
- * @generated
- */
- void setIndexedReadMethod(Method value);
-
- /**
- * Unsets the value of the '{@link org.eclipse.jem.internal.beaninfo.IndexedPropertyDecorator#getIndexedReadMethod <em>Indexed Read Method</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetIndexedReadMethod()
- * @see #getIndexedReadMethod()
- * @see #setIndexedReadMethod(Method)
- * @generated
- */
- void unsetIndexedReadMethod();
-
- /**
- * Returns whether the value of the '{@link org.eclipse.jem.internal.beaninfo.IndexedPropertyDecorator#getIndexedReadMethod <em>Indexed Read Method</em>}' reference is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Indexed Read Method</em>' reference is set.
- * @see #unsetIndexedReadMethod()
- * @see #getIndexedReadMethod()
- * @see #setIndexedReadMethod(Method)
- * @generated
- */
- boolean isSetIndexedReadMethod();
-
- /**
- * Returns the value of the '<em><b>Indexed Write Method</b></em>' reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Indexed Write Method</em>' reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Indexed Write Method</em>' reference.
- * @see #isSetIndexedWriteMethod()
- * @see #unsetIndexedWriteMethod()
- * @see #setIndexedWriteMethod(Method)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getIndexedPropertyDecorator_IndexedWriteMethod()
- * @model unsettable="true"
- * @generated
- */
- Method getIndexedWriteMethod();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.IndexedPropertyDecorator#getIndexedWriteMethod <em>Indexed Write Method</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Indexed Write Method</em>' reference.
- * @see #isSetIndexedWriteMethod()
- * @see #unsetIndexedWriteMethod()
- * @see #getIndexedWriteMethod()
- * @generated
- */
- void setIndexedWriteMethod(Method value);
-
- /**
- * Unsets the value of the '{@link org.eclipse.jem.internal.beaninfo.IndexedPropertyDecorator#getIndexedWriteMethod <em>Indexed Write Method</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetIndexedWriteMethod()
- * @see #getIndexedWriteMethod()
- * @see #setIndexedWriteMethod(Method)
- * @generated
- */
- void unsetIndexedWriteMethod();
-
- /**
- * Returns whether the value of the '{@link org.eclipse.jem.internal.beaninfo.IndexedPropertyDecorator#getIndexedWriteMethod <em>Indexed Write Method</em>}' reference is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Indexed Write Method</em>' reference is set.
- * @see #unsetIndexedWriteMethod()
- * @see #getIndexedWriteMethod()
- * @see #setIndexedWriteMethod(Method)
- * @generated
- */
- boolean isSetIndexedWriteMethod();
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/MethodDecorator.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/MethodDecorator.java
deleted file mode 100644
index 33ee3506b..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/MethodDecorator.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo;
-/*
- * $RCSfile: MethodDecorator.java,v $
- * $Revision: 1.6 $ $Date: 2005/04/14 19:05:36 $
- */
-
-
-import org.eclipse.emf.common.util.EList;
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Method Decorator</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * Equivalent to MethodDecorator in java.
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.beaninfo.MethodDecorator#isParmsExplicitEmpty <em>Parms Explicit Empty</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.MethodDecorator#getParameterDescriptors <em>Parameter Descriptors</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.MethodDecorator#getSerParmDesc <em>Ser Parm Desc</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getMethodDecorator()
- * @model
- * @generated
- */
-
-
-public interface MethodDecorator extends FeatureDecorator{
- /**
- * Returns the value of the '<em><b>Parms Explicit Empty</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * Set true if the parms feature is explicitly set as empty and is not to have parameters merged in from BeanInfo or reflection.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Parms Explicit Empty</em>' attribute.
- * @see #setParmsExplicitEmpty(boolean)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getMethodDecorator_ParmsExplicitEmpty()
- * @model
- * @generated
- */
- boolean isParmsExplicitEmpty();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.MethodDecorator#isParmsExplicitEmpty <em>Parms Explicit Empty</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Parms Explicit Empty</em>' attribute.
- * @see #isParmsExplicitEmpty()
- * @generated
- */
- void setParmsExplicitEmpty(boolean value);
-
- /**
- * Returns the value of the '<em><b>Parameter Descriptors</b></em>' reference list.
- * The list contents are of type {@link org.eclipse.jem.internal.beaninfo.ParameterDecorator}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Parameter Descriptors</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * This is the parameter descriptors list.
- * <p>
- * Note: This is a derived setting, which means it will not notify out changes to it. To here changes to it, listen on "serParmDesc" notifications instead.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Parameter Descriptors</em>' reference list.
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getMethodDecorator_ParameterDescriptors()
- * @model type="org.eclipse.jem.internal.beaninfo.ParameterDecorator" transient="true" volatile="true" derived="true"
- * @generated
- */
- EList getParameterDescriptors();
-
- /**
- * Returns the value of the '<em><b>Ser Parm Desc</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jem.internal.beaninfo.ParameterDecorator}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Ser Parm Desc</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * This is a private feature. It is used internally only.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Ser Parm Desc</em>' containment reference list.
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getMethodDecorator_SerParmDesc()
- * @model type="org.eclipse.jem.internal.beaninfo.ParameterDecorator" containment="true"
- * @generated
- */
- EList getSerParmDesc();
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/MethodProxy.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/MethodProxy.java
deleted file mode 100644
index d7a852a36..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/MethodProxy.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo;
-/*
- * $RCSfile: MethodProxy.java,v $
- * $Revision: 1.6 $ $Date: 2005/04/14 19:05:36 $
- */
-
-
-import org.eclipse.emf.ecore.EOperation;
-
-import org.eclipse.jem.java.Method;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Method Proxy</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * This is just a wrapper of a java Method. It allows access to the method but doesn't duplicate the interface for it.
- * <p>
- * MethodProxies will be in the eBehaviors setting for any methods that are in the JavaClass methods setting so that they are not duplicated.
- * <p>
- * MethodProxies would also have MethodDecorators.
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.beaninfo.MethodProxy#getMethod <em>Method</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getMethodProxy()
- * @model
- * @generated
- */
-
-
-public interface MethodProxy extends EOperation{
- /**
- * Returns the value of the '<em><b>Method</b></em>' reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Method</em>' reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Method</em>' reference.
- * @see #setMethod(Method)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getMethodProxy_Method()
- * @model required="true"
- * @generated
- */
- Method getMethod();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.MethodProxy#getMethod <em>Method</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Method</em>' reference.
- * @see #getMethod()
- * @generated
- */
- void setMethod(Method value);
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/ParameterDecorator.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/ParameterDecorator.java
deleted file mode 100644
index 42ef54705..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/ParameterDecorator.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo;
-/*
- * $RCSfile: ParameterDecorator.java,v $
- * $Revision: 1.5 $ $Date: 2005/04/14 19:05:36 $
- */
-
-
-import org.eclipse.jem.java.JavaParameter;
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Parameter Decorator</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.beaninfo.ParameterDecorator#getName <em>Name</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.ParameterDecorator#getParameter <em>Parameter</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getParameterDecorator()
- * @model
- * @generated
- */
-
-
-public interface ParameterDecorator extends FeatureDecorator{
- /**
- * Returns the value of the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Name</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * The name is explicit here because unlike the other feature decorators, the name does not come from the object being decorated.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Name</em>' attribute.
- * @see #setName(String)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getParameterDecorator_Name()
- * @model
- * @generated
- */
- String getName();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.ParameterDecorator#getName <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Name</em>' attribute.
- * @see #getName()
- * @generated
- */
- void setName(String value);
-
- /**
- * Returns the value of the '<em><b>Parameter</b></em>' reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Parameter</em>' reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * The JavaParameter that this ParameterDecorator is decorating. Can't use eDecorates in this.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Parameter</em>' reference.
- * @see #setParameter(JavaParameter)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getParameterDecorator_Parameter()
- * @model transient="true"
- * @generated
- */
- JavaParameter getParameter();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.ParameterDecorator#getParameter <em>Parameter</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Parameter</em>' reference.
- * @see #getParameter()
- * @generated
- */
- void setParameter(JavaParameter value);
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/PropertyDecorator.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/PropertyDecorator.java
deleted file mode 100644
index 382a68b61..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/PropertyDecorator.java
+++ /dev/null
@@ -1,496 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo;
-/*
- * $RCSfile: PropertyDecorator.java,v $
- * $Revision: 1.8 $ $Date: 2005/04/14 19:05:36 $
- */
-
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClassifier;
-
-import org.eclipse.jem.java.Field;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.Method;
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Property Decorator</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * Equivalent to PropertyDecorator in java.
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#isBound <em>Bound</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#isConstrained <em>Constrained</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#isDesignTime <em>Design Time</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#isAlwaysIncompatible <em>Always Incompatible</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#getFilterFlags <em>Filter Flags</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#isFieldReadOnly <em>Field Read Only</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#getPropertyEditorClass <em>Property Editor Class</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#getReadMethod <em>Read Method</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#getWriteMethod <em>Write Method</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#getField <em>Field</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getPropertyDecorator()
- * @model
- * @generated
- */
-
-
-public interface PropertyDecorator extends FeatureDecorator{
- /**
- * Returns the value of the '<em><b>Bound</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Bound</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Bound</em>' attribute.
- * @see #isSetBound()
- * @see #unsetBound()
- * @see #setBound(boolean)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getPropertyDecorator_Bound()
- * @model unsettable="true"
- * @generated
- */
- boolean isBound();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#isBound <em>Bound</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Bound</em>' attribute.
- * @see #isSetBound()
- * @see #unsetBound()
- * @see #isBound()
- * @generated
- */
- void setBound(boolean value);
-
- /**
- * Unsets the value of the '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#isBound <em>Bound</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetBound()
- * @see #isBound()
- * @see #setBound(boolean)
- * @generated
- */
- void unsetBound();
-
- /**
- * Returns whether the value of the '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#isBound <em>Bound</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Bound</em>' attribute is set.
- * @see #unsetBound()
- * @see #isBound()
- * @see #setBound(boolean)
- * @generated
- */
- boolean isSetBound();
-
- /**
- * Returns the value of the '<em><b>Constrained</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Constrained</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Constrained</em>' attribute.
- * @see #isSetConstrained()
- * @see #unsetConstrained()
- * @see #setConstrained(boolean)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getPropertyDecorator_Constrained()
- * @model unsettable="true"
- * @generated
- */
- boolean isConstrained();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#isConstrained <em>Constrained</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Constrained</em>' attribute.
- * @see #isSetConstrained()
- * @see #unsetConstrained()
- * @see #isConstrained()
- * @generated
- */
- void setConstrained(boolean value);
-
- /**
- * Unsets the value of the '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#isConstrained <em>Constrained</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetConstrained()
- * @see #isConstrained()
- * @see #setConstrained(boolean)
- * @generated
- */
- void unsetConstrained();
-
- /**
- * Returns whether the value of the '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#isConstrained <em>Constrained</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Constrained</em>' attribute is set.
- * @see #unsetConstrained()
- * @see #isConstrained()
- * @see #setConstrained(boolean)
- * @generated
- */
- boolean isSetConstrained();
-
- /**
- * Returns the value of the '<em><b>Design Time</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Design Time</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * If not set, then normal default processing.
- *
- * If set true, then this property is a design time property. This means it will show up in the property sheet, but it won't be able to be connected to at runtime. It may not even be a true bean property but instead the builder will know how to handle it.
- *
- * If set false, then this property will not show up on the property sheet, but will be able to be connected to for runtime.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Design Time</em>' attribute.
- * @see #isSetDesignTime()
- * @see #unsetDesignTime()
- * @see #setDesignTime(boolean)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getPropertyDecorator_DesignTime()
- * @model unsettable="true"
- * @generated
- */
- boolean isDesignTime();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#isDesignTime <em>Design Time</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Design Time</em>' attribute.
- * @see #isSetDesignTime()
- * @see #unsetDesignTime()
- * @see #isDesignTime()
- * @generated
- */
- void setDesignTime(boolean value);
-
- /**
- * Unsets the value of the '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#isDesignTime <em>Design Time</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetDesignTime()
- * @see #isDesignTime()
- * @see #setDesignTime(boolean)
- * @generated
- */
- void unsetDesignTime();
-
- /**
- * Returns whether the value of the '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#isDesignTime <em>Design Time</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Design Time</em>' attribute is set.
- * @see #unsetDesignTime()
- * @see #isDesignTime()
- * @see #setDesignTime(boolean)
- * @generated
- */
- boolean isSetDesignTime();
-
- /**
- * Returns the value of the '<em><b>Always Incompatible</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Always Incompatible</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * If set true, then when multiple objects are selected, this property is always incompatible with each other. So in this case the property will not show up on the property sheet if more than one object has been selected.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Always Incompatible</em>' attribute.
- * @see #setAlwaysIncompatible(boolean)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getPropertyDecorator_AlwaysIncompatible()
- * @model
- * @generated
- */
- boolean isAlwaysIncompatible();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#isAlwaysIncompatible <em>Always Incompatible</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Always Incompatible</em>' attribute.
- * @see #isAlwaysIncompatible()
- * @generated
- */
- void setAlwaysIncompatible(boolean value);
-
- /**
- * Returns the value of the '<em><b>Filter Flags</b></em>' attribute list.
- * The list contents are of type {@link java.lang.String}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Filter Flags</em>' attribute list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Filter Flags</em>' attribute list.
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getPropertyDecorator_FilterFlags()
- * @model type="java.lang.String"
- * @generated
- */
- EList getFilterFlags();
-
- /**
- * Returns the value of the '<em><b>Field Read Only</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * Is this field read-only (i.e. is a "final" field). This is only referenced if the field reference is set.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Field Read Only</em>' attribute.
- * @see #setFieldReadOnly(boolean)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getPropertyDecorator_FieldReadOnly()
- * @model
- * @generated
- */
- boolean isFieldReadOnly();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#isFieldReadOnly <em>Field Read Only</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Field Read Only</em>' attribute.
- * @see #isFieldReadOnly()
- * @generated
- */
- void setFieldReadOnly(boolean value);
-
- /**
- * Returns the value of the '<em><b>Property Editor Class</b></em>' reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Property Editor Class</em>' reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Property Editor Class</em>' reference.
- * @see #setPropertyEditorClass(JavaClass)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getPropertyDecorator_PropertyEditorClass()
- * @model
- * @generated
- */
- JavaClass getPropertyEditorClass();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#getPropertyEditorClass <em>Property Editor Class</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Property Editor Class</em>' reference.
- * @see #getPropertyEditorClass()
- * @generated
- */
- void setPropertyEditorClass(JavaClass value);
-
- /**
- * Returns the value of the '<em><b>Read Method</b></em>' reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Read Method</em>' reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Read Method</em>' reference.
- * @see #isSetReadMethod()
- * @see #unsetReadMethod()
- * @see #setReadMethod(Method)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getPropertyDecorator_ReadMethod()
- * @model unsettable="true"
- * @generated
- */
- Method getReadMethod();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#getReadMethod <em>Read Method</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Read Method</em>' reference.
- * @see #isSetReadMethod()
- * @see #unsetReadMethod()
- * @see #getReadMethod()
- * @generated
- */
- void setReadMethod(Method value);
-
- /**
- * Unsets the value of the '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#getReadMethod <em>Read Method</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetReadMethod()
- * @see #getReadMethod()
- * @see #setReadMethod(Method)
- * @generated
- */
- void unsetReadMethod();
-
- /**
- * Returns whether the value of the '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#getReadMethod <em>Read Method</em>}' reference is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Read Method</em>' reference is set.
- * @see #unsetReadMethod()
- * @see #getReadMethod()
- * @see #setReadMethod(Method)
- * @generated
- */
- boolean isSetReadMethod();
-
- /**
- * Returns the value of the '<em><b>Write Method</b></em>' reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Write Method</em>' reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Write Method</em>' reference.
- * @see #isSetWriteMethod()
- * @see #unsetWriteMethod()
- * @see #setWriteMethod(Method)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getPropertyDecorator_WriteMethod()
- * @model unsettable="true"
- * @generated
- */
- Method getWriteMethod();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#getWriteMethod <em>Write Method</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Write Method</em>' reference.
- * @see #isSetWriteMethod()
- * @see #unsetWriteMethod()
- * @see #getWriteMethod()
- * @generated
- */
- void setWriteMethod(Method value);
-
- /**
- * Unsets the value of the '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#getWriteMethod <em>Write Method</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetWriteMethod()
- * @see #getWriteMethod()
- * @see #setWriteMethod(Method)
- * @generated
- */
- void unsetWriteMethod();
-
- /**
- * Returns whether the value of the '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#getWriteMethod <em>Write Method</em>}' reference is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Write Method</em>' reference is set.
- * @see #unsetWriteMethod()
- * @see #getWriteMethod()
- * @see #setWriteMethod(Method)
- * @generated
- */
- boolean isSetWriteMethod();
-
- /**
- * Returns the value of the '<em><b>Field</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * If this is set, then this property is a field and not a getter/setter property. This is an extension that the Visual Editor uses to the BeanInfo model.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Field</em>' reference.
- * @see #isSetField()
- * @see #unsetField()
- * @see #setField(Field)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getPropertyDecorator_Field()
- * @model unsettable="true"
- * @generated
- */
- Field getField();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#getField <em>Field</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Field</em>' reference.
- * @see #isSetField()
- * @see #unsetField()
- * @see #getField()
- * @generated
- */
- void setField(Field value);
-
- /**
- * Unsets the value of the '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#getField <em>Field</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetField()
- * @see #getField()
- * @see #setField(Field)
- * @generated
- */
- void unsetField();
-
- /**
- * Returns whether the value of the '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#getField <em>Field</em>}' reference is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Field</em>' reference is set.
- * @see #unsetField()
- * @see #getField()
- * @see #setField(Field)
- * @generated
- */
- boolean isSetField();
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @model parameters=""
- * @generated
- */
- EClassifier getPropertyType();
-
- /**
- * @return boolean for whether this property is writeable or not
- * It could have a write method or it could have a field (e.g. java.awt.Insets.top)
- */
- boolean isWriteable();
-
- /**
- * @return boolean for whether this property is readable or not
- * It could have a read method or it could have a field (e.g. java.awt.Insets.top)
- */
- boolean isReadable();
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeanInfoAdapterMessages.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeanInfoAdapterMessages.java
deleted file mode 100644
index 2b49711d4..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeanInfoAdapterMessages.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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.beaninfo.adapters;
-
-import org.eclipse.osgi.util.NLS;
-
-public final class BeanInfoAdapterMessages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.jem.internal.beaninfo.adapters.messages";//$NON-NLS-1$
-
- private BeanInfoAdapterMessages() {
- // Do not instantiate
- }
-
- public static String INTROSPECT_FAILED_EXC_;
- public static String BeaninfoClassAdapter_ClassNotFound;
- public static String BeaninfoNature_InvalidProject;
- public static String UICreateRegistryJobHandler_StartBeaninfoRegistry;
-
- static {
- NLS.initializeMessages(BUNDLE_NAME, BeanInfoAdapterMessages.class);
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeanInfoDecoratorUtility.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeanInfoDecoratorUtility.java
deleted file mode 100644
index fb18ccf88..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeanInfoDecoratorUtility.java
+++ /dev/null
@@ -1,1446 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- * $RCSfile: BeanInfoDecoratorUtility.java,v $
- * $Revision: 1.4 $ $Date: 2005/05/11 22:41:17 $
- */
-package org.eclipse.jem.internal.beaninfo.adapters;
-
-import java.io.*;
-import java.util.*;
-
-import org.eclipse.emf.common.util.EMap;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.*;
-import org.eclipse.emf.ecore.change.*;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-
-import org.eclipse.jem.internal.beaninfo.*;
-import org.eclipse.jem.internal.beaninfo.common.*;
-import org.eclipse.jem.internal.beaninfo.core.BeaninfoPlugin;
-import org.eclipse.jem.internal.beaninfo.core.Utilities;
-import org.eclipse.jem.internal.beaninfo.impl.*;
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.java.*;
-
-/**
- * This is a utility class for handling the BeanInfo decorators with respect to the overrides (explicit settings) vs. introspected/reflected (implicit
- * settings) It handles the transmission of data from the VM for introspection.
- *
- * @since 1.1.0
- */
-public class BeanInfoDecoratorUtility {
-
- /**
- * Clear out the implicit settings for FeatureDecorator.
- *
- * @param decor
- *
- * @since 1.1.0
- */
- public static void clear(FeatureDecorator decor) {
- long implicitSettings = decor.getImplicitlySetBits();
- // For each setting, see if it was implicitly set, and if it was, then unset it.
- if ((implicitSettings & FeatureDecoratorImpl.FEATURE_DISPLAYNAME_IMPLICIT) != 0)
- decor.unsetDisplayName();
- if ((implicitSettings & FeatureDecoratorImpl.FEATURE_SHORTDESC_IMPLICIT) != 0)
- decor.unsetShortDescription();
- if ((implicitSettings & FeatureDecoratorImpl.FEATURE_CATEGORY_IMPLICIT) != 0)
- decor.eUnset(BeaninfoPackage.eINSTANCE.getFeatureDecorator_Category());
- if ((implicitSettings & FeatureDecoratorImpl.FEATURE_EXPERT_IMPLICIT) != 0)
- decor.unsetExpert();
- if ((implicitSettings & FeatureDecoratorImpl.FEATURE_HIDDEN_IMPLICIT) != 0)
- decor.unsetHidden();
- if ((implicitSettings & FeatureDecoratorImpl.FEATURE_PREFERRED_IMPLICIT) != 0)
- decor.unsetPreferred();
- if ((implicitSettings & FeatureDecoratorImpl.FEATURE_ATTRIBUTES_IMPLICIT) != 0)
- decor.eUnset(BeaninfoPackage.eINSTANCE.getFeatureDecorator_Attributes());
- decor
- .setImplicitlySetBits(implicitSettings
- & ~(FeatureDecoratorImpl.FEATURE_DISPLAYNAME_IMPLICIT | FeatureDecoratorImpl.FEATURE_SHORTDESC_IMPLICIT
- | FeatureDecoratorImpl.FEATURE_CATEGORY_IMPLICIT | FeatureDecoratorImpl.FEATURE_EXPERT_IMPLICIT
- | FeatureDecoratorImpl.FEATURE_HIDDEN_IMPLICIT | FeatureDecoratorImpl.FEATURE_PREFERRED_IMPLICIT | FeatureDecoratorImpl.FEATURE_ATTRIBUTES_IMPLICIT));
- }
-
- /**
- * Clear out the implicit settings for BeanDecorator
- *
- * @param decor
- *
- * @since 1.1.0
- */
- public static void clear(BeanDecorator decor) {
- clear((FeatureDecorator) decor);
- long implicitSettings = decor.getImplicitlySetBits();
- // For each setting, see if it was implicitly set, and if it was, then unset it.
- if ((implicitSettings & BeanDecoratorImpl.BEAN_CUSTOMIZER_IMPLICIT) != 0)
- decor.eUnset(BeaninfoPackage.eINSTANCE.getBeanDecorator_CustomizerClass());
- if ((implicitSettings & BeanDecoratorImpl.BEAN_MERGE_INHERITED_PROPERTIES_IMPLICIT) != 0)
- decor.unsetMergeSuperProperties();
- if ((implicitSettings & BeanDecoratorImpl.BEAN_MERGE_INHERITED_OPERATIONS_IMPLICIT) != 0)
- decor.unsetMergeSuperMethods();
- if ((implicitSettings & BeanDecoratorImpl.BEAN_MERGE_INHERITED_EVENTS_IMPLICIT) != 0)
- decor.unsetMergeSuperEvents();
- if (decor.eIsSet(BeaninfoPackage.eINSTANCE.getBeanDecorator_NotInheritedPropertyNames()))
- decor.eUnset(BeaninfoPackage.eINSTANCE.getBeanDecorator_NotInheritedPropertyNames()); // Just clear them. This is our attribute. It should
- // not be set overrides.
- if (decor.eIsSet(BeaninfoPackage.eINSTANCE.getBeanDecorator_NotInheritedMethodNames()))
- decor.eUnset(BeaninfoPackage.eINSTANCE.getBeanDecorator_NotInheritedMethodNames()); // Just clear them. This is our attribute. It should
- // not be set overrides.
- if (decor.eIsSet(BeaninfoPackage.eINSTANCE.getBeanDecorator_NotInheritedEventNames()))
- decor.eUnset(BeaninfoPackage.eINSTANCE.getBeanDecorator_NotInheritedEventNames()); // Just clear them. This is our attribute. It should not
- // be set overrides.
-
- decor.setImplicitlySetBits(implicitSettings
- & ~(BeanDecoratorImpl.BEAN_CUSTOMIZER_IMPLICIT | BeanDecoratorImpl.BEAN_MERGE_INHERITED_PROPERTIES_IMPLICIT
- | BeanDecoratorImpl.BEAN_MERGE_INHERITED_OPERATIONS_IMPLICIT | BeanDecoratorImpl.BEAN_MERGE_INHERITED_EVENTS_IMPLICIT));
- }
-
- /**
- * Clear out the implicit settings of the PropertyDecorator.
- *
- * @param decor
- *
- * @since 1.1.0
- */
- public static void clear(PropertyDecorator decor) {
- clear((FeatureDecorator) decor);
- long implicitSettings = decor.getImplicitlySetBits();
- // For each setting, see if it was implicitly set, and if it was, then unset it.
- if ((implicitSettings & PropertyDecoratorImpl.PROPERTY_EDITOR_CLASS_IMPLICIT) != 0)
- decor.eUnset(BeaninfoPackage.eINSTANCE.getPropertyDecorator_PropertyEditorClass());
- if ((implicitSettings & PropertyDecoratorImpl.PROPERTY_READMETHOD_IMPLICIT) != 0)
- decor.unsetReadMethod();
- if ((implicitSettings & PropertyDecoratorImpl.PROPERTY_WRITEMETHOD_IMPLICIT) != 0)
- decor.unsetWriteMethod();
- if ((implicitSettings & PropertyDecoratorImpl.PROPERTY_FIELD_IMPLICIT) != 0) {
- decor.unsetField();
- decor.eUnset(BeaninfoPackage.eINSTANCE.getPropertyDecorator_Field());
- }
- if ((implicitSettings & PropertyDecoratorImpl.PROPERTY_BOUND_IMPLICIT) != 0)
- decor.unsetBound();
- if ((implicitSettings & PropertyDecoratorImpl.PROPERTY_CONSTRAINED_IMPLICIT) != 0)
- decor.unsetConstrained();
- if ((implicitSettings & PropertyDecoratorImpl.PROPERTY_DESIGNTIME_IMPLICIT) != 0)
- decor.unsetDesignTime();
- decor.setImplicitlySetBits(implicitSettings
- & ~(PropertyDecoratorImpl.PROPERTY_EDITOR_CLASS_IMPLICIT | PropertyDecoratorImpl.PROPERTY_READMETHOD_IMPLICIT
- | PropertyDecoratorImpl.PROPERTY_WRITEMETHOD_IMPLICIT | PropertyDecoratorImpl.PROPERTY_BOUND_IMPLICIT
- | PropertyDecoratorImpl.PROPERTY_CONSTRAINED_IMPLICIT | PropertyDecoratorImpl.PROPERTY_DESIGNTIME_IMPLICIT));
- }
-
- /**
- * Clear out the implicit settings of the IndexedPropertyDecorator.
- *
- * @param decor
- *
- * @since 1.1.0
- */
- public static void clear(IndexedPropertyDecorator decor) {
- clear((PropertyDecorator) decor);
- long implicitSettings = decor.getImplicitlySetBits();
- // For each setting, see if it was implicitly set, and if it was, then unset it.
- if ((implicitSettings & IndexedPropertyDecoratorImpl.INDEXED_READMETHOD_IMPLICIT) != 0)
- decor.unsetIndexedReadMethod();
- if ((implicitSettings & IndexedPropertyDecoratorImpl.INDEXED_WRITEMETHOD_IMPLICIT) != 0)
- decor.unsetIndexedWriteMethod();
- decor.setImplicitlySetBits(implicitSettings
- & ~(IndexedPropertyDecoratorImpl.INDEXED_READMETHOD_IMPLICIT | IndexedPropertyDecoratorImpl.INDEXED_WRITEMETHOD_IMPLICIT));
- }
-
- /**
- * Clear the method decorator of any implicit settings.
- *
- * @param decor
- *
- * @since 1.1.0
- */
- public static void clear(MethodDecorator decor) {
- clear((FeatureDecorator) decor);
- long implicitSettings = decor.getImplicitlySetBits();
- // For each setting, see if it was implicitly set, and if it was, then unset it.
- if ((implicitSettings & (MethodDecoratorImpl.METHOD_PARAMETERS_IMPLICIT | MethodDecoratorImpl.METHOD_PARAMETERS_DEFAULT)) != 0)
- decor.eUnset(BeaninfoPackage.eINSTANCE.getMethodDecorator_SerParmDesc());
- decor.setImplicitlySetBits(implicitSettings
- & ~(MethodDecoratorImpl.METHOD_PARAMETERS_IMPLICIT | MethodDecoratorImpl.METHOD_PARAMETERS_DEFAULT));
- }
-
- /**
- * Clear the event set decorator of any implicit settings.
- *
- * @param decor
- *
- * @since 1.1.0
- */
- public static void clear(EventSetDecorator decor) {
- clear((FeatureDecorator) decor);
- long implicitSettings = decor.getImplicitlySetBits();
- // For each setting, see if it was implicitly set, and if it was, then unset it.
- if ((implicitSettings & EventSetDecoratorImpl.EVENT_ADDLISTENERMETHOD_IMPLICIT) != 0)
- decor.eUnset(BeaninfoPackage.eINSTANCE.getEventSetDecorator_AddListenerMethod());
- if ((implicitSettings & EventSetDecoratorImpl.EVENT_ADAPTERCLASS_IMPLICIT) != 0)
- decor.eUnset(BeaninfoPackage.eINSTANCE.getEventSetDecorator_EventAdapterClass());
- if ((implicitSettings & (EventSetDecoratorImpl.EVENT_LISTENERMETHODS_IMPLICIT | EventSetDecoratorImpl.EVENT_LISTENERMETHODS_DEFAULT)) != 0)
- decor.eUnset(BeaninfoPackage.eINSTANCE.getEventSetDecorator_SerListMthd());
- if ((implicitSettings & EventSetDecoratorImpl.EVENT_REMOVELISTENERMETHOD_IMPLICIT) != 0)
- decor.eUnset(BeaninfoPackage.eINSTANCE.getEventSetDecorator_RemoveListenerMethod());
- if ((implicitSettings & EventSetDecoratorImpl.EVENT_DEFAULTEVENTSET_IMPLICIT) != 0)
- decor.unsetInDefaultEventSet();
- if ((implicitSettings & EventSetDecoratorImpl.EVENT_UNICAST_IMPLICIT) != 0)
- decor.unsetUnicast();
- if ((implicitSettings & EventSetDecoratorImpl.EVENT_LISTENERTYPE_IMPLICIT) != 0)
- decor.eUnset(BeaninfoPackage.eINSTANCE.getEventSetDecorator_ListenerType());
-
- decor.setImplicitlySetBits(implicitSettings
- & ~(EventSetDecoratorImpl.EVENT_ADDLISTENERMETHOD_IMPLICIT | EventSetDecoratorImpl.EVENT_ADAPTERCLASS_IMPLICIT
- | EventSetDecoratorImpl.EVENT_LISTENERMETHODS_IMPLICIT | EventSetDecoratorImpl.EVENT_LISTENERMETHODS_DEFAULT
- | EventSetDecoratorImpl.EVENT_REMOVELISTENERMETHOD_IMPLICIT | EventSetDecoratorImpl.EVENT_DEFAULTEVENTSET_IMPLICIT
- | EventSetDecoratorImpl.EVENT_UNICAST_IMPLICIT | EventSetDecoratorImpl.EVENT_LISTENERTYPE_IMPLICIT));
-
- }
-
- public static void introspect(IBeanProxy modelBeaninfoProxy, IntrospectCallBack callback) {
- ProxyIntrospectCallBack cb = new ProxyIntrospectCallBack(callback);
- modelBeaninfoProxy.getProxyFactoryRegistry().getCallbackRegistry().registerCallback(modelBeaninfoProxy, cb);
- try {
- BeaninfoProxyConstants.getConstants(modelBeaninfoProxy.getProxyFactoryRegistry()).getSendBeanInfoProxy()
- .invokeCatchThrowableExceptions(modelBeaninfoProxy);
- } finally {
- modelBeaninfoProxy.getProxyFactoryRegistry().getCallbackRegistry().deregisterCallback(modelBeaninfoProxy);
- }
-
- }
-
- /**
- * This call back is for each requested type of record. It allows the callee to process this record.
- *
- * @since 1.1.0
- */
- public interface IntrospectCallBack {
-
- /**
- * Process the BeanDecoratorRecord. The callee can decide what needs to be done with this record. It would return the BeandDecorator that needs
- * to have the record applied to. If it returns <code>null</code> then the record will be ignored.
- * <p>
- * Note: This will be called on a separate thread from that which initiated the request. Therefor be careful with any locks because you may
- * have them on a separate thread.
- *
- * @param record
- * @return BeanDecorator to be applied to, or <code>null</code> if record is to be ignored.
- *
- * @since 1.1.0
- */
- public BeanDecorator process(BeanRecord record);
-
- /**
- * Process the PropertyRecord. The callee can decide what needs to be done with this record. It would return the PropertyDecorator that needs
- * to have the record applied to. If it returns <code>null</code> then the record will be ignored.
- * <p>
- * Note: This will be called on a separate thread from that which initiated the request. Therefor be careful with any locks because you may
- * have them on a separate thread.
- *
- * @param record
- * @return PropertyDecorator to be applied to, or <code>null</code> if record is to be ignored.
- *
- * @since 1.1.0
- */
- public PropertyDecorator process(PropertyRecord record);
-
- /**
- * Process the IndexedPropertyRecord. The callee can decide what needs to be done with this record. It would return the
- * IndexedPropertyDecorator that needs to have the record applied to. If it returns <code>null</code> then the record will be ignored.
- *
- * <p>
- * Note: This will be called on a separate thread from that which initiated the request. Therefor be careful with any locks because you may
- * have them on a separate thread.
- *
- * @param record
- * @return PropertyDecorator to be applied to, or <code>null</code> if record is to be ignored. There is a possibility that a straight
- * PropertyDecorator can be returned instead (in the case that it was explictly set by overrides as a property but beaninfo thinks it
- * is an index. This can be handled by it will only set the PropertyRecord part. It normally should be an IndexedPropertyDecorator
- * returned.
- *
- * @since 1.1.0
- */
- public PropertyDecorator process(IndexedPropertyRecord record);
-
- /**
- * Process the MethodRecord. The callee can decide what needs to be done with this record. It would return the MethodDecorator that needs to
- * have the record applied to. If it returns <code>null</code> then the record will be ignored.
- *
- * <p>
- * Note: This will be called on a separate thread from that which initiated the request. Therefor be careful with any locks because you may
- * have them on a separate thread.
- *
- * @param record
- * @return MethodDecorator to be applied to, or <code>null</code> if record is to be ignored.
- *
- * @since 1.1.0
- */
-
- public MethodDecorator process(MethodRecord record);
-
- /**
- * Process the EventRecord. The callee can decide what needs to be done with this record. It would return the EventSetDecorator that needs to
- * have the record applied to. If it returns <code>null</code> then the record will be ignored.
- *
- * <p>
- * Note: This will be called on a separate thread from that which initiated the request. Therefor be careful with any locks because you may
- * have them on a separate thread.
- *
- * @param record
- * @return EventSetDecorator to be applied to, or <code>null</code> if record is to be ignored.
- *
- * @since 1.1.0
- */
-
- public EventSetDecorator process(EventSetRecord record);
- }
-
- private static class ProxyIntrospectCallBack implements ICallback {
-
- private IntrospectCallBack introspectCallback;
-
- public ProxyIntrospectCallBack(IntrospectCallBack introspectCallback) {
- this.introspectCallback = introspectCallback;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.ICallback#calledBack(int, org.eclipse.jem.internal.proxy.core.IBeanProxy)
- */
- public Object calledBack(int msgID, IBeanProxy parm) {
- return null; // Not used.
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.ICallback#calledBack(int, java.lang.Object)
- */
- public Object calledBack(int msgID, Object parm) {
- return null; // Not used.
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.ICallback#calledBack(int, java.lang.Object[])
- */
- public Object calledBack(int msgID, Object[] parms) {
- return null; // Not used.
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.ICallback#calledBackStream(int, java.io.InputStream)
- */
- public void calledBackStream(int msgID, InputStream is) {
- ObjectInputStream ois;
- try {
- ois = new ObjectInputStream(is);
- while (true) {
- int cmdId = ois.readInt();
- switch (cmdId) {
- case IBeanInfoIntrospectionConstants.BEAN_DECORATOR_SENT:
- try {
- BeanRecord br = (BeanRecord) ois.readObject();
- BeanDecorator bd = introspectCallback.process(br);
- if (bd != null) {
- clear(bd);
- applyRecord(bd, br);
- }
- } catch (IOException e) {
- BeaninfoPlugin.getPlugin().getLogger().log(e);
- } catch (ClassCastException e) {
- BeaninfoPlugin.getPlugin().getLogger().log(e);
- } catch (ClassNotFoundException e) {
- BeaninfoPlugin.getPlugin().getLogger().log(e);
- }
- break;
- case IBeanInfoIntrospectionConstants.PROPERTY_DECORATORS_SENT:
- try {
- int propCount = ois.readInt();
- for (int i = 0; i < propCount; i++) {
- PropertyRecord pr = (PropertyRecord) ois.readObject();
- if (pr.getClass() == IndexedPropertyRecord.class) {
- IndexedPropertyRecord ipr = (IndexedPropertyRecord) pr;
- PropertyDecorator ip = introspectCallback.process(ipr);
- if (ip != null) {
- // It actually could be either a property decorator or an indexed property decorator. This could happen
- // because the overrides file has explicitly declared a PropertyDecorator, so we can't change it to an
- // Indexed.
- // So in that case we can only fill the property part.
- if (ip.eClass().getClassifierID() == BeaninfoPackage.INDEXED_PROPERTY_DECORATOR)
- applyRecord((IndexedPropertyDecorator) ip, ipr);
- else
- applyRecord(ip, pr); // It was forced to be a property and not indexed.
- }
- } else {
- PropertyDecorator p = introspectCallback.process(pr);
- if (p != null) {
- // It actually could be either a property decorator or an indexed property decorator. This could happen
- // because the overrides file has explicitly declared an IndexedPropertyDecorator, so we can't change it
- // to an
- // Property.
- // So in that case we can only fill the property part.
- applyRecord(p, pr);
- }
- }
- }
- } catch (IOException e) {
- BeaninfoPlugin.getPlugin().getLogger().log(e);
- } catch (ClassNotFoundException e) {
- BeaninfoPlugin.getPlugin().getLogger().log(e);
- } catch (ClassCastException e) {
- // In case we got bad data sent in.
- BeaninfoPlugin.getPlugin().getLogger().log(e);
- } finally {
- }
- break;
-
- case IBeanInfoIntrospectionConstants.METHOD_DECORATORS_SENT:
- try {
- int opCount = ois.readInt();
- for (int i = 0; i < opCount; i++) {
- MethodRecord mr = (MethodRecord) ois.readObject();
- MethodDecorator m = introspectCallback.process(mr);
- if (m != null)
- applyRecord(m, mr);
- }
- } catch (IOException e) {
- BeaninfoPlugin.getPlugin().getLogger().log(e);
- } catch (ClassNotFoundException e) {
- BeaninfoPlugin.getPlugin().getLogger().log(e);
- } catch (ClassCastException e) {
- // In case we got bad data sent in.
- BeaninfoPlugin.getPlugin().getLogger().log(e);
- }
- break;
-
- case IBeanInfoIntrospectionConstants.EVENT_DECORATORS_SENT:
- try {
- int opCount = ois.readInt();
- for (int i = 0; i < opCount; i++) {
- EventSetRecord evr = (EventSetRecord) ois.readObject();
- EventSetDecorator e = introspectCallback.process(evr);
- if (e != null)
- applyRecord(e, evr);
- }
- } catch (IOException e) {
- BeaninfoPlugin.getPlugin().getLogger().log(e);
- } catch (ClassNotFoundException e) {
- BeaninfoPlugin.getPlugin().getLogger().log(e);
- } catch (ClassCastException e) {
- // In case we got bad data sent in.
- BeaninfoPlugin.getPlugin().getLogger().log(e);
- }
- break;
-
- case IBeanInfoIntrospectionConstants.DONE:
- return; // Good. This is a good stop.
-
- default:
- return; // This is invalid. Should of gotton something.
- }
- }
- } catch (IOException e) {
- BeaninfoPlugin.getPlugin().getLogger().log(e);
- }
- }
- }
-
- /**
- * Apply the feature record to the feature decorator. This is protected because this is an abstract and should never be called by itself.
- * <p>
- *
- * @param decor
- * @param record
- *
- * @since 1.1.0
- */
- protected static void applyRecord(FeatureDecorator decor, FeatureRecord record) {
- // Subclasses will clear their decor, which will automatically clear the FeatureDecor part for us.
- long implicitSettings = decor.getImplicitlySetBits();
- if (record.displayName != null && !decor.isSetDisplayName()) {
- decor.setDisplayName(record.displayName);
- implicitSettings |= FeatureDecoratorImpl.FEATURE_DISPLAYNAME_IMPLICIT;
- }
- if (record.shortDescription != null && !decor.isSetShortDescription()) {
- decor.setShortDescription(record.shortDescription);
- implicitSettings |= FeatureDecoratorImpl.FEATURE_SHORTDESC_IMPLICIT;
- }
- if (record.category != null && !decor.eIsSet(BeaninfoPackage.eINSTANCE.getFeatureDecorator_Category())) {
- decor.setCategory(record.category);
- implicitSettings |= FeatureDecoratorImpl.FEATURE_CATEGORY_IMPLICIT;
- }
- if (!decor.isSetExpert()) {
- if (decor.isExpert() != record.expert)
- decor.setExpert(record.expert); // Don't want to explicitly set it if it is equal to default (this will put less out to the cache file
- // and so will parse and apply faster).
- implicitSettings |= FeatureDecoratorImpl.FEATURE_EXPERT_IMPLICIT;
- }
- if (!decor.isSetHidden()) {
- if (decor.isHidden() != record.hidden)
- decor.setHidden(record.hidden);
- implicitSettings |= FeatureDecoratorImpl.FEATURE_HIDDEN_IMPLICIT;
- }
- if (!decor.isSetPreferred()) {
- if (decor.isPreferred() != record.preferred)
- decor.setPreferred(record.preferred);
- implicitSettings |= FeatureDecoratorImpl.FEATURE_PREFERRED_IMPLICIT;
- }
- if (record.attributeNames != null && !decor.isAttributesExplicitEmpty()
- && !decor.eIsSet(BeaninfoPackage.eINSTANCE.getFeatureDecorator_Attributes())) {
- // This is a list, so we need to read an fill in.
- EMap attrs = decor.getAttributes();
- for (int i = 0; i < record.attributeNames.length; i++) {
- FeatureAttributeMapEntryImpl entry = (FeatureAttributeMapEntryImpl) ((BeaninfoFactoryImpl) BeaninfoFactory.eINSTANCE)
- .createFeatureAttributeMapEntry();
- entry.setTypedKey(record.attributeNames[i]);
- entry.setTypedValue(record.attributeValues[i]);
- attrs.add(entry);
- }
- implicitSettings |= FeatureDecoratorImpl.FEATURE_ATTRIBUTES_IMPLICIT;
- }
-
- decor.setImplicitlySetBits(implicitSettings); // Now save was implicitly set.
- }
-
- /**
- * Apply the bean record to the bean decorator.
- *
- * @param decor
- * @param record
- *
- * @since 1.1.0
- */
- public static void applyRecord(BeanDecorator decor, BeanRecord record) {
- applyRecord((FeatureDecorator) decor, record);
-
- long implicitSettings = decor.getImplicitlySetBits();
- if (record.customizerClassName != null && !decor.eIsSet(BeaninfoPackage.eINSTANCE.getBeanDecorator_CustomizerClass())) {
- decor.setCustomizerClass(createJavaClassProxy(record.customizerClassName));
- implicitSettings |= BeanDecoratorImpl.BEAN_CUSTOMIZER_IMPLICIT;
- }
- if (!decor.isSetMergeSuperProperties()) {
- if (decor.isMergeSuperProperties() != record.mergeInheritedProperties)
- decor.setMergeSuperProperties(record.mergeInheritedProperties);
- implicitSettings |= BeanDecoratorImpl.BEAN_MERGE_INHERITED_PROPERTIES_IMPLICIT;
- }
- if (!decor.isSetMergeSuperMethods()) {
- if (decor.isMergeSuperMethods() != record.mergeInheritedOperations)
- decor.setMergeSuperMethods(record.mergeInheritedOperations);
- implicitSettings |= BeanDecoratorImpl.BEAN_MERGE_INHERITED_OPERATIONS_IMPLICIT;
- }
- if (!decor.isSetMergeSuperEvents()) {
- if (decor.isMergeSuperEvents() != record.mergeInheritedEvents)
- decor.setMergeSuperEvents(record.mergeInheritedEvents);
- implicitSettings |= BeanDecoratorImpl.BEAN_MERGE_INHERITED_EVENTS_IMPLICIT;
- }
- if (record.notInheritedPropertyNames != null) {
- // This is always applied. This isn't a client override so we can just slam it.
- decor.getNotInheritedPropertyNames().addAll(Arrays.asList(record.notInheritedPropertyNames));
- }
- if (record.notInheritedOperationNames != null) {
- // This is always applied. This isn't a client override so we can just slam it.
- decor.getNotInheritedMethodNames().addAll(Arrays.asList(record.notInheritedOperationNames));
- }
- if (record.notInheritedEventNames != null) {
- // This is always applied. This isn't a client override so we can just slam it.
- decor.getNotInheritedEventNames().addAll(Arrays.asList(record.notInheritedEventNames));
- }
-
- decor.setImplicitlySetBits(implicitSettings); // Now save was implicitly set.
- }
-
- /**
- * Apply the PropertyRecord to the PropertyDecorator.
- *
- * @param decor
- * @param record
- *
- * @since 1.1.0
- */
- public static void applyRecord(PropertyDecorator decor, PropertyRecord record) {
- applyRecord((FeatureDecorator) decor, record);
-
- applyOnly(decor, record);
- }
-
- /*
- * Apply only to property decorator part. Allows IndexedProperty to apply just the Property part and not do duplicate work
- */
- private static void applyOnly(PropertyDecorator decor, PropertyRecord record) {
- long implicitSettings = decor.getImplicitlySetBits();
- if (record.propertyEditorClassName != null && !decor.eIsSet(BeaninfoPackage.eINSTANCE.getPropertyDecorator_PropertyEditorClass())) {
- decor.setPropertyEditorClass(createJavaClassProxy(record.propertyEditorClassName));
- implicitSettings |= PropertyDecoratorImpl.PROPERTY_EDITOR_CLASS_IMPLICIT;
- }
- if (record.readMethod != null && !decor.isSetReadMethod()) {
- decor.setReadMethod(createJavaMethodProxy(record.readMethod));
- implicitSettings |= PropertyDecoratorImpl.PROPERTY_READMETHOD_IMPLICIT;
- }
- if (record.writeMethod != null && !decor.isSetWriteMethod()) {
- decor.setWriteMethod(createJavaMethodProxy(record.writeMethod));
- implicitSettings |= PropertyDecoratorImpl.PROPERTY_WRITEMETHOD_IMPLICIT;
- }
- if (record.field != null && !decor.isSetField()) {
- decor.setField(createJavaFieldProxy(record.field));
- if (decor.isFieldReadOnly() != record.field.readOnly)
- decor.setFieldReadOnly(record.field.readOnly);
- implicitSettings |= PropertyDecoratorImpl.PROPERTY_FIELD_IMPLICIT;
- }
- if (!decor.isSetBound()) {
- if (decor.isBound() != record.bound)
- decor.setBound(record.bound);
- implicitSettings |= PropertyDecoratorImpl.PROPERTY_BOUND_IMPLICIT;
- }
- if (!decor.isSetConstrained()) {
- if (decor.isConstrained() != record.constrained)
- decor.setConstrained(record.constrained);
- implicitSettings |= PropertyDecoratorImpl.PROPERTY_CONSTRAINED_IMPLICIT;
- }
- if (record.designTime != null && !decor.isSetDesignTime()) {
- // Design time is slightly different than the other booleans because
- // explicitly set to true/false is important versus not explicitly set at all (which is false).
- decor.setDesignTime(record.designTime.booleanValue());
- implicitSettings |= PropertyDecoratorImpl.PROPERTY_DESIGNTIME_IMPLICIT;
- }
-
- decor.setImplicitlySetBits(implicitSettings); // Now save was implicitly set.
-
- }
-
- public static void applyRecord(IndexedPropertyDecorator decor, IndexedPropertyRecord record) {
- applyRecord((FeatureDecorator) decor, record);
- applyOnly(decor, record);
-
- long implicitSettings = decor.getImplicitlySetBits();
- if (record.indexedReadMethod != null && !decor.isSetIndexedReadMethod()) {
- decor.setIndexedReadMethod(createJavaMethodProxy(record.indexedReadMethod));
- implicitSettings |= IndexedPropertyDecoratorImpl.INDEXED_READMETHOD_IMPLICIT;
- }
- if (record.indexedWriteMethod != null && !decor.isSetIndexedWriteMethod()) {
- decor.setIndexedWriteMethod(createJavaMethodProxy(record.indexedWriteMethod));
- implicitSettings |= IndexedPropertyDecoratorImpl.INDEXED_WRITEMETHOD_IMPLICIT;
- }
- decor.setImplicitlySetBits(implicitSettings); // Now save was implicitly set.
- }
-
- /**
- * Apply the method record to the method decorator.
- *
- * @param decor
- * @param record
- *
- * @since 1.1.0
- */
- public static void applyRecord(MethodDecorator decor, MethodRecord record) {
- applyRecord((FeatureDecorator) decor, record);
-
- long implicitSettings = decor.getImplicitlySetBits();
- if (record.parameters != null && !decor.isParmsExplicitEmpty()
- && !decor.eIsSet(BeaninfoPackage.eINSTANCE.getMethodDecorator_ParameterDescriptors())) {
- // This is a list, so we need to read an fill in.
- List parms = decor.getSerParmDesc(); // So as not to have it implicitly fill it in, which it would if we called getParameterDescriptors.
- for (int i = 0; i < record.parameters.length; i++) {
- ParameterDecorator parm = BeaninfoFactory.eINSTANCE.createParameterDecorator();
- applyRecord(parm, record.parameters[i]);
- parms.add(parm);
- }
- implicitSettings |= MethodDecoratorImpl.METHOD_PARAMETERS_IMPLICIT;
- implicitSettings &= ~MethodDecoratorImpl.METHOD_PARAMETERS_DEFAULT; // Should of already been cleared, but be safe.
- }
-
- decor.setImplicitlySetBits(implicitSettings); // Now save was implicitly set.
- }
-
- public static void applyRecord(ParameterDecorator decor, ParameterRecord record) {
- applyRecord((FeatureDecorator) decor, record);
-
- long implicitSettings = decor.getImplicitlySetBits();
- if (record.name != null && !decor.eIsSet(BeaninfoPackage.eINSTANCE.getParameterDecorator_Name())) {
- decor.setName(record.name);
- implicitSettings |= ParameterDecoratorImpl.PARAMETER_NAME_IMPLICIT;
- }
- decor.setImplicitlySetBits(implicitSettings); // Now save was implicitly set.
- }
-
- /**
- * Apply the event set record to the event set decorator.
- *
- * @param decor
- * @param record
- *
- * @since 1.1.0
- */
- public static void applyRecord(EventSetDecorator decor, EventSetRecord record) {
- applyRecord((FeatureDecorator) decor, record);
-
- long implicitSettings = decor.getImplicitlySetBits();
- if (record.addListenerMethod != null && !decor.eIsSet(BeaninfoPackage.eINSTANCE.getEventSetDecorator_AddListenerMethod())) {
- decor.setAddListenerMethod(createJavaMethodProxy(record.addListenerMethod));
- implicitSettings |= EventSetDecoratorImpl.EVENT_ADDLISTENERMETHOD_IMPLICIT;
- }
- if (record.eventAdapterClassName != null && !decor.eIsSet(BeaninfoPackage.eINSTANCE.getEventSetDecorator_EventAdapterClass())) {
- decor.setEventAdapterClass(createJavaClassProxy(record.eventAdapterClassName));
- implicitSettings |= EventSetDecoratorImpl.EVENT_ADAPTERCLASS_IMPLICIT;
- }
- if (record.listenerMethodDescriptors != null && !decor.isListenerMethodsExplicitEmpty()
- && !decor.eIsSet(BeaninfoPackage.eINSTANCE.getEventSetDecorator_ListenerMethods())) {
- List methods = decor.getSerListMthd(); // So as not to have it implicitly fill it in, which it would if we called getListenerMethods.
- for (int i = 0; i < record.listenerMethodDescriptors.length; i++) {
- BeaninfoFactory bfact = BeaninfoFactory.eINSTANCE;
- MethodRecord mr = record.listenerMethodDescriptors[i];
- Method method = createJavaMethodProxy(mr.methodForDescriptor);
- // We need a method proxy, and a method decorator.
- MethodProxy mproxy = bfact.createMethodProxy();
- mproxy.setMethod(method);
- mproxy.setName(mr.name);
- MethodDecorator md = bfact.createMethodDecorator();
- applyRecord(md, mr);
- mproxy.getEAnnotations().add(md);
- methods.add(mproxy);
- }
- implicitSettings |= EventSetDecoratorImpl.EVENT_LISTENERMETHODS_IMPLICIT;
- implicitSettings &= ~EventSetDecoratorImpl.EVENT_LISTENERMETHODS_DEFAULT; // Should of already been cleared, but be safe.
- }
- if (record.listenerTypeName != null && !decor.eIsSet(BeaninfoPackage.eINSTANCE.getEventSetDecorator_ListenerType())) {
- decor.setListenerType(createJavaClassProxy(record.listenerTypeName));
- implicitSettings |= EventSetDecoratorImpl.EVENT_LISTENERTYPE_IMPLICIT;
- }
- if (record.removeListenerMethod != null && !decor.eIsSet(BeaninfoPackage.eINSTANCE.getEventSetDecorator_RemoveListenerMethod())) {
- decor.setRemoveListenerMethod(createJavaMethodProxy(record.removeListenerMethod));
- implicitSettings |= EventSetDecoratorImpl.EVENT_REMOVELISTENERMETHOD_IMPLICIT;
- }
- if (!decor.isSetInDefaultEventSet()) {
- if (record.inDefaultEventSet != decor.isInDefaultEventSet())
- decor.setInDefaultEventSet(record.inDefaultEventSet);
- implicitSettings |= EventSetDecoratorImpl.EVENT_DEFAULTEVENTSET_IMPLICIT;
- }
- if (!decor.isSetUnicast()) {
- if (record.unicast != decor.isUnicast())
- decor.setUnicast(record.unicast);
- implicitSettings |= EventSetDecoratorImpl.EVENT_UNICAST_IMPLICIT;
- }
-
- decor.setImplicitlySetBits(implicitSettings); // Now save was implicitly set.
- }
-
- /**
- * Create a java class proxy for the given name. By being a proxy we don't need to actually have the resource set. Nor do we need to fluff one up
- * until someone actually asks for it.
- * <p>
- * The jniName must refer to a JavaClass or errors could occur later on.
- *
- * @param jniName
- * classname in JNI format.
- * @return JavaClass proxy or <code>null</code> if not a java class (it may be a type).
- *
- * @since 1.1.0
- */
- public static JavaClass createJavaClassProxy(String jniName) {
- JavaHelpers jh = createJavaTypeProxy(jniName);
- return jh instanceof JavaClass ? (JavaClass) jh : null;
- }
-
- /**
- * Create a JavaHelpers proxy for the given name. By being a proxy we don't need to actually have the resource set. Nor do we need to fluff one up
- * until someone actually asks for it.
- *
- * @param jniName
- * typename in JNI format.
- * @return JavaHelper proxy.
- *
- * @since 1.1.0
- */
- public static JavaHelpers createJavaTypeProxy(String jniName) {
- String formalName = MapJNITypes.getFormalTypeName(jniName);
-
- URI uri = Utilities.getJavaClassURI(formalName);
- JavaHelpers jh = null;
- if (MapJNITypes.isFormalTypePrimitive(formalName))
- jh = JavaRefFactory.eINSTANCE.createJavaDataType();
- else
- jh = JavaRefFactory.eINSTANCE.createJavaClass();
- ((InternalEObject) jh).eSetProxyURI(uri);
- return jh;
- }
-
- public static Method createJavaMethodProxy(ReflectMethodRecord method) {
- String[] parmTypes = method.parameterTypeNames != null ? new String[method.parameterTypeNames.length] : null;
- if (parmTypes != null)
- for (int i = 0; i < method.parameterTypeNames.length; i++) {
- parmTypes[i] = MapJNITypes.getFormalTypeName(method.parameterTypeNames[i]);
- }
- URI uri = Utilities.getMethodURI(MapJNITypes.getFormalTypeName(method.className), method.methodName, parmTypes);
- Method methodEMF = JavaRefFactory.eINSTANCE.createMethod();
- ((InternalEObject) methodEMF).eSetProxyURI(uri);
- return methodEMF;
- }
-
- public static Field createJavaFieldProxy(ReflectFieldRecord field) {
- URI uri = Utilities.getFieldURI(MapJNITypes.getFormalTypeName(field.className), field.fieldName);
- Field fieldEMF = JavaRefFactory.eINSTANCE.createField();
- ((InternalEObject) fieldEMF).eSetProxyURI(uri);
- return fieldEMF;
- }
-
- /**
- * Set the properties on the PropertyDecorator. These come from reflection. Since this is a private interface between BeaninfoClassAdapter and
- * this class, not all possible settings need to be mentioned. Only the ones that can be set by reflection. It is assumed that clear has already
- * been done so that there are no old implicit settings. It will check if properties are set already before setting so that don't wipe out
- * explicit settings.
- *
- * @param prop
- * @param bound
- * @param constrained
- * @param getter
- * @param setter
- *
- * @since 1.1.0
- */
- public static void setProperties(PropertyDecorator prop, boolean bound, boolean constrained, Method getter, Method setter) {
- long implicitSettings = prop.getImplicitlySetBits();
- if (getter != null && !prop.isSetReadMethod()) {
- prop.setReadMethod(getter);
- implicitSettings |= PropertyDecoratorImpl.PROPERTY_READMETHOD_IMPLICIT;
- }
- if (setter != null && !prop.isSetWriteMethod()) {
- prop.setWriteMethod(setter);
- implicitSettings |= PropertyDecoratorImpl.PROPERTY_WRITEMETHOD_IMPLICIT;
- }
- if (!prop.isSetBound()) {
- if (prop.isBound() != bound)
- prop.setBound(bound);
- implicitSettings |= PropertyDecoratorImpl.PROPERTY_BOUND_IMPLICIT;
- }
- if (!prop.isSetConstrained()) {
- if (prop.isConstrained() != constrained)
- prop.setConstrained(constrained);
- implicitSettings |= PropertyDecoratorImpl.PROPERTY_CONSTRAINED_IMPLICIT;
- }
- prop.setImplicitlySetBits(implicitSettings); // Now save was implicitly set.
- }
-
- /**
- * Set the properties on the IndexedPropertyDecorator. These come from reflection. It is only the indexed portion. The base property portion
- * should have already been set. Since this is a private interface between BeaninfoClassAdapter and this class, not all possible settings need to
- * be mentioned. Only the ones that can be set by reflection. It is assumed that clear has already been done so that there are no old implicit
- * settings. It will check if properties are set already before setting so that don't wipe out explicit settings.
- *
- * @param prop
- * @param indexedGetter
- * @param indexedSetter
- *
- * @since 1.1.0
- */
- public static void setProperties(IndexedPropertyDecorator prop, Method indexedGetter, Method indexedSetter) {
- long implicitSettings = prop.getImplicitlySetBits();
- if (indexedGetter != null && !prop.isSetIndexedReadMethod()) {
- prop.setIndexedReadMethod(indexedGetter);
- implicitSettings |= IndexedPropertyDecoratorImpl.INDEXED_READMETHOD_IMPLICIT;
- }
- if (indexedSetter != null && !prop.isSetIndexedWriteMethod()) {
- prop.setIndexedWriteMethod(indexedSetter);
- implicitSettings |= IndexedPropertyDecoratorImpl.INDEXED_WRITEMETHOD_IMPLICIT;
- }
- prop.setImplicitlySetBits(implicitSettings); // Now save was implicitly set.
- }
-
- /**
- * Set the properties on the EventSetDecorator. These come from reflection. Since this is a private interface between BeaninfoClassAdapter and
- * this class, not all possible settings need to be mentioned. Only the ones that can be set by reflection. It is assumed that clear has already
- * been done so that there are no old implicit settings. It will check if properties are set already before setting so that don't wipe out
- * explicit settings.
- *
- * @param event
- * @param bound
- * @param constrained
- * @param getter
- * @param setter
- *
- * @since 1.1.0
- */
- public static void setProperties(EventSetDecorator event, Method addListenerMethod, Method removeListenerMethod, boolean unicast,
- JavaClass listenerType) {
- long implicitSettings = event.getImplicitlySetBits();
- if (addListenerMethod != null && !event.eIsSet(BeaninfoPackage.eINSTANCE.getEventSetDecorator_AddListenerMethod())) {
- event.setAddListenerMethod(addListenerMethod);
- implicitSettings |= EventSetDecoratorImpl.EVENT_ADDLISTENERMETHOD_IMPLICIT;
- }
- if (removeListenerMethod != null && !event.eIsSet(BeaninfoPackage.eINSTANCE.getEventSetDecorator_RemoveListenerMethod())) {
- event.setRemoveListenerMethod(removeListenerMethod);
- implicitSettings |= EventSetDecoratorImpl.EVENT_REMOVELISTENERMETHOD_IMPLICIT;
- }
- if (!event.isSetUnicast()) {
- if (event.isUnicast() != unicast)
- event.setUnicast(unicast);
- implicitSettings |= PropertyDecoratorImpl.PROPERTY_BOUND_IMPLICIT;
- }
- if (listenerType != null && !event.eIsSet(BeaninfoPackage.eINSTANCE.getEventSetDecorator_ListenerType())) {
- event.setListenerType(listenerType);
- implicitSettings |= EventSetDecoratorImpl.EVENT_LISTENERTYPE_IMPLICIT;
- }
-
- event.setImplicitlySetBits(implicitSettings); // Now save was implicitly set.
- }
-
- /**
- * Build the appropriate change record for the bean decorator. Either it is an add of a new bean decorator or it is the setting of the implicit
- * settings on an non-implicit bean decorator.
- * @param cd
- * @param bd
- *
- * @since 1.1.0
- */
- public static void buildChange(ChangeDescription cd, BeanDecorator bd) {
- // Only do anything if merge introspection. If no merge introspection, then there is no change needed.
- if (bd.isMergeIntrospection()) {
- if (bd.getImplicitDecoratorFlag() != ImplicitItem.NOT_IMPLICIT_LITERAL) {
- // It is implicit, so do an add to end, new value.
- doAddToEnd(cd, getFeatureChangeList(cd, bd.getEModelElement()), EcorePackage.eINSTANCE.getEModelElement_EAnnotations(), bd, true);
- } else {
- // Just do sets on implicit changed ones
- buildNonImplicitChange(cd, getFeatureChangeList(cd, bd), bd);
- }
- }
-
- }
-
- /**
- * Build the appropriate change record for the property decorator. Either it is an add of a new property decorator or it is the setting of the implicit
- * settings on an non-implicit property decorator. The same is true of the feature that it decorates. It may be new or it may be an existing one.
- * @param cd
- * @param pd
- *
- * @since 1.1.0
- */
- public static void buildChange(ChangeDescription cd, PropertyDecorator pd) {
- // Only do changes if merge introspection. If not merging, then there are no changes.
- if (pd.isMergeIntrospection()) {
- boolean indexed = pd.eClass().getClassifierID() == BeaninfoPackage.INDEXED_PROPERTY_DECORATOR;
- EStructuralFeature feature = (EStructuralFeature) pd.getEModelElement();
- switch (pd.getImplicitDecoratorFlag().getValue()) {
- case ImplicitItem.IMPLICIT_DECORATOR:
- // The decorator is implicit, so clone it, and apply to feature, and then do the standard property applies to the feature.
- List fcs = getFeatureChangeList(cd, feature);
- doAddToEnd(cd, fcs, pd.eContainingFeature(), pd, true);
- buildNonImplicitChange(cd, fcs, feature, indexed);
- break;
- case ImplicitItem.IMPLICIT_DECORATOR_AND_FEATURE:
- // The decorator AND feature are implicit. Just clone them and add to the class.
- doAddToEnd(cd, getFeatureChangeList(cd, feature.eContainer()), feature.eContainingFeature(), feature, true);
- break;
- case ImplicitItem.NOT_IMPLICIT:
- // Neither the feature nor the decorator are implicit. So need to do applies against them.
- buildNonImplicitChange(cd, getFeatureChangeList(cd, pd), pd, indexed);
- buildNonImplicitChange(cd, getFeatureChangeList(cd, feature), feature, indexed);
- break;
- }
- }
- }
-
- /**
- * Build the appropriate change record for the event set decorator. Either it is an add of a new event set decorator or it is the setting of the implicit
- * settings on an non-implicit event set decorator. The same is true of the feature that it decorates. It may be new or it may be an existing one.
- * @param cd
- * @param ed
- *
- * @since 1.1.0
- */
- public static void buildChange(ChangeDescription cd, EventSetDecorator ed) {
- // Only build changes if merge introspection. If not merge then there are no changes.
- if (ed.isMergeIntrospection()) {
- JavaEvent event = (JavaEvent) ed.getEModelElement();
- switch (ed.getImplicitDecoratorFlag().getValue()) {
- case ImplicitItem.IMPLICIT_DECORATOR:
- // The decorator is implicit, so clone it, and apply to feature, and then do the standard property applies to the feature.
- List fcs = getFeatureChangeList(cd, event);
- doAddToEnd(cd, fcs, ed.eContainingFeature(), ed, true);
- buildNonImplicitChange(cd, fcs, event);
- break;
- case ImplicitItem.IMPLICIT_DECORATOR_AND_FEATURE:
- // The decorator AND feature are implicit. Just clone them and add to the class.
- doAddToEnd(cd, getFeatureChangeList(cd, event.eContainer()), event.eContainingFeature(), event, true);
- break;
- case ImplicitItem.NOT_IMPLICIT:
- // Neither the feature nor the decorator are implicit. So need to do applies against them.
- buildNonImplicitChange(cd, getFeatureChangeList(cd, ed), ed);
- buildNonImplicitChange(cd, getFeatureChangeList(cd, event), event);
- break;
- }
- }
- }
-
- /**
- * Build the appropriate change record for the method decorator. Either it is an add of a new method decorator or it is the setting of the implicit
- * settings on an non-implicit method decorator. The same is true of the operation that it decorates. It may be new or it may be an existing one.
- * @param cd
- * @param md
- *
- * @since 1.1.0
- */
- public static void buildChange(ChangeDescription cd, MethodDecorator md) {
- // Only do any builds if merge introspection. If not merge introspection then nothing should be changed.
- if (md.isMergeIntrospection()) {
- EOperation oper = (EOperation) md.getEModelElement();
- switch (md.getImplicitDecoratorFlag().getValue()) {
- case ImplicitItem.IMPLICIT_DECORATOR:
- // The decorator is implicit, so clone it, and apply to feature, and then do the standard property applies to the feature.
- List fcs = getFeatureChangeList(cd, oper);
- doAddToEnd(cd, fcs, md.eContainingFeature(), md, true);
- buildNonImplicitChange(cd, fcs, oper);
- break;
- case ImplicitItem.IMPLICIT_DECORATOR_AND_FEATURE:
- // The decorator AND feature are implicit. Just clone them and add to the class.
- doAddToEnd(cd, getFeatureChangeList(cd, oper.eContainer()), oper.eContainingFeature(), oper, true);
- break;
- case ImplicitItem.NOT_IMPLICIT:
- // Neither the feature nor the decorator are implicit. So need to do applies against them.
- buildNonImplicitChange(cd, getFeatureChangeList(cd, md), md);
- buildNonImplicitChange(cd, getFeatureChangeList(cd, oper), oper);
- break;
- }
- }
- }
-
- private final static Integer ZERO = new Integer(0);
- private final static Integer ONE = new Integer(1);
- private final static Integer MINUS_ONE = new Integer(-1);
-
- /**
- * Build the non-implicit changes into the feature. This creates changes for the implicit settings
- * that always occur for a property decorator.
- *
- * @param cd
- * @param fcs FeatureChanges list for the feature.
- * @param feature
- * @param indexed <code>true</code> if this is for an indexed feature.
- *
- * @since 1.1.0
- */
- protected static void buildNonImplicitChange(ChangeDescription cd, List fcs, EStructuralFeature feature, boolean indexed) {
- doSet(cd, fcs, EcorePackage.eINSTANCE.getENamedElement_Name(), feature.getName(), false);
- doSet(cd, fcs, EcorePackage.eINSTANCE.getEStructuralFeature_Transient(), Boolean.FALSE, false);
- doSet(cd, fcs, EcorePackage.eINSTANCE.getEStructuralFeature_Volatile(), Boolean.FALSE, false);
- doSet(cd, fcs, EcorePackage.eINSTANCE.getEStructuralFeature_Changeable(), Boolean.valueOf(feature.isChangeable()), false);
- doSet(cd, fcs, EcorePackage.eINSTANCE.getETypedElement_EType(), feature.getEType(), false);
- if (!indexed) {
- doSet(cd, fcs, EcorePackage.eINSTANCE.getETypedElement_LowerBound(), ZERO, false);
- doSet(cd, fcs, EcorePackage.eINSTANCE.getETypedElement_UpperBound(), ONE, false);
- } else {
- doSet(cd, fcs, EcorePackage.eINSTANCE.getETypedElement_LowerBound(), ZERO, false);
- doSet(cd, fcs, EcorePackage.eINSTANCE.getETypedElement_UpperBound(), MINUS_ONE, false);
- doSet(cd, fcs, EcorePackage.eINSTANCE.getETypedElement_Unique(), Boolean.TRUE, false);
- }
- }
-
- /**
- * Build the non-implicit changes into the event. This creates changes for the implicit settings
- * that always occur for an event set decorator.
- *
- * @param cd
- * @param fcs FeatureChanges list for the feature.
- * @param event
- *
- * @since 1.1.0
- */
- protected static void buildNonImplicitChange(ChangeDescription cd, List fcs, JavaEvent event) {
- doSet(cd, fcs, EcorePackage.eINSTANCE.getENamedElement_Name(), event.getName(), false);
- }
-
- /**
- * Build the non-implicit changes into the operation. This creates changes for the implicit settings
- * that always occur for an method decorator.
- *
- * @param cd
- * @param fcs FeatureChanges list for the feature.
- * @param oper
- *
- * @since 1.1.0
- */
- protected static void buildNonImplicitChange(ChangeDescription cd, List fcs, EOperation oper) {
- doSet(cd, fcs, EcorePackage.eINSTANCE.getENamedElement_Name(), oper.getName(), false);
- try {
- doSet(cd, fcs, BeaninfoPackage.eINSTANCE.getMethodProxy_Method(), ((MethodProxy) oper).getMethod(), false); // This is a method that is not in this resource, so no clone.
- } catch (ClassCastException e) {
- // It will be a MethodProxy 99.9% of the time, so save by not doing instanceof.
- }
- }
-
- /**
- * Build up the changes for a non-implicit feature decorator. This means create changes for implicit set features.
- *
- * @param cd
- * @param fcs
- * the FeatureChanges list for the given decorator.
- * @param decor
- *
- * @since 1.1.0
- */
- protected static void buildNonImplicitChange(ChangeDescription cd, List fcs, FeatureDecorator decor) {
- long implicitSettings = decor.getImplicitlySetBits();
- if (implicitSettings != 0)
- doSet(cd, fcs, BeaninfoPackage.eINSTANCE.getFeatureDecorator_ImplicitlySetBits(), new Long(implicitSettings), false);
-
- if ((implicitSettings & FeatureDecoratorImpl.FEATURE_DISPLAYNAME_IMPLICIT) != 0) {
- doSet(cd, fcs, BeaninfoPackage.eINSTANCE.getFeatureDecorator_DisplayName(), decor.getDisplayName(), false);
- }
- if ((implicitSettings & FeatureDecoratorImpl.FEATURE_SHORTDESC_IMPLICIT) != 0) {
- doSet(cd, fcs, BeaninfoPackage.eINSTANCE.getFeatureDecorator_ShortDescription(), decor.getShortDescription(), false);
- }
- if ((implicitSettings & FeatureDecoratorImpl.FEATURE_CATEGORY_IMPLICIT) != 0) {
- doSet(cd, fcs, BeaninfoPackage.eINSTANCE.getFeatureDecorator_Category(), decor.getCategory(), false);
- }
- if ((implicitSettings & FeatureDecoratorImpl.FEATURE_EXPERT_IMPLICIT) != 0 && decor.isSetExpert()) {
- doSet(cd, fcs, BeaninfoPackage.eINSTANCE.getFeatureDecorator_Expert(), Boolean.valueOf(decor.isExpert()), false);
- }
- if ((implicitSettings & FeatureDecoratorImpl.FEATURE_HIDDEN_IMPLICIT) != 0 && decor.isSetHidden()) {
- doSet(cd, fcs, BeaninfoPackage.eINSTANCE.getFeatureDecorator_Hidden(), Boolean.valueOf(decor.isHidden()), false);
- }
- if ((implicitSettings & FeatureDecoratorImpl.FEATURE_PREFERRED_IMPLICIT) != 0 && decor.isSetPreferred()) {
- doSet(cd, fcs, BeaninfoPackage.eINSTANCE.getFeatureDecorator_Preferred(), Boolean.valueOf(decor.isPreferred()), false);
- }
- if ((implicitSettings & FeatureDecoratorImpl.FEATURE_ATTRIBUTES_IMPLICIT) != 0) {
- doAddAllToEnd(cd, fcs, BeaninfoPackage.eINSTANCE.getFeatureDecorator_Attributes(), decor.getAttributes(), true);
- }
- }
-
- /**
- * Build up the changes for a non-implicit bean decorator. This means create changes for implicit set features.
- *
- * @param cd
- * @param fcs
- * the FeatureChanges list for the given decorator.
- * @param decor
- *
- * @since 1.1.0
- */
- protected static void buildNonImplicitChange(ChangeDescription cd, List fcs, BeanDecorator decor) {
- buildNonImplicitChange(cd, fcs, (FeatureDecorator) decor);
- long implicitSettings = decor.getImplicitlySetBits();
- if ((implicitSettings & BeanDecoratorImpl.BEAN_CUSTOMIZER_IMPLICIT) != 0) {
- doSet(cd, fcs, BeaninfoPackage.eINSTANCE.getBeanDecorator_CustomizerClass(), decor.getCustomizerClass(), false); // Customizer class is
- // not in this resource,
- // so we don't clone it.
- }
- if ((implicitSettings & BeanDecoratorImpl.BEAN_MERGE_INHERITED_PROPERTIES_IMPLICIT) != 0 && decor.isSetMergeSuperProperties()) {
- doSet(cd, fcs, BeaninfoPackage.eINSTANCE.getBeanDecorator_MergeSuperProperties(), Boolean.valueOf(decor.isMergeSuperProperties()), false);
- }
- if ((implicitSettings & BeanDecoratorImpl.BEAN_MERGE_INHERITED_OPERATIONS_IMPLICIT) != 0 && decor.isSetMergeSuperMethods()) {
- doSet(cd, fcs, BeaninfoPackage.eINSTANCE.getBeanDecorator_MergeSuperMethods(), Boolean.valueOf(decor.isMergeSuperMethods()), false);
- }
- if ((implicitSettings & BeanDecoratorImpl.BEAN_MERGE_INHERITED_EVENTS_IMPLICIT) != 0 && decor.isSetMergeSuperEvents()) {
- doSet(cd, fcs, BeaninfoPackage.eINSTANCE.getBeanDecorator_MergeSuperEvents(), Boolean.valueOf(decor.isMergeSuperEvents()), false);
- }
- if (!decor.getNotInheritedPropertyNames().isEmpty()) {
- doAddAllToEnd(cd, fcs, BeaninfoPackage.eINSTANCE.getBeanDecorator_NotInheritedPropertyNames(), decor.getNotInheritedPropertyNames(), false);
- }
- if (!decor.getNotInheritedMethodNames().isEmpty()) {
- doAddAllToEnd(cd, fcs, BeaninfoPackage.eINSTANCE.getBeanDecorator_NotInheritedMethodNames(), decor.getNotInheritedMethodNames(), false);
- }
- if (!decor.getNotInheritedEventNames().isEmpty()) {
- doAddAllToEnd(cd, fcs, BeaninfoPackage.eINSTANCE.getBeanDecorator_NotInheritedEventNames(), decor.getNotInheritedEventNames(), false);
- }
- }
-
- /**
- * Build up the changes for a non-implicit property decorator. This means create changes for implicit set features.
- *
- * @param cd
- * @param fcs
- * the FeatureChanges list for the given decorator.
- * @param decor
- * @param indexed <code>true</code> if this is an indexed property decorator.
- *
- * @since 1.1.0
- */
- protected static void buildNonImplicitChange(ChangeDescription cd, List fcs, PropertyDecorator decor, boolean indexed) {
- buildNonImplicitChange(cd, fcs, decor);
- long implicitSettings = decor.getImplicitlySetBits();
- if ((implicitSettings & PropertyDecoratorImpl.PROPERTY_EDITOR_CLASS_IMPLICIT) != 0) {
- doSet(cd, fcs, BeaninfoPackage.eINSTANCE.getPropertyDecorator_PropertyEditorClass(), decor.getPropertyEditorClass(), false); // Property Editor class is
- // not in this resource,
- // so we don't clone it.
- }
- if ((implicitSettings & PropertyDecoratorImpl.PROPERTY_READMETHOD_IMPLICIT) != 0) {
- doSet(cd, fcs, BeaninfoPackage.eINSTANCE.getPropertyDecorator_ReadMethod(), decor.getReadMethod(), false);
- }
- if ((implicitSettings & PropertyDecoratorImpl.PROPERTY_WRITEMETHOD_IMPLICIT) != 0) {
- doSet(cd, fcs, BeaninfoPackage.eINSTANCE.getPropertyDecorator_WriteMethod(), decor.getWriteMethod(), false);
- }
- if ((implicitSettings & PropertyDecoratorImpl.PROPERTY_FIELD_IMPLICIT) != 0) {
- doSet(cd, fcs, BeaninfoPackage.eINSTANCE.getPropertyDecorator_Field(), decor.getField(), false);
- if (decor.eIsSet(BeaninfoPackage.eINSTANCE.getPropertyDecorator_FieldReadOnly()))
- doSet(cd, fcs, BeaninfoPackage.eINSTANCE.getPropertyDecorator_FieldReadOnly(), Boolean.valueOf(decor.isFieldReadOnly()), false);
- }
- if ((implicitSettings & PropertyDecoratorImpl.PROPERTY_BOUND_IMPLICIT) != 0 && decor.isSetBound()) {
- doSet(cd, fcs, BeaninfoPackage.eINSTANCE.getPropertyDecorator_Bound(), Boolean.valueOf(decor.isBound()), false);
- }
- if ((implicitSettings & PropertyDecoratorImpl.PROPERTY_CONSTRAINED_IMPLICIT) != 0 && decor.isSetConstrained()) {
- doSet(cd, fcs, BeaninfoPackage.eINSTANCE.getPropertyDecorator_Constrained(), Boolean.valueOf(decor.isConstrained()), false);
- }
- if ((implicitSettings & PropertyDecoratorImpl.PROPERTY_DESIGNTIME_IMPLICIT) != 0) {
- doSet(cd, fcs, BeaninfoPackage.eINSTANCE.getPropertyDecorator_DesignTime(), Boolean.valueOf(decor.isDesignTime()), false);
- }
-
- if (indexed) {
- IndexedPropertyDecorator ipd = (IndexedPropertyDecorator) decor;
- if ((implicitSettings & IndexedPropertyDecoratorImpl.INDEXED_READMETHOD_IMPLICIT) != 0) {
- doSet(cd, fcs, BeaninfoPackage.eINSTANCE.getIndexedPropertyDecorator_IndexedReadMethod(), ipd.getIndexedReadMethod(), false);
- }
- if ((implicitSettings & IndexedPropertyDecoratorImpl.INDEXED_WRITEMETHOD_IMPLICIT) != 0) {
- doSet(cd, fcs, BeaninfoPackage.eINSTANCE.getIndexedPropertyDecorator_IndexedWriteMethod(), ipd.getIndexedWriteMethod(), false);
- }
- }
- }
-
- /**
- * Build up the changes for a non-implicit event set decorator. This means create changes for implicit set features.
- *
- * @param cd
- * @param fcs
- * the FeatureChanges list for the given decorator.
- * @param decor
- *
- * @since 1.1.0
- */
- protected static void buildNonImplicitChange(ChangeDescription cd, List fcs, EventSetDecorator decor) {
- buildNonImplicitChange(cd, fcs, (FeatureDecorator) decor);
- long implicitSettings = decor.getImplicitlySetBits();
- if ((implicitSettings & EventSetDecoratorImpl.EVENT_ADDLISTENERMETHOD_IMPLICIT) != 0) {
- doSet(cd, fcs, BeaninfoPackage.eINSTANCE.getEventSetDecorator_AddListenerMethod(), decor.getAddListenerMethod(), false); // listener method is
- // not in this resource,
- // so we don't clone it.
- }
- if ((implicitSettings & EventSetDecoratorImpl.EVENT_ADAPTERCLASS_IMPLICIT) != 0) {
- doSet(cd, fcs, BeaninfoPackage.eINSTANCE.getEventSetDecorator_EventAdapterClass(), decor.getEventAdapterClass(), false);
- }
- if ((implicitSettings & EventSetDecoratorImpl.EVENT_LISTENERMETHODS_IMPLICIT) != 0) {
- doAddAllToEnd(cd, fcs, BeaninfoPackage.eINSTANCE.getEventSetDecorator_SerListMthd(), decor.getSerListMthd(), true); // These need to be cloned because they are contained here.
- }
- if ((implicitSettings & EventSetDecoratorImpl.EVENT_LISTENERTYPE_IMPLICIT) != 0) {
- doSet(cd, fcs, BeaninfoPackage.eINSTANCE.getEventSetDecorator_ListenerType(), decor.getListenerType(), false);
- }
- if ((implicitSettings & EventSetDecoratorImpl.EVENT_REMOVELISTENERMETHOD_IMPLICIT) != 0) {
- doSet(cd, fcs, BeaninfoPackage.eINSTANCE.getEventSetDecorator_RemoveListenerMethod(), decor.getRemoveListenerMethod(), false);
- }
- if ((implicitSettings & EventSetDecoratorImpl.EVENT_DEFAULTEVENTSET_IMPLICIT) != 0 && decor.isSetInDefaultEventSet()) {
- doSet(cd, fcs, BeaninfoPackage.eINSTANCE.getEventSetDecorator_InDefaultEventSet(), Boolean.valueOf(decor.isInDefaultEventSet()), false);
- }
- if ((implicitSettings & EventSetDecoratorImpl.EVENT_UNICAST_IMPLICIT) != 0 && decor.isSetUnicast()) {
- doSet(cd, fcs, BeaninfoPackage.eINSTANCE.getEventSetDecorator_Unicast(), Boolean.valueOf(decor.isUnicast()), false);
- }
- }
-
- /**
- * Build up the changes for a non-implicit method decorator. This means create changes for implicit set features.
- *
- * @param cd
- * @param fcs
- * the FeatureChanges list for the given decorator.
- * @param decor
- *
- * @since 1.1.0
- */
- protected static void buildNonImplicitChange(ChangeDescription cd, List fcs, MethodDecorator decor) {
- buildNonImplicitChange(cd, fcs, (FeatureDecorator) decor);
- long implicitSettings = decor.getImplicitlySetBits();
- if ((implicitSettings & MethodDecoratorImpl.METHOD_PARAMETERS_IMPLICIT) != 0) {
- doAddAllToEnd(cd, fcs, BeaninfoPackage.eINSTANCE.getMethodDecorator_SerParmDesc(), decor.getSerParmDesc(), true);
- }
- }
-
-
- /**
- * Get the feature change list for an object. Create it one if necessary.
- *
- * @param cd
- * @param object
- * @return feature change list.
- *
- * @since 1.1.0
- */
- protected static List getFeatureChangeList(ChangeDescription cd, EObject object) {
- List fcs = (List) cd.getObjectChanges().get(object); // Get the feature changes if any.
- if (fcs == null) {
- Map.Entry entry = ChangeFactory.eINSTANCE.createEObjectToChangesMapEntry(object);
- cd.getObjectChanges().add(entry);
- fcs = (List) entry.getValue();
- }
- return fcs;
- }
-
- /**
- * Return the FeatureChange record for a feature wrt/object. Create one if necessary. If it creates it, it will mark it as "set". All of our
- * changes here are set kind of changes, not unset kind.
- *
- * @param fcs
- * feature change list from the ChangeDescripion.getObjectChanges for the given object.
- * @param feature
- * @return feature change
- *
- * @since 1.1.0
- */
- protected static FeatureChange getFeatureChange(List fcs, EStructuralFeature feature) {
- if (!fcs.isEmpty()) {
- for (int i = 0; i < fcs.size(); i++) {
- FeatureChange fc = (FeatureChange) fcs.get(i);
- if (fc.getFeature() == feature)
- return fc;
- }
- }
-
- // Either new object changes or no feature change found. Create one.
- FeatureChange fc = ChangeFactory.eINSTANCE.createFeatureChange(feature, null, true);
- fcs.add(fc);
- return fc;
- }
-
- /**
- * Create a change for add to end of the given feature (must be isMany()). If newObject is true, then this means this is not a pointer to an
- * existing object and so it must be cloned. It is assumed that there will be no further changes to this object because those will not be known
- * about.
- *
- * @param cd
- * @param fcs
- * feature change list from the ChangeDescripion.getObjectChanges for the given object.
- * @param feature
- * the feature being added to.
- * @param addedValue
- * the value being added.
- * @param newValue
- * <code>true</code> if new object in the resource, a clone will be made. <code>false</code> if an existing object. Must be an
- * EObject for cloning. Best if not true for non-eobjects.
- * @return the addedValue or the clone if it was cloned.
- *
- * @since 1.1.0
- */
- protected static Object doAddToEnd(ChangeDescription cd, List fcs, EStructuralFeature feature, Object addedValue, boolean newValue) {
- FeatureChange fc = getFeatureChange(fcs, feature);
- if (newValue) {
- try {
- addedValue = EcoreUtil.copy((EObject) addedValue);
- cd.getObjectsToAttach().add(addedValue);
- } catch (ClassCastException e) {
- // Normally should not occur, but if it does, it means we can't clone, so don't clone.
- }
- }
- List lcs = fc.getListChanges();
- // Find the one with add and -1, i.e. add to end. There should only be one.
- ListChange lc = null;
- for (int i = 0; i < lcs.size(); i++) {
- ListChange lca = (ListChange) lcs.get(i);
- if (lca.getKind() == ChangeKind.ADD_LITERAL && lca.getIndex() == -1) {
- lc = lca;
- break;
- }
- }
- if (lc == null) {
- lc = ChangeFactory.eINSTANCE.createListChange();
- lcs.add(lc);
- }
-
- lc.getValues().add(addedValue);
- return addedValue;
- }
-
- /**
- * Create a change for add all to end of the given feature (must be isMany()). If newValue is true, then this means this is not a pointer to
- * existing objects and so it must be cloned. It is assumed that there will be no further changes to this object because those will not be known
- * about.
- *
- * @param cd
- * @param fcs
- * feature change list from the ChangeDescripion.getObjectChanges for the given object.
- * @param feature
- * the feature being added to.
- * @param addedValues
- * the values being added.
- * @param newValue
- * <code>true</code> if new objects in the resource, clones will be made. <code>false</code> if an existing object. Must be EObject
- * for cloning. Best if not true for non-eobjects.
- * @return the addedValues or the clones if it was cloned.
- *
- * @since 1.1.0
- */
- protected static Object doAddAllToEnd(ChangeDescription cd, List fcs, EStructuralFeature feature, Collection addedValues, boolean newValue) {
- FeatureChange fc = getFeatureChange(fcs, feature);
- if (newValue) {
- try {
- addedValues = EcoreUtil.copyAll(addedValues);
- cd.getObjectsToAttach().addAll(addedValues);
- } catch (ClassCastException e) {
- // Normally should not occur, but if it does, it means we can't clone, so don't clone.
- }
- }
- List lcs = fc.getListChanges();
- // Find the one with add and -1, i.e. add to end. There should only be one.
- ListChange lc = null;
- for (int i = 0; i < lcs.size(); i++) {
- ListChange lca = (ListChange) lcs.get(i);
- if (lca.getKind() == ChangeKind.ADD_LITERAL && lca.getIndex() == -1) {
- lc = lca;
- break;
- }
- }
- if (lc == null) {
- lc = ChangeFactory.eINSTANCE.createListChange();
- lcs.add(lc);
- }
-
- lc.getValues().addAll(addedValues);
- return addedValues;
- }
-
- /**
- * Create a change for set a given feature (must be !isMany()). If newValue is true, then this means this is not a pointer to an existing object
- * and so it must be cloned. It is assumed that there will be no further changes to this object because those will not be known about.
- * <p>
- * Any further sets to this feature will result in the previous setting being lost.
- *
- * @param cd
- * @param fcs
- * feature change list from the ChangeDescripion.getObjectChanges for the given object.
- * @param feature
- * the feature being set to.
- * @param setValue
- * the value being set.
- * @param newValue
- * <code>true</code> if new object in the resource, a clone will be made. <code>false</code> if an existing object. Must be an
- * EObject for cloning. Best if not true for non-eobjects.
- * @return the setValue or the clone if it was cloned.
- *
- * @since 1.1.0
- */
- protected static Object doSet(ChangeDescription cd, List fcs, EStructuralFeature feature, Object setValue, boolean newValue) {
-
- FeatureChange fc = getFeatureChange(fcs, feature);
- if (newValue) {
- try {
- setValue = EcoreUtil.copy((EObject) setValue);
- cd.getObjectsToAttach().add(setValue);
- } catch (ClassCastException e) {
- // Normally should not occur, but if it does, it means we can't clone, so don't clone.
- }
- }
-
- if (setValue instanceof EObject)
- fc.setReferenceValue((EObject) setValue);
- else
- fc.setDataValue(EcoreUtil.convertToString((EDataType) feature.getEType(), setValue));
- return setValue;
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoAdapterFactory.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoAdapterFactory.java
deleted file mode 100644
index 4f4e08af1..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoAdapterFactory.java
+++ /dev/null
@@ -1,207 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo.adapters;
-/*
- * $RCSfile: BeaninfoAdapterFactory.java,v $
- * $Revision: 1.6 $ $Date: 2005/02/15 22:44:20 $
- */
-import java.lang.ref.ReferenceQueue;
-import java.lang.ref.WeakReference;
-import java.util.*;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
-
-import org.eclipse.jem.internal.beaninfo.core.*;
-import org.eclipse.jem.internal.java.beaninfo.IIntrospectionAdapter;
-import org.eclipse.jem.internal.proxy.core.ProxyFactoryRegistry;
-import org.eclipse.jem.java.ArrayType;
-/**
- * BeaninfoAdapterFactory - the factory for
- * beaninfo introspection to populate the Java Model.
- * Creation date: (11/1/2000 11:52:55 AM)
- * @author: Administrator
- */
-public class BeaninfoAdapterFactory extends AdapterFactoryImpl {
- protected IBeaninfoSupplier fInfoSupplier;
-
- // Maintain a mapping of the source objects to the adaptors which have
- // introspected from them. This allows a close operation to force those
- // adapters to clear out the data. It also allows for marking an adapter as stale
- // so that next time it introspects it will re-get the data.
- //
- // This is a WeakReference so that we don't hold onto adapters that were
- // explicitly removed in other ways.
- private Map fIntrospected = new HashMap(); // NOTE: This is to be accessed only under sync(this)!
- private ReferenceQueue fRefQ = new ReferenceQueue();
- private static class WeakValue extends WeakReference {
- private Object key;
- public WeakValue(Object aKey, Object value, ReferenceQueue que) {
- super(value, que);
- key = aKey;
- }
-
- public Object getKey() {
- return key;
- }
- };
-
- public BeaninfoAdapterFactory(IBeaninfoSupplier supplier) {
- fInfoSupplier = supplier;
- }
-
- public Adapter createAdapter(Notifier target, Object type) {
- if (type == IIntrospectionAdapter.ADAPTER_KEY) {
- return !(target instanceof ArrayType) ? new BeaninfoClassAdapter(this) : null; // Array types don't have beaninfo adapters.
- } else
- return new BeaninfoSuperAdapter();
- }
-
- /**
- * @see org.eclipse.emf.common.notify.AdapterFactory#isFactoryForType(Object)
- */
- public boolean isFactoryForType(Object type) {
- return IIntrospectionAdapter.ADAPTER_KEY == type || BeaninfoSuperAdapter.ADAPTER_KEY == type;
- }
-
- public ProxyFactoryRegistry getRegistry() {
- return fInfoSupplier.getRegistry();
- }
-
- public boolean isRegistryCreated() {
- return fInfoSupplier.isRegistryCreated();
- }
-
- public ProxyFactoryRegistry recycleRegistry() {
- markAllStale(); // At this point in time we need to mark them all stale because we are recycling. MarkAllStale also closes the registry.
- return getRegistry();
- }
-
- public IProject getProject() {
- return fInfoSupplier.getProject();
- }
-
- /**
- * Close ALL adapters. Also remove the adapters so that they
- * are not being held onto. This means we are closing the project or removing the nature.
- */
- public void closeAll(boolean clearResults) {
- processQueue();
- synchronized (this) {
- // We are going to be removing all of them, so just set introspected to an empty one
- // and use the real one. This way we won't get concurrent modifications as we remove
- // it from the notifier removeAdapter.
- Map intr = fIntrospected;
- fIntrospected = Collections.EMPTY_MAP; // Since we are closing we can keep the unmodifiable one here.
- Iterator i = intr.values().iterator();
- while (i.hasNext()) {
- BeaninfoClassAdapter a = (BeaninfoClassAdapter) ((WeakValue) i.next()).get();
- if (a != null) {
- if (clearResults)
- a.clearIntrospection();
- Notifier notifier = a.getTarget();
- if (notifier != null)
- notifier.eAdapters().remove(a);
- }
- }
- }
- }
-
- /**
- * Mark ALL adapters as stale. This occurs because we've recycled the registry.
- */
- public void markAllStale() {
- ProxyFactoryRegistry fact = isRegistryCreated() ? getRegistry() : null;
- processQueue();
- synchronized (this) {
- Iterator i = fIntrospected.values().iterator();
- while (i.hasNext()) {
- BeaninfoClassAdapter a = (BeaninfoClassAdapter) ((WeakValue) i.next()).get();
- if (a != null)
- a.markStaleFactory(fact);
- }
- fInfoSupplier.closeRegistry(); // Get rid of the registry now since it is not needed. This way we won't accidentily hold onto it when not needed.
- }
- }
- /**
- * Mark the introspection as stale for a source object. Also clear results if told to.
- * @param sourceName Fully qualified source name, use type for reflection, i.e. "a.b.c.Class1$InnerClass"
- * @param clearResults clear out the results. If false, they will be reused if possible on recycle.
- */
- public void markStaleIntrospection(String sourceName, boolean clearResults) {
- processQueue();
- synchronized (this) {
- WeakValue ref = (WeakValue) fIntrospected.get(sourceName);
- if (ref != null) {
- BeaninfoClassAdapter a = (BeaninfoClassAdapter) ref.get();
- if (a != null) {
- if (clearResults)
- a.clearIntrospection();
- a.markStaleFactory(isRegistryCreated() ? getRegistry() : null); // Mark it stale with the current registry.
- }
- }
- }
- }
-
- public void markStaleIntrospectionPlusInner(String sourceName, boolean clearResults) {
- processQueue();
- String sourceNameForInner = sourceName + '$';
- synchronized (this) {
- Iterator itr = fIntrospected.entrySet().iterator();
- while (itr.hasNext()) {
- Map.Entry entry = (Map.Entry) itr.next();
- String entryName = (String) entry.getKey();
- if (entryName.equals(sourceName) || entryName.startsWith(sourceNameForInner)) {
- // It is the item or one of its inner classes.
- WeakValue ref = (WeakValue) entry.getValue();
- BeaninfoClassAdapter a = (BeaninfoClassAdapter) ref.get();
- if (a != null) {
- if (clearResults)
- a.clearIntrospection();
- a.markStaleFactory(isRegistryCreated() ? getRegistry() : null); // Mark it stale with the current registry.
- }
- }
- }
- }
- }
-
- /**
- * Register an adapter for introspection.
- * @param sourceName Fully qualified source name, use type for reflection, i.e. "a.b.c.Class1$InnerClass"
- * @param adapter The adapter to register
- */
- public void registerIntrospection(String sourceName, BeaninfoClassAdapter adapter) {
- // Create it as a weak reference so that it doesn't hold onto the adapter if it is ever removed
- // and thrown away (or the MOF resource itself is thrown away).
- processQueue();
- synchronized (this) {
- fIntrospected.put(sourceName, new WeakValue(sourceName, adapter, fRefQ));
- }
- }
-
- /**
- * Remove adapter. This happens in the case that adapter is being removed and
- * we want to remove it from our list. This is an internal API only for use by
- * the adapter itself.
- */
- public synchronized void removeAdapter(BeaninfoClassAdapter a) {
- fIntrospected.remove(a.getJavaClass().getQualifiedNameForReflection());
- }
-
- private synchronized void processQueue() {
- WeakValue wv;
- while ((wv = (WeakValue) fRefQ.poll()) != null) {
- fIntrospected.remove(wv.getKey());
- }
- }
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoClassAdapter.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoClassAdapter.java
deleted file mode 100644
index 2a53e675d..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoClassAdapter.java
+++ /dev/null
@@ -1,2475 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo.adapters;
-/*
- * $RCSfile: BeaninfoClassAdapter.java,v $
- * $Revision: 1.40 $ $Date: 2005/07/07 22:26:16 $
- */
-
-import java.io.FileNotFoundException;
-import java.lang.ref.WeakReference;
-import java.text.MessageFormat;
-import java.util.*;
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.impl.AdapterImpl;
-import org.eclipse.emf.common.util.*;
-import org.eclipse.emf.ecore.*;
-import org.eclipse.emf.ecore.change.ChangeDescription;
-import org.eclipse.emf.ecore.change.ChangeFactory;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.ESuperAdapter;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.util.EcoreEList;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.xmi.XMIResource;
-
-import org.eclipse.jem.internal.beaninfo.*;
-import org.eclipse.jem.internal.beaninfo.common.*;
-import org.eclipse.jem.internal.beaninfo.core.*;
-import org.eclipse.jem.internal.java.beaninfo.IIntrospectionAdapter;
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.java.*;
-import org.eclipse.jem.java.impl.JavaClassImpl;
-import org.eclipse.jem.util.TimerTests;
-import org.eclipse.jem.util.logger.proxy.Logger;
-
-import com.ibm.etools.emf.event.EventFactory;
-import com.ibm.etools.emf.event.EventUtil;
-
-/**
- * Beaninfo adapter for doing introspection on a Java Model class.
- * <p>
- * The first time a introspect request is made, it will use the ClassEntry from the cache controller to determine if it should load from the
- * cache or do a complete introspection. After that it will always do a complete introspection when it is marked as needing introspection.
- * This is because the cache is useless to us then. At that point in time we already know that we or one of our superclasses or one of
- * outer classes has changed, thereby requiring us to reintrospect, the cache is invalid at that point. Also once we did an introspection we
- * don't want to do a load from cache but instead do a merge because someone may of been holding onto the features and we don't want to
- * throw them away unnecessarily.
- * <p>
- * TODO Need to re-look into this to see if we can do a merge with the cache file because if it was an external jar and it has now gone
- * valid, why waste time reintrospecting. But this needs to be carefully thought about.
- * <p>
- * The resource change listener
- * will automatically mark any subclasses (both the BeaninfoClassAdapter and the ClassEntry) as being stale for us. That way we don't need
- * to waste time checking the ce and superclasses everytime. We will keep the ClassEntry around simply to make the marking of it as stale easier for the
- * resource listener. Finding the ce everytime would be expensive.
- * <p>
- * This is the process for determining if introspection required:
- * <ol>
- * <li>If needsIntrospection flag is false, then do nothing. Doesn't need introspection.
- * <li>If class is undefined, then just set up for an undefined class and return. (In this case the CE should be thrown away, it should of been deleted).
- * <li>If never introspected (not RETRIEVED_FULL_DOCUMENT), get the CE, get the modification stamp and call isStaleStamp. This determines if this
- * stamp or any super class stamp is stale wrt to current stamp. If it is not stale, then load from cache because the cache is good.
- * <li>If no cache or cache is stale or has introspected once, then introspect and replace cache.
- * </ol>
- *
- */
-
-public class BeaninfoClassAdapter extends AdapterImpl implements IIntrospectionAdapter {
-
- public static final String REFLECT_PROPERTIES = "Reflect properties"; // Reflect properties in IDE //$NON-NLS-1$
- public static final String APPLY_EXTENSIONS = "Apply Overrides"; // Apply override files //$NON-NLS-1$
- public static final String REMOTE_INTROSPECT = "Remote Introspect"; // Introspect on remote //$NON-NLS-1$
- public static final String INTROSPECT = "Introspect"; // Straight introspection, whether load from cache or introspect. //$NON-NLS-1$
- public static final String LOAD_FROM_CACHE = "Load from Cache"; //$NON-NLS-1$
-
- // TODO Put this back (if necessary, not sure since haven't done it yet) when we do override change recording too to handle overrides.
- // This will make it even faster because such
- // overrides rarely change and so can be glombed together into one large change. So then we would have two change caches per
- // class, one is the override record, which will be created once, the first time the class is referenced after a stale
- // configuration, and then the other is the introspection/reflection results, which will be created each time there is
- // a cache change. Both will be applied only once, the first time the class is referenced after a project has been opened.
- // No need to load at any other time because any changes will simply be a merge of the changes (thru reflection/introspection) into
- // the existing set and then a new change cache will be created containing the entire set of implicit changes, both the previous
- // ones that are still valid, and any new ones.
-// /**
-// * Pausable Change Recorder.
-// *
-// * @since 1.1.0
-// */
-// private static class PausableChangeRecorder extends ChangeRecorder {
-//
-// /**
-// * @param rootObject
-// *
-// * @since 1.1.0
-// */
-// public PausableChangeRecorder(EObject rootObject) {
-// super(rootObject);
-// }
-// /**
-// * Pause recording
-// *
-// *
-// * @since 1.1.0
-// */
-// public void pause() {
-// recording = false;
-// }
-//
-// /**
-// * Resume recording
-// *
-// *
-// * @since 1.1.0
-// */
-// public void resume() {
-// recording = true;
-// }
-// }
-
- public static BeaninfoClassAdapter getBeaninfoClassAdapter(EObject jc) {
- return (BeaninfoClassAdapter) EcoreUtil.getExistingAdapter(jc, IIntrospectionAdapter.ADAPTER_KEY);
- }
-
- /**
- * Clear out the introspection because introspection is being closed or removed from the project.
- * Don't want anything hanging around that we had done.
- */
- public void clearIntrospection() {
- // Clear out the beandecorator if implicitly created.
- Iterator beanItr = getJavaClass().getEAnnotationsInternal().iterator();
- while (beanItr.hasNext()) {
- EAnnotation dec = (EAnnotation) beanItr.next();
- if (dec instanceof BeanDecorator) {
- BeanDecorator decor = (BeanDecorator) dec;
- if (decor.getImplicitDecoratorFlag() == ImplicitItem.IMPLICIT_DECORATOR_LITERAL) {
- beanItr.remove();
- ((InternalEObject) decor).eSetProxyURI(BAD_URI); // Mark it as bad proxy so we know it is no longer any use.
- } else {
- BeanInfoDecoratorUtility.clear((BeanDecorator) dec);
- }
- break;
- }
- }
- // Clear out the features that we implicitly created.
- Iterator propItr = getJavaClass().getEStructuralFeaturesInternal().iterator();
- while (propItr.hasNext()) {
- EStructuralFeature prop = (EStructuralFeature) propItr.next();
- Iterator pdItr = prop.getEAnnotations().iterator();
- while (pdItr.hasNext()) {
- EAnnotation dec = (EAnnotation) pdItr.next();
- if (dec instanceof PropertyDecorator) {
- PropertyDecorator pd = (PropertyDecorator) dec;
- if (pd.getImplicitDecoratorFlag() == ImplicitItem.NOT_IMPLICIT_LITERAL)
- BeanInfoDecoratorUtility.clear(pd);
- else {
- pdItr.remove(); // Remove it from the property.
- ((InternalEObject) pd).eSetProxyURI(BAD_URI); // Mark it as bad proxy so we know it is no longer any use.
- }
- if (pd.getImplicitDecoratorFlag() == ImplicitItem.IMPLICIT_DECORATOR_AND_FEATURE_LITERAL) {
- propItr.remove(); // Remove the feature itself
- ((InternalEObject) prop).eSetProxyURI(BAD_URI); // Mark it as bad proxy so we know it is no longer any use.
- }
- break;
- }
- }
- }
-
- // Clear out the operations that we implicitly created.
- Iterator operItr = getJavaClass().getEOperationsInternal().iterator();
- while (operItr.hasNext()) {
- EOperation oper = (EOperation) operItr.next();
- Iterator mdItr = oper.getEAnnotations().iterator();
- while (mdItr.hasNext()) {
- EAnnotation dec = (EAnnotation) mdItr.next();
- if (dec instanceof MethodDecorator) {
- MethodDecorator md = (MethodDecorator) dec;
- if (md.getImplicitDecoratorFlag() == ImplicitItem.NOT_IMPLICIT_LITERAL)
- BeanInfoDecoratorUtility.clear(md);
- else {
- mdItr.remove(); // Remove it from the operation.
- ((InternalEObject) md).eSetProxyURI(BAD_URI); // Mark it as bad proxy so we know it is no longer any use.
- }
- if (md.getImplicitDecoratorFlag() == ImplicitItem.IMPLICIT_DECORATOR_AND_FEATURE_LITERAL) {
- operItr.remove(); // Remove the oepration itself
- ((InternalEObject) oper).eSetProxyURI(BAD_URI); // Mark it as bad proxy so we know it is no longer any use.
- }
- break;
- }
- }
-
- // Clear out the events that we implicitly created.
- Iterator evtItr = getJavaClass().getEventsGen().iterator();
- while (evtItr.hasNext()) {
- JavaEvent evt = (JavaEvent) evtItr.next();
- Iterator edItr = evt.getEAnnotations().iterator();
- while (edItr.hasNext()) {
- EAnnotation dec = (EAnnotation) edItr.next();
- if (dec instanceof EventSetDecorator) {
- EventSetDecorator ed = (EventSetDecorator) dec;
- if (ed.getImplicitDecoratorFlag() == ImplicitItem.NOT_IMPLICIT_LITERAL)
- BeanInfoDecoratorUtility.clear(ed);
- else {
- edItr.remove(); // Remove it from the event.
- ((InternalEObject) ed).eSetProxyURI(BAD_URI); // Mark it as bad proxy so we know it is no longer any use.
- }
- if (ed.getImplicitDecoratorFlag() == ImplicitItem.IMPLICIT_DECORATOR_AND_FEATURE_LITERAL) {
- evtItr.remove(); // Remove the event itself
- ((InternalEObject) evt).eSetProxyURI(BAD_URI); // Mark it as bad proxy so we know it is no longer any use.
- }
- break;
- }
- }
- }
- }
-
- synchronized(this) {
- needsIntrospection = true;
- }
- }
-
- private void clearAll() {
- clearIntrospection(); // First get rid of the ones we did so that they are marked as proxies.
-
- // Clear out the annotations.
- getJavaClass().getEAnnotationsInternal().clear();
- // Clear out the attributes.
- getJavaClass().getEStructuralFeaturesInternal().clear();
- // Clear out the operations.
- getJavaClass().getEOperationsInternal().clear();
- // Clear out the events.
- getJavaClass().getEventsGen().clear();
-
- retrievedExtensionDocument = NEVER_RETRIEVED_EXTENSION_DOCUMENT; // Since we cleared everything, go back to no doc applied.
- }
-
-
- /**
- * @version 1.0
- * @author
- */
-
- // A URI that will never resolve. Used to mark an object as no longer valid.
- protected static final URI BAD_URI = URI.createURI("baduri"); //$NON-NLS-1$
-
- protected boolean needsIntrospection = true;
-
- protected BeanInfoCacheController.ClassEntry classEntry;
-
- protected boolean isIntrospecting;
-
- protected boolean isDoingAllProperties;
-
- protected boolean isDoingAllOperations;
-
- protected boolean isDoingAllEvents;
-
- protected final static int
- NEVER_RETRIEVED_EXTENSION_DOCUMENT = 0,
- RETRIEVED_ROOT_ONLY = 1,
- RETRIEVED_FULL_DOCUMENT = 2;
- protected int retrievedExtensionDocument = NEVER_RETRIEVED_EXTENSION_DOCUMENT;
-
- protected BeaninfoAdapterFactory adapterFactory;
-
- private WeakReference staleFactory; // When reference not null, then this factory is a stale factory and
- // a new one is needed when the factory returned == this one.
- // It is a WeakRef so that if the factory goes away on its own
- // that we don't hold onto it.
-
- // A temporary hashset of the local properties. Used when creating a new
- // property to use the old one. It is cleared out at the end of attribute introspection.
- // It is only built once during attribute introspection so that we have the snapshot
- // of before the introspection (i.e. the ones that were specifically added by users
- // and not through introspection). The ones that we are adding do not need to be checked
- // against each other because there will not be conflicts.
- //
- // Also at the end, we will go through the properties and see if it exists in the fPropertiesMap and
- // it is not the value Boolean.FALSE in the map, and the entry is implicitly created. This means this
- // was an implicit entry from the previous introspection and was not re-created in this introspection.
- private HashMap propertiesMap;
- private List featuresRealList; // Temp pointer to the real list we are building. It is the true list in java class.
-
- // A temporary hashmap of the local operations. Used when creating a new
- // operation to reuse the old one. It is cleared out at the end of operation introspection.
- // It is only built once during operation introspection so that we have the snapshot
- // of before the introspection.
- private HashMap operationsMap;
- private EList operationsRealList; // Temp pointer to the real list we are building. It is the true list in java class.
- // A set of operations as we create them so that we which ones we added/kept and which are no longer in use and can be removed.
- // If they aren't in this set at the end, then we know it should be removed if it is one we had created in the past.
- private HashSet newoperations;
-
- // A temporary hashset of the local events. Used when creating a new
- // event to use the old one. It is cleared out at the end of event introspection.
- // It is only built once during event introspection so that we have the snapshot
- // of before the introspection (i.e. the ones that were specifically added by users
- // and not through introspection). The ones that we are adding do not need to be checked
- // against each other because there will not be conflicts.
- //
- // Also at the end, we will go through the events and see if it exists in the fEventsMap and
- // it is not the value Boolean.FALSE in the map, and the entry is implicitly created. This means this
- // was an implicit entry from the previous introspection and was not re-created in this introspection.
- private HashMap eventsMap;
- private EList eventsRealList; // Temp pointer to the real list we are building. It is the true list in java class.
-
- private Boolean defaultBound;
- // Whether this class is default bound or not (i.e. does this class implement add/remove property change listener. If null, then not yet queried.
-
- public BeaninfoClassAdapter(BeaninfoAdapterFactory factory) {
- super();
- adapterFactory = factory;
- }
-
- /*
- * Answer whether this java class is still connected to a live resource. It happens during unloading
- * that we are no longer connected to a resource (because the javapackage has already been processed and
- * unloaded) or the resource is in the process of being unloaded, but the unloading process will still
- * call accessors on this java class, which will come over here. In those cases we should treat as
- * introspection completed without doing anything.
- */
- protected boolean isResourceConnected() {
- Resource res = getJavaClass().eResource();
- return res != null && res.isLoaded();
- }
-
- protected final ProxyFactoryRegistry getRegistry() {
- ProxyFactoryRegistry factory = adapterFactory.getRegistry();
- if (staleFactory != null && factory == staleFactory.get()) {
- // We need to recycle the factory. The returned factory is the same factory when it went stale.
- factory = adapterFactory.recycleRegistry();
- }
- staleFactory = null; // Whether we recycled or not, it is no longer stale.
- return factory;
- }
-
- /**
- * Return whether this adapter has been marked as stale. Needed
- * by the users so that they can recycle if necessary.
- */
- public boolean isStale() {
- return staleFactory != null;
- }
-
- protected BeaninfoAdapterFactory getAdapterFactory() {
- return adapterFactory;
- }
-
- public boolean isAdapterForType(Object key) {
- return IIntrospectionAdapter.ADAPTER_KEY.equals(key);
- }
-
- /**
- * This map is keyed by name. It is a snapshot of the properties at the
- * time the introspection/reflection of properties was started. It is used
- * for quick lookup.
- *
- * Once a property is used, the entry is replaced with a Boolean.FALSE. This
- * is so we know which have already been used and at the end, which need
- * to be deleted since they weren't used (i.e. the ones that aren't FALSE).
- */
- protected HashMap getPropertiesMap() {
- if (propertiesMap == null) {
- List localFeatures = getJavaClass().getEStructuralFeaturesInternal();
- propertiesMap = new HashMap(localFeatures.size());
- Iterator itr = localFeatures.iterator();
- while (itr.hasNext()) {
- EStructuralFeature feature = (EStructuralFeature) itr.next();
- propertiesMap.put(feature.getName(), feature);
- }
- }
- return propertiesMap;
- }
-
- /**
- * Get it once so that we don't need to keep getting it over and over.
- */
- protected List getFeaturesList() {
- if (featuresRealList == null)
- featuresRealList = getJavaClass().getEStructuralFeaturesInternal();
- return featuresRealList;
- }
-
- /**
- * The map is keyed by longName. If a Method is passed in, then the
- * id of the method is used (this is in reflection), if an IBeanProxy
- * is passed in, then an id is created and looked up (this is in introspection).
- * The map is used for a quick lookup of behaviors at the time introspection
- * of behaviors started.
- */
- protected HashMap getOperationsMap() {
- if (operationsMap == null) {
- List locals = getJavaClass().getEOperationsInternal();
- int l = locals.size();
- operationsMap = new HashMap(l);
- for (int i = 0; i < l; i++) {
- EOperation op = (EOperation) locals.get(i);
- operationsMap.put(formLongName(op), op);
- }
- }
- return operationsMap;
- }
-
- /**
- * Get it once so that we don't need to keep getting it over and over.
- */
- protected EList getOperationsList() {
- if (operationsRealList == null)
- operationsRealList = getJavaClass().getEOperationsInternal();
- return operationsRealList;
- }
-
- /**
- * The map is keyed by name.
- * The map is used for a quick lookup of events at the time introspection
- * of events started.
- *
- * Once an event is used, the entry is replaced with a Boolean.FALSE. This
- * is so we know which have already been used and at the end, which need
- * to be deleted since they weren't used (i.e. the ones that aren't FALSE).
- */
- protected HashMap getEventsMap() {
- if (eventsMap == null) {
- List locals = getJavaClass().getEventsGen();
- eventsMap = new HashMap(locals.size());
- Iterator itr = locals.iterator();
- while (itr.hasNext()) {
- JavaEvent event = (JavaEvent) itr.next();
- eventsMap.put(event.getName(), event);
- }
- }
- return eventsMap;
- }
-
- /**
- * Get it once so that we don't need to keep getting it over and over.
- */
- protected EList getEventsList() {
- if (eventsRealList == null)
- eventsRealList = getJavaClass().getEventsGen();
- return eventsRealList;
- }
-
- public void introspectIfNecessary() {
- introspectIfNecessary(false);
- }
-
- protected void introspectIfNecessary(boolean doOperations) {
- boolean doIntrospection = false;
- synchronized (this) {
- doIntrospection = needsIntrospection && !isIntrospecting;
- if (doIntrospection)
- isIntrospecting = true;
- }
- if (doIntrospection) {
- boolean didIntrospection = false;
- try {
- introspect(doOperations);
- didIntrospection = true;
- } catch (Throwable e) {
- BeaninfoPlugin.getPlugin().getLogger().log(
- new Status(
- IStatus.WARNING,
- BeaninfoPlugin.getPlugin().getBundle().getSymbolicName(),
- 0,
- MessageFormat.format(
- BeanInfoAdapterMessages.INTROSPECT_FAILED_EXC_,
- new Object[] { getJavaClass().getJavaName(), ""}), //$NON-NLS-1$
- e));
- } finally {
- synchronized (this) {
- isIntrospecting = false;
- needsIntrospection = !didIntrospection;
- }
- }
- }
- }
-
- /**
- * Get the class entry.
- * @return
- *
- * @since 1.1.0
- */
- public BeanInfoCacheController.ClassEntry getClassEntry() {
- return classEntry;
- }
-
- private boolean canUseCache() {
- // We check our level, we assume not stale unless CE says stale.
- synchronized (this) {
- // We may already have a class entry due to a subclass doing a check, so if we do, we'll use it. Else we'll get the latest one.
- if (classEntry == null)
- classEntry = BeanInfoCacheController.INSTANCE.getClassEntry(getJavaClass());
- if (classEntry != null) {
- // We have a cache to check.
- long modStamp = classEntry.getModificationStamp();
- // A sanity check, if this was an old, but now deleted one we want to throw it away and get it again. It may now be valid.
- if (modStamp == BeanInfoCacheController.ClassEntry.DELETED_MODIFICATION_STAMP) {
- classEntry = BeanInfoCacheController.INSTANCE.getClassEntry(getJavaClass());
- if (classEntry != null)
- modStamp = classEntry.getModificationStamp();
- }
- if (modStamp == IResource.NULL_STAMP || modStamp == BeanInfoCacheController.ClassEntry.DELETED_MODIFICATION_STAMP)
- return false; // We are stale.
- } else
- return false; // We don't have a cache entry to check against, which means are deleted, or never cached.
- }
-
- // Now try the supers to see if we are out of date to them.
- // Note: Only if this is an interface could there be more than one eSuperType.
- List supers = getJavaClass().getESuperTypes();
- if (!supers.isEmpty()) {
- BeaninfoClassAdapter bca = getBeaninfoClassAdapter((EObject) supers.get(0));
- if (bca.getClassEntry().getModificationStamp() != classEntry.getSuperModificationStamp())
- return false; // Out-of-date wrt/super.
- String[] iNames = classEntry.getInterfaceNames();
- if (iNames != null) {
- if (iNames.length != supers.size() - 1)
- return false; // We have a different number of supers, so stale.
- // Now the interfaces may not be in the same order, but there shouldn't be too many, so we'll use O(n2) lookup. We'll try starting at
- // the same index just in case. That way if they are the same order it will be linear instead. Most likely will be same order.
- long[] iStamp = classEntry.getInterfaceModificationStamps();
- for (int i = 1; i <= iNames.length; i++) {
- JavaClass javaClass = (JavaClass) supers.get(i);
- String intName = (javaClass).getQualifiedNameForReflection();
- // Find it in the names list.
- int stop = i-1;
- int indx = stop; // Start at the stop, when we hit it again we will be done.
- boolean found = false;
- do {
- if (iNames[indx].equals(intName)) {
- found = true;
- break;
- }
- } while ((++indx)%iNames.length != stop);
- if (!found)
- return false; // Couldn't find it, so we are stale.
- if (iStamp[indx] != getBeaninfoClassAdapter(javaClass).getClassEntry().getModificationStamp())
- return false; // We didn't match it, so we are stale.
- }
- }
- }
- return true; // If we got here everything is ok.
- }
-
- private boolean canUseOverrideCache() {
- // We check our config stamp.
- // TODO in future can we listen for config changes and mark classes stale if the config changes?
- synchronized (this) {
- // We may already have a class entry due to a subclass doing a check, so if we do, we'll use it. Else we'll get the latest one.
- if (classEntry == null)
- classEntry = BeanInfoCacheController.INSTANCE.getClassEntry(getJavaClass());
- if (classEntry != null) {
- // We have a cache to check.
- // A sanity check, if this was an old, but now deleted one we want to throw it away and get it again. It may now be valid.
- if (classEntry.isDeleted()) {
- classEntry = BeanInfoCacheController.INSTANCE.getClassEntry(getJavaClass());
- if (classEntry != null)
- if (classEntry.isDeleted())
- return false; // We have been deleted. Probably shouldn't of gotton here in this case.
- }
- } else
- return false; // We don't have a cache entry to check against, which means are deleted, or never cached.
- return classEntry.getConfigurationModificationStamp() == Platform.getPlatformAdmin().getState(false).getTimeStamp();
- }
-
- }
-
- /**
- * Check if the cache for this entry is stale compared to the modification stamp, or if the modification stamp itself is stale, meaning
- * subclass was stale already.
- *
- * @param requestStamp the timestamp to compare against.
- * @return <code>true</code> if we can use the incoming cache stamp.
- *
- * @since 1.1.0
- */
- protected boolean canUseCache(long requestStamp) {
- long modStamp;
- // Now get the current mod stamp for this class so we can compare it.
- synchronized (this) {
- // We may already have a class entry due to a subclass doing a check, so if we do, we'll use it. Else we'll get the latest one.
- if (classEntry == null)
- classEntry = BeanInfoCacheController.INSTANCE.getClassEntry(getJavaClass());
- if (classEntry != null) {
- // We have a cache to check.
- modStamp = classEntry.getModificationStamp();
- // A sanity check, if this was an old, but now deleted one we want to throw it away and get it again. It may now be valid.
- if (modStamp == BeanInfoCacheController.ClassEntry.DELETED_MODIFICATION_STAMP) {
- classEntry = BeanInfoCacheController.INSTANCE.getClassEntry(getJavaClass());
- if (classEntry != null)
- modStamp = classEntry.getModificationStamp();
- }
- if (modStamp == IResource.NULL_STAMP && modStamp == BeanInfoCacheController.ClassEntry.DELETED_MODIFICATION_STAMP)
- return false; // Since we are stale, child asking question must also be stale and can't use the cache.
- } else
- return false; // We don't have a cache entry to check against, so child must be stale too.
- }
- // If the requested stamp is not the same as ours, then it is out of date (it couldn't be newer but it could be older).
- return requestStamp == modStamp;
- }
-
- /*
- * This should only be called through introspectIfNecessary so that flags are set correctly.
- */
- private void introspect(boolean doOperations) {
- IBeanProxy beaninfo = null;
- try {
- if (isResourceConnected()) {
- // See if are valid kind of class.
- if (getJavaClass().getKind() == TypeKind.UNDEFINED_LITERAL) {
- // Not valid, don't let any further introspection occur.
- // Mark that we've done all introspections so as not to waste time until we get notified that it has been added
- // back in.
- synchronized(this) {
- if (classEntry != null) {
- classEntry.markDeleted(); // mark it deleted in case still sitting in cache (maybe because it was in an external jar, we can't know if deleted when jar changed).
- classEntry = null; // Get rid of it since now deleted.
- }
- needsIntrospection = false;
- }
-
- if (retrievedExtensionDocument == RETRIEVED_FULL_DOCUMENT) {
- // We've been defined at one point. Need to clear everything and step back
- // to never retrieved so that we now get the root added in. If we had been
- // previously defined, then we didn't have root. We will have to lose
- // all other updates too. But they can come back when we're defined.
- clearAll();
- retrievedExtensionDocument = NEVER_RETRIEVED_EXTENSION_DOCUMENT;
- }
- if (retrievedExtensionDocument == NEVER_RETRIEVED_EXTENSION_DOCUMENT)
- applyExtensionDocument(true); // Add in Root stuff so that it will work correctly even though undefined.
- } else {
- // TODO For now cause recycle of vm if any super type is stale so that if registry is stale for the super type it will be
- // recreated. This is needed because reflection requires superProperties, etc. and recreating the registry
- // currently re-marks everyone as stale, including this subclass. This would mean that
- // re-introspection would need to be done, even though we just did it. The stale registry business needs to be re-addressed so that it is
- // a lot smarter.
- List supers = getJavaClass().getEAllSuperTypes();
- for (int i = 0; i < supers.size(); i++) {
- BeaninfoClassAdapter bca = (BeaninfoClassAdapter) EcoreUtil.getExistingAdapter((EObject) supers.get(i),
- IIntrospectionAdapter.ADAPTER_KEY);
- if (bca != null && bca.isStale())
- bca.getRegistry();
- }
- // Now we need to force introspection, if needed, of all parents because we need them to be up-to-date for the
- // class entry.
- // TODO see if we can come up with a better way that we KNOW the CE is correct, even if any supers are stale.
- supers = getJavaClass().getESuperTypes();
- for (int i = 0; i < supers.size(); i++) {
- BeaninfoClassAdapter bca = (BeaninfoClassAdapter) EcoreUtil.getRegisteredAdapter((EObject) supers.get(i),
- IIntrospectionAdapter.ADAPTER_KEY);
- bca.introspectIfNecessary();
- }
-
- TimerTests.basicTest.startCumulativeStep(INTROSPECT);
- if (retrievedExtensionDocument == RETRIEVED_ROOT_ONLY) {
- // We need to clear out EVERYTHING because we are coming from an undefined to a defined.
- // Nothing previous is now valid. (Particularly the root stuff).
- clearAll();
- }
- boolean firstTime = false;
- if (retrievedExtensionDocument != RETRIEVED_FULL_DOCUMENT) {
- firstTime = true; // If we need to apply the extension doc, then this is the first time.
- applyExtensionDocument(false); // Apply the extension doc before we do anything.
- }
-
- // Now check to see if we can use the cache.
- boolean doIntrospection = true;
- if (firstTime) {
- // Check if we can use the cache. Use Max value so that first level test (ourself) will always pass and go on to the supers.
- if (canUseCache()) {
- TimerTests.basicTest.startCumulativeStep(LOAD_FROM_CACHE);
- // We can use the cache.
- Resource cres = BeanInfoCacheController.INSTANCE.getCache(getJavaClass(), classEntry, true);
- if (cres != null) {
- try {
- // Got a cache to use, now apply it.
- for (Iterator cds = cres.getContents().iterator(); cds.hasNext();) {
- ChangeDescription cacheCD = (ChangeDescription) cds.next();
- cacheCD.apply();
- }
- // We need to walk through and create the appropriate ID's for events/actions/properties because by
- // default from the change descriptions these don't get reflected back. And if some one doesn't
- // use an ID to get them, they won't have an id set.
- doIDs();
- doIntrospection = false;
- } catch (RuntimeException e) {
- BeaninfoPlugin.getPlugin().getLogger().log(
- MessageFormat.format(
- BeanInfoAdapterMessages.INTROSPECT_FAILED_EXC_,
- new Object[] { getJavaClass().getJavaName(), ""}), //$NON-NLS-1$
- Level.WARNING);
- BeaninfoPlugin.getPlugin().getLogger().log(e);
- } finally {
- // Remove the cres since it is now invalid. The applies cause them to be invalid.
- cres.getResourceSet().getResources().remove(cres);
- if (doIntrospection) {
- // Apply had failed. We don't know how far it went. We need to wipe out and reget EVERYTHING.
- clearAll();
- applyExtensionDocument(false); // Re-apply the extension doc before we do anything else.
- }
- }
- }
- TimerTests.basicTest.stopCumulativeStep(LOAD_FROM_CACHE);
- }
- }
-
- if (doIntrospection) {
- // Finally we can get to handling ourselves.
- TimerTests.basicTest.startCumulativeStep(REMOTE_INTROSPECT);
- BeanDecorator decor = Utilities.getBeanDecorator(getJavaClass());
- if (decor == null) {
- decor = BeaninfoFactory.eINSTANCE.createBeanDecorator();
- decor.setImplicitDecoratorFlag(ImplicitItem.IMPLICIT_DECORATOR_LITERAL);
- getJavaClass().getEAnnotations().add(decor);
- } else
- BeanInfoDecoratorUtility.clear(decor); // Clear out previous results.
-
- boolean doReflection = true;
- if (doOperations)
- newoperations = new HashSet(50);
- if (decor.isDoBeaninfo()) {
- int doFlags = 0;
- if (decor == null || decor.isMergeIntrospection())
- doFlags |= IBeanInfoIntrospectionConstants.DO_BEAN_DECOR;
- if (decor == null || decor.isIntrospectEvents())
- doFlags |= IBeanInfoIntrospectionConstants.DO_EVENTS;
- if (decor == null || decor.isIntrospectProperties())
- doFlags |= IBeanInfoIntrospectionConstants.DO_PROPERTIES;
- if (doOperations && (decor == null || decor.isIntrospectMethods()))
- doFlags |= IBeanInfoIntrospectionConstants.DO_METHODS;
-
- if (doFlags != 0) {
- // There was something remote to do.
- IBeanTypeProxy targetType = null;
- ProxyFactoryRegistry registry = getRegistry();
- if (registry != null && registry.isValid())
- targetType = registry.getBeanTypeProxyFactory().getBeanTypeProxy(getJavaClass().getQualifiedNameForReflection());
- if (targetType != null) {
- if (targetType.getInitializationError() == null) {
- // If an exception is thrown, treat this as no proxy, however log it because we
- // shouldn't have exceptions during introspection, but if we do it should be logged
- // so it can be corrected.
- try {
- beaninfo = getProxyConstants().getIntrospectProxy().invoke(null,
- new IBeanProxy[] { targetType, getRegistry().getBeanProxyFactory().createBeanProxyWith(false), getRegistry().getBeanProxyFactory().createBeanProxyWith(doFlags)});
- } catch (ThrowableProxy e) {
- BeaninfoPlugin.getPlugin().getLogger().log(
- new Status(IStatus.WARNING, BeaninfoPlugin.getPlugin().getBundle().getSymbolicName(), 0,
- MessageFormat.format(BeanInfoAdapterMessages.INTROSPECT_FAILED_EXC_, new Object[] { //$NON-NLS-1$
- getJavaClass().getJavaName(), ""}), //$NON-NLS-1$
- e));
- }
- } else {
- // The class itself couldn't be initialized. Just log it, but treat as no proxy.
- BeaninfoPlugin.getPlugin().getLogger()
- .log(
- new Status(IStatus.WARNING, BeaninfoPlugin.getPlugin().getBundle().getSymbolicName(), 0,
- MessageFormat.format(BeanInfoAdapterMessages.INTROSPECT_FAILED_EXC_, new Object[] { //$NON-NLS-1$
- getJavaClass().getJavaName(), targetType.getInitializationError()}), null));
- }
- } else {
- // The class itself could not be found. Just log it, but treat as no proxy.
- BeaninfoPlugin.getPlugin().getLogger().log(
- new Status(IStatus.INFO, BeaninfoPlugin.getPlugin().getBundle().getSymbolicName(), 0, MessageFormat.format(
- BeanInfoAdapterMessages.INTROSPECT_FAILED_EXC_, new Object[] {
- getJavaClass().getJavaName(),
- BeanInfoAdapterMessages.BeaninfoClassAdapter_ClassNotFound}),
- null));
- }
-
- if (beaninfo != null) {
- doReflection = false; // We have a beaninfo, so we are doing introspection.
- final BeanDecorator bdecor = decor;
- // We have a beaninfo to process.
- BeanInfoDecoratorUtility.introspect(beaninfo, new BeanInfoDecoratorUtility.IntrospectCallBack() {
-
- /*; (non-Javadoc)
- * @see org.eclipse.jem.internal.beaninfo.adapters.BeanInfoDecoratorUtility.IntrospectCallBack#process(org.eclipse.jem.internal.beaninfo.common.BeanRecord)
- */
- public BeanDecorator process(BeanRecord record) {
- return bdecor;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.beaninfo.adapters.BeanInfoDecoratorUtility.IntrospectCallBack#process(org.eclipse.jem.internal.beaninfo.common.PropertyRecord)
- */
- public PropertyDecorator process(PropertyRecord record) {
- return calculateProperty(record, false);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.beaninfo.adapters.BeanInfoDecoratorUtility.IntrospectCallBack#process(org.eclipse.jem.internal.beaninfo.common.IndexedPropertyRecord)
- */
- public PropertyDecorator process(IndexedPropertyRecord record) {
- return calculateProperty(record, true);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.beaninfo.adapters.BeanInfoDecoratorUtility.IntrospectCallBack#process(org.eclipse.jem.internal.beaninfo.common.MethodRecord)
- */
- public MethodDecorator process(MethodRecord record) {
- return calculateOperation(record);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.beaninfo.adapters.BeanInfoDecoratorUtility.IntrospectCallBack#process(org.eclipse.jem.internal.beaninfo.common.EventSetRecord)
- */
- public EventSetDecorator process(EventSetRecord record) {
- return calculateEvent(record);
- }
- });
- }
- }
- }
-
- if (doReflection) {
- // Need to do reflection stuff.
- if (decor.isIntrospectProperties())
- reflectProperties();
- if (doOperations && decor.isIntrospectMethods())
- reflectOperations();
- if (decor.isIntrospectEvents())
- reflectEvents();
- }
- ChangeDescription cd = ChangeFactory.eINSTANCE.createChangeDescription();
- BeanInfoDecoratorUtility.buildChange(cd, decor);
- finalizeProperties(cd);
- if (doOperations)
- finalizeOperations(cd);
- finalizeEvents(cd);
-
- classEntry = BeanInfoCacheController.INSTANCE.newCache(getJavaClass(), cd, doOperations ? BeanInfoCacheController.REFLECTION_OPERATIONS_CACHE : BeanInfoCacheController.REFLECTION_CACHE);
- TimerTests.basicTest.stopCumulativeStep(REMOTE_INTROSPECT);
- }
- TimerTests.basicTest.stopCumulativeStep(INTROSPECT);
- }
- getAdapterFactory().registerIntrospection(getJavaClass().getQualifiedNameForReflection(), this);
- }
- } finally {
- if (beaninfo != null) {
- beaninfo.getProxyFactoryRegistry().releaseProxy(beaninfo); // Dispose of the beaninfo since we now have everything.
- }
- eventsMap = null; // Clear out the temp lists.
- eventsRealList = null;
- operationsMap = null; // Clear out the temp lists.
- operationsRealList = null;
- newoperations = null;
- propertiesMap = null; // Get rid of accumulated map.
- featuresRealList = null; // Release the real list.
- }
- }
-
- private void doIDs() {
- // Do properties.
- if (getJavaClass().eIsSet(EcorePackage.eINSTANCE.getEClass_EStructuralFeatures())) {
- List features = getFeaturesList();
- int len = features.size();
- for (int i = 0; i < len; i++) {
- EStructuralFeature f = (EStructuralFeature) features.get(i);
- PropertyDecorator pd = Utilities.getPropertyDecorator(f);
- if (pd == null || !pd.isMergeIntrospection())
- continue; // Not a property for us to give an ID to.
- setPropertyID(f.getName(), f);
- }
- }
-
- // Do events.
- if (getJavaClass().eIsSet(JavaRefPackage.eINSTANCE.getJavaClass_Events())) {
- List events = getEventsList();
- int len = events.size();
- for (int i = 0; i < len; i++) {
- BeanEvent e = (BeanEvent) events.get(i);
- EventSetDecorator ed = Utilities.getEventSetDecorator(e);
- if (ed == null || !ed.isMergeIntrospection())
- continue; // Not an event for us to give an ID to.
- setEventID(e.getName(), e);
- }
- }
-
- // Do Operations.
- if (getJavaClass().eIsSet(EcorePackage.eINSTANCE.getEClass_EOperations())) {
- List ops = getOperationsList();
- int len = ops.size();
- for (int i = 0; i < len; i++) {
- EOperation o = (EOperation) ops.get(i);
- MethodDecorator md = Utilities.getMethodDecorator(o);
- if (md == null || !md.isMergeIntrospection())
- continue; // Not an event for us to give an ID to.
- setMethodID(o.getName(), o);
- }
- }
- }
-
- private static final String ROOT_OVERRIDE = BeaninfoPlugin.ROOT+BeaninfoPlugin.OVERRIDE_EXTENSION; //$NON-NLS-1$
-
- protected void applyExtensionDocument(boolean rootOnly) {
- try {
- TimerTests.basicTest.startCumulativeStep(APPLY_EXTENSIONS);
- boolean canUseCache = !rootOnly && canUseOverrideCache();
- boolean alreadyRetrievedRoot = retrievedExtensionDocument == RETRIEVED_ROOT_ONLY;
- retrievedExtensionDocument = rootOnly ? RETRIEVED_ROOT_ONLY : RETRIEVED_FULL_DOCUMENT;
- JavaClass jc = getJavaClass();
- Resource mergeIntoResource = jc.eResource();
- ResourceSet rset = mergeIntoResource.getResourceSet();
- String className = jc.getName();
- if (canUseCache) {
- // We can use the cache, see if we actually have one.
- if (getClassEntry().overrideCacheExists()) {
- // Get the cache and apply it before anything else.
- Resource cacheRes = BeanInfoCacheController.INSTANCE.getCache(jc, getClassEntry(), false);
- if (cacheRes != null) {
- try {
- EventUtil util = EventFactory.eINSTANCE.createEventUtil(jc, rset);
- util.doForwardEvents(cacheRes.getContents());
- } catch (WrappedException e) {
- BeaninfoPlugin.getPlugin().getLogger().log(
- new Status(IStatus.WARNING, BeaninfoPlugin.PI_BEANINFO_PLUGINID, 0,
- "Error processing file\"" + cacheRes.getURI() + "\"", e.exception())); //$NON-NLS-1$ //$NON-NLS-2$
- } finally {
- cacheRes.getResourceSet().getResources().remove(cacheRes); // We don't need it around once we do the merge. Normal merge would of gotton rid of it, but in case of error we do it here.
- }
- } else
- canUseCache = false; // Need to rebuild the cache.
- }
- }
- List overrideCache = null;
- if (!alreadyRetrievedRoot && (rootOnly || jc.getSupertype() == null)) {
- // It is a root class. Need to merge in root stuff.
- if (!canUseCache) {
- overrideCache = createOverrideCache(overrideCache, getAdapterFactory().getProject(), BeaninfoPlugin.ROOT, ROOT_OVERRIDE, rset, jc);
- }
- applyExtensionDocTo(rset, jc, ROOT_OVERRIDE, BeaninfoPlugin.ROOT, BeaninfoPlugin.ROOT);
- if (rootOnly)
- return;
- }
-
- String baseOverridefile = className + BeaninfoPlugin.OVERRIDE_EXTENSION; // getName() returns inner classes with "$" notation, which is good. //$NON-NLS-1$
- String packageName = jc.getJavaPackage().getPackageName();
- if (!canUseCache) {
- overrideCache = createOverrideCache(overrideCache, getAdapterFactory().getProject(), packageName, baseOverridefile, rset, jc);
- }
- applyExtensionDocTo(rset, jc, baseOverridefile, packageName, className);
-
- if (!canUseCache) {
- // We have an override cache to store. If the cache is null, this will flag that there is no override cache for the current configuration. That way we won't bother trying again until config changes.
- BeanInfoCacheController.INSTANCE.newCache(jc, overrideCache, BeanInfoCacheController.OVERRIDES_CACHE);
- }
-
- } finally {
- TimerTests.basicTest.stopCumulativeStep(APPLY_EXTENSIONS);
- }
- }
-
- /*
- * Build up the fixed overrides into the cache, and apply as we gather them.
- * Return the cache or null if the cache is empty at the end.
- */
- private List createOverrideCache(List cache, IProject project, String packageName, String overrideFile, ResourceSet rset, JavaClass mergeIntoJavaClass) {
- // Now get the overrides paths
- String[] paths = BeaninfoPlugin.getPlugin().getOverridePaths(project, packageName);
- if (paths.length == 0)
- return cache;
-
- // Now apply the overrides.
- if (cache == null)
- cache = new ArrayList();
- BeaninfoPlugin.IOverrideRunnable runnable = new ExtensionDocApplies(overrideFile, rset, mergeIntoJavaClass, cache);
- for (int i = 0; i < paths.length; i++) {
- runnable.run(paths[i]);
- }
- return !cache.isEmpty() ? cache : null;
- }
-
- private class ExtensionDocApplies implements BeaninfoPlugin.IOverrideRunnable {
-
- private final String overrideFile;
- private final ResourceSet rset;
- private final JavaClass mergeIntoJavaClass;
- private final List overridesCache;
-
- public ExtensionDocApplies(String overrideFile, ResourceSet rset, JavaClass mergeIntoJavaClass, List overridesCache) {
- this.overrideFile = overrideFile;
- this.rset = rset;
- this.mergeIntoJavaClass = mergeIntoJavaClass;
- this.overridesCache = overridesCache;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.beaninfo.core.BeaninfoPlugin.IOverrideRunnable#run(java.lang.String)
- */
- public void run(String overridePath) {
- Resource overrideRes = null;
- URI uri = URI.createURI(overridePath+overrideFile);
- try {
- overrideRes = rset.getResource(uri, true);
- run(overrideRes);
- } catch (WrappedException e) {
- // FileNotFoundException is ok
- if (!(e.exception() instanceof FileNotFoundException)) {
- if (e.exception() instanceof CoreException
- && ((CoreException) e.exception()).getStatus().getCode() == IResourceStatus.RESOURCE_NOT_FOUND) {
- // This is ok. Means uri_mapping not set so couldn't find in Workspace, also ok.
- } else {
- BeaninfoPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, BeaninfoPlugin.PI_BEANINFO_PLUGINID, 0, "Error loading file\"" + uri + "\"", e.exception())); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
- // In case it happened after creating resource but during load. Need to get rid of it in the finally.
- overrideRes = rset.getResource(uri, false);
- } catch (Exception e) {
- // Couldn't load it for some reason.
- BeaninfoPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, BeaninfoPlugin.PI_BEANINFO_PLUGINID, 0, "Error loading file\"" + uri + "\"", e)); //$NON-NLS-1$ //$NON-NLS-2$
- overrideRes = rset.getResource(uri, false); // In case it happened after creating resource but during load so that we can get rid of it.
- } finally {
- if (overrideRes != null)
- rset.getResources().remove(overrideRes); // We don't need it around once we do the merge. Normal merge would of gotton rid of it, but in case of error we do it here.
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.beaninfo.core.BeaninfoPlugin.IOverrideRunnable#run(org.eclipse.emf.ecore.resource.Resource)
- */
- public void run(Resource overrideRes) {
- try {
- if (overridesCache != null)
- overridesCache.addAll(EcoreUtil.copyAll(overrideRes.getContents())); // Make a copy for the override cache to be used next time needed.
- EventUtil util = EventFactory.eINSTANCE.createEventUtil(mergeIntoJavaClass, rset);
- util.doForwardEvents(overrideRes.getContents());
- } catch (WrappedException e) {
- BeaninfoPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, BeaninfoPlugin.PI_BEANINFO_PLUGINID, 0, "Error processing file\"" + overrideRes.getURI() + "\"", e.exception())); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
- }
- protected void applyExtensionDocTo(ResourceSet rset, JavaClass mergeIntoJavaClass, String overrideFile, String packageName, String className) {
- BeaninfoPlugin.getPlugin().applyOverrides(getAdapterFactory().getProject(), packageName, className, mergeIntoJavaClass, rset,
- new ExtensionDocApplies(overrideFile, rset, mergeIntoJavaClass, null));
- }
-
- /**
- * Return the target as a JavaClass
- */
- protected JavaClassImpl getJavaClass() {
- return (JavaClassImpl) getTarget();
- }
-
- /**
- * Answer the beaninfo constants record
- */
- protected BeaninfoProxyConstants getProxyConstants() {
- return BeaninfoProxyConstants.getConstants(getRegistry());
- }
-
- /**
- * @see org.eclipse.jem.java.beaninfo.IIntrospectionAdapter#getEStructuralFeatures()
- */
- public EList getEStructuralFeatures() {
- introspectIfNecessary();
- return getJavaClass().getEStructuralFeaturesInternal();
- }
-
- /**
- * @see org.eclipse.jem.java.beaninfo.IIntrospectionAdapter#getAllProperties()
- */
- public EList getAllProperties() {
- return allProperties();
- }
-
- /**
- * @see org.eclipse.jem.java.beaninfo.IIntrospectionAdapter#getEOperations()
- */
- public EList getEOperations() {
- if (getClassEntry() != null && getClassEntry().isOperationsStored())
- introspectIfNecessary(); // Already stored, just do if necessary.
- else {
- synchronized (this) {
- needsIntrospection = true; // Force reintrospection because we either aren't storing operations, or have never loaded.
- }
- introspectIfNecessary(true); // But force the operations now.
- }
- return getJavaClass().getEOperationsInternal();
- }
-
- /**
- * @see org.eclipse.jem.java.beaninfo.IIntrospectionAdapter#getEAllOperations()
- */
- public BasicEList getEAllOperations() {
- return allOperations();
- }
-
- /**
- * @see org.eclipse.jem.java.beaninfo.IIntrospectionAdapter#getEvents()
- */
- public EList getEvents() {
- introspectIfNecessary();
- return getJavaClass().getEventsGen();
- }
-
- /**
- * @see org.eclipse.jem.java.beaninfo.IIntrospectionAdapter#getAllEvents()
- */
- public EList getAllEvents() {
- return allEvents();
- }
-
- private void finalizeProperties(ChangeDescription cd) {
- // Now go through the list and remove those that should be removed, and set the etype for those that don't have it set.
- Map oldLocals = getPropertiesMap();
- Iterator itr = getFeaturesList().iterator();
- while (itr.hasNext()) {
- EStructuralFeature a = (EStructuralFeature) itr.next();
- PropertyDecorator p = Utilities.getPropertyDecorator(a);
- Object aOld = oldLocals.get(a.getName());
- if (aOld != null && aOld != Boolean.FALSE) {
- // A candidate for removal. It was in the old list and it was not processed.
- if (p != null) {
- ImplicitItem implicit = p.getImplicitDecoratorFlag();
- if (implicit != ImplicitItem.NOT_IMPLICIT_LITERAL) {
- p.setEModelElement(null); // Remove from the feature;
- ((InternalEObject) p).eSetProxyURI(BAD_URI);
- // Mark it as bad proxy so we know it is no longer any use.
- p = null;
- if (implicit == ImplicitItem.IMPLICIT_DECORATOR_AND_FEATURE_LITERAL) {
- itr.remove(); // Remove it, this was implicitly created and not processed this time.
- ((InternalEObject) a).eSetProxyURI(BAD_URI); // Mark it as bad proxy so we know it is no longer any use.
- continue;
- }
- // Need to go on because we need to check the eType to make sure it is set. At this point we have no decorator but we still have a feature.
- }
- }
- }
-
- // [79083] Also check for eType not set, and if it is, set it to EObject type. That way it will be valid, but not valid as
- // a bean setting.
- if (a.getEType() == null) {
- // Set it to EObject type. If it becomes valid later (through the class being changed), then the introspect/reflect
- // will set it to the correct type.
- a.setEType(EcorePackage.eINSTANCE.getEObject());
- Logger logger = BeaninfoPlugin.getPlugin().getLogger();
- if (logger.isLoggingLevel(Level.WARNING))
- logger.logWarning("Feature \""+getJavaClass().getQualifiedName()+"->"+a.getName()+"\" did not have a type set. Typically due to override file creating feature but property not found on introspection/reflection."); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
-
- if (p != null && cd != null) {
- // Now create the appropriate cache entry for this property.
- BeanInfoDecoratorUtility.buildChange(cd, p);
- }
- }
- }
-
- /**
- * merge all the Properties (i.e. supertypes) (properties)
- */
- protected EList allProperties() {
-
- EList jcAllProperties = getJavaClass().getAllPropertiesGen();
- BeaninfoSuperAdapter superAdapter =
- (BeaninfoSuperAdapter) EcoreUtil.getRegisteredAdapter(getJavaClass(), BeaninfoSuperAdapter.class);
- if (jcAllProperties != null) {
- // See if new one required.
- if (superAdapter == null || !superAdapter.isAllPropertiesCollectionModified())
- return jcAllProperties;
- // Can't get superadapter, so must not be attached to a resource, so return current list. Or no change required.
- }
-
- UniqueEList.FastCompare allProperties = new UniqueEList.FastCompare() {
- /**
- * Comment for <code>serialVersionUID</code>
- *
- * @since 1.1.0
- */
- private static final long serialVersionUID = 1L;
-
- protected Object[] newData(int capacity) {
- return new EStructuralFeature[capacity];
- }
- };
- boolean doAllProperties = false;
- synchronized(this) {
- // If we are introspecting, don't do all properties because it is an invalid list. Just return empty without reseting the all modified flag.
- doAllProperties = !isDoingAllProperties && !isIntrospecting && isResourceConnected();
- if (doAllProperties)
- isDoingAllProperties = true;
- }
- if (doAllProperties) {
- try {
- EList localProperties = getJavaClass().getProperties();
- // Kludge: BeanInfo spec doesn't address Interfaces, but some people want to use them.
- // Interfaces can have multiple extends, while the Introspector ignores these for reflection,
- // the truth is most people want these. So we will add them in. But since there could be more than one it
- // gets confusing. We need to look for dups from the super types and still keep order.
- //
- // Supertypes will never be more than one entry for classes, it is possible to be 0, 1, 2 or more for interfaces.
- List superTypes = getJavaClass().getESuperTypes();
- if (!superTypes.isEmpty()) {
- // Now we need to merge in the supers.
- BeanDecorator bd = Utilities.getBeanDecorator(getJavaClass());
- // If there is only one supertype, we can add to the actual events, else we will use the linked hashset so that
- // we don't add possible duplicates (e.g. IA extends IB,IC and IB extends IC. In this case there would be dups
- // because IB would contribute IC's too).
- Collection workingAllProperties = superTypes.size() == 1 ? (Collection) allProperties : new LinkedHashSet();
- // We will now merge as directed.
- boolean mergeAll = bd == null || bd.isMergeSuperProperties();
- if (!mergeAll) {
- // we don't to want to merge super properties, but we still need super non-properties or explict ones.
- int lenST = superTypes.size();
- for (int i=0; i<lenST; i++) {
- List supers = ((JavaClass) superTypes.get(i)).getAllProperties();
- int len = supers.size();
- for (int i1 = 0; i1 < len; i1++) {
- EStructuralFeature p = (EStructuralFeature) supers.get(i1);
- PropertyDecorator pd = Utilities.getPropertyDecorator(p);
- if ( pd == null || (pd.getImplicitDecoratorFlag() == ImplicitItem.NOT_IMPLICIT_LITERAL && !pd.isMergeIntrospection()))
- workingAllProperties.add(p);
- }
- }
- } else {
- // We want to merge all.
- // BeanInfo could of given us the not merge list. If the list is empty, then we accept all.
- if (bd != null && bd.eIsSet(BeaninfoPackage.eINSTANCE.getBeanDecorator_NotInheritedPropertyNames())) {
- // We were given a list of names.
- // Get the names into a set to create a quick lookup.
- HashSet superSet = new HashSet(bd.getNotInheritedPropertyNames());
-
- // Now walk and add in non-bean properties (and bean properties that were explicitly added and not mergeable (i.e. didn't come thru beaninfo))
- // and add those not specifically called out by BeanInfo in the not inherited list.
- int lenST = superTypes.size();
- for (int i=0; i<lenST; i++) {
- List supers = ((JavaClass) superTypes.get(i)).getAllProperties();
- int len = supers.size();
- for (int i1 = 0; i1 < len; i1++) {
- EStructuralFeature p = (EStructuralFeature) supers.get(i1);
- PropertyDecorator pd = Utilities.getPropertyDecorator(p);
- if (pd == null || (pd.getImplicitDecoratorFlag() == ImplicitItem.NOT_IMPLICIT_LITERAL && !pd.isMergeIntrospection()) || !superSet.contains(pd.getName()))
- workingAllProperties.add(p);
- }
- }
- } else {
- // BeanInfo (or reflection always does this) called out that all super properties are good
- int lenST = superTypes.size();
- for (int i=0; i<lenST; i++) {
- workingAllProperties.addAll(((JavaClass) superTypes.get(i)).getAllProperties());
- }
- }
- }
- if (workingAllProperties != allProperties)
- allProperties.addAll(workingAllProperties); // Now copy over the ordered super properties.
- }
- allProperties.addAll(localProperties);
- superAdapter.setAllPropertiesCollectionModified(false); // Now built, so reset to not changed.
- } finally {
- synchronized(this) {
- isDoingAllProperties = false;
- }
- }
- }
-
- if (!allProperties.isEmpty()) {
- allProperties.shrink();
- return new EcoreEList.UnmodifiableEList.FastCompare(
- getJavaClass(),
- null,
- allProperties.size(),
- allProperties.data());
- } else
- return ECollections.EMPTY_ELIST;
- }
-
- /*
- * Fill in the property using the prop record. If this one that should have merging done, then
- * return the PropertyDecorator so that it can have the PropertyRecord merged into it. Else
- * return null if no merging.
- */
- protected PropertyDecorator calculateProperty(PropertyRecord pr, boolean indexed) {
- // If this is an indexed property, then a few fields will not be set in here, but
- // will instead be set by the calculateIndexedProperty, which will be called.
- boolean changeable = pr.writeMethod != null || (pr.field != null && !pr.field.readOnly);
- JavaHelpers type = pr.propertyTypeName != null ? Utilities.getJavaType(MapJNITypes.getFormalTypeName(pr.propertyTypeName), getJavaClass().eResource().getResourceSet()) : null;
-
- if (indexed) {
- // If no array write method found, then see if there is an indexed write method. If there is, then it is changable.
- if (!changeable)
- changeable = ((IndexedPropertyRecord) pr).indexedWriteMethod != null;
- if (type == null) {
- // If no array type from above, create one from the indexed type proxy. Add '[]' to turn it into an array.
- type = Utilities.getJavaType(MapJNITypes.getFormalTypeName(((IndexedPropertyRecord) pr).indexedPropertyTypeName)+"[]", getJavaClass().eResource().getResourceSet()); //$NON-NLS-1$
- }
- }
-
- if (type != null)
- return createProperty(pr.name, indexed, changeable, type); // A valid property descriptor.
- else
- return null;
- }
-
- /**
- * Fill in the property and its decorator using the passed in information.
- */
- protected PropertyDecorator createProperty(String name, boolean indexed, boolean changeable, EClassifier type) {
- // First find if there is already a property of this name, and if there is, is the PropertyDecorator
- // marked to not allow merging in of introspection results.
- HashMap existingLocals = getPropertiesMap();
- EStructuralFeature prop = null;
- PropertyDecorator pd = null;
- Object p = existingLocals.get(name);
- if (Boolean.FALSE == p)
- return null; // We've already processed this name, can't process it again.
- if (p != null) {
- // We've found one of the same name. Whether we modify it or use it as is, we put in a
- // special dummy in its place. That marks that we've already processed it and accepted it.
- existingLocals.put(name, Boolean.FALSE);
-
- // If the decorator for this entry says not to merge then return.
- // If there is no PropertyDecorator, then we will merge. If they
- // didn't want to merge then should of created of property decorator and said no merge.
- pd = Utilities.getPropertyDecorator((EStructuralFeature) p);
- if (pd != null && !pd.isMergeIntrospection())
- return null;
- prop = (EStructuralFeature) p;
- }
-
- // Need to test if this is an implicit decorator and it is not of the
- // same type (i.e. is indexed now but wasn't or visa-versa, then we need
- // to get rid of the decorator and recreate it. If it is not implicit, then
- // we have to use it as is because the user specified, so it won't become
- // an indexed if the user did not created it as an index, and visa-versa.
- // Also if it is implicit, then we need to unset certain features that may of
- // been set by a previous reflection which has now become introspected.
- // When reflected we set the actual fields instead of the letting proxy determine them.
- if (pd != null) {
- if (pd.getImplicitDecoratorFlag() == ImplicitItem.NOT_IMPLICIT_LITERAL) {
- // We can't change the type for explicit.
- indexed = pd instanceof IndexedPropertyDecorator;
- } else {
- if ((indexed && !(pd instanceof IndexedPropertyDecorator)) || (!indexed && pd instanceof IndexedPropertyDecorator)) {
- // It is implicit and of a different type, so just get rid of it and let it be recreated correctly.
- prop.getEAnnotations().remove(pd);
- pd = null;
- }
- }
- if (pd != null)
- if (indexed)
- BeanInfoDecoratorUtility.clear((IndexedPropertyDecorator) pd);
- else
- BeanInfoDecoratorUtility.clear(pd);
- }
-
- ImplicitItem implicit = pd == null ? ImplicitItem.IMPLICIT_DECORATOR_LITERAL : pd.getImplicitDecoratorFlag();
- if (prop == null) {
- // We will create a new property.
- // We can't have an implicit feature, but an explicit decorator.
- getFeaturesList().add(prop = EcoreFactory.eINSTANCE.createEReference());
- implicit = ImplicitItem.IMPLICIT_DECORATOR_AND_FEATURE_LITERAL;
- }
-
- setPropertyID(name, prop);
- prop.setName(name);
- prop.setTransient(false);
- prop.setVolatile(false);
- prop.setChangeable(changeable);
-
- // Containment and Unsettable is tricky for EReferences. There is no way to know whether it has been explicitly set to false, or it defaulted to
- // false because ECore has not made containment/unsettable an unsettable feature. So we need to instead use the algorithm of if we here
- // created the feature, then we will by default set it to containment/unsettable. If it was created through diff merge, then
- // we will leave it alone. It is the responsibility of the merge file writer to set containment/unsettable correctly.
- if (implicit == ImplicitItem.IMPLICIT_DECORATOR_AND_FEATURE_LITERAL) {
- prop.setUnsettable(true);
- }
- prop.setEType(type);
- if (!indexed) {
- prop.setLowerBound(0);
- prop.setUpperBound(1);
- } else {
- prop.setLowerBound(0);
- prop.setUpperBound(-1);
- prop.setUnique(true);
- }
-
- // Now create/fill in the property descriptor for it.
- // If there already is one then we
- // will use it. This allows merging with beanfinfo.
- if (pd == null) {
- pd =
- (!indexed)
- ? BeaninfoFactory.eINSTANCE.createPropertyDecorator()
- : BeaninfoFactory.eINSTANCE.createIndexedPropertyDecorator();
- pd.setImplicitDecoratorFlag(implicit);
- prop.getEAnnotations().add(pd);
- }
- return pd;
- }
-
- /**
- * @param name
- * @param prop
- *
- * @since 1.1.0
- */
- private void setPropertyID(String name, EStructuralFeature prop) {
- // Now fill it in. Normal id for an attribute is "classname.attributename" but we can't use that
- // for us because that format is used by Java Core for a field and there would be confusion.
- // So we will use '/' instead.
- ((XMIResource) prop.eResource()).setID(prop, getJavaClass().getName() + BeaninfoJavaReflectionKeyExtension.FEATURE + name);
- }
-
- /*
- * Reflect the properties. This requires going through local methods and matching them up to
- * see if they are properties.
- */
- private void reflectProperties() {
- // If we are set to mergeSuperTypeProperties, then we need to get the super properties.
- // This is so that duplicate any from super that we find here. When reflecting we don't
- // allow discovered duplicates unless they are different types.
- //
- // Kludge: BeanInfo spec doesn't address Interfaces, but some people want to use them.
- // Interfaces can have multiple extends, while the Introspector ignores these for reflection,
- // the truth is most people want these. So we will add them in. But since there could be more than one it
- // gets confusing. We need to look for dups from the super types.
- //
- // Supertypes will never be more than one entry for classes, it is possible to be 0, 1, 2 or more for interfaces.
- TimerTests.basicTest.startCumulativeStep(REFLECT_PROPERTIES);
- Set supers = new HashSet(50);
- BeanDecorator bd = Utilities.getBeanDecorator(getJavaClass());
- if (bd == null || bd.isMergeSuperProperties()) {
- List superTypes = getJavaClass().getESuperTypes();
- if (!superTypes.isEmpty()) {
- int lenST = superTypes.size();
- for (int i=0; i<lenST; i++) {
- List superAll = ((JavaClass) superTypes.get(i)).getAllProperties();
- int len = superAll.size();
- for (int i1=0; i1<len; i1++) {
- EStructuralFeature sf = (EStructuralFeature) superAll.get(i1);
- supers.add(sf.getName());
- }
- }
- }
- }
-
- // If any of the classes in the hierarchy are bound, then all reflected properties are considered bound.
- boolean isBound = isDefaultBound();
- if (!isBound) {
- List superTypes = getJavaClass().getEAllSuperTypes();
- // Start from end because that will be first class above the this one.
- for (int i=superTypes.size()-1; !isBound && i>=0; i--) {
- JavaClass spr = (JavaClass) superTypes.get(i);
- BeaninfoClassAdapter bi = (BeaninfoClassAdapter) EcoreUtil.getExistingAdapter(spr, IIntrospectionAdapter.ADAPTER_KEY);
- // They should all be reflected, but be on safe side, check if null.
- if (bi != null)
- isBound = bi.isDefaultBound();
- }
- }
-
- HashMap props = new HashMap();
-
- Iterator itr = getJavaClass().getPublicMethods().iterator();
- while (itr.hasNext()) {
- Method mthd = (Method) itr.next();
- if (mthd.isStatic() || mthd.isConstructor())
- continue; // Statics/constructors don't participate as properties
- if (mthd.getName().startsWith("get")) { //$NON-NLS-1$
- String name = java.beans.Introspector.decapitalize(mthd.getName().substring(3));
- if (name.length() == 0 || supers.contains(name))
- continue; // Had get(...) and not getXXX(...) so not a getter. Or this is the same name as a super, either way ignore it.
- PropertyInfo propInfo = (PropertyInfo) props.get(name);
- if (propInfo == null) {
- propInfo = new PropertyInfo();
- if (propInfo.setGetter(mthd, false))
- props.put(name, propInfo);
- } else
- propInfo.setGetter(mthd, false);
- } else if (mthd.getName().startsWith("is")) { //$NON-NLS-1$
- String name = java.beans.Introspector.decapitalize(mthd.getName().substring(2));
- if (name.length() == 0 || supers.contains(name))
- continue; // Had is(...) and not isXXX(...) so not a getter. Or this is the same name as a super, either way ignore it.
- PropertyInfo propInfo = (PropertyInfo) props.get(name);
- if (propInfo == null) {
- propInfo = new PropertyInfo();
- if (propInfo.setGetter(mthd, true))
- props.put(name, propInfo);
- } else
- propInfo.setGetter(mthd, true);
- } else if (mthd.getName().startsWith("set")) { //$NON-NLS-1$
- String name = java.beans.Introspector.decapitalize(mthd.getName().substring(3));
- if (name.length() == 0 || supers.contains(name))
- continue; // Had set(...) and not setXXX(...) so not a setter. Or this is the same name as a super, either way ignore it.
- PropertyInfo propInfo = (PropertyInfo) props.get(name);
- if (propInfo == null) {
- propInfo = new PropertyInfo();
- if (propInfo.setSetter(mthd))
- props.put(name, propInfo);
- } else
- propInfo.setSetter(mthd);
- }
- }
-
- // Now go through the hash map and create the properties.
- itr = props.entrySet().iterator();
- while (itr.hasNext()) {
- Map.Entry entry = (Map.Entry) itr.next();
- ((PropertyInfo) entry.getValue()).createProperty((String) entry.getKey(), isBound);
- }
- TimerTests.basicTest.stopCumulativeStep(REFLECT_PROPERTIES);
- }
-
- private class PropertyInfo {
-
- public EClassifier type, indexedType;
- public boolean constrained;
- public Method getter, setter, indexedGetter, indexedSetter;
-
- public boolean setGetter(Method get, boolean mustBeBoolean) {
- List parms = get.getParameters();
- if (parms.size() > 1)
- return false; // Invalid - improper number of parms.
- boolean indexed = parms.size() == 1;
- if (indexed && !((JavaParameter) parms.get(0)).getEType().getName().equals("int")) //$NON-NLS-1$
- return false; // Invalid - a parm that is not an int is invalid for indexed.
- EClassifier retType = get.getReturnType();
- if (retType == null || retType.getName().equals("void")) //$NON-NLS-1$
- return false; // Invalid - must have a return type
- if (mustBeBoolean && !retType.getName().equals("boolean")) //$NON-NLS-1$
- return false; // Invalid - it must be a boolean.
- if (indexed) {
- if (indexedType != null) {
- if (indexedType != retType)
- return false; // Invalid - type is different from previous info.
- }
- if (type != null && !(((JavaHelpers) type).isArray() && ((ArrayType) type).getComponentType() == retType))
- return false; // Invalid - indexed type doesn't match component type of base type.
- } else {
- if (type != null) {
- if (type != retType)
- return false; // Invalid - type is different from previous info.
- }
- if (indexedType != null && !(((JavaHelpers) retType).isArray() && ((ArrayType) retType).getComponentType() == indexedType))
- if (type == null) {
- // We had a potential indexed and had not yet found the regular type. We've now found
- // the regular type, and it is not indexed. So it takes priority and will wipe out
- // the indexed type.
- indexedGetter = null;
- indexedSetter = null;
- indexedType = null;
- } else
- return false; // Invalid - indexed type doesn't match component type of base type we already have
- }
-
- if (indexed) {
- if (indexedGetter != null)
- return false; // Already have an indexed getter.
- indexedGetter = get;
- indexedType = retType;
- } else {
- if (getter != null)
- return false; // Already have a getter
- getter = get;
- type = retType;
- }
- return true;
- }
-
- public boolean setSetter(Method set) {
- List parms = set.getParameters();
- if (parms.size() > 2 || parms.size() < 1)
- return false; // Invalid - improper number of parms.
- boolean indexed = parms.size() == 2;
- if (indexed && !((JavaParameter) parms.get(0)).getEType().getName().equals("int")) //$NON-NLS-1$
- return false; // Invalid - a parm that is not an int is invalid for indexed.
- EClassifier retType = set.getReturnType();
- if (retType != null && !retType.getName().equals("void")) //$NON-NLS-1$
- return false; // Invalid - must not have a return type
- EClassifier propType = null;
- if (indexed) {
- propType = ((JavaParameter) parms.get(1)).getEType();
- if (indexedType != null) {
- if (indexedType != propType)
- return false; // Invalid - type is different from previous info.
- }
- if (type != null && !(((JavaHelpers) type).isArray() && ((ArrayType) type).getComponentType() == propType))
- return false; // Invalid - indexed type doesn't match component type of base type, or base type not an array
- } else {
- propType = ((JavaParameter) parms.get(0)).getEType();
- if (type != null) {
- if (type != propType)
- return false; // Invalid - type is different from previous info.
- }
- if (indexedType != null
- && !(((JavaHelpers) propType).isArray() && ((ArrayType) propType).getComponentType() == indexedType))
- if (type == null) {
- // We had a potential indexed and had not yet found the regular type. We've now found
- // the regular type, and it is not indexed of the correct type. So it takes priority and will wipe out
- // the indexed type.
- indexedGetter = null;
- indexedSetter = null;
- indexedType = null;
- } else
- return false; // Invalid - indexed type doesn't match component type of base type from this setter.
- }
-
- if (indexed) {
- if (indexedSetter != null)
- return false; // Already have an indexed getter.
- indexedSetter = set;
- indexedType = propType;
- } else {
- if (setter != null)
- return false; // Already have a getter
- setter = set;
- type = propType;
- }
-
- if (set.getJavaExceptions().contains(Utilities.getJavaClass("java.beans.PropertyVetoException", getJavaClass().eResource().getResourceSet()))) //$NON-NLS-1$
- constrained = true;
- return true;
- }
-
- public void createProperty(String name, boolean isBound) {
- boolean indexed = indexedType != null;
- if (indexed && type == null)
- return; // A potential indexed, but never found the getter/setter of the regular type.
-
- PropertyDecorator prop =
- BeaninfoClassAdapter.this.createProperty(
- name,
- indexed,
- (!indexed) ? (setter != null) : (setter != null || indexedSetter != null),
- type);
- if (prop == null)
- return; // Reflection not wanted.
-
- indexed = prop instanceof IndexedPropertyDecorator; // It could of been forced back to not indexed if explicitly set.
-
- // At this point in time all implicit settings have been cleared. This is done back in createProperty() method above.
- // So now apply reflected settings on the property decorator.
- BeanInfoDecoratorUtility.setProperties(prop, isBound, constrained, getter, setter);
- if (indexed)
- BeanInfoDecoratorUtility.setProperties((IndexedPropertyDecorator) prop, indexedGetter, indexedSetter);
-
- }
- };
-
- /*
- * Should only be called from introspect so that flags are correct.
- */
- private void finalizeOperations(ChangeDescription cd) {
- // Now go through the list and remove those that should be removed.
- Iterator itr = getOperationsList().iterator();
- while (itr.hasNext()) {
- EOperation a = (EOperation) itr.next();
- MethodDecorator m = Utilities.getMethodDecorator(a);
- if (!newoperations.contains(a)) {
- // A candidate for removal. It is in the list but we didn't add it. Check to see if it one we had created in the past.
- // If no methoddecorator, then keep it, not one ours.
- if (m != null) {
- ImplicitItem implicit = m.getImplicitDecoratorFlag();
- if (implicit != ImplicitItem.NOT_IMPLICIT_LITERAL) {
- m.setEModelElement(null); // Remove it because it was implicit.
- ((InternalEObject) m).eSetProxyURI(BAD_URI);
- if (implicit == ImplicitItem.IMPLICIT_DECORATOR_AND_FEATURE_LITERAL) {
- itr.remove(); // The operation was implicit too.
- ((InternalEObject) a).eSetProxyURI(BAD_URI);
- }
- continue; // At this point we no longer have a method decorator, so go to next.
- }
- }
- }
-
- if (m != null && cd != null) {
- // Now create the appropriate cache entry for this method.
- BeanInfoDecoratorUtility.buildChange(cd, m);
- }
- }
- }
-
- /**
- * Fill in the behavior and its decorator using the mthdDesc.
- */
- protected MethodDecorator calculateOperation(MethodRecord record) {
- return createOperation(record.name, formLongName(record), null, record);
- }
-
- /**
- * Fill in the behavior and its decorator using the passed in information.
- */
- protected MethodDecorator createOperation(String name, String longName, Method method, MethodRecord record) {
- // First find if there is already a behavior of this name and method signature , and if there is, is the MethodDecorator
- // marked to not allow merging in of introspection results.
- HashMap existingLocals = getOperationsMap();
- EOperation oper = null;
- MethodDecorator md = null;
- Object b = null;
- if (name != null)
- b = existingLocals.get(longName);
- else
- b = existingLocals.get(longName);
-
- if (b != null) {
- // If the decorator for this entry says not to merge then return.
- // If there is no decorator, then we will merge. If they didn't want to
- // merge, then they should of created a decorator with no merge on it.
- md = Utilities.getMethodDecorator((EOperation) b);
- if (md != null && !md.isMergeIntrospection())
- return null;
- oper = (EOperation) b;
- }
-
- // Need to find the method and method id.
- if (method == null) {
- // No method sent, create a proxy to it from the record.
- method = BeanInfoDecoratorUtility.createJavaMethodProxy(record.methodForDescriptor);
- }
-
- ImplicitItem implicit = md == null ? ImplicitItem.IMPLICIT_DECORATOR_LITERAL : ImplicitItem.NOT_IMPLICIT_LITERAL;
- if (oper == null) {
- // We will create a new MethodProxy.
- oper = BeaninfoFactory.eINSTANCE.createMethodProxy();
- getOperationsList().add(oper);
- implicit = ImplicitItem.IMPLICIT_DECORATOR_AND_FEATURE_LITERAL;
- }
- if (name == null)
- name = method.getName();
-
- // Now fill it in.
- if (oper instanceof MethodProxy)
- ((MethodProxy) oper).setMethod(method);
- setMethodID(name, oper);
- oper.setName(name);
- newoperations.add(oper);
-
- // Now create/fill in the method decorator for it.
- // If there already is one then we
- // will use it. This allows merging with beaninfo.
- if (md == null) {
- md = BeaninfoFactory.eINSTANCE.createMethodDecorator();
- md.setImplicitDecoratorFlag(implicit);
- oper.getEAnnotations().add(md);
- } else
- BeanInfoDecoratorUtility.clear(md);
- return md;
- }
-
- /**
- * @param name
- * @param oper
- *
- * @since 1.1.0
- */
- private void setMethodID(String name, EOperation oper) {
- ((XMIResource) oper.eResource()).setID(oper, getJavaClass().getName() + BeaninfoJavaReflectionKeyExtension.BEHAVIOR + name);
- }
-
- private void reflectOperations() {
- // If we are set to mergeSuperTypeBehaviors, then we need to get the super behaviors.
- // This is so that duplicate any from super that we find here. When reflecting we don't
- // allow discovered duplicates unless they are different signatures. So all super operations
- // will be allowed and we will not override them.
- //
- // Kludge: BeanInfo spec doesn't address Interfaces, but some people want to use them.
- // Interfaces can have multiple extends, while the Introspector ignores these for reflection,
- // the truth is most people want these. So we will add them in. But since there could be more than one it
- // gets confusing. We need to look for dups from the super types.
- //
- // Supertypes will never be more than one entry for classes, it is possible to be 0, 1, 2 or more for interfaces.
- Set supers = new HashSet(50);
- BeanDecorator bd = Utilities.getBeanDecorator(getJavaClass());
- if (bd == null || bd.isMergeSuperMethods()) {
- List superTypes = getJavaClass().getESuperTypes();
- if (!superTypes.isEmpty()) {
- int lenST = superTypes.size();
- for (int i=0; i<lenST; i++) {
- List superAll = ((JavaClass) superTypes.get(i)).getEAllOperations();
- int len = superAll.size();
- for (int i1=0; i1<len; i1++) {
- EOperation op = (EOperation) superAll.get(i1);
- supers.add(formLongName(op));
- }
- }
- }
- }
-
- Iterator itr = getJavaClass().getPublicMethods().iterator();
- while (itr.hasNext()) {
- Method mthd = (Method) itr.next();
- if (mthd.isStatic() || mthd.isConstructor())
- continue; // Statics/constructors don't participate as behaviors
- String longName = formLongName(mthd);
- // Add if super not already contain it.
- if (!supers.contains(longName))
- createOperation(null, longName, mthd, null); // Don't pass a name, try to create it by name, only use ID if there is more than one of the same name.
- }
- }
-
- /*
- * merge all the Behaviors(i.e. supertypes)
- */
- protected BasicEList allOperations() {
- BasicEList jcAllOperations = (BasicEList) getJavaClass().primGetEAllOperations();
- BeaninfoSuperAdapter superAdapter =
- (BeaninfoSuperAdapter) EcoreUtil.getRegisteredAdapter(getJavaClass(), BeaninfoSuperAdapter.class);
- if (jcAllOperations != null) {
- // See if new one required.
- if (superAdapter == null || !superAdapter.isAllOperationsCollectionModified())
- return jcAllOperations;
- // Can't get superadapter, so must not be attached to a resource, so return current list. Or no change required.
- }
-
- UniqueEList.FastCompare allOperations = new UniqueEList.FastCompare() {
- /**
- * Comment for <code>serialVersionUID</code>
- *
- * @since 1.1.0
- */
- private static final long serialVersionUID = 1L;
-
- protected Object[] newData(int capacity) {
- return new EOperation[capacity];
- }
- };
- boolean doAllOperations = false;
- synchronized(this) {
- // If we are introspecting, don't do all operatoins because it is an invalid list. Just return empty without reseting the all modified flag.
- doAllOperations = !isDoingAllOperations && !isIntrospecting && isResourceConnected();
- if (doAllOperations)
- isDoingAllOperations = true;
- }
-
- if (doAllOperations) {
- try {
- EList localOperations = getJavaClass().getEOperations();
- // Kludge: BeanInfo spec doesn't address Interfaces, but some people want to use them.
- // Interfaces can have multiple extends, while the Introspector ignores these for reflection,
- // the truth is most people want these. So we will add them in. But since there could be more than one it
- // gets confusing. We need to look for dups from the super types and still keep order.
- //
- // Supertypes will never be more than one entry for classes, it is possible to be 0, 1, 2 or more for interfaces.
- List superTypes = getJavaClass().getESuperTypes();
- if (!superTypes.isEmpty()) {
- // Now we need to merge in the supers.
- BeanDecorator bd = Utilities.getBeanDecorator(getJavaClass());
- // If there is only one supertype, we can add to the actual events, else we will use the linked hashset so that
- // we don't add possible duplicates (e.g. IA extends IB,IC and IB extends IC. In this case there would be dups
- // because IB would contribute IC's too).
- Collection workingAllOperations = superTypes.size() == 1 ? (Collection) allOperations : new LinkedHashSet();
- // We will now merge as directed.
- boolean mergeAll = bd == null || bd.isMergeSuperMethods();
- if (!mergeAll) {
- // we don't to want to merge super operations, but we still need super non-operations.
- int lenST = superTypes.size();
- for (int i=0; i<lenST; i++) {
- List supers = ((JavaClass) superTypes.get(i)).getEAllOperations();
- int len = supers.size();
- for (int i1 = 0; i1 < len; i1++) {
- EOperation o = (EOperation) supers.get(i1);
- MethodDecorator md = Utilities.getMethodDecorator(o);
- if (md == null || (md.getImplicitDecoratorFlag() == ImplicitItem.NOT_IMPLICIT_LITERAL && !md.isMergeIntrospection()))
- workingAllOperations.add(o);
- }
- }
- } else {
- // We want to merge all.
- // BeanInfo could of given us the don't merge list. If the list is empty, then we accept all.
- if (bd != null && bd.eIsSet(BeaninfoPackage.eINSTANCE.getBeanDecorator_NotInheritedMethodNames())) {
- // We were given a list of names.
- // Get the names into a set to create a quick lookup.
- HashSet superSet = new HashSet(bd.getNotInheritedMethodNames());
-
- // Now walk and add in non-bean operations (and bean operations that were explicitly added and not mergeable (i.e. didn't come thru beaninfo))
- // and add those not specifically called out by BeanInfo not merge list.
- int lenST = superTypes.size();
- for (int i=0; i<lenST; i++) {
- List supers = ((JavaClass) superTypes.get(i)).getEAllOperations();
- int len = supers.size();
- for (int i1 = 0; i1 < len; i1++) {
- EOperation o = (EOperation) supers.get(i1);
- MethodDecorator md = Utilities.getMethodDecorator(o);
- if (md == null || (md.getImplicitDecoratorFlag() == ImplicitItem.NOT_IMPLICIT_LITERAL && !md.isMergeIntrospection()))
- workingAllOperations.add(o);
- else {
- String longName = formLongName(o);
- if (longName == null || !superSet.contains(longName))
- workingAllOperations.add(o);
- }
- }
- }
- } else {
- int lenST = superTypes.size();
- for (int i=0; i<lenST; i++) {
- workingAllOperations.addAll(((JavaClass) superTypes.get(i)).getEAllOperations());
- }
- }
- }
- if (workingAllOperations != allOperations)
- allOperations.addAll(workingAllOperations); // Now copy over the ordered super operations.
- }
- allOperations.addAll(localOperations);
- ESuperAdapter sa = getJavaClass().getESuperAdapter();
- sa.setAllOperationsCollectionModified(false); // Now built, so reset to not changed.
- } finally {
- synchronized(this) {
- isDoingAllProperties = false;
- }
- }
- }
-
- allOperations.shrink();
- return new EcoreEList.UnmodifiableEList.FastCompare(
- getJavaClass(),
- EcorePackage.eINSTANCE.getEClass_EAllOperations(),
- allOperations.size(),
- allOperations.data());
-
- }
-
- /*
- * Should only be called from introspect so that flags are correct.
- */
- private void finalizeEvents(ChangeDescription cd) {
- // Now go through the list and remove those that should be removed.
- Map oldLocals = getEventsMap();
- Iterator itr = getEventsList().iterator();
- while (itr.hasNext()) {
- JavaEvent a = (JavaEvent) itr.next();
- EventSetDecorator e = Utilities.getEventSetDecorator(a);
- Object aOld = oldLocals.get(a.getName());
- if (aOld != null && aOld != Boolean.FALSE) {
- // A candidate for removal. It was in the old list and it was not processed.
- if (e != null) {
- ImplicitItem implicit = e.getImplicitDecoratorFlag();
- if (implicit != ImplicitItem.NOT_IMPLICIT_LITERAL) {
- e.setEModelElement(null); // Remove it because it was implicit.
- ((InternalEObject) e).eSetProxyURI(BAD_URI);
- if (implicit == ImplicitItem.IMPLICIT_DECORATOR_AND_FEATURE_LITERAL) {
- itr.remove(); // The feature was implicit too.
- ((InternalEObject) a).eSetProxyURI(BAD_URI);
- }
- continue; // At this point we don't have a decorator any more, so don't bother going on.
- }
- }
- }
-
- if (e != null && cd != null) {
- // Now create the appropriate cache entry for this event.
- BeanInfoDecoratorUtility.buildChange(cd, e);
- }
- }
- }
-
- /**
- * Fill in the event and its decorator using the eventDesc.
- */
- protected EventSetDecorator calculateEvent(EventSetRecord record) {
- return createEvent(record.name);
- }
-
- /**
- * Fill in the event and its decorator using the passed in information.
- */
- protected EventSetDecorator createEvent(String name) {
- // First find if there is already an event of this name, and if there is, is the EventSetDecorator
- // marked to not allow merging in of introspection results.
- HashMap existingLocals = getEventsMap();
- JavaEvent event = null;
- EventSetDecorator ed = null;
- Object b = existingLocals.get(name);
- if (Boolean.FALSE == b)
- return null; // We've already processed this event, can't process it again.
- if (b != null) {
- // We've found one of the same event. Whether we modify it or use it as is, we put in a
- // special dummy in its place. That marks that we've already processed it and accepted it.
- existingLocals.put(name, Boolean.FALSE);
-
- // If the decorator for this entry says not to merge then return.
- // If there is no decorator, then we will merge. If they didn't want to
- // merge, then they should of created a decorator with no merge on it.
- ed = Utilities.getEventSetDecorator((JavaEvent) b);
- if (ed != null && !ed.isMergeIntrospection())
- return null;
- event = (JavaEvent) b;
- }
-
- ImplicitItem implicit = ed == null ? ImplicitItem.IMPLICIT_DECORATOR_LITERAL : ImplicitItem.NOT_IMPLICIT_LITERAL;
- if (event == null) {
- // We will create a new Event.
- event = BeaninfoFactory.eINSTANCE.createBeanEvent();
- getEventsList().add(event);
- implicit = ImplicitItem.IMPLICIT_DECORATOR_AND_FEATURE_LITERAL; // Can't have an implicit feature but explicit decorator.
- }
-
- setEventID(name, event);
- event.setName(name);
-
- // Now create in the event decorator for it.
- // If there already is one then we
- // will use it. This allows merging with beaninfo.
- if (ed == null) {
- ed = BeaninfoFactory.eINSTANCE.createEventSetDecorator();
- ed.setImplicitDecoratorFlag(implicit);
- event.getEAnnotations().add(ed);
- } else
- BeanInfoDecoratorUtility.clear(ed);
- return ed;
- }
-
- /**
- * @param name
- * @param event
- *
- * @since 1.1.0
- */
- private void setEventID(String name, JavaEvent event) {
- // Now fill it in.
- ((XMIResource) event.eResource()).setID(event, getJavaClass().getName() + BeaninfoJavaReflectionKeyExtension.EVENT + name);
- }
-
- /**
- * Reflect the events. This requires going through local public methods and creating an
- * event for the discovered events.
- */
- protected void reflectEvents() {
- // If we are set to mergeSuperTypeEvents, then we need to get the super events.
- // This is so that duplicate any from super that we find here. When reflecting we don't
- // allow discovered duplicates.
- //
- // Kludge: BeanInfo spec doesn't address Interfaces, but some people want to use them.
- // Interfaces can have multiple extends, while the Introspector ignores these for reflection,
- // the truth is most people want these. So we will add them in. But since there could be more than one it
- // gets confusing. We need to look for dups from the super types.
- //
- // Supertypes will never be more than one entry for classes, it is possible to be 0, 1, 2 or more for interfaces.
- Set supers = new HashSet(50);
- BeanDecorator bd = Utilities.getBeanDecorator(getJavaClass());
- if (bd == null || bd.isMergeSuperEvents()) {
- List superTypes = getJavaClass().getESuperTypes();
- if (!superTypes.isEmpty()) {
- int lenST = superTypes.size();
- for (int i=0; i<lenST; i++) {
- List superAll = ((JavaClass) superTypes.get(i)).getAllEvents();
- int len = superAll.size();
- for (int i1=0; i1<len; i1++) {
- JavaEvent se = (JavaEvent) superAll.get(i1);
- supers.add(se.getName());
- }
- }
- }
- }
-
- HashMap events = new HashMap();
- eventListenerClass = (JavaClass) JavaRefFactory.eINSTANCE.reflectType("java.util.EventListener", getJavaClass()); // Initialize, needed for building eventinfos. //$NON-NLS-1$
- tooManyExceptionClass = (JavaClass) JavaRefFactory.eINSTANCE.reflectType("java.util.TooManyListenersException", getJavaClass()); // Initialize, needed for building eventinfos. //$NON-NLS-1$
- Iterator itr = getJavaClass().getPublicMethods().iterator();
- while (itr.hasNext()) {
- Method mthd = (Method) itr.next();
- if (mthd.isStatic() || mthd.isConstructor())
- continue; // Statics/constructors don't participate in events.
- String key = validEventAdder(mthd);
- if (key != null) {
- EventInfo eventInfo = (EventInfo) events.get(key);
- if (eventInfo == null) {
- eventInfo = new EventInfo();
- eventInfo.setAdder(mthd);
- events.put(key, eventInfo);
- } else
- eventInfo.setAdder(mthd);
- } else {
- key = validEventRemove(mthd);
- if (key != null) {
- EventInfo eventInfo = (EventInfo) events.get(key);
- if (eventInfo == null) {
- eventInfo = new EventInfo();
- eventInfo.setRemover(mthd);
- events.put(key, eventInfo);
- } else
- eventInfo.setRemover(mthd);
- }
- }
- }
-
- eventListenerClass = null; // No longer need it.
-
- // Now actually create the events.
- HashSet eventNames = new HashSet(events.size()); // Set of found event names, to prevent duplicates
- Iterator evtItr = events.entrySet().iterator();
- while (evtItr.hasNext()) {
- Map.Entry eventMap = (Map.Entry) evtItr.next();
- EventInfo ei = (EventInfo) eventMap.getValue();
- if (ei.isValidInfo()) {
- String eventName = getEventName((String) eventMap.getKey());
- if (eventNames.contains(eventName))
- continue; // Aleady created it. (Note: Introspector actually takes last one over previous dups, but the order is totally undefined, so choosing first is just as good or bad.
-
- if (supers.contains(eventName))
- continue; // Don't override a super event.
-
- if (ei.createEvent(eventName))
- eventNames.add(eventName); // It was validly created.
- }
- }
-
- tooManyExceptionClass = null; // No longer need it.
- }
-
- /**
- * merge all the Events (i.e. supertypes)
- */
- protected EList allEvents() {
-
- EList jcAllEvents = getJavaClass().getAllEventsGen();
- BeaninfoSuperAdapter superAdapter =
- (BeaninfoSuperAdapter) EcoreUtil.getRegisteredAdapter(getJavaClass(), BeaninfoSuperAdapter.class);
- if (jcAllEvents != null) {
- // See if new one required.
- if (superAdapter == null || !superAdapter.isAllEventsCollectionModified())
- return jcAllEvents;
- // Can't get superadapter, so must not be attached to a resource, so return current list. Or no change required.
- }
-
- UniqueEList.FastCompare allEvents = new UniqueEList.FastCompare() {
- /**
- * Comment for <code>serialVersionUID</code>
- *
- * @since 1.1.0
- */
- private static final long serialVersionUID = 1L;
-
- protected Object[] newData(int capacity) {
- return new JavaEvent[capacity];
- }
- };
-
- boolean doAllEvents = false;
- synchronized(this) {
- // If we are introspecting, don't do all properties because it is an invalid list. Just return empty without reseting the all modified flag.
- doAllEvents = !isDoingAllEvents && !isIntrospecting && isResourceConnected();
- if (doAllEvents)
- isDoingAllEvents = true;
- }
-
- if (doAllEvents) {
- try {
- EList localEvents = getJavaClass().getEvents();
- // Kludge: BeanInfo spec doesn't address Interfaces, but some people want to use them.
- // Interfaces can have multiple extends, while the Introspector ignores these for reflection,
- // the truth is most people want these. So we will add them in. But since there could be more than one it
- // gets confusing. We need to look for dups from the super types and still keep order.
- //
- // Supertypes will never be more than one entry for classes, it is possible to be 0, 1, 2 or more for interfaces.
- List superTypes = getJavaClass().getESuperTypes();
- if (!superTypes.isEmpty()) {
- // Now we need to merge in the supers.
- BeanDecorator bd = Utilities.getBeanDecorator(getJavaClass());
- // If there is only one supertype, we can add to the actual events, else we will use the linked hashset so that
- // we don't add possible duplicates (e.g. IA extends IB,IC and IB extends IC. In this case there would be dups
- // because IB would contribute IC's too).
- Collection workingAllEvents = superTypes.size() == 1 ? (Collection) allEvents : new LinkedHashSet();
- // We will now merge as directed.
- boolean mergeAll = bd == null || bd.isMergeSuperEvents();
- if (!mergeAll) {
- // we don't to want to merge super events, but we still need super non-events or explicit ones.
- int lenST = superTypes.size();
- for (int i=0; i<lenST; i++) {
- List supers = ((JavaClass) superTypes.get(i)).getAllEvents();
- int len = supers.size();
- for (int i1 = 0; i1 < len; i1++) {
- JavaEvent e = (JavaEvent) supers.get(i1);
- EventSetDecorator ed = Utilities.getEventSetDecorator(e);
- if (ed == null || (ed.getImplicitDecoratorFlag() == ImplicitItem.NOT_IMPLICIT_LITERAL && !ed.isMergeIntrospection()))
- workingAllEvents.add(e);
- }
- }
- } else {
- // We want to merge all.
- // BeanInfo has given us the not merge list. If the list is empty, then we accept all.
- if (bd != null && bd.eIsSet(BeaninfoPackage.eINSTANCE.getBeanDecorator_NotInheritedEventNames())) {
- // We were given a list of names.
- // Get the names into a set to create a quick lookup.
- HashSet superSet = new HashSet(bd.getNotInheritedEventNames());
-
- // Now walk and add in non-bean events (and bean events that were explicitly added and not mergeable (i.e. didn't come thru beaninfo))
- // and add those not specifically called out by BeanInfo.
- int lenST = superTypes.size();
- for (int i=0; i<lenST; i++) {
- List supers = ((JavaClass) superTypes.get(i)).getAllEvents();
- int len = supers.size();
- for (int i1 = 0; i1 < len; i1++) {
- JavaEvent e = (JavaEvent) supers.get(i1);
- EventSetDecorator ed = Utilities.getEventSetDecorator(e);
- if (ed == null || (ed.getImplicitDecoratorFlag() == ImplicitItem.NOT_IMPLICIT_LITERAL && !ed.isMergeIntrospection()) || !superSet.contains(ed.getName()))
- workingAllEvents.add(e);
- }
- }
- } else {
- // BeanInfo called out that all super events should be added, or no beaninfo.
- int lenST = superTypes.size();
- for (int i=0; i<lenST; i++) {
- workingAllEvents.addAll(((JavaClass) superTypes.get(i)).getAllEvents());
- }
- }
- }
- if (workingAllEvents != allEvents)
- allEvents.addAll(workingAllEvents); // Now copy over the ordered super events.
- }
- allEvents.addAll(localEvents);
- superAdapter.setAllEventsCollectionModified(false); // Now built, so reset to not changed.
- } finally {
- synchronized (this) {
- isDoingAllEvents = false;
- }
- }
- }
-
- if (allEvents.isEmpty())
- return ECollections.EMPTY_ELIST;
- else {
- allEvents.shrink();
- return new EcoreEList.UnmodifiableEList.FastCompare(
- getJavaClass(),
- JavaRefPackage.eINSTANCE.getJavaClass_AllEvents(),
- allEvents.size(),
- allEvents.data());
- }
-
- }
-
- private JavaClass eventListenerClass, // Event Listener class. Needed for validation.
- tooManyExceptionClass; // Too many listeners exception.
-
- /*
- * Pass in the key, it will be used to form the name.
- */
- protected String getEventName(String key) {
- return key.substring(0, key.indexOf(':'));
- }
-
- /*
- * Answers event key if valid, null if not valid.
- */
- protected String validEventAdder(Method method) {
- String name = method.getName();
- if (!name.startsWith("add") || !name.endsWith("Listener")) //$NON-NLS-1$ //$NON-NLS-2$
- return null; // Not valid format for an add listener name.
-
- List parms = method.getParameters();
- if (parms.size() != 1)
- return null; // Invalid - improper number of parms.
-
- EClassifier returnType = method.getReturnType();
- if (returnType == null || !returnType.getName().equals("void")) //$NON-NLS-1$
- return null; // Invalid - must be void return type.
-
- EClassifier parmType = ((JavaParameter) parms.get(0)).getEType();
- if (!BeaninfoClassAdapter.this.eventListenerClass.isAssignableFrom(parmType))
- return null; // Parm must be inherit from EventListener
-
- // This is a unique containing event name and listener type
- // This is so we can have a unique key for two events with the same
- // name but different listener type. (This matches Introspector so that we aren't
- // coming up with different results.
- return java.beans.Introspector.decapitalize(name.substring(3, name.length() - 8))
- + ':'
- + ((JavaHelpers) parmType).getQualifiedName();
- }
-
- /*
- * Answers event key if valid, null if not valid.
- */
- protected String validEventRemove(Method method) {
- String name = method.getName();
- if (!name.startsWith("remove") || !name.endsWith("Listener")) //$NON-NLS-1$ //$NON-NLS-2$
- return null; // Not valid format for a remove listener name.
-
- List parms = method.getParameters();
- if (parms.size() != 1)
- return null; // Invalid - improper number of parms.
-
- EClassifier returnType = method.getReturnType();
- if (returnType == null || !returnType.getName().equals("void")) //$NON-NLS-1$
- return null; // Invalid - must be void return type.
-
- EClassifier parmType = ((JavaParameter) parms.get(0)).getEType();
- if (!BeaninfoClassAdapter.this.eventListenerClass.isAssignableFrom(parmType))
- return null; // Parm must be inherit from EventListener
-
- // This is a unique containing event name and listener type
- // This is so we can have a unique key for two events with the same
- // name but different listener type. (This matches Introspector so that we aren't
- // coming up with different results).
- return java.beans.Introspector.decapitalize(name.substring(6, name.length() - 8))
- + ':'
- + ((JavaHelpers) parmType).getQualifiedName();
- }
-
- public boolean isDefaultBound() {
- if (defaultBound == null) {
- // Haven't yet decided on it.
- Iterator methods = getJavaClass().getPublicMethods().iterator();
- boolean foundAdd = false, foundRemove = false;
- while (methods.hasNext() && (!foundAdd || !foundRemove)) {
- Method method = (Method) methods.next();
- if ("addPropertyChangeListener".equals(method.getName())) { //$NON-NLS-1$
- List parms = method.getParameters();
- if (parms.size() == 1) {
- JavaParameter parm = (JavaParameter) parms.get(0);
- if ("java.beans.PropertyChangeListener".equals(((JavaHelpers) parm.getEType()).getQualifiedName())) { //$NON-NLS-1$
- foundAdd = true;
- continue;
- }
- }
- } else if ("removePropertyChangeListener".equals(method.getName())) { //$NON-NLS-1$
- List parms = method.getParameters();
- if (parms.size() == 1) {
- JavaParameter parm = (JavaParameter) parms.get(0);
- if ("java.beans.PropertyChangeListener".equals(((JavaHelpers) parm.getEType()).getQualifiedName())) { //$NON-NLS-1$
- foundRemove = true;
- continue;
- }
- }
- }
- }
-
- defaultBound = (foundAdd && foundRemove) ? Boolean.TRUE : Boolean.FALSE;
- }
- return defaultBound.booleanValue();
- }
-
- private class EventInfo {
-
- public Method addListenerMethod;
- public Method removeListenerMethod;
-
- public void setAdder(Method addMethod) {
- addListenerMethod = addMethod;
- }
-
- public void setRemover(Method removeMethod) {
- removeListenerMethod = removeMethod;
- }
-
- // Answer whether this is a valid event info.
- public boolean isValidInfo() {
- return (addListenerMethod != null && removeListenerMethod != null);
- }
-
- public boolean createEvent(String name) {
- EventSetDecorator ed = BeaninfoClassAdapter.this.createEvent(name);
- if (ed == null)
- return false; // Reflection not wanted.
-
-
- // See if unicast.
- boolean unicast = false;
- List exceptions = addListenerMethod.getJavaExceptions();
- int len = exceptions.size();
- for(int i=0; i<len; i++) {
- if (exceptions.get(i) == BeaninfoClassAdapter.this.tooManyExceptionClass) {
- unicast = true;
- break;
- }
- }
- // We'll let listener methods get retrieved dynamically when needed.
- BeanInfoDecoratorUtility.setProperties(ed, addListenerMethod, removeListenerMethod, unicast, (JavaClass) ((JavaParameter) addListenerMethod.getParameters().get(0)).getEType());
- return true;
- }
-
- }
-
- /**
- * Mark this factory as the stale factory.
- */
- public void markStaleFactory(ProxyFactoryRegistry stale) {
- if (staleFactory == null) {
- // It's not stale so make it stale.
- // So that next access will re-introspect
- defaultBound = null; // So query on next request.
- staleFactory = new WeakReference(stale);
-
- // Need to mark the esuperadapter that things have changed so that any
- // subtype will know to reuse the parent for anything that requires knowing parent info.
- Adapter a = EcoreUtil.getExistingAdapter(getTarget(), ESuperAdapter.class);
- // Simulate that this objects super has changed. This will make all subclasses
- // think about the super has changed and next retrieving anything that involves the
- // super will cause a rebuild to occur.
- Notification note =
- new ENotificationImpl((InternalEObject) getTarget(), Notification.SET, EcorePackage.ECLASS__ESUPER_TYPES, null, null);
- if (a != null)
- a.notifyChanged(note);
- // Do the same with BeaninfoSuperAdapter so that events also will be rebuilt.
- a = EcoreUtil.getExistingAdapter(getTarget(), BeaninfoSuperAdapter.ADAPTER_KEY);
- if (a != null)
- a.notifyChanged(note);
- synchronized (this) {
- needsIntrospection = true;
- }
- }
- }
-
- /**
- * Form a longname for the addkey function.
- */
- private String formLongName(EOperation feature) {
- Method mthd = null;
- if (feature instanceof Method)
- mthd = (Method) feature;
- else if (feature instanceof MethodProxy)
- mthd = ((MethodProxy) feature).getMethod();
- else
- return null; // Don't know what it is.
-
- StringBuffer longName = new StringBuffer(100);
- longName.append(feature.getName()); // Feature Name
- longName.append(':');
- longName.append(mthd.getName()); // Method Name
- longName.append('(');
- List p = mthd.getParameters();
- for (int i = 0; i < p.size(); i++) {
- JavaParameter parm = (JavaParameter) p.get(i);
- if (i>0)
- longName.append(',');
- longName.append(parm.getJavaType().getQualifiedName());
- }
-
- return longName.toString();
- }
-
- /*
- * More than one operation can have the same name. To identify them uniquely, the long name is created,
- * which is formed from the name and the method signature.
- */
- private String formLongName(MethodRecord record) {
- StringBuffer longName = new StringBuffer(100);
- longName.append(record.name); // Feature Name
- longName.append(':');
- longName.append(record.methodForDescriptor.methodName); // Method Name
- longName.append('(');
- String[] p = record.methodForDescriptor.parameterTypeNames;
- if (p != null)
- for (int i = 0; i < p.length; i++) {
- if (i>0)
- longName.append(',');
- longName.append(MapJNITypes.getFormalTypeName(p[i]));
- }
-
- return longName.toString();
- }
- /**
- * @see org.eclipse.emf.common.notify.Adapter#notifyChanged(Notification)
- */
- public void notifyChanged(Notification msg) {
- // In case of removing adapter, make sure we are first removed from the factory so it doesn't know about us anymore.
- if (msg.getEventType() == Notification.REMOVING_ADAPTER)
- getAdapterFactory().removeAdapter(this);
- }
-
- /**
- * @see java.lang.Object#toString()
- */
- public String toString() {
- return super.toString() + '(' + (getJavaClass() != null ? getJavaClass().getQualifiedName() : "?") + ')'; //$NON-NLS-1$
- }
-
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoJavaReflectionKeyExtension.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoJavaReflectionKeyExtension.java
deleted file mode 100644
index 444fad2c3..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoJavaReflectionKeyExtension.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo.adapters;
-/*
- * $RCSfile: BeaninfoJavaReflectionKeyExtension.java,v $
- * $Revision: 1.5 $ $Date: 2005/02/15 22:44:20 $
- */
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.xmi.XMIResource;
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.internal.java.adapters.IJavaReflectionKeyExtension;
-import org.eclipse.jem.internal.java.adapters.JavaReflectionKey;
-
-/**
- * Java Reflection Key extension to retrieve keys for beaninfo creations.
- *
- * Handles attributes and behaviors.
- *
- * @version 1.0
- * @author R. L. Kulp
- */
-public class BeaninfoJavaReflectionKeyExtension implements IJavaReflectionKeyExtension {
-
- // The format of the keys are:
- // behaviors: "classname/behavior/behaviorname"
- // structural features: "classname/featurename"
- public static final String
- BEHAVIOR = "/operation/", // Piece in key that indicates this is a behavior. //$NON-NLS-1$
- EVENT = "/event/", // Piece in key that indicates this is an event. //$NON-NLS-1$
- FEATURE = "/"; // Piece in key that indicates this is an attribute. //$NON-NLS-1$
-
- /**
- * Get the object for this key.
- */
- public Object getObject(String key, JavaReflectionKey reflectionKey) {
- if (key != null) {
- int ibehave = key.indexOf(BEHAVIOR);
- if (ibehave > -1) {
- // We have a possible behavior.
- String classname = key.substring(0, ibehave);
- int ibehaveName = ibehave+BEHAVIOR.length();
- if (ibehaveName < key.length()) {
- JavaClass javaclass = getJavaClass(reflectionKey, classname);
- if (javaclass != null) {
- javaclass.getEOperations(); // Get the list introspected and populated if not already.
- return reflectionKey.primGet(key); // It should now be there,
- }
- }
- } else {
- int ievent = key.indexOf(EVENT);
- if (ievent > -1) {
- // We have a possible event.
- String classname = key.substring(0, ievent);
- int ieventName = ievent+EVENT.length();
- if (ieventName < key.length()) {
- JavaClass javaclass = getJavaClass(reflectionKey, classname);
- if (javaclass != null) {
- javaclass.getEvents(); // Get the list introspected and populated if not already.
- return reflectionKey.primGet(key); // It should now be there,
- }
- }
- } else {
- int ifeature = key.indexOf(FEATURE);
- if (ifeature > -1) {
- // We have a possible feature.
- String classname = key.substring(0, ifeature);
- int ifeatureName = ifeature+FEATURE.length();
- if (ifeatureName < key.length()) {
- String feature = key.substring(ifeatureName);
- JavaClass javaclass = getJavaClass(reflectionKey, classname);
- if (javaclass != null) {
- // This is just a hack until we can get ID situation straightened out.
- // Need to cause introspection of the attributes and references.
- javaclass.getEStructuralFeatures();
- Object result = reflectionKey.primGet(key); // See if it now got added as an id.
- if (result == null) {
- // Well, it could of been added by the diff merge, which as of now can't handle ids.
- // So we will find it within the attributes/references.
- result = findFeature(feature, javaclass.getEReferences());
- if (result == null)
- result = findFeature(feature, javaclass.getEAttributes());
- if (result instanceof EStructuralFeature) {
- // Need to add it as an id so next time won't come through here.
- ((XMIResource) javaclass.eResource()).setID((EObject) result, key); // So next time it will find it directly.
- }
- }
- return result;
- }
- }
- }
- }
- }
- }
-
- return null;
- }
-
- private EStructuralFeature findFeature(String featureName, List featureList) {
- Iterator itr = featureList.iterator();
- while (itr.hasNext()) {
- EStructuralFeature feature = (EStructuralFeature) itr.next();
- if (featureName.equals(feature.getName())) {
- return feature;
- }
- }
- return null;
- }
-
- protected JavaClass getJavaClass(JavaReflectionKey reflectionKey, String classname) {
- Object eclass = reflectionKey.primGet(classname);
- if (eclass == null)
- eclass = reflectionKey.getJavaType(classname); // Let it create it.
- if (eclass instanceof JavaClass)
- return (JavaClass) eclass;
- else
- return null;
- }
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoModelSynchronizer.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoModelSynchronizer.java
deleted file mode 100644
index 7bcc977ae..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoModelSynchronizer.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo.adapters;
-/*
- * $RCSfile: BeaninfoModelSynchronizer.java,v $
- * $Revision: 1.7 $ $Date: 2005/02/15 22:44:20 $
- */
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.*;
-
-import org.eclipse.jem.internal.adapters.jdom.JavaModelListener;
-/**
- * This class listens for changes to the java model and flushs the
- * appropriate class introspection.
- */
-
-public class BeaninfoModelSynchronizer extends JavaModelListener {
- protected BeaninfoAdapterFactory fAdapterFactory;
- protected IJavaProject fProject; // The project this listener is opened on.
- private static final IPath BEANINFOCONFIG_PATH = new Path(BeaninfoNature.P_BEANINFO_SEARCH_PATH); //$NON-NLS-1$
-
- public BeaninfoModelSynchronizer(BeaninfoAdapterFactory aFactory, IJavaProject aProject) {
- super(ElementChangedEvent.POST_CHANGE);
- fAdapterFactory = aFactory;
- fProject = aProject;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.adapters.jdom.JavaModelListener#getJavaProject()
- */
- protected IJavaProject getJavaProject() {
- return fProject;
- }
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.adapters.jdom.JavaModelListener#isAlsoClasspathChange(org.eclipse.core.runtime.IPath)
- */
- protected boolean isAlsoClasspathChange(IPath path) {
- return path.equals(BEANINFOCONFIG_PATH);
- }
-
- /**
- * Stop the synchronizer from listening to any more changes.
- */
- public void stopSynchronizer(boolean clearResults) {
- JavaCore.removeElementChangedListener(this);
- getAdapterFactory().closeAll(clearResults);
- }
-
- public BeaninfoAdapterFactory getAdapterFactory() {
- return fAdapterFactory;
- }
-
- protected void processJavaElementChanged(IJavaProject element, IJavaElementDelta delta) {
- if (isInClasspath(element)) {
- if (delta.getKind() == IJavaElementDelta.REMOVED || delta.getKind() == IJavaElementDelta.ADDED) {
- // Don't need to do anything for delete/close/add/open of main project because there is much more that needs to
- // be done by BeaninfoNature on project close/delete, so nature listens for this and does the appropriate cleanup.
- if (!element.equals(fProject)) {
- // However, all other projects are required projects and if they are deleted/closed/added/opened when need to do
- // a full flush because we don't know any of the state, whether they are still there or not.
- getAdapterFactory().markAllStale();
- }
- return;
- } else if (isClasspathResourceChange(delta)) {
- getAdapterFactory().markAllStale(); // The .classpath file (or .beaninfoconfig) itself in SOME DEPENDENT PROJECT has changed.
- return;
- }
- processChildren(element, delta);
- }
- }
-
- /**
- * Handle the change for a single element, children will be handled separately.
- * If a working copy, then ignore it because we don't care about changes until
- * they are committed. Else, if the CU has changed content then mark all of the
- * types in this CU (such as inner classes) as stale.
- * If it is not a content change then process the children.
- */
- protected void processJavaElementChanged(ICompilationUnit element, IJavaElementDelta delta) {
- switch (delta.getKind()) {
- case IJavaElementDelta.CHANGED :
- // A file save had occurred. It doesn't matter if currently working copy or not.
- // It means something has changed to the file on disk, but don't know what.
- if ((delta.getFlags() & IJavaElementDelta.F_PRIMARY_RESOURCE) != 0) {
- getAdapterFactory().markStaleIntrospectionPlusInner(getFullNameFromElement(element), false); // Flush everything, including inner classes.
- }
-
- break;
- case IJavaElementDelta.ADDED:
- case IJavaElementDelta.REMOVED:
- // Need to know for add because we optimize the beaninfo such that once found as undefined, it won't
- // introspect again until we mark it stale. So we need to mark it stale to refresh it.
-
- // It doesn't matter if totally removed or just moved somewhere else, we will clear out
- // adapter because there could be a rename which would be a different class.
- // Currently the element is already deleted or added and there is no way to find the types in the unit to flush.
- // So instead we ask factory to flush all it any that start with it plus for inner classes.
- getAdapterFactory().markStaleIntrospectionPlusInner(getFullNameFromElement(element), true); // Flush everything, including inner classes.
- break;
- }
- }
-
- /**
- * Handle the change for a single element, children will be handled separately.
- */
- protected void processJavaElementChanged(IClassFile element, IJavaElementDelta delta) {
- if (delta.getKind() == IJavaElementDelta.REMOVED) {
- // It doesn't matter if totally removed or just moved somewhere else, we will clear out and remove the
- // adapter because there could be a rename which would be a different class.
- // Currently the element is already deleted and there is no way to find the types in the unit to remove.
- // So instead we ask factory to remove all it any that start with it plus for inner classes.
- getAdapterFactory().markStaleIntrospectionPlusInner(getFullNameFromElement(element), true);
- return; // Since the classfile was removed we don't need to process the children (actually the children list will be empty
- }
- IJavaElementDelta[] children = delta.getAffectedChildren();
- for (int ii = 0; ii < children.length; ii++) {
- processDelta(children[ii]);
- }
- }
-
- protected String getFullNameFromElement(IJavaElement element) {
- String name = element.getElementName();
- if (!(element instanceof ICompilationUnit || element instanceof IClassFile))
- return name; // Shouldn't be here
-
- // remove extension.
- int periodNdx = name.lastIndexOf('.');
- if (periodNdx == -1)
- return name; // Shouldn't be here. There should be an extension
-
- String typeName = null;
- String parentName = element.getParent().getElementName();
- if (parentName == null || parentName.length() == 0)
- typeName = name.substring(0, periodNdx); // In default package
- else
- typeName = parentName + "." + name.substring(0, periodNdx); //$NON-NLS-1$
-
- return typeName;
- }
-
- /**
- * Handle the change for a single element, children will be handled separately.
- * If the classpath has changed, mark all as stale because we don't know what
- * has changed. Things that were in the path may no longer be in the path, or
- * the order was changed, which could affect the introspection.
- */
- protected void processJavaElementChanged(IPackageFragmentRoot element, IJavaElementDelta delta) {
- if (isClassPathChange(delta))
- fAdapterFactory.markAllStale();
- else
- super.processJavaElementChanged(element, delta);
- }
-
- protected void processJavaElementChanged(IPackageFragment element, IJavaElementDelta delta) {
- switch (delta.getKind()) {
- case IJavaElementDelta.ADDED:
- break; // Don't need to do anything on a new package. If this was from a new fragroot, we would recycle already. Otherwise, it will find this package on the first use.
- case IJavaElementDelta.REMOVED:
- if (delta.getAffectedChildren().length == 0)
- fAdapterFactory.markAllStale();
- break;
- default :
- super.processJavaElementChanged(element, delta);
- }
- }
-
-
- /**
- * Handle the change for a single element, children will be handled separately.
- * Something about the type has changed. If it was removed (not a move), then close the
- * adapter too.
- */
- protected void processJavaElementChanged(IType element, IJavaElementDelta delta) {
- if (delta.getKind() == IJavaElementDelta.REMOVED) {
- // Close it out. Doesn't matter if moved_to, that would be a rename which requires brand new class.
- // We can't actually get rid of the beaninfo adapter because it may be asked for again
- // just to see if not defined. It may also come back later and we want to know about
- // it to recycle the vm.
- getAdapterFactory().markStaleIntrospection(element.getFullyQualifiedName(), true);
- } else
- getAdapterFactory().markStaleIntrospection(element.getFullyQualifiedName(), false); // Just mark it stale
- processChildren(element, delta);
- }
-
- public String toString() {
- return super.toString()+" "+fProject.getElementName(); //$NON-NLS-1$
- }
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoNature.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoNature.java
deleted file mode 100644
index 5548bce61..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoNature.java
+++ /dev/null
@@ -1,977 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo.adapters;
-/*
- * $RCSfile: BeaninfoNature.java,v $
- * $Revision: 1.33 $ $Date: 2005/06/30 16:23:58 $
- */
-
-import java.io.*;
-import java.text.MessageFormat;
-import java.util.*;
-import java.util.logging.Level;
-
-import javax.xml.parsers.*;
-import javax.xml.transform.*;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
-import org.eclipse.jdt.core.*;
-import org.osgi.framework.Bundle;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.xml.sax.InputSource;
-
-import org.eclipse.jem.internal.beaninfo.core.*;
-import org.eclipse.jem.internal.java.adapters.JavaXMIFactoryImpl;
-import org.eclipse.jem.internal.java.beaninfo.IIntrospectionAdapter;
-import org.eclipse.jem.internal.java.init.JavaInit;
-import org.eclipse.jem.internal.plugin.JavaEMFNature;
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.util.emf.workbench.ResourceHandler;
-
-
-/**
- * The beaninfo nature. It is created for a project and holds the
- * necessary info for beaninfo to be performed on a project.
- */
-
-public class BeaninfoNature implements IProjectNature {
-
- public static final String NATURE_ID = BeaninfoPlugin.PI_BEANINFO_PLUGINID + ".BeanInfoNature"; //$NON-NLS-1$
- public static final String P_BEANINFO_SEARCH_PATH = ".beaninfoConfig"; //$NON-NLS-1$
-
- public static final QualifiedName CONFIG_INFO_SESSION_KEY = new QualifiedName(BeaninfoPlugin.PI_BEANINFO_PLUGINID, "CONFIG_INFO"); //$NON-NLS-1$
- public static final QualifiedName BEANINFO_CONTRIBUTORS_SESSION_KEY = new QualifiedName(BeaninfoPlugin.PI_BEANINFO_PLUGINID, "BEANINFO_CONTRIBUTORS"); //$NON-NLS-1$
-
- private ProxyFactoryRegistry.IRegistryListener registryListener = new ProxyFactoryRegistry.IRegistryListener() {
- /**
- * @see org.eclipse.jem.internal.proxy.core.ProxyFactoryRegistry.IRegistryListener#registryTerminated(ProxyFactoryRegistry)
- */
- public void registryTerminated(ProxyFactoryRegistry registry) {
- markAllStale();
- };
- };
-
- /**
- * Get the runtime nature for the project, create it if necessary.
- */
- public static BeaninfoNature getRuntime(IProject project) throws CoreException {
- JavaEMFNature.createRuntime(project); // Must force JAVAEMFNature creation first before we try to get ours. There is a chicken/egg problem if we let our nature try to get JavaEMFNature during setProject.
- if (project.hasNature(NATURE_ID))
- return (BeaninfoNature) project.getNature(NATURE_ID);
- else
- return createRuntime(project);
- }
-
- /**
- * Return whether this project has a BeanInfo runtime turned on.
- *
- * @param project
- * @return <code>true</code> if it has the a BeanInfo runtime.
- * @throws CoreException
- *
- * @since 1.0.0
- */
- public static boolean hasRuntime(IProject project) throws CoreException {
- return project.hasNature(NATURE_ID);
- }
-
- /**
- * Test if this is a valid project for a Beaninfo Nature. It must be
- * a JavaProject.
- */
- public static boolean isValidProject(IProject project) {
- try {
- return project.hasNature(JavaCore.NATURE_ID);
- } catch (CoreException e) {
- return false;
- }
- }
-
- /**
- * Create the runtime.
- */
- private static BeaninfoNature createRuntime(IProject project) throws CoreException {
- if (!isValidProject(project))
- throw new CoreException(
- new Status(
- IStatus.ERROR,
- BeaninfoPlugin.PI_BEANINFO_PLUGINID,
- 0,
- MessageFormat.format(
- BeanInfoAdapterMessages.INTROSPECT_FAILED_EXC_,
- new Object[] { project.getName(), BeanInfoAdapterMessages.BeaninfoNature_InvalidProject}),
- null));
-
- addNatureToProject(project, NATURE_ID);
- return (BeaninfoNature) project.getNature(NATURE_ID);
- }
-
- private static void addNatureToProject(IProject proj, String natureId) throws CoreException {
- IProjectDescription description = proj.getDescription();
- String[] prevNatures = description.getNatureIds();
- String[] newNatures = new String[prevNatures.length + 1];
- System.arraycopy(prevNatures, 0, newNatures, 0, prevNatures.length);
- newNatures[prevNatures.length] = natureId;
- description.setNatureIds(newNatures);
- proj.setDescription(description, null);
- }
-
- private IProject fProject;
- protected ProxyFactoryRegistry fRegistry;
- protected ResourceSet javaRSet;
- protected BeaninfoModelSynchronizer fSynchronizer;
- protected static BeaninfoJavaReflectionKeyExtension fReflectionKeyExtension;
-
- /**
- * Configures the project with this nature.
- * This is called by <code>IProject.getNature</code> and should not
- * be called directly by clients.
- * The nature extension id is added to the list of natures on the project by
- * <code>IProject.getNature</code>, and need not be added here.
- *
- * @exception CoreException if this method fails.
- */
- public void configure() throws CoreException {
- }
-
- /**
- * Removes this nature from the project, performing any required deconfiguration.
- * This is called by <code>IProject.removeNature</code> and should not
- * be called directly by clients.
- * The nature id is removed from the list of natures on the project by
- * <code>IProject.removeNature</code>, and need not be removed here.
- *
- * @exception CoreException if this method fails.
- */
- public void deconfigure() throws CoreException {
- removeSharedProperty(P_BEANINFO_SEARCH_PATH, null);
- cleanup(true, true);
- }
-
- /**
- * Shutdown the nature. Called by BeanInfoPlugin to tell the nature that the plugin is being shutdown.
- * It needs to cleanup.
- * TODO <package-protected> because only BeanInfoPlugin should call it. (public for now but when we make
- * BeanInfoNature an API it will be moved into the same package as BeanInfoPlugin).
- *
- * @since 1.0.0
- */
- public void shutdown() {
- cleanup(true, false);
- }
-
-
- /**
- * Return a new ResourceSet that is linked correctly to this Beaninfo Nature.
- * <p>
- * This links up a ResourceSet so that it will work correctly with this nature.
- * It makes sure that going through the ResourceSet that any "java:/..."
- * classes can be found and it makes sure that any new classes are placed into the
- * nature's resource set and not resource set doing the calling.
- * <p>
- * This should be used any time a resource set is needed that is not the
- * project wide resource set associated with beaninfos, but will reference
- * Java Model classes or instantiate.
- * <p>
- * An additional change is made too. The ResourceFactoryRegistry's extensionToResourceFactory map is modified
- * to have an "java"->XMIResourceFactory entry added to it if EMF Examples is loaded. EMF Examples add
- * the "java" extension and sets it to their own special JavaResourceFactory.
- * If EMF Examples is not loaded, then it falls back to the default "*" mapping, which is to XMIResourceFactory.
- * This normally causes problems for many
- * customers. If users of this resource set really want the EMF examples entry instead, after they retrieve the
- * new resource set they can do this:
- * <p>
- * <pre><code>
- * rset = beaninfoNature.newResourceSet();
- * rset.getResourceFactoryRegistry().getExtensionToFactoryMap().remove("java");
- * </code></pre>
- *
- * @return a ResourceSet that is specially connected to the JEM java model.
- *
- * @since 1.0.0
- */
- public ResourceSet newResourceSet() {
- SpecialResourceSet rset = new SpecialResourceSet();
- rset.add(new ResourceHandler() {
- public EObject getEObjectFailed(ResourceSet originatingResourceSet, URI uri, boolean loadOnDemand) {
- return null; // We don't have any special things we can do in this case.
- }
-
- public Resource getResource(ResourceSet originatingResourceSet, URI uri) {
- // Always try to get it out of the nature's resource set because it may of been loaded there either as
- // the "java:..." type or it could of been an override extra file (such as an override EMF package, for
- // example jcf has a side package containing the definition of the new attribute type. That file
- // will also be loaded into this resourceset. So to find it we need to go in here and try.
- //
- // However, if not found we won't go and try to load the resource. That could load in the wrong place.
- // Kludge: Because of a bug (feature :-)) in XMLHandler.getPackageFromURI(), it doesn't use getResource(...,true) and it tries instead
- // to use uri inputstream to load the package when not found. This bypasses our special create resource and so
- // packages are not automatically created. So we need to do load on demand here instead if it is a java protocol.
- // EMF will not be fixing this. It is working as designed.
- return getResourceSet().getResource(uri, JavaXMIFactoryImpl.SCHEME.equals(uri.scheme()));
- }
-
- public Resource createResource(ResourceSet originatingResourceSet, URI uri) {
- // This is the one. It has got here because it couldn't find a resource already loaded.
- // If it is a "java:/..." protocol resource, then we want to make sure it is loaded at the BeaninfoNature context
- // instead of the lower one.
- if (JavaXMIFactoryImpl.SCHEME.equals(uri.scheme()))
- return getResourceSet().getResource(uri, true);
- else
- return null;
- }
- });
- // [71473] Restore "*.java" to be an XMIResource. If EMF Examples are loaded they overload this and load their special resource for "*.java" which we don't want.
- // If some user really wants that, they grab the resource resource set and remove our override.
- if (Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().containsKey("java")) { //$NON-NLS-1$
- // Need to add an override to go to XMI instead.
- rset.getResourceFactoryRegistry().getExtensionToFactoryMap().put("java", new XMIResourceFactoryImpl()); //$NON-NLS-1$
- }
- return rset;
- }
- /**
- * Clean up, this means either the project is being closed, deleted, or it means that
- * the nature is being removed from the project. Either way that means to
- * terminate the VM and remove what we added to the context if the flag says clear it.
- * <p>
- * This should be called ONLY when this instance of the nature is no longer needed. It
- * will be recreated for any new uses. That is because we will be removing ourselves
- * from the list of active natures in the BeanInfoPlugin.
- * <p>
- * <b>Note:</b> This will be called from the BeanInfoCacheController. It knows when the project is
- * being closed or deleted.
- *
- * @param clearResults clear the results such that any JEM model objects have no BeanInfo
- * adapters attached to them. This allows BeanInfo to be GC'd without being hung onto.
- *
- * @param deregister Deregister from the BeanInfoPlugin. Normally this will always be true, but it
- * will be called with false when BeanInfoPlugin is calling back to shutdown.
- */
- public void cleanup(boolean clearResults, boolean deregister) {
- if (deregister)
- BeaninfoPlugin.getPlugin().removeBeanInfoNature(this);
- fSynchronizer.stopSynchronizer(clearResults);
- Init.cleanup(javaRSet, clearResults);
- if (fRegistry != null)
- fRegistry.terminateRegistry();
-
- javaRSet = null;
- fRegistry = null;
- fProject = null;
- fSynchronizer = null;
- }
-
- /**
- * Returns the project to which this project nature applies.
- *
- * @return the project handle
- */
- public IProject getProject() {
- return fProject;
- }
-
- /**
- * Sets the project to which this nature applies.
- * Used when instantiating this project nature runtime.
- * This is called by <code>IProject.addNature</code>
- * and should not be called directly by clients.
- *
- * @param project the project to which this nature applies
- */
- public void setProject(IProject project) {
-// BeanInfoCacheController.INSTANCE.getClass(); // Instantiates the controller if not already started.
- fProject = project;
- BeaninfoPlugin.getPlugin().addBeanInfoNature(this);
-
- try {
- // The nature has been started for this project, need to setup the introspection process now.
- JavaEMFNature javaNature = JavaEMFNature.createRuntime(fProject);
- JavaInit.init();
- if (fReflectionKeyExtension == null) {
- // Register the reflection key extension.
- fReflectionKeyExtension = new BeaninfoJavaReflectionKeyExtension();
- JavaXMIFactoryImpl.INSTANCE.registerReflectionKeyExtension(fReflectionKeyExtension);
- }
-
- javaRSet = javaNature.getResourceSet();
- Init.initialize(javaRSet, new IBeaninfoSupplier() {
- public ProxyFactoryRegistry getRegistry() {
- return BeaninfoNature.this.getRegistry();
- }
-
- public boolean isRegistryCreated() {
- return BeaninfoNature.this.isRegistryCreated();
- }
-
- public void closeRegistry() {
- BeaninfoNature.this.closeRegistry();
- }
-
- public IProject getProject() {
- return BeaninfoNature.this.getProject();
- }
- });
- fSynchronizer =
- new BeaninfoModelSynchronizer(
- (BeaninfoAdapterFactory) EcoreUtil.getAdapterFactory(javaRSet.getAdapterFactories(), IIntrospectionAdapter.ADAPTER_KEY),
- JavaCore.create(javaNature.getProject()));
- } catch (CoreException e) {
-e.printStackTrace();
- BeaninfoPlugin.getPlugin().getLogger().log(e.getStatus());
- }
- }
-
- /**
- * Close the registry. It needs to be recycled because a class has changed
- * and now the new class needs to be accessed.
- */
- protected void closeRegistry() {
- ProxyFactoryRegistry reg = null;
- synchronized (this) {
- reg = fRegistry;
- fRegistry = null;
- try {
- // Wipe out the Session properties so that they are recomputed.
- getProject().setSessionProperty(CONFIG_INFO_SESSION_KEY, null);
- getProject().setSessionProperty(BEANINFO_CONTRIBUTORS_SESSION_KEY, null);
- } catch (CoreException e) {
- BeaninfoPlugin.getPlugin().getLogger().log(e, Level.INFO);
- }
- }
- if (reg != null) {
- reg.removeRegistryListener(registryListener);
- reg.terminateRegistry();
- }
- }
-
- private static final String PI_CLASS = "class"; //$NON-NLS-1$
-
- /**
- * Using the given configuration info, compute the BeanInfo config info needed. This sets the
- * session properties BEANINFO_CONTRIBUTORS_SESSION_KEY and CONFIG_INFO_SESSION_KEY.
- *
- * @param info
- * @throws CoreException
- *
- * @since 1.1.0
- */
- public static void computeBeanInfoConfigInfo(IConfigurationContributionInfo info) throws CoreException {
- // First time for this nature, or first time after registry reset. Need to compute the info.
- // It is possible for this to be called BEFORE the first usage of BeanInfo. The editor usually
- // brings up the editor's registry before it gets anything from BeanInfo.
- List contributorsList = new ArrayList(10);
- if (!info.getContainerIds().isEmpty()) {
- // Run through all of the visible container ids that are applicable and get BeanInfo contributors.
- Iterator containerIdItr = info.getContainerIds().entrySet().iterator();
- while (containerIdItr.hasNext()) {
- Map.Entry entry = (Map.Entry) containerIdItr.next();
- if (((Boolean) entry.getValue()).booleanValue()) {
- IConfigurationElement[] contributors = BeaninfoPlugin.getPlugin().getContainerIdContributors(
- (String) entry.getKey());
- if (contributors != null) {
- for (int i = 0; i < contributors.length; i++) {
- try {
- Object contributor = contributors[i].createExecutableExtension(PI_CLASS);
- if (contributor instanceof IBeanInfoContributor)
- contributorsList.add(contributor);
- } catch (CoreException e) {
- BeaninfoPlugin.getPlugin().getLogger().log(e, Level.WARNING);
- }
- }
- }
- }
- }
- }
-
- if (!info.getPluginIds().isEmpty()) {
- // Run through all of the visible plugin ids that are applicable and get BeanInfo contributors.
- Iterator pluginIdItr = info.getPluginIds().entrySet().iterator();
- while (pluginIdItr.hasNext()) {
- Map.Entry entry = (Map.Entry) pluginIdItr.next();
- if (((Boolean) entry.getValue()).booleanValue()) {
- IConfigurationElement[] contributors = BeaninfoPlugin.getPlugin().getPluginContributors(
- (String) entry.getKey());
- if (contributors != null) {
- for (int i = 0; i < contributors.length; i++) {
- try {
- Object contributor = contributors[i].createExecutableExtension(PI_CLASS);
- if (contributor instanceof IBeanInfoContributor)
- contributorsList.add(contributor);
- } catch (CoreException e) {
- BeaninfoPlugin.getPlugin().getLogger().log(e, Level.WARNING);
- }
- }
- }
- }
- }
- }
-
- // Save it for all beaninfo processing (and configuration processing if they implement proxy configuration contributor).
- IBeanInfoContributor[] explicitContributors = (IBeanInfoContributor[]) contributorsList.toArray(new IBeanInfoContributor[contributorsList.size()]);
- info.getJavaProject().getProject().setSessionProperty(BEANINFO_CONTRIBUTORS_SESSION_KEY, explicitContributors);
- // Save it for override processing. That happens over and over later after all config processing is done.
- // Do it last so that if there is a race condition, since this property is a flag to indicate we have data,
- // we need to make sure the Beaninfo data is already set at the point we set this.
- // We could actually set it twice because of this, but it is the same data, so, so what.
- info.getJavaProject().getProject().setSessionProperty(CONFIG_INFO_SESSION_KEY, info);
- }
-
- /**
- * Get registry, creating it if necessary.
- * @return the registry.
- *
- * @since 1.0.0
- */
- public ProxyFactoryRegistry getRegistry() {
- synchronized (this) {
- if (fRegistry != null)
- return fRegistry;
- }
- // Now need to start the appropriate job. In another class so that it can handle dynamically checking if
- // UI is available to even do this (it maybe not in a UI mode, so then just do it.
- CreateRegistryJobHandler.createRegistry(this);
- return fRegistry;
- }
-
- /*
- * This is <package-protected> so that only the appropriate create job in this
- * package can call it. This is because this must be controlled to only be
- * done when build not in progress and serial access.
- */
- void createRegistry(IProgressMonitor pm) {
- pm.beginTask(BeanInfoAdapterMessages.UICreateRegistryJobHandler_StartBeaninfoRegistry, 100);
- if (isRegistryCreated()) {
- pm.done();
- return; // It had already been created. Could of been because threads were racing to do the creation, and one got there first.
- }
-
- try {
- ConfigurationContributor configurationContributor = (ConfigurationContributor) getConfigurationContributor();
- configurationContributor.setNature(this);
- ProxyFactoryRegistry registry = ProxyLaunchSupport.startImplementation(fProject, "Beaninfo", //$NON-NLS-1$
- new IConfigurationContributor[] { configurationContributor}, false, new SubProgressMonitor(pm, 100));
- registry.addRegistryListener(registryListener);
- synchronized(this) {
- fRegistry = registry;
- }
- } catch (CoreException e) {
- BeaninfoPlugin.getPlugin().getLogger().log(e.getStatus());
- } finally {
- pm.done();
- }
- }
-
- public synchronized boolean isRegistryCreated() {
- return fRegistry != null;
- }
-
- /**
- * Check to see if the nature is still valid. If the project has been
- * renamed, the nature is still around, but the project has been closed.
- * So the nature is now invalid.
- *
- * @return Is this a valid nature. I.e. is the project still open.
- */
- public boolean isValidNature() {
- return fProject != null;
- }
-
- /**
- * Set the search path onto the registry.
- */
- protected void setProxySearchPath(ProxyFactoryRegistry registry, List searchPaths) {
- if (searchPaths != null) {
- String[] stringSearchPath = (String[]) searchPaths.toArray(new String[searchPaths.size()]);
- Utilities.setBeanInfoSearchPath(registry, stringSearchPath);
- } else
- Utilities.setBeanInfoSearchPath(registry, null);
- }
-
- private static final String ENCODING = "UTF-8"; //$NON-NLS-1$
- static final String sBeaninfos = "beaninfos"; // Root element name //$NON-NLS-1$
- /**
- * Get the persistent search path. It is copy.
- */
- public BeaninfosDoc getSearchPath() {
- BeaninfosDoc bdoc = null;
- try {
- InputStream property = getSharedProperty(P_BEANINFO_SEARCH_PATH);
- if (property != null) {
- try {
- // Need to reconstruct from the XML format.
- Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new InputSource(new InputStreamReader(property, ENCODING)));
- Element root = doc.getDocumentElement();
- if (root != null && root.getNodeName().equalsIgnoreCase(sBeaninfos)) {
- bdoc = BeaninfosDoc.readEntry(new DOMReader(), root, getProject());
- }
- } finally {
- try {
- property.close();
- } catch (IOException e) {
- }
- }
- }
- } catch (CoreException e) {
- BeaninfoPlugin.getPlugin().getLogger().log(e.getStatus());
- } catch (Exception e) {
- BeaninfoPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, BeaninfoPlugin.PI_BEANINFO_PLUGINID, 0, "", e)); //$NON-NLS-1$
- }
- return bdoc;
- }
-
- /**
- * Set the persistent search path. No progress monitor.
- */
- public void setSearchPath(BeaninfosDoc searchPath) throws CoreException {
- setSearchPath(searchPath, null);
- }
-
- /**
- * Set the persistent search path with a progress monitor
- */
- public void setSearchPath(BeaninfosDoc searchPath, IProgressMonitor monitor) throws CoreException {
- String property = null;
- if (searchPath != null && searchPath.getSearchpath().length > 0) {
- try {
- Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
- Element root = doc.createElement(sBeaninfos); // Create Root Element
- IBeaninfosDocEntry[] entries = searchPath.getSearchpath();
- for (int i = 0; i < entries.length; i++)
- root.appendChild(entries[i].writeEntry(doc, getProject())); // Add to the search path
- doc.appendChild(root); // Add Root to Document
- StringWriter strWriter = new StringWriter();
-
- Result result = new StreamResult(strWriter);
- Source source = new DOMSource(doc);
- Transformer transformer = TransformerFactory.newInstance().newTransformer();
- transformer.setOutputProperty(OutputKeys.INDENT, "yes"); //$NON-NLS-1$
- transformer.setOutputProperty(OutputKeys.METHOD, "xml"); //$NON-NLS-1$
- transformer.transform(source, result);
- property = strWriter.toString();
- } catch (TransformerConfigurationException e) {
- BeaninfoPlugin.getPlugin().getLogger().log(e, Level.WARNING);
- } catch (TransformerException e) {
- BeaninfoPlugin.getPlugin().getLogger().log(e, Level.WARNING);
- } catch (ParserConfigurationException e) {
- BeaninfoPlugin.getPlugin().getLogger().log(e, Level.WARNING);
- } catch (FactoryConfigurationError e) {
- BeaninfoPlugin.getPlugin().getLogger().log(e, Level.WARNING);
- }
- }
-
- if (property != null) {
- // If it hasn't changed, don't write it back out. This is so that if the file hasn't
- // been checked out and it is the same, we don't want to bother the user. This is because
- // we don't know if the user had simply browsed the search path or had actually changed and
- // set it back to what it was. In either of those cases it would be a bother to ask the
- // user to checkout the file.
- InputStream is = getSharedProperty(P_BEANINFO_SEARCH_PATH);
- if (is != null) {
- try {
- try {
- InputStreamReader reader = new InputStreamReader(is, ENCODING);
- char[] chars = new char[1000];
- StringBuffer oldProperty = new StringBuffer(1000);
- int read = reader.read(chars);
- while (read != -1) {
- oldProperty.append(chars, 0, read);
- read = reader.read(chars);
- }
- if (oldProperty.toString().equals(property))
- return;
- } catch (IOException e) {
- } // Didn't change.
- } finally {
- try {
- is.close();
- } catch (IOException e) {
- }
- }
- }
- setSharedProperty(P_BEANINFO_SEARCH_PATH, property, monitor);
- } else
- removeSharedProperty(P_BEANINFO_SEARCH_PATH, monitor);
- }
-
- /**
- * Return the resource set for all java packages in this nature.
- */
- public ResourceSet getResourceSet() {
- return javaRSet;
- }
-
- protected void markAllStale() {
- // Mark all stale so that the registry will be recycled.
- if (fRegistry != null) {
- // We have a registry running, we need to indicate recycle is needed.
- fSynchronizer.getAdapterFactory().markAllStale();
- // Mark all stale. Next time we need anything it will be recycled.
- }
- }
-
- /**
- * Compute the file name to use for a given shared property
- */
- protected String computeSharedPropertyFileName(QualifiedName qName) {
- return qName.getLocalName();
- }
-
- /**
- * Retrieve a shared property on a project. If the property is not defined, answers null.
- * Note that it is orthogonal to IResource persistent properties, and client code has to decide
- * which form of storage to use appropriately. Shared properties produce real resource files which
- * can be shared through a VCM onto a server. Persistent properties are not shareable.
- *
- */
- protected InputStream getSharedProperty(String propertyFileName) throws CoreException {
- IFile rscFile = getProject().getFile(propertyFileName);
- if (rscFile.exists())
- return rscFile.getContents(true);
- else
- return null;
- }
-
- /**
- * Record a shared persistent property onto a project.
- * Note that it is orthogonal to IResource persistent properties, and client code has to decide
- * which form of storage to use appropriately. Shared properties produce real resource files which
- * can be shared through a VCM onto a server. Persistent properties are not shareable.
- *
- * shared properties end up in resource files, and thus cannot be modified during
- * delta notifications (a CoreException would then be thrown).
- *
- */
- protected void setSharedProperty(String propertyName, String value, IProgressMonitor monitor) throws CoreException {
-
- try {
- IFile rscFile = getProject().getFile(propertyName);
- InputStream input = new ByteArrayInputStream(value.getBytes(ENCODING));
- // update the resource content
- if (rscFile.exists()) {
- rscFile.setContents(input, true, false, null);
- } else {
- rscFile.create(input, true, monitor);
- }
- } catch (UnsupportedEncodingException e) {
- }
- }
-
- /**
- * Remove a shared persistent property onto a project.
- * Note that it is orthogonal to IResource persistent properties, and client code has to decide
- * which form of storage to use appropriately. Shared properties produce real resource files which
- * can be shared through a VCM onto a server. Persistent properties are not shareable.
- *
- * shared properties end up in resource files, and thus cannot be modified during
- * delta notifications (a CoreException would then be thrown).
- *
- */
- protected void removeSharedProperty(String propertyName, IProgressMonitor monitor) throws CoreException {
-
- IFile rscFile = getProject().getFile(propertyName);
- rscFile.delete(true, true, monitor);
- }
-
- /**
- * Return a configuration contributor that sets up a vm to allow
- * introspection. This will make sure the appropriate paths
- * are in the classpath to allow access to the beaninfos, and
- * it will setup the beaninfo search path for this project.
- */
- public IConfigurationContributor getConfigurationContributor() {
- return new ConfigurationContributor(getSearchPath());
- }
-
- private static class ConfigurationContributor extends ConfigurationContributorAdapter {
-
- private BeaninfosDoc doc;
- List computedSearchPath;
-
- // The nature. If the nature is not set then this contributor is one
- // used by some other later proxy registry to get the beaninfo classes into their paths. In that case
- // we can expect the config info to be in the session variable for our use. Otherwise we will need to
- // add it here. Also don't set searchpath stuff if not nature because only the beaninfo one will do introspection.
- private BeaninfoNature nature;
-
- private IConfigurationContributionInfo info;
- private IBeanInfoContributor[] explicitContributors;
-
- public ConfigurationContributor(BeaninfosDoc doc) {
- this.doc = doc;
- }
-
- /*
- * Set that this is the nature contributor. Not null, means that this is the contributor being
- * used to setup the registry for the project's beaninfo nature. null (default) means that this
- * is one created to add to some editor's registry.
- *
- * Note: This MUST be set before initialize is called or it will not work correctly. If not set, it
- * will be considered not for BeanInfo nature directly.
- */
- public void setNature(BeaninfoNature nature) {
- this.nature = nature;
- if (nature != null)
- computedSearchPath = new ArrayList(3); // We will be gathering this info.
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IConfigurationContributor#initialize(org.eclipse.jem.internal.proxy.core.IConfigurationContributionInfo)
- */
- public void initialize(IConfigurationContributionInfo info) {
- this.info = info;
- try {
- if (info.getJavaProject().getProject().getSessionProperty(CONFIG_INFO_SESSION_KEY) == null) {
- // TODO For now we will rebuild for each time we open a registry, but it actually is only needed if a classpath
- // changes for some reason. At that point we can get it out of here.
-
- computeBeanInfoConfigInfo(info);
- }
- explicitContributors = (IBeanInfoContributor[]) info.getJavaProject().getProject().getSessionProperty(BEANINFO_CONTRIBUTORS_SESSION_KEY);
- } catch (CoreException e) {
- BeaninfoPlugin.getPlugin().getLogger().log(e);
- }
- }
-
- public void contributeClasspaths(final IConfigurationContributionController controller) throws CoreException {
- // Contribute for this project
- contributeClasspathsForProject(controller, info.getJavaProject().getProject(), doc, true);
-
- if (!info.getProjectPaths().isEmpty()) {
- // Run through all of the visible projects and contribute the classpaths (which come from the BeanInfo docs, if they have any).
- IWorkspaceRoot root = info.getJavaProject().getProject().getWorkspace().getRoot();
- Iterator projIter = info.getProjectPaths().entrySet().iterator();
- while (projIter.hasNext()) {
- Map.Entry entry = (Map.Entry) projIter.next();
- if (((Boolean) entry.getValue()).booleanValue()) {
- IResource res = root.findMember((IPath) entry.getKey());
- if (res instanceof IProject && ((IProject) res).isOpen() && BeaninfoNature.hasRuntime((IProject) res))
- contributeClasspathsForProject(controller, (IProject) res, BeaninfoNature.getRuntime((IProject) res)
- .getSearchPath(), false);
- }
- }
- }
-
- if (!info.getContainerIds().isEmpty()) {
- // Run through all of the visible container ids that are applicable.
- Iterator containerIdItr = info.getContainerIds().entrySet().iterator();
- while (containerIdItr.hasNext()) {
- Map.Entry entry = (Map.Entry) containerIdItr.next();
- if (((Boolean) entry.getValue()).booleanValue()) {
- processBeaninfoEntries(BeaninfoPlugin.getPlugin().getContainerIdBeanInfos((String) entry.getKey()),
- controller, info.getJavaProject());
- }
- }
-
- }
-
- if (!info.getPluginIds().isEmpty()) {
- // Run through all of the visible plugin ids that are applicable.
- Iterator pluginIdItr = info.getPluginIds().entrySet().iterator();
- while (pluginIdItr.hasNext()) {
- Map.Entry entry = (Map.Entry) pluginIdItr.next();
- if (((Boolean) entry.getValue()).booleanValue()) {
- processBeaninfoEntries(BeaninfoPlugin.getPlugin().getPluginBeanInfos((String) entry.getKey()), controller, info.getJavaProject());
- }
- }
-
- }
-
- if (!info.getContainers().isEmpty()) {
- // Run through all of the visible containers that implement IBeanInfoContributor and ask them for the contributions.
- Iterator containerItr = info.getContainers().entrySet().iterator();
- while (containerItr.hasNext()) {
- Map.Entry entry = (Map.Entry) containerItr.next();
- if (((Boolean) entry.getValue()).booleanValue()) {
- if (entry.getKey() instanceof IBeanInfoContributor)
- processBeaninfoEntries(((IBeanInfoContributor) entry.getKey()).getBeanInfoEntryContributions(info),
- controller, info.getJavaProject());
- }
- }
-
- }
-
- // And finally run through the explicit contributors.
- for (int i = 0; i < explicitContributors.length; i++) {
- final IBeanInfoContributor contributor = explicitContributors[i];
- processBeaninfoEntries(contributor.getBeanInfoEntryContributions(info), controller, info.getJavaProject());
- if (contributor instanceof IConfigurationContributor) {
- Platform.run(new ISafeRunnable() {
- public void handleException(Throwable exception) {
- // do nothing. by default platform logs.
- }
-
- public void run() throws Exception {;
- if (contributor instanceof IConfigurationContributor)
- ((IConfigurationContributor) contributor).contributeClasspaths(controller);
- }
- });
- }
- }
-
- // Add the common and beaninfovm.jar and any nls to the end of the classpath.
- controller.contributeClasspath(BeaninfoPlugin.getPlugin().getBundle(), "beaninfocommon.jar", IConfigurationContributionController.APPEND_USER_CLASSPATH, true); //$NON-NLS-1$
-
- // Add the beaninfovm.jar and any nls to the end of the classpath.
- controller.contributeClasspath(BeaninfoPlugin.getPlugin().getBundle(), "vm/beaninfovm.jar", IConfigurationContributionController.APPEND_USER_CLASSPATH, true); //$NON-NLS-1$
- }
-
- private IClasspathEntry get(IClasspathEntry[] array, SearchpathEntry se) {
- for (int i = 0; i < array.length; i++) {
- if (array[i].getEntryKind() == se.getKind() && array[i].getPath().equals(se.getPath()))
- return array[i];
- }
- return null;
- }
-
- private static final IBeaninfosDocEntry[] EMPTY_ENTRIES = new IBeaninfosDocEntry[0];
-
- /*
- * Contribute classpaths for the specified project. If doc is passed in, then this is the top level and
- * all should be added. If no doc, then this is pre-req'd project, and then we will handle exported entries only.
- */
- protected void contributeClasspathsForProject(
- IConfigurationContributionController controller,
- IProject project,
- BeaninfosDoc doc,
- boolean toplevelProject)
- throws CoreException {
-
- IJavaProject jProject = JavaCore.create(project);
- IClasspathEntry[] rawPath = jProject.getRawClasspath();
-
- // Search path of this project
- IBeaninfosDocEntry[] entries = (doc != null) ? doc.getSearchpath() : EMPTY_ENTRIES;
-
- for (int i = 0; i < entries.length; i++) {
- IBeaninfosDocEntry entry = entries[i];
- if (entry instanceof BeaninfoEntry) {
- BeaninfoEntry be = (BeaninfoEntry) entry;
- if (toplevelProject || be.isExported()) {
- // First project or this is an exported beaninfo, so we process it.
- processBeaninfoEntry(be, controller, jProject);
- }
- } else if (nature != null){
- // Just a search path entry. There is no beaninfo jar to pick up.
- // We have a nature, so we process search path.
- SearchpathEntry se = (SearchpathEntry) entry;
- if (!toplevelProject) {
- // We are in a nested project, find the raw classpath entry to see
- // if this entry is exported. Only do it if exported. (Note: exported is only used on non-source. Source are always exported).
- IClasspathEntry cpe = get(rawPath, se);
- if (cpe == null || (cpe.getEntryKind() != IClasspathEntry.CPE_SOURCE && !cpe.isExported())) {
- continue; // Not exist or not exported, so we don't want it here either.
- }
- }
-
- String pkg = se.getPackage();
- if (pkg != null) {
- // Explicit search path
- if (!computedSearchPath.contains(pkg))
- computedSearchPath.add(pkg);
- } else {
- // We no longer allow this, but just to be on safe side we test for it.
- }
- }
- }
- }
-
- protected void processBeaninfoEntries(
- BeaninfoEntry[] entries,
- IConfigurationContributionController controller,
- IJavaProject javaProject)
- throws CoreException {
- if (entries != null) {
- for (int i = 0; i < entries.length; i++)
- processBeaninfoEntry(entries[i], controller, javaProject);
- }
- }
-
- protected void processBeaninfoEntry(
- BeaninfoEntry entry,
- IConfigurationContributionController controller,
- IJavaProject javaProject)
- throws CoreException {
- Object[] cps = entry.getClasspath(javaProject);
- for (int j = 0; j < cps.length; j++) {
- Object cp = cps[j];
- if (cp instanceof IProject)
- controller.contributeProject((IProject) cp);
- else if (cp instanceof String)
- controller.contributeClasspath(ProxyLaunchSupport.convertStringPathToURL((String) cp), IConfigurationContributionController.APPEND_USER_CLASSPATH);
- else if (cp instanceof IPath) {
- IPath path = (IPath) cp;
- Bundle bundle = Platform.getBundle(path.segment(0));
- if (bundle != null)
- controller.contributeClasspath(bundle, path.removeFirstSegments(1), IConfigurationContributionController.APPEND_USER_CLASSPATH, true);
- }
- }
-
- if (nature != null) {
- // Now add in the package names.
- SearchpathEntry[] sees = entry.getSearchPaths();
- for (int j = 0; j < sees.length; j++) {
- SearchpathEntry searchpathEntry = sees[j];
- if (!computedSearchPath.contains(searchpathEntry.getPackage()))
- computedSearchPath.add(searchpathEntry.getPackage());
- }
- }
- }
-
- public void contributeToConfiguration(final ILaunchConfigurationWorkingCopy config) {
- for (int i = 0; i < explicitContributors.length; i++) {
- final int ii = i;
- Platform.run(new ISafeRunnable() {
- public void handleException(Throwable exception) {
- // do nothing. by default platform logs.
- }
-
- public void run() throws Exception {
- IBeanInfoContributor contributor = explicitContributors[ii];
- if (contributor instanceof IConfigurationContributor)
- ((IConfigurationContributor) contributor).contributeToConfiguration(config);
- }
- });
- }
- }
-
- public void contributeToRegistry(final ProxyFactoryRegistry registry) {
- if (nature != null)
- nature.setProxySearchPath(registry, computedSearchPath);
- for (int i = 0; i < explicitContributors.length; i++) {
- final int ii = i;
- Platform.run(new ISafeRunnable() {
- public void handleException(Throwable exception) {
- // do nothing. by default platform logs.
- }
-
- public void run() throws Exception {
- IBeanInfoContributor contributor = explicitContributors[ii];
- if (contributor instanceof IConfigurationContributor)
- ((IConfigurationContributor) contributor).contributeToRegistry(registry);
- }
- });
- }
- }
- }
-
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoProxyConstants.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoProxyConstants.java
deleted file mode 100644
index 5f8623932..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoProxyConstants.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: BeaninfoProxyConstants.java,v $
- * $Revision: 1.5 $ $Date: 2005/05/11 19:01:28 $
- */
-package org.eclipse.jem.internal.beaninfo.adapters;
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-/**
- * This holds the proxy constants for access in beaninfo. It is created on a per-registry basis and stored in the constants section of the registry so
- * that they can be accessed as needed.
- * <p>
- * To gain access to these constants, use the static accessor method "getConstants()" so that the instance is not created until actually needed.
- *
- * @since 1.0.0
- */
-public final class BeaninfoProxyConstants {
-
- private static final Object REGISTRY_KEY = new Object();
-
- private final IMethodProxy introspectProxy;
-
- private final IMethodProxy getBeanInfoSearchPathProxy;
-
- private final IMethodProxy setBeanInfoSearchPathProxy;
-
- private final IMethodProxy sendBeanInfoProxy;
-
- /**
- * Get the constants instance for the specified registry.
- */
- public static BeaninfoProxyConstants getConstants(ProxyFactoryRegistry registry) {
- BeaninfoProxyConstants constants = (BeaninfoProxyConstants) registry.getConstants(REGISTRY_KEY);
- if (constants == null)
- registry.registerConstants(REGISTRY_KEY, constants = new BeaninfoProxyConstants(registry));
- return constants;
- }
-
- private BeaninfoProxyConstants(ProxyFactoryRegistry registry) {
-
- IStandardBeanTypeProxyFactory typeFactory = registry.getBeanTypeProxyFactory();
-
- IBeanTypeProxy introspector = typeFactory.getBeanTypeProxy("java.beans.Introspector"); //$NON-NLS-1$
- getBeanInfoSearchPathProxy = introspector.getMethodProxy("getBeanInfoSearchPath"); //$NON-NLS-1$
- setBeanInfoSearchPathProxy = introspector.getMethodProxy("setBeanInfoSearchPath", "[Ljava.lang.String;"); //$NON-NLS-1$ //$NON-NLS-2$
-
- IBeanTypeProxy modelingBeaninfo = typeFactory.getBeanTypeProxy("org.eclipse.jem.internal.beaninfo.vm.ModelingBeanInfo");//$NON-NLS-1$
- introspectProxy = modelingBeaninfo.getMethodProxy("introspect", new String[] { "java.lang.Class", "boolean", "int"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-
- sendBeanInfoProxy = modelingBeaninfo.getMethodProxy("send"); //$NON-NLS-1$
-
- }
-
- /**
- * Get the sendBeanDecorator method proxy from ModelingBeanInfo.
- * @return
- *
- * @since 1.1.0
- */
- public IMethodProxy getSendBeanInfoProxy() {
- return sendBeanInfoProxy;
- }
-
- /**
- * Get the getBeanInfoSearchPath method proxy from Introspector.
- * @return
- *
- * @since 1.0.0
- */
- public IMethodProxy getGetBeanInfoSearchPathProxy() {
- return getBeanInfoSearchPathProxy;
- }
-
- /**
- * Get the setBeanInfoSearchPath method proxy from Introspector.
- * @return
- *
- * @since 1.0.0
- */
- public IMethodProxy getSetBeanInfoSearchPathProxy() {
- return setBeanInfoSearchPathProxy;
- }
-
- /**
- * Get the introspect method proxy from ModelingBeanInfo.
- * @return
- *
- * @since 1.1.0
- */
- public IMethodProxy getIntrospectProxy() {
- return introspectProxy;
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoSuperAdapter.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoSuperAdapter.java
deleted file mode 100644
index 0952b77cd..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoSuperAdapter.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo.adapters;
-/*
- * $RCSfile: BeaninfoSuperAdapter.java,v $
- * $Revision: 1.5 $ $Date: 2005/02/15 22:44:20 $
- */
-
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.common.notify.impl.AdapterImpl;
-import org.eclipse.emf.ecore.impl.ESuperAdapter;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaRefPackage;
-import org.eclipse.jem.java.impl.JavaClassImpl;
-
-/**
- * Used to know when events or any of the super classes change so
- * that we can re-construct our all events list next time we need it.
- * @version 1.0
- * @author
- */
-public class BeaninfoSuperAdapter extends AdapterImpl {
-
- public static final Class ADAPTER_KEY = BeaninfoSuperAdapter.class;
-
- private boolean allEventsCollectionModified = true;
- private boolean allPropertiesCollectionModified = true;
- private boolean allOperationsCollectionModified = true;
-
- public BeaninfoSuperAdapter() {
- super();
- }
-
- public void notifyChanged(Notification msg) {
- if (msg.getEventType() != Notification.REMOVING_ADAPTER)
- setFlags(msg.getFeatureID(JavaClass.class));
- }
-
- public boolean isAllEventsCollectionModified() {
- return allEventsCollectionModified;
- }
-
- public void setAllEventsCollectionModified(boolean newEventsModified) {
- allEventsCollectionModified = newEventsModified;
- }
-
- public boolean isAllOperationsCollectionModified() {
- return allOperationsCollectionModified;
- }
-
- public void setAllOperationsCollectionModified(boolean newOperationsModified) {
- allOperationsCollectionModified = newOperationsModified;
- }
-
- public void setAllPropertiesCollectionModified(boolean allPropertiesCollectionModified) {
- this.allPropertiesCollectionModified = allPropertiesCollectionModified;
- }
-
- public boolean isAllPropertiesCollectionModified() {
- return allPropertiesCollectionModified;
- }
-
- public Collection getSubclasses() {
- // Get them from the ESuperAdapter. Easiest to do.
- ESuperAdapter ea = ((JavaClassImpl) getTarget()).getESuperAdapter();
- return ea.getSubclasses();
- }
-
- public boolean isAdapterForType(Object type) {
- return ADAPTER_KEY.equals(type);
- }
-
- void setFlags(int featureId) {
- switch (featureId) {
- case JavaRefPackage.JAVA_CLASS__EVENTS :
- setAllEventsCollectionModified(true);
- break;
-
- case JavaRefPackage.JAVA_CLASS__EOPERATIONS:
- setAllOperationsCollectionModified(true);
- break;
-
- case JavaRefPackage.JAVA_CLASS__ESUPER_TYPES:
- setAllEventsCollectionModified(true);
- setAllPropertiesCollectionModified(true);
- break;
-
- case JavaRefPackage.JAVA_CLASS__ESTRUCTURAL_FEATURES:
- setAllPropertiesCollectionModified(true);
- break;
-
- default :
- break;
- }
- Iterator i = getSubclasses().iterator();
- while (i.hasNext()) {
- Notifier n = (Notifier) i.next();
- BeaninfoSuperAdapter a = (BeaninfoSuperAdapter) EcoreUtil.getExistingAdapter(n, ADAPTER_KEY);
- if (a != null)
- a.setFlags(featureId);
- }
- }
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/CreateRegistryJobHandler.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/CreateRegistryJobHandler.java
deleted file mode 100644
index 6bb67893c..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/CreateRegistryJobHandler.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: CreateRegistryJobHandler.java,v $
- * $Revision: 1.13 $ $Date: 2005/06/21 19:17:03 $
- */
-package org.eclipse.jem.internal.beaninfo.adapters;
-
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.*;
-
-import org.eclipse.jem.internal.beaninfo.core.BeaninfoPlugin;
-import org.eclipse.jem.util.logger.proxy.Logger;
-
-
-
-/**
- * This class is used by BeaninfoNature to handle the creation of the registry,
- * This class will be a singleton. It is needed to handle if UI active without
- * requiring UI plugin. (So headless will work too). The subclass <code>UICreateRegistryJobHandler</code>
- * will be instantiated in case of UI active.
- * @since 1.0.0
- */
-class CreateRegistryJobHandler {
- private static CreateRegistryJobHandler jobHandler = null;
-
- public static void createRegistry(BeaninfoNature nature) {
- synchronized (CreateRegistryJobHandler.class) {
- if (jobHandler == null) {
- if (Platform.getBundle("org.eclipse.ui") != null) { //$NON-NLS-1$
- try {
- // There is a UI, it may not be active, but bring in UICreateRegistryJobHandler to do the
- // actual work since it can reference the UI.
- jobHandler = (CreateRegistryJobHandler) Class.forName("org.eclipse.jem.internal.beaninfo.adapters.UICreateRegistryJobHandler").newInstance(); //$NON-NLS-1$
- } catch (InstantiationException e) {
- jobHandler = new CreateRegistryJobHandler();
- } catch (IllegalAccessException e) {
- jobHandler = new CreateRegistryJobHandler();
- } catch (ClassNotFoundException e) {
- jobHandler = new CreateRegistryJobHandler();
- }
- }
- }
- }
-
- // See if Autobuild sleeping or waiting. This could be a race condition for us. We can't wait for it
- // because we may already have the build rule locked by our thread. No way of testing this if beginRule was used.
- // We can test if we are a build job (not an inline build), and if so, just go on.
- // Maybe we can figure out in future if we find race condition happens significant amount of time.
- IJobManager jobManager = Platform.getJobManager();
- Job currentJob = jobManager.currentJob();
- if (currentJob == null || (!currentJob.belongsTo(ResourcesPlugin.FAMILY_AUTO_BUILD) && !currentJob.belongsTo(ResourcesPlugin.FAMILY_MANUAL_BUILD))) {
- // See if autojob is waiting or sleeping.
- // Give it up to a second at .2 second intervals to try (i.e. 5 tries)
- int tries = 5;
- while (isAutoWaiting() && --tries>0) {
- try {
- Thread.sleep(200); // Wait just .2 seconds to give build a chance to start. If it is still not started, then just go on.
- } catch (InterruptedException e) {
- }
- }
- if (tries==0) {
- Logger logger = BeaninfoPlugin.getPlugin().getLogger();
- if (logger.isLoggingLevel(Level.WARNING))
- logger.log("Build job waiting when trying to start beaninfo registry. Possible race.", Level.WARNING); // $NON-NLS-1$ //$NON-NLS-1$
- }
- }
-
- jobHandler.processCreateRegistry(nature);
- }
-
- private static boolean isAutoWaiting() {
- Job[] autojobs = Platform.getJobManager().find(ResourcesPlugin.FAMILY_AUTO_BUILD);
- for (int i = 0; i < autojobs.length; i++) {
- int state = autojobs[i].getState();
- if (state == Job.WAITING || state == Job.SLEEPING)
- return true;
- }
- return false;
- }
-
-
- /**
- * Process the create of the registry. This should be overridden to
- * do what the UI needs. The UI implimentation should call doCreateRegistry at the
- * appropriate time.
- *
- * @param nature
- *
- * @since 1.0.0
- */
- protected void processCreateRegistry(final BeaninfoNature nature) {
- IJobManager jobManager = Platform.getJobManager();
- ISchedulingRule buildRule = ResourcesPlugin.getWorkspace().getRuleFactory().buildRule();
- boolean gotRuleLocally = true;
- try {
- try {
- jobManager.beginRule(buildRule, new NullProgressMonitor());
- } catch (IllegalArgumentException e) {
- gotRuleLocally = false; // This thread already had a rule, and it conflicted with the build rule, so we need to spawn off.
- }
- if (gotRuleLocally)
- doCreateRegistry(nature, new NullProgressMonitor());
- } finally {
- jobManager.endRule(buildRule); // Whether we got the rule or not, we must do endrule.
- }
-
- if (!gotRuleLocally) {
- // Spawn off to a job and wait for it. Hopefully we don't have a deadlock somewhere.
- Job doCreateJob = new Job(BeanInfoAdapterMessages.UICreateRegistryJobHandler_StartBeaninfoRegistry) {
-
- protected IStatus run(IProgressMonitor monitor) {
- doCreateRegistry(nature, monitor);
- return Status.OK_STATUS;
- }
- };
- doCreateJob.schedule();
- while (true) {
- try {
- doCreateJob.join();
- break;
- } catch (InterruptedException e) {
- }
- }
- }
- }
-
- /*
- * Do the creation. It is expected that the build rule has already been given to this thread.
- * It is important that the build rule be given to this thread. This is so that a build won't
- * start trying to create the same registry (which has happened in the past) at the same time
- * a different thread was trying to start the registry. You would either have a deadlock, or
- * a race and get two different registries started.
- *
- * The build rule also means that all beaninfo registry creations will be serialized and have
- * a race condition. The unfortunate part is that two independent project's registries can't be
- * created at same time. But that is the result of the build rule. We can't allow the builds, so
- * we need to stop all parallel beaninfo registry creations.
- *
- * @param nature
- * @param pm
- *
- * @since 1.0.0
- */
- protected final void doCreateRegistry(BeaninfoNature nature, IProgressMonitor pm) {
- pm.beginTask("", 100); //$NON-NLS-1$
- try {
- nature.createRegistry(new SubProgressMonitor(pm, 100));
- } finally {
- pm.done();
- }
- }
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/DOMReader.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/DOMReader.java
deleted file mode 100644
index 6a2b0fd6d..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/DOMReader.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo.adapters;
-/*
- * $RCSfile: DOMReader.java,v $
- * $Revision: 1.6 $ $Date: 2005/02/15 22:44:20 $
- */
-
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-
-
-/**
- * The internal class for reading dom elements.
- * @version 1.0
- * @author
- */
-class DOMReader implements IReader {
-
- /*
- * @see IReader#getChildren(Object)
- */
- public Object getChildren(Object node) {
- return (node instanceof Node) ? ((Node) node).getChildNodes() : null;
- }
-
-
- /*
- * @see IReader#getLength(Object)
- */
- public int getLength(Object nodeList) {
- return (nodeList instanceof NodeList) ? ((NodeList) nodeList).getLength() : 0;
- }
-
- /*
- * @see IReader#getItem(Object, int)
- */
- public Object getItem(Object nodeList, int index) {
- return (nodeList instanceof NodeList) ? ((NodeList) nodeList).item(index) : null;
- }
-
- /*
- * @see IReader#isNodeTypeElement(Object)
- */
- public boolean isNodeTypeElement(Object node) {
- return (node instanceof Node) ? ((Node) node).getNodeType() == Node.ELEMENT_NODE : false;
- }
-
- /*
- * @see IReader#getNodeName(Object)
- */
- public String getNodeName(Object node) {
- return (node instanceof Node) ? ((Node) node).getNodeName() : ""; //$NON-NLS-1$
- }
-
- /*
- * @see IReader#getAttribute(Object, String)
- */
- public String getAttribute(Object element, String attributeName) {
- return (element instanceof Element) && ((Element) element).hasAttribute(attributeName) ? ((Element) element).getAttribute(attributeName) : null;
- }
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/IReader.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/IReader.java
deleted file mode 100644
index 75216551e..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/IReader.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo.adapters;
-/*
- * $RCSfile: IReader.java,v $
- * $Revision: 1.5 $ $Date: 2005/02/15 22:44:20 $
- */
-/**
- * This is internal interface for reading beaninfoConfig either through IConfigurationElements or
- * w3.dom.Nodes. This is because when reading the .beaninfoConfig we will be using Nodes, but
- * when reading configs from registered extensions they will be IConfigurationElements.
- * @version 1.0
- * TODO Need to move to core when we make things API.
- */
-public interface IReader {
-
- public Object getChildren(Object node);
- public int getLength(Object nodeList);
- public Object getItem(Object nodeList, int index);
- public boolean isNodeTypeElement(Object node); // Is this an element type node
- public String getNodeName(Object node);
- public String getAttribute(Object element, String attributeName);
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/SpecialResourceSet.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/SpecialResourceSet.java
deleted file mode 100644
index 6cb89330b..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/SpecialResourceSet.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo.adapters;
-/*
- * $RCSfile: SpecialResourceSet.java,v $
- * $Revision: 1.8 $ $Date: 2005/02/15 22:44:20 $
- */
-
-import org.eclipse.jem.internal.util.emf.workbench.ProjectResourceSetImpl;
-import org.eclipse.jem.util.plugin.JEMUtilPlugin;
-
-
-/**
- * A Special resource set that is used to link together to the beaninfo
- * nature's resource set and makes sure that any request for a new "java:/..."
- * JavaClass is redirected to the beaninfo nature's resource set. Otherwise
- * the classes will be all over the place and not all gathered in one place.
- *
- * *package* protected because no one should create one of these. They are
- * returned by the BeaninfoNature.newResourceSet() request.
- *
- * @version 1.0
- * @author
- */
-class SpecialResourceSet extends ProjectResourceSetImpl {
-
- /**
- * Constructor for SpecialResourceSet.
- * @param aProject
- */
- public SpecialResourceSet() {
- super(null);
- JEMUtilPlugin.getSharedCache().stopListening(this); // We don't care about listening.
- }
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/UICreateRegistryJobHandler.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/UICreateRegistryJobHandler.java
deleted file mode 100644
index 11e6b4169..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/UICreateRegistryJobHandler.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: UICreateRegistryJobHandler.java,v $
- * $Revision: 1.6 $ $Date: 2005/05/18 20:59:17 $
- */
-package org.eclipse.jem.internal.beaninfo.adapters;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.IJobManager;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.progress.IProgressService;
-
-import org.eclipse.jem.internal.beaninfo.core.BeaninfoPlugin;
-
-
-/**
- * This is the version which can actually reference and use the UI classes. It won't be
- * loaded except if ui plugin is available.
- *
- * It will check to see if UI is running, and if it is not, then let super class handle.
- * If it is running, then if this is the UI thread, do special but run in ui, else if not then
- * let super handle it normally.
- *
- * @since 1.0.0
- */
-class UICreateRegistryJobHandler extends CreateRegistryJobHandler {
-
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.beaninfo.adapters.CreateRegistryJobHandler#processCreateRegistry(org.eclipse.jem.internal.beaninfo.adapters.BeaninfoNature)
- */
- protected void processCreateRegistry(final BeaninfoNature nature) {
- if (PlatformUI.isWorkbenchRunning()) {
- if (Display.getCurrent() == null)
- super.processCreateRegistry(nature); // We are not in the UI thread. Do normal.
- else {
- // We are in the UI, so try to run in UI. Really don't want to do this, but we need to
- // get the build rule, and no way to know if the UI thread already has the build rule.
- // It would be nice to spawn off thread to do it, but if we had the build rule we couldn't
- // get it for the spawned thread. So hopefully it won't be long.
- IProgressService ps = PlatformUI.getWorkbench().getProgressService();
- final ISchedulingRule buildRule = ResourcesPlugin.getWorkspace().getRuleFactory().buildRule();
-
-// TODO Note: For now, runInUI is just way too annoying. It always flashes up. It is supposed to only flash up
-// when it is blocked by the rule. I've opened 66683 to address this. I've also opened 66690 to be able
-// to test if the thread has the rule so that runInUI will only be used if UI thread had the rule.
-// For now take the risk that the UI thread won't ever have the rule. This is pretty likely to be true.
-// final boolean[] gotRuleLocally = new boolean[] {false};
-// try {
-// ps.runInUI(ps, new IRunnableWithProgress() {
-//
-// public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-// gotRuleLocally[0] = true;
-// doCreateRegistry(nature, new NullProgressMonitor());
-// }
-// }, buildRule);
-// } catch (InvocationTargetException e) {
-// if (e.getCause() instanceof IllegalArgumentException && !gotRuleLocally[0]) {
-// // Error was because rule conflicted with currect rules for this thread. So do in separate thread, should be able to get rule there.
- try {
- ps.busyCursorWhile(new IRunnableWithProgress() {
-
- public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
- IJobManager jm = Platform.getJobManager();
- monitor.beginTask("", 200); //$NON-NLS-1$
- try {
- jm.beginRule(buildRule, new SubProgressMonitor(monitor, 100));
- doCreateRegistry(nature, new SubProgressMonitor(monitor, 100));
- } finally {
- jm.endRule(buildRule);
- monitor.done();
- }
- }
- });
- } catch (InterruptedException e1) {
- } catch (InvocationTargetException e2) {
- BeaninfoPlugin.getPlugin().getLogger().log(e2.getCause(), Level.WARNING);
- }
-// } else
-// BeaninfoPlugin.getPlugin().getLogger().log(e.getCause(), Level.WARNING);
-// } catch (InterruptedException e) {
-// }
- }
- } else
- super.processCreateRegistry(nature); // Workbench not running, do default.
- }
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/messages.properties b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/messages.properties
deleted file mode 100644
index de422ed05..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/messages.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2004 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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/messages.properties,v $
-# $Revision: 1.5 $ $Date: 2005/06/21 19:17:03 $
-#
-
-INTROSPECT_FAILED_EXC_ = IWAV0155E Introspection failed on class "{0}." msg="{1}."
-BeaninfoClassAdapter_ClassNotFound = Class not found
-BeaninfoNature_InvalidProject = Invalid project
-UICreateRegistryJobHandler_StartBeaninfoRegistry = Start Beaninfo registry
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/BeanInfoCacheController.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/BeanInfoCacheController.java
deleted file mode 100644
index 39b1760cd..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/BeanInfoCacheController.java
+++ /dev/null
@@ -1,1582 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- * $RCSfile: BeanInfoCacheController.java,v $
- * $Revision: 1.13 $ $Date: 2005/07/07 19:38:57 $
- */
-package org.eclipse.jem.internal.beaninfo.core;
-
-import java.io.*;
-import java.util.*;
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.emf.common.notify.*;
-import org.eclipse.emf.common.notify.impl.AdapterImpl;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.change.ChangeDescription;
-import org.eclipse.emf.ecore.change.impl.EObjectToChangesMapEntryImpl;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.xmi.XMLResource;
-import org.eclipse.jdt.core.*;
-
-import org.eclipse.jem.internal.beaninfo.adapters.*;
-import org.eclipse.jem.internal.java.beaninfo.IIntrospectionAdapter;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.util.emf.workbench.ProjectResourceSet;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jem.util.plugin.JEMUtilPlugin;
-import org.eclipse.jem.util.plugin.JEMUtilPlugin.CleanResourceChangeListener;
-
-/**
- * Controller of the BeanInfo cache. There is one per workspace (it is a static).
- *
- * The cache is stored on a per IPackageFragmentRoot basis. Each package fragment root will be:
- *
- * <pre>
- *
- * root{999}/classname.xmi
- *
- * </pre>
- *
- * "root{999}" will be a unigue name (root appended with a number}, one for each package fragment root. The "classname.xmi" will be the BeanInfo cache
- * for a class in the root. A root can't have more than one class with the same name, so there shouldn't be any collisions.
- * <p>
- * Now roots can either be in a project, or they can be an external jar (which can be shared between projects).
- * <p>
- * Now all roots for a project will be stored in the project's working location
- * {@link org.eclipse.core.resources.IProject#getWorkingLocation(java.lang.String)}under the ".cache" directory. It will be this format in each
- * project location (under the org.eclipse.jem.beaninfo directory):
- *
- * <pre>
- *
- * .index
- * root{999}/...
- *
- * </pre>
- *
- * The ".index" file will be stored/loaded through an ObjectStream. It will be a {@link BeanInfoCacheController.Index}. It is the index to all of the
- * root's in the directory.
- * <p>
- * All of the external jar roots will be stored in the org.eclipse.jem.beaninfo plugin's state location
- * {@link org.eclipse.core.runtime.Platform#getStateLocation(org.osgi.framework.Bundle)}under the ".cache" directory. The format of this directory
- * will be the same as for each project. And the roots will be for each unique shared external jar (such as the differnt jre's rt.jars).
- * <p>
- * Note: There are so many places where synchronization is needed, so it is decided to synchronize only on BeanInfoCacheController.INSTANCE. It would
- * be too easy to get a dead-lock because the order of synchronizations can't be easily controlled. Since each piece of sync control is very short
- * (except for save of the indices, but that is ok because we don't want them changing while saving) it shouldn't block a lot. There is one place we
- * violate this and that is we do a sync on ClassEntry instance when working with the pending. This is necessary because we don't want the cache write
- * job to hold up everything while writing, so we sync on the entry being written instead. There we must be very careful that we never to
- * BeanInfoCacheControler.INSTANCE sync and then a ClassEntry sync because we could deadlock. The CE access under the covers may do a CE sync and then
- * a BeanInfoCacheController.INSTANCE sync.
- *
- * @since 1.1.0
- */
-public class BeanInfoCacheController {
-
- /**
- * Singleton cache controller.
- *
- * @since 1.1.0
- */
- public static final BeanInfoCacheController INSTANCE = new BeanInfoCacheController();
-
- private BeanInfoCacheController() {
- // Start up save participent. This only is used for saving indexes and shutdown. Currently the saved state delta
- // is of no interest. If a project is deleted while we were not up, then the project index would be gone, so
- // our data will automatically be gone for the project.
- // If a class was deleted while the project's beaninfo was not active, the cache will still contain it. If the class ever came back it
- // would be stale and so recreated. If it never comes back, until a clean is done, it would just hang around.
- // The problem with delete is it is hard to determine that the file is actually a class of interest. The javamodel
- // handles that for us but we won't have a javamodel to handle this on start up to tell us the file was a class of interest. So
- // we'll take the hit of possible cache for non-existant classes. A clean will take care of this.
- saveParticipant = new SaveParticipant();
- try {
- ResourcesPlugin.getWorkspace().addSaveParticipant(BeaninfoPlugin.getPlugin(), saveParticipant);
- } catch (CoreException e) {
- BeaninfoPlugin.getPlugin().getLogger().log(e.getStatus());
- }
-
- // Create a cleanup listener to handle clean requests and project deletes. We need to know about project deletes while
- // active because we may have a project index in memory and that needs to be thrown away.
- JEMUtilPlugin.addCleanResourceChangeListener(new CleanResourceChangeListener() {
-
- protected void cleanProject(IProject project) {
- // Get rid of the project index and the data for the project.
- synchronized (BeanInfoCacheController.this) {
- try {
- Index projectIndex = (Index) project.getSessionProperty(PROJECT_INDEX_KEY);
- if (projectIndex != null) {
- project.setSessionProperty(PROJECT_INDEX_KEY, null);
- projectIndex.markDead();
- cleanDirectory(getCacheDir(project).toFile(), true);
- }
- BeaninfoNature nature = BeaninfoPlugin.getPlugin().getNature(project);
- if (nature != null) {
- BeaninfoAdapterFactory adapterFactory = (BeaninfoAdapterFactory) EcoreUtil.getAdapterFactory(nature.getResourceSet().getAdapterFactories(), IIntrospectionAdapter.ADAPTER_KEY);
- if (adapterFactory != null) {
- adapterFactory.markAllStale();
- }
- }
- } catch (CoreException e) {
- // Shouldn't occur.
- }
- }
- }
-
- protected void cleanAll() {
- synchronized(BeanInfoCacheController.this) {
- // Get MAIN_INDEX, mark it dead, and then delete everything under it.
- if (MAIN_INDEX != null) {
- MAIN_INDEX.markDead();
- MAIN_INDEX = null;
- cleanDirectory(getCacheDir(null).toFile(), true);
- }
- }
- super.cleanAll();
- }
-
- public void resourceChanged(IResourceChangeEvent event) {
- // We don't need to handle PRE_CLOSE because SaveParticipent project save will handle closing.
- switch (event.getType()) {
- case IResourceChangeEvent.PRE_DELETE:
- // Don't need to clear the cache directory because Eclipse will get rid of it.
- synchronized (BeanInfoCacheController.this) {
- try {
- Index projectIndex = (Index) event.getResource().getSessionProperty(PROJECT_INDEX_KEY);
- if (projectIndex != null) {
- // No need to remove from the project because the project is going away and will clean itself up.
- projectIndex.markDead();
- }
- } catch (CoreException e) {
- // Shouldn't occur.
- }
- }
- // Flow into PRE_CLOSE to release the nature.
- case IResourceChangeEvent.PRE_CLOSE:
- // About to close or delete, so release the nature, if any.
- IProject project = (IProject) event.getResource();
- BeaninfoNature nature = BeaninfoPlugin.getPlugin().getNature(project);
- if (nature != null) {
- nature.cleanup(false, true);
- }
- break;
- default:
- super.resourceChanged(event);
- break;
- }
- }
-
- }, IResourceChangeEvent.PRE_DELETE | IResourceChangeEvent.PRE_CLOSE);
- }
-
- protected SaveParticipant saveParticipant;
-
- /**
- * An index structure for the Main and Project indexes. Access to the index contents and methods should synchronize on the index itself.
- * <p>
- * Getting to the index instance should only be through the <code>getMainIndex()</code> and <code>getProjectIndex(IProject)</code> accessors
- * so that synchronization and serialization is controlled.
- *
- * @since 1.1.0
- */
- protected static class Index implements Serializable {
-
- private static final long serialVersionUID = 1106864425465L;
-
- /*
- * Is this a dirty index, i.e. it has been changed and needs to be saved.
- */
- transient private boolean dirty;
-
- private static final int DEAD = -1; // Used in highRootNumber to indicate the index is dead.
- /**
- * The highest root number used. It is incremented everytime one is needed. It doesn't ever decrease to recover removed roots.
- *
- * @since 1.1.0
- */
- public int highRootNumber;
-
- /**
- * Map of root names to the root Index. The key is a {@link IPath}. The path will be relative to the workspace if a project root, or an
- * absolute local path to the archive if it is an external archive. It is the IPath to package fragment root (either a folder or a jar file).
- * <p>
- * The value will be a {@link BeanInfoCacheController.RootIndex}. This is the index for the contents of that root.
- *
- * @since 1.1.0
- */
- transient public Map rootToRootIndex;
-
- /**
- * @param dirty
- * The dirty to set.
- *
- * @since 1.1.0
- */
- public void setDirty(boolean dirty) {
- synchronized (BeanInfoCacheController.INSTANCE) {
- this.dirty = dirty;
- }
- }
-
- /**
- * @return Returns the dirty.
- *
- * @since 1.1.0
- */
- public boolean isDirty() {
- synchronized (BeanInfoCacheController.INSTANCE) {
- return dirty;
- }
- }
-
- /**
- * Answer if this index is dead. It is dead if a clean has occurred. This is needed because there could be some ClassEntry's still
- * around (such as in the pending write queue) that are for cleaned roots. This is used to test if it has been cleaned.
- * @return
- *
- * @since 1.1.0
- */
- public boolean isDead() {
- return highRootNumber == DEAD;
- }
-
- /**
- * Mark the index as dead.
- *
- *
- * @since 1.1.0
- */
- void markDead() {
- highRootNumber = DEAD;
- }
-
- private void writeObject(ObjectOutputStream os) throws IOException {
- os.defaultWriteObject();
- // Now write out the root to root index map. We are not serializing the Map directly using normal Map serialization because
- // the key of the map is an IPath (which is a Path under the covers) and Path is not serializable.
- os.writeInt(rootToRootIndex.size());
- for (Iterator mapItr = rootToRootIndex.entrySet().iterator(); mapItr.hasNext();) {
- Map.Entry entry = (Map.Entry) mapItr.next();
- os.writeUTF(((IPath) entry.getKey()).toString());
- os.writeObject(entry.getValue());
- }
- }
-
- private void readObject(ObjectInputStream is) throws IOException, ClassNotFoundException {
- is.defaultReadObject();
- int size = is.readInt();
- rootToRootIndex = new HashMap(size < 100 ? 100 : size);
- while (size-- > 0) {
- rootToRootIndex.put(new Path(is.readUTF()), is.readObject());
- }
- }
- }
-
- /**
- * An index for a root. It has an entry for each class in this root. The class cache entry describes the cache, whether it is stale, what the
- * current mod stamp is, etc.
- *
- * @since 1.1.0
- */
- public static abstract class RootIndex implements Serializable {
-
- private static final long serialVersionUID = 1106868674823L;
-
- transient private IPath cachePath; // Absolute local filesystem IPath to the root cache directory. Computed at runtime because it may change
- // if workspace relocated.
-
- protected Map classNameToClassEntry; // Map of class names to class entries.
-
- private String rootName; // Name of the root directory in the cache (e.g. "root1").
-
- protected Index index; // Index containing this root index.
-
- protected RootIndex() {
- }
-
- public RootIndex(String rootName, Index index) {
- this.rootName = rootName;
- classNameToClassEntry = new HashMap(100); // When created brand new, put in a map. Otherwise object stream will create the map.
- this.index = index;
- }
-
- /**
- * Get the index that points to this root.
- * @return
- *
- * @since 1.1.0
- */
- Index getIndex() {
- return index;
- }
-
- /**
- * Return the root directory name
- *
- * @return rootname
- *
- * @since 1.1.0
- */
- public String getRootName() {
- return rootName;
- }
-
- /**
- * Set this RootIndex (and the containing Index) as being dirty and in need of saving.
- *
- *
- * @since 1.1.0
- */
- public void setDirty() {
- index.setDirty(true);
- }
-
- /*
- * Setup for index. It will initialize the path. Once set it won't set it again. This will be called repeatedly by the cache controller
- * because there is no way to know if it was lazily created or was brought in from file. When brought in from file the path is not set because
- * it should be relocatable and we don't want absolute paths out on the disk caches, and we don't want to waste time creating the path at load
- * time because it may not be needed for a while. So it will be lazily created. <p> If the project is set, then the path will be relative to
- * the project's working location. If project is <code> null </code> then it will be relative to the BeanInfo plugin's state location. <p>
- * This is <package-protected> because only the creator (BeanInfoCacheController class) should set this up.
- *
- * @param project
- *
- * @since 1.1.0
- */
- void setupIndex(IProject project) {
- if (getCachePath() == null)
- cachePath = getCacheDir(project).append(rootName);
- }
-
- /**
- * @return Returns the path of the cache directory for the root.
- *
- * @since 1.1.0
- */
- public IPath getCachePath() {
- return cachePath;
- }
-
- /**
- * Return whether this is a root for a archive or a folder.
- *
- * @return <code>true</code> if archive for a root. <code>false</code> if archive for a folder.
- *
- * @since 1.1.0
- */
- public abstract boolean isArchiveRoot();
- }
-
- /**
- * A root index that is for an archive, either internal or external. It contains the archive's modification stamp. Each class cache entry will
- * have this same modification stamp. If the archive is changed then all of the class cache entries will be removed because they are all possibly
- * stale. No way to know which may be stale and which not.
- *
- * @since 1.1.0
- */
- public static class ArchiveRootIndex extends RootIndex {
-
- private static final long serialVersionUID = 110686867456L;
-
- private long archiveModificationStamp;
-
- /*
- * For serializer to call.
- */
- protected ArchiveRootIndex() {
- }
-
- public ArchiveRootIndex(String rootName, long archiveModificationStamp, Index index) {
- super(rootName, index);
- this.archiveModificationStamp = archiveModificationStamp;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.beaninfo.core.BeanInfoCacheController.RootIndex#isArchiveRoot()
- */
- public boolean isArchiveRoot() {
- return true;
- }
-
- /*
- * Set the modification stamp. <p> <package-protected> because only the cache controller should change it.
- *
- * @param archiveModificationStamp The archiveModificationStamp to set.
- *
- * @see BeanInfoCacheController#MODIFICATION_STAMP_STALE
- * @since 1.1.0
- */
- void setArchiveModificationStamp(long archiveModificationStamp) {
- this.archiveModificationStamp = archiveModificationStamp;
- setDirty();
- }
-
- /**
- * Returns the modification stamp.
- *
- * @return Returns the archiveModificationStamp.
- * @see BeanInfoCacheController#MODIFICATION_STAMP_STALE
- * @since 1.1.0
- */
- public long getArchiveModificationStamp() {
- return archiveModificationStamp;
- }
- }
-
- /**
- * This is a root index for a folder (which will be in the workspace). Each class cache entry can have a different modification stamp with a
- * folder root index.
- *
- * @since 1.1.0
- */
- public static class FolderRootIndex extends RootIndex {
-
- private static final long serialVersionUID = 1106868674842L;
-
- /*
- * For serialization.
- */
- protected FolderRootIndex() {
- }
-
- /**
- * @param rootName
- *
- * @since 1.1.0
- */
- public FolderRootIndex(String rootName, Index index) {
- super(rootName, index);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.beaninfo.core.BeanInfoCacheController.RootIndex#isArchiveRoot()
- */
- public boolean isArchiveRoot() {
- return false;
- }
- }
-
- /**
- * An individual class entry from the cache. It has an entry for each class in the root. The class cache entry describes the cache, whether it is
- * stale, what the current mod stamp is, etc.
- * <p>
- * There is a method to call to see if deleted. This should only be called if entry is being held on to because
- * <code>getClassEntry(JavaClass)</code> will never return a deleted entry. There is a method to get the modification stamp of the current cache
- * entry. This is the time stamp of the cooresponding class resource (or archive file) that the cache file was created from. If the value is
- * <code>IResource.NULL_STAMP</code>, then the cache file is known to be stale. Otherwise if the value is less than a modification stamp of a
- * super class then the cache file is stale.
- *
- * @see ClassEntry#isDeleted()
- * @see ClassEntry#getModificationStamp()
- * @see BeanInfoCacheController#getClassEntry(JavaClass)
- * @since 1.1.0
- */
- public static class ClassEntry implements Serializable {
-
- private static final long serialVersionUID = 1106868674666L;
-
- public static final long DELETED_MODIFICATION_STAMP = Long.MIN_VALUE; // This flag won't be seen externally. It is used to indicate the entry
- // has been deleted for those that have been holding a CE.
-
- private long modificationStamp;
- private long superModificationStamp; // Stamp of superclass, if any, at time of cache creation.
- private String[] interfaceNames; // Interfaces names (null if no interfaces)
- private long[] interfaceModicationStamps; // Modification stamps of interfaces, if any. (null if no interfaces).
- private transient Resource pendingResource; // Resource is waiting to be saved, but the timestamps are for this pending resource so that we know what it will be ahead of time. At this point the class will be introspected.
-
- private RootIndex rootIndex; // The root index this class entry is in, so that any changes can mark the entry as dirty.
-
- private String className; // The classname for this entry.
-
- private boolean saveOperations; // Flag for saving operations. Once this is set, it will continue to save operations in the cache in addition to everything else.
-
- private long configurationModificationStamp; // Modification stamp of the Eclipse configuration. Used to determine if the cache of override files is out of date due to a config change.
- private boolean overrideCacheExists; // Flag that there is an override cache to load. This is orthogonal to the config mod stamp because it simply means that on the current configuration there is no override cache.
- private transient Resource pendingOverrideResource; // Override resource is waiting to be saved.
-
- protected ClassEntry() {
- }
-
- ClassEntry(RootIndex rootIndex, String className) {
- this.setRootIndex(rootIndex);
- this.className = className;
- modificationStamp = IResource.NULL_STAMP;
- rootIndex.classNameToClassEntry.put(className, this);
- }
-
- /**
- *
- * @return
- *
- * @since 1.1.0
- */
- public String getClassName() {
- return className;
- }
-
- /**
- * Return whether the entry has been deleted. This will never be seen in an entry that is still in an index. It is used for entries that have
- * been removed from the index. It is for classes (such as the BeanInfoClassAdapter) which are holding onto a copy of entry to let them know.
- * <p>
- * Holders of entries should call isDeleted if they don't need to further check the mod stamp. Else they should call getModificationStamp and
- * check of deleted, stale, or mod stamp. That would save extra synchronizations. If entry is deleted then it should throw the entry away.
- *
- * @return <code>true</code> if the entry has been deleted, <code>false</code> if still valid.
- *
- * @see ClassEntry#getModificationStamp()
- * @see ClassEntry#isStale()
- * @see ClassEntry#DELETED_MODIFICATION_STAMP
- * @since 1.1.0
- */
- public boolean isDeleted() {
- return getModificationStamp() == DELETED_MODIFICATION_STAMP;
- }
-
- /**
- * Mark the entry as deleted. It will also be removed from root index in that case.
- * <p>
- * Note: It is public only so that BeanInfoClassAdapter can access it. It should not be called by anyone else outside of BeanInfo.
- */
- public synchronized void markDeleted() {
- if (!isDeleted()) {
- getRootIndex().classNameToClassEntry.remove(className);
- setModificationStamp(DELETED_MODIFICATION_STAMP); // Also marks index as dirty.
- }
- }
-
- /**
- * Return whether the entry is stale or not. This orthoganal to isDeleted. isDeleted will not be true if isStale and isStale will not be true
- * if isDeleted. Normally you should use getModificationStamp and check the value for IResource.NULL_STAMP and other values to bring it down
- * to only one synchronized call to CE, but if only needing to know if stale, you can use this.
- *
- * @return
- *
- * @since 1.1.0
- * @see IResource#NULL_STAMP
- * @see ClassEntry#getModificationStamp()
- * @see ClassEntry#isDeleted()
- */
- public boolean isStale() {
- return getModificationStamp() == IResource.NULL_STAMP;
- }
-
- /**
- * Return the modification stamp. For those holding onto an entry, and they need to know more than if just deleted, then they should just the
- * return value from getModificationStamp. Else they should use isDeleted or isStale.
- *
- * @return modification stamp, or {@link IResource#NULL_STAMP}if stale or not yet created, or {@link ClassEntry#DELETED_MODIFICATION_STAMP}
- * if deleted.
- *
- * @see ClassEntry#isDeleted()
- * @see ClassEntry#isStale()
- * @since 1.1.0
- */
- public synchronized long getModificationStamp() {
- return modificationStamp;
- }
-
- /**
- * Return the super modification stamp.
- * @return
- *
- * @since 1.1.0
- */
- public synchronized long getSuperModificationStamp() {
- return superModificationStamp;
- }
-
- /**
- * Return the interface names or <code>null</code> if no interface names.
- * @return
- *
- * @since 1.1.0
- */
- public synchronized String[] getInterfaceNames() {
- return interfaceNames;
- }
-
- /**
- * Return the interface modification stamps or <code>null</code> if no interfaces.
- * @return
- *
- * @since 1.1.0
- */
- public synchronized long[] getInterfaceModificationStamps() {
- return interfaceModicationStamps;
- }
-
- /*
- * Set the modification stamp. <p> <package-protected> because only the cache controller should set it. @param modificationStamp
- *
- * @since 1.1.0
- */
- void setModificationStamp(long modificationStamp) {
- if (this.modificationStamp != modificationStamp) {
- this.modificationStamp = modificationStamp;
- getRootIndex().setDirty();
- }
- }
-
- /**
- * Answer whether operations are also stored in the cache for this class. By default they are not. Once turned on they
- * will always be stored for this class until the class is deleted.
- *
- * @return <code>true</code> if operations are cached, <code>false</code> if they are not cached.
- *
- * @since 1.1.0
- */
- public synchronized boolean isOperationsStored() {
- return saveOperations;
- }
-
- /*
- * Set the operations stored flag.
- * @param storeOperations
- *
- * @see BeanInfoCacheController.ClassEntry#isOperationsStored()
- * @since 1.1.0
- */
- void setOperationsStored(boolean storeOperations) {
- saveOperations = storeOperations;
- }
-
- /**
- * Get the configuration modification stamp of the last saved override cache.
- *
- * @return
- *
- * @since 1.1.0
- */
- public synchronized long getConfigurationModificationStamp() {
- return configurationModificationStamp;
- }
-
- /*
- * Set the configuration modification stamp.
- * <p> <package-protected> because only the cache controller should access it.
- *
- * @param configurationModificationStamp
- *
- * @since 1.1.0
- */
- void setConfigurationModificationStamp(long configurationModificationStamp) {
- this.configurationModificationStamp = configurationModificationStamp;
- getRootIndex().setDirty();
- }
-
- /**
- * Answer whether there is an override cache available.
- * @return
- *
- * @since 1.1.0
- */
- public synchronized boolean overrideCacheExists() {
- return overrideCacheExists;
- }
-
- /*
- * Set the override cache exists flag.
- * <p> <package-protected> because only the cache controller should access it.
- * @param overrideCacheExists
- *
- * @since 1.1.0
- */
- void setOverrideCacheExists(boolean overrideCacheExists) {
- this.overrideCacheExists = overrideCacheExists;
- }
-
- /**
- * Get the pending resource or <code>null</code> if not pending.
- *
- * @return the pending resource or <code>null</code> if not pending.
- *
- * @since 1.1.0
- */
- public synchronized Resource getPendingResource() {
- return pendingResource;
- }
-
- /*
- * Set the entry. The sequence get,do something,set must be grouped within a synchronized(ClassEntry).
- * <p> <package-protected> because only the cache controller should access it.
- * @param cacheResource The cacheResource to set.
- *
- * @since 1.1.0
- */
- void setPendingResource(Resource pendingResource) {
- this.pendingResource = pendingResource;
- }
-
- /**
- * Get the pending override resource or <code>null</code> if not pending.
- *
- * @return the pending override resource or <code>null</code> if not pending.
- *
- * @since 1.1.0
- */
- public synchronized Resource getPendingOverrideResource() {
- return pendingOverrideResource;
- }
-
- /*
- * Set the entry. The sequence get,do something,set must be grouped within a synchronized(ClassEntry).
- * <p> <package-protected> because only the cache controller should access it.
- * @param cacheResource The cacheResource to set.
- *
- * @since 1.1.0
- */
- void setPendingOverrideResource(Resource pendingOverrideResource) {
- this.pendingOverrideResource = pendingOverrideResource;
- }
-
- /*
- * <package-protected> because only the cache controller should access it. @param rootIndex The rootIndex to set.
- *
- * @since 1.1.0
- */
- void setRootIndex(RootIndex rootIndex) {
- this.rootIndex = rootIndex;
- }
-
- /*
- * <package-protected> because only the cache controller should access it. @return Returns the rootIndex.
- *
- * @since 1.1.0
- */
- RootIndex getRootIndex() {
- return rootIndex;
- }
-
- /*
- * <package-protected> because only the cache controller should access it.
- *
- * @since 1.1.0
- */
- void setSuperModificationStamp(long superModificationStamp) {
- this.superModificationStamp = superModificationStamp;
- }
-
- /*
- * <package-protected> because only the cache controller should access it.
- *
- * @since 1.1.0
- */
- void setInterfaceNames(String[] interfaceNames) {
- this.interfaceNames = interfaceNames;
- }
-
- /*
- * <package-protected> because only the cache controller should access it.
- *
- * @since 1.1.0
- */
- void setInterfaceModificationStamps(long[] interfaceModificationStamps) {
- this.interfaceModicationStamps = interfaceModificationStamps;
- }
-
- }
-
- /*
- * Main index for the external jars. This variable should not be referenced directly except through the getMainIndex() accessor. That controls
- * synchronization and restoration as needed.
- */
- private static Index MAIN_INDEX;
-
- /*
- * Key into the Project's session data for the project index. The Project index is stored in the project's session data. That
- * way when the project is closed or deleted it will go away.
- *
- * The project indexes will be read in as needed on a per-project basis. This variable should not be
- * referenced directly except through the getProjectIndex(IProject) accessor. That controls synchronization and restoration as needed.
- * Only during cleanup and such where we don't want to create one if it doesn't exist you must use sync(this). Be careful to keep
- * the sync small.
- */
- private static final QualifiedName PROJECT_INDEX_KEY = new QualifiedName(BeaninfoPlugin.PI_BEANINFO_PLUGINID, "project_index"); //$NON-NLS-1$
-
- /*
- * Suffix for class cache files.
- */
- private static final String CLASS_CACHE_SUFFIX = ".xmi"; //$NON-NLS-1$
- /*
- * Suffic for class override cache files.
- */
- private static final String OVERRIDE_CACHE_SUFFIX = ".override.xmi"; //$NON-NLS-1$
-
- /**
- * Return the current class entry for the JavaClass, or <code>null</code> if no current entry.
- *
- * @param jclass
- * @return class entry or <code>null</code> if no current entry.
- *
- * @since 1.1.0
- */
- public ClassEntry getClassEntry(JavaClass jclass) {
- IType type = (IType) jclass.getReflectionType();
- RootIndex rootIndex = getRootIndex(type);
- String className = jclass.getQualifiedNameForReflection();
- return getClassEntry(rootIndex, className, false);
- }
-
- /**
- * Enumeration for newCache: Signals that this cache is the Reflection Cache with no operations in it.
- * @since 1.1.0
- */
- public final static int REFLECTION_CACHE = 1;
- /**
- * Enumeration for newCache: Signals that this cache is the Reflection Cache with operations in it.
- * @since 1.1.0
- */
- public final static int REFLECTION_OPERATIONS_CACHE = 2;
- /**
- * Enumeration for newCache: Signals that this cache is the Overrides cache.
- * @since 1.1.0
- */
- public final static int OVERRIDES_CACHE = 3;
- /**
- * A new cache entry for the given class has been created. Need to write it out.
- *
- * @param jclass
- * the JavaClass the cache is for.
- * @param cache
- * the ChangeDescription to put out if cacheType is Reflection types, a List if override cache type.
- * @param cacheType
- * {@link BeanInfoCacheController.ClassEntry#REFLECTION_CACHE} for the enum values.
- * @return new class entry (or old one if same one). Should always replace one being held by this one. <code>null</code> if cache could not be
- * updated for some reason.
- * @since 1.1.0
- */
- public ClassEntry newCache(JavaClass jclass, Object cache, int cacheType) {
- if (BeaninfoPlugin.getPlugin().getLogger().isLoggingLevel(Level.FINER)) {
- Logger logger = BeaninfoPlugin.getPlugin().getLogger();
- String type = cacheType!=OVERRIDES_CACHE?"Class":"Overrides"; //$NON-NLS-1$ //$NON-NLS-2$
- if (cacheType == OVERRIDES_CACHE && cache == null)
- type+=" empty"; //$NON-NLS-1$
- logger.log("Creating cache for class "+jclass.getQualifiedNameForReflection()+" cache type="+type, Level.FINER); //$NON-NLS-1$ //$NON-NLS-2$
- }
- ChangeDescription cd = null;
- if (cacheType != OVERRIDES_CACHE) {
- // First go through the cd and remove any empty changes. This is because we created the feature change before we knew what went into
- // it, and at times nothing goes into it.
- cd = (ChangeDescription) cache;
- for (Iterator iter = cd.getObjectChanges().iterator(); iter.hasNext();) {
- EObjectToChangesMapEntryImpl fcEntry = (EObjectToChangesMapEntryImpl) iter.next();
- if (((List) fcEntry.getValue()).isEmpty())
- iter.remove(); // Empty changes, remove it.
- }
- }
- IType type = (IType) jclass.getReflectionType();
- RootIndex rootIndex = getRootIndex(type);
- String className = jclass.getQualifiedNameForReflection();
- ClassEntry ce = getClassEntry(rootIndex, className, true); // Create it if not existing.
- // Sync on ce so that only can create a cache for a class at a time and so that writing (if occurring at the same time for the class) can be
- // held up.
- // this is a violation of the agreement to only sync on THIS, but it is necessary or else the write job would lock everything out while it is
- // writing. This way it only locks out one class, if the class is at the same time.
- // We shouldn't have deadlock because here we lock ce and then THIS (maybe). The write job will lock ce, and then lock THIS. Everywhere else
- // we must
- // also do lock ce then THIS. Mustn't do other way around or possibility of deadlock. Be careful that any synchronized methods in this class
- // do
- // not lock an existing ce.
- ResourceSet cacheRset = null;
- synchronized (ce) {
- Resource cres;
- if (cacheType != OVERRIDES_CACHE) {
- cres = ce.getPendingResource();
- if (cres != null) {
- // We have a pending, so clear and reuse the resource.
- cres.getContents().clear();
- } else {
- // Not currently writing or waiting to write, so create a new resource.
- cres = jclass.eResource().getResourceSet().createResource(
- URI.createFileURI(rootIndex.getCachePath().append(className + CLASS_CACHE_SUFFIX).toString()));
- }
- cacheRset = cres.getResourceSet();
- ce.setOperationsStored(cacheType == REFLECTION_OPERATIONS_CACHE);
- ce.setPendingResource(cres);
- cres.getContents().add(cd);
- // Archives use same mod as archive (retrieve from rootindex), while non-archive use the underlying resource's mod stamp.
- if (rootIndex.isArchiveRoot())
- ce.setModificationStamp(((ArchiveRootIndex) rootIndex).getArchiveModificationStamp());
- else {
- try {
- ce.setModificationStamp(type.getUnderlyingResource().getModificationStamp());
- } catch (JavaModelException e) {
- BeaninfoPlugin.getPlugin().getLogger().log(e);
- ce.markDeleted(); // Mark as deleted in case this was an existing that someone is holding.
- return null; // Couldn't do it, throw cache entry away. This actually should never occur.
- }
- }
- // Need to get the supers info.
- List supers = jclass.getESuperTypes();
- if (!supers.isEmpty()) {
- // We assume that they all have been introspected. This was done back in main introspection. If they are introspected they will have a class entry.
- BeaninfoClassAdapter bca = BeaninfoClassAdapter.getBeaninfoClassAdapter((EObject) supers.get(0));
- ce.setSuperModificationStamp(bca.getClassEntry().getModificationStamp());
- if(supers.size() == 1) {
- ce.setInterfaceNames(null);
- ce.setInterfaceModificationStamps(null);
- } else {
- String[] interNames = new String[supers.size()-1];
- long[] interMods = new long[interNames.length];
- for (int i = 1, indx = 0; i < interNames.length; i++, indx++) {
- JavaClass javaClass = (JavaClass) supers.get(i);
- bca = BeaninfoClassAdapter.getBeaninfoClassAdapter(javaClass);
- bca.introspectIfNecessary(); // Force introspection to get a valid super mod stamp.
- interNames[indx] = javaClass.getQualifiedNameForReflection();
- interMods[indx] = bca.getClassEntry().getModificationStamp();
- }
- ce.setInterfaceNames(interNames);
- ce.setInterfaceModificationStamps(interMods);
- }
- } else {
- ce.setSuperModificationStamp(IResource.NULL_STAMP);
- ce.setInterfaceNames(null);
- ce.setInterfaceModificationStamps(null);
- }
- } else {
- // We are an override cache.
- if (cache != null) {
- cres = ce.getPendingOverrideResource();
- if (cres != null) {
- // We have a pending, so clear and reuse the resource.
- cres.getContents().clear();
- } else {
- // Not currently writing or waiting to write, so create a new resource.
- cres = jclass.eResource().getResourceSet().createResource(
- URI.createFileURI(rootIndex.getCachePath().append(className + OVERRIDE_CACHE_SUFFIX).toString()));
- }
- cacheRset = cres.getResourceSet();
- cres.getContents().addAll((List) cache);
- ce.setPendingOverrideResource(cres);
- ce.setOverrideCacheExists(true);
- } else {
- ce.setPendingOverrideResource(null);
- ce.setOverrideCacheExists(false);
- }
- ce.setConfigurationModificationStamp(Platform.getPlatformAdmin().getState(false).getTimeStamp());
- }
- }
- queueClassEntry(ce, cacheRset); // Now queue it up.
- return ce;
- }
-
- /**
- * Get the cache resource for the given java class.
- * <p>
- * NOTE: It is the responsibility of the caller to ALWAYS remove the Resource from its resource set when done with it.
- *
- * @param jclass
- * @param ce the class entry for the jclass
- * @param reflectCache <code>true</code> if this the reflection/introspection cache or <code>false</code> if this is the override cache.
- * @return the loaded cache resource, or <code>null</code> if not there (for some reason) or an error trying to load it.
- *
- * @since 1.1.0
- */
- public Resource getCache(JavaClass jclass, ClassEntry ce, boolean reflectCache) {
- String className = jclass.getQualifiedNameForReflection();
- if (BeaninfoPlugin.getPlugin().getLogger().isLoggingLevel(Level.FINER)) {
- Logger logger = BeaninfoPlugin.getPlugin().getLogger();
- String type = reflectCache?"Class":"Overrides"; //$NON-NLS-1$ //$NON-NLS-2$
- logger.log("Loading cache for class "+className+" cache type="+type, Level.FINER); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- if (reflectCache) {
- boolean waitForJob = false;
- synchronized (ce) {
- if (ce.getPendingResource() != null) {
- // We have one pending. So wait until write cache job is done, and then load it in.
- // Note: Can't just copy the pending resource because it has references to JavaClasses
- // and these could be in a different project (since this could be a workspace wide class).
- // We would get the wrong java classes then when we apply it.
- waitForJob = true;
- if (BeaninfoPlugin.getPlugin().getLogger().isLoggingLevel(Level.FINER))
- BeaninfoPlugin.getPlugin().getLogger().log("Using pending class cache.", Level.FINER); //$NON-NLS-1$
- }
- }
- if (waitForJob)
- waitForCacheSaveJob();
-
- try {
- return jclass.eResource().getResourceSet().getResource(
- URI.createFileURI(ce.getRootIndex().getCachePath().append(
- className + CLASS_CACHE_SUFFIX).toString()), true);
- } catch (Exception e) {
- // Something happened and couldn't load it.
- // TODO - need to remove the Level.INFO arg when the beaninfo cache is working dynamically
- BeaninfoPlugin.getPlugin().getLogger().log(e, Level.INFO);
- return null;
- }
- } else {
- boolean waitForJob = false;
- synchronized (ce) {
- if (ce.getPendingOverrideResource() != null) {
- // We have one pending. So wait until write cache job is done, and then load it in.
- // Note: Can't just copy the pending resource because it has references to JavaClasses
- // and these could be in a different project (since this could be a workspace wide class).
- // We would get the wrong java classes then when we apply it.
- waitForJob = true;
- if (BeaninfoPlugin.getPlugin().getLogger().isLoggingLevel(Level.FINER))
- BeaninfoPlugin.getPlugin().getLogger().log("Using pending override cache.", Level.FINER); //$NON-NLS-1$
- }
- }
- if (waitForJob)
- waitForCacheSaveJob();
-
- try {
- return jclass.eResource().getResourceSet().getResource(
- URI.createFileURI(ce.getRootIndex().getCachePath().append(
- className + OVERRIDE_CACHE_SUFFIX).toString()), true);
- } catch (Exception e) {
- // Something happened and couldn't load it.
- // TODO - need to remove the Level.INFO arg when the beaninfo cache is working dynamically
- BeaninfoPlugin.getPlugin().getLogger().log(e, Level.INFO);
- return null;
- }
- }
- }
-
- private synchronized ClassEntry getClassEntry(RootIndex rootIndex, String className, boolean createEntry) {
- ClassEntry ce = (ClassEntry) rootIndex.classNameToClassEntry.get(className);
- if (createEntry && ce == null) {
- // Need to create one.
- ce = new ClassEntry(rootIndex, className);
- // Don't actually mark the rootIndex dirty until the cache for it is actually saved out.
- }
- return ce;
- }
-
- private static final String ROOT_PREFIX = "root"; //$NON-NLS-1$
-
- /*
- * Get the root index for the appropriate cache for the given java class.
- */
- private RootIndex getRootIndex(IType type) {
- IPackageFragmentRoot root = (IPackageFragmentRoot) type.getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT);
- if (!root.isExternal()) {
- // So it is in a project. Get the project index.
- return getRootIndex(root, root.getJavaProject().getProject());
- } else {
- // It is an external jar (archive), so needs to come from main index, no project.
- return getRootIndex(root, null);
- }
- }
-
- /*
- * Get the root index for the given root. A Project index if project is not null.
- */
- private synchronized RootIndex getRootIndex(IPackageFragmentRoot root, IProject project) {
- Index index = project != null ? getProjectIndex(project) : getMainIndex();
- IPath rootPath = root.getPath();
- RootIndex rootIndex = (RootIndex) index.rootToRootIndex.get(rootPath);
- if (rootIndex == null) {
- // Need to do a new root path.
- String rootName = ROOT_PREFIX + (++index.highRootNumber);
- rootIndex = root.isArchive() ? createArchiveRootIndex(root, rootName, index) : new FolderRootIndex(rootName, index);
- index.rootToRootIndex.put(rootPath, rootIndex);
- // Don't set index dirty until we actually save a class cache file. Until then it only needs to be in memory.
- }
- rootIndex.setupIndex(project); // Set it up, or may already be set, so it will do nothing in that case.
- return rootIndex;
- }
-
- /*
- * Create an archive root with the given root number and root.
- */
- private RootIndex createArchiveRootIndex(IPackageFragmentRoot rootArchive, String rootName, Index index) {
- long modStamp = IResource.NULL_STAMP;
- if (rootArchive.isExternal()) {
- modStamp = rootArchive.getPath().toFile().lastModified();
- } else {
- try {
- modStamp = rootArchive.getUnderlyingResource().getModificationStamp();
- } catch (JavaModelException e) {
- BeaninfoPlugin.getPlugin().getLogger().log(e);
- }
- }
- return new ArchiveRootIndex(rootName, modStamp, index);
- }
-
- private static final String INDEXFILENAME = ".index"; //$NON-NLS-1$
-
- private static final String CACHEDIR = ".cache"; // Cache directory (so as not to conflict with any future BeanInfo Plugin specific data files. //$NON-NLS-1$
-
- /*
- * Get the cache directory for the project (or if project is null, the main plugin cache directory).
- */
- // TODO: make this one private
- public static IPath getCacheDir(IProject project) {
- if (project != null)
- return project.getWorkingLocation(BeaninfoPlugin.getPlugin().getBundle().getSymbolicName()).append(CACHEDIR);
- else
- return BeaninfoPlugin.getPlugin().getStateLocation().append(CACHEDIR);
- }
-
- /*
- * Get the project index. Synchronized so that we can create it if necessary and not get race conditions.
- */
- private synchronized Index getProjectIndex(IProject project) {
- try {
- Index index = (Index) project.getSessionProperty(PROJECT_INDEX_KEY);
- if (index == null) {
- // Read the index in.
- File indexDirFile = getCacheDir(project).append(INDEXFILENAME).toFile();
- if (indexDirFile.canRead()) {
- ObjectInputStream ois = null;
- try {
- ois = new ObjectInputStream(new BufferedInputStream(new FileInputStream(indexDirFile)));
- index = (Index) ois.readObject();
- } catch (IOException e) {
- BeaninfoPlugin.getPlugin().getLogger().log(e);
- } catch (ClassNotFoundException e) {
- BeaninfoPlugin.getPlugin().getLogger().log(e);
- } finally {
- if (ois != null)
- try {
- ois.close();
- } catch (IOException e) {
- BeaninfoPlugin.getPlugin().getLogger().log(e);
- }
- }
- }
-
- if (index == null) {
- // Doesn't yet exist or it couldn't be read for some reason, or it was downlevel cache in which case we just throw it away and create
- // new).
- index = new Index();
- index.highRootNumber = 0;
- index.rootToRootIndex = new HashMap();
- }
-
- project.setSessionProperty(PROJECT_INDEX_KEY, index); // We either created a new one, or we were able to load it.
- }
- return index;
- } catch (CoreException e) {
- // Shouldn't occur,
- return null;
- }
- }
-
- /*
- * Get the main index. Synchronized so that we can create it if necessary and not get race conditions.
- */
- private synchronized Index getMainIndex() {
- if (MAIN_INDEX == null) {
- // Read the index in.
- File indexDirFile = getCacheDir(null).append(INDEXFILENAME).toFile();
- if (indexDirFile.canRead()) {
- ObjectInputStream ois = null;
- try {
- ois = new ObjectInputStream(new BufferedInputStream(new FileInputStream(indexDirFile)));
- MAIN_INDEX = (Index) ois.readObject();
- } catch (IOException e) {
- BeaninfoPlugin.getPlugin().getLogger().log(e);
- } catch (ClassNotFoundException e) {
- BeaninfoPlugin.getPlugin().getLogger().log(e);
- } finally {
- if (ois != null)
- try {
- ois.close();
- } catch (IOException e) {
- BeaninfoPlugin.getPlugin().getLogger().log(e);
- }
- }
- }
-
- if (MAIN_INDEX == null) {
- // Doesn't yet exist or it couldn't be read for some reason, or it was downlevel cache in which case we just throw it away and create
- // new).
- MAIN_INDEX = new Index();
- MAIN_INDEX.highRootNumber = 0;
- MAIN_INDEX.rootToRootIndex = new HashMap();
- }
-
- }
- return MAIN_INDEX;
- }
-
- // -------------- Save Participant code -----------------
-
- protected class SaveParticipant implements ISaveParticipant {
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.core.resources.ISaveParticipant#doneSaving(org.eclipse.core.resources.ISaveContext)
- */
- public void doneSaving(ISaveContext context) {
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.core.resources.ISaveParticipant#prepareToSave(org.eclipse.core.resources.ISaveContext)
- */
- public void prepareToSave(ISaveContext context) throws CoreException {
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.core.resources.ISaveParticipant#rollback(org.eclipse.core.resources.ISaveContext)
- */
- public void rollback(ISaveContext context) {
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.core.resources.ISaveParticipant#saving(org.eclipse.core.resources.ISaveContext)
- */
- public void saving(ISaveContext context) throws CoreException {
- boolean fullsave = false;
- switch (context.getKind()) {
- case ISaveContext.PROJECT_SAVE:
- IProject project = context.getProject();
- synchronized (BeanInfoCacheController.INSTANCE) {
- // Write the index. The cache save job will eventually run and at that point write out the pending cache files too.
- // They don't need to be written before the project save is complete.
- Index projectIndex = (Index) project.getSessionProperty(PROJECT_INDEX_KEY);
- if (projectIndex != null && projectIndex.isDirty())
- if (reconcileIndexDirectory(project, projectIndex))
- writeIndex(project, projectIndex);
- else {
- // It was empty, just get rid of the index. The directories have already been cleared.
- projectIndex.markDead();
- project.setSessionProperty(PROJECT_INDEX_KEY, null);
- }
- }
- break;
- case ISaveContext.FULL_SAVE:
- fullsave = true;
- waitForCacheSaveJob();
- // Now flow into the snapshot save to complete the fullsave.
- case ISaveContext.SNAPSHOT:
- // For a snapshot, just the dirty indexes, no clean up. If fullsave, cleanup the indexes, but only save the dirty.
- synchronized (BeanInfoCacheController.INSTANCE) {
- if (MAIN_INDEX != null) {
- if (fullsave) {
- if (reconcileIndexDirectory(null, MAIN_INDEX)) {
- if (MAIN_INDEX.isDirty())
- writeIndex(null, MAIN_INDEX);
- } else {
- // It was empty, just get rid of the index. The directories have already been cleared.
- MAIN_INDEX.markDead();
- MAIN_INDEX = null;
- }
- } else if (MAIN_INDEX.isDirty())
- writeIndex(null, MAIN_INDEX);
- }
- // Now do the project indexes. We have to walk all open projects to see which have an index. Since we are
- // doing a major save, the hit will ok
- IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
- for (int i=0; i<projects.length; i++) {
- project = projects[i];
- if (project.isOpen()) {
- Index index = (Index) project.getSessionProperty(PROJECT_INDEX_KEY);
- if (index != null) {
- if (fullsave) {
- if (reconcileIndexDirectory(project, index)) {
- if (index.isDirty())
- writeIndex(project, index);
- } else {
- // It was empty, just get rid of the index from memory. It has already been deleted from disk.
- index.markDead();
- project.setSessionProperty(PROJECT_INDEX_KEY, null);
- }
- } else if (index.isDirty())
- writeIndex(project, index);
- }
- }
- }
- }
- }
- }
-
- /*
- * Write an index. Project if not null indicates a project index.
- */
- private void writeIndex(IProject project, Index index) {
- ObjectOutputStream oos = null;
- try {
- File indexDirFile = getCacheDir(project).toFile();
- indexDirFile.mkdirs();
- File indexFile = new File(indexDirFile, INDEXFILENAME);
- oos = new ObjectOutputStream(new BufferedOutputStream(new FileOutputStream(indexFile)));
- oos.writeObject(index);
- index.setDirty(false);
- } catch (IOException e) {
- BeaninfoPlugin.getPlugin().getLogger().log(e);
- } finally {
- if (oos != null)
- try {
- oos.close();
- } catch (IOException e) {
- BeaninfoPlugin.getPlugin().getLogger().log(e);
- }
- }
- }
-
- /*
- * Reconcile the index directory of unused (empty) root directories. If after reconciling the index is empty, then it will delete the index file too. @return
- * true if index not empty, false if index was empty and was erased too.
- */
- private boolean reconcileIndexDirectory(IProject project, Index index) {
- // clean out unused rootIndexes
- File indexDir = getCacheDir(project).toFile();
- if (indexDir.canWrite()) {
- // Create a set of all root names for quick look up.
- if (index.rootToRootIndex.isEmpty()) {
- // It is empty, clear everything, including index file.
- cleanDirectory(indexDir, false);
- return false;
- } else {
- // Need a set of the valid rootnames for quick lookup of names in the directory list.
- // And while accumulating this list, clean out the root indexes cache too (i.e. the class cache files).
- final Set validFiles = new HashSet(index.rootToRootIndex.size());
- validFiles.add(INDEXFILENAME);
- for (Iterator itr = index.rootToRootIndex.values().iterator(); itr.hasNext();) {
- RootIndex rootIndex = (RootIndex) itr.next();
- if (reconcileClassCacheDirectory(rootIndex, project)) {
- // The class cache has been reconciled, and there are still some classes left, so keep the root index.
- validFiles.add(rootIndex.getRootName());
- } else {
- itr.remove(); // The root index is empty, so get rid of it. Since not a valid name, it will be deleted in next step.
- index.setDirty(true); // Also set it dirty in case it wasn't because we need to write out the container Index since it was
- // changed.
- }
- }
- // Get list of files and delete those that are not a valid name (used root name, or index file)
- String[] fileNames = indexDir.list();
- for (int i = 0; i < fileNames.length; i++) {
- if (!validFiles.contains(fileNames[i])) {
- File file = new File(indexDir, fileNames[i]);
- if (file.isDirectory())
- cleanDirectory(file, true);
- else
- file.delete();
- }
- }
- return true;
- }
- } else
- return true; // Can't write, so treat as leave alone.
- }
-
- /*
- * Reconcile the class cache directory for the root index. Return true if reconciled good but not empty. Return false if the class cache
- * directory is now empty. In this case we should actually get rid of the entire root index. This makes sure that the directory matches
- * the contents of the index by removing any file not found in the index.
- */
- private boolean reconcileClassCacheDirectory(RootIndex rootIndex, IProject project) {
- if (rootIndex.classNameToClassEntry.isEmpty())
- return false; // There are no classes, so get rid the entire root index.
- else {
- final Set validFiles = rootIndex.classNameToClassEntry.keySet(); // The keys (classnames) are the filenames (without extension)
- // that
- // should be kept.
- File indexDir = getCacheDir(project).append(rootIndex.getRootName()).toFile();
- // Get list of files that are not a valid name (used classname)
- String[] fileNames = indexDir.list();
- if (fileNames != null) {
- for (int i = 0; i < fileNames.length; i++) {
- String fileName = fileNames[i];
- if (fileName.endsWith(OVERRIDE_CACHE_SUFFIX)) {
- // Ends with out class cache extension, see if valid classname.
- String classname = fileName.substring(0, fileName.length() - OVERRIDE_CACHE_SUFFIX.length());
- ClassEntry ce = (ClassEntry) rootIndex.classNameToClassEntry.get(classname);
- if (ce != null && ce.overrideCacheExists())
- continue; // It is one of ours. Keep it.
- } else if (fileName.endsWith(CLASS_CACHE_SUFFIX)) {
- // Ends with out class cache extension, see if valid classname.
- if (validFiles.contains(fileName.substring(0, fileName.length() - CLASS_CACHE_SUFFIX.length()))) // Strip down to just
- // class and see if
- // one of ours.
- continue; // It is one of ours. Keep it.
- }
- // Not valid, get rid of it.
- File file = new File(indexDir, fileName);
- if (file.isDirectory())
- cleanDirectory(file, true);
- else
- file.delete();
-
- }
- }
- return true;
- }
- }
- }
-
- private static void cleanDirectory(File dir, boolean eraseDir) {
- if (dir.canWrite()) {
- File[] files = dir.listFiles();
- for (int i = 0; i < files.length; i++) {
- if (files[i].isDirectory())
- cleanDirectory(files[i], true);
- else
- files[i].delete();
- }
- if (eraseDir)
- dir.delete();
- }
- }
-
- //-------------- Save Class Cache Entry Job -------------------
- // This is write queue for class caches. It is a FIFO queue. It is sychronized so that adds/removes are controlled.
- // Entries are ClassEntry's. The class entry has the resource that needs to be written out. It will be set to null
- // by the job when it is written. The job will have a ClassEntry locked while it is retrieving and resetting the resource
- // field in the entry.
- //
- // The process is the new cache will lock, create resource, set resource into the CE and release lock. Then add the CE to the queue
- // and schedule the job (in case job is not running).
- //
- // The job will lock the CE, get resource from the CE, write it out, set it back to null, release the CE). If the resource is null,
- // then it was already processed (this could happen if the job didn't get a chance to save it before another entry was posted
- // and this is the second request and it was actually processed by the first request).
- // IE:
- // 1) resource created, queue entry added
- // 2) 2nd req, job not processed yet, resource recreated and put back into CE, new queue entry.
- // 3) job pulls from queue, locks ce, grabs resource, writes out the resource, sets back to null, release ce.
- // 4) job pulls from queue. This time the resoure is null so it skips it.
- //
- // Need to lock Ce during entire create and write because the resource set is not reentrant so can't be writing it while creating it.
-
- private List cacheWriteQueue = null;
-
- void waitForCacheSaveJob() {
- // For a full save we want to get the class cache files written too, so we need to manipulate the job to get it to finish ASAP.
- if (cacheWriteJob != null) {
- if (BeaninfoPlugin.getPlugin().getLogger().isLoggingLevel(Level.FINER))
- BeaninfoPlugin.getPlugin().getLogger().log("Forcing a cache save job to start early.", Level.FINER); //$NON-NLS-1$
- switch (cacheWriteJob.getState()) {
- case Job.SLEEPING:
- // It could be waiting a long time, so we need to wake it up at a high priority to get it running ASAP.
- cacheWriteJob.setPriority(Job.INTERACTIVE); // Need to get it going right away
- cacheWriteJob.wakeUp();
- // Now drop into the wait.
- default:
- // Now wait for it (if not running this will return right away).
- try {
- cacheWriteJob.join();
- } catch (InterruptedException e) {
- }
- }
- }
- }
-
- static final Map SAVE_CACHE_OPTIONS;
- static {
- SAVE_CACHE_OPTIONS = new HashMap(3);
- SAVE_CACHE_OPTIONS.put(XMLResource.OPTION_SAVE_TYPE_INFORMATION, Boolean.TRUE);
- SAVE_CACHE_OPTIONS.put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
- SAVE_CACHE_OPTIONS.put(XMLResource.OPTION_ENCODING, "UTF-8"); //$NON-NLS-1$
- }
-
- protected Job cacheWriteJob = null;
- protected Adapter projectReleaseAdapter = new AdapterImpl() {
-
- /* (non-Javadoc)
- * @see org.eclipse.emf.common.notify.impl.AdapterImpl#isAdapterForType(java.lang.Object)
- */
- public boolean isAdapterForType(Object type) {
- return type == BeanInfoCacheController.this; // We're making the BeanInfoCacheController.this be the adapter type.
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.emf.common.notify.impl.AdapterImpl#notifyChanged(org.eclipse.emf.common.notify.Notification)
- */
- public void notifyChanged(Notification msg) {
- if (msg.getEventType() == ProjectResourceSet.SPECIAL_NOTIFICATION_TYPE && msg.getFeatureID(BeanInfoCacheController.class) == ProjectResourceSet.PROJECTRESOURCESET_ABOUT_TO_RELEASE_ID) {
- // This is an about to be closed. If we have an active write job, bring it up to top priority and wait for it to finish.
- // This will make sure any resources in the project are written. There may not be any waiting, but this is doing a close
- // project, which is slow already relatively speaking, that waiting for the cache write job to finish is not bad.
- waitForCacheSaveJob();
- }
- }
- };
-
- private void queueClassEntry(ClassEntry ce, ResourceSet rset) {
- if (cacheWriteQueue == null) {
- cacheWriteQueue = Collections.synchronizedList(new LinkedList());
- cacheWriteJob = new Job(BeaninfoCoreMessages.BeanInfoCacheController_Job_WriteBeaninfoCache_Title) {
-
- protected IStatus run(IProgressMonitor monitor) {
- monitor.beginTask("", cacheWriteQueue.size() + 10); // This is actually can change during the run, so we add 10 for the heck of it. //$NON-NLS-1$
- if (BeaninfoPlugin.getPlugin().getLogger().isLoggingLevel(Level.FINER))
- BeaninfoPlugin.getPlugin().getLogger().log("Starting write BeanInfo Cache files.", Level.FINER); //$NON-NLS-1$
- while (!monitor.isCanceled() && !cacheWriteQueue.isEmpty()) {
- ClassEntry ce = (ClassEntry) cacheWriteQueue.remove(0); // Get first one.
- boolean dead = false;
- synchronized (BeanInfoCacheController.this) {
- if (ce.getRootIndex().getIndex().isDead()) {
- dead = true; // The index is dead, so don't write it. We still need to go through and get the pending resource out of its resource set so that it goes away.
- }
- }
- synchronized (ce) {
- Resource cres = ce.getPendingResource();
- if (cres != null) {
- try {
- if (!dead)
- cres.save(SAVE_CACHE_OPTIONS);
- } catch (IOException e) {
- BeaninfoPlugin.getPlugin().getLogger().log(e);
- } finally {
- // Remove the resource from resource set, clear out the pending.
- cres.getResourceSet().getResources().remove(cres);
- ce.setPendingResource(null);
- }
- }
- cres = ce.getPendingOverrideResource();
- if (cres != null) {
- try {
- if (!dead)
- cres.save(SAVE_CACHE_OPTIONS);
- } catch (IOException e) {
- BeaninfoPlugin.getPlugin().getLogger().log(e);
- } finally {
- // Remove the resource from resource set, clear out the pending.
- cres.getResourceSet().getResources().remove(cres);
- ce.setPendingOverrideResource(null);
- }
- }
-
- monitor.worked(1);
- }
- }
- monitor.done();
- if (BeaninfoPlugin.getPlugin().getLogger().isLoggingLevel(Level.FINER))
- BeaninfoPlugin.getPlugin().getLogger().log("Finished write BeanInfo Cache files.", Level.FINER); //$NON-NLS-1$
- return Status.OK_STATUS;
- }
- };
- cacheWriteJob.setPriority(Job.SHORT);
- cacheWriteJob.setSystem(true);
- }
- if (rset != null && EcoreUtil.getExistingAdapter(rset, this) == null) {
- // If it is a project resource set, then add ourselves as listeners so we know when released.
- if (rset instanceof ProjectResourceSet)
- rset.eAdapters().add(projectReleaseAdapter);
- }
- cacheWriteQueue.add(ce);
- cacheWriteJob.schedule(60 * 1000L); // Put off for 1 minute to let other stuff go on. Not important that it happens immediately.
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/BeanInfoContributorAdapter.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/BeanInfoContributorAdapter.java
deleted file mode 100644
index d8294f0a6..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/BeanInfoContributorAdapter.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: BeanInfoContributorAdapter.java,v $
- * $Revision: 1.6 $ $Date: 2005/05/18 20:59:17 $
- */
-package org.eclipse.jem.internal.beaninfo.core;
-
-import java.io.FileNotFoundException;
-
-import org.eclipse.core.resources.IResourceStatus;
-import org.eclipse.core.runtime.*;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.common.util.WrappedException;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.osgi.framework.Bundle;
-
-import org.eclipse.jem.internal.beaninfo.core.BeaninfoPlugin.IContributorOverrideRunnable;
-import org.eclipse.jem.internal.proxy.core.IConfigurationContributionInfo;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.util.plugin.JEMUtilPlugin;
-
-
-/**
- * A default implementation of IBeanInfoContributor for users to subclass. Default does nothing.
- * <p>
- * But this does supply several very useful utility methods.
- *
- * @since 1.0.0
- */
-public class BeanInfoContributorAdapter implements IBeanInfoContributor {
-
- /**
- * An empty array of BeaninfoEntry. Available for subclasses to return if they
- * decide there is nothing to return.
- */
- public static final BeaninfoEntry[] EMPTY_BEANINFO_ENTRIES = new BeaninfoEntry[0];
-
- /**
- * Return true if the given fragment is part of the package. Used by subclasses to determine
- * if a override associated with a given fragment should be used for the package.
- * <p>
- * In other words, <code>org.eclipse</code> as a fragment and and <code>org.eclipse.core</code> as
- * a packagePath will answer true, but if you swapped them it will answer false.
- *
- * @param fragment
- * @param packagePath
- * @return <code>true</code> if the given fragment is a leading part of the package.
- *
- * @since 1.0.0
- */
- protected boolean isFragment(IPath fragment, IPath packagePath) {
- return fragment.isPrefixOf(packagePath);
- }
-
- /**
- * Return the unmatched portion of the package path from a fragment. Used by subclasses
- * to get the part of the package path that is after the fragment. This is then used to
- * append to the path from the override to get the full path to override files for this
- * package.
- * <p>
- * This will return the part of the packagePath that is not matched by the fragment.
- * <p>
- * Note: It is important that the fragment and packagePath have first been tested through
- * isFragment. Otherwise an invalid result will be returned.
- *
- * @param fragment
- * @param packagePath
- * @return the part of the package path not matched.
- *
- * @see BeanInfoContributorAdapter#isFragment(IPath, IPath)
- * @since 1.0.0
- */
- protected String getUnmatchedPath(IPath fragment, IPath packagePath) {
- return fragment.removeFirstSegments(packagePath.segmentCount()).toString();
- }
-
- /**
- * Subclasses can use this helper method to get the override resource from the given (plugin) bundle.
- *
- * @param bundle the bundle to use.
- * @param relativePath path of file relative to the plugin.
- * @param resource set to load into.
- * @param runnable the runnable that is being used for the override. It is used to determine if resource already used once.
- * @return the resource or <code>null</code> if couldn't be loaded or if it was already used once.
- *
- * @since 1.0.0
- */
- protected Resource loadOverrideResource(Bundle bundle, String relativePath, ResourceSet rset, BeaninfoPlugin.IContributorOverrideRunnable runnable) {
- URI uri = URI.createURI(JEMUtilPlugin.PLATFORM_PROTOCOL+":/"+JEMUtilPlugin.PLATFORM_PLUGIN+'/'+bundle.getSymbolicName()+'/'+relativePath); //$NON-NLS-1$
- if (runnable.resourceContributed(uri))
- return null; // Already contributed once.
- Resource result = null;
- try {
- result = rset.getResource(uri, true);
- } catch (WrappedException e) {
- // FileNotFoundException is ok
- if (!(e.exception() instanceof FileNotFoundException)) {
- if (e.exception() instanceof CoreException
- && ((CoreException) e.exception()).getStatus().getCode() == IResourceStatus.RESOURCE_NOT_FOUND) {
- // This is ok. Means uri_mapping not set so couldn't find in Workspace, also ok.
- } else {
- BeaninfoPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, BeaninfoPlugin.PI_BEANINFO_PLUGINID, 0, "Error loading file\"" + uri + "\"", e.exception())); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
- // In case it happened after creating resource but during load. Need to get rid of it in the finally.
- result = null;
- Resource res = rset.getResource(uri, false);
- if (res != null)
- rset.getResources().remove(res);
- } catch (Exception e) {
- // Couldn't load it for some reason.
- BeaninfoPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, BeaninfoPlugin.PI_BEANINFO_PLUGINID, 0, "Error loading file\"" + uri + "\"", e)); //$NON-NLS-1$ //$NON-NLS-2$
- // In case it happened after creating resource but during load. Need to get rid of it in the finally.
- result = null;
- Resource res = rset.getResource(uri, false);
- if (res != null)
- rset.getResources().remove(res);
- };
- return result;
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.beaninfo.core.IBeanInfoContributor#getBeanInfoEntryContributions(org.eclipse.jem.internal.proxy.core.IConfigurationContributionInfo)
- */
- public BeaninfoEntry[] getBeanInfoEntryContributions(IConfigurationContributionInfo info) {
- return EMPTY_BEANINFO_ENTRIES;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.beaninfo.core.IBeanInfoContributor#runOverrides(org.eclipse.core.runtime.IPath, java.lang.String, org.eclipse.jem.java.JavaClass, org.eclipse.emf.ecore.resource.ResourceSet, org.eclipse.jem.internal.beaninfo.core.BeaninfoPlugin.IContributorOverrideRunnable)
- */
- public void runOverrides(IPath packagePath, String className, JavaClass javaClass, ResourceSet rset, IContributorOverrideRunnable runnable) {
- // Default is do nothing
- }
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/BeaninfoCoreMessages.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/BeaninfoCoreMessages.java
deleted file mode 100644
index 2dd5656a6..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/BeaninfoCoreMessages.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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.beaninfo.core;
-
-import org.eclipse.osgi.util.NLS;
-
-public final class BeaninfoCoreMessages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.jem.internal.beaninfo.core.messages";//$NON-NLS-1$
-
- private BeaninfoCoreMessages() {
- // Do not instantiate
- }
-
- public static String BeanInfoCacheController_Job_WriteBeaninfoCache_Title;
-
- static {
- NLS.initializeMessages(BUNDLE_NAME, BeaninfoCoreMessages.class);
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/BeaninfoEntry.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/BeaninfoEntry.java
deleted file mode 100644
index 619f19bd9..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/BeaninfoEntry.java
+++ /dev/null
@@ -1,373 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo.core;
-/*
- * $RCSfile: BeaninfoEntry.java,v $
- * $Revision: 1.5 $ $Date: 2005/05/18 20:59:17 $
- */
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jdt.core.*;
-import org.w3c.dom.*;
-
-import org.eclipse.jem.internal.beaninfo.adapters.*;
-
-/**
- * Beaninfo entry. Location of the beaninfos. Much like a standard classpath entry.
- * The BeanInfos are either in a jar or another project. They can be supplied as
- * a local file in the project, or as an external jar, or as external jar through a
- * variable, or an external jar through a plugin.
- * <p>
- * An external jar through containers is not valid because container are attached to
- * projects. they aren't standalone.
- *
- * @version 1.0
- * @author
- */
-public class BeaninfoEntry implements IBeaninfosDocEntry {
-
- final static String sBeaninfo = "beaninfo"; // Beaninfo entry, shared with BeaninfosDoc. //$NON-NLS-1$
-
- public static final int BIE_PLUGIN = 100; // Beaninfo jar can be found in a plugin.
-
- static int kindFromString(String kindStr) {
- if (kindStr == null || kindStr.length() == 0)
- return BIE_PLUGIN; // Default to plugin. If coming from beaninfoconfig, there should always be kind. But if coming from plugin.xml there shouldn't be one.
- if (kindStr.equalsIgnoreCase("con")) //$NON-NLS-1$
- return IClasspathEntry.CPE_CONTAINER;
- if (kindStr.equalsIgnoreCase("var")) //$NON-NLS-1$
- return IClasspathEntry.CPE_VARIABLE;
- if (kindStr.equalsIgnoreCase("src")) //$NON-NLS-1$
- return IClasspathEntry.CPE_SOURCE;
- if (kindStr.equalsIgnoreCase("lib")) //$NON-NLS-1$
- return IClasspathEntry.CPE_LIBRARY;
- if (kindStr.equalsIgnoreCase("plugin")) //$NON-NLS-1$
- return BIE_PLUGIN;
- return -1;
- }
-
- static String kindToString(int kind) {
-
- switch (kind) {
- case IClasspathEntry.CPE_PROJECT :
- return "src"; // backward compatibility //$NON-NLS-1$
- case IClasspathEntry.CPE_SOURCE :
- return "src"; //$NON-NLS-1$
- case IClasspathEntry.CPE_LIBRARY :
- return "lib"; //$NON-NLS-1$
- case IClasspathEntry.CPE_VARIABLE :
- return "var"; //$NON-NLS-1$
- case IClasspathEntry.CPE_CONTAINER:
- return "con"; //$NON-NLS-1$
- case BIE_PLUGIN:
- return "plugin"; //$NON-NLS-1$
- default :
- return "unknown"; //$NON-NLS-1$
- }
- }
-
- /**
- * Return the appropriate kind of entry when we know it is a classpath entry.
- */
- public static IClasspathEntry createEntry(int kind, IPath path, IProject project, boolean isExported) {
- switch (kind) {
-
- case IClasspathEntry.CPE_LIBRARY :
- if (path.isAbsolute())
- return JavaCore.newLibraryEntry(path, null, null, isExported);
- break;
-
- case IClasspathEntry.CPE_SOURCE :
- if (path.isAbsolute()) {
- // must be an entry in this project or specify another project
- String projSegment = path.segment(0);
- if (project != null && projSegment != null && projSegment.equals(project.getName())) {
- // this project
- return JavaCore.newSourceEntry(path);
- } else {
- // another project
- return JavaCore.newProjectEntry(path, isExported);
- }
- }
- break;
-
- case IClasspathEntry.CPE_VARIABLE :
- return JavaCore.newVariableEntry(path, null, null, isExported);
-
- case IClasspathEntry.CPE_CONTAINER:
- return JavaCore.newContainerEntry(path, isExported);
-
- }
-
- return null;
- }
- /**
- * Read the entry in from the element.
- */
- public static BeaninfoEntry readEntry(IReader reader, Object element, IProject project) {
- String elementKind = reader.getAttribute(element, BeaninfosDoc.sKind);
- String pathStr = reader.getAttribute(element, BeaninfosDoc.sPath);
- // ensure path is absolute
- IPath path = new Path(pathStr);
- int kind = kindFromString(elementKind);
- if (kind != IClasspathEntry.CPE_VARIABLE && kind != IClasspathEntry.CPE_CONTAINER && kind != BIE_PLUGIN && !path.isAbsolute()) {
- path = project != null ? project.getFullPath().append(path) : path.makeAbsolute(); // Some folder/jar within this project
- }
-
- // exported flag
- String exportedString = reader.getAttribute(element, BeaninfosDoc.sExported);
- boolean isExported = "true".equalsIgnoreCase(exportedString); //$NON-NLS-1$
- //$NON-NLS-1$
-
- // recreate the entry
- IClasspathEntry cpEntry = null;
- IPath pluginPath = null;
- if (kind != BIE_PLUGIN) {
- cpEntry = createEntry(kind, path, project, isExported);
- } else {
- if (path.isAbsolute())
- pluginPath = path;
- else {
- // Kludge This should only be a plugin type if from configuration element. So we will cast to that
- // and get the plugin id to create an absolute plugin path.
- if (element instanceof IConfigurationElement) {
- pluginPath = new Path('/'+((IConfigurationElement) element).getDeclaringExtension().getNamespace()).append(path);
- } else
- return null; // Not valid because can't have plugin from .beaninfoconfig file.
- }
- }
-
- ArrayList searchpaths = new ArrayList();
- Object children = reader.getChildren(element);
- int childrenLength = reader.getLength(children);
- for (int i = 0; i < childrenLength; i++) {
- Object child = reader.getItem(children, i);
- if (reader.isNodeTypeElement(child)) {
- Object entry = null;
- if (reader.getNodeName(child).equalsIgnoreCase(SearchpathEntry.sSearchpath)) {
- entry = SearchpathEntry.readEntry(reader, child, project, true);
- }
- if (entry != null)
- searchpaths.add(entry);
- }
- }
-
- if (cpEntry != null)
- return new BeaninfoEntry(
- cpEntry,
- (SearchpathEntry[]) searchpaths.toArray(new SearchpathEntry[searchpaths.size()]),
- isExported);
- else return new BeaninfoEntry(
- pluginPath,
- (SearchpathEntry[]) searchpaths.toArray(new SearchpathEntry[searchpaths.size()]),
- isExported);
- }
-
- protected IClasspathEntry entry; // Store it as a classpath entry for convienence. It is the RAW classpath entry. This is only used when pointing to something other than a plugin.
- protected IPath pluginPath; // When stored in a plugin, this will be set instead.
- protected boolean isExported;
- protected SearchpathEntry[] searchpaths;
-
- /**
- * Used when the beaninfo jar is within a plugin. In that case, the first segment
- * of the path is the plugin descriptor, and the rest is the path from the plugin
- * directory to the jar.
- */
- public BeaninfoEntry(IPath pluginPath, SearchpathEntry[] searchpaths, boolean isExported) {
- this(searchpaths, isExported);
- this.pluginPath = pluginPath;
- }
-
- /**
- * Used when the beaninfo jar/folder is either an external jar/folder or is somewhere else
- * in the workspace. In that case the entry is the RAW classpath entry to that code.
- */
- public BeaninfoEntry(IClasspathEntry entry, SearchpathEntry[] searchpaths, boolean isExported) {
- this(searchpaths, isExported);
- this.entry = entry;
- }
-
- protected BeaninfoEntry(SearchpathEntry[] searchpaths, boolean isExported) {
- this.isExported = isExported;
- this.searchpaths = searchpaths != null ? searchpaths : new SearchpathEntry[0];
- }
-
- public SearchpathEntry[] getSearchPaths() {
- return searchpaths;
- }
-
- public void setSearchPaths(SearchpathEntry[] searchpaths) {
- this.searchpaths = searchpaths;
- }
-
- public boolean isExported() {
- return isExported;
- }
-
- public void setIsExported(boolean isExported) {
- this.isExported = isExported;
- }
-
- public Node writeEntry(Document doc, IProject project) {
-
- Element element = doc.createElement(sBeaninfo);
- IPath path = null;
- if (entry != null) {
- element.setAttribute(BeaninfosDoc.sKind, kindToString(entry.getEntryKind()));
- path = entry.getPath();
- if (entry.getEntryKind() != IClasspathEntry.CPE_VARIABLE && entry.getEntryKind() != IClasspathEntry.CPE_CONTAINER) {
- // translate to project relative from absolute (unless a device path)
- if (path.isAbsolute()) {
- if (path.segment(0).equals(project.getFullPath().segment(0))) {
- path = path.removeFirstSegments(1);
- path = path.makeRelative();
- } else {
- path = path.makeAbsolute();
- }
- }
- }
- } else {
- element.setAttribute(BeaninfosDoc.sKind, kindToString(BIE_PLUGIN));
- path = pluginPath;
- }
-
- element.setAttribute(BeaninfosDoc.sPath, path.toString()); //$NON-NLS-1$
- if (isExported()) {
- element.setAttribute(BeaninfosDoc.sExported, "true"); //$NON-NLS-1$
- }
-
- for (int i = 0; i < searchpaths.length; i++) {
- SearchpathEntry spe = searchpaths[i];
- element.appendChild(spe.writeEntry(doc, project));
- }
-
- return element;
- }
-
- /**
- * If this is not a plugin info, then return the classpath entry.
- */
- public IClasspathEntry getClasspathEntry() {
- return entry;
- }
-
- /**
- * Return the resolved classpaths. Each entry in the array will be either:
- * 1) IProject - If it is a project type entry. Want the whole project
- * 2) String - an absolute external path to a jar
- * 3) IPath - a path to a plugin jar. The first segment is the plugin id, the rest is the path relative to that plugin.
- *
- *
- * @param javaProject
- * @return The array of paths, or <code>null</code> if no paths.
- *
- * @since 1.0.0
- */
- public Object[] getClasspath(IJavaProject javaProject) {
- if (entry != null) {
- // It is a standard CPE Entry.
- IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
- List paths = new ArrayList(1);
- IClasspathEntry resolvedEntry = JavaCore.getResolvedClasspathEntry(entry);
- resolveEntry(root, paths, resolvedEntry, javaProject);
- return paths.toArray();
- } else if (pluginPath != null)
- return new Object[] {pluginPath};
-
- return null;
-
- }
-
- private void resolveEntry(IWorkspaceRoot root, List paths, IClasspathEntry entry, IJavaProject javaProject) {
- switch (entry.getEntryKind()) {
- case IClasspathEntry.CPE_PROJECT :
- IProject reqProject = (IProject) root.findMember(entry.getPath().lastSegment());
- // Project entries only have one segment.
- if (reqProject != null && reqProject.isOpen())
- paths.add(reqProject);
- break;
-
- case IClasspathEntry.CPE_SOURCE :
- reqProject = (IProject) root.findMember(entry.getPath().segment(0));
- // Find project from the first segment.
- IJavaProject jProject = JavaCore.create(reqProject);
- if (jProject != null) {
- try {
- IPath outputLocation = jProject.getOutputLocation();
- IResource resource = root.findMember(outputLocation);
- if (resource != null) {
- paths.add(resource.getLocation().toString());
- }
- } catch(JavaModelException e) {
- }
- }
- break;
-
- case IClasspathEntry.CPE_LIBRARY :
- IResource library = root.findMember(entry.getPath());
- // can be external or in workspace
- paths.add((library != null) ? library.getLocation().toString() : entry.getPath().toString());
- break;
-
- case IClasspathEntry.CPE_CONTAINER:
- try {
- IClasspathContainer container = JavaCore.getClasspathContainer(entry.getPath(), javaProject);
- if (container != null) {
- IClasspathEntry[] entries = container.getClasspathEntries();
- for (int i = 0; i < entries.length; i++) {
- resolveEntry(root, paths, entries[i], javaProject);
- }
- }
- } catch (JavaModelException e) {
- BeaninfoPlugin.getPlugin().getLogger().log(e, Level.WARNING);
- }
- }
- }
-
- public int getKind() {
- return entry != null ? entry.getEntryKind() : BIE_PLUGIN;
- }
-
- public IPath getPath() {
- return entry != null ? entry.getPath() : pluginPath;
- }
-
- public boolean equals(Object other) {
- if (this == other)
- return true;
-
- if (!(other instanceof BeaninfoEntry))
- return false;
-
- // Return equal if the classpath entry is the same classpath entry or plugin path entry.
- // The search path doesn't have any affect on the semantic equality.
- BeaninfoEntry otherEntry = (BeaninfoEntry) other;
- if (isExported != otherEntry.isExported)
- return false;
- if (entry != null)
- return entry.equals(otherEntry.entry);
-
- return pluginPath.equals(otherEntry.pluginPath);
- }
-
- public int hashCode() {
- if (entry != null)
- return entry.hashCode() ^ (isExported ? Boolean.TRUE : Boolean.FALSE).hashCode();
- else
- return pluginPath.hashCode() ^ (isExported ? Boolean.TRUE : Boolean.FALSE).hashCode();
- }
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/BeaninfoPlugin.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/BeaninfoPlugin.java
deleted file mode 100644
index 0d1e73bb9..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/BeaninfoPlugin.java
+++ /dev/null
@@ -1,707 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo.core;
-/*
- * $RCSfile: BeaninfoPlugin.java,v $
- * $Revision: 1.16 $ $Date: 2005/06/30 16:23:58 $
- */
-
-
-import java.util.*;
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.*;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.jdt.core.IClasspathContainer;
-import org.eclipse.jdt.core.JavaCore;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-
-import org.eclipse.jem.internal.beaninfo.adapters.BeaninfoNature;
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.core.ProxyPlugin.ContributorExtensionPointInfo;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jem.util.logger.proxyrender.EclipseLogger;
-import org.eclipse.jem.util.plugin.JEMUtilPlugin;
-
-
-/**
- * The plugin class for the org.eclipse.jem.internal.proxy.core plugin.
- */
-
-public class BeaninfoPlugin extends Plugin {
- public static final String PI_BEANINFO_PLUGINID = "org.eclipse.jem.beaninfo"; // Plugin ID, used for QualifiedName. //$NON-NLS-1$
- public static final String PI_BEANINFO_OVERRIDES = "overrides"; // ID of the overrides extension point. //$NON-NLS-1$
-
- private static BeaninfoPlugin BEANINFO_PLUGIN = null;
-
- public BeaninfoPlugin() {
- BEANINFO_PLUGIN = this;
- }
-
- /**
- * Accessor method to get the singleton plugin.
- */
- public static BeaninfoPlugin getPlugin() {
- return BEANINFO_PLUGIN;
- }
-
- /**
- * Special Override file name used when need to apply an override to a class that is at the root.
- * A root is one that doesn't have a super type. These are <code>java.lang.Object</code>, interfaces, and any
- * undefined classes (i.e. classes that don't actually exist).
- */
- public static final String ROOT = "..ROOT.."; //$NON-NLS-1$
-
- /**
- * The extension used on any override file when you pass in a path through the method that takes a string.
- */
- public static final String OVERRIDE_EXTENSION = ".override"; //$NON-NLS-1$
-
-
- /*
- * Map of open natures. This map is needed because on shutdown of beaninfo plugin we need
- * to shutdown the natures. If we don't do that there is a slight possibility of an error
- * because proxy plugin will shutdown and this can cause a callback into beaninfo which has
- * already been shutdown. It calls back through the registry listener that BeaninfoNature
- * added to the registry to notify that the registry is being shutdown.
- *
- * Also BeanInfoCacheController needs to know so that it can tell it the project is closing or
- * being deleted or that it needs to be cleared due to a clear request.
- */
- private Map openNatures;
-
- private Map containerIdsToBeaninfoEntryContributions;
- private Map pluginToBeaninfoEntryContributions;
- private Map containerIdsToContributors;
- private Map pluginToContributors;
- /*
- * Override contributions from extension point.
- * ocFragments: Array of fragments paths. When a match is found for a path, the index
- * is the index into the ocContainerIds and ocPluginIds array for the contributions.
- * ocContainerIds: The first dimension is the index of the fragment that the list of OverrideContributions is for.
- * The second dimension is the array of contributions for that fragment, one per container id.
- * ocPluginIds: The first dimension is the index of the fragment that the list of OverrideContributions is for.
- * The second dimension is the array of contributions for that fragment, one per plugin id.
- *
- * If a particular fragment doesn't have any entries of container and/or plugin, then EMPTY_OC is used for that
- * entry so that we don't need to check for null.
- *
- * How this is used is for a particular path requested, the ocFragments will be searched for the fragments that
- * are appropriate, then the index of the entry is used to walk through the OC[] array returned from the ocContainerIds
- * or ocPluginIds. Each contribution would be checked to see if the container id/plugin id is in the visible classpath (through
- * the info data stored in the persistent property). If it is, then the overrides from that contribution will be used.
- */
- private IPath ocFragments[];
- private OverrideContribution[][] ocContainerIds;
- private OverrideContribution[][] ocPluginIds;
-
- private static final OverrideContribution[] EMPTY_OC = new OverrideContribution[0]; // Used for an empty contribution list for a fragment.
-
- public synchronized BeaninfoEntry[] getContainerIdBeanInfos(String containerID) {
- if (containerIdsToBeaninfoEntryContributions == null)
- processBeanInfoContributionExtensionPoint();
- return (BeaninfoEntry[]) containerIdsToBeaninfoEntryContributions.get(containerID);
- }
-
- public synchronized BeaninfoEntry[] getPluginBeanInfos(String pluginid) {
- if (pluginToBeaninfoEntryContributions == null)
- processBeanInfoContributionExtensionPoint();
- return (BeaninfoEntry[]) pluginToBeaninfoEntryContributions.get(pluginid);
- }
-
- public synchronized IConfigurationElement[] getPluginContributors(String pluginid) {
- if (pluginToContributors == null)
- processBeanInfoContributionExtensionPoint();
- return (IConfigurationElement[]) pluginToContributors.get(pluginid);
- }
-
- public synchronized IConfigurationElement[] getContainerIdContributors(String containerID) {
- if (containerIdsToContributors == null)
- processBeanInfoContributionExtensionPoint();
- return (IConfigurationElement[]) containerIdsToContributors.get(containerID);
- }
-
- public static final String PI_BEANINFO_CONTRIBUTION_EXTENSION_POINT = PI_BEANINFO_PLUGINID+".registrations"; //$NON-NLS-1$
- public static final String PI_REGISTRATION = "registration"; //$NON-NLS-1$
- public static final String PI_BEANINFO = "beaninfo"; //$NON-NLS-1$
- public static final String PI_OVERRIDE = "override"; //$NON-NLS-1$
- public static final String PI_CONTRIBUTOR = "contributor"; //$NON-NLS-1$
- public static final String PI_PACKAGE = "package"; //$NON-NLS-1$
- public static final String PI_PATH = "path"; //$NON-NLS-1$
-
- protected synchronized void processBeanInfoContributionExtensionPoint() {
- ContributorExtensionPointInfo info = ProxyPlugin.processContributionExtensionPoint(PI_BEANINFO_CONTRIBUTION_EXTENSION_POINT);
- ConfigurationElementReader reader = new ConfigurationElementReader();
- // Process the container IDs first.
- containerIdsToBeaninfoEntryContributions = new HashMap(info.containerToContributions.size());
- Map fragmentsToIds = new HashMap(info.containerToContributions.size());
- for (Iterator iter = info.containerToContributions.entrySet().iterator(); iter.hasNext();) {
- Map.Entry entry= (Map.Entry) iter.next();
- String containerid = (String) entry.getKey();
- IConfigurationElement[] configElements = (IConfigurationElement[]) entry.getValue();
- for (int i = 0; i < configElements.length; i++) {
- IConfigurationElement element = configElements[i];
- if (PI_REGISTRATION.equals(element.getName())) {
- IConfigurationElement[] children = element.getChildren();
- for (int j = 0; j < children.length; j++) {
- IConfigurationElement child = children[j];
- if (PI_BEANINFO.equals(child.getName())) {
- // This is a beaninfo entry
- BeaninfoEntry be = BeaninfoEntry.readEntry(reader, child, null);
- if (be != null)
- addEntry(containerIdsToBeaninfoEntryContributions, containerid, be);
- } else if (PI_OVERRIDE.equals(child.getName())) {
- addOverrideEntry(fragmentsToIds, true, containerid, child);
- }
- }
- } else if (PI_CONTRIBUTOR.equals(element.getName())) {
- if (containerIdsToContributors == null)
- containerIdsToContributors = new HashMap(5); // These are rare, don't create until necessary.
- addEntry(containerIdsToContributors, containerid, element);
- }
- }
- }
-
- // Now go through and turn all of the contribution lists into arrays.
- for (Iterator iter = containerIdsToBeaninfoEntryContributions.entrySet().iterator(); iter.hasNext();) {
- Map.Entry entry = (Map.Entry) iter.next();
- entry.setValue(((List) entry.getValue()).toArray(new BeaninfoEntry[((List) entry.getValue()).size()]));
- }
-
- if (containerIdsToContributors == null)
- containerIdsToContributors = Collections.EMPTY_MAP; // Since we don't have any.
- else {
- for (Iterator iter = containerIdsToContributors.entrySet().iterator(); iter.hasNext();) {
- Map.Entry entry = (Map.Entry) iter.next();
- entry.setValue(((List) entry.getValue()).toArray(new IConfigurationElement[((List) entry.getValue()).size()]));
- }
- }
-
- // Now process the plugin IDs.
- pluginToBeaninfoEntryContributions = new HashMap(info.pluginToContributions.size());
- for (Iterator iter = info.pluginToContributions.entrySet().iterator(); iter.hasNext();) {
- Map.Entry entry= (Map.Entry) iter.next();
- String pluginId = (String) entry.getKey();
- IConfigurationElement[] configElements = (IConfigurationElement[]) entry.getValue();
- for (int i = 0; i < configElements.length; i++) {
- IConfigurationElement element = configElements[i];
- if (PI_REGISTRATION.equals(element.getName())) {
- IConfigurationElement[] children = element.getChildren();
- for (int j = 0; j < children.length; j++) {
- IConfigurationElement child = children[j];
- if (PI_BEANINFO.equals(child.getName())) {
- // This is a beaninfo entry
- BeaninfoEntry be = BeaninfoEntry.readEntry(reader, child, null);
- if (be != null)
- addEntry(pluginToBeaninfoEntryContributions, pluginId, be);
- } else if (PI_OVERRIDE.equals(child.getName())) {
- addOverrideEntry(fragmentsToIds, false, pluginId, child);
- }
- }
- } else if (PI_CONTRIBUTOR.equals(element.getName())) {
- if (pluginToContributors == null)
- pluginToContributors = new HashMap(5); // These are rare, don't create until necessary.
- addEntry(pluginToContributors, pluginId, element);
- }
- }
- }
-
- // Now go through and turn all of the contribution lists into arrays.
- for (Iterator iter = pluginToBeaninfoEntryContributions.entrySet().iterator(); iter.hasNext();) {
- Map.Entry entry = (Map.Entry) iter.next();
- entry.setValue(((List) entry.getValue()).toArray(new BeaninfoEntry[((List) entry.getValue()).size()]));
- }
-
- if (pluginToContributors == null)
- pluginToContributors = Collections.EMPTY_MAP; // Since we don't have any.
- else {
- for (Iterator iter = pluginToContributors.entrySet().iterator(); iter.hasNext();) {
- Map.Entry entry = (Map.Entry) iter.next();
- entry.setValue(((List) entry.getValue()).toArray(new IConfigurationElement[((List) entry.getValue()).size()]));
- }
- }
-
- // Now handle the entire list of fragments.
- ocFragments = new IPath[fragmentsToIds.size()];
- ocContainerIds = new OverrideContribution[ocFragments.length][];
- ocPluginIds = new OverrideContribution[ocFragments.length][];
- Iterator iter;
- int fragIndex;
- for (iter = fragmentsToIds.entrySet().iterator(), fragIndex=0; iter.hasNext(); fragIndex++) {
- Map.Entry mapEntry = (Map.Entry) iter.next();
- ocFragments[fragIndex] = (IPath) mapEntry.getKey();
- Map[] mapValue = (Map[]) mapEntry.getValue();
- if (mapValue[0] == null)
- ocContainerIds[fragIndex] = EMPTY_OC;
- else {
- Map containers = mapValue[0];
- OverrideContribution[] ocContribution = ocContainerIds[fragIndex] = new OverrideContribution[containers.size()];
- int ocIndex;
- Iterator ocIterator;
- for (ocIterator = containers.entrySet().iterator(), ocIndex=0; ocIterator.hasNext(); ocIndex++) {
- Map.Entry containerEntry = (Map.Entry) ocIterator.next();
- OverrideContribution oc = ocContribution[ocIndex] = new OverrideContribution();
- oc.id = (String) containerEntry.getKey();
- List[] ocLists = (List[]) containerEntry.getValue();
- oc.pluginIds = (String[]) ocLists[0].toArray(new String[ocLists[0].size()]);
- oc.paths = (String[]) ocLists[1].toArray(new String[ocLists[1].size()]);
- }
- }
- if (mapValue[1] == null)
- ocPluginIds[fragIndex] = EMPTY_OC;
- else {
- Map plugins = mapValue[1];
- OverrideContribution[] ocContribution = ocPluginIds[fragIndex] = new OverrideContribution[plugins.size()];
- int ocIndex;
- Iterator ocIterator;
- for (ocIterator = plugins.entrySet().iterator(), ocIndex=0; ocIterator.hasNext(); ocIndex++) {
- Map.Entry pluginEntry = (Map.Entry) ocIterator.next();
- OverrideContribution oc = ocContribution[ocIndex] = new OverrideContribution();
- oc.id = (String) pluginEntry.getKey();
- List[] ocLists = (List[]) pluginEntry.getValue();
- oc.pluginIds = (String[]) ocLists[0].toArray(new String[ocLists[0].size()]);
- oc.paths = (String[]) ocLists[1].toArray(new String[ocLists[1].size()]);
- }
- }
- }
- }
-
- /*
- * Add an entry to the map. If the key doesn't exist, create an entry as an array. Then add the entry to array.
- */
- private void addEntry(Map map, Object key, Object entry) {
- List mapEntry = (List) map.get(key);
- if (mapEntry == null) {
- mapEntry = new ArrayList(1);
- map.put(key, mapEntry);
- }
- mapEntry.add(entry);
- }
-
- /*
- * Add an entry to the map.
- * id is the container/plugin id.
- *
- * The structure of the map is:
- * key: fragment name
- * value: Map[2], where [0] is for container ids, and [1] is for plugin ids.
- * Map[x]:
- * key: container/plugin id
- * value: List[2], where [0] is list of plugin ids for the override, and [1] is list of paths for the override files relative to that plugin id.
- *
- * After all done these maps/list will be boiled down to the arrays that will be used for lookup.
- */
- private void addOverrideEntry(Map map, boolean container, Object id, IConfigurationElement entry) {
-
- String packageName = entry.getAttributeAsIs(PI_PACKAGE);
- String plugin = null;
- String pathString = entry.getAttributeAsIs(PI_PATH);
- IPath fragment = null;
- if (packageName != null && packageName.length() > 0 && pathString != null && pathString.length() > 0) {
- fragment = new Path(packageName.replace('.', '/'));
- if (pathString.charAt(pathString.length()-1) != '/')
- pathString += '/';
- if (pathString.charAt(0) != '/')
- plugin = entry.getDeclaringExtension().getNamespace();
- else {
- if (pathString.length() > 4) {
- int pend = pathString.indexOf('/', 1);
- if (pend == -1 || pend >= pathString.length()-1)
- return; // invalid
- plugin = pathString.substring(1, pend);
- pathString = pathString.substring(pend+1);
- } else
- return; // invalid
- }
- }
- if (pathString.length() < 2)
- return; // invalid
-
- Map[] mapEntry = (Map[]) map.get(fragment);
- if (mapEntry == null) {
- mapEntry = new HashMap[2];
- map.put(fragment, mapEntry);
- }
-
- if (container) {
- if (mapEntry[0] == null)
- mapEntry[0] = new HashMap(2);
- } else {
- if (mapEntry[1] == null)
- mapEntry[1] = new HashMap(2);
- }
-
- List[] idEntry = (List[]) mapEntry[container ? 0 : 1].get(id);
- if (idEntry == null) {
- idEntry = new List[] {new ArrayList(1), new ArrayList(1)};
- mapEntry[container ? 0 : 1].put(id, idEntry);
- }
-
- idEntry[0].add(plugin);
- idEntry[1].add(pathString);
- }
-
- /*
- * This is an list of overrides that are available as a contribution for a specific fragment.
- * <ul>
- * <li>The id of this contribution. Either container or plugin id depending on which list it was in..
- * <li>The plugins array lists the plugin ids for all of the paths in this contribution.
- * <li>The paths array lists the folder path under that corresponding plugin from "pluginIds".
- * </ul>
- * <p>
- *
- * @since 1.0.0
- */
- private static class OverrideContribution {
- public String id;
- public String[] pluginIds;
- public String[] paths;
- }
-
- /**
- * The runnable is to used to apply override.
- * <p>
- * This will be called in sequence for each override path found. It is send in on the apply overrides call. This
- * interface implementation is private.
- * <p>
- * Clients (implementers of the IBeanInfoContributor) will be passed in the subinterface <code>IContributorOverrideRunnable</code> which
- * inherits from this interface.
- * <p>
- * This interface is not intended to be implemented by clients.
- *
- * @since 1.0.0
- * @see BeaninfoPlugin#applyOverrides(IProject, String, String, ResourceSet, IOverrideRunnable)
- */
- public interface IOverrideRunnable {
- /**
- * This will be called with the directory path to use. It will be called over and over for every
- * override path found for a package. The path will be complete, including trailing '/'.
- * It will be in a URI format for a directory. The overriderunnable implementation will then append the filename call (i.e. classbeingintrospected.override) to get a complete path.
- * <p>
- * Clients (IBeanInfoContributor implementers) can call this to apply a specific override file to the current
- * class being processed.
- *
- * @param overridePath the path will be complete, including trailing '/'. It will be in a URI format for a directory. The override file name (classname.override) will be appended to this and retrieved and applied.
- *
- * @since 1.0.0
- */
- public void run(String overridePath);
-
- /**
- * This will be called with the actual resource to use. This will be called by special contributors that want
- * a special explicit override resource to be used.
- * <p>
- * Contributors should use the ResourceSet that was passed into them. This is so that anything java class that
- * the override resource points to will be found.
- * <p>
- * This resource will be automatically removed by BeanInfo after being applied. It must not be left around because
- * in the process of being applied it will be modified, so it could not be reused.
- *
- * @param overrideResource the resource to apply to the current class. NOTE: This resource WILL be removed from
- * the resource set it is in automatically by this call. It won't be left around because the action of apply
- * will actually modify the resource.
- *
- * @since 1.0.0
- */
- public void run(Resource overrideRes);
- }
-
- /**
- * IBeanInfoContributor runnable to use to apply overrides.
- * <p>
- * An implementation of this will be passed in to IBeanInfoContributor's so that they can call back to apply the overrides. They
- * should call the appropriate run method once for each override to be applied. The run can be called more than once from each IBeanInfoContributor.
- * <p>
- * It inherits from <code>IOverrideRunnable</code>, so see that for more methods to call.
- * <p>
- * This interface is not intended to be implemented by clients.
- *
- * @see BeaninfoPlugin.IOverrideRunnable for more methods that can be called.
- * @since 1.0.0
- */
- public interface IContributorOverrideRunnable extends IOverrideRunnable {
-
- /**
- * Tests if path has already been contributed once for the current class.
- * <p>
- * This can be called by the IBeanInfoContributor for overrides to test if the path (same path as for the IOverrideRunnable.run(String) method)
- * has already been contributed once for this class. It can be used to save time. However it is not necessary because
- * BeanInfo will not permit it to be contributed more than once for a class.
- *
- * @param path
- * @return <code>true</code> if used already.
- *
- * @see IOverrideRunnable#run(String)
- * @since 1.0.0
- */
- public boolean pathContributed(String path);
-
- /**
- * Tests if the URI has already been contributed once for the current class.
- * <p>
- * This can be called by an IBeanInfoContributor for overrides to see if the URI (same path as the URI from the IOverrideRunnable.run(Resource) method)
- * has already been contributed once for this class. It can be used to save time. However, not necessary because
- * BeanInfo will not permit the URI to be contributed more than once for a class.
- *
- * @param resourceURI
- * @return <code>true</code> if used already.
- *
- * @see IOverrideRunnable#run(Resource)
- * @since 1.0.0
- */
- public boolean resourceContributed(URI resourceURI);
- }
-
- private static final String[] NO_PATHS = new String[0];
-
- /**
- * Return just the contributed override paths (through the BeanInfo registrations). Does not include any paths that are contributed from
- * IBeanInfoContributor's. This is used by the BeanInfoClassAdapter to load the overrides files into one cache file so that it can
- * be done at one time the next time it is needed.
- *
- * @param project
- * @param packageName
- * @return array of path strings to the override. The files may not exist, they is just possible overrides.
- *
- * @since 1.1.0
- */
- public String[] getOverridePaths(IProject project, String packageName) {
- final IPath packagePath = new Path(packageName.replace('.', '/')+'/');
- List overridePaths = new ArrayList();
- try {
- IConfigurationContributionInfo info = (IConfigurationContributionInfo) project.getSessionProperty(BeaninfoNature.CONFIG_INFO_SESSION_KEY);
- if (info == null) {
- // It hasn't been created yet, so we need to create our own internal version here.
- info = ProxyLaunchSupport.createDefaultConfigurationContributionInfo(JavaCore.create(project));
- BeaninfoNature.computeBeanInfoConfigInfo(info);
- }
- synchronized (this) {
- if (ocFragments == null)
- processBeanInfoContributionExtensionPoint(); // We haven't processed them yet.
- }
- for (int fragmentIndex = 0; fragmentIndex < ocFragments.length; fragmentIndex++) {
- if (ocFragments[fragmentIndex].isPrefixOf(packagePath)) {
- String leftOver = null; // The left over portion of the package. This will be set first time needed.
- OverrideContribution[] cntrContributions = ocContainerIds[fragmentIndex];
- for (int ocindex = 0; ocindex < cntrContributions.length; ocindex++) {
- OverrideContribution contribution = cntrContributions[ocindex];
- Boolean visible = (Boolean) info.getContainerIds().get(contribution.id);
- if (visible != null && visible.booleanValue()) {
- for (int cindex = 0; cindex < contribution.pluginIds.length; cindex++) {
- // Because of URIConverters and normalization in org.eclipse.jem.util stuff, we
- // need to have plugin uri's in the form "platform:/plugin/pluginname".
- // Bundle's don't return this format. They return bundle:/stuff
- // So we will simple create it of the platform:/plugin format.
- // To save time, we will first see if we have the bundle.
- Bundle bundle = Platform.getBundle(contribution.pluginIds[cindex]);
- if (bundle != null) {
- if (leftOver == null)
- leftOver = getLeftOver(ocFragments[fragmentIndex], packagePath);
- overridePaths.add(JEMUtilPlugin.PLATFORM_PROTOCOL+":/"+JEMUtilPlugin.PLATFORM_PLUGIN+'/'+bundle.getSymbolicName()+'/'+contribution.paths[cindex]+leftOver); //$NON-NLS-1$
- }
- }
- }
- }
-
- OverrideContribution[] pluginContributions = ocPluginIds[fragmentIndex];
- for (int ocindex = 0; ocindex < pluginContributions.length; ocindex++) {
- OverrideContribution contribution = pluginContributions[ocindex];
- Boolean visible = (Boolean) info.getPluginIds().get(contribution.id);
- if (visible != null && visible.booleanValue()) {
- for (int cindex = 0; cindex < contribution.pluginIds.length; cindex++) {
- Bundle bundle = Platform.getBundle(contribution.pluginIds[cindex]);
- if (bundle != null) {
- if (leftOver == null)
- leftOver = getLeftOver(ocFragments[fragmentIndex], packagePath);
- overridePaths.add(JEMUtilPlugin.PLATFORM_PROTOCOL+":/"+JEMUtilPlugin.PLATFORM_PLUGIN+'/'+bundle.getSymbolicName()+'/'+contribution.paths[cindex]+leftOver); //$NON-NLS-1$
- }
- }
- }
- }
- }
- }
- } catch (CoreException e) {
- getLogger().log(e, Level.INFO);
- }
- return overridePaths.isEmpty() ? NO_PATHS : (String[]) overridePaths.toArray(new String[overridePaths.size()]);
- }
-
- /**
- * Apply the runnable to all of the override paths that are applicable to the
- * given package name. It will run through the explicit contributors and the IContainers that implement IBeanInfoContributor.
- * <p>
- * The package name uses '.' to delineate the fragments of the name,
- * i.e. use "<code>java.lang</code>" as a package name.
- * <p>
- * Note: This is not meant to be called by clients. It is public only because an internal class in another package needs to call it.
- * TODO This should be package-protected. Later the other class will be moved into this package.
- *
- * @param project the project to run against.
- * @param packageName
- * @param className class name of the class that is being overridden.
- * @param javaClass the java class the overrides will be applied to.
- * @param resource set that contributors can use to temporarily load dynamic override files.
- * @param runnable use this runnable to actually apply overrides.
- *
- * @since 1.0.0
- */
- public void applyOverrides(final IProject project, String packageName, final String className, final JavaClass javaClass, final ResourceSet rset, final IOverrideRunnable runnable) {
- final IPath packagePath = new Path(packageName.replace('.', '/')+'/');
- try {
- IConfigurationContributionInfo info = (IConfigurationContributionInfo) project.getSessionProperty(BeaninfoNature.CONFIG_INFO_SESSION_KEY);
- if (info == null) {
- // It hasn't been created yet, so we need to create our own internal version here.
- info = ProxyLaunchSupport.createDefaultConfigurationContributionInfo(JavaCore.create(project));
- BeaninfoNature.computeBeanInfoConfigInfo(info);
- }
- final IBeanInfoContributor[] explicitContributors = (IBeanInfoContributor[]) project.getSessionProperty(BeaninfoNature.BEANINFO_CONTRIBUTORS_SESSION_KEY);
- synchronized (this) {
- if (ocFragments == null)
- processBeanInfoContributionExtensionPoint(); // We haven't processed them yet.
- }
-
- final Set usedPaths = new HashSet(10); // Set of used paths. So that the contributors don't supply a path already used. This could cause problems if they did.
- final IContributorOverrideRunnable contribRunnable = new IContributorOverrideRunnable() {
- public void run(String overridePath) {
- if (!usedPaths.contains(overridePath)) {
- usedPaths.add(overridePath);
- runnable.run(overridePath);
- }
- }
-
- public void run(Resource overrideRes) {
- if (!usedPaths.contains(overrideRes.getURI())) {
- usedPaths.add(overrideRes.getURI());
- try {
- runnable.run(overrideRes);
- } finally {
- overrideRes.getResourceSet().getResources().remove(overrideRes);
- }
- }
- }
-
- public boolean pathContributed(String path) {
- return usedPaths.contains(path);
- }
-
- public boolean resourceContributed(URI resourceURI) {
- return usedPaths.contains(resourceURI);
- }
- };
-
- // Run through the containers that implement IBeanInfoContributor.
- for (Iterator iter = info.getContainers().entrySet().iterator(); iter.hasNext();) {
- Map.Entry mapEntry = (Map.Entry) iter.next();
- final IClasspathContainer container = (IClasspathContainer) mapEntry.getKey();
- if (container instanceof IBeanInfoContributor && ((Boolean) mapEntry.getValue()).booleanValue()) {
- Platform.run(new ISafeRunnable() {
- public void handleException(Throwable exception) {
- // Standard run logs to .log
- }
- public void run() throws Exception {
- ((IBeanInfoContributor) container).runOverrides(packagePath, className, javaClass, rset, contribRunnable);
- }
- });
- }
- }
-
- // Run through the explicit contributors.
- for (int i=0; i<explicitContributors.length; i++) {
- final int ii = i;
- Platform.run(new ISafeRunnable() {
- public void handleException(Throwable exception) {
- // Standard run logs to .log
- }
- public void run() throws Exception {
- explicitContributors[ii].runOverrides(packagePath, className, javaClass, rset, contribRunnable);
- }
- });
- }
- } catch (CoreException e) {
- getLogger().log(e, Level.INFO);
- }
- }
-
- private String getLeftOver(IPath fragment, IPath packagePath) {
- return packagePath.removeFirstSegments(fragment.segmentCount()).toString();
- }
-
- private Logger logger;
- public Logger getLogger() {
- if (logger == null)
- logger = EclipseLogger.getEclipseLogger(this);
- return logger;
- }
-
- /**
- * Add that a BeanInfo nature is active. This is used to tell it to shutdown when beaninfo shuts down.
- * TODO <package-protected> because only BeanInfoNature should call it. (public for now but when we make
- * BeanInfoNature an API it will be moved into the same package as BeanInfoPlugin).
- *
- * @param nature
- *
- * @since 1.0.0
- */
- public void addBeanInfoNature(BeaninfoNature nature) {
- if (openNatures == null)
- openNatures = new HashMap();
- openNatures.put(nature.getProject(), nature);
- }
-
- /**
- * Mark that a BeanInfo nature is not active. This is used to tell it to shutdown when beaninfo shuts down.
- * TODO <package-protected> because only BeanInfoNature should call it. (public for now but when we make
- * BeanInfoNature an API it will be moved into the same package as BeanInfoPlugin).
- *
- * @param nature
- *
- * @since 1.0.0
- */
- public void removeBeanInfoNature(BeaninfoNature nature) {
- if (openNatures != null)
- openNatures.remove(nature.getProject());
- }
-
- /**
- * Return the registered nature, if any, for the project. This will not cause the
- * nature to be created.
- * <p>
- * <package-protected> because only BeanInfoCacheController should access it.
- * @param project
- * @return nature for project or <code>null</code> if not registered.
- *
- * @since 1.1.0
- */
- BeaninfoNature getNature(IProject project) {
- return (BeaninfoNature) openNatures.get(project);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
- */
- public void stop(BundleContext context) throws Exception {
- if (openNatures != null && !openNatures.isEmpty()) {
- for (Iterator natureItr = openNatures.values().iterator(); natureItr.hasNext();) {
- BeaninfoNature nature = (BeaninfoNature) natureItr.next();
- nature.shutdown();
- }
- }
-
- super.stop(context);
- }
-}
-
-
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/BeaninfoRegistration.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/BeaninfoRegistration.java
deleted file mode 100644
index 1c629780a..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/BeaninfoRegistration.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo.core;
-/*
- * $RCSfile: BeaninfoRegistration.java,v $
- * $Revision: 1.3 $ $Date: 2005/02/15 22:44:20 $
- */
-
-import org.eclipse.core.runtime.IConfigurationElement;
-
-/**
- * This is the registration information for registered beaninfos in the BeaninfoPlugin.
- * @version 1.0
- * @author
- */
-public class BeaninfoRegistration {
-
- protected BeaninfosDoc doc;
- protected IConfigurationElement variableElement; // This is used to get contributor element. If null, then no contributor.
-
- public BeaninfoRegistration() {
- }
-
- /**
- * Construct with a BeaninfosDoc
- */
- public BeaninfoRegistration(BeaninfosDoc doc) {
- this.doc = doc;
- }
-
- /**
- * Construct with a BeaninfosDoc and variable element.
- */
- public BeaninfoRegistration(BeaninfosDoc doc, IConfigurationElement variableElement) {
- this.doc = doc;
- this.variableElement = variableElement;
- }
-
- /**
- * Gets the doc.
- * @return Returns a BeaninfosDoc
- */
- public BeaninfosDoc getDoc() {
- return doc;
- }
-
- /**
- * Sets the doc.
- * @param doc The doc to set
- */
- public void setDoc(BeaninfosDoc doc) {
- this.doc = doc;
- }
-
- /**
- * Gets the variableElement.
- * @return Returns a IConfigurationElement
- */
- public IConfigurationElement getVariableElement() {
- return variableElement;
- }
-
- /**
- * Sets the variableElement.
- * @param variableElement The variableElement to set
- */
- public void setVariableElement(IConfigurationElement variableElement) {
- this.variableElement = variableElement;
- }
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/BeaninfosDoc.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/BeaninfosDoc.java
deleted file mode 100644
index 08c302832..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/BeaninfosDoc.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo.core;
-/*
- * $RCSfile: BeaninfosDoc.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:44:20 $
- */
-import java.util.ArrayList;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-import org.w3c.dom.*;
-
-import org.eclipse.jem.internal.beaninfo.adapters.*;
-/**
- * Beaninfos document in-memory format.
- */
-
-public class BeaninfosDoc implements IBeaninfosDocEntry {
-
- protected IBeaninfosDocEntry[] searchpath;
-
- static final String sExported = "exported"; //$NON-NLS-1$
-
- static final String sKind = "kind"; //$NON-NLS-1$
-
- static final String sPath = "path"; //$NON-NLS-1$
-
- public BeaninfosDoc() {
- }
-
- public BeaninfosDoc(IBeaninfosDocEntry[] searchpath) {
- this.searchpath = searchpath;
- }
-
- public int getKind() {
- return -1; // N.A.
- }
-
- public IPath getPath() {
- return null; // N.A.
- }
-
- public static BeaninfosDoc readEntry(IReader reader, Object root, IProject project) {
- ArrayList paths = new ArrayList();
- Object children = reader.getChildren(root);
- int childrenLength = reader.getLength(children);
- for (int i = 0; i < childrenLength; i++) {
- Object child = reader.getItem(children, i);
- if (reader.isNodeTypeElement(child)) {
- Object entry = null;
- if (reader.getNodeName(child).equalsIgnoreCase(BeaninfoEntry.sBeaninfo)) {
- entry = BeaninfoEntry.readEntry(reader, child, project);
- } else if (reader.getNodeName(child).equalsIgnoreCase(SearchpathEntry.sSearchpath)) {
- entry = SearchpathEntry.readEntry(reader, child, project, false);
- }
- if (entry != null)
- paths.add(entry);
- }
- }
- return new BeaninfosDoc((IBeaninfosDocEntry[]) paths.toArray(new IBeaninfosDocEntry[paths.size()]));
- }
-
- public IBeaninfosDocEntry[] getSearchpath() {
- return searchpath;
- }
-
- public void setSearchpath(IBeaninfosDocEntry[] searchpath) {
- this.searchpath = searchpath;
- }
-
- public Node writeEntry(Document doc, IProject project) {
- Element root = doc.createElement(SearchpathEntry.sSearchpath); // Create Root Element
- for (int i = 0; i < searchpath.length; i++) {
- root.appendChild(searchpath[i].writeEntry(doc, project)); // Add to the document
- }
- return root;
- }
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/ConfigurationElementReader.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/ConfigurationElementReader.java
deleted file mode 100644
index c9ccb1254..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/ConfigurationElementReader.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo.core;
-/*
- * $RCSfile: ConfigurationElementReader.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:44:20 $
- */
-
-import java.lang.reflect.Array;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-
-import org.eclipse.jem.internal.beaninfo.adapters.*;
-
-
-/**
- * For reading from IConfigurationElements
- * @version 1.0
- * @author
- */
-class ConfigurationElementReader implements IReader {
-
- /*
- * @see IReader#getChildren(Object)
- */
- public Object getChildren(Object node) {
- return (node instanceof IConfigurationElement) ? ((IConfigurationElement) node).getChildren() : new IConfigurationElement[0];
- }
-
- /*
- * @see IReader#getLength(Object)
- */
- public int getLength(Object nodeList) {
- return (nodeList instanceof IConfigurationElement[]) ? Array.getLength(nodeList) : 0;
- }
-
- /*
- * @see IReader#getItem(Object, int)
- */
- public Object getItem(Object nodeList, int index) {
- return (nodeList instanceof IConfigurationElement[]) ? Array.get(nodeList, index) : null;
- }
-
- /*
- * @see IReader#isNodeTypeElement(Object)
- */
- public boolean isNodeTypeElement(Object node) {
- return node instanceof IConfigurationElement;
- }
-
- /*
- * @see IReader#getNodeName(Object)
- */
- public String getNodeName(Object node) {
- return (node instanceof IConfigurationElement) ? ((IConfigurationElement) node).getName() : ""; //$NON-NLS-1$
- }
-
- /*
- * @see IReader#getAttribute(Object, String)
- */
- public String getAttribute(Object element, String attributeName) {
- return (element instanceof IConfigurationElement) ? ((IConfigurationElement) element).getAttributeAsIs(attributeName) : null;
- }
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/IBeanInfoContributor.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/IBeanInfoContributor.java
deleted file mode 100644
index 838dfadb0..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/IBeanInfoContributor.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: IBeanInfoContributor.java,v $
- * $Revision: 1.5 $ $Date: 2005/02/15 22:44:20 $
- */
-package org.eclipse.jem.internal.beaninfo.core;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-
-import org.eclipse.jem.internal.proxy.core.IConfigurationContributionInfo;
-import org.eclipse.jem.java.JavaClass;
-
-/**
- * Interface for BeanInfo contributors. Supplied either as additional interface on a IClasspathContainer, or as
- * an explicit contributor for BeanInfos from the manifest files.
- * <p>
- * Implementations of this interface allows a dynamic supply of BeanInfo contributions (beaninfo jars and search paths)
- * and override files. This is used when the default plugin extension mechanism is too static for the requirements.
- * <p>
- * There is a very useful default implementation (<code>BeanInfoContributorAdapter</code>) that can be subclassed. The
- * default doesn't do anything on its own. But it does have a very useful utility method for loading resources.
- *
- * @see org.eclipse.jem.internal.beaninfo.core.BeanInfoContributorAdapter
- * @since 1.0.0
- */
-public interface IBeanInfoContributor {
-
- /**
- * Return the BeanInfoEntry contributions that are needed.
- * <p>
- * This will be called by BeanInfo when it determines that this contributor is applicable
- * for the current project being processed. BeaninfoEntry's define the BeanInfo jars and search paths to use.
- *
- * @param info
- * @return BeanInfo contributions or <code>null</code> if none to contribute.
- *
- * @since 1.0.0
- */
- public BeaninfoEntry[] getBeanInfoEntryContributions(IConfigurationContributionInfo info);
-
- /**
- * For the given package path run the override contributions through the runnable.
- * <p>
- * This will be called by BeanInfo when it determines that this
- * contributor is applicable for the current project being processed.
- * <p>
- * Implementations must call the runnable (the argument <code>runnable</code>) for each override file that is to be applied to the incoming class.
- * You can either call the run method that passes in a string pointing to a directory where your override file is
- * located (i.e. <code>overrideFileName.override</code> where "overrideFileName" is the name passed. Or you can call the run method that
- * takes a Resource that is already loaded (and maybe modified or created locally).
- *
- * @param packagePath
- * @param overrideFileName the overrideFileName that the overrides is for. This can be used in very special cases to provide
- * exact override files instead of letting the path be searched. An example would be for providing a file that isn't the same name as the class.
- * A very special case is <code>ROOT</code>. This is used when asking to apply root overrides to classes that have no
- * super type.
- * @param javaClass the java class that the overrides will be applied to. Note: Do not call any property, features, events, or operations calls
- * or any property, events, or operations Utilities against this class. That is because this class is being introspected at this time
- * and those calls will return invalid values if called at this point since introspection is not yet complete.
- * @param resource set that contributors can use to temporarily load dynamic override files.
- * @param runnable the runnable that you call to actually apply the override files.
- *
- * @see BeaninfoPlugin#ROOT
- * @see BeaninfoPlugin#OVERRIDE_EXTENSION
- * @since 1.0.0
- */
- public void runOverrides(IPath packagePath, String overrideFileName, JavaClass javaClass, ResourceSet rset, BeaninfoPlugin.IContributorOverrideRunnable runnable);
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/IBeaninfoSupplier.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/IBeaninfoSupplier.java
deleted file mode 100644
index 61225d7c3..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/IBeaninfoSupplier.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo.core;
-/*
- * $RCSfile: IBeaninfoSupplier.java,v $
- * $Revision: 1.3 $ $Date: 2005/02/15 22:44:20 $
- */
-
-
-import org.eclipse.core.resources.IProject;
-
-import org.eclipse.jem.internal.proxy.core.ProxyFactoryRegistry;
-/**
- * Interface to supply information for beaninfo to decouple
- * the introspection from the desktop.
- */
-
-public interface IBeaninfoSupplier {
-
- /**
- * @return Return the registry to use. Initialize it if not already initialized.
- */
- public ProxyFactoryRegistry getRegistry();
-
- /**
- * Used to know if we currently have a registry created in the supplier.
- *
- * @return true if there is a registry currently in the supplier.
- */
- public boolean isRegistryCreated();
-
- /**
- * Close the registry. This tells the registry to close. This is necessary
- * at times because of changes to classes require the registry to be
- * reconstructed.
- */
- public void closeRegistry();
-
- /**
- * Return the project that this supplier is for.
- * @return
- *
- * @since 1.0.0
- */
- public IProject getProject();
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/IBeaninfosDocEntry.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/IBeaninfosDocEntry.java
deleted file mode 100644
index fa3af7f7e..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/IBeaninfosDocEntry.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo.core;
-/*
- * $RCSfile: IBeaninfosDocEntry.java,v $
- * $Revision: 1.3 $ $Date: 2005/02/15 22:44:20 $
- */
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-/**
- * Interface for DOM Doc writable entries.
- *
- * @version 1.0
- * @author
- */
-public interface IBeaninfosDocEntry {
- public Node writeEntry(Document doc, IProject project);
-
- public int getKind();
- public IPath getPath();
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/Init.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/Init.java
deleted file mode 100644
index 0659d1ef9..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/Init.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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.beaninfo.core;
-/*
- * $RCSfile: Init.java,v $
- * $Revision: 1.3 $ $Date: 2005/02/15 22:44:20 $
- */
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-
-import org.eclipse.jem.internal.beaninfo.adapters.BeaninfoAdapterFactory;
-import org.eclipse.jem.internal.java.beaninfo.IIntrospectionAdapter;
-import org.eclipse.jem.internal.proxy.core.ProxyFactoryRegistry;
-
-/**
- * Static initializer class to initialize the beaninfo stuff.
- * It is disconnected from the desktop and so doesn't require it.
- */
-
-public class Init {
-
- // So it can't be instantiated.
- private Init() {
- };
-
- /**
- * Initialize the context with an IBeaninfoSupplier, used to set up the
- * introspection process.
- *
- * The beaninfo supplier is responsible for setting up the bean info search path,
- * including removing the sun beaninfos, if desired.
- */
- public static void initialize(ResourceSet rset, final IBeaninfoSupplier supplier) {
- rset.getAdapterFactories().add(new BeaninfoAdapterFactory(supplier));
- }
-
- /**
- * Initialize the registry now that it is available.
- */
- public static void initialize(ProxyFactoryRegistry registry) {
- // Remove the "sun.beans.info" from the beaninfo search path because
- // we completely override the sun bean infos.
- Utilities.removeBeanInfoPath(registry, "sun.beans.infos"); //$NON-NLS-1$
- }
-
- /**
- * Cleanup from the context because we are being removed.
- * If clearResults is true, then the factory should clear the results of introspection
- * from the everything because the context will still be around.
- */
- public static void cleanup(ResourceSet rset, boolean clearResults) {
- BeaninfoAdapterFactory factory =
- (BeaninfoAdapterFactory) EcoreUtil.getAdapterFactory(rset.getAdapterFactories(), IIntrospectionAdapter.ADAPTER_KEY);
- rset.getAdapterFactories().remove(factory);
- if (factory != null)
- factory.closeAll(clearResults);
- }
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/SearchpathEntry.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/SearchpathEntry.java
deleted file mode 100644
index f9494da38..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/SearchpathEntry.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo.core;
-/*
- * $RCSfile: SearchpathEntry.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:44:20 $
- */
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.w3c.dom.*;
-
-import org.eclipse.jem.internal.beaninfo.adapters.*;
-
-/**
- * Searchpath entry. Beaninfo searchpath entry (i.e. package name). Can include
- * kind/path/exported if not a child of the BeaninfoEntry.
- *
- * Note: if not a child of a BeanInfoEntry, then the path refers to a package
- * in the classpath, so container is supported here.
- *
- * @version 1.0
- * @author
- */
-public class SearchpathEntry implements IBeaninfosDocEntry {
-
- final static String sSearchpath = "searchpath"; // Searchpath entry, shared with BeaninfosDoc. //$NON-NLS-1$
- final static String sPackage = "package"; // Package name. //$NON-NLS-1$
-
- /**
- * Read the entry in from the element.
- */
- public static SearchpathEntry readEntry(IReader reader, Object element, IProject project, boolean beaninfoChild) {
- String packageName = reader.getAttribute(element, sPackage);
- if (beaninfoChild)
- return new SearchpathEntry(packageName); // Kind/path aren't valid on beaninfo children.
-
- String elementKind = reader.getAttribute(element, BeaninfosDoc.sKind);
- String pathStr = reader.getAttribute(element, BeaninfosDoc.sPath);
- int kind = BeaninfoEntry.kindFromString(elementKind);
- IPath path = null;
- if (pathStr != null) {
- // ensure path is absolute
- path = new Path(pathStr);
- if (kind != IClasspathEntry.CPE_VARIABLE && kind != IClasspathEntry.CPE_CONTAINER && !path.isAbsolute()) {
- path = project != null ? project.getFullPath().append(path) : path.makeAbsolute(); // Some folder/jar within this project
- }
- }
-
- // create the appropriate entry
- boolean valid = true;
- switch (kind) {
-
- case IClasspathEntry.CPE_LIBRARY :
- valid = path != null && path.isAbsolute();
- break;
-
- case IClasspathEntry.CPE_SOURCE :
- if (path == null)
- valid = false;
- else if (path.isAbsolute()) {
- // must be an entry in this project or specify another project
- String projSegment = path.segment(0);
- if (project == null || projSegment == null || !projSegment.equals(project.getName())) {
- // another project
- kind = IClasspathEntry.CPE_PROJECT;
- }
- }
- break;
-
- case IClasspathEntry.CPE_VARIABLE :
- case IClasspathEntry.CPE_CONTAINER:
- break;
-
- default :
- valid = false;
- break;
- }
-
- if (valid)
- return new SearchpathEntry(kind, path, packageName);
- else
- return null;
-
- }
-
- protected int kind = -1; // Under Beaninfo entry, these don't have kind/path's.
- protected IPath path; // Path can be null if under beaninfo entry
- protected String packageName; // Packagename can be null if kind/path refer to a project or registered variable.
- protected boolean isExported;
-
- public SearchpathEntry(int kind, IPath path, String packageName) {
- this.kind = kind;
- this.path = path;
- this.packageName = packageName;
- }
-
- public SearchpathEntry(String packageName) {
- this.packageName = packageName;
- }
-
- public int getKind() {
- return kind;
- }
-
- public IPath getPath() {
- return path;
- }
-
- public String getPackage() {
- return packageName;
- }
-
- public Node writeEntry(Document doc, IProject project) {
-
- Element element = doc.createElement(sSearchpath);
- if (kind != -1) {
- // A non-beaninfo child
- element.setAttribute(BeaninfosDoc.sKind, BeaninfoEntry.kindToString(kind));
- IPath tPath = path;
- if (kind != IClasspathEntry.CPE_VARIABLE && kind != IClasspathEntry.CPE_CONTAINER) {
- // translate to project relative from absolute (unless a device path)
- if (tPath.isAbsolute()) {
- if (tPath.segment(0).equals(project.getFullPath().segment(0))) {
- tPath = tPath.removeFirstSegments(1);
- tPath = tPath.makeRelative();
- } else {
- tPath = tPath.makeAbsolute();
- }
- }
- }
-
- element.setAttribute(BeaninfosDoc.sPath, tPath.toString());
- }
- if (packageName != null)
- element.setAttribute(sPackage, packageName);
- return element;
- }
-
- public boolean equals(Object other) {
- if (this == other)
- return true;
-
- if (!(other instanceof SearchpathEntry))
- return false;
-
- SearchpathEntry otherEntry = (SearchpathEntry) other;
- if (kind != otherEntry.kind)
- return false;
-
- if (path == null)
- if (otherEntry.path != null)
- return false;
- else
- ;
- else if (!path.equals(otherEntry.path))
- return false;
-
- if (packageName == null)
- if (otherEntry.packageName != null)
- return false;
- else
- ;
- else if (!packageName.equals(otherEntry.packageName))
- return false;
-
- return true;
- }
-
- public int hashCode() {
- int hashCode = kind;
- if (path != null)
- hashCode ^= path.hashCode();
- if (packageName != null)
- hashCode ^= packageName.hashCode();
- return hashCode;
- }
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/Utilities.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/Utilities.java
deleted file mode 100644
index dac64cb0d..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/Utilities.java
+++ /dev/null
@@ -1,497 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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.beaninfo.core;
-/*
- * $RCSfile: Utilities.java,v $
- * $Revision: 1.6 $ $Date: 2005/02/15 22:44:20 $
- */
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.*;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-
-import org.eclipse.jem.internal.beaninfo.*;
-import org.eclipse.jem.internal.beaninfo.adapters.BeaninfoNature;
-import org.eclipse.jem.internal.beaninfo.adapters.BeaninfoProxyConstants;
-import org.eclipse.jem.internal.java.adapters.ReflectionAdaptor;
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.java.*;
-
-/**
- * Beaninfo (introspection) utilities methods
- */
-
-public final class Utilities {
-
- private Utilities() {
- }
-
- /**
- * Utility to return the class as a JavaClass. If it actually is a JavaType this will
- * fail with a ClassCastException.
- * @param className
- * @param rset
- * @return java class
- *
- * @throws ClassCastException if not a java class, but instead a java primitive.
- * @since 1.1.0
- */
- public static JavaClass getJavaClass(String className, ResourceSet rset) {
- return (JavaClass) getJavaType(className, rset);
- }
-
- /**
- * Utility to return the class as a JavaHelpers.
- *
- * @param className
- * @param rset
- * @return java helpers.
- *
- * @since 1.1.0
- */
- public static JavaHelpers getJavaType(String className, ResourceSet rset) {
- return (JavaHelpers) rset.getEObject(getJavaClassURI(className), true);
- }
-
- /**
- * Create a URI to the given classname.
- * <p>
- * Note: It must be in normal form, i.e. fully-qualified, if primitive spelled out (e.g. "int" not I), and if
- * arrays it must readable form (e.g. "new java.lang.String[]" and not "[Ljava.lang.String;").
- *
- * @param className
- * @return
- *
- * @since 1.1.0
- */
- public static URI getJavaClassURI(String className) {
- return URI.createURI((new JavaURL(className)).getFullString());
- }
-
- /**
- * Utility to return the EClassifier from the given IBeanTypeProxy.
- */
- public static EClassifier getJavaClass(IBeanTypeProxy type, ResourceSet rset) {
- if (type != null) {
- return getJavaType(type.getFormalTypeName(), rset);
- } else
- return null;
- }
-
- /**
- * Utility to return the Method from the given IMethodProxy.
- */
- public static Method getMethod(IMethodProxy method, ResourceSet rset) {
- return method != null ? (Method) rset.getEObject(URI.createURI(getMethodURL(method)), true) : null;
- }
-
- /**
- * Answer the URL String for Method from the given IMethodProxy
- */
- public static String getMethodURL(IMethodProxy method) {
- String className = method.getClassType().getTypeName();
- IBeanTypeProxy[] parms = method.getParameterTypes();
- String[] parmTypes = parms.length > 0 ? new String[parms.length] : null;
- for (int i = 0; i < parms.length; i++) {
- parmTypes[i] = parms[i].getFormalTypeName();
- }
- return computeMethodURL(className, method.getName(), parmTypes);
- }
-
- protected static String computeMethodURL(String fullyQualifiedClassName, String methodName, String[] parmTypes) {
- int classStart = fullyQualifiedClassName.lastIndexOf('.');
- StringBuffer url = new StringBuffer(50);
- url.append("java:/"); //$NON-NLS-1$
- if (classStart > -1)
- url.append(fullyQualifiedClassName.substring(0, classStart));
- url.append('#');
- url.append(computeMethodID(fullyQualifiedClassName.substring(classStart + 1), methodName, parmTypes));
- return url.toString();
- }
-
- protected static String computeFieldURL(String fullyQualifiedClassName, String fieldName) {
- int classStart = fullyQualifiedClassName.lastIndexOf('.');
- StringBuffer url = new StringBuffer(50);
- url.append("java:/"); //$NON-NLS-1$
- if (classStart > -1)
- url.append(fullyQualifiedClassName.substring(0, classStart));
- url.append('#');
- url.append(fullyQualifiedClassName.substring(classStart + 1));
- url.append(ReflectionAdaptor.C_CLASS_MEMBER_DELIMITER);
- url.append(fieldName);
- return url.toString();
- }
-
- /**
- * Return the field uri for the given classname, fieldname.
- * @param fullyQualifiedClassName
- * @param fieldName
- * @return
- *
- * @since 1.1.0
- */
- public static URI getFieldURI(String fullyQualifiedClassName, String fieldName) {
- return URI.createURI(computeFieldURL(fullyQualifiedClassName, fieldName));
- }
- /**
- * Return the method uri for the given classname, methodname, parm types.
- * @param fullyQualifiedClassName
- * @param methodName
- * @param parmTypes <code>null</code> if there are no parms.
- * @return
- *
- * @since 1.1.0
- */
- public static URI getMethodURI(String fullyQualifiedClassName, String methodName, String[] parmTypes) {
- return URI.createURI(computeMethodURL(fullyQualifiedClassName, methodName, parmTypes));
- }
-
- /**
- * Turn it into an URI.
- */
- public static URI getMethodURI(IMethodProxy method) {
- return URI.createURI(getMethodURL(method));
- }
-
- /**
- * Utility to compute the Java Modeling METHODID from method declaring class name,
- * method name, and parameter class names.
- */
- public static String computeMethodID(String className, String methodName, String[] parameterTypes) {
- StringBuffer out = new StringBuffer(50);
- out.append(className);
- out.append(ReflectionAdaptor.C_CLASS_MEMBER_DELIMITER);
- out.append(methodName);
- out.append(ReflectionAdaptor.C_METHOD_PARM_DELIMITER);
- if (parameterTypes != null)
- for (int i = 0; i < parameterTypes.length; i++) {
- out.append(parameterTypes[i]);
- if (i < parameterTypes.length - 1)
- out.append(ReflectionAdaptor.C_PARM_PARM_DELIMITER);
- }
- if (className.equals(methodName))
- out.append(ReflectionAdaptor.S_CONSTRUCTOR_TOKEN); //It's a constructor
- return out.toString();
- }
-
- /**
- * Utility to retrieve the BeanDecorator.
- */
- public static BeanDecorator getBeanDecorator(EModelElement model) {
- return (BeanDecorator) getDecorator(model, BeanDecorator.class);
- }
- /**
- * Utility to retrieve a decorator of the specified class.
- */
- public static EAnnotation getDecorator(EModelElement model, Class decoratorClass) {
- Iterator itr = model.getEAnnotations().iterator();
- while (itr.hasNext()) {
- EAnnotation decr = (EAnnotation) itr.next();
- if (decoratorClass.isInstance(decr))
- return decr;
- }
- return null;
- }
-
- /**
- * Utility to retrieve the EventSetDecorator.
- */
- public static EventSetDecorator getEventSetDecorator(EModelElement model) {
- return (EventSetDecorator) getDecorator(model, EventSetDecorator.class);
- }
-
- /**
- * Utility to retrieve the MethodDecorator.
- */
- public static MethodDecorator getMethodDecorator(EModelElement model) {
- return (MethodDecorator) getDecorator(model, MethodDecorator.class);
- }
-
- /**
- * Utility to retrieve the PropertyDecorator.
- */
- public static PropertyDecorator getPropertyDecorator(EModelElement model) {
- return (PropertyDecorator) getDecorator(model, PropertyDecorator.class);
- }
-
- /**
- * Utility to return an iterator on the list which will return the property decorators
- * of only the properties in the EList passed in. If the property does not have a
- * property decorator, then it is not a beaninfo property.
- */
- public static Iterator getPropertiesIterator(final EList properties) {
- return new Iterator() {
- private Iterator itr = properties.iterator();
- private boolean hasNext = true;
- private PropertyDecorator next;
- {
- findNext();
- }
- public boolean hasNext() {
- return hasNext;
- }
-
- public Object next() {
- PropertyDecorator temp = next;
- findNext();
- return temp;
- }
-
- public void remove() {
- throw new UnsupportedOperationException();
- }
-
- private void findNext() {
- while (itr.hasNext()) {
- EModelElement nextOne = (EModelElement) itr.next();
- next = getPropertyDecorator(nextOne);
- if (next != null) {
- return;
- }
- }
- hasNext = false;
- }
- };
- }
-
- /**
- * Utility to return an iterator on the list which will return the EventSet decorators
- * of only the BeanEvents in the EList passed in.
- */
- public static Iterator getEventSetsIterator(final EList events) {
- return new Iterator() {
- private Iterator itr = events.iterator();
- private boolean hasNext = true;
- private EventSetDecorator next;
- {
- findNext();
- }
- public boolean hasNext() {
- return hasNext;
- }
-
- public Object next() {
- EventSetDecorator temp = next;
- findNext();
- return temp;
- }
-
- public void remove() {
- throw new UnsupportedOperationException();
- }
-
- private void findNext() {
- while (itr.hasNext()) {
- EModelElement nextOne = (EModelElement) itr.next();
- next = getEventSetDecorator(nextOne);
- if (next != null) {
- return;
- }
- }
- hasNext = false;
- }
- };
- }
-
- /**
- * Utility to return an iterator on the list which will return the Method decorators
- * of only the Methods in the EList passed in.
- */
- public static Iterator getMethodsIterator(final EList methods) {
- return new Iterator() {
- private Iterator itr = methods.iterator();
- private boolean hasNext = true;
- private MethodDecorator next;
- {
- findNext();
- }
- public boolean hasNext() {
- return hasNext;
- }
-
- public Object next() {
- MethodDecorator temp = next;
- findNext();
- return temp;
- }
-
- public void remove() {
- throw new UnsupportedOperationException();
- }
-
- private void findNext() {
- while (itr.hasNext()) {
- EModelElement nextOne = (EModelElement) itr.next();
- next = getMethodDecorator(nextOne);
- if (next != null) {
- return;
- }
- }
- hasNext = false;
- }
- };
- }
-
- /**
- * Get the search path from the remote vm.
- *
- * Note: This shouldn't be used when working with a BeaninfoNature. Use the
- * accessors taking the nature instead. Otherwise there will be inconsistencies since the search path won't be
- * saved across invocations of the workspace if it is not updated through the nature).
- */
- public static IArrayBeanProxy getBeanInfoSearchPath(ProxyFactoryRegistry registry) {
- return (IArrayBeanProxy) BeaninfoProxyConstants
- .getConstants(registry)
- .getGetBeanInfoSearchPathProxy()
- .invokeCatchThrowableExceptions(
- null);
- }
-
- /**
- * Set the search path to the array of strings passed in on the remote vm.
- *
- * Note: This shouldn't be used when working with a BeaninfoNature. Use the
- * accessors taking the nature instead. Otherwise there will be inconsistencies since the search path won't be
- * saved across invocations of the workspace if it is not updated through the nature).
- */
- public static void setBeanInfoSearchPath(ProxyFactoryRegistry registry, String[] paths) {
-
- try {
- BeaninfoProxyConstants biConstants = BeaninfoProxyConstants.getConstants(registry);
- JavaStandardBeanProxyConstants jConstants = JavaStandardBeanProxyConstants.getConstants(registry);
- IStandardBeanProxyFactory proxyFactory = registry.getBeanProxyFactory();
- IArrayBeanProxy newPath = proxyFactory.createBeanProxyWith(jConstants.getStringType(), paths != null ? paths.length : 0);
- if (paths != null)
- for (int i = 0; i < paths.length; i++)
- newPath.set(proxyFactory.createBeanProxyWith(paths[i]), i);
- biConstants.getSetBeanInfoSearchPathProxy().invoke(null, newPath);
- } catch (ThrowableProxy e) {
- }
- }
-
- /**
- * From the Beaninfo Nature, insert a path to the beaninfo path at the given index, -1 means at the end.
- * If index is larger than the current path, it will also add at the end.
- */
- public static void insertBeanInfoSearchPath(BeaninfoNature nature, IBeaninfosDocEntry path, int index) throws CoreException {
- BeaninfosDoc infoPath = nature.getSearchPath();
- IBeaninfosDocEntry[] oldPath = infoPath.getSearchpath();
-
- IBeaninfosDocEntry[] newPath = new IBeaninfosDocEntry[oldPath.length + 1];
-
- if (index == -1 || index >= oldPath.length) {
- // At the end or past end
- System.arraycopy(oldPath, 0, newPath, 0, oldPath.length);
- newPath[oldPath.length] = path;
- } else {
- // In the middle
- System.arraycopy(oldPath, 0, newPath, 0, index);
- newPath[index] = path;
- System.arraycopy(oldPath, index, newPath, index + 1, oldPath.length - index);
- }
-
- infoPath.setSearchpath(newPath);
- nature.setSearchPath(infoPath);
- }
-
- /**
- * Insert a path to the beaninfo path at the given index, -1 means at the end.
- * If index is larger than the current path, it will also add at the end.
- *
- * Note: This shouldn't be used when working with a BeaninfoNature. Use the
- * accessors taking the nature instead. Otherwise there will be inconsistencies since the search path won't be
- * saved across invocations of the workspace if it is not updated through the nature).
- */
- public static void insertBeanInfoSearchPath(ProxyFactoryRegistry registry, String path, int index) {
- try {
- BeaninfoProxyConstants biConstants = BeaninfoProxyConstants.getConstants(registry);
- IArrayBeanProxy infoPath = (IArrayBeanProxy) biConstants.getGetBeanInfoSearchPathProxy().invoke(null);
- int pathLength = infoPath.getLength();
-
- IStandardBeanProxyFactory proxyFactory = registry.getBeanProxyFactory();
-
- IArrayBeanProxy newPath = proxyFactory.createBeanProxyWith(infoPath.getTypeProxy(), pathLength + 1);
- IBeanProxy stringProxy = proxyFactory.createBeanProxyWith(path);
-
- JavaStandardBeanProxyConstants constants = JavaStandardBeanProxyConstants.getConstants(registry);
- if (index == -1 || index >= pathLength) {
- // At the end or past end
- constants.arraycopy(infoPath, 0, newPath, 0, infoPath.getLength());
- newPath.set(stringProxy, pathLength);
- } else {
- // In the middle
- constants.arraycopy(infoPath, 0, newPath, 0, index);
- newPath.set(stringProxy, index);
- constants.arraycopy(infoPath, index, newPath, index + 1, pathLength - index);
- }
-
- biConstants.getSetBeanInfoSearchPathProxy().invoke(null, newPath);
- } catch (ThrowableProxy e) {
- }
- }
-
- /**
- * From the Beaninfo Nature, remove the specified path from the beaninfo search path.
- * Not an error if not found.
- */
- public static void removeBeanInfoPath(BeaninfoNature nature, IBeaninfosDocEntry path) throws CoreException {
- BeaninfosDoc infoPath = nature.getSearchPath();
- IBeaninfosDocEntry[] oldPath = infoPath.getSearchpath();
-
- for (int i = 0; i < oldPath.length; i++) {
- if (path.equals(oldPath[i])) {
- // We found it, so remove it.
- IBeaninfosDocEntry[] newPath = new IBeaninfosDocEntry[oldPath.length - 1];
- System.arraycopy(oldPath, 0, newPath, 0, i);
- if (i < oldPath.length - 1)
- System.arraycopy(oldPath, i + 1, newPath, i, oldPath.length - i - 1);
- infoPath.setSearchpath(newPath);
- nature.setSearchPath(infoPath);
- return;
- }
- }
- }
-
- /**
- * Remove the specified path from the beaninfo search path.
- * Not an error if not found.
- *
- * Note: This shouldn't be used when working with a BeaninfoNature. Use the
- * accessors taking the nature instead. Otherwise there will be inconsistencies since the search path won't be
- * saved across invocations of the workspace if it is not updated through the nature).
- */
- public static void removeBeanInfoPath(ProxyFactoryRegistry registry, String path) {
- try {
- BeaninfoProxyConstants biConstants = BeaninfoProxyConstants.getConstants(registry);
- IArrayBeanProxy infoPath = (IArrayBeanProxy) biConstants.getGetBeanInfoSearchPathProxy().invoke(null);
- int pathLength = infoPath.getLength();
-
- for (int i = 0; i < pathLength; i++) {
- IStringBeanProxy aPath = (IStringBeanProxy) infoPath.get(i);
- if (path.equals(aPath.stringValue())) {
- // We found it, so remove it.
- IArrayBeanProxy newPath = registry.getBeanProxyFactory().createBeanProxyWith(infoPath.getTypeProxy(), pathLength - 1);
- JavaStandardBeanProxyConstants constants = JavaStandardBeanProxyConstants.getConstants(registry);
- constants.arraycopy(infoPath, 0, newPath, 0, i);
- if (i < pathLength - 1)
- constants.arraycopy(infoPath, i + 1, newPath, i, pathLength - i - 1);
- biConstants.getSetBeanInfoSearchPathProxy().invoke(null, newPath);
- return;
- }
- }
- } catch (ThrowableProxy e) {
- }
- };
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/messages.properties b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/messages.properties
deleted file mode 100644
index 5c62382f8..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/messages.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2004 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
-###############################################################################
-#
-BeanInfoCacheController_Job_WriteBeaninfoCache_Title=Write BeanInfo cache files
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/BeanDecoratorImpl.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/BeanDecoratorImpl.java
deleted file mode 100644
index 9f7cb8759..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/BeanDecoratorImpl.java
+++ /dev/null
@@ -1,1057 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo.impl;
-/*
- * $RCSfile: BeanDecoratorImpl.java,v $
- * $Revision: 1.15 $ $Date: 2005/04/14 19:05:36 $
- */
-
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Collection;
-import java.util.logging.Level;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EModelElement;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.internal.beaninfo.BeanDecorator;
-import org.eclipse.jem.internal.beaninfo.BeaninfoPackage;
-import org.eclipse.jem.internal.beaninfo.ImplicitItem;
-
-import org.eclipse.jem.internal.beaninfo.common.FeatureAttributeValue;
-import org.eclipse.jem.internal.beaninfo.core.*;
-import org.eclipse.jem.java.JavaClass;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Bean Decorator</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.BeanDecoratorImpl#isMergeSuperProperties <em>Merge Super Properties</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.BeanDecoratorImpl#isMergeSuperMethods <em>Merge Super Methods</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.BeanDecoratorImpl#isMergeSuperEvents <em>Merge Super Events</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.BeanDecoratorImpl#isIntrospectProperties <em>Introspect Properties</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.BeanDecoratorImpl#isIntrospectMethods <em>Introspect Methods</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.BeanDecoratorImpl#isIntrospectEvents <em>Introspect Events</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.BeanDecoratorImpl#isDoBeaninfo <em>Do Beaninfo</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.BeanDecoratorImpl#getNotInheritedPropertyNames <em>Not Inherited Property Names</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.BeanDecoratorImpl#getNotInheritedMethodNames <em>Not Inherited Method Names</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.BeanDecoratorImpl#getNotInheritedEventNames <em>Not Inherited Event Names</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.BeanDecoratorImpl#getCustomizerClass <em>Customizer Class</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-
-
-public class BeanDecoratorImpl extends FeatureDecoratorImpl implements BeanDecorator{
-
- /**
- * Bits for implicitly set features. This is internal, not meant for clients.
- */
- public static final long BEAN_CUSTOMIZER_IMPLICIT = 0x1L;
- public static final long BEAN_MERGE_INHERITED_PROPERTIES_IMPLICIT = 0x2L;
- public static final long BEAN_MERGE_INHERITED_OPERATIONS_IMPLICIT = 0x4L;
- public static final long BEAN_MERGE_INHERITED_EVENTS_IMPLICIT = 0x8L;
-
- /**
- * The default value of the '{@link #isMergeSuperProperties() <em>Merge Super Properties</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isMergeSuperProperties()
- * @generated
- * @ordered
- */
- protected static final boolean MERGE_SUPER_PROPERTIES_EDEFAULT = true;
-
- /**
- * The cached value of the '{@link #isMergeSuperProperties() <em>Merge Super Properties</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isMergeSuperProperties()
- * @generated
- * @ordered
- */
- protected boolean mergeSuperProperties = MERGE_SUPER_PROPERTIES_EDEFAULT;
- /**
- * This is true if the Merge Super Properties attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean mergeSuperPropertiesESet = false;
-
- /**
- * The default value of the '{@link #isMergeSuperMethods() <em>Merge Super Methods</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isMergeSuperMethods()
- * @generated
- * @ordered
- */
- protected static final boolean MERGE_SUPER_METHODS_EDEFAULT = true;
-
- /**
- * The cached value of the '{@link #isMergeSuperMethods() <em>Merge Super Methods</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isMergeSuperMethods()
- * @generated
- * @ordered
- */
- protected boolean mergeSuperMethods = MERGE_SUPER_METHODS_EDEFAULT;
- /**
- * This is true if the Merge Super Methods attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean mergeSuperMethodsESet = false;
-
- /**
- * The default value of the '{@link #isMergeSuperEvents() <em>Merge Super Events</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isMergeSuperEvents()
- * @generated
- * @ordered
- */
- protected static final boolean MERGE_SUPER_EVENTS_EDEFAULT = true;
-
- /**
- * The cached value of the '{@link #isMergeSuperEvents() <em>Merge Super Events</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isMergeSuperEvents()
- * @generated
- * @ordered
- */
- protected boolean mergeSuperEvents = MERGE_SUPER_EVENTS_EDEFAULT;
- /**
- * This is true if the Merge Super Events attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean mergeSuperEventsESet = false;
-
- /**
- * The default value of the '{@link #isIntrospectProperties() <em>Introspect Properties</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isIntrospectProperties()
- * @generated
- * @ordered
- */
- protected static final boolean INTROSPECT_PROPERTIES_EDEFAULT = true;
-
- /**
- * The cached value of the '{@link #isIntrospectProperties() <em>Introspect Properties</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isIntrospectProperties()
- * @generated
- * @ordered
- */
- protected boolean introspectProperties = INTROSPECT_PROPERTIES_EDEFAULT;
- /**
- * The default value of the '{@link #isIntrospectMethods() <em>Introspect Methods</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isIntrospectMethods()
- * @generated
- * @ordered
- */
- protected static final boolean INTROSPECT_METHODS_EDEFAULT = true;
-
- /**
- * The cached value of the '{@link #isIntrospectMethods() <em>Introspect Methods</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isIntrospectMethods()
- * @generated
- * @ordered
- */
- protected boolean introspectMethods = INTROSPECT_METHODS_EDEFAULT;
- /**
- * The default value of the '{@link #isIntrospectEvents() <em>Introspect Events</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isIntrospectEvents()
- * @generated
- * @ordered
- */
- protected static final boolean INTROSPECT_EVENTS_EDEFAULT = true;
-
- /**
- * The cached value of the '{@link #isIntrospectEvents() <em>Introspect Events</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isIntrospectEvents()
- * @generated
- * @ordered
- */
- protected boolean introspectEvents = INTROSPECT_EVENTS_EDEFAULT;
- /**
- * The default value of the '{@link #isDoBeaninfo() <em>Do Beaninfo</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isDoBeaninfo()
- * @generated
- * @ordered
- */
- protected static final boolean DO_BEANINFO_EDEFAULT = true;
-
- /**
- * The cached value of the '{@link #isDoBeaninfo() <em>Do Beaninfo</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isDoBeaninfo()
- * @generated
- * @ordered
- */
- protected boolean doBeaninfo = DO_BEANINFO_EDEFAULT;
- /**
- * The cached value of the '{@link #getNotInheritedPropertyNames() <em>Not Inherited Property Names</em>}' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getNotInheritedPropertyNames()
- * @generated
- * @ordered
- */
- protected EList notInheritedPropertyNames = null;
-
- /**
- * The cached value of the '{@link #getNotInheritedMethodNames() <em>Not Inherited Method Names</em>}' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getNotInheritedMethodNames()
- * @generated
- * @ordered
- */
- protected EList notInheritedMethodNames = null;
-
- /**
- * The cached value of the '{@link #getNotInheritedEventNames() <em>Not Inherited Event Names</em>}' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getNotInheritedEventNames()
- * @generated
- * @ordered
- */
- protected EList notInheritedEventNames = null;
-
- /**
- * The cached value of the '{@link #getCustomizerClass() <em>Customizer Class</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getCustomizerClass()
- * @generated
- * @ordered
- */
- protected JavaClass customizerClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected BeanDecoratorImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return BeaninfoPackage.eINSTANCE.getBeanDecorator();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isMergeSuperProperties() {
- return mergeSuperProperties;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setMergeSuperProperties(boolean newMergeSuperProperties) {
- boolean oldMergeSuperProperties = mergeSuperProperties;
- mergeSuperProperties = newMergeSuperProperties;
- boolean oldMergeSuperPropertiesESet = mergeSuperPropertiesESet;
- mergeSuperPropertiesESet = true;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.BEAN_DECORATOR__MERGE_SUPER_PROPERTIES, oldMergeSuperProperties, mergeSuperProperties, !oldMergeSuperPropertiesESet));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetMergeSuperProperties() {
- boolean oldMergeSuperProperties = mergeSuperProperties;
- boolean oldMergeSuperPropertiesESet = mergeSuperPropertiesESet;
- mergeSuperProperties = MERGE_SUPER_PROPERTIES_EDEFAULT;
- mergeSuperPropertiesESet = false;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.UNSET, BeaninfoPackage.BEAN_DECORATOR__MERGE_SUPER_PROPERTIES, oldMergeSuperProperties, MERGE_SUPER_PROPERTIES_EDEFAULT, oldMergeSuperPropertiesESet));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetMergeSuperProperties() {
- return mergeSuperPropertiesESet;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isMergeSuperMethods() {
- return mergeSuperMethods;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setMergeSuperMethods(boolean newMergeSuperMethods) {
- boolean oldMergeSuperMethods = mergeSuperMethods;
- mergeSuperMethods = newMergeSuperMethods;
- boolean oldMergeSuperMethodsESet = mergeSuperMethodsESet;
- mergeSuperMethodsESet = true;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.BEAN_DECORATOR__MERGE_SUPER_METHODS, oldMergeSuperMethods, mergeSuperMethods, !oldMergeSuperMethodsESet));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetMergeSuperMethods() {
- boolean oldMergeSuperMethods = mergeSuperMethods;
- boolean oldMergeSuperMethodsESet = mergeSuperMethodsESet;
- mergeSuperMethods = MERGE_SUPER_METHODS_EDEFAULT;
- mergeSuperMethodsESet = false;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.UNSET, BeaninfoPackage.BEAN_DECORATOR__MERGE_SUPER_METHODS, oldMergeSuperMethods, MERGE_SUPER_METHODS_EDEFAULT, oldMergeSuperMethodsESet));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetMergeSuperMethods() {
- return mergeSuperMethodsESet;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isMergeSuperEvents() {
- return mergeSuperEvents;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setMergeSuperEvents(boolean newMergeSuperEvents) {
- boolean oldMergeSuperEvents = mergeSuperEvents;
- mergeSuperEvents = newMergeSuperEvents;
- boolean oldMergeSuperEventsESet = mergeSuperEventsESet;
- mergeSuperEventsESet = true;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.BEAN_DECORATOR__MERGE_SUPER_EVENTS, oldMergeSuperEvents, mergeSuperEvents, !oldMergeSuperEventsESet));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetMergeSuperEvents() {
- boolean oldMergeSuperEvents = mergeSuperEvents;
- boolean oldMergeSuperEventsESet = mergeSuperEventsESet;
- mergeSuperEvents = MERGE_SUPER_EVENTS_EDEFAULT;
- mergeSuperEventsESet = false;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.UNSET, BeaninfoPackage.BEAN_DECORATOR__MERGE_SUPER_EVENTS, oldMergeSuperEvents, MERGE_SUPER_EVENTS_EDEFAULT, oldMergeSuperEventsESet));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetMergeSuperEvents() {
- return mergeSuperEventsESet;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isIntrospectProperties() {
- return introspectProperties;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setIntrospectProperties(boolean newIntrospectProperties) {
- boolean oldIntrospectProperties = introspectProperties;
- introspectProperties = newIntrospectProperties;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.BEAN_DECORATOR__INTROSPECT_PROPERTIES, oldIntrospectProperties, introspectProperties));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isIntrospectMethods() {
- return introspectMethods;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setIntrospectMethods(boolean newIntrospectMethods) {
- boolean oldIntrospectMethods = introspectMethods;
- introspectMethods = newIntrospectMethods;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.BEAN_DECORATOR__INTROSPECT_METHODS, oldIntrospectMethods, introspectMethods));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isIntrospectEvents() {
- return introspectEvents;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setIntrospectEvents(boolean newIntrospectEvents) {
- boolean oldIntrospectEvents = introspectEvents;
- introspectEvents = newIntrospectEvents;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.BEAN_DECORATOR__INTROSPECT_EVENTS, oldIntrospectEvents, introspectEvents));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setCustomizerClass(JavaClass newCustomizerClass) {
- JavaClass oldCustomizerClass = customizerClass;
- customizerClass = newCustomizerClass;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.BEAN_DECORATOR__CUSTOMIZER_CLASS, oldCustomizerClass, customizerClass));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case BeaninfoPackage.BEAN_DECORATOR__EANNOTATIONS:
- return ((InternalEList)getEAnnotations()).basicAdd(otherEnd, msgs);
- case BeaninfoPackage.BEAN_DECORATOR__EMODEL_ELEMENT:
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, BeaninfoPackage.BEAN_DECORATOR__EMODEL_ELEMENT, msgs);
- default:
- return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
- }
- }
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case BeaninfoPackage.BEAN_DECORATOR__EANNOTATIONS:
- return ((InternalEList)getEAnnotations()).basicRemove(otherEnd, msgs);
- case BeaninfoPackage.BEAN_DECORATOR__DETAILS:
- return ((InternalEList)getDetails()).basicRemove(otherEnd, msgs);
- case BeaninfoPackage.BEAN_DECORATOR__EMODEL_ELEMENT:
- return eBasicSetContainer(null, BeaninfoPackage.BEAN_DECORATOR__EMODEL_ELEMENT, msgs);
- case BeaninfoPackage.BEAN_DECORATOR__CONTENTS:
- return ((InternalEList)getContents()).basicRemove(otherEnd, msgs);
- case BeaninfoPackage.BEAN_DECORATOR__ATTRIBUTES:
- return ((InternalEList)getAttributes()).basicRemove(otherEnd, msgs);
- default:
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
- if (eContainerFeatureID >= 0) {
- switch (eContainerFeatureID) {
- case BeaninfoPackage.BEAN_DECORATOR__EMODEL_ELEMENT:
- return eContainer.eInverseRemove(this, EcorePackage.EMODEL_ELEMENT__EANNOTATIONS, EModelElement.class, msgs);
- default:
- return eDynamicBasicRemoveFromContainer(msgs);
- }
- }
- return eContainer.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.BEAN_DECORATOR__EANNOTATIONS:
- return getEAnnotations();
- case BeaninfoPackage.BEAN_DECORATOR__SOURCE:
- return getSource();
- case BeaninfoPackage.BEAN_DECORATOR__DETAILS:
- return getDetails();
- case BeaninfoPackage.BEAN_DECORATOR__EMODEL_ELEMENT:
- return getEModelElement();
- case BeaninfoPackage.BEAN_DECORATOR__CONTENTS:
- return getContents();
- case BeaninfoPackage.BEAN_DECORATOR__REFERENCES:
- return getReferences();
- case BeaninfoPackage.BEAN_DECORATOR__DISPLAY_NAME:
- return getDisplayName();
- case BeaninfoPackage.BEAN_DECORATOR__SHORT_DESCRIPTION:
- return getShortDescription();
- case BeaninfoPackage.BEAN_DECORATOR__CATEGORY:
- return getCategory();
- case BeaninfoPackage.BEAN_DECORATOR__EXPERT:
- return isExpert() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.BEAN_DECORATOR__HIDDEN:
- return isHidden() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.BEAN_DECORATOR__PREFERRED:
- return isPreferred() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.BEAN_DECORATOR__MERGE_INTROSPECTION:
- return isMergeIntrospection() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.BEAN_DECORATOR__ATTRIBUTES_EXPLICIT_EMPTY:
- return isAttributesExplicitEmpty() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.BEAN_DECORATOR__IMPLICITLY_SET_BITS:
- return new Long(getImplicitlySetBits());
- case BeaninfoPackage.BEAN_DECORATOR__IMPLICIT_DECORATOR_FLAG:
- return getImplicitDecoratorFlag();
- case BeaninfoPackage.BEAN_DECORATOR__ATTRIBUTES:
- return getAttributes();
- case BeaninfoPackage.BEAN_DECORATOR__MERGE_SUPER_PROPERTIES:
- return isMergeSuperProperties() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.BEAN_DECORATOR__MERGE_SUPER_METHODS:
- return isMergeSuperMethods() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.BEAN_DECORATOR__MERGE_SUPER_EVENTS:
- return isMergeSuperEvents() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.BEAN_DECORATOR__INTROSPECT_PROPERTIES:
- return isIntrospectProperties() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.BEAN_DECORATOR__INTROSPECT_METHODS:
- return isIntrospectMethods() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.BEAN_DECORATOR__INTROSPECT_EVENTS:
- return isIntrospectEvents() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.BEAN_DECORATOR__DO_BEANINFO:
- return isDoBeaninfo() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.BEAN_DECORATOR__NOT_INHERITED_PROPERTY_NAMES:
- return getNotInheritedPropertyNames();
- case BeaninfoPackage.BEAN_DECORATOR__NOT_INHERITED_METHOD_NAMES:
- return getNotInheritedMethodNames();
- case BeaninfoPackage.BEAN_DECORATOR__NOT_INHERITED_EVENT_NAMES:
- return getNotInheritedEventNames();
- case BeaninfoPackage.BEAN_DECORATOR__CUSTOMIZER_CLASS:
- if (resolve) return getCustomizerClass();
- return basicGetCustomizerClass();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.BEAN_DECORATOR__EANNOTATIONS:
- getEAnnotations().clear();
- getEAnnotations().addAll((Collection)newValue);
- return;
- case BeaninfoPackage.BEAN_DECORATOR__SOURCE:
- setSource((String)newValue);
- return;
- case BeaninfoPackage.BEAN_DECORATOR__DETAILS:
- getDetails().clear();
- getDetails().addAll((Collection)newValue);
- return;
- case BeaninfoPackage.BEAN_DECORATOR__EMODEL_ELEMENT:
- setEModelElement((EModelElement)newValue);
- return;
- case BeaninfoPackage.BEAN_DECORATOR__CONTENTS:
- getContents().clear();
- getContents().addAll((Collection)newValue);
- return;
- case BeaninfoPackage.BEAN_DECORATOR__REFERENCES:
- getReferences().clear();
- getReferences().addAll((Collection)newValue);
- return;
- case BeaninfoPackage.BEAN_DECORATOR__DISPLAY_NAME:
- setDisplayName((String)newValue);
- return;
- case BeaninfoPackage.BEAN_DECORATOR__SHORT_DESCRIPTION:
- setShortDescription((String)newValue);
- return;
- case BeaninfoPackage.BEAN_DECORATOR__CATEGORY:
- setCategory((String)newValue);
- return;
- case BeaninfoPackage.BEAN_DECORATOR__EXPERT:
- setExpert(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.BEAN_DECORATOR__HIDDEN:
- setHidden(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.BEAN_DECORATOR__PREFERRED:
- setPreferred(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.BEAN_DECORATOR__MERGE_INTROSPECTION:
- setMergeIntrospection(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.BEAN_DECORATOR__ATTRIBUTES_EXPLICIT_EMPTY:
- setAttributesExplicitEmpty(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.BEAN_DECORATOR__IMPLICITLY_SET_BITS:
- setImplicitlySetBits(((Long)newValue).longValue());
- return;
- case BeaninfoPackage.BEAN_DECORATOR__IMPLICIT_DECORATOR_FLAG:
- setImplicitDecoratorFlag((ImplicitItem)newValue);
- return;
- case BeaninfoPackage.BEAN_DECORATOR__ATTRIBUTES:
- getAttributes().clear();
- getAttributes().addAll((Collection)newValue);
- return;
- case BeaninfoPackage.BEAN_DECORATOR__MERGE_SUPER_PROPERTIES:
- setMergeSuperProperties(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.BEAN_DECORATOR__MERGE_SUPER_METHODS:
- setMergeSuperMethods(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.BEAN_DECORATOR__MERGE_SUPER_EVENTS:
- setMergeSuperEvents(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.BEAN_DECORATOR__INTROSPECT_PROPERTIES:
- setIntrospectProperties(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.BEAN_DECORATOR__INTROSPECT_METHODS:
- setIntrospectMethods(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.BEAN_DECORATOR__INTROSPECT_EVENTS:
- setIntrospectEvents(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.BEAN_DECORATOR__DO_BEANINFO:
- setDoBeaninfo(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.BEAN_DECORATOR__NOT_INHERITED_PROPERTY_NAMES:
- getNotInheritedPropertyNames().clear();
- getNotInheritedPropertyNames().addAll((Collection)newValue);
- return;
- case BeaninfoPackage.BEAN_DECORATOR__NOT_INHERITED_METHOD_NAMES:
- getNotInheritedMethodNames().clear();
- getNotInheritedMethodNames().addAll((Collection)newValue);
- return;
- case BeaninfoPackage.BEAN_DECORATOR__NOT_INHERITED_EVENT_NAMES:
- getNotInheritedEventNames().clear();
- getNotInheritedEventNames().addAll((Collection)newValue);
- return;
- case BeaninfoPackage.BEAN_DECORATOR__CUSTOMIZER_CLASS:
- setCustomizerClass((JavaClass)newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.BEAN_DECORATOR__EANNOTATIONS:
- getEAnnotations().clear();
- return;
- case BeaninfoPackage.BEAN_DECORATOR__SOURCE:
- setSource(SOURCE_EDEFAULT);
- return;
- case BeaninfoPackage.BEAN_DECORATOR__DETAILS:
- getDetails().clear();
- return;
- case BeaninfoPackage.BEAN_DECORATOR__EMODEL_ELEMENT:
- setEModelElement((EModelElement)null);
- return;
- case BeaninfoPackage.BEAN_DECORATOR__CONTENTS:
- getContents().clear();
- return;
- case BeaninfoPackage.BEAN_DECORATOR__REFERENCES:
- getReferences().clear();
- return;
- case BeaninfoPackage.BEAN_DECORATOR__DISPLAY_NAME:
- unsetDisplayName();
- return;
- case BeaninfoPackage.BEAN_DECORATOR__SHORT_DESCRIPTION:
- unsetShortDescription();
- return;
- case BeaninfoPackage.BEAN_DECORATOR__CATEGORY:
- setCategory(CATEGORY_EDEFAULT);
- return;
- case BeaninfoPackage.BEAN_DECORATOR__EXPERT:
- unsetExpert();
- return;
- case BeaninfoPackage.BEAN_DECORATOR__HIDDEN:
- unsetHidden();
- return;
- case BeaninfoPackage.BEAN_DECORATOR__PREFERRED:
- unsetPreferred();
- return;
- case BeaninfoPackage.BEAN_DECORATOR__MERGE_INTROSPECTION:
- setMergeIntrospection(MERGE_INTROSPECTION_EDEFAULT);
- return;
- case BeaninfoPackage.BEAN_DECORATOR__ATTRIBUTES_EXPLICIT_EMPTY:
- setAttributesExplicitEmpty(ATTRIBUTES_EXPLICIT_EMPTY_EDEFAULT);
- return;
- case BeaninfoPackage.BEAN_DECORATOR__IMPLICITLY_SET_BITS:
- setImplicitlySetBits(IMPLICITLY_SET_BITS_EDEFAULT);
- return;
- case BeaninfoPackage.BEAN_DECORATOR__IMPLICIT_DECORATOR_FLAG:
- setImplicitDecoratorFlag(IMPLICIT_DECORATOR_FLAG_EDEFAULT);
- return;
- case BeaninfoPackage.BEAN_DECORATOR__ATTRIBUTES:
- getAttributes().clear();
- return;
- case BeaninfoPackage.BEAN_DECORATOR__MERGE_SUPER_PROPERTIES:
- unsetMergeSuperProperties();
- return;
- case BeaninfoPackage.BEAN_DECORATOR__MERGE_SUPER_METHODS:
- unsetMergeSuperMethods();
- return;
- case BeaninfoPackage.BEAN_DECORATOR__MERGE_SUPER_EVENTS:
- unsetMergeSuperEvents();
- return;
- case BeaninfoPackage.BEAN_DECORATOR__INTROSPECT_PROPERTIES:
- setIntrospectProperties(INTROSPECT_PROPERTIES_EDEFAULT);
- return;
- case BeaninfoPackage.BEAN_DECORATOR__INTROSPECT_METHODS:
- setIntrospectMethods(INTROSPECT_METHODS_EDEFAULT);
- return;
- case BeaninfoPackage.BEAN_DECORATOR__INTROSPECT_EVENTS:
- setIntrospectEvents(INTROSPECT_EVENTS_EDEFAULT);
- return;
- case BeaninfoPackage.BEAN_DECORATOR__DO_BEANINFO:
- setDoBeaninfo(DO_BEANINFO_EDEFAULT);
- return;
- case BeaninfoPackage.BEAN_DECORATOR__NOT_INHERITED_PROPERTY_NAMES:
- getNotInheritedPropertyNames().clear();
- return;
- case BeaninfoPackage.BEAN_DECORATOR__NOT_INHERITED_METHOD_NAMES:
- getNotInheritedMethodNames().clear();
- return;
- case BeaninfoPackage.BEAN_DECORATOR__NOT_INHERITED_EVENT_NAMES:
- getNotInheritedEventNames().clear();
- return;
- case BeaninfoPackage.BEAN_DECORATOR__CUSTOMIZER_CLASS:
- setCustomizerClass((JavaClass)null);
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.emf.ecore.EObject#eIsSet(org.eclipse.emf.ecore.EStructuralFeature)
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.BEAN_DECORATOR__SOURCE:
- return isSourceSet(); // Override so that if set to the same as classname, then it is considered not set.
- default:
- return eIsSetGen(eFeature);
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSetGen(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.BEAN_DECORATOR__EANNOTATIONS:
- return eAnnotations != null && !eAnnotations.isEmpty();
- case BeaninfoPackage.BEAN_DECORATOR__SOURCE:
- return SOURCE_EDEFAULT == null ? source != null : !SOURCE_EDEFAULT.equals(source);
- case BeaninfoPackage.BEAN_DECORATOR__DETAILS:
- return details != null && !details.isEmpty();
- case BeaninfoPackage.BEAN_DECORATOR__EMODEL_ELEMENT:
- return getEModelElement() != null;
- case BeaninfoPackage.BEAN_DECORATOR__CONTENTS:
- return contents != null && !contents.isEmpty();
- case BeaninfoPackage.BEAN_DECORATOR__REFERENCES:
- return references != null && !references.isEmpty();
- case BeaninfoPackage.BEAN_DECORATOR__DISPLAY_NAME:
- return isSetDisplayName();
- case BeaninfoPackage.BEAN_DECORATOR__SHORT_DESCRIPTION:
- return isSetShortDescription();
- case BeaninfoPackage.BEAN_DECORATOR__CATEGORY:
- return CATEGORY_EDEFAULT == null ? category != null : !CATEGORY_EDEFAULT.equals(category);
- case BeaninfoPackage.BEAN_DECORATOR__EXPERT:
- return isSetExpert();
- case BeaninfoPackage.BEAN_DECORATOR__HIDDEN:
- return isSetHidden();
- case BeaninfoPackage.BEAN_DECORATOR__PREFERRED:
- return isSetPreferred();
- case BeaninfoPackage.BEAN_DECORATOR__MERGE_INTROSPECTION:
- return mergeIntrospection != MERGE_INTROSPECTION_EDEFAULT;
- case BeaninfoPackage.BEAN_DECORATOR__ATTRIBUTES_EXPLICIT_EMPTY:
- return attributesExplicitEmpty != ATTRIBUTES_EXPLICIT_EMPTY_EDEFAULT;
- case BeaninfoPackage.BEAN_DECORATOR__IMPLICITLY_SET_BITS:
- return implicitlySetBits != IMPLICITLY_SET_BITS_EDEFAULT;
- case BeaninfoPackage.BEAN_DECORATOR__IMPLICIT_DECORATOR_FLAG:
- return implicitDecoratorFlag != IMPLICIT_DECORATOR_FLAG_EDEFAULT;
- case BeaninfoPackage.BEAN_DECORATOR__ATTRIBUTES:
- return attributes != null && !attributes.isEmpty();
- case BeaninfoPackage.BEAN_DECORATOR__MERGE_SUPER_PROPERTIES:
- return isSetMergeSuperProperties();
- case BeaninfoPackage.BEAN_DECORATOR__MERGE_SUPER_METHODS:
- return isSetMergeSuperMethods();
- case BeaninfoPackage.BEAN_DECORATOR__MERGE_SUPER_EVENTS:
- return isSetMergeSuperEvents();
- case BeaninfoPackage.BEAN_DECORATOR__INTROSPECT_PROPERTIES:
- return introspectProperties != INTROSPECT_PROPERTIES_EDEFAULT;
- case BeaninfoPackage.BEAN_DECORATOR__INTROSPECT_METHODS:
- return introspectMethods != INTROSPECT_METHODS_EDEFAULT;
- case BeaninfoPackage.BEAN_DECORATOR__INTROSPECT_EVENTS:
- return introspectEvents != INTROSPECT_EVENTS_EDEFAULT;
- case BeaninfoPackage.BEAN_DECORATOR__DO_BEANINFO:
- return doBeaninfo != DO_BEANINFO_EDEFAULT;
- case BeaninfoPackage.BEAN_DECORATOR__NOT_INHERITED_PROPERTY_NAMES:
- return notInheritedPropertyNames != null && !notInheritedPropertyNames.isEmpty();
- case BeaninfoPackage.BEAN_DECORATOR__NOT_INHERITED_METHOD_NAMES:
- return notInheritedMethodNames != null && !notInheritedMethodNames.isEmpty();
- case BeaninfoPackage.BEAN_DECORATOR__NOT_INHERITED_EVENT_NAMES:
- return notInheritedEventNames != null && !notInheritedEventNames.isEmpty();
- case BeaninfoPackage.BEAN_DECORATOR__CUSTOMIZER_CLASS:
- return customizerClass != null;
- }
- return eDynamicIsSet(eFeature);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String toString() {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (mergeSuperProperties: ");
- if (mergeSuperPropertiesESet) result.append(mergeSuperProperties); else result.append("<unset>");
- result.append(", mergeSuperMethods: ");
- if (mergeSuperMethodsESet) result.append(mergeSuperMethods); else result.append("<unset>");
- result.append(", mergeSuperEvents: ");
- if (mergeSuperEventsESet) result.append(mergeSuperEvents); else result.append("<unset>");
- result.append(", introspectProperties: ");
- result.append(introspectProperties);
- result.append(", introspectMethods: ");
- result.append(introspectMethods);
- result.append(", introspectEvents: ");
- result.append(introspectEvents);
- result.append(", doBeaninfo: ");
- result.append(doBeaninfo);
- result.append(", notInheritedPropertyNames: ");
- result.append(notInheritedPropertyNames);
- result.append(", notInheritedMethodNames: ");
- result.append(notInheritedMethodNames);
- result.append(", notInheritedEventNames: ");
- result.append(notInheritedEventNames);
- result.append(')');
- return result.toString();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public JavaClass basicGetCustomizerClass() {
- return customizerClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isDoBeaninfo() {
- return doBeaninfo;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setDoBeaninfo(boolean newDoBeaninfo) {
- boolean oldDoBeaninfo = doBeaninfo;
- doBeaninfo = newDoBeaninfo;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.BEAN_DECORATOR__DO_BEANINFO, oldDoBeaninfo, doBeaninfo));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EList getNotInheritedPropertyNames() {
- if (notInheritedPropertyNames == null) {
- notInheritedPropertyNames = new EDataTypeUniqueEList(String.class, this, BeaninfoPackage.BEAN_DECORATOR__NOT_INHERITED_PROPERTY_NAMES);
- }
- return notInheritedPropertyNames;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EList getNotInheritedMethodNames() {
- if (notInheritedMethodNames == null) {
- notInheritedMethodNames = new EDataTypeUniqueEList(String.class, this, BeaninfoPackage.BEAN_DECORATOR__NOT_INHERITED_METHOD_NAMES);
- }
- return notInheritedMethodNames;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EList getNotInheritedEventNames() {
- if (notInheritedEventNames == null) {
- notInheritedEventNames = new EDataTypeUniqueEList(String.class, this, BeaninfoPackage.BEAN_DECORATOR__NOT_INHERITED_EVENT_NAMES);
- }
- return notInheritedEventNames;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public JavaClass getCustomizerClass() {
- if (customizerClass != null && customizerClass.eIsProxy()) {
- JavaClass oldCustomizerClass = customizerClass;
- customizerClass = (JavaClass)eResolveProxy((InternalEObject)customizerClass);
- if (customizerClass != oldCustomizerClass) {
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, BeaninfoPackage.BEAN_DECORATOR__CUSTOMIZER_CLASS, oldCustomizerClass, customizerClass));
- }
- }
- return customizerClass;
- }
-
- private URL iconURL;
- private boolean hasQueriedIconURL;
-
- public URL getIconURL(){
- if (!hasQueriedIconURL){
- FeatureAttributeValue value = (FeatureAttributeValue) getAttributes().get("ICON_COLOR_16x16_URL"); //$NON-NLS-1$
- if (value != null) {
- // Get the value
- Object attr = value.getValue();
- if (attr instanceof String) {
- try {
- hasQueriedIconURL = true;
- iconURL = new URL((String) attr);
- } catch ( MalformedURLException exc ) {
- BeaninfoPlugin.getPlugin().getLogger().log(exc, Level.INFO);
- }
- }
- }
- }
- return iconURL;
- }
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/BeanEventImpl.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/BeanEventImpl.java
deleted file mode 100644
index 838cd39e6..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/BeanEventImpl.java
+++ /dev/null
@@ -1,314 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo.impl;
-/*
- * $RCSfile: BeanEventImpl.java,v $
- * $Revision: 1.6 $ $Date: 2005/04/14 19:05:36 $
- */
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.internal.beaninfo.BeanEvent;
-import org.eclipse.jem.internal.beaninfo.BeaninfoPackage;
-import org.eclipse.jem.java.impl.JavaEventImpl;
-
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Bean Event</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * </p>
- *
- * @generated
- */
-
-public class BeanEventImpl extends JavaEventImpl implements BeanEvent{
-
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected BeanEventImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return BeaninfoPackage.eINSTANCE.getBeanEvent();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case BeaninfoPackage.BEAN_EVENT__EANNOTATIONS:
- return ((InternalEList)getEAnnotations()).basicAdd(otherEnd, msgs);
- case BeaninfoPackage.BEAN_EVENT__ECONTAINING_CLASS:
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, BeaninfoPackage.BEAN_EVENT__ECONTAINING_CLASS, msgs);
- default:
- return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
- }
- }
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case BeaninfoPackage.BEAN_EVENT__EANNOTATIONS:
- return ((InternalEList)getEAnnotations()).basicRemove(otherEnd, msgs);
- case BeaninfoPackage.BEAN_EVENT__ECONTAINING_CLASS:
- return eBasicSetContainer(null, BeaninfoPackage.BEAN_EVENT__ECONTAINING_CLASS, msgs);
- default:
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
- if (eContainerFeatureID >= 0) {
- switch (eContainerFeatureID) {
- case BeaninfoPackage.BEAN_EVENT__ECONTAINING_CLASS:
- return eContainer.eInverseRemove(this, EcorePackage.ECLASS__ESTRUCTURAL_FEATURES, EClass.class, msgs);
- default:
- return eDynamicBasicRemoveFromContainer(msgs);
- }
- }
- return eContainer.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.BEAN_EVENT__EANNOTATIONS:
- return getEAnnotations();
- case BeaninfoPackage.BEAN_EVENT__NAME:
- return getName();
- case BeaninfoPackage.BEAN_EVENT__ORDERED:
- return isOrdered() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.BEAN_EVENT__UNIQUE:
- return isUnique() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.BEAN_EVENT__LOWER_BOUND:
- return new Integer(getLowerBound());
- case BeaninfoPackage.BEAN_EVENT__UPPER_BOUND:
- return new Integer(getUpperBound());
- case BeaninfoPackage.BEAN_EVENT__MANY:
- return isMany() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.BEAN_EVENT__REQUIRED:
- return isRequired() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.BEAN_EVENT__ETYPE:
- if (resolve) return getEType();
- return basicGetEType();
- case BeaninfoPackage.BEAN_EVENT__CHANGEABLE:
- return isChangeable() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.BEAN_EVENT__VOLATILE:
- return isVolatile() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.BEAN_EVENT__TRANSIENT:
- return isTransient() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.BEAN_EVENT__DEFAULT_VALUE_LITERAL:
- return getDefaultValueLiteral();
- case BeaninfoPackage.BEAN_EVENT__DEFAULT_VALUE:
- return getDefaultValue();
- case BeaninfoPackage.BEAN_EVENT__UNSETTABLE:
- return isUnsettable() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.BEAN_EVENT__DERIVED:
- return isDerived() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.BEAN_EVENT__ECONTAINING_CLASS:
- return getEContainingClass();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.BEAN_EVENT__EANNOTATIONS:
- getEAnnotations().clear();
- getEAnnotations().addAll((Collection)newValue);
- return;
- case BeaninfoPackage.BEAN_EVENT__NAME:
- setName((String)newValue);
- return;
- case BeaninfoPackage.BEAN_EVENT__ORDERED:
- setOrdered(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.BEAN_EVENT__UNIQUE:
- setUnique(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.BEAN_EVENT__LOWER_BOUND:
- setLowerBound(((Integer)newValue).intValue());
- return;
- case BeaninfoPackage.BEAN_EVENT__UPPER_BOUND:
- setUpperBound(((Integer)newValue).intValue());
- return;
- case BeaninfoPackage.BEAN_EVENT__ETYPE:
- setEType((EClassifier)newValue);
- return;
- case BeaninfoPackage.BEAN_EVENT__CHANGEABLE:
- setChangeable(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.BEAN_EVENT__VOLATILE:
- setVolatile(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.BEAN_EVENT__TRANSIENT:
- setTransient(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.BEAN_EVENT__DEFAULT_VALUE_LITERAL:
- setDefaultValueLiteral((String)newValue);
- return;
- case BeaninfoPackage.BEAN_EVENT__UNSETTABLE:
- setUnsettable(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.BEAN_EVENT__DERIVED:
- setDerived(((Boolean)newValue).booleanValue());
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.BEAN_EVENT__EANNOTATIONS:
- getEAnnotations().clear();
- return;
- case BeaninfoPackage.BEAN_EVENT__NAME:
- setName(NAME_EDEFAULT);
- return;
- case BeaninfoPackage.BEAN_EVENT__ORDERED:
- setOrdered(ORDERED_EDEFAULT);
- return;
- case BeaninfoPackage.BEAN_EVENT__UNIQUE:
- setUnique(UNIQUE_EDEFAULT);
- return;
- case BeaninfoPackage.BEAN_EVENT__LOWER_BOUND:
- setLowerBound(LOWER_BOUND_EDEFAULT);
- return;
- case BeaninfoPackage.BEAN_EVENT__UPPER_BOUND:
- setUpperBound(UPPER_BOUND_EDEFAULT);
- return;
- case BeaninfoPackage.BEAN_EVENT__ETYPE:
- setEType((EClassifier)null);
- return;
- case BeaninfoPackage.BEAN_EVENT__CHANGEABLE:
- setChangeable(CHANGEABLE_EDEFAULT);
- return;
- case BeaninfoPackage.BEAN_EVENT__VOLATILE:
- setVolatile(VOLATILE_EDEFAULT);
- return;
- case BeaninfoPackage.BEAN_EVENT__TRANSIENT:
- setTransient(TRANSIENT_EDEFAULT);
- return;
- case BeaninfoPackage.BEAN_EVENT__DEFAULT_VALUE_LITERAL:
- setDefaultValueLiteral(DEFAULT_VALUE_LITERAL_EDEFAULT);
- return;
- case BeaninfoPackage.BEAN_EVENT__UNSETTABLE:
- setUnsettable(UNSETTABLE_EDEFAULT);
- return;
- case BeaninfoPackage.BEAN_EVENT__DERIVED:
- setDerived(DERIVED_EDEFAULT);
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.BEAN_EVENT__EANNOTATIONS:
- return eAnnotations != null && !eAnnotations.isEmpty();
- case BeaninfoPackage.BEAN_EVENT__NAME:
- return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
- case BeaninfoPackage.BEAN_EVENT__ORDERED:
- return ((eFlags & ORDERED_EFLAG) != 0) != ORDERED_EDEFAULT;
- case BeaninfoPackage.BEAN_EVENT__UNIQUE:
- return ((eFlags & UNIQUE_EFLAG) != 0) != UNIQUE_EDEFAULT;
- case BeaninfoPackage.BEAN_EVENT__LOWER_BOUND:
- return lowerBound != LOWER_BOUND_EDEFAULT;
- case BeaninfoPackage.BEAN_EVENT__UPPER_BOUND:
- return upperBound != UPPER_BOUND_EDEFAULT;
- case BeaninfoPackage.BEAN_EVENT__MANY:
- return isMany() != MANY_EDEFAULT;
- case BeaninfoPackage.BEAN_EVENT__REQUIRED:
- return isRequired() != REQUIRED_EDEFAULT;
- case BeaninfoPackage.BEAN_EVENT__ETYPE:
- return eType != null;
- case BeaninfoPackage.BEAN_EVENT__CHANGEABLE:
- return ((eFlags & CHANGEABLE_EFLAG) != 0) != CHANGEABLE_EDEFAULT;
- case BeaninfoPackage.BEAN_EVENT__VOLATILE:
- return ((eFlags & VOLATILE_EFLAG) != 0) != VOLATILE_EDEFAULT;
- case BeaninfoPackage.BEAN_EVENT__TRANSIENT:
- return ((eFlags & TRANSIENT_EFLAG) != 0) != TRANSIENT_EDEFAULT;
- case BeaninfoPackage.BEAN_EVENT__DEFAULT_VALUE_LITERAL:
- return DEFAULT_VALUE_LITERAL_EDEFAULT == null ? defaultValueLiteral != null : !DEFAULT_VALUE_LITERAL_EDEFAULT.equals(defaultValueLiteral);
- case BeaninfoPackage.BEAN_EVENT__DEFAULT_VALUE:
- return DEFAULT_VALUE_EDEFAULT == null ? getDefaultValue() != null : !DEFAULT_VALUE_EDEFAULT.equals(getDefaultValue());
- case BeaninfoPackage.BEAN_EVENT__UNSETTABLE:
- return ((eFlags & UNSETTABLE_EFLAG) != 0) != UNSETTABLE_EDEFAULT;
- case BeaninfoPackage.BEAN_EVENT__DERIVED:
- return ((eFlags & DERIVED_EFLAG) != 0) != DERIVED_EDEFAULT;
- case BeaninfoPackage.BEAN_EVENT__ECONTAINING_CLASS:
- return getEContainingClass() != null;
- }
- return eDynamicIsSet(eFeature);
- }
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/BeaninfoFactoryImpl.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/BeaninfoFactoryImpl.java
deleted file mode 100644
index 07d67487a..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/BeaninfoFactoryImpl.java
+++ /dev/null
@@ -1,239 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo.impl;
-/*
- * $RCSfile: BeaninfoFactoryImpl.java,v $
- * $Revision: 1.7 $ $Date: 2005/04/14 19:05:36 $
- */
-
-import java.util.Map;
-
-import org.eclipse.jem.internal.beaninfo.*;
-import org.eclipse.jem.internal.beaninfo.common.FeatureAttributeValue;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.impl.EFactoryImpl;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Factory</b>.
- * <!-- end-user-doc -->
- * @generated
- */
-
-
-public class BeaninfoFactoryImpl extends EFactoryImpl implements BeaninfoFactory{
-
- /**
- * Creates an instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public BeaninfoFactoryImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EObject create(EClass eClass) {
- switch (eClass.getClassifierID()) {
- case BeaninfoPackage.FEATURE_DECORATOR: return createFeatureDecorator();
- case BeaninfoPackage.BEAN_DECORATOR: return createBeanDecorator();
- case BeaninfoPackage.EVENT_SET_DECORATOR: return createEventSetDecorator();
- case BeaninfoPackage.METHOD_DECORATOR: return createMethodDecorator();
- case BeaninfoPackage.PARAMETER_DECORATOR: return createParameterDecorator();
- case BeaninfoPackage.PROPERTY_DECORATOR: return createPropertyDecorator();
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR: return createIndexedPropertyDecorator();
- case BeaninfoPackage.METHOD_PROXY: return createMethodProxy();
- case BeaninfoPackage.BEAN_EVENT: return createBeanEvent();
- case BeaninfoPackage.FEATURE_ATTRIBUTE_MAP_ENTRY: return (EObject)createFeatureAttributeMapEntry();
- default:
- throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object createFromString(EDataType eDataType, String initialValue) {
- switch (eDataType.getClassifierID()) {
- case BeaninfoPackage.IMPLICIT_ITEM: {
- ImplicitItem result = ImplicitItem.get(initialValue);
- if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
- return result;
- }
- case BeaninfoPackage.FEATURE_ATTRIBUTE_VALUE:
- return createFeatureAttributeValueFromString(eDataType, initialValue);
- default:
- throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String convertToString(EDataType eDataType, Object instanceValue) {
- switch (eDataType.getClassifierID()) {
- case BeaninfoPackage.IMPLICIT_ITEM:
- return instanceValue == null ? null : instanceValue.toString();
- case BeaninfoPackage.FEATURE_ATTRIBUTE_VALUE:
- return convertFeatureAttributeValueToString(eDataType, instanceValue);
- default:
- throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public FeatureDecorator createFeatureDecorator() {
- FeatureDecoratorImpl featureDecorator = new FeatureDecoratorImpl();
- return featureDecorator;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EventSetDecorator createEventSetDecorator() {
- EventSetDecoratorImpl eventSetDecorator = new EventSetDecoratorImpl();
- return eventSetDecorator;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public MethodProxy createMethodProxy() {
- MethodProxyImpl methodProxy = new MethodProxyImpl();
- return methodProxy;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public PropertyDecorator createPropertyDecorator() {
- PropertyDecoratorImpl propertyDecorator = new PropertyDecoratorImpl();
- return propertyDecorator;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public IndexedPropertyDecorator createIndexedPropertyDecorator() {
- IndexedPropertyDecoratorImpl indexedPropertyDecorator = new IndexedPropertyDecoratorImpl();
- return indexedPropertyDecorator;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public BeanDecorator createBeanDecorator() {
- BeanDecoratorImpl beanDecorator = new BeanDecoratorImpl();
- return beanDecorator;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public MethodDecorator createMethodDecorator() {
- MethodDecoratorImpl methodDecorator = new MethodDecoratorImpl();
- return methodDecorator;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ParameterDecorator createParameterDecorator() {
- ParameterDecoratorImpl parameterDecorator = new ParameterDecoratorImpl();
- return parameterDecorator;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public BeaninfoPackage getBeaninfoPackage() {
- return (BeaninfoPackage)getEPackage();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @deprecated
- * @generated
- */
- public static BeaninfoPackage getPackage() {
- return BeaninfoPackage.eINSTANCE;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public BeanEvent createBeanEvent() {
- BeanEventImpl beanEvent = new BeanEventImpl();
- return beanEvent;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Map.Entry createFeatureAttributeMapEntry() {
- FeatureAttributeMapEntryImpl featureAttributeMapEntry = new FeatureAttributeMapEntryImpl();
- return featureAttributeMapEntry;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- */
- public FeatureAttributeValue createFeatureAttributeValueFromString(EDataType eDataType, String initialValue) {
- return new FeatureAttributeValue(initialValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- */
- public String convertFeatureAttributeValueToString(EDataType eDataType, Object instanceValue) {
- return instanceValue.toString();
- }
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/BeaninfoPackageImpl.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/BeaninfoPackageImpl.java
deleted file mode 100644
index 6f01de0dd..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/BeaninfoPackageImpl.java
+++ /dev/null
@@ -1,1008 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo.impl;
-/*
- * $RCSfile: BeaninfoPackageImpl.java,v $
- * $Revision: 1.7 $ $Date: 2005/02/15 22:44:20 $
- */
-
-import java.util.Map;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EEnum;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.impl.EPackageImpl;
-import org.eclipse.emf.ecore.impl.EcorePackageImpl;
-
-import org.eclipse.jem.internal.beaninfo.BeanDecorator;
-import org.eclipse.jem.internal.beaninfo.BeanEvent;
-import org.eclipse.jem.internal.beaninfo.BeaninfoFactory;
-import org.eclipse.jem.internal.beaninfo.BeaninfoPackage;
-import org.eclipse.jem.internal.beaninfo.EventSetDecorator;
-import org.eclipse.jem.internal.beaninfo.FeatureDecorator;
-import org.eclipse.jem.internal.beaninfo.ImplicitItem;
-import org.eclipse.jem.internal.beaninfo.IndexedPropertyDecorator;
-import org.eclipse.jem.internal.beaninfo.MethodDecorator;
-import org.eclipse.jem.internal.beaninfo.MethodProxy;
-import org.eclipse.jem.internal.beaninfo.ParameterDecorator;
-import org.eclipse.jem.internal.beaninfo.PropertyDecorator;
-import org.eclipse.jem.internal.beaninfo.common.FeatureAttributeValue;
-import org.eclipse.jem.java.JavaRefPackage;
-import org.eclipse.jem.java.impl.JavaRefPackageImpl;
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Package</b>.
- * <!-- end-user-doc -->
- * @generated
- */
-
-public class BeaninfoPackageImpl extends EPackageImpl implements BeaninfoPackage{
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass featureDecoratorEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass beanDecoratorEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass eventSetDecoratorEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass methodDecoratorEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass parameterDecoratorEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass propertyDecoratorEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass indexedPropertyDecoratorEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass methodProxyEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass beanEventEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass featureAttributeMapEntryEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EEnum implicitItemEEnum = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EDataType featureAttributeValueEDataType = null;
-
- /**
- * Creates an instance of the model <b>Package</b>, registered with
- * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
- * package URI value.
- * <p>Note: the correct way to create the package is via the static
- * factory method {@link #init init()}, which also performs
- * initialization of the package, or returns the registered package,
- * if one already exists.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.ecore.EPackage.Registry
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#eNS_URI
- * @see #init()
- * @generated
- */
- private BeaninfoPackageImpl() {
- super(eNS_URI, BeaninfoFactory.eINSTANCE);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private static boolean isInited = false;
-
- /**
- * Creates, registers, and initializes the <b>Package</b> for this
- * model, and for any others upon which it depends. Simple
- * dependencies are satisfied by calling this method on all
- * dependent packages before doing anything else. This method drives
- * initialization for interdependent packages directly, in parallel
- * with this package, itself.
- * <p>Of this package and its interdependencies, all packages which
- * have not yet been registered by their URI values are first created
- * and registered. The packages are then initialized in two steps:
- * meta-model objects for all of the packages are created before any
- * are initialized, since one package's meta-model objects may refer to
- * those of another.
- * <p>Invocation of this method will not affect any packages that have
- * already been initialized.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #eNS_URI
- * @see #createPackageContents()
- * @see #initializePackageContents()
- * @generated
- */
- public static BeaninfoPackage init() {
- if (isInited) return (BeaninfoPackage)EPackage.Registry.INSTANCE.getEPackage(BeaninfoPackage.eNS_URI);
-
- // Obtain or create and register package
- BeaninfoPackageImpl theBeaninfoPackage = (BeaninfoPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(eNS_URI) instanceof BeaninfoPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(eNS_URI) : new BeaninfoPackageImpl());
-
- isInited = true;
-
- // Initialize simple dependencies
- EcorePackageImpl.init();
- JavaRefPackageImpl.init();
-
- // Create package meta-data objects
- theBeaninfoPackage.createPackageContents();
-
- // Initialize created meta-data
- theBeaninfoPackage.initializePackageContents();
-
- // Mark meta-data to indicate it can't be changed
- theBeaninfoPackage.freeze();
-
- return theBeaninfoPackage;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getFeatureDecorator() {
- return featureDecoratorEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getFeatureDecorator_DisplayName() {
- return (EAttribute)featureDecoratorEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getFeatureDecorator_ShortDescription() {
- return (EAttribute)featureDecoratorEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getFeatureDecorator_Category() {
- return (EAttribute)featureDecoratorEClass.getEStructuralFeatures().get(2);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getFeatureDecorator_Expert() {
- return (EAttribute)featureDecoratorEClass.getEStructuralFeatures().get(3);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getFeatureDecorator_Hidden() {
- return (EAttribute)featureDecoratorEClass.getEStructuralFeatures().get(4);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getFeatureDecorator_Preferred() {
- return (EAttribute)featureDecoratorEClass.getEStructuralFeatures().get(5);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getFeatureDecorator_MergeIntrospection() {
- return (EAttribute)featureDecoratorEClass.getEStructuralFeatures().get(6);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getFeatureDecorator_AttributesExplicitEmpty() {
- return (EAttribute)featureDecoratorEClass.getEStructuralFeatures().get(7);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getFeatureDecorator_ImplicitlySetBits() {
- return (EAttribute)featureDecoratorEClass.getEStructuralFeatures().get(8);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getFeatureDecorator_ImplicitDecoratorFlag() {
- return (EAttribute)featureDecoratorEClass.getEStructuralFeatures().get(9);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getFeatureDecorator_Attributes() {
- return (EReference)featureDecoratorEClass.getEStructuralFeatures().get(10);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getEventSetDecorator() {
- return eventSetDecoratorEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getEventSetDecorator_InDefaultEventSet() {
- return (EAttribute)eventSetDecoratorEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getEventSetDecorator_Unicast() {
- return (EAttribute)eventSetDecoratorEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getEventSetDecorator_ListenerMethodsExplicitEmpty() {
- return (EAttribute)eventSetDecoratorEClass.getEStructuralFeatures().get(2);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getEventSetDecorator_AddListenerMethod() {
- return (EReference)eventSetDecoratorEClass.getEStructuralFeatures().get(3);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getEventSetDecorator_ListenerMethods() {
- return (EReference)eventSetDecoratorEClass.getEStructuralFeatures().get(4);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getEventSetDecorator_ListenerType() {
- return (EReference)eventSetDecoratorEClass.getEStructuralFeatures().get(5);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getEventSetDecorator_RemoveListenerMethod() {
- return (EReference)eventSetDecoratorEClass.getEStructuralFeatures().get(6);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getEventSetDecorator_EventAdapterClass() {
- return (EReference)eventSetDecoratorEClass.getEStructuralFeatures().get(7);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getEventSetDecorator_SerListMthd() {
- return (EReference)eventSetDecoratorEClass.getEStructuralFeatures().get(8);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getMethodProxy() {
- return methodProxyEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getMethodProxy_Method() {
- return (EReference)methodProxyEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getPropertyDecorator() {
- return propertyDecoratorEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getPropertyDecorator_Bound() {
- return (EAttribute)propertyDecoratorEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getPropertyDecorator_Constrained() {
- return (EAttribute)propertyDecoratorEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getPropertyDecorator_DesignTime() {
- return (EAttribute)propertyDecoratorEClass.getEStructuralFeatures().get(2);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getPropertyDecorator_AlwaysIncompatible() {
- return (EAttribute)propertyDecoratorEClass.getEStructuralFeatures().get(3);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getPropertyDecorator_FilterFlags() {
- return (EAttribute)propertyDecoratorEClass.getEStructuralFeatures().get(4);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getPropertyDecorator_FieldReadOnly() {
- return (EAttribute)propertyDecoratorEClass.getEStructuralFeatures().get(5);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getPropertyDecorator_PropertyEditorClass() {
- return (EReference)propertyDecoratorEClass.getEStructuralFeatures().get(6);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getPropertyDecorator_ReadMethod() {
- return (EReference)propertyDecoratorEClass.getEStructuralFeatures().get(7);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getPropertyDecorator_WriteMethod() {
- return (EReference)propertyDecoratorEClass.getEStructuralFeatures().get(8);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getPropertyDecorator_Field() {
- return (EReference)propertyDecoratorEClass.getEStructuralFeatures().get(9);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getIndexedPropertyDecorator() {
- return indexedPropertyDecoratorEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getIndexedPropertyDecorator_IndexedReadMethod() {
- return (EReference)indexedPropertyDecoratorEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getIndexedPropertyDecorator_IndexedWriteMethod() {
- return (EReference)indexedPropertyDecoratorEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getBeanDecorator() {
- return beanDecoratorEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getBeanDecorator_MergeSuperProperties() {
- return (EAttribute)beanDecoratorEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getBeanDecorator_MergeSuperMethods() {
- return (EAttribute)beanDecoratorEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getBeanDecorator_MergeSuperEvents() {
- return (EAttribute)beanDecoratorEClass.getEStructuralFeatures().get(2);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getBeanDecorator_IntrospectProperties() {
- return (EAttribute)beanDecoratorEClass.getEStructuralFeatures().get(3);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getBeanDecorator_IntrospectMethods() {
- return (EAttribute)beanDecoratorEClass.getEStructuralFeatures().get(4);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getBeanDecorator_IntrospectEvents() {
- return (EAttribute)beanDecoratorEClass.getEStructuralFeatures().get(5);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getBeanDecorator_CustomizerClass() {
- return (EReference)beanDecoratorEClass.getEStructuralFeatures().get(10);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getMethodDecorator() {
- return methodDecoratorEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getMethodDecorator_ParmsExplicitEmpty() {
- return (EAttribute)methodDecoratorEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getMethodDecorator_ParameterDescriptors() {
- return (EReference)methodDecoratorEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getMethodDecorator_SerParmDesc() {
- return (EReference)methodDecoratorEClass.getEStructuralFeatures().get(2);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getParameterDecorator() {
- return parameterDecoratorEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getParameterDecorator_Name() {
- return (EAttribute)parameterDecoratorEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EDataType getFeatureAttributeValue() {
- return featureAttributeValueEDataType;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public BeaninfoFactory getBeaninfoFactory() {
- return (BeaninfoFactory)getEFactoryInstance();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private boolean isCreated = false;
-
- /**
- * Creates the meta-model objects for the package. This method is
- * guarded to have no affect on any invocation but its first.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void createPackageContents() {
- if (isCreated) return;
- isCreated = true;
-
- // Create classes and their features
- featureDecoratorEClass = createEClass(FEATURE_DECORATOR);
- createEAttribute(featureDecoratorEClass, FEATURE_DECORATOR__DISPLAY_NAME);
- createEAttribute(featureDecoratorEClass, FEATURE_DECORATOR__SHORT_DESCRIPTION);
- createEAttribute(featureDecoratorEClass, FEATURE_DECORATOR__CATEGORY);
- createEAttribute(featureDecoratorEClass, FEATURE_DECORATOR__EXPERT);
- createEAttribute(featureDecoratorEClass, FEATURE_DECORATOR__HIDDEN);
- createEAttribute(featureDecoratorEClass, FEATURE_DECORATOR__PREFERRED);
- createEAttribute(featureDecoratorEClass, FEATURE_DECORATOR__MERGE_INTROSPECTION);
- createEAttribute(featureDecoratorEClass, FEATURE_DECORATOR__ATTRIBUTES_EXPLICIT_EMPTY);
- createEAttribute(featureDecoratorEClass, FEATURE_DECORATOR__IMPLICITLY_SET_BITS);
- createEAttribute(featureDecoratorEClass, FEATURE_DECORATOR__IMPLICIT_DECORATOR_FLAG);
- createEReference(featureDecoratorEClass, FEATURE_DECORATOR__ATTRIBUTES);
-
- beanDecoratorEClass = createEClass(BEAN_DECORATOR);
- createEAttribute(beanDecoratorEClass, BEAN_DECORATOR__MERGE_SUPER_PROPERTIES);
- createEAttribute(beanDecoratorEClass, BEAN_DECORATOR__MERGE_SUPER_METHODS);
- createEAttribute(beanDecoratorEClass, BEAN_DECORATOR__MERGE_SUPER_EVENTS);
- createEAttribute(beanDecoratorEClass, BEAN_DECORATOR__INTROSPECT_PROPERTIES);
- createEAttribute(beanDecoratorEClass, BEAN_DECORATOR__INTROSPECT_METHODS);
- createEAttribute(beanDecoratorEClass, BEAN_DECORATOR__INTROSPECT_EVENTS);
- createEAttribute(beanDecoratorEClass, BEAN_DECORATOR__DO_BEANINFO);
- createEAttribute(beanDecoratorEClass, BEAN_DECORATOR__NOT_INHERITED_PROPERTY_NAMES);
- createEAttribute(beanDecoratorEClass, BEAN_DECORATOR__NOT_INHERITED_METHOD_NAMES);
- createEAttribute(beanDecoratorEClass, BEAN_DECORATOR__NOT_INHERITED_EVENT_NAMES);
- createEReference(beanDecoratorEClass, BEAN_DECORATOR__CUSTOMIZER_CLASS);
-
- eventSetDecoratorEClass = createEClass(EVENT_SET_DECORATOR);
- createEAttribute(eventSetDecoratorEClass, EVENT_SET_DECORATOR__IN_DEFAULT_EVENT_SET);
- createEAttribute(eventSetDecoratorEClass, EVENT_SET_DECORATOR__UNICAST);
- createEAttribute(eventSetDecoratorEClass, EVENT_SET_DECORATOR__LISTENER_METHODS_EXPLICIT_EMPTY);
- createEReference(eventSetDecoratorEClass, EVENT_SET_DECORATOR__ADD_LISTENER_METHOD);
- createEReference(eventSetDecoratorEClass, EVENT_SET_DECORATOR__LISTENER_METHODS);
- createEReference(eventSetDecoratorEClass, EVENT_SET_DECORATOR__LISTENER_TYPE);
- createEReference(eventSetDecoratorEClass, EVENT_SET_DECORATOR__REMOVE_LISTENER_METHOD);
- createEReference(eventSetDecoratorEClass, EVENT_SET_DECORATOR__EVENT_ADAPTER_CLASS);
- createEReference(eventSetDecoratorEClass, EVENT_SET_DECORATOR__SER_LIST_MTHD);
-
- methodDecoratorEClass = createEClass(METHOD_DECORATOR);
- createEAttribute(methodDecoratorEClass, METHOD_DECORATOR__PARMS_EXPLICIT_EMPTY);
- createEReference(methodDecoratorEClass, METHOD_DECORATOR__PARAMETER_DESCRIPTORS);
- createEReference(methodDecoratorEClass, METHOD_DECORATOR__SER_PARM_DESC);
-
- parameterDecoratorEClass = createEClass(PARAMETER_DECORATOR);
- createEAttribute(parameterDecoratorEClass, PARAMETER_DECORATOR__NAME);
- createEReference(parameterDecoratorEClass, PARAMETER_DECORATOR__PARAMETER);
-
- propertyDecoratorEClass = createEClass(PROPERTY_DECORATOR);
- createEAttribute(propertyDecoratorEClass, PROPERTY_DECORATOR__BOUND);
- createEAttribute(propertyDecoratorEClass, PROPERTY_DECORATOR__CONSTRAINED);
- createEAttribute(propertyDecoratorEClass, PROPERTY_DECORATOR__DESIGN_TIME);
- createEAttribute(propertyDecoratorEClass, PROPERTY_DECORATOR__ALWAYS_INCOMPATIBLE);
- createEAttribute(propertyDecoratorEClass, PROPERTY_DECORATOR__FILTER_FLAGS);
- createEAttribute(propertyDecoratorEClass, PROPERTY_DECORATOR__FIELD_READ_ONLY);
- createEReference(propertyDecoratorEClass, PROPERTY_DECORATOR__PROPERTY_EDITOR_CLASS);
- createEReference(propertyDecoratorEClass, PROPERTY_DECORATOR__READ_METHOD);
- createEReference(propertyDecoratorEClass, PROPERTY_DECORATOR__WRITE_METHOD);
- createEReference(propertyDecoratorEClass, PROPERTY_DECORATOR__FIELD);
-
- indexedPropertyDecoratorEClass = createEClass(INDEXED_PROPERTY_DECORATOR);
- createEReference(indexedPropertyDecoratorEClass, INDEXED_PROPERTY_DECORATOR__INDEXED_READ_METHOD);
- createEReference(indexedPropertyDecoratorEClass, INDEXED_PROPERTY_DECORATOR__INDEXED_WRITE_METHOD);
-
- methodProxyEClass = createEClass(METHOD_PROXY);
- createEReference(methodProxyEClass, METHOD_PROXY__METHOD);
-
- beanEventEClass = createEClass(BEAN_EVENT);
-
- featureAttributeMapEntryEClass = createEClass(FEATURE_ATTRIBUTE_MAP_ENTRY);
- createEAttribute(featureAttributeMapEntryEClass, FEATURE_ATTRIBUTE_MAP_ENTRY__KEY);
- createEAttribute(featureAttributeMapEntryEClass, FEATURE_ATTRIBUTE_MAP_ENTRY__VALUE);
-
- // Create enums
- implicitItemEEnum = createEEnum(IMPLICIT_ITEM);
-
- // Create data types
- featureAttributeValueEDataType = createEDataType(FEATURE_ATTRIBUTE_VALUE);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private boolean isInitialized = false;
-
- /**
- * Complete the initialization of the package and its meta-model. This
- * method is guarded to have no affect on any invocation but its first.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void initializePackageContents() {
- if (isInitialized) return;
- isInitialized = true;
-
- // Initialize package
- setName(eNAME);
- setNsPrefix(eNS_PREFIX);
- setNsURI(eNS_URI);
-
- // Obtain other dependent packages
- EcorePackageImpl theEcorePackage = (EcorePackageImpl)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
- JavaRefPackageImpl theJavaRefPackage = (JavaRefPackageImpl)EPackage.Registry.INSTANCE.getEPackage(JavaRefPackage.eNS_URI);
-
- // Add supertypes to classes
- featureDecoratorEClass.getESuperTypes().add(theEcorePackage.getEAnnotation());
- beanDecoratorEClass.getESuperTypes().add(this.getFeatureDecorator());
- eventSetDecoratorEClass.getESuperTypes().add(this.getFeatureDecorator());
- methodDecoratorEClass.getESuperTypes().add(this.getFeatureDecorator());
- parameterDecoratorEClass.getESuperTypes().add(this.getFeatureDecorator());
- propertyDecoratorEClass.getESuperTypes().add(this.getFeatureDecorator());
- indexedPropertyDecoratorEClass.getESuperTypes().add(this.getPropertyDecorator());
- methodProxyEClass.getESuperTypes().add(theEcorePackage.getEOperation());
- beanEventEClass.getESuperTypes().add(theJavaRefPackage.getJavaEvent());
-
- // Initialize classes and features; add operations and parameters
- initEClass(featureDecoratorEClass, FeatureDecorator.class, "FeatureDecorator", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEAttribute(getFeatureDecorator_DisplayName(), ecorePackage.getEString(), "displayName", null, 0, 1, FeatureDecorator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getFeatureDecorator_ShortDescription(), ecorePackage.getEString(), "shortDescription", null, 0, 1, FeatureDecorator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getFeatureDecorator_Category(), ecorePackage.getEString(), "category", null, 0, 1, FeatureDecorator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getFeatureDecorator_Expert(), ecorePackage.getEBoolean(), "expert", null, 0, 1, FeatureDecorator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getFeatureDecorator_Hidden(), ecorePackage.getEBoolean(), "hidden", null, 0, 1, FeatureDecorator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getFeatureDecorator_Preferred(), ecorePackage.getEBoolean(), "preferred", null, 0, 1, FeatureDecorator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getFeatureDecorator_MergeIntrospection(), ecorePackage.getEBoolean(), "mergeIntrospection", "true", 0, 1, FeatureDecorator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getFeatureDecorator_AttributesExplicitEmpty(), ecorePackage.getEBoolean(), "attributesExplicitEmpty", null, 0, 1, FeatureDecorator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getFeatureDecorator_ImplicitlySetBits(), ecorePackage.getELong(), "implicitlySetBits", null, 0, 1, FeatureDecorator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getFeatureDecorator_ImplicitDecoratorFlag(), this.getImplicitItem(), "implicitDecoratorFlag", null, 0, 1, FeatureDecorator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getFeatureDecorator_Attributes(), this.getFeatureAttributeMapEntry(), null, "attributes", null, 0, -1, FeatureDecorator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
- addEOperation(featureDecoratorEClass, ecorePackage.getEString(), "getName");
-
- initEClass(beanDecoratorEClass, BeanDecorator.class, "BeanDecorator", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEAttribute(getBeanDecorator_MergeSuperProperties(), ecorePackage.getEBoolean(), "mergeSuperProperties", "true", 0, 1, BeanDecorator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getBeanDecorator_MergeSuperMethods(), ecorePackage.getEBoolean(), "mergeSuperMethods", "true", 0, 1, BeanDecorator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getBeanDecorator_MergeSuperEvents(), ecorePackage.getEBoolean(), "mergeSuperEvents", "true", 0, 1, BeanDecorator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getBeanDecorator_IntrospectProperties(), ecorePackage.getEBoolean(), "introspectProperties", "true", 0, 1, BeanDecorator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getBeanDecorator_IntrospectMethods(), ecorePackage.getEBoolean(), "introspectMethods", "true", 0, 1, BeanDecorator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getBeanDecorator_IntrospectEvents(), ecorePackage.getEBoolean(), "introspectEvents", "true", 0, 1, BeanDecorator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getBeanDecorator_DoBeaninfo(), ecorePackage.getEBoolean(), "doBeaninfo", "true", 0, 1, BeanDecorator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getBeanDecorator_NotInheritedPropertyNames(), ecorePackage.getEString(), "notInheritedPropertyNames", null, 0, -1, BeanDecorator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getBeanDecorator_NotInheritedMethodNames(), ecorePackage.getEString(), "notInheritedMethodNames", null, 0, -1, BeanDecorator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getBeanDecorator_NotInheritedEventNames(), ecorePackage.getEString(), "notInheritedEventNames", null, 0, -1, BeanDecorator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getBeanDecorator_CustomizerClass(), theJavaRefPackage.getJavaClass(), null, "customizerClass", null, 0, 1, BeanDecorator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
- initEClass(eventSetDecoratorEClass, EventSetDecorator.class, "EventSetDecorator", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEAttribute(getEventSetDecorator_InDefaultEventSet(), ecorePackage.getEBoolean(), "inDefaultEventSet", null, 0, 1, EventSetDecorator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getEventSetDecorator_Unicast(), ecorePackage.getEBoolean(), "unicast", null, 0, 1, EventSetDecorator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getEventSetDecorator_ListenerMethodsExplicitEmpty(), ecorePackage.getEBoolean(), "listenerMethodsExplicitEmpty", null, 0, 1, EventSetDecorator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getEventSetDecorator_AddListenerMethod(), theJavaRefPackage.getMethod(), null, "addListenerMethod", null, 1, 1, EventSetDecorator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getEventSetDecorator_ListenerMethods(), this.getMethodProxy(), null, "listenerMethods", null, 1, -1, EventSetDecorator.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
- initEReference(getEventSetDecorator_ListenerType(), theJavaRefPackage.getJavaClass(), null, "listenerType", null, 1, 1, EventSetDecorator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getEventSetDecorator_RemoveListenerMethod(), theJavaRefPackage.getMethod(), null, "removeListenerMethod", null, 1, 1, EventSetDecorator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getEventSetDecorator_EventAdapterClass(), theJavaRefPackage.getJavaClass(), null, "eventAdapterClass", null, 0, 1, EventSetDecorator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getEventSetDecorator_SerListMthd(), this.getMethodProxy(), null, "serListMthd", null, 1, -1, EventSetDecorator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
- initEClass(methodDecoratorEClass, MethodDecorator.class, "MethodDecorator", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEAttribute(getMethodDecorator_ParmsExplicitEmpty(), ecorePackage.getEBoolean(), "parmsExplicitEmpty", null, 0, 1, MethodDecorator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getMethodDecorator_ParameterDescriptors(), this.getParameterDecorator(), null, "parameterDescriptors", null, 0, -1, MethodDecorator.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
- initEReference(getMethodDecorator_SerParmDesc(), this.getParameterDecorator(), null, "serParmDesc", null, 0, -1, MethodDecorator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
- initEClass(parameterDecoratorEClass, ParameterDecorator.class, "ParameterDecorator", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEAttribute(getParameterDecorator_Name(), ecorePackage.getEString(), "name", null, 0, 1, ParameterDecorator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getParameterDecorator_Parameter(), theJavaRefPackage.getJavaParameter(), null, "parameter", null, 0, 1, ParameterDecorator.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
- initEClass(propertyDecoratorEClass, PropertyDecorator.class, "PropertyDecorator", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEAttribute(getPropertyDecorator_Bound(), ecorePackage.getEBoolean(), "bound", null, 0, 1, PropertyDecorator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getPropertyDecorator_Constrained(), ecorePackage.getEBoolean(), "constrained", null, 0, 1, PropertyDecorator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getPropertyDecorator_DesignTime(), ecorePackage.getEBoolean(), "designTime", null, 0, 1, PropertyDecorator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getPropertyDecorator_AlwaysIncompatible(), ecorePackage.getEBoolean(), "alwaysIncompatible", null, 0, 1, PropertyDecorator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getPropertyDecorator_FilterFlags(), ecorePackage.getEString(), "filterFlags", null, 0, -1, PropertyDecorator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getPropertyDecorator_FieldReadOnly(), ecorePackage.getEBoolean(), "fieldReadOnly", null, 0, 1, PropertyDecorator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getPropertyDecorator_PropertyEditorClass(), theJavaRefPackage.getJavaClass(), null, "propertyEditorClass", null, 0, 1, PropertyDecorator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getPropertyDecorator_ReadMethod(), theJavaRefPackage.getMethod(), null, "readMethod", null, 0, 1, PropertyDecorator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getPropertyDecorator_WriteMethod(), theJavaRefPackage.getMethod(), null, "writeMethod", null, 0, 1, PropertyDecorator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getPropertyDecorator_Field(), theJavaRefPackage.getField(), null, "field", null, 0, 1, PropertyDecorator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
- addEOperation(propertyDecoratorEClass, theEcorePackage.getEClassifier(), "getPropertyType");
-
- initEClass(indexedPropertyDecoratorEClass, IndexedPropertyDecorator.class, "IndexedPropertyDecorator", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEReference(getIndexedPropertyDecorator_IndexedReadMethod(), theJavaRefPackage.getMethod(), null, "indexedReadMethod", null, 0, 1, IndexedPropertyDecorator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getIndexedPropertyDecorator_IndexedWriteMethod(), theJavaRefPackage.getMethod(), null, "indexedWriteMethod", null, 0, 1, IndexedPropertyDecorator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
- initEClass(methodProxyEClass, MethodProxy.class, "MethodProxy", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEReference(getMethodProxy_Method(), theJavaRefPackage.getMethod(), null, "method", null, 1, 1, MethodProxy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
- initEClass(beanEventEClass, BeanEvent.class, "BeanEvent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-
- initEClass(featureAttributeMapEntryEClass, Map.Entry.class, "FeatureAttributeMapEntry", !IS_ABSTRACT, !IS_INTERFACE, !IS_GENERATED_INSTANCE_CLASS);
- initEAttribute(getFeatureAttributeMapEntry_Key(), ecorePackage.getEString(), "key", null, 0, 1, Map.Entry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getFeatureAttributeMapEntry_Value(), this.getFeatureAttributeValue(), "value", null, 0, 1, Map.Entry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
- // Initialize enums and add enum literals
- initEEnum(implicitItemEEnum, ImplicitItem.class, "ImplicitItem");
- addEEnumLiteral(implicitItemEEnum, ImplicitItem.NOT_IMPLICIT_LITERAL);
- addEEnumLiteral(implicitItemEEnum, ImplicitItem.IMPLICIT_DECORATOR_LITERAL);
- addEEnumLiteral(implicitItemEEnum, ImplicitItem.IMPLICIT_DECORATOR_AND_FEATURE_LITERAL);
-
- // Initialize data types
- initEDataType(featureAttributeValueEDataType, FeatureAttributeValue.class, "FeatureAttributeValue", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
-
- // Create resource
- createResource(eNS_URI);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getBeanDecorator_DoBeaninfo() {
- return (EAttribute)beanDecoratorEClass.getEStructuralFeatures().get(6);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getBeanDecorator_NotInheritedPropertyNames() {
- return (EAttribute)beanDecoratorEClass.getEStructuralFeatures().get(7);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getBeanDecorator_NotInheritedMethodNames() {
- return (EAttribute)beanDecoratorEClass.getEStructuralFeatures().get(8);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getBeanDecorator_NotInheritedEventNames() {
- return (EAttribute)beanDecoratorEClass.getEStructuralFeatures().get(9);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getParameterDecorator_Parameter() {
- return (EReference)parameterDecoratorEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getBeanEvent() {
- return beanEventEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getFeatureAttributeMapEntry() {
- return featureAttributeMapEntryEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getFeatureAttributeMapEntry_Key() {
- return (EAttribute)featureAttributeMapEntryEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getFeatureAttributeMapEntry_Value() {
- return (EAttribute)featureAttributeMapEntryEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EEnum getImplicitItem() {
- return implicitItemEEnum;
- }
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/EventSetDecoratorImpl.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/EventSetDecoratorImpl.java
deleted file mode 100644
index 520548b74..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/EventSetDecoratorImpl.java
+++ /dev/null
@@ -1,991 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo.impl;
-/*
- * $RCSfile: EventSetDecoratorImpl.java,v $
- * $Revision: 1.10 $ $Date: 2005/04/14 19:05:36 $
- */
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EModelElement;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.internal.beaninfo.BeaninfoPackage;
-import org.eclipse.jem.internal.beaninfo.EventSetDecorator;
-import org.eclipse.jem.internal.beaninfo.ImplicitItem;
-import org.eclipse.jem.internal.beaninfo.MethodProxy;
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.Method;
-
-import org.eclipse.jem.internal.beaninfo.*;
-import org.eclipse.jem.java.*;
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Event Set Decorator</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.EventSetDecoratorImpl#isInDefaultEventSet <em>In Default Event Set</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.EventSetDecoratorImpl#isUnicast <em>Unicast</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.EventSetDecoratorImpl#isListenerMethodsExplicitEmpty <em>Listener Methods Explicit Empty</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.EventSetDecoratorImpl#getAddListenerMethod <em>Add Listener Method</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.EventSetDecoratorImpl#getListenerMethods <em>Listener Methods</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.EventSetDecoratorImpl#getListenerType <em>Listener Type</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.EventSetDecoratorImpl#getRemoveListenerMethod <em>Remove Listener Method</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.EventSetDecoratorImpl#getEventAdapterClass <em>Event Adapter Class</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.EventSetDecoratorImpl#getSerListMthd <em>Ser List Mthd</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-
-
-public class EventSetDecoratorImpl extends FeatureDecoratorImpl implements EventSetDecorator{
-
- /**
- * Bits for implicitly set features. This is internal, not meant for clients.
- */
- public static final long EVENT_ADDLISTENERMETHOD_IMPLICIT = 0x1L;
- public static final long EVENT_ADAPTERCLASS_IMPLICIT = 0x2L;
- public static final long EVENT_LISTENERMETHODS_IMPLICIT = 0x4L;
- public static final long EVENT_LISTENERTYPE_IMPLICIT = 0x8L;
- public static final long EVENT_REMOVELISTENERMETHOD_IMPLICIT = 0x10L;
- public static final long EVENT_DEFAULTEVENTSET_IMPLICIT = 0x20L;
- public static final long EVENT_UNICAST_IMPLICIT = 0x40L;
- public static final long EVENT_LISTENERMETHODS_DEFAULT = 0x80L;
-
-
- /**
- * The default value of the '{@link #isInDefaultEventSet() <em>In Default Event Set</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isInDefaultEventSet()
- * @generated
- * @ordered
- */
- protected static final boolean IN_DEFAULT_EVENT_SET_EDEFAULT = false;
-
- /**
- * The cached value of the '{@link #isInDefaultEventSet() <em>In Default Event Set</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isInDefaultEventSet()
- * @generated
- * @ordered
- */
- protected boolean inDefaultEventSet = IN_DEFAULT_EVENT_SET_EDEFAULT;
-
- /**
- * This is true if the In Default Event Set attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean inDefaultEventSetESet = false;
-
- /**
- * The default value of the '{@link #isUnicast() <em>Unicast</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isUnicast()
- * @generated
- * @ordered
- */
- protected static final boolean UNICAST_EDEFAULT = false;
-
- /**
- * The cached value of the '{@link #isUnicast() <em>Unicast</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isUnicast()
- * @generated
- * @ordered
- */
- protected boolean unicast = UNICAST_EDEFAULT;
-
- /**
- * This is true if the Unicast attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean unicastESet = false;
-
- /**
- * The default value of the '{@link #isListenerMethodsExplicitEmpty() <em>Listener Methods Explicit Empty</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isListenerMethodsExplicitEmpty()
- * @generated
- * @ordered
- */
- protected static final boolean LISTENER_METHODS_EXPLICIT_EMPTY_EDEFAULT = false;
-
- /**
- * The cached value of the '{@link #isListenerMethodsExplicitEmpty() <em>Listener Methods Explicit Empty</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isListenerMethodsExplicitEmpty()
- * @generated
- * @ordered
- */
- protected boolean listenerMethodsExplicitEmpty = LISTENER_METHODS_EXPLICIT_EMPTY_EDEFAULT;
-
- /**
- * The cached value of the '{@link #getAddListenerMethod() <em>Add Listener Method</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getAddListenerMethod()
- * @generated
- * @ordered
- */
- protected Method addListenerMethod = null;
-
- /**
- * The cached value of the '{@link #getListenerType() <em>Listener Type</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getListenerType()
- * @generated
- * @ordered
- */
- protected JavaClass listenerType = null;
- /**
- * The cached value of the '{@link #getRemoveListenerMethod() <em>Remove Listener Method</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getRemoveListenerMethod()
- * @generated
- * @ordered
- */
- protected Method removeListenerMethod = null;
-
- /**
- * The cached value of the '{@link #getEventAdapterClass() <em>Event Adapter Class</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getEventAdapterClass()
- * @generated
- * @ordered
- */
- protected JavaClass eventAdapterClass = null;
-
- /**
- * The cached value of the '{@link #getSerListMthd() <em>Ser List Mthd</em>}' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getSerListMthd()
- * @generated
- * @ordered
- */
- protected EList serListMthd = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EventSetDecoratorImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return BeaninfoPackage.eINSTANCE.getEventSetDecorator();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isInDefaultEventSet() {
- return inDefaultEventSet;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setInDefaultEventSet(boolean newInDefaultEventSet) {
- boolean oldInDefaultEventSet = inDefaultEventSet;
- inDefaultEventSet = newInDefaultEventSet;
- boolean oldInDefaultEventSetESet = inDefaultEventSetESet;
- inDefaultEventSetESet = true;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.EVENT_SET_DECORATOR__IN_DEFAULT_EVENT_SET, oldInDefaultEventSet, inDefaultEventSet, !oldInDefaultEventSetESet));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetInDefaultEventSet() {
- boolean oldInDefaultEventSet = inDefaultEventSet;
- boolean oldInDefaultEventSetESet = inDefaultEventSetESet;
- inDefaultEventSet = IN_DEFAULT_EVENT_SET_EDEFAULT;
- inDefaultEventSetESet = false;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.UNSET, BeaninfoPackage.EVENT_SET_DECORATOR__IN_DEFAULT_EVENT_SET, oldInDefaultEventSet, IN_DEFAULT_EVENT_SET_EDEFAULT, oldInDefaultEventSetESet));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetInDefaultEventSet() {
- return inDefaultEventSetESet;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isUnicast() {
- return unicast;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setUnicast(boolean newUnicast) {
- boolean oldUnicast = unicast;
- unicast = newUnicast;
- boolean oldUnicastESet = unicastESet;
- unicastESet = true;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.EVENT_SET_DECORATOR__UNICAST, oldUnicast, unicast, !oldUnicastESet));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetUnicast() {
- boolean oldUnicast = unicast;
- boolean oldUnicastESet = unicastESet;
- unicast = UNICAST_EDEFAULT;
- unicastESet = false;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.UNSET, BeaninfoPackage.EVENT_SET_DECORATOR__UNICAST, oldUnicast, UNICAST_EDEFAULT, oldUnicastESet));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetUnicast() {
- return unicastESet;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isListenerMethodsExplicitEmpty() {
- return listenerMethodsExplicitEmpty;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setListenerMethodsExplicitEmpty(boolean newListenerMethodsExplicitEmpty) {
- boolean oldListenerMethodsExplicitEmpty = listenerMethodsExplicitEmpty;
- listenerMethodsExplicitEmpty = newListenerMethodsExplicitEmpty;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.EVENT_SET_DECORATOR__LISTENER_METHODS_EXPLICIT_EMPTY, oldListenerMethodsExplicitEmpty, listenerMethodsExplicitEmpty));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Method getAddListenerMethod() {
- if (addListenerMethod != null && addListenerMethod.eIsProxy()) {
- Method oldAddListenerMethod = addListenerMethod;
- addListenerMethod = (Method)eResolveProxy((InternalEObject)addListenerMethod);
- if (addListenerMethod != oldAddListenerMethod) {
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, BeaninfoPackage.EVENT_SET_DECORATOR__ADD_LISTENER_METHOD, oldAddListenerMethod, addListenerMethod));
- }
- }
- return addListenerMethod;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Method basicGetAddListenerMethod() {
- return addListenerMethod;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setAddListenerMethod(Method newAddListenerMethod) {
- Method oldAddListenerMethod = addListenerMethod;
- addListenerMethod = newAddListenerMethod;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.EVENT_SET_DECORATOR__ADD_LISTENER_METHOD, oldAddListenerMethod, addListenerMethod));
- }
-
- public EList getListenerMethods() {
- if (!isListenerMethodsExplicitEmpty() && getSerListMthd().isEmpty() && (getImplicitlySetBits()&(EVENT_LISTENERMETHODS_IMPLICIT | EVENT_LISTENERMETHODS_DEFAULT)) == 0) {
- // Not explicitly empty, it is empty, and we have not implicitly or by defaults made it empty, then create the defaults.
- createDefaultListenerMethodsList();
- }
- return getSerListMthd();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EList getListenerMethodsGen() {
- // TODO: implement this method to return the 'Listener Methods' reference list
- // Ensure that you remove @generated or mark it @generated NOT
- throw new UnsupportedOperationException();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public JavaClass getListenerType() {
- if (listenerType != null && listenerType.eIsProxy()) {
- JavaClass oldListenerType = listenerType;
- listenerType = (JavaClass)eResolveProxy((InternalEObject)listenerType);
- if (listenerType != oldListenerType) {
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, BeaninfoPackage.EVENT_SET_DECORATOR__LISTENER_TYPE, oldListenerType, listenerType));
- }
- }
- return listenerType;
- }
-
- /**
- * This is called if method listeners list not explicitly set and there is no feature proxy or
- * there is a feature proxy and the proxy has nothing defined.
- * <p>
- * This is an internal method used by BeanInfo classes. It is not to be used by clients.
- */
- public EList createDefaultListenerMethodsList() {
- if (!eIsSet(EcorePackage.eINSTANCE.getEAnnotation_EModelElement()))
- return this.getSerListMthd(); // We are not attached, can't determine the list yet.
- EList mthdsList = this.getSerListMthd();
-
- JavaClass eventObjectClass = (JavaClass) JavaRefFactory.eINSTANCE.reflectType("java.util.EventObject", getEModelElement().eResource().getResourceSet()); //$NON-NLS-1$
-
- mthdsList.clear();
-
- // This is a little tricky. Need to get the methods for the listener type, and
- // then go through the methods and filter out the non-event ones.
- JavaClass lt = getListenerType();
- if (lt == null)
- return mthdsList; // Couldn't get the listener type for some reason, so leave as is.
- setImplicitlySetBits(getImplicitlySetBits()|EVENT_LISTENERMETHODS_DEFAULT); // Mark as we implicitly filled it in.
-
- BeaninfoFactory bfact = BeaninfoFactory.eINSTANCE;
- List ms = lt.getPublicMethodsExtended();
- int msize = ms.size();
- for (int i=0; i<msize; i++) {
- Method method = (Method) ms.get(i);
- List parms = method.getParameters();
- if (parms.size() != 1)
- continue; // Must have only one parm.
- if (!eventObjectClass.isAssignableFrom(((JavaParameter) parms.get(0)).getEType()))
- continue; // Parm does not inherit from java.util.EventObject
-
- // We need a method proxy, and a method decorator.
- MethodProxy mproxy = bfact.createMethodProxy();
- mproxy.setMethod(method);
- mproxy.setName(method.getName());
- MethodDecorator md = bfact.createMethodDecorator();
- md.setImplicitDecoratorFlag(ImplicitItem.IMPLICIT_DECORATOR_AND_FEATURE_LITERAL);
- md.setEModelElement(mproxy);
- mthdsList.add(mproxy);
- }
- return mthdsList;
- }
-
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public JavaClass basicGetListenerType() {
- return listenerType;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setListenerType(JavaClass newListenerType) {
- JavaClass oldListenerType = listenerType;
- listenerType = newListenerType;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.EVENT_SET_DECORATOR__LISTENER_TYPE, oldListenerType, listenerType));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Method getRemoveListenerMethod() {
- if (removeListenerMethod != null && removeListenerMethod.eIsProxy()) {
- Method oldRemoveListenerMethod = removeListenerMethod;
- removeListenerMethod = (Method)eResolveProxy((InternalEObject)removeListenerMethod);
- if (removeListenerMethod != oldRemoveListenerMethod) {
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, BeaninfoPackage.EVENT_SET_DECORATOR__REMOVE_LISTENER_METHOD, oldRemoveListenerMethod, removeListenerMethod));
- }
- }
- return removeListenerMethod;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Method basicGetRemoveListenerMethod() {
- return removeListenerMethod;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setRemoveListenerMethod(Method newRemoveListenerMethod) {
- Method oldRemoveListenerMethod = removeListenerMethod;
- removeListenerMethod = newRemoveListenerMethod;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.EVENT_SET_DECORATOR__REMOVE_LISTENER_METHOD, oldRemoveListenerMethod, removeListenerMethod));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public JavaClass getEventAdapterClass() {
- if (eventAdapterClass != null && eventAdapterClass.eIsProxy()) {
- JavaClass oldEventAdapterClass = eventAdapterClass;
- eventAdapterClass = (JavaClass)eResolveProxy((InternalEObject)eventAdapterClass);
- if (eventAdapterClass != oldEventAdapterClass) {
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, BeaninfoPackage.EVENT_SET_DECORATOR__EVENT_ADAPTER_CLASS, oldEventAdapterClass, eventAdapterClass));
- }
- }
- return eventAdapterClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public JavaClass basicGetEventAdapterClass() {
- return eventAdapterClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setEventAdapterClass(JavaClass newEventAdapterClass) {
- JavaClass oldEventAdapterClass = eventAdapterClass;
- eventAdapterClass = newEventAdapterClass;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.EVENT_SET_DECORATOR__EVENT_ADAPTER_CLASS, oldEventAdapterClass, eventAdapterClass));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EList getSerListMthd() {
- if (serListMthd == null) {
- serListMthd = new EObjectContainmentEList(MethodProxy.class, this, BeaninfoPackage.EVENT_SET_DECORATOR__SER_LIST_MTHD);
- }
- return serListMthd;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case BeaninfoPackage.EVENT_SET_DECORATOR__EANNOTATIONS:
- return ((InternalEList)getEAnnotations()).basicAdd(otherEnd, msgs);
- case BeaninfoPackage.EVENT_SET_DECORATOR__EMODEL_ELEMENT:
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, BeaninfoPackage.EVENT_SET_DECORATOR__EMODEL_ELEMENT, msgs);
- default:
- return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
- }
- }
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case BeaninfoPackage.EVENT_SET_DECORATOR__EANNOTATIONS:
- return ((InternalEList)getEAnnotations()).basicRemove(otherEnd, msgs);
- case BeaninfoPackage.EVENT_SET_DECORATOR__DETAILS:
- return ((InternalEList)getDetails()).basicRemove(otherEnd, msgs);
- case BeaninfoPackage.EVENT_SET_DECORATOR__EMODEL_ELEMENT:
- return eBasicSetContainer(null, BeaninfoPackage.EVENT_SET_DECORATOR__EMODEL_ELEMENT, msgs);
- case BeaninfoPackage.EVENT_SET_DECORATOR__CONTENTS:
- return ((InternalEList)getContents()).basicRemove(otherEnd, msgs);
- case BeaninfoPackage.EVENT_SET_DECORATOR__ATTRIBUTES:
- return ((InternalEList)getAttributes()).basicRemove(otherEnd, msgs);
- case BeaninfoPackage.EVENT_SET_DECORATOR__SER_LIST_MTHD:
- return ((InternalEList)getSerListMthd()).basicRemove(otherEnd, msgs);
- default:
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
- if (eContainerFeatureID >= 0) {
- switch (eContainerFeatureID) {
- case BeaninfoPackage.EVENT_SET_DECORATOR__EMODEL_ELEMENT:
- return eContainer.eInverseRemove(this, EcorePackage.EMODEL_ELEMENT__EANNOTATIONS, EModelElement.class, msgs);
- default:
- return eDynamicBasicRemoveFromContainer(msgs);
- }
- }
- return eContainer.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.EVENT_SET_DECORATOR__EANNOTATIONS:
- return getEAnnotations();
- case BeaninfoPackage.EVENT_SET_DECORATOR__SOURCE:
- return getSource();
- case BeaninfoPackage.EVENT_SET_DECORATOR__DETAILS:
- return getDetails();
- case BeaninfoPackage.EVENT_SET_DECORATOR__EMODEL_ELEMENT:
- return getEModelElement();
- case BeaninfoPackage.EVENT_SET_DECORATOR__CONTENTS:
- return getContents();
- case BeaninfoPackage.EVENT_SET_DECORATOR__REFERENCES:
- return getReferences();
- case BeaninfoPackage.EVENT_SET_DECORATOR__DISPLAY_NAME:
- return getDisplayName();
- case BeaninfoPackage.EVENT_SET_DECORATOR__SHORT_DESCRIPTION:
- return getShortDescription();
- case BeaninfoPackage.EVENT_SET_DECORATOR__CATEGORY:
- return getCategory();
- case BeaninfoPackage.EVENT_SET_DECORATOR__EXPERT:
- return isExpert() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.EVENT_SET_DECORATOR__HIDDEN:
- return isHidden() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.EVENT_SET_DECORATOR__PREFERRED:
- return isPreferred() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.EVENT_SET_DECORATOR__MERGE_INTROSPECTION:
- return isMergeIntrospection() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.EVENT_SET_DECORATOR__ATTRIBUTES_EXPLICIT_EMPTY:
- return isAttributesExplicitEmpty() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.EVENT_SET_DECORATOR__IMPLICITLY_SET_BITS:
- return new Long(getImplicitlySetBits());
- case BeaninfoPackage.EVENT_SET_DECORATOR__IMPLICIT_DECORATOR_FLAG:
- return getImplicitDecoratorFlag();
- case BeaninfoPackage.EVENT_SET_DECORATOR__ATTRIBUTES:
- return getAttributes();
- case BeaninfoPackage.EVENT_SET_DECORATOR__IN_DEFAULT_EVENT_SET:
- return isInDefaultEventSet() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.EVENT_SET_DECORATOR__UNICAST:
- return isUnicast() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.EVENT_SET_DECORATOR__LISTENER_METHODS_EXPLICIT_EMPTY:
- return isListenerMethodsExplicitEmpty() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.EVENT_SET_DECORATOR__ADD_LISTENER_METHOD:
- if (resolve) return getAddListenerMethod();
- return basicGetAddListenerMethod();
- case BeaninfoPackage.EVENT_SET_DECORATOR__LISTENER_METHODS:
- return getListenerMethods();
- case BeaninfoPackage.EVENT_SET_DECORATOR__LISTENER_TYPE:
- if (resolve) return getListenerType();
- return basicGetListenerType();
- case BeaninfoPackage.EVENT_SET_DECORATOR__REMOVE_LISTENER_METHOD:
- if (resolve) return getRemoveListenerMethod();
- return basicGetRemoveListenerMethod();
- case BeaninfoPackage.EVENT_SET_DECORATOR__EVENT_ADAPTER_CLASS:
- if (resolve) return getEventAdapterClass();
- return basicGetEventAdapterClass();
- case BeaninfoPackage.EVENT_SET_DECORATOR__SER_LIST_MTHD:
- return getSerListMthd();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.EVENT_SET_DECORATOR__EANNOTATIONS:
- getEAnnotations().clear();
- getEAnnotations().addAll((Collection)newValue);
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__SOURCE:
- setSource((String)newValue);
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__DETAILS:
- getDetails().clear();
- getDetails().addAll((Collection)newValue);
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__EMODEL_ELEMENT:
- setEModelElement((EModelElement)newValue);
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__CONTENTS:
- getContents().clear();
- getContents().addAll((Collection)newValue);
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__REFERENCES:
- getReferences().clear();
- getReferences().addAll((Collection)newValue);
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__DISPLAY_NAME:
- setDisplayName((String)newValue);
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__SHORT_DESCRIPTION:
- setShortDescription((String)newValue);
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__CATEGORY:
- setCategory((String)newValue);
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__EXPERT:
- setExpert(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__HIDDEN:
- setHidden(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__PREFERRED:
- setPreferred(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__MERGE_INTROSPECTION:
- setMergeIntrospection(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__ATTRIBUTES_EXPLICIT_EMPTY:
- setAttributesExplicitEmpty(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__IMPLICITLY_SET_BITS:
- setImplicitlySetBits(((Long)newValue).longValue());
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__IMPLICIT_DECORATOR_FLAG:
- setImplicitDecoratorFlag((ImplicitItem)newValue);
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__ATTRIBUTES:
- getAttributes().clear();
- getAttributes().addAll((Collection)newValue);
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__IN_DEFAULT_EVENT_SET:
- setInDefaultEventSet(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__UNICAST:
- setUnicast(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__LISTENER_METHODS_EXPLICIT_EMPTY:
- setListenerMethodsExplicitEmpty(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__ADD_LISTENER_METHOD:
- setAddListenerMethod((Method)newValue);
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__LISTENER_METHODS:
- getListenerMethods().clear();
- getListenerMethods().addAll((Collection)newValue);
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__LISTENER_TYPE:
- setListenerType((JavaClass)newValue);
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__REMOVE_LISTENER_METHOD:
- setRemoveListenerMethod((Method)newValue);
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__EVENT_ADAPTER_CLASS:
- setEventAdapterClass((JavaClass)newValue);
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__SER_LIST_MTHD:
- getSerListMthd().clear();
- getSerListMthd().addAll((Collection)newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.EVENT_SET_DECORATOR__EANNOTATIONS:
- getEAnnotations().clear();
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__SOURCE:
- setSource(SOURCE_EDEFAULT);
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__DETAILS:
- getDetails().clear();
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__EMODEL_ELEMENT:
- setEModelElement((EModelElement)null);
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__CONTENTS:
- getContents().clear();
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__REFERENCES:
- getReferences().clear();
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__DISPLAY_NAME:
- unsetDisplayName();
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__SHORT_DESCRIPTION:
- unsetShortDescription();
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__CATEGORY:
- setCategory(CATEGORY_EDEFAULT);
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__EXPERT:
- unsetExpert();
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__HIDDEN:
- unsetHidden();
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__PREFERRED:
- unsetPreferred();
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__MERGE_INTROSPECTION:
- setMergeIntrospection(MERGE_INTROSPECTION_EDEFAULT);
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__ATTRIBUTES_EXPLICIT_EMPTY:
- setAttributesExplicitEmpty(ATTRIBUTES_EXPLICIT_EMPTY_EDEFAULT);
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__IMPLICITLY_SET_BITS:
- setImplicitlySetBits(IMPLICITLY_SET_BITS_EDEFAULT);
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__IMPLICIT_DECORATOR_FLAG:
- setImplicitDecoratorFlag(IMPLICIT_DECORATOR_FLAG_EDEFAULT);
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__ATTRIBUTES:
- getAttributes().clear();
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__IN_DEFAULT_EVENT_SET:
- unsetInDefaultEventSet();
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__UNICAST:
- unsetUnicast();
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__LISTENER_METHODS_EXPLICIT_EMPTY:
- setListenerMethodsExplicitEmpty(LISTENER_METHODS_EXPLICIT_EMPTY_EDEFAULT);
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__ADD_LISTENER_METHOD:
- setAddListenerMethod((Method)null);
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__LISTENER_METHODS:
- getListenerMethods().clear();
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__LISTENER_TYPE:
- setListenerType((JavaClass)null);
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__REMOVE_LISTENER_METHOD:
- setRemoveListenerMethod((Method)null);
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__EVENT_ADAPTER_CLASS:
- setEventAdapterClass((JavaClass)null);
- return;
- case BeaninfoPackage.EVENT_SET_DECORATOR__SER_LIST_MTHD:
- getSerListMthd().clear();
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /*
- * This is overridden so that we can do special is set tests:
- * 1) parameter descriptors: check if serParmDesc exists and not empty, since parameter descriptors is derived.
- * 2) serParmDesc: if flag set to default parm desc, then answer not set, else do normal isSet test. That way if set by default it won't serialize
- * out the unneeded default parms. They can be reconstructed quickly when needed.
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.EVENT_SET_DECORATOR__SOURCE:
- return isSourceSet(); // Override so that if set to the same as classname, then it is considered not set.
- case BeaninfoPackage.EVENT_SET_DECORATOR__LISTENER_METHODS:
- return eIsSetGen(BeaninfoPackage.eINSTANCE.getEventSetDecorator_SerListMthd()); // Let default serListMthd is set work.
- case BeaninfoPackage.EVENT_SET_DECORATOR__SER_LIST_MTHD:
- if ((getImplicitlySetBits() & EVENT_LISTENERMETHODS_DEFAULT) != 0)
- return false; // Not considered set if initialized by default.
- else
- return eIsSetGen(eFeature); // Not set by default, so check true setting.
- default:
- return eIsSetGen(eFeature); // Everything else use the gen method.
- }
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSetGen(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.EVENT_SET_DECORATOR__EANNOTATIONS:
- return eAnnotations != null && !eAnnotations.isEmpty();
- case BeaninfoPackage.EVENT_SET_DECORATOR__SOURCE:
- return SOURCE_EDEFAULT == null ? source != null : !SOURCE_EDEFAULT.equals(source);
- case BeaninfoPackage.EVENT_SET_DECORATOR__DETAILS:
- return details != null && !details.isEmpty();
- case BeaninfoPackage.EVENT_SET_DECORATOR__EMODEL_ELEMENT:
- return getEModelElement() != null;
- case BeaninfoPackage.EVENT_SET_DECORATOR__CONTENTS:
- return contents != null && !contents.isEmpty();
- case BeaninfoPackage.EVENT_SET_DECORATOR__REFERENCES:
- return references != null && !references.isEmpty();
- case BeaninfoPackage.EVENT_SET_DECORATOR__DISPLAY_NAME:
- return isSetDisplayName();
- case BeaninfoPackage.EVENT_SET_DECORATOR__SHORT_DESCRIPTION:
- return isSetShortDescription();
- case BeaninfoPackage.EVENT_SET_DECORATOR__CATEGORY:
- return CATEGORY_EDEFAULT == null ? category != null : !CATEGORY_EDEFAULT.equals(category);
- case BeaninfoPackage.EVENT_SET_DECORATOR__EXPERT:
- return isSetExpert();
- case BeaninfoPackage.EVENT_SET_DECORATOR__HIDDEN:
- return isSetHidden();
- case BeaninfoPackage.EVENT_SET_DECORATOR__PREFERRED:
- return isSetPreferred();
- case BeaninfoPackage.EVENT_SET_DECORATOR__MERGE_INTROSPECTION:
- return mergeIntrospection != MERGE_INTROSPECTION_EDEFAULT;
- case BeaninfoPackage.EVENT_SET_DECORATOR__ATTRIBUTES_EXPLICIT_EMPTY:
- return attributesExplicitEmpty != ATTRIBUTES_EXPLICIT_EMPTY_EDEFAULT;
- case BeaninfoPackage.EVENT_SET_DECORATOR__IMPLICITLY_SET_BITS:
- return implicitlySetBits != IMPLICITLY_SET_BITS_EDEFAULT;
- case BeaninfoPackage.EVENT_SET_DECORATOR__IMPLICIT_DECORATOR_FLAG:
- return implicitDecoratorFlag != IMPLICIT_DECORATOR_FLAG_EDEFAULT;
- case BeaninfoPackage.EVENT_SET_DECORATOR__ATTRIBUTES:
- return attributes != null && !attributes.isEmpty();
- case BeaninfoPackage.EVENT_SET_DECORATOR__IN_DEFAULT_EVENT_SET:
- return isSetInDefaultEventSet();
- case BeaninfoPackage.EVENT_SET_DECORATOR__UNICAST:
- return isSetUnicast();
- case BeaninfoPackage.EVENT_SET_DECORATOR__LISTENER_METHODS_EXPLICIT_EMPTY:
- return listenerMethodsExplicitEmpty != LISTENER_METHODS_EXPLICIT_EMPTY_EDEFAULT;
- case BeaninfoPackage.EVENT_SET_DECORATOR__ADD_LISTENER_METHOD:
- return addListenerMethod != null;
- case BeaninfoPackage.EVENT_SET_DECORATOR__LISTENER_METHODS:
- return !getListenerMethods().isEmpty();
- case BeaninfoPackage.EVENT_SET_DECORATOR__LISTENER_TYPE:
- return listenerType != null;
- case BeaninfoPackage.EVENT_SET_DECORATOR__REMOVE_LISTENER_METHOD:
- return removeListenerMethod != null;
- case BeaninfoPackage.EVENT_SET_DECORATOR__EVENT_ADAPTER_CLASS:
- return eventAdapterClass != null;
- case BeaninfoPackage.EVENT_SET_DECORATOR__SER_LIST_MTHD:
- return serListMthd != null && !serListMthd.isEmpty();
- }
- return eDynamicIsSet(eFeature);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String toString() {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (inDefaultEventSet: ");
- if (inDefaultEventSetESet) result.append(inDefaultEventSet); else result.append("<unset>");
- result.append(", unicast: ");
- if (unicastESet) result.append(unicast); else result.append("<unset>");
- result.append(", listenerMethodsExplicitEmpty: ");
- result.append(listenerMethodsExplicitEmpty);
- result.append(')');
- return result.toString();
- }
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/FeatureAttributeMapEntryImpl.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/FeatureAttributeMapEntryImpl.java
deleted file mode 100644
index 8bd108dd7..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/FeatureAttributeMapEntryImpl.java
+++ /dev/null
@@ -1,307 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: FeatureAttributeMapEntryImpl.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:44:20 $
- */
-
-package org.eclipse.jem.internal.beaninfo.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.common.util.BasicEMap;
-import org.eclipse.emf.common.util.EMap;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-
-import org.eclipse.jem.internal.beaninfo.BeaninfoPackage;
-
-import org.eclipse.jem.internal.beaninfo.common.FeatureAttributeValue;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Feature Attribute Map Entry</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.FeatureAttributeMapEntryImpl#getTypedKey <em>Key</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.FeatureAttributeMapEntryImpl#getTypedValue <em>Value</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class FeatureAttributeMapEntryImpl extends EObjectImpl implements BasicEMap.Entry {
- /**
- * The default value of the '{@link #getTypedKey() <em>Key</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getTypedKey()
- * @generated
- * @ordered
- */
- protected static final String KEY_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getTypedKey() <em>Key</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getTypedKey()
- * @generated
- * @ordered
- */
- protected String key = KEY_EDEFAULT;
-
- /**
- * The default value of the '{@link #getTypedValue() <em>Value</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getTypedValue()
- * @generated
- * @ordered
- */
- protected static final FeatureAttributeValue VALUE_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getTypedValue() <em>Value</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getTypedValue()
- * @generated
- * @ordered
- */
- protected FeatureAttributeValue value = VALUE_EDEFAULT;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected FeatureAttributeMapEntryImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return BeaninfoPackage.eINSTANCE.getFeatureAttributeMapEntry();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getTypedKey() {
- return key;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setTypedKey(String newKey) {
- String oldKey = key;
- key = newKey;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.FEATURE_ATTRIBUTE_MAP_ENTRY__KEY, oldKey, key));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public FeatureAttributeValue getTypedValue() {
- return value;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setTypedValue(FeatureAttributeValue newValue) {
- FeatureAttributeValue oldValue = value;
- value = newValue;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.FEATURE_ATTRIBUTE_MAP_ENTRY__VALUE, oldValue, value));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.FEATURE_ATTRIBUTE_MAP_ENTRY__KEY:
- return getTypedKey();
- case BeaninfoPackage.FEATURE_ATTRIBUTE_MAP_ENTRY__VALUE:
- return getTypedValue();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.FEATURE_ATTRIBUTE_MAP_ENTRY__KEY:
- setTypedKey((String)newValue);
- return;
- case BeaninfoPackage.FEATURE_ATTRIBUTE_MAP_ENTRY__VALUE:
- setTypedValue((FeatureAttributeValue)newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.FEATURE_ATTRIBUTE_MAP_ENTRY__KEY:
- setTypedKey(KEY_EDEFAULT);
- return;
- case BeaninfoPackage.FEATURE_ATTRIBUTE_MAP_ENTRY__VALUE:
- setTypedValue(VALUE_EDEFAULT);
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.FEATURE_ATTRIBUTE_MAP_ENTRY__KEY:
- return KEY_EDEFAULT == null ? key != null : !KEY_EDEFAULT.equals(key);
- case BeaninfoPackage.FEATURE_ATTRIBUTE_MAP_ENTRY__VALUE:
- return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
- }
- return eDynamicIsSet(eFeature);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String toString() {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (key: ");
- result.append(key);
- result.append(", value: ");
- result.append(value);
- result.append(')');
- return result.toString();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected int hash = -1;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public int getHash() {
- if (hash == -1) {
- Object theKey = getKey();
- hash = (theKey == null ? 0 : theKey.hashCode());
- }
- return hash;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setHash(int hash) {
- this.hash = hash;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object getKey() {
- return getTypedKey();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setKey(Object key) {
- setTypedKey((String)key);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object getValue() {
- return getTypedValue();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object setValue(Object value) {
- Object oldValue = getValue();
- setTypedValue((FeatureAttributeValue)value);
- return oldValue;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EMap getEMap() {
- EObject container = eContainer();
- return container == null ? null : (EMap)container.eGet(eContainmentFeature());
- }
-
-} //FeatureAttributeMapEntryImpl
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/FeatureDecoratorImpl.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/FeatureDecoratorImpl.java
deleted file mode 100644
index 9666f26f1..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/FeatureDecoratorImpl.java
+++ /dev/null
@@ -1,1057 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo.impl;
-/*
- * $RCSfile: FeatureDecoratorImpl.java,v $
- * $Revision: 1.6 $ $Date: 2005/04/14 19:05:36 $
- */
-
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.util.EMap;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EModelElement;
-import org.eclipse.emf.ecore.ENamedElement;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.EAnnotationImpl;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.util.EcoreEMap;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.internal.beaninfo.BeaninfoPackage;
-import org.eclipse.jem.internal.beaninfo.FeatureDecorator;
-import org.eclipse.jem.internal.beaninfo.ImplicitItem;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Feature Decorator</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.FeatureDecoratorImpl#getDisplayName <em>Display Name</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.FeatureDecoratorImpl#getShortDescription <em>Short Description</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.FeatureDecoratorImpl#getCategory <em>Category</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.FeatureDecoratorImpl#isExpert <em>Expert</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.FeatureDecoratorImpl#isHidden <em>Hidden</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.FeatureDecoratorImpl#isPreferred <em>Preferred</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.FeatureDecoratorImpl#isMergeIntrospection <em>Merge Introspection</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.FeatureDecoratorImpl#isAttributesExplicitEmpty <em>Attributes Explicit Empty</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.FeatureDecoratorImpl#getImplicitlySetBits <em>Implicitly Set Bits</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.FeatureDecoratorImpl#getImplicitDecoratorFlag <em>Implicit Decorator Flag</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.FeatureDecoratorImpl#getAttributes <em>Attributes</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class FeatureDecoratorImpl extends EAnnotationImpl implements FeatureDecorator{
-
- /**
- * Bits for implicitly set features. This is internal, not meant for clients.
- * Note: To make it easier to make changes Feature goes from high bits down, while the
- * subclasses go from low-bits up. That way if a change is made to add something of
- * interest to Feature, all of the subclasses don't need to have their bits re-ordered.
- * Since these are bits, it doesn't matter which ones to use.
- */
- public static final long FEATURE_DISPLAYNAME_IMPLICIT = 0x8000000000000000L;
- public static final long FEATURE_SHORTDESC_IMPLICIT = 0x4000000000000000L;
- public static final long FEATURE_CATEGORY_IMPLICIT = 0x2000000000000000L;
- public static final long FEATURE_EXPERT_IMPLICIT = 0x1000000000000000L;
- public static final long FEATURE_HIDDEN_IMPLICIT = 0x800000000000000L;
- public static final long FEATURE_PREFERRED_IMPLICIT = 0x400000000000000L;
- public static final long FEATURE_ATTRIBUTES_IMPLICIT = 0x200000000000000L;
-
- /**
- * The default value of the '{@link #getDisplayName() <em>Display Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getDisplayName()
- * @generated
- * @ordered
- */
- protected static final String DISPLAY_NAME_EDEFAULT = null;
-
-
- /**
- * The cached value of the '{@link #getDisplayName() <em>Display Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getDisplayName()
- * @generated
- * @ordered
- */
- protected String displayName = DISPLAY_NAME_EDEFAULT;
- /**
- * This is true if the Display Name attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean displayNameESet = false;
-
- /**
- * The default value of the '{@link #getShortDescription() <em>Short Description</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getShortDescription()
- * @generated
- * @ordered
- */
- protected static final String SHORT_DESCRIPTION_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getShortDescription() <em>Short Description</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getShortDescription()
- * @generated
- * @ordered
- */
- protected String shortDescription = SHORT_DESCRIPTION_EDEFAULT;
- /**
- * This is true if the Short Description attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean shortDescriptionESet = false;
-
- /**
- * The default value of the '{@link #getCategory() <em>Category</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getCategory()
- * @generated
- * @ordered
- */
- protected static final String CATEGORY_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getCategory() <em>Category</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getCategory()
- * @generated
- * @ordered
- */
- protected String category = CATEGORY_EDEFAULT;
- /**
- * The default value of the '{@link #isExpert() <em>Expert</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isExpert()
- * @generated
- * @ordered
- */
- protected static final boolean EXPERT_EDEFAULT = false;
-
- /**
- * The cached value of the '{@link #isExpert() <em>Expert</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isExpert()
- * @generated
- * @ordered
- */
- protected boolean expert = EXPERT_EDEFAULT;
-
- /**
- * This is true if the Expert attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean expertESet = false;
-
- /**
- * The default value of the '{@link #isHidden() <em>Hidden</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isHidden()
- * @generated
- * @ordered
- */
- protected static final boolean HIDDEN_EDEFAULT = false;
-
- /**
- * The cached value of the '{@link #isHidden() <em>Hidden</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isHidden()
- * @generated
- * @ordered
- */
- protected boolean hidden = HIDDEN_EDEFAULT;
-
- /**
- * This is true if the Hidden attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean hiddenESet = false;
-
- /**
- * The default value of the '{@link #isPreferred() <em>Preferred</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isPreferred()
- * @generated
- * @ordered
- */
- protected static final boolean PREFERRED_EDEFAULT = false;
-
- /**
- * The cached value of the '{@link #isPreferred() <em>Preferred</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isPreferred()
- * @generated
- * @ordered
- */
- protected boolean preferred = PREFERRED_EDEFAULT;
-
- /**
- * This is true if the Preferred attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean preferredESet = false;
-
- /**
- * The default value of the '{@link #isMergeIntrospection() <em>Merge Introspection</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isMergeIntrospection()
- * @generated
- * @ordered
- */
- protected static final boolean MERGE_INTROSPECTION_EDEFAULT = true;
-
- /**
- * The cached value of the '{@link #isMergeIntrospection() <em>Merge Introspection</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isMergeIntrospection()
- * @generated
- * @ordered
- */
- protected boolean mergeIntrospection = MERGE_INTROSPECTION_EDEFAULT;
- /**
- * The default value of the '{@link #isAttributesExplicitEmpty() <em>Attributes Explicit Empty</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isAttributesExplicitEmpty()
- * @generated
- * @ordered
- */
- protected static final boolean ATTRIBUTES_EXPLICIT_EMPTY_EDEFAULT = false;
-
- /**
- * The cached value of the '{@link #isAttributesExplicitEmpty() <em>Attributes Explicit Empty</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isAttributesExplicitEmpty()
- * @generated
- * @ordered
- */
- protected boolean attributesExplicitEmpty = ATTRIBUTES_EXPLICIT_EMPTY_EDEFAULT;
-
- /**
- * The default value of the '{@link #getImplicitlySetBits() <em>Implicitly Set Bits</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getImplicitlySetBits()
- * @generated
- * @ordered
- */
- protected static final long IMPLICITLY_SET_BITS_EDEFAULT = 0L;
-
- /**
- * The cached value of the '{@link #getImplicitlySetBits() <em>Implicitly Set Bits</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getImplicitlySetBits()
- * @generated
- * @ordered
- */
- protected long implicitlySetBits = IMPLICITLY_SET_BITS_EDEFAULT;
-
- /**
- * The default value of the '{@link #getImplicitDecoratorFlag() <em>Implicit Decorator Flag</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getImplicitDecoratorFlag()
- * @generated
- * @ordered
- */
- protected static final ImplicitItem IMPLICIT_DECORATOR_FLAG_EDEFAULT = ImplicitItem.NOT_IMPLICIT_LITERAL;
-
- /**
- * The cached value of the '{@link #getImplicitDecoratorFlag() <em>Implicit Decorator Flag</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getImplicitDecoratorFlag()
- * @generated
- * @ordered
- */
- protected ImplicitItem implicitDecoratorFlag = IMPLICIT_DECORATOR_FLAG_EDEFAULT;
-
- /**
- * The cached value of the '{@link #getAttributes() <em>Attributes</em>}' map.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getAttributes()
- * @generated
- * @ordered
- */
- protected EMap attributes = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- */
- protected FeatureDecoratorImpl() {
- super();
- setSource(this.getClass().getName());
- }
-
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return BeaninfoPackage.eINSTANCE.getFeatureDecorator();
- }
-
- public String getDisplayName() {
- return isSetDisplayName() ? getDisplayNameGen() : getName();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getDisplayNameGen() {
- return displayName;
- }
-
- public String getName() {
- ENamedElement ne = (ENamedElement) getEModelElement();
- if (ne != null)
- return ne.getName(); // The name from the owner of the feature has to be the name of feature.
- else
- return "?"; // Don't know what it is. //$NON-NLS-1$
- }
-
-
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setDisplayName(String newDisplayName) {
- String oldDisplayName = displayName;
- displayName = newDisplayName;
- boolean oldDisplayNameESet = displayNameESet;
- displayNameESet = true;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.FEATURE_DECORATOR__DISPLAY_NAME, oldDisplayName, displayName, !oldDisplayNameESet));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetDisplayName() {
- String oldDisplayName = displayName;
- boolean oldDisplayNameESet = displayNameESet;
- displayName = DISPLAY_NAME_EDEFAULT;
- displayNameESet = false;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.UNSET, BeaninfoPackage.FEATURE_DECORATOR__DISPLAY_NAME, oldDisplayName, DISPLAY_NAME_EDEFAULT, oldDisplayNameESet));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetDisplayName() {
- return displayNameESet;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getShortDescription() {
- return shortDescription;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setShortDescription(String newShortDescription) {
- String oldShortDescription = shortDescription;
- shortDescription = newShortDescription;
- boolean oldShortDescriptionESet = shortDescriptionESet;
- shortDescriptionESet = true;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.FEATURE_DECORATOR__SHORT_DESCRIPTION, oldShortDescription, shortDescription, !oldShortDescriptionESet));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetShortDescription() {
- String oldShortDescription = shortDescription;
- boolean oldShortDescriptionESet = shortDescriptionESet;
- shortDescription = SHORT_DESCRIPTION_EDEFAULT;
- shortDescriptionESet = false;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.UNSET, BeaninfoPackage.FEATURE_DECORATOR__SHORT_DESCRIPTION, oldShortDescription, SHORT_DESCRIPTION_EDEFAULT, oldShortDescriptionESet));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetShortDescription() {
- return shortDescriptionESet;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getCategory() {
- return category;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setCategory(String newCategory) {
- String oldCategory = category;
- category = newCategory;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.FEATURE_DECORATOR__CATEGORY, oldCategory, category));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isExpert() {
- return expert;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setExpert(boolean newExpert) {
- boolean oldExpert = expert;
- expert = newExpert;
- boolean oldExpertESet = expertESet;
- expertESet = true;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.FEATURE_DECORATOR__EXPERT, oldExpert, expert, !oldExpertESet));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetExpert() {
- boolean oldExpert = expert;
- boolean oldExpertESet = expertESet;
- expert = EXPERT_EDEFAULT;
- expertESet = false;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.UNSET, BeaninfoPackage.FEATURE_DECORATOR__EXPERT, oldExpert, EXPERT_EDEFAULT, oldExpertESet));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetExpert() {
- return expertESet;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isHidden() {
- return hidden;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setHidden(boolean newHidden) {
- boolean oldHidden = hidden;
- hidden = newHidden;
- boolean oldHiddenESet = hiddenESet;
- hiddenESet = true;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.FEATURE_DECORATOR__HIDDEN, oldHidden, hidden, !oldHiddenESet));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetHidden() {
- boolean oldHidden = hidden;
- boolean oldHiddenESet = hiddenESet;
- hidden = HIDDEN_EDEFAULT;
- hiddenESet = false;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.UNSET, BeaninfoPackage.FEATURE_DECORATOR__HIDDEN, oldHidden, HIDDEN_EDEFAULT, oldHiddenESet));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetHidden() {
- return hiddenESet;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isPreferred() {
- return preferred;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setPreferred(boolean newPreferred) {
- boolean oldPreferred = preferred;
- preferred = newPreferred;
- boolean oldPreferredESet = preferredESet;
- preferredESet = true;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.FEATURE_DECORATOR__PREFERRED, oldPreferred, preferred, !oldPreferredESet));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetPreferred() {
- boolean oldPreferred = preferred;
- boolean oldPreferredESet = preferredESet;
- preferred = PREFERRED_EDEFAULT;
- preferredESet = false;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.UNSET, BeaninfoPackage.FEATURE_DECORATOR__PREFERRED, oldPreferred, PREFERRED_EDEFAULT, oldPreferredESet));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetPreferred() {
- return preferredESet;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isMergeIntrospection() {
- return mergeIntrospection;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setMergeIntrospection(boolean newMergeIntrospection) {
- boolean oldMergeIntrospection = mergeIntrospection;
- mergeIntrospection = newMergeIntrospection;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.FEATURE_DECORATOR__MERGE_INTROSPECTION, oldMergeIntrospection, mergeIntrospection));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isAttributesExplicitEmpty() {
- return attributesExplicitEmpty;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setAttributesExplicitEmpty(boolean newAttributesExplicitEmpty) {
- boolean oldAttributesExplicitEmpty = attributesExplicitEmpty;
- attributesExplicitEmpty = newAttributesExplicitEmpty;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.FEATURE_DECORATOR__ATTRIBUTES_EXPLICIT_EMPTY, oldAttributesExplicitEmpty, attributesExplicitEmpty));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public long getImplicitlySetBits() {
- return implicitlySetBits;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setImplicitlySetBits(long newImplicitlySetBits) {
- long oldImplicitlySetBits = implicitlySetBits;
- implicitlySetBits = newImplicitlySetBits;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.FEATURE_DECORATOR__IMPLICITLY_SET_BITS, oldImplicitlySetBits, implicitlySetBits));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ImplicitItem getImplicitDecoratorFlag() {
- return implicitDecoratorFlag;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setImplicitDecoratorFlag(ImplicitItem newImplicitDecoratorFlag) {
- ImplicitItem oldImplicitDecoratorFlag = implicitDecoratorFlag;
- implicitDecoratorFlag = newImplicitDecoratorFlag == null ? IMPLICIT_DECORATOR_FLAG_EDEFAULT : newImplicitDecoratorFlag;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.FEATURE_DECORATOR__IMPLICIT_DECORATOR_FLAG, oldImplicitDecoratorFlag, implicitDecoratorFlag));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EMap getAttributes() {
- if (attributes == null) {
- attributes = new EcoreEMap(BeaninfoPackage.eINSTANCE.getFeatureAttributeMapEntry(), FeatureAttributeMapEntryImpl.class, this, BeaninfoPackage.FEATURE_DECORATOR__ATTRIBUTES);
- }
- return attributes;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String toString() {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (displayName: ");
- if (displayNameESet) result.append(displayName); else result.append("<unset>");
- result.append(", shortDescription: ");
- if (shortDescriptionESet) result.append(shortDescription); else result.append("<unset>");
- result.append(", category: ");
- result.append(category);
- result.append(", expert: ");
- if (expertESet) result.append(expert); else result.append("<unset>");
- result.append(", hidden: ");
- if (hiddenESet) result.append(hidden); else result.append("<unset>");
- result.append(", preferred: ");
- if (preferredESet) result.append(preferred); else result.append("<unset>");
- result.append(", mergeIntrospection: ");
- result.append(mergeIntrospection);
- result.append(", attributesExplicitEmpty: ");
- result.append(attributesExplicitEmpty);
- result.append(", implicitlySetBits: ");
- result.append(implicitlySetBits);
- result.append(", implicitDecoratorFlag: ");
- result.append(implicitDecoratorFlag);
- result.append(')');
- return result.toString();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case BeaninfoPackage.FEATURE_DECORATOR__EANNOTATIONS:
- return ((InternalEList)getEAnnotations()).basicAdd(otherEnd, msgs);
- case BeaninfoPackage.FEATURE_DECORATOR__EMODEL_ELEMENT:
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, BeaninfoPackage.FEATURE_DECORATOR__EMODEL_ELEMENT, msgs);
- default:
- return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
- }
- }
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case BeaninfoPackage.FEATURE_DECORATOR__EANNOTATIONS:
- return ((InternalEList)getEAnnotations()).basicRemove(otherEnd, msgs);
- case BeaninfoPackage.FEATURE_DECORATOR__DETAILS:
- return ((InternalEList)getDetails()).basicRemove(otherEnd, msgs);
- case BeaninfoPackage.FEATURE_DECORATOR__EMODEL_ELEMENT:
- return eBasicSetContainer(null, BeaninfoPackage.FEATURE_DECORATOR__EMODEL_ELEMENT, msgs);
- case BeaninfoPackage.FEATURE_DECORATOR__CONTENTS:
- return ((InternalEList)getContents()).basicRemove(otherEnd, msgs);
- case BeaninfoPackage.FEATURE_DECORATOR__ATTRIBUTES:
- return ((InternalEList)getAttributes()).basicRemove(otherEnd, msgs);
- default:
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
- if (eContainerFeatureID >= 0) {
- switch (eContainerFeatureID) {
- case BeaninfoPackage.FEATURE_DECORATOR__EMODEL_ELEMENT:
- return eContainer.eInverseRemove(this, EcorePackage.EMODEL_ELEMENT__EANNOTATIONS, EModelElement.class, msgs);
- default:
- return eDynamicBasicRemoveFromContainer(msgs);
- }
- }
- return eContainer.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.FEATURE_DECORATOR__EANNOTATIONS:
- return getEAnnotations();
- case BeaninfoPackage.FEATURE_DECORATOR__SOURCE:
- return getSource();
- case BeaninfoPackage.FEATURE_DECORATOR__DETAILS:
- return getDetails();
- case BeaninfoPackage.FEATURE_DECORATOR__EMODEL_ELEMENT:
- return getEModelElement();
- case BeaninfoPackage.FEATURE_DECORATOR__CONTENTS:
- return getContents();
- case BeaninfoPackage.FEATURE_DECORATOR__REFERENCES:
- return getReferences();
- case BeaninfoPackage.FEATURE_DECORATOR__DISPLAY_NAME:
- return getDisplayName();
- case BeaninfoPackage.FEATURE_DECORATOR__SHORT_DESCRIPTION:
- return getShortDescription();
- case BeaninfoPackage.FEATURE_DECORATOR__CATEGORY:
- return getCategory();
- case BeaninfoPackage.FEATURE_DECORATOR__EXPERT:
- return isExpert() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.FEATURE_DECORATOR__HIDDEN:
- return isHidden() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.FEATURE_DECORATOR__PREFERRED:
- return isPreferred() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.FEATURE_DECORATOR__MERGE_INTROSPECTION:
- return isMergeIntrospection() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.FEATURE_DECORATOR__ATTRIBUTES_EXPLICIT_EMPTY:
- return isAttributesExplicitEmpty() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.FEATURE_DECORATOR__IMPLICITLY_SET_BITS:
- return new Long(getImplicitlySetBits());
- case BeaninfoPackage.FEATURE_DECORATOR__IMPLICIT_DECORATOR_FLAG:
- return getImplicitDecoratorFlag();
- case BeaninfoPackage.FEATURE_DECORATOR__ATTRIBUTES:
- return getAttributes();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.FEATURE_DECORATOR__EANNOTATIONS:
- getEAnnotations().clear();
- getEAnnotations().addAll((Collection)newValue);
- return;
- case BeaninfoPackage.FEATURE_DECORATOR__SOURCE:
- setSource((String)newValue);
- return;
- case BeaninfoPackage.FEATURE_DECORATOR__DETAILS:
- getDetails().clear();
- getDetails().addAll((Collection)newValue);
- return;
- case BeaninfoPackage.FEATURE_DECORATOR__EMODEL_ELEMENT:
- setEModelElement((EModelElement)newValue);
- return;
- case BeaninfoPackage.FEATURE_DECORATOR__CONTENTS:
- getContents().clear();
- getContents().addAll((Collection)newValue);
- return;
- case BeaninfoPackage.FEATURE_DECORATOR__REFERENCES:
- getReferences().clear();
- getReferences().addAll((Collection)newValue);
- return;
- case BeaninfoPackage.FEATURE_DECORATOR__DISPLAY_NAME:
- setDisplayName((String)newValue);
- return;
- case BeaninfoPackage.FEATURE_DECORATOR__SHORT_DESCRIPTION:
- setShortDescription((String)newValue);
- return;
- case BeaninfoPackage.FEATURE_DECORATOR__CATEGORY:
- setCategory((String)newValue);
- return;
- case BeaninfoPackage.FEATURE_DECORATOR__EXPERT:
- setExpert(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.FEATURE_DECORATOR__HIDDEN:
- setHidden(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.FEATURE_DECORATOR__PREFERRED:
- setPreferred(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.FEATURE_DECORATOR__MERGE_INTROSPECTION:
- setMergeIntrospection(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.FEATURE_DECORATOR__ATTRIBUTES_EXPLICIT_EMPTY:
- setAttributesExplicitEmpty(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.FEATURE_DECORATOR__IMPLICITLY_SET_BITS:
- setImplicitlySetBits(((Long)newValue).longValue());
- return;
- case BeaninfoPackage.FEATURE_DECORATOR__IMPLICIT_DECORATOR_FLAG:
- setImplicitDecoratorFlag((ImplicitItem)newValue);
- return;
- case BeaninfoPackage.FEATURE_DECORATOR__ATTRIBUTES:
- getAttributes().clear();
- getAttributes().addAll((Collection)newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.FEATURE_DECORATOR__EANNOTATIONS:
- getEAnnotations().clear();
- return;
- case BeaninfoPackage.FEATURE_DECORATOR__SOURCE:
- setSource(SOURCE_EDEFAULT);
- return;
- case BeaninfoPackage.FEATURE_DECORATOR__DETAILS:
- getDetails().clear();
- return;
- case BeaninfoPackage.FEATURE_DECORATOR__EMODEL_ELEMENT:
- setEModelElement((EModelElement)null);
- return;
- case BeaninfoPackage.FEATURE_DECORATOR__CONTENTS:
- getContents().clear();
- return;
- case BeaninfoPackage.FEATURE_DECORATOR__REFERENCES:
- getReferences().clear();
- return;
- case BeaninfoPackage.FEATURE_DECORATOR__DISPLAY_NAME:
- unsetDisplayName();
- return;
- case BeaninfoPackage.FEATURE_DECORATOR__SHORT_DESCRIPTION:
- unsetShortDescription();
- return;
- case BeaninfoPackage.FEATURE_DECORATOR__CATEGORY:
- setCategory(CATEGORY_EDEFAULT);
- return;
- case BeaninfoPackage.FEATURE_DECORATOR__EXPERT:
- unsetExpert();
- return;
- case BeaninfoPackage.FEATURE_DECORATOR__HIDDEN:
- unsetHidden();
- return;
- case BeaninfoPackage.FEATURE_DECORATOR__PREFERRED:
- unsetPreferred();
- return;
- case BeaninfoPackage.FEATURE_DECORATOR__MERGE_INTROSPECTION:
- setMergeIntrospection(MERGE_INTROSPECTION_EDEFAULT);
- return;
- case BeaninfoPackage.FEATURE_DECORATOR__ATTRIBUTES_EXPLICIT_EMPTY:
- setAttributesExplicitEmpty(ATTRIBUTES_EXPLICIT_EMPTY_EDEFAULT);
- return;
- case BeaninfoPackage.FEATURE_DECORATOR__IMPLICITLY_SET_BITS:
- setImplicitlySetBits(IMPLICITLY_SET_BITS_EDEFAULT);
- return;
- case BeaninfoPackage.FEATURE_DECORATOR__IMPLICIT_DECORATOR_FLAG:
- setImplicitDecoratorFlag(IMPLICIT_DECORATOR_FLAG_EDEFAULT);
- return;
- case BeaninfoPackage.FEATURE_DECORATOR__ATTRIBUTES:
- getAttributes().clear();
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * Called by overrides to eIsSet to test if source is set. This is because for the
- * FeatureDecorator and subclasses, setting source to the classname is considered
- * to be not set since that is the new default for each class level. By doing this
- * when serializing it won't waste space and time adding a copy of the source string
- * to the serialized output and then creating a NEW copy on each decorator loaded
- * from an XMI file.
- *
- * @return <code>true</code> if source is not null and not equal to class name.
- *
- * @since 1.1.0
- */
- protected boolean isSourceSet() {
- return source != null && !getClass().getName().equals(source);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.emf.ecore.EObject#eIsSet(org.eclipse.emf.ecore.EStructuralFeature)
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.FEATURE_DECORATOR__SOURCE:
- return isSourceSet(); // Override so that if set to the same as classname, then it is considered not set.
- default:
- return eIsSetGen(eFeature);
- }
- }
-
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSetGen(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.FEATURE_DECORATOR__EANNOTATIONS:
- return eAnnotations != null && !eAnnotations.isEmpty();
- case BeaninfoPackage.FEATURE_DECORATOR__SOURCE:
- return SOURCE_EDEFAULT == null ? source != null : !SOURCE_EDEFAULT.equals(source);
- case BeaninfoPackage.FEATURE_DECORATOR__DETAILS:
- return details != null && !details.isEmpty();
- case BeaninfoPackage.FEATURE_DECORATOR__EMODEL_ELEMENT:
- return getEModelElement() != null;
- case BeaninfoPackage.FEATURE_DECORATOR__CONTENTS:
- return contents != null && !contents.isEmpty();
- case BeaninfoPackage.FEATURE_DECORATOR__REFERENCES:
- return references != null && !references.isEmpty();
- case BeaninfoPackage.FEATURE_DECORATOR__DISPLAY_NAME:
- return isSetDisplayName();
- case BeaninfoPackage.FEATURE_DECORATOR__SHORT_DESCRIPTION:
- return isSetShortDescription();
- case BeaninfoPackage.FEATURE_DECORATOR__CATEGORY:
- return CATEGORY_EDEFAULT == null ? category != null : !CATEGORY_EDEFAULT.equals(category);
- case BeaninfoPackage.FEATURE_DECORATOR__EXPERT:
- return isSetExpert();
- case BeaninfoPackage.FEATURE_DECORATOR__HIDDEN:
- return isSetHidden();
- case BeaninfoPackage.FEATURE_DECORATOR__PREFERRED:
- return isSetPreferred();
- case BeaninfoPackage.FEATURE_DECORATOR__MERGE_INTROSPECTION:
- return mergeIntrospection != MERGE_INTROSPECTION_EDEFAULT;
- case BeaninfoPackage.FEATURE_DECORATOR__ATTRIBUTES_EXPLICIT_EMPTY:
- return attributesExplicitEmpty != ATTRIBUTES_EXPLICIT_EMPTY_EDEFAULT;
- case BeaninfoPackage.FEATURE_DECORATOR__IMPLICITLY_SET_BITS:
- return implicitlySetBits != IMPLICITLY_SET_BITS_EDEFAULT;
- case BeaninfoPackage.FEATURE_DECORATOR__IMPLICIT_DECORATOR_FLAG:
- return implicitDecoratorFlag != IMPLICIT_DECORATOR_FLAG_EDEFAULT;
- case BeaninfoPackage.FEATURE_DECORATOR__ATTRIBUTES:
- return attributes != null && !attributes.isEmpty();
- }
- return eDynamicIsSet(eFeature);
- }
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/IndexedPropertyDecoratorImpl.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/IndexedPropertyDecoratorImpl.java
deleted file mode 100644
index f3dd05af0..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/IndexedPropertyDecoratorImpl.java
+++ /dev/null
@@ -1,664 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo.impl;
-/*
- * $RCSfile: IndexedPropertyDecoratorImpl.java,v $
- * $Revision: 1.8 $ $Date: 2005/04/14 19:05:36 $
- */
-
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EModelElement;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.internal.beaninfo.BeaninfoPackage;
-import org.eclipse.jem.internal.beaninfo.ImplicitItem;
-import org.eclipse.jem.internal.beaninfo.IndexedPropertyDecorator;
-import org.eclipse.jem.java.Field;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.Method;
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Indexed Property Decorator</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.IndexedPropertyDecoratorImpl#getIndexedReadMethod <em>Indexed Read Method</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.IndexedPropertyDecoratorImpl#getIndexedWriteMethod <em>Indexed Write Method</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-
-
-public class IndexedPropertyDecoratorImpl extends PropertyDecoratorImpl implements IndexedPropertyDecorator{
-
- /**
- * Bits for implicitly set features. This is internal, not meant for clients.
- */
- public static final long INDEXED_READMETHOD_IMPLICIT = 0x100000L; // Start kind of high so as to allow PropertyDecorator to increase without conflig.
- public static final long INDEXED_WRITEMETHOD_IMPLICIT = 0x200000L;
-
- /**
- * The cached value of the '{@link #getIndexedReadMethod() <em>Indexed Read Method</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getIndexedReadMethod()
- * @generated
- * @ordered
- */
- protected Method indexedReadMethod = null;
- /**
- * This is true if the Indexed Read Method reference has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean indexedReadMethodESet = false;
-
- /**
- * The cached value of the '{@link #getIndexedWriteMethod() <em>Indexed Write Method</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getIndexedWriteMethod()
- * @generated
- * @ordered
- */
- protected Method indexedWriteMethod = null;
-
- /**
- * This is true if the Indexed Write Method reference has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean indexedWriteMethodESet = false;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected IndexedPropertyDecoratorImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return BeaninfoPackage.eINSTANCE.getIndexedPropertyDecorator();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Method getIndexedReadMethod() {
- if (indexedReadMethod != null && indexedReadMethod.eIsProxy()) {
- Method oldIndexedReadMethod = indexedReadMethod;
- indexedReadMethod = (Method)eResolveProxy((InternalEObject)indexedReadMethod);
- if (indexedReadMethod != oldIndexedReadMethod) {
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__INDEXED_READ_METHOD, oldIndexedReadMethod, indexedReadMethod));
- }
- }
- return indexedReadMethod;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setIndexedReadMethod(Method newIndexedReadMethod) {
- Method oldIndexedReadMethod = indexedReadMethod;
- indexedReadMethod = newIndexedReadMethod;
- boolean oldIndexedReadMethodESet = indexedReadMethodESet;
- indexedReadMethodESet = true;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__INDEXED_READ_METHOD, oldIndexedReadMethod, indexedReadMethod, !oldIndexedReadMethodESet));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetIndexedReadMethod() {
- Method oldIndexedReadMethod = indexedReadMethod;
- boolean oldIndexedReadMethodESet = indexedReadMethodESet;
- indexedReadMethod = null;
- indexedReadMethodESet = false;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.UNSET, BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__INDEXED_READ_METHOD, oldIndexedReadMethod, null, oldIndexedReadMethodESet));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetIndexedReadMethod() {
- return indexedReadMethodESet;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Method getIndexedWriteMethod() {
- if (indexedWriteMethod != null && indexedWriteMethod.eIsProxy()) {
- Method oldIndexedWriteMethod = indexedWriteMethod;
- indexedWriteMethod = (Method)eResolveProxy((InternalEObject)indexedWriteMethod);
- if (indexedWriteMethod != oldIndexedWriteMethod) {
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__INDEXED_WRITE_METHOD, oldIndexedWriteMethod, indexedWriteMethod));
- }
- }
- return indexedWriteMethod;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setIndexedWriteMethod(Method newIndexedWriteMethod) {
- Method oldIndexedWriteMethod = indexedWriteMethod;
- indexedWriteMethod = newIndexedWriteMethod;
- boolean oldIndexedWriteMethodESet = indexedWriteMethodESet;
- indexedWriteMethodESet = true;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__INDEXED_WRITE_METHOD, oldIndexedWriteMethod, indexedWriteMethod, !oldIndexedWriteMethodESet));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetIndexedWriteMethod() {
- Method oldIndexedWriteMethod = indexedWriteMethod;
- boolean oldIndexedWriteMethodESet = indexedWriteMethodESet;
- indexedWriteMethod = null;
- indexedWriteMethodESet = false;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.UNSET, BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__INDEXED_WRITE_METHOD, oldIndexedWriteMethod, null, oldIndexedWriteMethodESet));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetIndexedWriteMethod() {
- return indexedWriteMethodESet;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__EANNOTATIONS:
- return ((InternalEList)getEAnnotations()).basicAdd(otherEnd, msgs);
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__EMODEL_ELEMENT:
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__EMODEL_ELEMENT, msgs);
- default:
- return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
- }
- }
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__EANNOTATIONS:
- return ((InternalEList)getEAnnotations()).basicRemove(otherEnd, msgs);
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__DETAILS:
- return ((InternalEList)getDetails()).basicRemove(otherEnd, msgs);
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__EMODEL_ELEMENT:
- return eBasicSetContainer(null, BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__EMODEL_ELEMENT, msgs);
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__CONTENTS:
- return ((InternalEList)getContents()).basicRemove(otherEnd, msgs);
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__ATTRIBUTES:
- return ((InternalEList)getAttributes()).basicRemove(otherEnd, msgs);
- default:
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
- if (eContainerFeatureID >= 0) {
- switch (eContainerFeatureID) {
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__EMODEL_ELEMENT:
- return eContainer.eInverseRemove(this, EcorePackage.EMODEL_ELEMENT__EANNOTATIONS, EModelElement.class, msgs);
- default:
- return eDynamicBasicRemoveFromContainer(msgs);
- }
- }
- return eContainer.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__EANNOTATIONS:
- return getEAnnotations();
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__SOURCE:
- return getSource();
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__DETAILS:
- return getDetails();
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__EMODEL_ELEMENT:
- return getEModelElement();
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__CONTENTS:
- return getContents();
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__REFERENCES:
- return getReferences();
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__DISPLAY_NAME:
- return getDisplayName();
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__SHORT_DESCRIPTION:
- return getShortDescription();
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__CATEGORY:
- return getCategory();
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__EXPERT:
- return isExpert() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__HIDDEN:
- return isHidden() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__PREFERRED:
- return isPreferred() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__MERGE_INTROSPECTION:
- return isMergeIntrospection() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__ATTRIBUTES_EXPLICIT_EMPTY:
- return isAttributesExplicitEmpty() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__IMPLICITLY_SET_BITS:
- return new Long(getImplicitlySetBits());
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__IMPLICIT_DECORATOR_FLAG:
- return getImplicitDecoratorFlag();
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__ATTRIBUTES:
- return getAttributes();
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__BOUND:
- return isBound() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__CONSTRAINED:
- return isConstrained() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__DESIGN_TIME:
- return isDesignTime() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__ALWAYS_INCOMPATIBLE:
- return isAlwaysIncompatible() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__FILTER_FLAGS:
- return getFilterFlags();
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__FIELD_READ_ONLY:
- return isFieldReadOnly() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__PROPERTY_EDITOR_CLASS:
- if (resolve) return getPropertyEditorClass();
- return basicGetPropertyEditorClass();
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__READ_METHOD:
- if (resolve) return getReadMethod();
- return basicGetReadMethod();
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__WRITE_METHOD:
- if (resolve) return getWriteMethod();
- return basicGetWriteMethod();
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__FIELD:
- if (resolve) return getField();
- return basicGetField();
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__INDEXED_READ_METHOD:
- if (resolve) return getIndexedReadMethod();
- return basicGetIndexedReadMethod();
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__INDEXED_WRITE_METHOD:
- if (resolve) return getIndexedWriteMethod();
- return basicGetIndexedWriteMethod();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__EANNOTATIONS:
- getEAnnotations().clear();
- getEAnnotations().addAll((Collection)newValue);
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__SOURCE:
- setSource((String)newValue);
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__DETAILS:
- getDetails().clear();
- getDetails().addAll((Collection)newValue);
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__EMODEL_ELEMENT:
- setEModelElement((EModelElement)newValue);
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__CONTENTS:
- getContents().clear();
- getContents().addAll((Collection)newValue);
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__REFERENCES:
- getReferences().clear();
- getReferences().addAll((Collection)newValue);
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__DISPLAY_NAME:
- setDisplayName((String)newValue);
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__SHORT_DESCRIPTION:
- setShortDescription((String)newValue);
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__CATEGORY:
- setCategory((String)newValue);
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__EXPERT:
- setExpert(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__HIDDEN:
- setHidden(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__PREFERRED:
- setPreferred(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__MERGE_INTROSPECTION:
- setMergeIntrospection(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__ATTRIBUTES_EXPLICIT_EMPTY:
- setAttributesExplicitEmpty(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__IMPLICITLY_SET_BITS:
- setImplicitlySetBits(((Long)newValue).longValue());
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__IMPLICIT_DECORATOR_FLAG:
- setImplicitDecoratorFlag((ImplicitItem)newValue);
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__ATTRIBUTES:
- getAttributes().clear();
- getAttributes().addAll((Collection)newValue);
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__BOUND:
- setBound(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__CONSTRAINED:
- setConstrained(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__DESIGN_TIME:
- setDesignTime(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__ALWAYS_INCOMPATIBLE:
- setAlwaysIncompatible(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__FILTER_FLAGS:
- getFilterFlags().clear();
- getFilterFlags().addAll((Collection)newValue);
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__FIELD_READ_ONLY:
- setFieldReadOnly(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__PROPERTY_EDITOR_CLASS:
- setPropertyEditorClass((JavaClass)newValue);
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__READ_METHOD:
- setReadMethod((Method)newValue);
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__WRITE_METHOD:
- setWriteMethod((Method)newValue);
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__FIELD:
- setField((Field)newValue);
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__INDEXED_READ_METHOD:
- setIndexedReadMethod((Method)newValue);
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__INDEXED_WRITE_METHOD:
- setIndexedWriteMethod((Method)newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__EANNOTATIONS:
- getEAnnotations().clear();
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__SOURCE:
- setSource(SOURCE_EDEFAULT);
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__DETAILS:
- getDetails().clear();
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__EMODEL_ELEMENT:
- setEModelElement((EModelElement)null);
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__CONTENTS:
- getContents().clear();
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__REFERENCES:
- getReferences().clear();
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__DISPLAY_NAME:
- unsetDisplayName();
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__SHORT_DESCRIPTION:
- unsetShortDescription();
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__CATEGORY:
- setCategory(CATEGORY_EDEFAULT);
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__EXPERT:
- unsetExpert();
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__HIDDEN:
- unsetHidden();
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__PREFERRED:
- unsetPreferred();
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__MERGE_INTROSPECTION:
- setMergeIntrospection(MERGE_INTROSPECTION_EDEFAULT);
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__ATTRIBUTES_EXPLICIT_EMPTY:
- setAttributesExplicitEmpty(ATTRIBUTES_EXPLICIT_EMPTY_EDEFAULT);
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__IMPLICITLY_SET_BITS:
- setImplicitlySetBits(IMPLICITLY_SET_BITS_EDEFAULT);
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__IMPLICIT_DECORATOR_FLAG:
- setImplicitDecoratorFlag(IMPLICIT_DECORATOR_FLAG_EDEFAULT);
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__ATTRIBUTES:
- getAttributes().clear();
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__BOUND:
- unsetBound();
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__CONSTRAINED:
- unsetConstrained();
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__DESIGN_TIME:
- unsetDesignTime();
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__ALWAYS_INCOMPATIBLE:
- setAlwaysIncompatible(ALWAYS_INCOMPATIBLE_EDEFAULT);
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__FILTER_FLAGS:
- getFilterFlags().clear();
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__FIELD_READ_ONLY:
- setFieldReadOnly(FIELD_READ_ONLY_EDEFAULT);
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__PROPERTY_EDITOR_CLASS:
- setPropertyEditorClass((JavaClass)null);
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__READ_METHOD:
- unsetReadMethod();
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__WRITE_METHOD:
- unsetWriteMethod();
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__FIELD:
- unsetField();
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__INDEXED_READ_METHOD:
- unsetIndexedReadMethod();
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__INDEXED_WRITE_METHOD:
- unsetIndexedWriteMethod();
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.emf.ecore.EObject#eIsSet(org.eclipse.emf.ecore.EStructuralFeature)
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__SOURCE:
- return isSourceSet(); // Override so that if set to the same as classname, then it is considered not set.
- default:
- return eIsSetGen(eFeature);
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSetGen(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__EANNOTATIONS:
- return eAnnotations != null && !eAnnotations.isEmpty();
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__SOURCE:
- return SOURCE_EDEFAULT == null ? source != null : !SOURCE_EDEFAULT.equals(source);
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__DETAILS:
- return details != null && !details.isEmpty();
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__EMODEL_ELEMENT:
- return getEModelElement() != null;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__CONTENTS:
- return contents != null && !contents.isEmpty();
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__REFERENCES:
- return references != null && !references.isEmpty();
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__DISPLAY_NAME:
- return isSetDisplayName();
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__SHORT_DESCRIPTION:
- return isSetShortDescription();
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__CATEGORY:
- return CATEGORY_EDEFAULT == null ? category != null : !CATEGORY_EDEFAULT.equals(category);
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__EXPERT:
- return isSetExpert();
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__HIDDEN:
- return isSetHidden();
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__PREFERRED:
- return isSetPreferred();
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__MERGE_INTROSPECTION:
- return mergeIntrospection != MERGE_INTROSPECTION_EDEFAULT;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__ATTRIBUTES_EXPLICIT_EMPTY:
- return attributesExplicitEmpty != ATTRIBUTES_EXPLICIT_EMPTY_EDEFAULT;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__IMPLICITLY_SET_BITS:
- return implicitlySetBits != IMPLICITLY_SET_BITS_EDEFAULT;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__IMPLICIT_DECORATOR_FLAG:
- return implicitDecoratorFlag != IMPLICIT_DECORATOR_FLAG_EDEFAULT;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__ATTRIBUTES:
- return attributes != null && !attributes.isEmpty();
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__BOUND:
- return isSetBound();
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__CONSTRAINED:
- return isSetConstrained();
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__DESIGN_TIME:
- return isSetDesignTime();
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__ALWAYS_INCOMPATIBLE:
- return alwaysIncompatible != ALWAYS_INCOMPATIBLE_EDEFAULT;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__FILTER_FLAGS:
- return filterFlags != null && !filterFlags.isEmpty();
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__FIELD_READ_ONLY:
- return fieldReadOnly != FIELD_READ_ONLY_EDEFAULT;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__PROPERTY_EDITOR_CLASS:
- return propertyEditorClass != null;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__READ_METHOD:
- return isSetReadMethod();
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__WRITE_METHOD:
- return isSetWriteMethod();
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__FIELD:
- return isSetField();
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__INDEXED_READ_METHOD:
- return isSetIndexedReadMethod();
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__INDEXED_WRITE_METHOD:
- return isSetIndexedWriteMethod();
- }
- return eDynamicIsSet(eFeature);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Method basicGetIndexedReadMethod() {
- return indexedReadMethod;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Method basicGetIndexedWriteMethod() {
- return indexedWriteMethod;
- }
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/MethodDecoratorImpl.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/MethodDecoratorImpl.java
deleted file mode 100644
index 75582b2df..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/MethodDecoratorImpl.java
+++ /dev/null
@@ -1,592 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo.impl;
-/*
- * $RCSfile: MethodDecoratorImpl.java,v $
- * $Revision: 1.6 $ $Date: 2005/04/14 19:05:36 $
- */
-
-
-import java.util.*;
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EModelElement;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.internal.beaninfo.BeaninfoFactory;
-import org.eclipse.jem.internal.beaninfo.BeaninfoPackage;
-import org.eclipse.jem.internal.beaninfo.ImplicitItem;
-import org.eclipse.jem.internal.beaninfo.MethodDecorator;
-import org.eclipse.jem.internal.beaninfo.MethodProxy;
-import org.eclipse.jem.internal.beaninfo.ParameterDecorator;
-import org.eclipse.jem.java.JavaParameter;
-import org.eclipse.jem.java.Method;
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Method Decorator</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.MethodDecoratorImpl#isParmsExplicitEmpty <em>Parms Explicit Empty</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.MethodDecoratorImpl#getParameterDescriptors <em>Parameter Descriptors</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.MethodDecoratorImpl#getSerParmDesc <em>Ser Parm Desc</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-
-
-public class MethodDecoratorImpl extends FeatureDecoratorImpl implements MethodDecorator{
-
- /**
- * Bits for implicitly set features. This is internal, not meant for clients.
- */
- public static final long METHOD_PARAMETERS_IMPLICIT = 0x1L;
- public static final long METHOD_PARAMETERS_DEFAULT = 02L; // Special, means were created by default and not by implicit (from beaninfo).
-
- /**
- * The default value of the '{@link #isParmsExplicitEmpty() <em>Parms Explicit Empty</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isParmsExplicitEmpty()
- * @generated
- * @ordered
- */
- protected static final boolean PARMS_EXPLICIT_EMPTY_EDEFAULT = false;
-
- /**
- * The cached value of the '{@link #isParmsExplicitEmpty() <em>Parms Explicit Empty</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isParmsExplicitEmpty()
- * @generated
- * @ordered
- */
- protected boolean parmsExplicitEmpty = PARMS_EXPLICIT_EMPTY_EDEFAULT;
-
- /**
- * The cached value of the '{@link #getSerParmDesc() <em>Ser Parm Desc</em>}' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getSerParmDesc()
- * @generated
- * @ordered
- */
- protected EList serParmDesc = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected MethodDecoratorImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return BeaninfoPackage.eINSTANCE.getMethodDecorator();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isParmsExplicitEmpty() {
- return parmsExplicitEmpty;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setParmsExplicitEmpty(boolean newParmsExplicitEmpty) {
- boolean oldParmsExplicitEmpty = parmsExplicitEmpty;
- parmsExplicitEmpty = newParmsExplicitEmpty;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.METHOD_DECORATOR__PARMS_EXPLICIT_EMPTY, oldParmsExplicitEmpty, parmsExplicitEmpty));
- }
-
- /*
- * This is called if parms list not explicitly set and it was empty from BeanInfo or
- * this is from reflection. This becomes the default list based upon the method
- * we are attached to.
- */
- private EList createDefaultParmsList() {
- EList parmsList = this.getSerParmDesc();
- parmsList.clear();
-
- setImplicitlySetBits(getImplicitlySetBits()|METHOD_PARAMETERS_DEFAULT); // Mark as we implicitly filled it in.
- List p = getMethodParameters();
- if (p == null)
- return parmsList; // Couldn't get the list for some reason, so leave as is.
- int psize = p.size();
- for (int i=0; i<psize; i++) {
- ParameterDecorator pd = BeaninfoFactory.eINSTANCE.createParameterDecorator();
- JavaParameter jp = (JavaParameter) p.get(i);
- pd.setName(jp.getName());
- pd.setImplicitlySetBits(ParameterDecoratorImpl.PARAMETER_NAME_IMPLICIT);
- pd.setParameter(jp);
- parmsList.add(pd);
- }
- return parmsList;
- }
-
- /*
- * Initialize the ParameterDecorators to hook up the JavaParameter they are describing.
- * This is called from ParameterDecorator when it finds that its JavaParameter has not been set.
- * This means that it was explicitly added and we need to setup the parms.
- * <p>
- * Note this an internal method for BeanInfo. It is not meant to be called by clients.
- */
- void initializeParameters() {
- if (this.serParmDesc == null)
- return;
- List mp = getMethodParameters();
- if (mp.isEmpty())
- return; // Nothing that can be described.
- int psize = Math.min(this.serParmDesc.size(), mp.size());
- for (int i=0; i < psize; i++)
- ((ParameterDecorator) this.serParmDesc.get(i)).setParameter((JavaParameter) mp.get(i));
- }
-
-
- /*
- * Get the jem parameters from the method (jem method)
- */
- private List getMethodParameters() {
- // Get the method
- Method m = null;
- Object d = getEModelElement();
- if (d instanceof Method)
- m = (Method) d;
- else
- if (d instanceof MethodProxy)
- m = ((MethodProxy) d).getMethod();
- else
- return Collections.EMPTY_LIST; // Not decorating correct object.
- if (m == null)
- return Collections.EMPTY_LIST; // Couldn't find the method.
- List p = m.getParameters();
- return p;
- }
-
-
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String toString() {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (parmsExplicitEmpty: ");
- result.append(parmsExplicitEmpty);
- result.append(')');
- return result.toString();
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.beaninfo.MethodDecorator#getParameterDescriptors()
- */
- public EList getParameterDescriptors() {
- if (!isParmsExplicitEmpty() && getSerParmDesc().isEmpty() && (getImplicitlySetBits()&(METHOD_PARAMETERS_IMPLICIT | METHOD_PARAMETERS_DEFAULT)) == 0) {
- // Not explicitly empty, it is empty, and we have not implicitly or by defaults made it empty, then create the defaults.
- createDefaultParmsList();
- }
- return getSerParmDesc();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EList getParameterDescriptorsGen() {
- // TODO: implement this method to return the 'Parameter Descriptors' reference list
- // Ensure that you remove @generated or mark it @generated NOT
- throw new UnsupportedOperationException();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EList getSerParmDesc() {
- if (serParmDesc == null) {
- serParmDesc = new EObjectContainmentEList(ParameterDecorator.class, this, BeaninfoPackage.METHOD_DECORATOR__SER_PARM_DESC);
- }
- return serParmDesc;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case BeaninfoPackage.METHOD_DECORATOR__EANNOTATIONS:
- return ((InternalEList)getEAnnotations()).basicAdd(otherEnd, msgs);
- case BeaninfoPackage.METHOD_DECORATOR__EMODEL_ELEMENT:
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, BeaninfoPackage.METHOD_DECORATOR__EMODEL_ELEMENT, msgs);
- default:
- return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
- }
- }
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case BeaninfoPackage.METHOD_DECORATOR__EANNOTATIONS:
- return ((InternalEList)getEAnnotations()).basicRemove(otherEnd, msgs);
- case BeaninfoPackage.METHOD_DECORATOR__DETAILS:
- return ((InternalEList)getDetails()).basicRemove(otherEnd, msgs);
- case BeaninfoPackage.METHOD_DECORATOR__EMODEL_ELEMENT:
- return eBasicSetContainer(null, BeaninfoPackage.METHOD_DECORATOR__EMODEL_ELEMENT, msgs);
- case BeaninfoPackage.METHOD_DECORATOR__CONTENTS:
- return ((InternalEList)getContents()).basicRemove(otherEnd, msgs);
- case BeaninfoPackage.METHOD_DECORATOR__ATTRIBUTES:
- return ((InternalEList)getAttributes()).basicRemove(otherEnd, msgs);
- case BeaninfoPackage.METHOD_DECORATOR__SER_PARM_DESC:
- return ((InternalEList)getSerParmDesc()).basicRemove(otherEnd, msgs);
- default:
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
- if (eContainerFeatureID >= 0) {
- switch (eContainerFeatureID) {
- case BeaninfoPackage.METHOD_DECORATOR__EMODEL_ELEMENT:
- return eContainer.eInverseRemove(this, EcorePackage.EMODEL_ELEMENT__EANNOTATIONS, EModelElement.class, msgs);
- default:
- return eDynamicBasicRemoveFromContainer(msgs);
- }
- }
- return eContainer.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.METHOD_DECORATOR__EANNOTATIONS:
- return getEAnnotations();
- case BeaninfoPackage.METHOD_DECORATOR__SOURCE:
- return getSource();
- case BeaninfoPackage.METHOD_DECORATOR__DETAILS:
- return getDetails();
- case BeaninfoPackage.METHOD_DECORATOR__EMODEL_ELEMENT:
- return getEModelElement();
- case BeaninfoPackage.METHOD_DECORATOR__CONTENTS:
- return getContents();
- case BeaninfoPackage.METHOD_DECORATOR__REFERENCES:
- return getReferences();
- case BeaninfoPackage.METHOD_DECORATOR__DISPLAY_NAME:
- return getDisplayName();
- case BeaninfoPackage.METHOD_DECORATOR__SHORT_DESCRIPTION:
- return getShortDescription();
- case BeaninfoPackage.METHOD_DECORATOR__CATEGORY:
- return getCategory();
- case BeaninfoPackage.METHOD_DECORATOR__EXPERT:
- return isExpert() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.METHOD_DECORATOR__HIDDEN:
- return isHidden() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.METHOD_DECORATOR__PREFERRED:
- return isPreferred() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.METHOD_DECORATOR__MERGE_INTROSPECTION:
- return isMergeIntrospection() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.METHOD_DECORATOR__ATTRIBUTES_EXPLICIT_EMPTY:
- return isAttributesExplicitEmpty() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.METHOD_DECORATOR__IMPLICITLY_SET_BITS:
- return new Long(getImplicitlySetBits());
- case BeaninfoPackage.METHOD_DECORATOR__IMPLICIT_DECORATOR_FLAG:
- return getImplicitDecoratorFlag();
- case BeaninfoPackage.METHOD_DECORATOR__ATTRIBUTES:
- return getAttributes();
- case BeaninfoPackage.METHOD_DECORATOR__PARMS_EXPLICIT_EMPTY:
- return isParmsExplicitEmpty() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.METHOD_DECORATOR__PARAMETER_DESCRIPTORS:
- return getParameterDescriptors();
- case BeaninfoPackage.METHOD_DECORATOR__SER_PARM_DESC:
- return getSerParmDesc();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.METHOD_DECORATOR__EANNOTATIONS:
- getEAnnotations().clear();
- getEAnnotations().addAll((Collection)newValue);
- return;
- case BeaninfoPackage.METHOD_DECORATOR__SOURCE:
- setSource((String)newValue);
- return;
- case BeaninfoPackage.METHOD_DECORATOR__DETAILS:
- getDetails().clear();
- getDetails().addAll((Collection)newValue);
- return;
- case BeaninfoPackage.METHOD_DECORATOR__EMODEL_ELEMENT:
- setEModelElement((EModelElement)newValue);
- return;
- case BeaninfoPackage.METHOD_DECORATOR__CONTENTS:
- getContents().clear();
- getContents().addAll((Collection)newValue);
- return;
- case BeaninfoPackage.METHOD_DECORATOR__REFERENCES:
- getReferences().clear();
- getReferences().addAll((Collection)newValue);
- return;
- case BeaninfoPackage.METHOD_DECORATOR__DISPLAY_NAME:
- setDisplayName((String)newValue);
- return;
- case BeaninfoPackage.METHOD_DECORATOR__SHORT_DESCRIPTION:
- setShortDescription((String)newValue);
- return;
- case BeaninfoPackage.METHOD_DECORATOR__CATEGORY:
- setCategory((String)newValue);
- return;
- case BeaninfoPackage.METHOD_DECORATOR__EXPERT:
- setExpert(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.METHOD_DECORATOR__HIDDEN:
- setHidden(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.METHOD_DECORATOR__PREFERRED:
- setPreferred(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.METHOD_DECORATOR__MERGE_INTROSPECTION:
- setMergeIntrospection(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.METHOD_DECORATOR__ATTRIBUTES_EXPLICIT_EMPTY:
- setAttributesExplicitEmpty(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.METHOD_DECORATOR__IMPLICITLY_SET_BITS:
- setImplicitlySetBits(((Long)newValue).longValue());
- return;
- case BeaninfoPackage.METHOD_DECORATOR__IMPLICIT_DECORATOR_FLAG:
- setImplicitDecoratorFlag((ImplicitItem)newValue);
- return;
- case BeaninfoPackage.METHOD_DECORATOR__ATTRIBUTES:
- getAttributes().clear();
- getAttributes().addAll((Collection)newValue);
- return;
- case BeaninfoPackage.METHOD_DECORATOR__PARMS_EXPLICIT_EMPTY:
- setParmsExplicitEmpty(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.METHOD_DECORATOR__PARAMETER_DESCRIPTORS:
- getParameterDescriptors().clear();
- getParameterDescriptors().addAll((Collection)newValue);
- return;
- case BeaninfoPackage.METHOD_DECORATOR__SER_PARM_DESC:
- getSerParmDesc().clear();
- getSerParmDesc().addAll((Collection)newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.METHOD_DECORATOR__EANNOTATIONS:
- getEAnnotations().clear();
- return;
- case BeaninfoPackage.METHOD_DECORATOR__SOURCE:
- setSource(SOURCE_EDEFAULT);
- return;
- case BeaninfoPackage.METHOD_DECORATOR__DETAILS:
- getDetails().clear();
- return;
- case BeaninfoPackage.METHOD_DECORATOR__EMODEL_ELEMENT:
- setEModelElement((EModelElement)null);
- return;
- case BeaninfoPackage.METHOD_DECORATOR__CONTENTS:
- getContents().clear();
- return;
- case BeaninfoPackage.METHOD_DECORATOR__REFERENCES:
- getReferences().clear();
- return;
- case BeaninfoPackage.METHOD_DECORATOR__DISPLAY_NAME:
- unsetDisplayName();
- return;
- case BeaninfoPackage.METHOD_DECORATOR__SHORT_DESCRIPTION:
- unsetShortDescription();
- return;
- case BeaninfoPackage.METHOD_DECORATOR__CATEGORY:
- setCategory(CATEGORY_EDEFAULT);
- return;
- case BeaninfoPackage.METHOD_DECORATOR__EXPERT:
- unsetExpert();
- return;
- case BeaninfoPackage.METHOD_DECORATOR__HIDDEN:
- unsetHidden();
- return;
- case BeaninfoPackage.METHOD_DECORATOR__PREFERRED:
- unsetPreferred();
- return;
- case BeaninfoPackage.METHOD_DECORATOR__MERGE_INTROSPECTION:
- setMergeIntrospection(MERGE_INTROSPECTION_EDEFAULT);
- return;
- case BeaninfoPackage.METHOD_DECORATOR__ATTRIBUTES_EXPLICIT_EMPTY:
- setAttributesExplicitEmpty(ATTRIBUTES_EXPLICIT_EMPTY_EDEFAULT);
- return;
- case BeaninfoPackage.METHOD_DECORATOR__IMPLICITLY_SET_BITS:
- setImplicitlySetBits(IMPLICITLY_SET_BITS_EDEFAULT);
- return;
- case BeaninfoPackage.METHOD_DECORATOR__IMPLICIT_DECORATOR_FLAG:
- setImplicitDecoratorFlag(IMPLICIT_DECORATOR_FLAG_EDEFAULT);
- return;
- case BeaninfoPackage.METHOD_DECORATOR__ATTRIBUTES:
- getAttributes().clear();
- return;
- case BeaninfoPackage.METHOD_DECORATOR__PARMS_EXPLICIT_EMPTY:
- setParmsExplicitEmpty(PARMS_EXPLICIT_EMPTY_EDEFAULT);
- return;
- case BeaninfoPackage.METHOD_DECORATOR__PARAMETER_DESCRIPTORS:
- getParameterDescriptors().clear();
- return;
- case BeaninfoPackage.METHOD_DECORATOR__SER_PARM_DESC:
- getSerParmDesc().clear();
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /*
- * This is overridden so that we can do special is set tests:
- * 1) parameter descriptors: check if serParmDesc exists and not empty, since parameter descriptors is derived.
- * 2) serParmDesc: if flag set to default parm desc, then answer not set, else do normal isSet test. That way if set by default it won't serialize
- * out the unneeded default parms. They can be reconstructed quickly when needed.
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.METHOD_DECORATOR__SOURCE:
- return isSourceSet(); // Override so that if set to the same as classname, then it is considered not set.
- case BeaninfoPackage.METHOD_DECORATOR__PARAMETER_DESCRIPTORS:
- return eIsSetGen(BeaninfoPackage.eINSTANCE.getMethodDecorator_SerParmDesc()); // Let default serParmDesc is set work.
- case BeaninfoPackage.METHOD_DECORATOR__SER_PARM_DESC:
- if ((getImplicitlySetBits() & METHOD_PARAMETERS_DEFAULT) != 0)
- return false; // Not considered set if initialized by default.
- else
- return eIsSetGen(eFeature); // Not set by default, so check true setting.
- default:
- return eIsSetGen(eFeature); // Everything else use the gen method.
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSetGen(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.METHOD_DECORATOR__EANNOTATIONS:
- return eAnnotations != null && !eAnnotations.isEmpty();
- case BeaninfoPackage.METHOD_DECORATOR__SOURCE:
- return SOURCE_EDEFAULT == null ? source != null : !SOURCE_EDEFAULT.equals(source);
- case BeaninfoPackage.METHOD_DECORATOR__DETAILS:
- return details != null && !details.isEmpty();
- case BeaninfoPackage.METHOD_DECORATOR__EMODEL_ELEMENT:
- return getEModelElement() != null;
- case BeaninfoPackage.METHOD_DECORATOR__CONTENTS:
- return contents != null && !contents.isEmpty();
- case BeaninfoPackage.METHOD_DECORATOR__REFERENCES:
- return references != null && !references.isEmpty();
- case BeaninfoPackage.METHOD_DECORATOR__DISPLAY_NAME:
- return isSetDisplayName();
- case BeaninfoPackage.METHOD_DECORATOR__SHORT_DESCRIPTION:
- return isSetShortDescription();
- case BeaninfoPackage.METHOD_DECORATOR__CATEGORY:
- return CATEGORY_EDEFAULT == null ? category != null : !CATEGORY_EDEFAULT.equals(category);
- case BeaninfoPackage.METHOD_DECORATOR__EXPERT:
- return isSetExpert();
- case BeaninfoPackage.METHOD_DECORATOR__HIDDEN:
- return isSetHidden();
- case BeaninfoPackage.METHOD_DECORATOR__PREFERRED:
- return isSetPreferred();
- case BeaninfoPackage.METHOD_DECORATOR__MERGE_INTROSPECTION:
- return mergeIntrospection != MERGE_INTROSPECTION_EDEFAULT;
- case BeaninfoPackage.METHOD_DECORATOR__ATTRIBUTES_EXPLICIT_EMPTY:
- return attributesExplicitEmpty != ATTRIBUTES_EXPLICIT_EMPTY_EDEFAULT;
- case BeaninfoPackage.METHOD_DECORATOR__IMPLICITLY_SET_BITS:
- return implicitlySetBits != IMPLICITLY_SET_BITS_EDEFAULT;
- case BeaninfoPackage.METHOD_DECORATOR__IMPLICIT_DECORATOR_FLAG:
- return implicitDecoratorFlag != IMPLICIT_DECORATOR_FLAG_EDEFAULT;
- case BeaninfoPackage.METHOD_DECORATOR__ATTRIBUTES:
- return attributes != null && !attributes.isEmpty();
- case BeaninfoPackage.METHOD_DECORATOR__PARMS_EXPLICIT_EMPTY:
- return parmsExplicitEmpty != PARMS_EXPLICIT_EMPTY_EDEFAULT;
- case BeaninfoPackage.METHOD_DECORATOR__PARAMETER_DESCRIPTORS:
- return !getParameterDescriptors().isEmpty();
- case BeaninfoPackage.METHOD_DECORATOR__SER_PARM_DESC:
- return serParmDesc != null && !serParmDesc.isEmpty();
- }
- return eDynamicIsSet(eFeature);
- }
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/MethodProxyImpl.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/MethodProxyImpl.java
deleted file mode 100644
index 6ce4dc9dc..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/MethodProxyImpl.java
+++ /dev/null
@@ -1,342 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo.impl;
-/*
- * $RCSfile: MethodProxyImpl.java,v $
- * $Revision: 1.6 $ $Date: 2005/04/14 19:05:36 $
- */
-
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EOperationImpl;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.internal.beaninfo.BeaninfoPackage;
-import org.eclipse.jem.internal.beaninfo.MethodProxy;
-import org.eclipse.jem.java.Method;
-
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Method Proxy</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.MethodProxyImpl#getMethod <em>Method</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-
-
-public class MethodProxyImpl extends EOperationImpl implements MethodProxy {
- /**
- * The cached value of the '{@link #getMethod() <em>Method</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getMethod()
- * @generated
- * @ordered
- */
- protected Method method = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected MethodProxyImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return BeaninfoPackage.eINSTANCE.getMethodProxy();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Method getMethod() {
- if (method != null && method.eIsProxy()) {
- Method oldMethod = method;
- method = (Method)eResolveProxy((InternalEObject)method);
- if (method != oldMethod) {
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, BeaninfoPackage.METHOD_PROXY__METHOD, oldMethod, method));
- }
- }
- return method;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Method basicGetMethod() {
- return method;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setMethod(Method newMethod) {
- Method oldMethod = method;
- method = newMethod;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.METHOD_PROXY__METHOD, oldMethod, method));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case BeaninfoPackage.METHOD_PROXY__EANNOTATIONS:
- return ((InternalEList)getEAnnotations()).basicAdd(otherEnd, msgs);
- case BeaninfoPackage.METHOD_PROXY__ECONTAINING_CLASS:
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, BeaninfoPackage.METHOD_PROXY__ECONTAINING_CLASS, msgs);
- case BeaninfoPackage.METHOD_PROXY__EPARAMETERS:
- return ((InternalEList)getEParameters()).basicAdd(otherEnd, msgs);
- default:
- return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
- }
- }
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case BeaninfoPackage.METHOD_PROXY__EANNOTATIONS:
- return ((InternalEList)getEAnnotations()).basicRemove(otherEnd, msgs);
- case BeaninfoPackage.METHOD_PROXY__ECONTAINING_CLASS:
- return eBasicSetContainer(null, BeaninfoPackage.METHOD_PROXY__ECONTAINING_CLASS, msgs);
- case BeaninfoPackage.METHOD_PROXY__EPARAMETERS:
- return ((InternalEList)getEParameters()).basicRemove(otherEnd, msgs);
- default:
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
- if (eContainerFeatureID >= 0) {
- switch (eContainerFeatureID) {
- case BeaninfoPackage.METHOD_PROXY__ECONTAINING_CLASS:
- return eContainer.eInverseRemove(this, EcorePackage.ECLASS__EOPERATIONS, EClass.class, msgs);
- default:
- return eDynamicBasicRemoveFromContainer(msgs);
- }
- }
- return eContainer.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.METHOD_PROXY__EANNOTATIONS:
- return getEAnnotations();
- case BeaninfoPackage.METHOD_PROXY__NAME:
- return getName();
- case BeaninfoPackage.METHOD_PROXY__ORDERED:
- return isOrdered() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.METHOD_PROXY__UNIQUE:
- return isUnique() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.METHOD_PROXY__LOWER_BOUND:
- return new Integer(getLowerBound());
- case BeaninfoPackage.METHOD_PROXY__UPPER_BOUND:
- return new Integer(getUpperBound());
- case BeaninfoPackage.METHOD_PROXY__MANY:
- return isMany() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.METHOD_PROXY__REQUIRED:
- return isRequired() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.METHOD_PROXY__ETYPE:
- if (resolve) return getEType();
- return basicGetEType();
- case BeaninfoPackage.METHOD_PROXY__ECONTAINING_CLASS:
- return getEContainingClass();
- case BeaninfoPackage.METHOD_PROXY__EPARAMETERS:
- return getEParameters();
- case BeaninfoPackage.METHOD_PROXY__EEXCEPTIONS:
- return getEExceptions();
- case BeaninfoPackage.METHOD_PROXY__METHOD:
- if (resolve) return getMethod();
- return basicGetMethod();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.METHOD_PROXY__EANNOTATIONS:
- getEAnnotations().clear();
- getEAnnotations().addAll((Collection)newValue);
- return;
- case BeaninfoPackage.METHOD_PROXY__NAME:
- setName((String)newValue);
- return;
- case BeaninfoPackage.METHOD_PROXY__ORDERED:
- setOrdered(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.METHOD_PROXY__UNIQUE:
- setUnique(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.METHOD_PROXY__LOWER_BOUND:
- setLowerBound(((Integer)newValue).intValue());
- return;
- case BeaninfoPackage.METHOD_PROXY__UPPER_BOUND:
- setUpperBound(((Integer)newValue).intValue());
- return;
- case BeaninfoPackage.METHOD_PROXY__ETYPE:
- setEType((EClassifier)newValue);
- return;
- case BeaninfoPackage.METHOD_PROXY__EPARAMETERS:
- getEParameters().clear();
- getEParameters().addAll((Collection)newValue);
- return;
- case BeaninfoPackage.METHOD_PROXY__EEXCEPTIONS:
- getEExceptions().clear();
- getEExceptions().addAll((Collection)newValue);
- return;
- case BeaninfoPackage.METHOD_PROXY__METHOD:
- setMethod((Method)newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.METHOD_PROXY__EANNOTATIONS:
- getEAnnotations().clear();
- return;
- case BeaninfoPackage.METHOD_PROXY__NAME:
- setName(NAME_EDEFAULT);
- return;
- case BeaninfoPackage.METHOD_PROXY__ORDERED:
- setOrdered(ORDERED_EDEFAULT);
- return;
- case BeaninfoPackage.METHOD_PROXY__UNIQUE:
- setUnique(UNIQUE_EDEFAULT);
- return;
- case BeaninfoPackage.METHOD_PROXY__LOWER_BOUND:
- setLowerBound(LOWER_BOUND_EDEFAULT);
- return;
- case BeaninfoPackage.METHOD_PROXY__UPPER_BOUND:
- setUpperBound(UPPER_BOUND_EDEFAULT);
- return;
- case BeaninfoPackage.METHOD_PROXY__ETYPE:
- setEType((EClassifier)null);
- return;
- case BeaninfoPackage.METHOD_PROXY__EPARAMETERS:
- getEParameters().clear();
- return;
- case BeaninfoPackage.METHOD_PROXY__EEXCEPTIONS:
- getEExceptions().clear();
- return;
- case BeaninfoPackage.METHOD_PROXY__METHOD:
- setMethod((Method)null);
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.METHOD_PROXY__EANNOTATIONS:
- return eAnnotations != null && !eAnnotations.isEmpty();
- case BeaninfoPackage.METHOD_PROXY__NAME:
- return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
- case BeaninfoPackage.METHOD_PROXY__ORDERED:
- return ((eFlags & ORDERED_EFLAG) != 0) != ORDERED_EDEFAULT;
- case BeaninfoPackage.METHOD_PROXY__UNIQUE:
- return ((eFlags & UNIQUE_EFLAG) != 0) != UNIQUE_EDEFAULT;
- case BeaninfoPackage.METHOD_PROXY__LOWER_BOUND:
- return lowerBound != LOWER_BOUND_EDEFAULT;
- case BeaninfoPackage.METHOD_PROXY__UPPER_BOUND:
- return upperBound != UPPER_BOUND_EDEFAULT;
- case BeaninfoPackage.METHOD_PROXY__MANY:
- return isMany() != MANY_EDEFAULT;
- case BeaninfoPackage.METHOD_PROXY__REQUIRED:
- return isRequired() != REQUIRED_EDEFAULT;
- case BeaninfoPackage.METHOD_PROXY__ETYPE:
- return eType != null;
- case BeaninfoPackage.METHOD_PROXY__ECONTAINING_CLASS:
- return getEContainingClass() != null;
- case BeaninfoPackage.METHOD_PROXY__EPARAMETERS:
- return eParameters != null && !eParameters.isEmpty();
- case BeaninfoPackage.METHOD_PROXY__EEXCEPTIONS:
- return eExceptions != null && !eExceptions.isEmpty();
- case BeaninfoPackage.METHOD_PROXY__METHOD:
- return method != null;
- }
- return eDynamicIsSet(eFeature);
- }
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/ParameterDecoratorImpl.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/ParameterDecoratorImpl.java
deleted file mode 100644
index 1fb939723..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/ParameterDecoratorImpl.java
+++ /dev/null
@@ -1,522 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: ParameterDecoratorImpl.java,v $
- * $Revision: 1.6 $ $Date: 2005/04/14 19:05:36 $
- */
-package org.eclipse.jem.internal.beaninfo.impl;
-
-
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EModelElement;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.internal.beaninfo.BeaninfoPackage;
-import org.eclipse.jem.internal.beaninfo.ImplicitItem;
-import org.eclipse.jem.internal.beaninfo.ParameterDecorator;
-import org.eclipse.jem.java.JavaParameter;
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Method Decorator</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.ParameterDecoratorImpl#getName <em>Name</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.ParameterDecoratorImpl#getParameter <em>Parameter</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-
-public class ParameterDecoratorImpl extends FeatureDecoratorImpl implements ParameterDecorator{
-
- /**
- * Bits for implicitly set features. This is internal, not meant for clients.
- */
- public static final long PARAMETER_NAME_IMPLICIT = 0x1L;
-
- /**
- * The default value of the '{@link #getName() <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getName()
- * @generated
- * @ordered
- */
- protected static final String NAME_EDEFAULT = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected ParameterDecoratorImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return BeaninfoPackage.eINSTANCE.getParameterDecorator();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getName() {
- return name;
- }
-
- /**
- * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getName()
- * @generated
- * @ordered
- */
- protected String name = NAME_EDEFAULT;
- /**
- * The cached value of the '{@link #getParameter() <em>Parameter</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getParameter()
- * @generated
- * @ordered
- */
- protected JavaParameter parameter = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setName(String newName) {
- String oldName = name;
- name = newName;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.PARAMETER_DECORATOR__NAME, oldName, name));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String toString() {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (name: ");
- result.append(name);
- result.append(')');
- return result.toString();
- }
-
- /*
- * Flag for if we tried to link up this parameter to java parm.
- */
- private boolean triedOnce;
-
- /**
- * The JavaParameter that this ParameterDecorator is decorating.
- */
- public JavaParameter getParameter() {
- if (!eIsSet(BeaninfoPackage.eINSTANCE.getParameterDecorator_Parameter()) && !triedOnce) {
- // Need to try to fill in the parameter setting.
- triedOnce = true;
- EObject container = eContainer(); // See if we are in a MethodDecorator.
- if (container instanceof MethodDecoratorImpl)
- ((MethodDecoratorImpl) container).initializeParameters();
- }
-
- return getParameterGen();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public JavaParameter getParameterGen() {
- if (parameter != null && parameter.eIsProxy()) {
- JavaParameter oldParameter = parameter;
- parameter = (JavaParameter)eResolveProxy((InternalEObject)parameter);
- if (parameter != oldParameter) {
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, BeaninfoPackage.PARAMETER_DECORATOR__PARAMETER, oldParameter, parameter));
- }
- }
- return parameter;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public JavaParameter basicGetParameter() {
- return parameter;
- }
-
- public void setParameter(JavaParameter newParameter) {
- if (newParameter == null)
- triedOnce = false;
- setParameterGen(newParameter);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setParameterGen(JavaParameter newParameter) {
- JavaParameter oldParameter = parameter;
- parameter = newParameter;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.PARAMETER_DECORATOR__PARAMETER, oldParameter, parameter));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case BeaninfoPackage.PARAMETER_DECORATOR__EANNOTATIONS:
- return ((InternalEList)getEAnnotations()).basicAdd(otherEnd, msgs);
- case BeaninfoPackage.PARAMETER_DECORATOR__EMODEL_ELEMENT:
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, BeaninfoPackage.PARAMETER_DECORATOR__EMODEL_ELEMENT, msgs);
- default:
- return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
- }
- }
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case BeaninfoPackage.PARAMETER_DECORATOR__EANNOTATIONS:
- return ((InternalEList)getEAnnotations()).basicRemove(otherEnd, msgs);
- case BeaninfoPackage.PARAMETER_DECORATOR__DETAILS:
- return ((InternalEList)getDetails()).basicRemove(otherEnd, msgs);
- case BeaninfoPackage.PARAMETER_DECORATOR__EMODEL_ELEMENT:
- return eBasicSetContainer(null, BeaninfoPackage.PARAMETER_DECORATOR__EMODEL_ELEMENT, msgs);
- case BeaninfoPackage.PARAMETER_DECORATOR__CONTENTS:
- return ((InternalEList)getContents()).basicRemove(otherEnd, msgs);
- case BeaninfoPackage.PARAMETER_DECORATOR__ATTRIBUTES:
- return ((InternalEList)getAttributes()).basicRemove(otherEnd, msgs);
- default:
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
- if (eContainerFeatureID >= 0) {
- switch (eContainerFeatureID) {
- case BeaninfoPackage.PARAMETER_DECORATOR__EMODEL_ELEMENT:
- return eContainer.eInverseRemove(this, EcorePackage.EMODEL_ELEMENT__EANNOTATIONS, EModelElement.class, msgs);
- default:
- return eDynamicBasicRemoveFromContainer(msgs);
- }
- }
- return eContainer.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.PARAMETER_DECORATOR__EANNOTATIONS:
- return getEAnnotations();
- case BeaninfoPackage.PARAMETER_DECORATOR__SOURCE:
- return getSource();
- case BeaninfoPackage.PARAMETER_DECORATOR__DETAILS:
- return getDetails();
- case BeaninfoPackage.PARAMETER_DECORATOR__EMODEL_ELEMENT:
- return getEModelElement();
- case BeaninfoPackage.PARAMETER_DECORATOR__CONTENTS:
- return getContents();
- case BeaninfoPackage.PARAMETER_DECORATOR__REFERENCES:
- return getReferences();
- case BeaninfoPackage.PARAMETER_DECORATOR__DISPLAY_NAME:
- return getDisplayName();
- case BeaninfoPackage.PARAMETER_DECORATOR__SHORT_DESCRIPTION:
- return getShortDescription();
- case BeaninfoPackage.PARAMETER_DECORATOR__CATEGORY:
- return getCategory();
- case BeaninfoPackage.PARAMETER_DECORATOR__EXPERT:
- return isExpert() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.PARAMETER_DECORATOR__HIDDEN:
- return isHidden() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.PARAMETER_DECORATOR__PREFERRED:
- return isPreferred() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.PARAMETER_DECORATOR__MERGE_INTROSPECTION:
- return isMergeIntrospection() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.PARAMETER_DECORATOR__ATTRIBUTES_EXPLICIT_EMPTY:
- return isAttributesExplicitEmpty() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.PARAMETER_DECORATOR__IMPLICITLY_SET_BITS:
- return new Long(getImplicitlySetBits());
- case BeaninfoPackage.PARAMETER_DECORATOR__IMPLICIT_DECORATOR_FLAG:
- return getImplicitDecoratorFlag();
- case BeaninfoPackage.PARAMETER_DECORATOR__ATTRIBUTES:
- return getAttributes();
- case BeaninfoPackage.PARAMETER_DECORATOR__NAME:
- return getName();
- case BeaninfoPackage.PARAMETER_DECORATOR__PARAMETER:
- if (resolve) return getParameter();
- return basicGetParameter();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.PARAMETER_DECORATOR__EANNOTATIONS:
- getEAnnotations().clear();
- getEAnnotations().addAll((Collection)newValue);
- return;
- case BeaninfoPackage.PARAMETER_DECORATOR__SOURCE:
- setSource((String)newValue);
- return;
- case BeaninfoPackage.PARAMETER_DECORATOR__DETAILS:
- getDetails().clear();
- getDetails().addAll((Collection)newValue);
- return;
- case BeaninfoPackage.PARAMETER_DECORATOR__EMODEL_ELEMENT:
- setEModelElement((EModelElement)newValue);
- return;
- case BeaninfoPackage.PARAMETER_DECORATOR__CONTENTS:
- getContents().clear();
- getContents().addAll((Collection)newValue);
- return;
- case BeaninfoPackage.PARAMETER_DECORATOR__REFERENCES:
- getReferences().clear();
- getReferences().addAll((Collection)newValue);
- return;
- case BeaninfoPackage.PARAMETER_DECORATOR__DISPLAY_NAME:
- setDisplayName((String)newValue);
- return;
- case BeaninfoPackage.PARAMETER_DECORATOR__SHORT_DESCRIPTION:
- setShortDescription((String)newValue);
- return;
- case BeaninfoPackage.PARAMETER_DECORATOR__CATEGORY:
- setCategory((String)newValue);
- return;
- case BeaninfoPackage.PARAMETER_DECORATOR__EXPERT:
- setExpert(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.PARAMETER_DECORATOR__HIDDEN:
- setHidden(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.PARAMETER_DECORATOR__PREFERRED:
- setPreferred(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.PARAMETER_DECORATOR__MERGE_INTROSPECTION:
- setMergeIntrospection(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.PARAMETER_DECORATOR__ATTRIBUTES_EXPLICIT_EMPTY:
- setAttributesExplicitEmpty(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.PARAMETER_DECORATOR__IMPLICITLY_SET_BITS:
- setImplicitlySetBits(((Long)newValue).longValue());
- return;
- case BeaninfoPackage.PARAMETER_DECORATOR__IMPLICIT_DECORATOR_FLAG:
- setImplicitDecoratorFlag((ImplicitItem)newValue);
- return;
- case BeaninfoPackage.PARAMETER_DECORATOR__ATTRIBUTES:
- getAttributes().clear();
- getAttributes().addAll((Collection)newValue);
- return;
- case BeaninfoPackage.PARAMETER_DECORATOR__NAME:
- setName((String)newValue);
- return;
- case BeaninfoPackage.PARAMETER_DECORATOR__PARAMETER:
- setParameter((JavaParameter)newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.PARAMETER_DECORATOR__EANNOTATIONS:
- getEAnnotations().clear();
- return;
- case BeaninfoPackage.PARAMETER_DECORATOR__SOURCE:
- setSource(SOURCE_EDEFAULT);
- return;
- case BeaninfoPackage.PARAMETER_DECORATOR__DETAILS:
- getDetails().clear();
- return;
- case BeaninfoPackage.PARAMETER_DECORATOR__EMODEL_ELEMENT:
- setEModelElement((EModelElement)null);
- return;
- case BeaninfoPackage.PARAMETER_DECORATOR__CONTENTS:
- getContents().clear();
- return;
- case BeaninfoPackage.PARAMETER_DECORATOR__REFERENCES:
- getReferences().clear();
- return;
- case BeaninfoPackage.PARAMETER_DECORATOR__DISPLAY_NAME:
- unsetDisplayName();
- return;
- case BeaninfoPackage.PARAMETER_DECORATOR__SHORT_DESCRIPTION:
- unsetShortDescription();
- return;
- case BeaninfoPackage.PARAMETER_DECORATOR__CATEGORY:
- setCategory(CATEGORY_EDEFAULT);
- return;
- case BeaninfoPackage.PARAMETER_DECORATOR__EXPERT:
- unsetExpert();
- return;
- case BeaninfoPackage.PARAMETER_DECORATOR__HIDDEN:
- unsetHidden();
- return;
- case BeaninfoPackage.PARAMETER_DECORATOR__PREFERRED:
- unsetPreferred();
- return;
- case BeaninfoPackage.PARAMETER_DECORATOR__MERGE_INTROSPECTION:
- setMergeIntrospection(MERGE_INTROSPECTION_EDEFAULT);
- return;
- case BeaninfoPackage.PARAMETER_DECORATOR__ATTRIBUTES_EXPLICIT_EMPTY:
- setAttributesExplicitEmpty(ATTRIBUTES_EXPLICIT_EMPTY_EDEFAULT);
- return;
- case BeaninfoPackage.PARAMETER_DECORATOR__IMPLICITLY_SET_BITS:
- setImplicitlySetBits(IMPLICITLY_SET_BITS_EDEFAULT);
- return;
- case BeaninfoPackage.PARAMETER_DECORATOR__IMPLICIT_DECORATOR_FLAG:
- setImplicitDecoratorFlag(IMPLICIT_DECORATOR_FLAG_EDEFAULT);
- return;
- case BeaninfoPackage.PARAMETER_DECORATOR__ATTRIBUTES:
- getAttributes().clear();
- return;
- case BeaninfoPackage.PARAMETER_DECORATOR__NAME:
- setName(NAME_EDEFAULT);
- return;
- case BeaninfoPackage.PARAMETER_DECORATOR__PARAMETER:
- setParameter((JavaParameter)null);
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.emf.ecore.EObject#eIsSet(org.eclipse.emf.ecore.EStructuralFeature)
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.PARAMETER_DECORATOR__SOURCE:
- return isSourceSet(); // Override so that if set to the same as classname, then it is considered not set.
- default:
- return eIsSetGen(eFeature);
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSetGen(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.PARAMETER_DECORATOR__EANNOTATIONS:
- return eAnnotations != null && !eAnnotations.isEmpty();
- case BeaninfoPackage.PARAMETER_DECORATOR__SOURCE:
- return SOURCE_EDEFAULT == null ? source != null : !SOURCE_EDEFAULT.equals(source);
- case BeaninfoPackage.PARAMETER_DECORATOR__DETAILS:
- return details != null && !details.isEmpty();
- case BeaninfoPackage.PARAMETER_DECORATOR__EMODEL_ELEMENT:
- return getEModelElement() != null;
- case BeaninfoPackage.PARAMETER_DECORATOR__CONTENTS:
- return contents != null && !contents.isEmpty();
- case BeaninfoPackage.PARAMETER_DECORATOR__REFERENCES:
- return references != null && !references.isEmpty();
- case BeaninfoPackage.PARAMETER_DECORATOR__DISPLAY_NAME:
- return isSetDisplayName();
- case BeaninfoPackage.PARAMETER_DECORATOR__SHORT_DESCRIPTION:
- return isSetShortDescription();
- case BeaninfoPackage.PARAMETER_DECORATOR__CATEGORY:
- return CATEGORY_EDEFAULT == null ? category != null : !CATEGORY_EDEFAULT.equals(category);
- case BeaninfoPackage.PARAMETER_DECORATOR__EXPERT:
- return isSetExpert();
- case BeaninfoPackage.PARAMETER_DECORATOR__HIDDEN:
- return isSetHidden();
- case BeaninfoPackage.PARAMETER_DECORATOR__PREFERRED:
- return isSetPreferred();
- case BeaninfoPackage.PARAMETER_DECORATOR__MERGE_INTROSPECTION:
- return mergeIntrospection != MERGE_INTROSPECTION_EDEFAULT;
- case BeaninfoPackage.PARAMETER_DECORATOR__ATTRIBUTES_EXPLICIT_EMPTY:
- return attributesExplicitEmpty != ATTRIBUTES_EXPLICIT_EMPTY_EDEFAULT;
- case BeaninfoPackage.PARAMETER_DECORATOR__IMPLICITLY_SET_BITS:
- return implicitlySetBits != IMPLICITLY_SET_BITS_EDEFAULT;
- case BeaninfoPackage.PARAMETER_DECORATOR__IMPLICIT_DECORATOR_FLAG:
- return implicitDecoratorFlag != IMPLICIT_DECORATOR_FLAG_EDEFAULT;
- case BeaninfoPackage.PARAMETER_DECORATOR__ATTRIBUTES:
- return attributes != null && !attributes.isEmpty();
- case BeaninfoPackage.PARAMETER_DECORATOR__NAME:
- return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
- case BeaninfoPackage.PARAMETER_DECORATOR__PARAMETER:
- return parameter != null;
- }
- return eDynamicIsSet(eFeature);
- }
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/PropertyDecoratorImpl.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/PropertyDecoratorImpl.java
deleted file mode 100644
index 57d46a890..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/PropertyDecoratorImpl.java
+++ /dev/null
@@ -1,1162 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo.impl;
-/*
- * $RCSfile: PropertyDecoratorImpl.java,v $
- * $Revision: 1.12 $ $Date: 2005/05/11 19:01:28 $
- */
-
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EModelElement;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.internal.beaninfo.BeaninfoPackage;
-import org.eclipse.jem.internal.beaninfo.ImplicitItem;
-import org.eclipse.jem.internal.beaninfo.PropertyDecorator;
-import org.eclipse.jem.java.Field;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.Method;
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Property Decorator</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.PropertyDecoratorImpl#isBound <em>Bound</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.PropertyDecoratorImpl#isConstrained <em>Constrained</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.PropertyDecoratorImpl#isDesignTime <em>Design Time</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.PropertyDecoratorImpl#isAlwaysIncompatible <em>Always Incompatible</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.PropertyDecoratorImpl#getFilterFlags <em>Filter Flags</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.PropertyDecoratorImpl#isFieldReadOnly <em>Field Read Only</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.PropertyDecoratorImpl#getPropertyEditorClass <em>Property Editor Class</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.PropertyDecoratorImpl#getReadMethod <em>Read Method</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.PropertyDecoratorImpl#getWriteMethod <em>Write Method</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.PropertyDecoratorImpl#getField <em>Field</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-
-
-public class PropertyDecoratorImpl extends FeatureDecoratorImpl implements PropertyDecorator{
-
- /**
- * Bits for implicitly set features. This is internal, not meant for clients.
- */
- public static final long PROPERTY_EDITOR_CLASS_IMPLICIT = 0x1L;
- public static final long PROPERTY_TYPE_IMPLICIT = 0x2L;
- public static final long PROPERTY_READMETHOD_IMPLICIT = 0x4L;
- public static final long PROPERTY_WRITEMETHOD_IMPLICIT = 0x8L;
- public static final long PROPERTY_BOUND_IMPLICIT = 0x10L;
- public static final long PROPERTY_CONSTRAINED_IMPLICIT = 0x20L;
- public static final long PROPERTY_DESIGNTIME_IMPLICIT = 0x40L;
- public static final long PROPERTY_FIELD_IMPLICIT = 0x80L;
-
-
- /**
- * The default value of the '{@link #isBound() <em>Bound</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isBound()
- * @generated
- * @ordered
- */
- protected static final boolean BOUND_EDEFAULT = false;
-
- /**
- * The cached value of the '{@link #isBound() <em>Bound</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isBound()
- * @generated
- * @ordered
- */
- protected boolean bound = BOUND_EDEFAULT;
-
- /**
- * This is true if the Bound attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean boundESet = false;
-
- /**
- * The default value of the '{@link #isConstrained() <em>Constrained</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isConstrained()
- * @generated
- * @ordered
- */
- protected static final boolean CONSTRAINED_EDEFAULT = false;
-
- /**
- * The cached value of the '{@link #isConstrained() <em>Constrained</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isConstrained()
- * @generated
- * @ordered
- */
- protected boolean constrained = CONSTRAINED_EDEFAULT;
-
- /**
- * This is true if the Constrained attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean constrainedESet = false;
-
- /**
- * The default value of the '{@link #isDesignTime() <em>Design Time</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isDesignTime()
- * @generated
- * @ordered
- */
- protected static final boolean DESIGN_TIME_EDEFAULT = false;
-
- /**
- * The cached value of the '{@link #isDesignTime() <em>Design Time</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isDesignTime()
- * @generated
- * @ordered
- */
- protected boolean designTime = DESIGN_TIME_EDEFAULT;
-
- /**
- * This is true if the Design Time attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean designTimeESet = false;
-
- /**
- * The default value of the '{@link #isAlwaysIncompatible() <em>Always Incompatible</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isAlwaysIncompatible()
- * @generated
- * @ordered
- */
- protected static final boolean ALWAYS_INCOMPATIBLE_EDEFAULT = false;
-
- /**
- * The cached value of the '{@link #isAlwaysIncompatible() <em>Always Incompatible</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isAlwaysIncompatible()
- * @generated
- * @ordered
- */
- protected boolean alwaysIncompatible = ALWAYS_INCOMPATIBLE_EDEFAULT;
-
- /**
- * The cached value of the '{@link #getFilterFlags() <em>Filter Flags</em>}' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getFilterFlags()
- * @generated
- * @ordered
- */
- protected EList filterFlags = null;
- /**
- * The default value of the '{@link #isFieldReadOnly() <em>Field Read Only</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isFieldReadOnly()
- * @generated
- * @ordered
- */
- protected static final boolean FIELD_READ_ONLY_EDEFAULT = false;
-
- /**
- * The cached value of the '{@link #isFieldReadOnly() <em>Field Read Only</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isFieldReadOnly()
- * @generated
- * @ordered
- */
- protected boolean fieldReadOnly = FIELD_READ_ONLY_EDEFAULT;
-
- /**
- * The cached value of the '{@link #getPropertyEditorClass() <em>Property Editor Class</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getPropertyEditorClass()
- * @generated
- * @ordered
- */
- protected JavaClass propertyEditorClass = null;
- /**
- * The cached value of the '{@link #getReadMethod() <em>Read Method</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getReadMethod()
- * @generated
- * @ordered
- */
- protected Method readMethod = null;
- /**
- * This is true if the Read Method reference has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean readMethodESet = false;
-
- /**
- * The cached value of the '{@link #getWriteMethod() <em>Write Method</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getWriteMethod()
- * @generated
- * @ordered
- */
- protected Method writeMethod = null;
-
- /**
- * This is true if the Write Method reference has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean writeMethodESet = false;
-
- /**
- * The cached value of the '{@link #getField() <em>Field</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getField()
- * @generated
- * @ordered
- */
- protected Field field = null;
-
- /**
- * This is true if the Field reference has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean fieldESet = false;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected PropertyDecoratorImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return BeaninfoPackage.eINSTANCE.getPropertyDecorator();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isBound() {
- return bound;
- }
-
- public EClassifier getPropertyType() {
- EStructuralFeature feature = (EStructuralFeature) getEModelElement();
- return (feature != null) ? feature.getEType() : null;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setBound(boolean newBound) {
- boolean oldBound = bound;
- bound = newBound;
- boolean oldBoundESet = boundESet;
- boundESet = true;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.PROPERTY_DECORATOR__BOUND, oldBound, bound, !oldBoundESet));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetBound() {
- boolean oldBound = bound;
- boolean oldBoundESet = boundESet;
- bound = BOUND_EDEFAULT;
- boundESet = false;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.UNSET, BeaninfoPackage.PROPERTY_DECORATOR__BOUND, oldBound, BOUND_EDEFAULT, oldBoundESet));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetBound() {
- return boundESet;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isConstrained() {
- return constrained;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setConstrained(boolean newConstrained) {
- boolean oldConstrained = constrained;
- constrained = newConstrained;
- boolean oldConstrainedESet = constrainedESet;
- constrainedESet = true;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.PROPERTY_DECORATOR__CONSTRAINED, oldConstrained, constrained, !oldConstrainedESet));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetConstrained() {
- boolean oldConstrained = constrained;
- boolean oldConstrainedESet = constrainedESet;
- constrained = CONSTRAINED_EDEFAULT;
- constrainedESet = false;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.UNSET, BeaninfoPackage.PROPERTY_DECORATOR__CONSTRAINED, oldConstrained, CONSTRAINED_EDEFAULT, oldConstrainedESet));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetConstrained() {
- return constrainedESet;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isDesignTime() {
- return designTime;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setDesignTime(boolean newDesignTime) {
- boolean oldDesignTime = designTime;
- designTime = newDesignTime;
- boolean oldDesignTimeESet = designTimeESet;
- designTimeESet = true;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.PROPERTY_DECORATOR__DESIGN_TIME, oldDesignTime, designTime, !oldDesignTimeESet));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetDesignTime() {
- boolean oldDesignTime = designTime;
- boolean oldDesignTimeESet = designTimeESet;
- designTime = DESIGN_TIME_EDEFAULT;
- designTimeESet = false;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.UNSET, BeaninfoPackage.PROPERTY_DECORATOR__DESIGN_TIME, oldDesignTime, DESIGN_TIME_EDEFAULT, oldDesignTimeESet));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetDesignTime() {
- return designTimeESet;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isAlwaysIncompatible() {
- return alwaysIncompatible;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setAlwaysIncompatible(boolean newAlwaysIncompatible) {
- boolean oldAlwaysIncompatible = alwaysIncompatible;
- alwaysIncompatible = newAlwaysIncompatible;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.PROPERTY_DECORATOR__ALWAYS_INCOMPATIBLE, oldAlwaysIncompatible, alwaysIncompatible));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EList getFilterFlags() {
- if (filterFlags == null) {
- filterFlags = new EDataTypeUniqueEList(String.class, this, BeaninfoPackage.PROPERTY_DECORATOR__FILTER_FLAGS);
- }
- return filterFlags;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isFieldReadOnly() {
- return fieldReadOnly;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setFieldReadOnly(boolean newFieldReadOnly) {
- boolean oldFieldReadOnly = fieldReadOnly;
- fieldReadOnly = newFieldReadOnly;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.PROPERTY_DECORATOR__FIELD_READ_ONLY, oldFieldReadOnly, fieldReadOnly));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public JavaClass getPropertyEditorClass() {
- if (propertyEditorClass != null && propertyEditorClass.eIsProxy()) {
- JavaClass oldPropertyEditorClass = propertyEditorClass;
- propertyEditorClass = (JavaClass)eResolveProxy((InternalEObject)propertyEditorClass);
- if (propertyEditorClass != oldPropertyEditorClass) {
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, BeaninfoPackage.PROPERTY_DECORATOR__PROPERTY_EDITOR_CLASS, oldPropertyEditorClass, propertyEditorClass));
- }
- }
- return propertyEditorClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setPropertyEditorClass(JavaClass newPropertyEditorClass) {
- JavaClass oldPropertyEditorClass = propertyEditorClass;
- propertyEditorClass = newPropertyEditorClass;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.PROPERTY_DECORATOR__PROPERTY_EDITOR_CLASS, oldPropertyEditorClass, propertyEditorClass));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Method getReadMethod() {
- if (readMethod != null && readMethod.eIsProxy()) {
- Method oldReadMethod = readMethod;
- readMethod = (Method)eResolveProxy((InternalEObject)readMethod);
- if (readMethod != oldReadMethod) {
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, BeaninfoPackage.PROPERTY_DECORATOR__READ_METHOD, oldReadMethod, readMethod));
- }
- }
- return readMethod;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setReadMethod(Method newReadMethod) {
- Method oldReadMethod = readMethod;
- readMethod = newReadMethod;
- boolean oldReadMethodESet = readMethodESet;
- readMethodESet = true;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.PROPERTY_DECORATOR__READ_METHOD, oldReadMethod, readMethod, !oldReadMethodESet));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetReadMethod() {
- Method oldReadMethod = readMethod;
- boolean oldReadMethodESet = readMethodESet;
- readMethod = null;
- readMethodESet = false;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.UNSET, BeaninfoPackage.PROPERTY_DECORATOR__READ_METHOD, oldReadMethod, null, oldReadMethodESet));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetReadMethod() {
- return readMethodESet;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Method getWriteMethod() {
- if (writeMethod != null && writeMethod.eIsProxy()) {
- Method oldWriteMethod = writeMethod;
- writeMethod = (Method)eResolveProxy((InternalEObject)writeMethod);
- if (writeMethod != oldWriteMethod) {
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, BeaninfoPackage.PROPERTY_DECORATOR__WRITE_METHOD, oldWriteMethod, writeMethod));
- }
- }
- return writeMethod;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setWriteMethod(Method newWriteMethod) {
- Method oldWriteMethod = writeMethod;
- writeMethod = newWriteMethod;
- boolean oldWriteMethodESet = writeMethodESet;
- writeMethodESet = true;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.PROPERTY_DECORATOR__WRITE_METHOD, oldWriteMethod, writeMethod, !oldWriteMethodESet));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetWriteMethod() {
- Method oldWriteMethod = writeMethod;
- boolean oldWriteMethodESet = writeMethodESet;
- writeMethod = null;
- writeMethodESet = false;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.UNSET, BeaninfoPackage.PROPERTY_DECORATOR__WRITE_METHOD, oldWriteMethod, null, oldWriteMethodESet));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetWriteMethod() {
- return writeMethodESet;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Field getField() {
- if (field != null && field.eIsProxy()) {
- Field oldField = field;
- field = (Field)eResolveProxy((InternalEObject)field);
- if (field != oldField) {
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, BeaninfoPackage.PROPERTY_DECORATOR__FIELD, oldField, field));
- }
- }
- return field;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Field basicGetField() {
- return field;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setField(Field newField) {
- Field oldField = field;
- field = newField;
- boolean oldFieldESet = fieldESet;
- fieldESet = true;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.PROPERTY_DECORATOR__FIELD, oldField, field, !oldFieldESet));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetField() {
- Field oldField = field;
- boolean oldFieldESet = fieldESet;
- field = null;
- fieldESet = false;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.UNSET, BeaninfoPackage.PROPERTY_DECORATOR__FIELD, oldField, null, oldFieldESet));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetField() {
- return fieldESet;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String toString() {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (bound: ");
- if (boundESet) result.append(bound); else result.append("<unset>");
- result.append(", constrained: ");
- if (constrainedESet) result.append(constrained); else result.append("<unset>");
- result.append(", designTime: ");
- if (designTimeESet) result.append(designTime); else result.append("<unset>");
- result.append(", alwaysIncompatible: ");
- result.append(alwaysIncompatible);
- result.append(", filterFlags: ");
- result.append(filterFlags);
- result.append(", fieldReadOnly: ");
- result.append(fieldReadOnly);
- result.append(')');
- return result.toString();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public JavaClass basicGetPropertyEditorClass() {
- return propertyEditorClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Method basicGetReadMethod() {
- return readMethod;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Method basicGetWriteMethod() {
- return writeMethod;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case BeaninfoPackage.PROPERTY_DECORATOR__EANNOTATIONS:
- return ((InternalEList)getEAnnotations()).basicAdd(otherEnd, msgs);
- case BeaninfoPackage.PROPERTY_DECORATOR__EMODEL_ELEMENT:
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, BeaninfoPackage.PROPERTY_DECORATOR__EMODEL_ELEMENT, msgs);
- default:
- return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
- }
- }
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case BeaninfoPackage.PROPERTY_DECORATOR__EANNOTATIONS:
- return ((InternalEList)getEAnnotations()).basicRemove(otherEnd, msgs);
- case BeaninfoPackage.PROPERTY_DECORATOR__DETAILS:
- return ((InternalEList)getDetails()).basicRemove(otherEnd, msgs);
- case BeaninfoPackage.PROPERTY_DECORATOR__EMODEL_ELEMENT:
- return eBasicSetContainer(null, BeaninfoPackage.PROPERTY_DECORATOR__EMODEL_ELEMENT, msgs);
- case BeaninfoPackage.PROPERTY_DECORATOR__CONTENTS:
- return ((InternalEList)getContents()).basicRemove(otherEnd, msgs);
- case BeaninfoPackage.PROPERTY_DECORATOR__ATTRIBUTES:
- return ((InternalEList)getAttributes()).basicRemove(otherEnd, msgs);
- default:
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
- if (eContainerFeatureID >= 0) {
- switch (eContainerFeatureID) {
- case BeaninfoPackage.PROPERTY_DECORATOR__EMODEL_ELEMENT:
- return eContainer.eInverseRemove(this, EcorePackage.EMODEL_ELEMENT__EANNOTATIONS, EModelElement.class, msgs);
- default:
- return eDynamicBasicRemoveFromContainer(msgs);
- }
- }
- return eContainer.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.PROPERTY_DECORATOR__EANNOTATIONS:
- return getEAnnotations();
- case BeaninfoPackage.PROPERTY_DECORATOR__SOURCE:
- return getSource();
- case BeaninfoPackage.PROPERTY_DECORATOR__DETAILS:
- return getDetails();
- case BeaninfoPackage.PROPERTY_DECORATOR__EMODEL_ELEMENT:
- return getEModelElement();
- case BeaninfoPackage.PROPERTY_DECORATOR__CONTENTS:
- return getContents();
- case BeaninfoPackage.PROPERTY_DECORATOR__REFERENCES:
- return getReferences();
- case BeaninfoPackage.PROPERTY_DECORATOR__DISPLAY_NAME:
- return getDisplayName();
- case BeaninfoPackage.PROPERTY_DECORATOR__SHORT_DESCRIPTION:
- return getShortDescription();
- case BeaninfoPackage.PROPERTY_DECORATOR__CATEGORY:
- return getCategory();
- case BeaninfoPackage.PROPERTY_DECORATOR__EXPERT:
- return isExpert() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.PROPERTY_DECORATOR__HIDDEN:
- return isHidden() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.PROPERTY_DECORATOR__PREFERRED:
- return isPreferred() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.PROPERTY_DECORATOR__MERGE_INTROSPECTION:
- return isMergeIntrospection() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.PROPERTY_DECORATOR__ATTRIBUTES_EXPLICIT_EMPTY:
- return isAttributesExplicitEmpty() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.PROPERTY_DECORATOR__IMPLICITLY_SET_BITS:
- return new Long(getImplicitlySetBits());
- case BeaninfoPackage.PROPERTY_DECORATOR__IMPLICIT_DECORATOR_FLAG:
- return getImplicitDecoratorFlag();
- case BeaninfoPackage.PROPERTY_DECORATOR__ATTRIBUTES:
- return getAttributes();
- case BeaninfoPackage.PROPERTY_DECORATOR__BOUND:
- return isBound() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.PROPERTY_DECORATOR__CONSTRAINED:
- return isConstrained() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.PROPERTY_DECORATOR__DESIGN_TIME:
- return isDesignTime() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.PROPERTY_DECORATOR__ALWAYS_INCOMPATIBLE:
- return isAlwaysIncompatible() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.PROPERTY_DECORATOR__FILTER_FLAGS:
- return getFilterFlags();
- case BeaninfoPackage.PROPERTY_DECORATOR__FIELD_READ_ONLY:
- return isFieldReadOnly() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.PROPERTY_DECORATOR__PROPERTY_EDITOR_CLASS:
- if (resolve) return getPropertyEditorClass();
- return basicGetPropertyEditorClass();
- case BeaninfoPackage.PROPERTY_DECORATOR__READ_METHOD:
- if (resolve) return getReadMethod();
- return basicGetReadMethod();
- case BeaninfoPackage.PROPERTY_DECORATOR__WRITE_METHOD:
- if (resolve) return getWriteMethod();
- return basicGetWriteMethod();
- case BeaninfoPackage.PROPERTY_DECORATOR__FIELD:
- if (resolve) return getField();
- return basicGetField();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.PROPERTY_DECORATOR__EANNOTATIONS:
- getEAnnotations().clear();
- getEAnnotations().addAll((Collection)newValue);
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__SOURCE:
- setSource((String)newValue);
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__DETAILS:
- getDetails().clear();
- getDetails().addAll((Collection)newValue);
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__EMODEL_ELEMENT:
- setEModelElement((EModelElement)newValue);
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__CONTENTS:
- getContents().clear();
- getContents().addAll((Collection)newValue);
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__REFERENCES:
- getReferences().clear();
- getReferences().addAll((Collection)newValue);
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__DISPLAY_NAME:
- setDisplayName((String)newValue);
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__SHORT_DESCRIPTION:
- setShortDescription((String)newValue);
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__CATEGORY:
- setCategory((String)newValue);
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__EXPERT:
- setExpert(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__HIDDEN:
- setHidden(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__PREFERRED:
- setPreferred(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__MERGE_INTROSPECTION:
- setMergeIntrospection(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__ATTRIBUTES_EXPLICIT_EMPTY:
- setAttributesExplicitEmpty(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__IMPLICITLY_SET_BITS:
- setImplicitlySetBits(((Long)newValue).longValue());
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__IMPLICIT_DECORATOR_FLAG:
- setImplicitDecoratorFlag((ImplicitItem)newValue);
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__ATTRIBUTES:
- getAttributes().clear();
- getAttributes().addAll((Collection)newValue);
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__BOUND:
- setBound(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__CONSTRAINED:
- setConstrained(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__DESIGN_TIME:
- setDesignTime(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__ALWAYS_INCOMPATIBLE:
- setAlwaysIncompatible(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__FILTER_FLAGS:
- getFilterFlags().clear();
- getFilterFlags().addAll((Collection)newValue);
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__FIELD_READ_ONLY:
- setFieldReadOnly(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__PROPERTY_EDITOR_CLASS:
- setPropertyEditorClass((JavaClass)newValue);
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__READ_METHOD:
- setReadMethod((Method)newValue);
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__WRITE_METHOD:
- setWriteMethod((Method)newValue);
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__FIELD:
- setField((Field)newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.PROPERTY_DECORATOR__EANNOTATIONS:
- getEAnnotations().clear();
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__SOURCE:
- setSource(SOURCE_EDEFAULT);
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__DETAILS:
- getDetails().clear();
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__EMODEL_ELEMENT:
- setEModelElement((EModelElement)null);
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__CONTENTS:
- getContents().clear();
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__REFERENCES:
- getReferences().clear();
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__DISPLAY_NAME:
- unsetDisplayName();
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__SHORT_DESCRIPTION:
- unsetShortDescription();
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__CATEGORY:
- setCategory(CATEGORY_EDEFAULT);
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__EXPERT:
- unsetExpert();
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__HIDDEN:
- unsetHidden();
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__PREFERRED:
- unsetPreferred();
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__MERGE_INTROSPECTION:
- setMergeIntrospection(MERGE_INTROSPECTION_EDEFAULT);
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__ATTRIBUTES_EXPLICIT_EMPTY:
- setAttributesExplicitEmpty(ATTRIBUTES_EXPLICIT_EMPTY_EDEFAULT);
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__IMPLICITLY_SET_BITS:
- setImplicitlySetBits(IMPLICITLY_SET_BITS_EDEFAULT);
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__IMPLICIT_DECORATOR_FLAG:
- setImplicitDecoratorFlag(IMPLICIT_DECORATOR_FLAG_EDEFAULT);
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__ATTRIBUTES:
- getAttributes().clear();
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__BOUND:
- unsetBound();
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__CONSTRAINED:
- unsetConstrained();
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__DESIGN_TIME:
- unsetDesignTime();
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__ALWAYS_INCOMPATIBLE:
- setAlwaysIncompatible(ALWAYS_INCOMPATIBLE_EDEFAULT);
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__FILTER_FLAGS:
- getFilterFlags().clear();
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__FIELD_READ_ONLY:
- setFieldReadOnly(FIELD_READ_ONLY_EDEFAULT);
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__PROPERTY_EDITOR_CLASS:
- setPropertyEditorClass((JavaClass)null);
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__READ_METHOD:
- unsetReadMethod();
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__WRITE_METHOD:
- unsetWriteMethod();
- return;
- case BeaninfoPackage.PROPERTY_DECORATOR__FIELD:
- unsetField();
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.emf.ecore.EObject#eIsSet(org.eclipse.emf.ecore.EStructuralFeature)
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.PROPERTY_DECORATOR__SOURCE:
- return isSourceSet(); // Override so that if set to the same as classname, then it is considered not set.
- default:
- return eIsSetGen(eFeature);
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSetGen(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.PROPERTY_DECORATOR__EANNOTATIONS:
- return eAnnotations != null && !eAnnotations.isEmpty();
- case BeaninfoPackage.PROPERTY_DECORATOR__SOURCE:
- return SOURCE_EDEFAULT == null ? source != null : !SOURCE_EDEFAULT.equals(source);
- case BeaninfoPackage.PROPERTY_DECORATOR__DETAILS:
- return details != null && !details.isEmpty();
- case BeaninfoPackage.PROPERTY_DECORATOR__EMODEL_ELEMENT:
- return getEModelElement() != null;
- case BeaninfoPackage.PROPERTY_DECORATOR__CONTENTS:
- return contents != null && !contents.isEmpty();
- case BeaninfoPackage.PROPERTY_DECORATOR__REFERENCES:
- return references != null && !references.isEmpty();
- case BeaninfoPackage.PROPERTY_DECORATOR__DISPLAY_NAME:
- return isSetDisplayName();
- case BeaninfoPackage.PROPERTY_DECORATOR__SHORT_DESCRIPTION:
- return isSetShortDescription();
- case BeaninfoPackage.PROPERTY_DECORATOR__CATEGORY:
- return CATEGORY_EDEFAULT == null ? category != null : !CATEGORY_EDEFAULT.equals(category);
- case BeaninfoPackage.PROPERTY_DECORATOR__EXPERT:
- return isSetExpert();
- case BeaninfoPackage.PROPERTY_DECORATOR__HIDDEN:
- return isSetHidden();
- case BeaninfoPackage.PROPERTY_DECORATOR__PREFERRED:
- return isSetPreferred();
- case BeaninfoPackage.PROPERTY_DECORATOR__MERGE_INTROSPECTION:
- return mergeIntrospection != MERGE_INTROSPECTION_EDEFAULT;
- case BeaninfoPackage.PROPERTY_DECORATOR__ATTRIBUTES_EXPLICIT_EMPTY:
- return attributesExplicitEmpty != ATTRIBUTES_EXPLICIT_EMPTY_EDEFAULT;
- case BeaninfoPackage.PROPERTY_DECORATOR__IMPLICITLY_SET_BITS:
- return implicitlySetBits != IMPLICITLY_SET_BITS_EDEFAULT;
- case BeaninfoPackage.PROPERTY_DECORATOR__IMPLICIT_DECORATOR_FLAG:
- return implicitDecoratorFlag != IMPLICIT_DECORATOR_FLAG_EDEFAULT;
- case BeaninfoPackage.PROPERTY_DECORATOR__ATTRIBUTES:
- return attributes != null && !attributes.isEmpty();
- case BeaninfoPackage.PROPERTY_DECORATOR__BOUND:
- return isSetBound();
- case BeaninfoPackage.PROPERTY_DECORATOR__CONSTRAINED:
- return isSetConstrained();
- case BeaninfoPackage.PROPERTY_DECORATOR__DESIGN_TIME:
- return isSetDesignTime();
- case BeaninfoPackage.PROPERTY_DECORATOR__ALWAYS_INCOMPATIBLE:
- return alwaysIncompatible != ALWAYS_INCOMPATIBLE_EDEFAULT;
- case BeaninfoPackage.PROPERTY_DECORATOR__FILTER_FLAGS:
- return filterFlags != null && !filterFlags.isEmpty();
- case BeaninfoPackage.PROPERTY_DECORATOR__FIELD_READ_ONLY:
- return fieldReadOnly != FIELD_READ_ONLY_EDEFAULT;
- case BeaninfoPackage.PROPERTY_DECORATOR__PROPERTY_EDITOR_CLASS:
- return propertyEditorClass != null;
- case BeaninfoPackage.PROPERTY_DECORATOR__READ_METHOD:
- return isSetReadMethod();
- case BeaninfoPackage.PROPERTY_DECORATOR__WRITE_METHOD:
- return isSetWriteMethod();
- case BeaninfoPackage.PROPERTY_DECORATOR__FIELD:
- return isSetField();
- }
- return eDynamicIsSet(eFeature);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.beaninfo.PropertyDecorator#isWriteable()
- */
- public boolean isWriteable() {
- return getWriteMethod() != null || (getField() != null && !isFieldReadOnly());
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.beaninfo.PropertyDecorator#isReadable()
- */
- public boolean isReadable() {
- return getReadMethod() != null || getField() != null;
- }
-
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfoCommon/org/eclipse/jem/internal/beaninfo/common/BeanRecord.java b/plugins/org.eclipse.jem.beaninfo/beaninfoCommon/org/eclipse/jem/internal/beaninfo/common/BeanRecord.java
deleted file mode 100644
index d2eb5c2a1..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfoCommon/org/eclipse/jem/internal/beaninfo/common/BeanRecord.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- * $RCSfile: BeanRecord.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:44:52 $
- */
-package org.eclipse.jem.internal.beaninfo.common;
-
-
-/**
- * This is the data structure for sending the BeanDescriptor info from
- * the BeanInfo vm to the IDE vm. It is serializable so that it can
- * be serialized for transmission.
- * <p>
- * It contains the properties of the BeanDescriptor.
- * @since 1.1.0
- */
-public class BeanRecord extends FeatureRecord {
-
- private static final long serialVersionUID = 1105979920664L;
-
- public String customizerClassName;
- public boolean mergeInheritedProperties;
- public boolean mergeInheritedOperations;
- public boolean mergeInheritedEvents;
- /**
- * Names of properties that are to not be inherited in getAllProperties(). It is set only
- * if the list is not the full list of inherited properties.
- * If all inherited or mergeInheritedProperties is false, then the field will be <code>null</code>. Save space that way.
- */
- public String[] notInheritedPropertyNames;
- /**
- * Names of operations that are to not be inherited in getEAllOperations(). It is set only
- * if the list is not the full list of inherited operations.
- * If all are inherited or if mergeInheritedOperations is false, then the field will be <code>null</code>. Save space that way.
- */
- public String[] notInheritedOperationNames;
- /**
- * Names of events that are to not be inherited in getAllEvents(). It is set only
- * if the list is not the full list of inherited events.
- * If all are inherited or if mergeInheritedEvents is false, then the field will be <code>null</code>. Save space that way.
- */
- public String[] notInheritedEventNames;
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfoCommon/org/eclipse/jem/internal/beaninfo/common/EventSetRecord.java b/plugins/org.eclipse.jem.beaninfo/beaninfoCommon/org/eclipse/jem/internal/beaninfo/common/EventSetRecord.java
deleted file mode 100644
index e0f47e7df..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfoCommon/org/eclipse/jem/internal/beaninfo/common/EventSetRecord.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- * $RCSfile: EventSetRecord.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:44:52 $
- */
-package org.eclipse.jem.internal.beaninfo.common;
-
-
-/**
- * This is the data structure for sending the EventSetDescriptor info from
- * the BeanInfo vm to the IDE vm. It is serializable so that it can
- * be serialized for transmission.
- * <p>
- * It contains the properties of the EventSetDescriptor.
- * @since 1.1.0
- */
-public class EventSetRecord extends FeatureRecord {
-
- private static final long serialVersionUID = 1105980773420L;
-
- public ReflectMethodRecord addListenerMethod;
- public String eventAdapterClassName;
- public MethodRecord[] listenerMethodDescriptors;
- public String listenerTypeName;
- public ReflectMethodRecord removeListenerMethod;
- public boolean inDefaultEventSet;
- public boolean unicast;
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfoCommon/org/eclipse/jem/internal/beaninfo/common/FeatureAttributeValue.java b/plugins/org.eclipse.jem.beaninfo/beaninfoCommon/org/eclipse/jem/internal/beaninfo/common/FeatureAttributeValue.java
deleted file mode 100644
index 3a0e30cca..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfoCommon/org/eclipse/jem/internal/beaninfo/common/FeatureAttributeValue.java
+++ /dev/null
@@ -1,750 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- * $RCSfile: FeatureAttributeValue.java,v $
- * $Revision: 1.8 $ $Date: 2005/06/30 13:47:26 $
- */
-package org.eclipse.jem.internal.beaninfo.common;
-
-import java.io.*;
-import java.lang.reflect.*;
-import java.util.Arrays;
-import java.util.logging.Level;
-import java.util.regex.Pattern;
-
-import org.eclipse.jem.internal.proxy.common.MapTypes;
-
-
-
-/**
- * This is the value for a FeatureAttribute. It wrappers the true java object.
- * Use the getObject method to get the java value.
- * <p>
- * We can only represent Strings, primitives, and arrays. (Primitives will converted
- * to their wrapper class (e.g. Long), and byte, short, and int will move up to Long,
- * and float will move up to Double). And any kind of valid array on the java BeanInfo side
- * will be converted to an Object array on the IDE side. We don't have the capability to allow more complex objects
- * because the IDE may not have the necessary classes available to it that
- * the BeanInfo may of had available to it. Invalid objects will be represented
- * by the singleton instance of {@link org.eclipse.jem.internal.beaninfo.common.InvalidObject}.
- * <p>
- * <b>Note:</b>
- * Class objects that are values of Feature attributes on the java BeanInfo side will be
- * converted to simple strings containing the classname when moved to the client (IDE) side.
- * That is because the classes probably will not be available on the IDE side, but can be
- * used to reconstruct the class when used back on the java vm side.
- * @since 1.1.0
- */
-public class FeatureAttributeValue implements Serializable {
-
- private transient Object value;
- private transient Object internalValue;
- private static final long serialVersionUID = 1105717634844L;
-
- /**
- * Create the value with the given init string.
- * <p>
- * This is not meant to be used by clients.
- * @param initString
- *
- * @since 1.1.0
- */
- public FeatureAttributeValue(String initString) {
- // Use the init string to create the value. This is our
- // own short-hand for this.
- value = parseString(initString);
- }
-
- /**
- * This is used when customer wants to fluff one up.
- *
- *
- * @since 1.1.0
- */
- public FeatureAttributeValue() {
-
- }
-
- /**
- * @return Returns the value.
- *
- * @since 1.1.0
- */
- public Object getValue() {
- return value;
- }
-
- /**
- * Set a value.
- * @param value The value to set.
- * @since 1.1.0
- */
- public void setValue(Object value) {
- this.value = value;
- this.setInternalValue(null);
- }
-
- /**
- * Set the internal value.
- * @param internalValue The internalValue to set.
- *
- * @since 1.1.0
- */
- public void setInternalValue(Object internalValue) {
- this.internalValue = internalValue;
- }
-
- /**
- * This is the internal value. It is the <code>value</code> massaged into an easier to use form
- * in the IDE. It will not be serialized out. It will not be reconstructed from an init string.
- * <p>
- * It does not need to be used. It will be cleared if
- * a new value is set. For example, if the value is a complicated array (because you can't have
- * special classes in the attribute value on the BeanInfo side) the first usage of this value can
- * be translated into an easier form to use, such as a map.
- *
- * @return Returns the internalValue.
- *
- * @since 1.1.0
- */
- public Object getInternalValue() {
- return internalValue;
- }
-
- /* (non-Javadoc)
- * @see java.lang.Object#toString()
- */
- public String toString() {
- if (value == null)
- return super.toString();
- return makeString(value);
- }
-
-
- /**
- * Helper method to take the object and turn it into the
- * string form that is required for EMF serialization.
- * <p>
- * This is used internally. It can be used for development
- * purposes by clients, but they would not have any real
- * runtime need for this.
- * <p>
- * Output format would be (there won't be any newlines in the actual string)
- * <pre>
- * String: "zxvzxv"
- * Number: number
- * Boolean: true or false
- * Character: 'c'
- * null: null
- *
- * Array: (all arrays will be turned into Object[])
- * [dim]{e1, e2}
- * [dim1][dim2]{[dim1a]{e1, e2}, [dim2a]{e3, e4}}
- * where en are objects that follow the pattern for single output above.
- *
- * Any invalid object (i.e. not one of the ones we handle) will be:
- * INV
- *
- * Arrays of invalid types (not Object, String, Number, Boolean, Character,
- * or primitives) will be marked as INV.
- * </pre>
- * @param value
- * @return serialized form as a string.
- *
- * @since 1.1.0
- */
- public static String makeString(Object value) {
- StringBuffer out = new StringBuffer(100);
- makeString(value, out);
- return out.toString();
- }
-
- private static final Pattern QUOTE = Pattern.compile("\""); // Pattern for searching for double-quote. Make it static so don't waste time compiling each time. //$NON-NLS-1$
- private static final String NULL = "null"; // Output string for null //$NON-NLS-1$
- private static final String INVALID = "INV"; // Invalid object flag. //$NON-NLS-1$
-
- /*
- * Used for recursive building of the string.
- */
- private static void makeString(Object value, StringBuffer out) {
- if (value == null)
- out.append(NULL);
- else if (value instanceof String || value instanceof Class) {
- // String: "string" or "string\"stringend" if str included a double-quote.
- out.append('"');
- // If class, turn value into the classname.
- String str = value instanceof String ? (String) value : ((Class) value).getName();
- if (str.indexOf('"') != -1) {
- // Replace double-quote with escape double-quote so we can distinquish it from the terminating double-quote.
- out.append(QUOTE.matcher(str).replaceAll("\\\\\"")); // Don't know why we need the back-slash to be doubled for replaceall, but it doesn't work otherwise. //$NON-NLS-1$
- } else
- out.append(str);
- out.append('\"');
- } else if (value instanceof Number) {
- // Will go out as either a integer number or a floating point number.
- // When read back in it will be either a Long or a Double.
- out.append(value);
- } else if (value instanceof Boolean) {
- // It will go out as either true or false.
- out.append(value);
- } else if (value instanceof Character) {
- // Character: 'c' or '\'' if char was a quote.
- out.append('\'');
- Character c = (Character) value;
- if (c.charValue() != '\'')
- out.append(c.charValue());
- else
- out.append("\\'"); //$NON-NLS-1$
- out.append('\'');
- } else if (value.getClass().isArray()) {
- // Handle array format.
- Class type = value.getClass();
- // See if final type is a valid type.
- Class ft = type.getComponentType();
- int dims = 1;
- while (ft.isArray()) {
- dims++;
- ft = ft.getComponentType();
- }
- if (ft == Object.class || ft == String.class || ft == Boolean.class || ft == Character.class || ft.isPrimitive() || Number.class.isAssignableFrom(ft)) {
- // [length][][] {....}
- out.append('[');
- int length = Array.getLength(value);
- out.append(length);
- out.append(']');
- while(--dims > 0) {
- out.append("[]"); //$NON-NLS-1$
- }
- out.append('{');
- for (int i=0; i < length; i++) {
- if (i != 0)
- out.append(',');
- makeString(Array.get(value, i), out);
- }
- out.append('}');
- } else
- out.append(INVALID); // Any other kind of array is invalid.
- } else {
- out.append(INVALID);
- }
- }
-
-
- /**
- * Helper method to take the string input from EMF serialization and turn it
- * into an Object.
- * <p>
- * This is used internally. It can be used for development
- * purposes by clients, but they would not have any real
- * runtime need for this.
- * <p>
- * The object will be an object, null, or an Object array. Any value
- * that is invalid will be set to the {@link InvalidObject#INSTANCE} static
- * instance.
- *
- * @param input
- * @return object decoded from the input.
- *
- * @see #makeString(Object)
- * @since 1.1.0
- */
- public static Object parseString(String input) {
- return parseString(new StringParser(input));
- }
-
- private static class StringParser {
- private int next=0;
- private int length;
- private String input;
-
- public StringParser(String input) {
- this.input = input;
- this.length = input.length();
- }
-
- public String toString() {
- return "StringParser: \""+input+'"';
- }
-
- public void skipWhitespace() {
- while(next < length) {
- if (!Character.isWhitespace(input.charAt(next++))) {
- next--; // Put it back as not yet read since it is not whitespace.
- break;
- }
- }
- }
-
- /**
- * Return the next index
- * @return
- *
- * @since 1.1.0
- */
- public int nextIndex() {
- return next;
- }
-
- /**
- * Get the length of the input
- * @return input length
- *
- * @since 1.1.0
- */
- public int getLength() {
- return length;
- }
-
-
- /**
- * Read the current character and go to next.
- * @return current character
- *
- * @since 1.1.0
- */
- public char read() {
- return next<length ? input.charAt(next++) : 0;
- }
-
- /**
- * Backup the parser one character.
- *
- *
- * @since 1.1.0
- */
- public void backup() {
- if (--next < 0)
- next = 0;
- }
-
- /**
- * Peek at the char at the next index, but don't increment afterwards.
- * @return
- *
- * @since 1.1.0
- */
- public char peek() {
- return next<length ? input.charAt(next) : 0;
- }
-
- /**
- * Have we read the last char.
- * @return <code>true</code> if read last char.
- *
- * @since 1.1.0
- */
- public boolean atEnd() {
- return next>=length;
- }
-
- /**
- * Reset to the given next index.
- * @param nextIndex the next index to do a read at.
- *
- * @since 1.1.0
- */
- public void reset(int nextIndex) {
- if (nextIndex<=length)
- next = nextIndex;
- else
- next = length;
- }
-
- /**
- * Skip the next number of chars.
- * @param skip number of chars to skip.
- *
- * @since 1.1.0
- */
- public void skip(int skip) {
- if ((next+=skip) > length)
- next = length;
- }
-
- /**
- * Return the string input.
- * @return the string input
- *
- * @since 1.1.0
- */
- public String getInput() {
- return input;
- }
-
- }
-
- /*
- * Starting a parse for an object at the given index.
- * Return the parsed object or InvalidObject if no
- * object or if there was an error parsing.
- */
- private static Object parseString(StringParser parser) {
- parser.skipWhitespace();
- if (!parser.atEnd()) {
- char c = parser.read();
- switch (c) {
- case '"':
- // Start of a quoted string. Scan for closing quote, ignoring escaped quotes.
- int start = parser.nextIndex(); // Index of first char after '"'
- char[] dequoted = null; // Used if there is an escaped quote. That is the only thing we support escape on, quotes.
- int dequoteIndex = 0;
- while (!parser.atEnd()) {
- char cc = parser.read();
- if (cc == '"') {
- // If we didn't dequote, then just do substring.
- if (dequoted == null)
- return parser.getInput().substring(start, parser.nextIndex()-1); // next is char after '"', so end of string index is index of '"'
- else {
- // We have a dequoted string. So turn into a string.
- // Gather the last group
- int endNdx = parser.nextIndex()-1;
- parser.getInput().getChars(start, endNdx, dequoted, dequoteIndex);
- dequoteIndex+= (endNdx-start);
- return new String(dequoted, 0, dequoteIndex);
- }
- } else if (cc == '\\') {
- // We had an escape, see if next is a quote. If it is we need to strip out the '\'.
- if (parser.peek() == '"') {
- if (dequoted == null) {
- dequoted = new char[parser.getLength()];
- }
- int endNdx = parser.nextIndex()-1;
- parser.getInput().getChars(start, endNdx, dequoted, dequoteIndex); // Get up to, but not including '\'
- dequoteIndex+= (endNdx-start);
- // Now also add in the escaped quote.
- dequoted[dequoteIndex++] = parser.read();
- start = parser.nextIndex(); // Next group is from next index.
- }
- }
- }
- break; // If we got here, it is invalid.
-
- case '-':
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- // Possible number.
- // Scan to next non-digit, or not part of valid number.
- boolean numberComplete = false;
- boolean floatType = false;
- boolean foundE = false;
- boolean foundESign = false;
- start = parser.nextIndex()-1; // We want to include the sign or first digit in the number.
- while (!parser.atEnd() && !numberComplete) {
- char cc = parser.read();
- switch (cc) {
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- break; // This is good, go on.
- case '.':
- if (floatType)
- return InvalidObject.INSTANCE; // We already found a '.', two are invalid.
- floatType = true;
- break;
- case 'e':
- case 'E':
- if (foundE)
- return InvalidObject.INSTANCE; // We already found a 'e', two are invalid.
- foundE = true;
- floatType = true; // An 'e' makes it a float, if not already.
- break;
- case '+':
- case '-':
- if (!foundE || foundESign)
- return InvalidObject.INSTANCE; // A +/- with no 'e' first is invalid. Or more than one sign.
- foundESign = true;
- break;
- default:
- // Anything else is end of number.
- parser.backup(); // Back it up so that next parse will start with this char.
- numberComplete = true; // So we stop scanning
- break;
- }
- }
- try {
- if (!floatType)
- return Long.valueOf(parser.getInput().substring(start, parser.nextIndex()));
- else
- return Double.valueOf(parser.getInput().substring(start, parser.nextIndex()));
- } catch (NumberFormatException e) {
- }
- break; // If we got here, it is invalid.
-
- case 't':
- case 'T':
- case 'f':
- case 'F':
- // Possible boolean.
- if (parser.getInput().regionMatches(true, parser.nextIndex()-1, "true", 0, 4)) { //$NON-NLS-1$
- parser.skip(3); // Skip over rest of string.
- return Boolean.TRUE;
- } else if (parser.getInput().regionMatches(true, parser.nextIndex()-1, "false", 0, 5)) { //$NON-NLS-1$
- parser.skip(4); // Skip over rest of string.
- return Boolean.FALSE;
- }
- break; // If we got here, it is invalid.
-
- case '\'':
- // Possible character
- char cc = parser.read();
- // We really only support '\\' and '\'' anything else will be treated as ignore '\' because we don't know handle full escapes.
- if (cc == '\\')
- cc = parser.read(); // Get what's after it.
- else if (cc == '\'')
- break; // '' is invalid.
- if (parser.peek() == '\'') {
- // So next char after "character" is is a quote. This is good.
- parser.read(); // Now consume the quote
- return new Character(cc);
- }
- break; // If we got here, it is invalid.
-
- case 'n':
- // Possible null.
- if (parser.getInput().regionMatches(parser.nextIndex()-1, "null", 0, 4)) { //$NON-NLS-1$
- parser.skip(3); // Skip over rest of string.
- return null;
- }
- break; // If we got here, it is invalid.
-
- case 'I':
- // Possible invalid value.
- if (parser.getInput().regionMatches(parser.nextIndex()-1, INVALID, 0, INVALID.length())) {
- parser.skip(INVALID.length()-1); // Skip over rest of string.
- return InvalidObject.INSTANCE;
- }
- break; // If we got here, it is invalid.
-
- case '[':
- // Possible array.
- // The next field should be a number, so we'll use parseString to get the number.
- Object size = parseString(parser);
- if (size instanceof Long) {
- parser.skipWhitespace();
- cc = parser.read(); // Se if next is ']'
- if (cc == ']') {
- // Good, well-formed first dimension
- int dim = 1;
- boolean valid = true;
- // See if there are more of just "[]". the number of them is the dim.
- while (true) {
- parser.skipWhitespace();
- cc = parser.read();
- if (cc == '[') {
- parser.skipWhitespace();
- cc = parser.read();
- if (cc == ']')
- dim++;
- else {
- // This is invalid.
- valid = false;
- parser.backup();
- break; // No more dims.
- }
- } else {
- parser.backup();
- break; // No more dims.
- }
- }
- if (valid) {
- parser.skipWhitespace();
- cc = parser.read();
- if (cc == '{') {
- // Good, we're at the start of the initialization code.
- int[] dims = new int[dim];
- int len = ((Long) size).intValue();
- dims[0] = len;
- Object array = Array.newInstance(Object.class, dims);
- Arrays.fill((Object[]) array, null); // Because newInstance used above fills the array created with empty arrays when a dim>1.
-
- // Now we start filling it in.
- Object invSetting = null; // What we will use for the invalid setting. If this is a multidim, this needs to be an array. Will not create it until needed.
- Object entry = parseString(parser); // Get the first entry
- Class compType = array.getClass().getComponentType();
- int i = -1;
- while (true) {
- if (++i < len) {
- if (compType.isInstance(entry)) {
- // Good, it can be assigned.
- Array.set(array, i, entry);
- } else {
- // Bad. Need to set invalid.
- if (invSetting == null) {
- // We haven't created it yet.
- if (dim == 1)
- invSetting = InvalidObject.INSTANCE; // Great, one dimensional, we can use invalid directly
- else {
- // Multi-dim. Need to create a valid array that we can set.
- int[] invDims = new int[dim - 1];
- Arrays.fill(invDims, 1); // Length one all of the way so that the final component can be invalid object
- invSetting = Array.newInstance(Object.class, invDims);
- Object finalEntry = invSetting; // Final array (with component type of just Object). Start with the full array and work down.
- for (int j = invDims.length - 1; j > 0; j--) {
- finalEntry = Array.get(finalEntry, 0);
- }
- Array.set(finalEntry, 0, InvalidObject.INSTANCE);
- }
- }
- Array.set(array, i, invSetting);
- }
- }
-
- parser.skipWhitespace();
- cc = parser.read();
- if (cc == ',') {
- // Good, get next
- entry = parseString(parser);
- } else if (cc == '}') {
- // Good, reached the end.
- break;
- } else {
- if (!parser.atEnd()) {
- parser.backup();
- entry = parseString(parser); // Technically this should be invalid, but we'll let a whitespace also denote next entry.
- } else {
- // It's really screwed up. The string just ended. Log it.
- Exception e = new IllegalStateException(parser.toString());
- try {
- // See if Beaninfo plugin is available (we are running under eclipse). If so, use it, else just print to error.
- // We may be in the remote vm and so it won't be available.
- Class biPluginClass = Class.forName("org.eclipse.jem.internal.beaninfo.core.BeaninfoPlugin");
- Method getPlugin = biPluginClass.getMethod("getPlugin", null);
- Method getLogger = biPluginClass.getMethod("getLogger", null);
- Method log = getLogger.getReturnType().getMethod("log", new Class[] {Throwable.class, Level.class});
- Object biPlugin = getPlugin.invoke(null, null);
- Object logger = getLogger.invoke(biPlugin, null);
- log.invoke(logger, new Object[] {e, Level.WARNING});
- return InvalidObject.INSTANCE;
- } catch (SecurityException e1) {
- } catch (IllegalArgumentException e1) {
- } catch (ClassNotFoundException e1) {
- } catch (NoSuchMethodException e1) {
- } catch (IllegalAccessException e1) {
- } catch (InvocationTargetException e1) {
- } catch (NullPointerException e1) {
- }
- e.printStackTrace(); // Not in eclipse, so just print stack trace.
- return InvalidObject.INSTANCE;
- }
- }
- }
-
- return array;
- }
- }
- }
- }
- break; // If we got here, it is invalid.
- }
- }
- return InvalidObject.INSTANCE;
- }
-
- private void writeObject(ObjectOutputStream out) throws IOException {
- // Write out any hidden stuff
- out.defaultWriteObject();
- writeObject(value, out);
- }
-
- private void writeObject(Object value, ObjectOutputStream out) throws IOException {
- if (value == null)
- out.writeObject(value);
- else {
- if (value instanceof Class)
- out.writeObject(((Class) value).getName());
- else if (!value.getClass().isArray()) {
- if (value instanceof String || value instanceof Number || value instanceof Boolean || value instanceof Character)
- out.writeObject(value);
- else
- out.writeObject(InvalidObject.INSTANCE);
- } else {
- // Array is tricky. See if it is one we can handle, if not then invalid.
- // To indicate array, we will first write out the Class of the Component type of the array (it will
- // be converted to be Object or Object[]...).
- // This will be the clue that an array is coming. Class values will never
- // be returned, so that is how we can tell it is an array.
- // Note: The reason we are using the component type (converted to Object) is because to reconstruct on the other side we need
- // to use the component type plus length of the array's first dimension.
- //
- // We can not just serialize the array in the normal way because it may contain invalid values, and we need to
- // handle that. Also, if it wasn't an Object array, we need to turn it into an object array. We need consistency
- // in that it should always be an Object array.
- // So output format will be:
- // Class(component type)
- // int(size of first dimension)
- // Object(value of first entry) - Actually use out writeObject() format to allow nesting of arrays.
- // Object(value of second entry)
- // ... up to size of dimension.
- Class type = value.getClass();
- // See if final type is a valid type.
- Class ft = type.getComponentType();
- int dims = 1;
- while (ft.isArray()) {
- dims++;
- ft = ft.getComponentType();
- }
- if (ft == Object.class || ft == String.class || ft == Boolean.class || ft == Character.class || ft.isPrimitive() || ft == Class.class || Number.class.isAssignableFrom(ft)) {
- String jniType = dims == 1 ? "java.lang.Object" : MapTypes.getJNITypeName("java.lang.Object", dims-1); //$NON-NLS-1$ //$NON-NLS-2$
- try {
- Class componentType = Class.forName(jniType);
- out.writeObject(componentType);
- int length = Array.getLength(value);
- out.writeInt(length);
- for (int i = 0; i < length; i++) {
- writeObject(Array.get(value, i), out);
- }
- } catch (ClassNotFoundException e) {
- // This should never happen. Object arrays are always available.
- }
- } else
- out.writeObject(InvalidObject.INSTANCE);
- }
- }
- }
-
-
- private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
- // Read in any hidden stuff
- in.defaultReadObject();
-
- value = readActualObject(in);
- }
-
- private Object readActualObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
- Object val = in.readObject();
- if (val instanceof Class) {
- // It must be an array. Only Class objects that come in are Arrays of Object.
- int length = in.readInt();
- Object array = Array.newInstance((Class) val, length);
- for (int i = 0; i < length; i++) {
- Array.set(array, i, readActualObject(in));
- }
- return array;
- } else
- return val; // It is the value itself.
- }
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfoCommon/org/eclipse/jem/internal/beaninfo/common/FeatureRecord.java b/plugins/org.eclipse.jem.beaninfo/beaninfoCommon/org/eclipse/jem/internal/beaninfo/common/FeatureRecord.java
deleted file mode 100644
index f973f29db..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfoCommon/org/eclipse/jem/internal/beaninfo/common/FeatureRecord.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- * $RCSfile: FeatureRecord.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:44:52 $
- */
-package org.eclipse.jem.internal.beaninfo.common;
-
-import java.io.Serializable;
-
-
-/**
- * This is the data structure for sending the FeatureDescriptor info from
- * the BeanInfo vm to the IDE vm. It is serializable so that it can
- * be serialized for transmission.
- * <p>
- * It contains the properties of the FeatureDescriptor.
- * @since 1.1.0
- */
-public class FeatureRecord implements Serializable {
-
- private static final long serialVersionUID = 1105979276648L;
-
- public String name; // Some decorators use this and others don't. Each decorator type will decide whether this is of importance.
- public String displayName;
- public String shortDescription;
- public String category;
- public boolean expert;
- public boolean hidden;
- public boolean preferred;
- public String[] attributeNames;
- public FeatureAttributeValue[] attributeValues;
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfoCommon/org/eclipse/jem/internal/beaninfo/common/IBeanInfoIntrospectionConstants.java b/plugins/org.eclipse.jem.beaninfo/beaninfoCommon/org/eclipse/jem/internal/beaninfo/common/IBeanInfoIntrospectionConstants.java
deleted file mode 100644
index 209873e41..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfoCommon/org/eclipse/jem/internal/beaninfo/common/IBeanInfoIntrospectionConstants.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- * $RCSfile: IBeanInfoIntrospectionConstants.java,v $
- * $Revision: 1.3 $ $Date: 2005/02/15 22:44:52 $
- */
-package org.eclipse.jem.internal.beaninfo.common;
-
-
-/**
- * These are constants needed for transferring BeanInfo results from the BeanInfo VM.
- * @since 1.1.0
- */
-public interface IBeanInfoIntrospectionConstants {
-
- /**
- * Introspection bit flag indicating do the BeanDecorator. Sent to ModelingBeanInfo.introspect method.
- * @since 1.1.0
- */
- public static final int DO_BEAN_DECOR = 0x1;
-
- /**
- * Introspection bit flag indicating do the Properties. Sent to ModelingBeanInfo.introspect method.
- * @since 1.1.0
- */
- public static final int DO_PROPERTIES = 0x2;
-
- /**
- * Introspection bit flag indicating do the Methods. Sent to ModelingBeanInfo.introspect method.
- * @since 1.1.0
- */
- public static final int DO_METHODS = 0x4;
-
- /**
- * Introspection bit flag indicating do the Events. Sent to ModelingBeanInfo.introspect method.
- * @since 1.1.0
- */
- public static final int DO_EVENTS = 0x8;
-
- /**
- * BeanDecorator was sent command id.
- * <p>
- * This will be sent to callBack(int id, InputStream is). The InputStream will be Objects (use ObjectInputStream).
- * The stream will be broken into sections.
- * Each section will be headed by the command id of that section (e.g. BEAN_DECORATOR_SENT or PROPERTY_DECORATORS_SENT).
- * Following the command id will be the type of input specific data.
- * <p>
- * The data following the command id will be a BeanRecord from the ObjectInputStream.
- *
- * @see BeanRecord
- * @see org.eclipse.jem.internal.proxy.core.ICallback#calledBackStream(int, InputStream)
- * @since 1.1.0
- */
- public static final int BEAN_DECORATOR_SENT = 1;
-
- /**
- * PropertyDecorators send command id.
- * <p>
- * This will be sent to callBack(int id, InputStream is). The InputStream will be Objects (use ObjectInputStream).
- * The stream will be broken into sections.
- * Each section will be headed by the command id of that section (e.g. BEAN_DECORATOR_SENT or PROPERTY_DECORATORS_SENT).
- * Following the command id will be the type of input specific data.
- * <p>
- * The first object will be an int and will be the number of properties and each object after that
- * will be a PropertyRecord/IndexedPropertyRecord.
- *
- * @see org.eclipse.jem.internal.proxy.core.ICallback#calledBackStream(int, InputStream)
- * @see PropertyRecord
- * @see IndexedPropertyRecord
- */
- public static final int PROPERTY_DECORATORS_SENT = 2;
-
- /**
- * MethodDecorators send command id.
- * <p>
- * This will be sent to callBack(int id, InputStream is). The InputStream will be Objects (use ObjectInputStream).
- * The stream will be broken into sections.
- * Each section will be headed by the command id of that section (e.g. BEAN_DECORATOR_SENT or PROPERTY_DECORATORS_SENT).
- * Following the command id will be the type of input specific data.
- * <p>
- * The InputStream will be Objects (use ObjectInputStream).
- * The first object will be an int and will be the number of methods and each object after that
- * will be a MethodRecord.
- *
- * @see org.eclipse.jem.internal.proxy.core.ICallback#calledBackStream(int, InputStream)
- * @see MethodRecord
- */
- public static final int METHOD_DECORATORS_SENT = 3;
-
- /**
- * EventSetDecorators send command id.
- * <p>
- * This will be sent to callBack(int id, InputStream is). The InputStream will be Objects (use ObjectInputStream).
- * The stream will be broken into sections.
- * Each section will be headed by the command id of that section (e.g. BEAN_DECORATOR_SENT or PROPERTY_DECORATORS_SENT).
- * Following the command id will be the type of input specific data.
- * <p>
- * The first object will be an int and will be the number of events and each object after that
- * will be a EventSetRecord.
- *
- * @see org.eclipse.jem.internal.proxy.core.ICallback#calledBackStream(int, InputStream)
- * @see MethodRecord
- */
- public static final int EVENT_DECORATORS_SENT = 4;
-
- /**
- * Done send command id.
- * <p>
- * This will be sent to callBack(int id, InputStream is). The InputStream will be Objects (use ObjectInputStream).
- * The stream will be broken into sections.
- * Each section will be headed by the command id of that section (e.g. BEAN_DECORATOR_SENT or PROPERTY_DECORATORS_SENT).
- * Following the command id will be the type of input specific data.
- * <p>
- * This command id means there is no more data and it should return.
- *
- * @see org.eclipse.jem.internal.proxy.core.ICallback#calledBackStream(int, InputStream)
- * @see MethodRecord
- */
- public static final int DONE = 5;
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfoCommon/org/eclipse/jem/internal/beaninfo/common/IndexedPropertyRecord.java b/plugins/org.eclipse.jem.beaninfo/beaninfoCommon/org/eclipse/jem/internal/beaninfo/common/IndexedPropertyRecord.java
deleted file mode 100644
index 5da6399d0..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfoCommon/org/eclipse/jem/internal/beaninfo/common/IndexedPropertyRecord.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- * $RCSfile: IndexedPropertyRecord.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:44:52 $
- */
-package org.eclipse.jem.internal.beaninfo.common;
-
-
-/**
- * This is the data structure for sending the IndexedPropertyDescriptor info from
- * the BeanInfo vm to the IDE vm. It is serializable so that it can
- * be serialized for transmission.
- * <p>
- * It contains the properties of the IndexedPropertyDescriptor.
- * @since 1.1.0
- */
-public class IndexedPropertyRecord extends PropertyRecord {
- private static final long serialVersionUID = 1105983227990L;
-
- public ReflectMethodRecord indexedReadMethod;
- public ReflectMethodRecord indexedWriteMethod;
- public String indexedPropertyTypeName;
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfoCommon/org/eclipse/jem/internal/beaninfo/common/InvalidObject.java b/plugins/org.eclipse.jem.beaninfo/beaninfoCommon/org/eclipse/jem/internal/beaninfo/common/InvalidObject.java
deleted file mode 100644
index 989c7ea08..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfoCommon/org/eclipse/jem/internal/beaninfo/common/InvalidObject.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- * $RCSfile: InvalidObject.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:44:52 $
- */
-package org.eclipse.jem.internal.beaninfo.common;
-
-import java.io.ObjectStreamException;
-import java.io.Serializable;
-
-
-/**
- * An indicator object for invalid object type. This is used with feature attribute
- * values from the BeanInfo classes. We can only handle certain types when we
- * bring them over from the BeanInfo VM. That is because the classes instantiated
- * in the BeanInfo class may not be available in the IDE. So any invalid value
- * will be replaced by this class instance.
- * <p>
- * This is a singleton class.
- * There will be one instance (InvalidObject.INSTANCE) in the system. That way
- * "==" can be used to test for it.
- *
- * @since 1.1.0
- */
-public class InvalidObject implements Serializable {
-
- /**
- * Singleton instance of InvalidObject.
- * @since 1.1.0
- */
- public static final InvalidObject INSTANCE = new InvalidObject();
-
- private static final long serialVersionUID = 1105643804370L;
-
- /*
- * Nobody else should create one of these.
- */
- private InvalidObject() {
- }
-
- private Object readResolve() throws ObjectStreamException {
- return INSTANCE;
- }
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfoCommon/org/eclipse/jem/internal/beaninfo/common/MethodRecord.java b/plugins/org.eclipse.jem.beaninfo/beaninfoCommon/org/eclipse/jem/internal/beaninfo/common/MethodRecord.java
deleted file mode 100644
index 375a69e6b..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfoCommon/org/eclipse/jem/internal/beaninfo/common/MethodRecord.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- * $RCSfile: MethodRecord.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:44:52 $
- */
-package org.eclipse.jem.internal.beaninfo.common;
-
-
-/**
- * This is the data structure for sending the MethodDescriptor info from
- * the BeanInfo vm to the IDE vm. It is serializable so that it can
- * be serialized for transmission.
- * <p>
- * It contains the properties of the MethodDescriptor.
- * @since 1.1.0
- */
-public class MethodRecord extends FeatureRecord {
-
- private static final long serialVersionUID = 1105982213110L;
-
- /**
- * Method signature for the method this record describes.
- */
- public ReflectMethodRecord methodForDescriptor;
- /**
- * Parameter records array. It may be <code>null</code> if there aren't any.
- */
- public ParameterRecord[] parameters;
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfoCommon/org/eclipse/jem/internal/beaninfo/common/ParameterRecord.java b/plugins/org.eclipse.jem.beaninfo/beaninfoCommon/org/eclipse/jem/internal/beaninfo/common/ParameterRecord.java
deleted file mode 100644
index 4aac601ac..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfoCommon/org/eclipse/jem/internal/beaninfo/common/ParameterRecord.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- * $RCSfile: ParameterRecord.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:44:52 $
- */
-package org.eclipse.jem.internal.beaninfo.common;
-
-
-/**
- * This is the data structure for sending the ParameterDescriptor info from
- * the BeanInfo vm to the IDE vm. It is serializable so that it can
- * be serialized for transmission.
- * <p>
- * It contains the properties of the ParameterDescriptor.
- * <p>
- * The only field of importance is the name, and that comes from FeatureRecord.
- * @since 1.1.0
- */
-public class ParameterRecord extends FeatureRecord {
-
- private static final long serialVersionUID = 1105982438955L;
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfoCommon/org/eclipse/jem/internal/beaninfo/common/PropertyRecord.java b/plugins/org.eclipse.jem.beaninfo/beaninfoCommon/org/eclipse/jem/internal/beaninfo/common/PropertyRecord.java
deleted file mode 100644
index cb564dd3a..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfoCommon/org/eclipse/jem/internal/beaninfo/common/PropertyRecord.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- * $RCSfile: PropertyRecord.java,v $
- * $Revision: 1.3 $ $Date: 2005/02/15 22:44:52 $
- */
-package org.eclipse.jem.internal.beaninfo.common;
-
-
-/**
- * This is the data structure for sending the PropertyDescriptor info from
- * the BeanInfo vm to the IDE vm. It is serializable so that it can
- * be serialized for transmission.
- * <p>
- * It contains the properties of the PropertyDescriptor.
- * @since 1.1.0
- */
-public class PropertyRecord extends FeatureRecord {
- private static final long serialVersionUID = 1105979276648L;
-
- public String propertyEditorClassName;
- public String propertyTypeName;
- public ReflectMethodRecord readMethod;
- public ReflectMethodRecord writeMethod;
- public ReflectFieldRecord field;
- public boolean bound;
- public boolean constrained;
- public Boolean designTime;
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfoCommon/org/eclipse/jem/internal/beaninfo/common/ReflectFieldRecord.java b/plugins/org.eclipse.jem.beaninfo/beaninfoCommon/org/eclipse/jem/internal/beaninfo/common/ReflectFieldRecord.java
deleted file mode 100644
index a495709a0..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfoCommon/org/eclipse/jem/internal/beaninfo/common/ReflectFieldRecord.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- * $RCSfile: ReflectFieldRecord.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:44:52 $
- */
-package org.eclipse.jem.internal.beaninfo.common;
-
-import java.io.Serializable;
-
-
-/**
- * This is the data structure for sending the java.lang.reflect.Field info from
- * the BeanInfo vm to the IDE vm. It is serializable so that it can
- * be serialized for transmission.
- * <p>
- * It contains the properties of the java.lang.reflect.Field.
- * @since 1.1.0
- */
-public class ReflectFieldRecord implements Serializable {
-
- private static final long serialVersionUID = 1105981512453L;
-
- public String className;
- public String fieldName;
- public boolean readOnly;
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfoCommon/org/eclipse/jem/internal/beaninfo/common/ReflectMethodRecord.java b/plugins/org.eclipse.jem.beaninfo/beaninfoCommon/org/eclipse/jem/internal/beaninfo/common/ReflectMethodRecord.java
deleted file mode 100644
index 01ff2be42..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfoCommon/org/eclipse/jem/internal/beaninfo/common/ReflectMethodRecord.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- * $RCSfile: ReflectMethodRecord.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:44:52 $
- */
-package org.eclipse.jem.internal.beaninfo.common;
-
-import java.io.Serializable;
-
-
-/**
- * This is the data structure for sending the java.lang.reflect.Method info from
- * the BeanInfo vm to the IDE vm. It is serializable so that it can
- * be serialized for transmission.
- * <p>
- * It contains the properties of the java.lang.reflect.Method.
- * @since 1.1.0
- */
-public class ReflectMethodRecord implements Serializable {
-
- private static final long serialVersionUID = 1105981512773L;
-
- public String className;
- public String methodName;
- public String[] parameterTypeNames; // Maybe null if no parameters.
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/build.properties b/plugins/org.eclipse.jem.beaninfo/build.properties
deleted file mode 100644
index 2f491c544..000000000
--- a/plugins/org.eclipse.jem.beaninfo/build.properties
+++ /dev/null
@@ -1,33 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 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
-###############################################################################
-src.excludes = **/.cvsignore
-bin.includes = plugin.xml,\
- plugin.properties,\
- beaninfo.jar,\
- vm/beaninfovm.jar,\
- about.html,\
- .options,\
- beaninfocommon.jar,\
- META-INF/
-jars.compile.order = beaninfocommon.jar,\
- vm/beaninfovm.jar,\
- beaninfo.jar
-src.includes = about.html,\
- model/,\
- rose/,\
- proxy.jars,\
- schema/
-source.beaninfo.jar = beaninfo/
-source.vm/beaninfovm.jar = vm_beaninfovm/
-source.beaninfocommon.jar = beaninfoCommon/
-output.vm/beaninfovm.jar = bin_vm_beaninfovm/
-output.beaninfocommon.jar = bin_beaninfocommon/
-
diff --git a/plugins/org.eclipse.jem.beaninfo/model/beaninfo.ecore b/plugins/org.eclipse.jem.beaninfo/model/beaninfo.ecore
deleted file mode 100644
index c3c1a6acb..000000000
--- a/plugins/org.eclipse.jem.beaninfo/model/beaninfo.ecore
+++ /dev/null
@@ -1,280 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ecore:EPackage xmi:version="2.0"
- xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="beaninfo"
- nsURI="http:///org/eclipse/jem/internal/beaninfo/beaninfo.ecore" nsPrefix="org.eclipse.jem.internal.beaninfo.beaninfo">
- <eClassifiers xsi:type="ecore:EClass" name="FeatureDecorator" eSuperTypes="../../org.eclipse.emf.ecore/model/Ecore.ecore#//EAnnotation">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Equivalent to FeatureDescriptor in java.&#xD;&#xA;&lt;p>&#xD;&#xA;Note: If any attribute is explicitly set then the BeanInfo/Reflection will not be merged into the decorator. This provides a way of overriding the BeanInfos. Also for any many-valued attribute, if it is desired to have it explicitly empty and not have BeanInfo fill it in, there will be another attribute named of the form &quot;attibutueExplicitEmpty&quot; If this is true then the BeanInfo will not merge in and will leave it empty.&#xD;&#xA;&lt;p>&#xD;&#xA;These comments about merging apply to all subclasses of this decorator too. "/>
- </eAnnotations>
- <eOperations name="getName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="displayName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
- unsettable="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="shortDescription" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
- unsettable="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="category" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="expert" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
- unsettable="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="hidden" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
- unsettable="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="preferred" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
- unsettable="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="mergeIntrospection" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
- defaultValueLiteral="true">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Should the introspection results be merged into this decorator. If this is set to false, then the introspection results are ignored for this particular decorator. This is an internal feature simply to allow desired override capabilities. Customers would use it to prevent ANY introspection/reflection from occurring."/>
- </eAnnotations>
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="attributesExplicitEmpty"
- eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="The attributes are explicitly set as empty and not retrieved from the beaninfo/reflection. Customers should set this if they want the list of attributes to be empty and not merged with the BeanInfo results. "/>
- </eAnnotations>
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="implicitlySetBits" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="A bitflag for which attributes have been set by BeanInfo/Reflection.&#xD;&#xA;&lt;p>&#xD;&#xA;This is an internal attribute that is used by the BeanInfo maintanance. It is not meant to be used by customers."/>
- </eAnnotations>
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="implicitDecoratorFlag"
- eType="#//ImplicitItem">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Is this decorator/feature implicit. This means created by Introspection/Reflection and not by customer.&#xD;&#xA;&lt;p>&#xD;&#xA;This is an internal attribute that is used by the BeanInfo maintanance. It is not meant to be used by customers."/>
- </eAnnotations>
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="attributes" upperBound="-1"
- eType="#//FeatureAttributeMapEntry" containment="true">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Feature attributes. Key/value pairs. If it is desired that the feature attributes is explicitly empty and not have BeanInfo/reflection set it, set attributesExplicitEmpty to true."/>
- </eAnnotations>
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="BeanDecorator" eSuperTypes="#//FeatureDecorator">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Equivalent to BeanDecorator in java."/>
- </eAnnotations>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="mergeSuperProperties" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
- defaultValueLiteral="true" unsettable="true">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Should the properties of super types be merged when asking for eAllAttributes/eAllReferences."/>
- </eAnnotations>
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="mergeSuperMethods" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
- defaultValueLiteral="true" unsettable="true">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Should the methods of super types be merged when asking for eAllBehaviors."/>
- </eAnnotations>
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="mergeSuperEvents" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
- defaultValueLiteral="true" unsettable="true">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Should the events of super types be merged when asking for eAllEvents."/>
- </eAnnotations>
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="introspectProperties" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
- defaultValueLiteral="true">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Should the properties from the introspection be added to the class. This allows properties to not be introspected and to use only what is defined explicitly in the JavaClass xmi file."/>
- </eAnnotations>
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="introspectMethods" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
- defaultValueLiteral="true">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Should the methods from the introspection be added to the class. This allows methods to not be introspected and to use only what is defined explicitly in the JavaClass xmi file."/>
- </eAnnotations>
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="introspectEvents" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
- defaultValueLiteral="true">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Should the events from the introspection be added to the class. This allows events to not be introspected and to use only what is defined explicitly in the JavaClass xmi file."/>
- </eAnnotations>
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="doBeaninfo" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
- defaultValueLiteral="true">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="This means do we go and get the beaninfo from the remote vm. If false, then it will not try to get the beaninfo. This doesn't prevent introspection through reflection. That is controled by the separate introspect... attributes."/>
- </eAnnotations>
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="notInheritedPropertyNames"
- upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="This is the list of inherited property names to not use in getAllProperties(). These names are properties that should not be inherited and should not show through. If the inherited property is not on the list then it will show in getAllProperties().&#xD;&#xA;&lt;p>&#xD;&#xA;This list will be empty if all properties are inherited or if the mergeSuperProperties flag is false.&#xD;&#xA;&lt;p>&#xD;&#xA;Note: This attribute is not meant to be changed by clients. It is an internal attribute."/>
- </eAnnotations>
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="notInheritedMethodNames"
- upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="This is the list of inherited method names to not use in eAllOperations(). These names are operations that should not be inherited and should not show through. If the inherited operation is not on the list then it will show in getAllOperations().&#xD;&#xA;&lt;p>&#xD;&#xA;This list will be empty if all operations are inherited or if the mergeSuperBehaviors flag is false."/>
- </eAnnotations>
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="notInheritedEventNames"
- upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="This is the list of inherited event names to not use in getAllEvents(). These names are events that should not be inherited and should not show through. If the inherited event is not on the list then it will show in getAllEvents().&#xD;&#xA;&lt;p>&#xD;&#xA;This list will be empty if all events are inherited or if the mergeSuperEvents flag is false."/>
- </eAnnotations>
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="customizerClass" eType="ecore:EClass ../../org.eclipse.jem/model/java.ecore#//JavaClass"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EventSetDecorator" eSuperTypes="#//FeatureDecorator">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Equivalent to EventSetDecorator in java."/>
- </eAnnotations>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="inDefaultEventSet" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
- unsettable="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="unicast" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
- unsettable="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="listenerMethodsExplicitEmpty"
- eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Set true if the listenerMethods feature is explicitly set as empty and is not to have listener methods merged in from BeanInfo or reflection."/>
- </eAnnotations>
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="addListenerMethod" lowerBound="1"
- eType="ecore:EClass ../../org.eclipse.jem/model/java.ecore#//Method"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="listenerMethods" lowerBound="1"
- upperBound="-1" eType="#//MethodProxy" volatile="true" transient="true" derived="true">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="listener methods. If it is desired that the list be explicitly empty and not have BeanInfo set it, then set listenerMethodsExplicitEmpty to true.&#xD;&#xA;&lt;p>&#xD;&#xA;ListenerMethods will be decorated with MethodDecorators.&#xD;&#xA;&lt;p>&#xD;&#xA;Note: This is a derived setting, which means it will not notify out changes to it. To here changes to it, listen on &quot;serListMthd&quot; notifications instead."/>
- </eAnnotations>
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="listenerType" lowerBound="1"
- eType="ecore:EClass ../../org.eclipse.jem/model/java.ecore#//JavaClass"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="removeListenerMethod" lowerBound="1"
- eType="ecore:EClass ../../org.eclipse.jem/model/java.ecore#//Method"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="eventAdapterClass" eType="ecore:EClass ../../org.eclipse.jem/model/java.ecore#//JavaClass">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="For some listener interfaces an adapter class is provided that implements default no-op methods, e.g. java.awt.event.FocusEvent which has java.awt.event.FocusAdapter. The Adapter class is provided in a key/value pair on the java.beans.EventSetDescriptor with a key defined in a static final constants EVENTADAPTERCLASS = &quot;eventAdapterClass&quot;."/>
- </eAnnotations>
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="serListMthd" lowerBound="1"
- upperBound="-1" eType="#//MethodProxy" containment="true">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="This is a private feature. It is used internally only. "/>
- </eAnnotations>
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="MethodDecorator" eSuperTypes="#//FeatureDecorator">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Equivalent to MethodDecorator in java."/>
- </eAnnotations>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="parmsExplicitEmpty" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Set true if the parms feature is explicitly set as empty and is not to have parameters merged in from BeanInfo or reflection."/>
- </eAnnotations>
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="parameterDescriptors" upperBound="-1"
- eType="#//ParameterDecorator" volatile="true" transient="true" derived="true">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="This is the parameter descriptors list.&#xD;&#xA;&lt;p>&#xD;&#xA;Note: This is a derived setting, which means it will not notify out changes to it. To here changes to it, listen on &quot;serParmDesc&quot; notifications instead."/>
- </eAnnotations>
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="serParmDesc" upperBound="-1"
- eType="#//ParameterDecorator" containment="true">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="This is a private feature. It is used internally only. "/>
- </eAnnotations>
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ParameterDecorator" eSuperTypes="#//FeatureDecorator">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="The name is explicit here because unlike the other feature decorators, the name does not come from the object being decorated."/>
- </eAnnotations>
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="parameter" eType="ecore:EClass ../../org.eclipse.jem/model/java.ecore#//JavaParameter"
- transient="true">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="The JavaParameter that this ParameterDecorator is decorating. Can't use eDecorates in this."/>
- </eAnnotations>
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PropertyDecorator" eSuperTypes="#//FeatureDecorator">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Equivalent to PropertyDecorator in java."/>
- </eAnnotations>
- <eOperations name="getPropertyType" eType="ecore:EClass ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="bound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
- unsettable="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="constrained" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
- unsettable="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="designTime" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
- unsettable="true">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="If not set, then normal default processing.&#xD;&#xA;&#xD;&#xA;If set true, then this property is a design time property. This means it will show up in the property sheet, but it won't be able to be connected to at runtime. It may not even be a true bean property but instead the builder will know how to handle it.&#xD;&#xA;&#xD;&#xA;If set false, then this property will not show up on the property sheet, but will be able to be connected to for runtime."/>
- </eAnnotations>
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="alwaysIncompatible" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="If set true, then when multiple objects are selected, this property is always incompatible with each other. So in this case the property will not show up on the property sheet if more than one object has been selected."/>
- </eAnnotations>
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="filterFlags" upperBound="-1"
- eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="fieldReadOnly" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Is this field read-only (i.e. is a &quot;final&quot; field). This is only referenced if the field reference is set."/>
- </eAnnotations>
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="propertyEditorClass" eType="ecore:EClass ../../org.eclipse.jem/model/java.ecore#//JavaClass"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="readMethod" eType="ecore:EClass ../../org.eclipse.jem/model/java.ecore#//Method"
- unsettable="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="writeMethod" eType="ecore:EClass ../../org.eclipse.jem/model/java.ecore#//Method"
- unsettable="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="field" eType="ecore:EClass ../../org.eclipse.jem/model/java.ecore#//Field"
- unsettable="true">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="If this is set, then this property is a field and not a getter/setter property. This is an extension that the Visual Editor uses to the BeanInfo model."/>
- </eAnnotations>
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="IndexedPropertyDecorator" eSuperTypes="#//PropertyDecorator">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Equivalent to IndexedPropertyDecorator"/>
- </eAnnotations>
- <eStructuralFeatures xsi:type="ecore:EReference" name="indexedReadMethod" eType="ecore:EClass ../../org.eclipse.jem/model/java.ecore#//Method"
- unsettable="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="indexedWriteMethod" eType="ecore:EClass ../../org.eclipse.jem/model/java.ecore#//Method"
- unsettable="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="MethodProxy" eSuperTypes="../../org.eclipse.emf.ecore/model/Ecore.ecore#//EOperation">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="This is just a wrapper of a java Method. It allows access to the method but doesn't duplicate the interface for it.&#xD;&#xA;&lt;p>&#xD;&#xA;MethodProxies will be in the eBehaviors setting for any methods that are in the JavaClass methods setting so that they are not duplicated.&#xD;&#xA;&lt;p>&#xD;&#xA;MethodProxies would also have MethodDecorators."/>
- </eAnnotations>
- <eStructuralFeatures xsi:type="ecore:EReference" name="method" lowerBound="1"
- eType="ecore:EClass ../../org.eclipse.jem/model/java.ecore#//Method"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="BeanEvent" eSuperTypes="../../org.eclipse.jem/model/java.ecore#//JavaEvent">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Event from Introspection/Reflection.&#xD;&#xA;&lt;p>&#xD;&#xA;The BeanEvent will be under the JavaClass' events and allEvents feature. Each BeanEvent will be decorated by an EventSetDecorator."/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="FeatureAttributeMapEntry" instanceClassName="java.util.Map$Entry">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="key" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="#//FeatureAttributeValue"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EDataType" name="FeatureAttributeValue" instanceClassName="org.eclipse.jem.internal.beaninfo.common.FeatureAttributeValue">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="This is the attribute value for feature attribute. It can only represent the following:&#xD;&#xA;&#xD;&#xA;- String&#xD;&#xA;- primitives&#xD;&#xA;- array (type Object) containing mixture of Strings and primitives (as the object types)&#xD;&#xA;- array (type String)&#xD;&#xA;- array (type primitive)&#xD;&#xA;&#xD;&#xA;Anything else cannot be represented."/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="ImplicitItem">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="This enum is an internal enum. It is used by BeanInfo for cache maintenance.&#xD;&#xA;&lt;p>&#xD;&#xA;This enum is not meant to be used by clients."/>
- </eAnnotations>
- <eLiterals name="NOT_IMPLICIT">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Means this decorator is not implicit. That is it was created by customer."/>
- </eAnnotations>
- </eLiterals>
- <eLiterals name="IMPLICIT_DECORATOR" value="1">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="This means that the decorator is implicit. That is it was not created by the customer."/>
- </eAnnotations>
- </eLiterals>
- <eLiterals name="IMPLICIT_DECORATOR_AND_FEATURE" value="2">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="This means the decorator and the feature where implicit. That is they were not created by the customer."/>
- </eAnnotations>
- </eLiterals>
- </eClassifiers>
-</ecore:EPackage>
diff --git a/plugins/org.eclipse.jem.beaninfo/model/introspect.genmodel b/plugins/org.eclipse.jem.beaninfo/model/introspect.genmodel
deleted file mode 100644
index ab7abe751..000000000
--- a/plugins/org.eclipse.jem.beaninfo/model/introspect.genmodel
+++ /dev/null
@@ -1,93 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<genmodel:GenModel xmi:version="2.0"
- xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
- xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.jem.beaninfo/beaninfo"
- editDirectory="/org.eclipse.jem.beaninfo.edit/src" editorDirectory="/org.eclipse.jem.beaninfo.editor/src"
- modelPluginID="" modelName="Beaninfo" editPluginClass="org.eclipse.jem.internal.beaninfo.provider.BeaninfoEditPlugin"
- editorPluginClass="org.eclipse.jem.internal.beaninfo.presentation.BeaninfoEditorPlugin"
- updateClasspath="false" usedGenPackages="../../org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore ../../org.eclipse.jem/model/javaModel.genmodel#//java">
- <foreignModel>..\rose\introspect.mdl</foreignModel>
- <foreignModel>WorkspaceRoot</foreignModel>
- <foreignModel>../..</foreignModel>
- <genPackages prefix="Beaninfo" basePackage="org.eclipse.jem.internal" adapterFactory="false"
- ecorePackage="beaninfo.ecore#/">
- <genEnums ecoreEnum="beaninfo.ecore#//ImplicitItem">
- <genEnumLiterals ecoreEnumLiteral="beaninfo.ecore#//ImplicitItem/NOT_IMPLICIT"/>
- <genEnumLiterals ecoreEnumLiteral="beaninfo.ecore#//ImplicitItem/IMPLICIT_DECORATOR"/>
- <genEnumLiterals ecoreEnumLiteral="beaninfo.ecore#//ImplicitItem/IMPLICIT_DECORATOR_AND_FEATURE"/>
- </genEnums>
- <genDataTypes ecoreDataType="beaninfo.ecore#//FeatureAttributeValue"/>
- <genClasses ecoreClass="beaninfo.ecore#//FeatureDecorator">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute beaninfo.ecore#//FeatureDecorator/displayName"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute beaninfo.ecore#//FeatureDecorator/shortDescription"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute beaninfo.ecore#//FeatureDecorator/category"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute beaninfo.ecore#//FeatureDecorator/expert"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute beaninfo.ecore#//FeatureDecorator/hidden"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute beaninfo.ecore#//FeatureDecorator/preferred"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute beaninfo.ecore#//FeatureDecorator/mergeIntrospection"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute beaninfo.ecore#//FeatureDecorator/attributesExplicitEmpty"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute beaninfo.ecore#//FeatureDecorator/implicitlySetBits"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute beaninfo.ecore#//FeatureDecorator/implicitDecoratorFlag"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference beaninfo.ecore#//FeatureDecorator/attributes"/>
- <genOperations ecoreOperation="beaninfo.ecore#//FeatureDecorator/getName"/>
- </genClasses>
- <genClasses ecoreClass="beaninfo.ecore#//BeanDecorator">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute beaninfo.ecore#//BeanDecorator/mergeSuperProperties"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute beaninfo.ecore#//BeanDecorator/mergeSuperMethods"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute beaninfo.ecore#//BeanDecorator/mergeSuperEvents"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute beaninfo.ecore#//BeanDecorator/introspectProperties"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute beaninfo.ecore#//BeanDecorator/introspectMethods"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute beaninfo.ecore#//BeanDecorator/introspectEvents"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute beaninfo.ecore#//BeanDecorator/doBeaninfo"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute beaninfo.ecore#//BeanDecorator/notInheritedPropertyNames"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute beaninfo.ecore#//BeanDecorator/notInheritedMethodNames"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute beaninfo.ecore#//BeanDecorator/notInheritedEventNames"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EReference beaninfo.ecore#//BeanDecorator/customizerClass"/>
- </genClasses>
- <genClasses ecoreClass="beaninfo.ecore#//EventSetDecorator">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute beaninfo.ecore#//EventSetDecorator/inDefaultEventSet"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute beaninfo.ecore#//EventSetDecorator/unicast"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute beaninfo.ecore#//EventSetDecorator/listenerMethodsExplicitEmpty"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EReference beaninfo.ecore#//EventSetDecorator/addListenerMethod"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference beaninfo.ecore#//EventSetDecorator/listenerMethods"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EReference beaninfo.ecore#//EventSetDecorator/listenerType"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EReference beaninfo.ecore#//EventSetDecorator/removeListenerMethod"/>
- <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference beaninfo.ecore#//EventSetDecorator/eventAdapterClass"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference beaninfo.ecore#//EventSetDecorator/serListMthd"/>
- </genClasses>
- <genClasses ecoreClass="beaninfo.ecore#//MethodDecorator">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute beaninfo.ecore#//MethodDecorator/parmsExplicitEmpty"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference beaninfo.ecore#//MethodDecorator/parameterDescriptors"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference beaninfo.ecore#//MethodDecorator/serParmDesc"/>
- </genClasses>
- <genClasses ecoreClass="beaninfo.ecore#//ParameterDecorator">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute beaninfo.ecore#//ParameterDecorator/name"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EReference beaninfo.ecore#//ParameterDecorator/parameter"/>
- </genClasses>
- <genClasses ecoreClass="beaninfo.ecore#//PropertyDecorator">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute beaninfo.ecore#//PropertyDecorator/bound"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute beaninfo.ecore#//PropertyDecorator/constrained"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute beaninfo.ecore#//PropertyDecorator/designTime"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute beaninfo.ecore#//PropertyDecorator/alwaysIncompatible"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute beaninfo.ecore#//PropertyDecorator/filterFlags"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute beaninfo.ecore#//PropertyDecorator/fieldReadOnly"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EReference beaninfo.ecore#//PropertyDecorator/propertyEditorClass"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EReference beaninfo.ecore#//PropertyDecorator/readMethod"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EReference beaninfo.ecore#//PropertyDecorator/writeMethod"/>
- <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference beaninfo.ecore#//PropertyDecorator/field"/>
- <genOperations ecoreOperation="beaninfo.ecore#//PropertyDecorator/getPropertyType"/>
- </genClasses>
- <genClasses ecoreClass="beaninfo.ecore#//IndexedPropertyDecorator">
- <genFeatures createChild="false" ecoreFeature="ecore:EReference beaninfo.ecore#//IndexedPropertyDecorator/indexedReadMethod"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EReference beaninfo.ecore#//IndexedPropertyDecorator/indexedWriteMethod"/>
- </genClasses>
- <genClasses ecoreClass="beaninfo.ecore#//MethodProxy">
- <genFeatures createChild="false" ecoreFeature="ecore:EReference beaninfo.ecore#//MethodProxy/method"/>
- </genClasses>
- <genClasses ecoreClass="beaninfo.ecore#//BeanEvent"/>
- <genClasses ecoreClass="beaninfo.ecore#//FeatureAttributeMapEntry">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute beaninfo.ecore#//FeatureAttributeMapEntry/key"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EAttribute beaninfo.ecore#//FeatureAttributeMapEntry/value"/>
- </genClasses>
- </genPackages>
-</genmodel:GenModel>
diff --git a/plugins/org.eclipse.jem.beaninfo/plugin.properties b/plugins/org.eclipse.jem.beaninfo/plugin.properties
deleted file mode 100644
index 23b00db1a..000000000
--- a/plugins/org.eclipse.jem.beaninfo/plugin.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/plugins/org.eclipse.jem.beaninfo/plugin.properties,v $
-# $Revision: 1.6 $ $Date: 2005/02/15 22:46:22 $
-#
-
-
-pluginName=Java EMF Model BeanInfo (Introspection) Support
-providerName = Eclipse.org
-beaninfoNatureName=Java Model BeanInfo Nature
-registrations.extensionpoint.name=BeanInfo extension registrations
diff --git a/plugins/org.eclipse.jem.beaninfo/plugin.xml b/plugins/org.eclipse.jem.beaninfo/plugin.xml
deleted file mode 100644
index 901dcf35c..000000000
--- a/plugins/org.eclipse.jem.beaninfo/plugin.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
- <extension-point id="registrations" name="%registrations.extensionpoint.name" schema="schema/registrations.exsd"/>
-
- <extension
- id="BeanInfoNature"
- name="%beaninfoNatureName"
- point="org.eclipse.core.resources.natures">
- <runtime>
- <run
- class="org.eclipse.jem.internal.beaninfo.adapters.BeaninfoNature">
- </run>
- </runtime>
- </extension>
- <extension
- point="org.eclipse.emf.ecore.generated_package">
- <package
- uri="http:///org/eclipse/jem/internal/beaninfo.ecore"
- class="org.eclipse.jem.internal.beaninfo.BeaninfoPackage">
- </package>
- </extension>
- <extension
- point="org.eclipse.team.core.fileTypes">
- <fileTypes
- type="text"
- extension="beaninfoConfig">
- </fileTypes>
- <fileTypes
- type="text"
- extension="override">
- </fileTypes>
- </extension>
-
-</plugin>
diff --git a/plugins/org.eclipse.jem.beaninfo/proxy.jars b/plugins/org.eclipse.jem.beaninfo/proxy.jars
deleted file mode 100644
index 176820a6f..000000000
--- a/plugins/org.eclipse.jem.beaninfo/proxy.jars
+++ /dev/null
@@ -1,2 +0,0 @@
-vm/beaninfovm.jar=/org.eclipse.jem.beaninfo/bin_vm_beaninfovm/
-beaninfocommon.jar=/org.eclipse.jem.beaninfo/bin_beaninfocommon/ \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo/rose/.cvsignore b/plugins/org.eclipse.jem.beaninfo/rose/.cvsignore
deleted file mode 100644
index 1be3a373d..000000000
--- a/plugins/org.eclipse.jem.beaninfo/rose/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*.md~
-*.ca~ \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo/rose/beaninfo.cat b/plugins/org.eclipse.jem.beaninfo/rose/beaninfo.cat
deleted file mode 100644
index d2e65c493..000000000
--- a/plugins/org.eclipse.jem.beaninfo/rose/beaninfo.cat
+++ /dev/null
@@ -1,3289 +0,0 @@
-
-(object Petal
- version 47
- _written "Rose 8.0.0303.1400"
- charSet 0)
-
-(object Class_Category "beaninfo"
- is_unit TRUE
- is_loaded TRUE
- attributes (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "basePackage"
- value (value Text "org.eclipse.jem.internal.beaninfo")))
- quid "3A799ABB0353"
- exportControl "Public"
- logical_models (list unit_reference_list
- (object Class "FeatureDecorator"
- quid "3A799B3E01E9"
- documentation
-|Equivalent to FeatureDescriptor in java.
-|<p>
-|Note: If any attribute is explicitly set then the BeanInfo/Reflection will not be merged into the decorator. This provides a way of overriding the BeanInfos. Also for any many-valued attribute, if it is desired to have it explicitly empty and not have BeanInfo fill it in, there will be another attribute named of the form "attibutueExplicitEmpty" If this is true then the BeanInfo will not merge in and will leave it empty.
-|<p>
-|These comments about merging apply to all subclasses of this decorator too.
-
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "3DFA185900DC"
- supplier "Logical View::ecore::EAnnotation"
- quidu "3D98A1C701AB"))
- operations (list Operations
- (object Operation "getName"
- quid "3B867D0D0184"
- result "String"
- concurrency "Sequential"
- opExportControl "Public"
- uid 0))
- class_attributes (list class_attribute_list
- (object ClassAttribute "displayName"
- attributes (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "isUnsettable"
- value TRUE))
- quid "3A79CFCC0131"
- type "String"
- exportControl "Public")
- (object ClassAttribute "shortDescription"
- attributes (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "isUnsettable"
- value TRUE))
- quid "3A79CFD501E8"
- type "String"
- exportControl "Public")
- (object ClassAttribute "category"
- attributes (list Attribute_Set)
- quid "3BA2797102DC"
- type "String"
- exportControl "Public")
- (object ClassAttribute "expert"
- attributes (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "isUnsettable"
- value TRUE))
- quid "3A79CFE700FE"
- type "boolean"
- exportControl "Public")
- (object ClassAttribute "hidden"
- attributes (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "isUnsettable"
- value TRUE))
- quid "3A79D0050328"
- type "boolean"
- exportControl "Public")
- (object ClassAttribute "preferred"
- attributes (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "isUnsettable"
- value TRUE))
- quid "3A79D0240318"
- type "boolean"
- exportControl "Public")
- (object ClassAttribute "mergeIntrospection"
- quid "3A82C0A60389"
- documentation "Should the introspection results be merged into this decorator. If this is set to false, then the introspection results are ignored for this particular decorator. This is an internal feature simply to allow desired override capabilities. Customers would use it to prevent ANY introspection/reflection from occurring."
- type "boolean"
- initv "true"
- exportControl "Implementation")
- (object ClassAttribute "attributesExplicitEmpty"
- quid "3C9B49320265"
- documentation "The attributes are explicitly set as empty and not retrieved from the beaninfo/reflection. Customers should set this if they want the list of attributes to be empty and not merged with the BeanInfo results. "
- type "boolean"
- exportControl "Implementation")
- (object ClassAttribute "implicitlySetBits"
- quid "41E5815D02B9"
- documentation
-|A bitflag for which attributes have been set by BeanInfo/Reflection.
-|<p>
-|This is an internal attribute that is used by the BeanInfo maintanance. It is not meant to be used by customers.
-
- type "long")
- (object ClassAttribute "implicitDecoratorFlag"
- quid "41E5A05D021A"
- documentation
-|Is this decorator/feature implicit. This means created by Introspection/Reflection and not by customer.
-|<p>
-|This is an internal attribute that is used by the BeanInfo maintanance. It is not meant to be used by customers.
-
- type "ImplicitItem"
- quidu "41E59E5D0296")))
- (object Class "BeanDecorator"
- quid "3A79D0DF02D1"
- documentation "Equivalent to BeanDecorator in java."
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "3A79DE8E007F"
- supplier "Logical View::beaninfo::FeatureDecorator"
- quidu "3A799B3E01E9"))
- class_attributes (list class_attribute_list
- (object ClassAttribute "mergeSuperProperties"
- attributes (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "isUnsettable"
- value TRUE))
- quid "3A82B73E0200"
- documentation "Should the properties of super types be merged when asking for eAllAttributes/eAllReferences."
- type "boolean"
- initv "true"
- exportControl "Implementation")
- (object ClassAttribute "mergeSuperMethods"
- attributes (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "isUnsettable"
- value TRUE))
- quid "3A82B9940015"
- documentation "Should the methods of super types be merged when asking for eAllBehaviors."
- type "boolean"
- initv "true"
- exportControl "Implementation")
- (object ClassAttribute "mergeSuperEvents"
- attributes (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "isUnsettable"
- value TRUE))
- quid "3A82B99F0165"
- documentation "Should the events of super types be merged when asking for eAllEvents."
- type "boolean"
- initv "true"
- exportControl "Implementation")
- (object ClassAttribute "introspectProperties"
- quid "3A8427EC00A6"
- documentation "Should the properties from the introspection be added to the class. This allows properties to not be introspected and to use only what is defined explicitly in the JavaClass xmi file."
- type "boolean"
- initv "true"
- exportControl "Implementation")
- (object ClassAttribute "introspectMethods"
- quid "3A84287501B1"
- documentation "Should the methods from the introspection be added to the class. This allows methods to not be introspected and to use only what is defined explicitly in the JavaClass xmi file."
- type "boolean"
- initv "true"
- exportControl "Implementation")
- (object ClassAttribute "introspectEvents"
- quid "3A842877000F"
- documentation "Should the events from the introspection be added to the class. This allows events to not be introspected and to use only what is defined explicitly in the JavaClass xmi file."
- type "boolean"
- initv "true"
- exportControl "Implementation")
- (object ClassAttribute "doBeaninfo"
- quid "3C9A46FC027C"
- documentation "This means do we go and get the beaninfo from the remote vm. If false, then it will not try to get the beaninfo. This doesn't prevent introspection through reflection. That is controled by the separate introspect... attributes."
- type "boolean"
- initv "true"
- exportControl "Implementation")
- (object ClassAttribute "notInheritedPropertyNames"
- quid "41EED50B0185"
- documentation
-|This is the list of inherited property names to not use in getAllProperties(). These names are properties that should not be inherited and should not show through. If the inherited property is not on the list then it will show in getAllProperties().
-|<p>
-|This list will be empty if all properties are inherited or if the mergeSuperProperties flag is false.
-|<p>
-|Note: This attribute is not meant to be changed by clients. It is an internal attribute.
-
- stereotype "0..*"
- type "String")
- (object ClassAttribute "notInheritedMethodNames"
- quid "41F02C5F0399"
- documentation
-|This is the list of inherited method names to not use in eAllOperations(). These names are operations that should not be inherited and should not show through. If the inherited operation is not on the list then it will show in getAllOperations().
-|<p>
-|This list will be empty if all operations are inherited or if the mergeSuperBehaviors flag is false.
-
- stereotype "0..*"
- type "String")
- (object ClassAttribute "notInheritedEventNames"
- quid "41F02D0A0312"
- documentation
-|This is the list of inherited event names to not use in getAllEvents(). These names are events that should not be inherited and should not show through. If the inherited event is not on the list then it will show in getAllEvents().
-|<p>
-|This list will be empty if all events are inherited or if the mergeSuperEvents flag is false.
-
- stereotype "0..*"
- type "String")))
- (object Class "EventSetDecorator"
- quid "3A79D1D2004F"
- documentation "Equivalent to EventSetDecorator in java."
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "3A79DEA200EC"
- supplier "Logical View::beaninfo::FeatureDecorator"
- quidu "3A799B3E01E9"))
- class_attributes (list class_attribute_list
- (object ClassAttribute "inDefaultEventSet"
- attributes (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "isUnsettable"
- value TRUE))
- quid "3A79D94F004C"
- type "boolean"
- exportControl "Public")
- (object ClassAttribute "unicast"
- attributes (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "isUnsettable"
- value TRUE))
- quid "3A79D9580167"
- type "boolean"
- exportControl "Public")
- (object ClassAttribute "listenerMethodsExplicitEmpty"
- quid "3CB1AF7D0286"
- documentation "Set true if the listenerMethods feature is explicitly set as empty and is not to have listener methods merged in from BeanInfo or reflection."
- type "boolean"
- exportControl "Implementation")))
- (object Class "MethodDecorator"
- quid "3A79D35E0027"
- documentation "Equivalent to MethodDecorator in java."
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "3A79DEA603E1"
- supplier "Logical View::beaninfo::FeatureDecorator"
- quidu "3A799B3E01E9"))
- class_attributes (list class_attribute_list
- (object ClassAttribute "parmsExplicitEmpty"
- quid "3B86ABE80092"
- documentation "Set true if the parms feature is explicitly set as empty and is not to have parameters merged in from BeanInfo or reflection."
- type "boolean"
- exportControl "Implementation")))
- (object Class "ParameterDecorator"
- quid "3A79D9C20304"
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "3A79DEBB01C4"
- supplier "Logical View::beaninfo::FeatureDecorator"
- quidu "3A799B3E01E9"))
- class_attributes (list class_attribute_list
- (object ClassAttribute "name"
- quid "3B86A6700099"
- documentation "The name is explicit here because unlike the other feature decorators, the name does not come from the object being decorated."
- type "String"
- exportControl "Public")))
- (object Class "PropertyDecorator"
- quid "3A79DA68010E"
- documentation "Equivalent to PropertyDecorator in java."
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "3A79DE9702BD"
- supplier "Logical View::beaninfo::FeatureDecorator"
- quidu "3A799B3E01E9"))
- operations (list Operations
- (object Operation "getPropertyType"
- quid "3B8CF526039D"
- result "EClassifier"
- concurrency "Sequential"
- opExportControl "Public"
- uid 0
- quidu "3ACE4FEE0371"))
- class_attributes (list class_attribute_list
- (object ClassAttribute "bound"
- attributes (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "isUnsettable"
- value TRUE))
- quid "3A79DC250303"
- type "boolean"
- exportControl "Public")
- (object ClassAttribute "constrained"
- attributes (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "isUnsettable"
- value TRUE))
- quid "3A79DC2C00A0"
- type "boolean"
- exportControl "Public")
- (object ClassAttribute "designTime"
- attributes (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "isUnsettable"
- value TRUE))
- quid "3BA27455019B"
- documentation
-|If not set, then normal default processing.
-|
-|If set true, then this property is a design time property. This means it will show up in the property sheet, but it won't be able to be connected to at runtime. It may not even be a true bean property but instead the builder will know how to handle it.
-|
-|If set false, then this property will not show up on the property sheet, but will be able to be connected to for runtime.
-
- type "boolean"
- exportControl "Public")
- (object ClassAttribute "alwaysIncompatible"
- quid "3BA27A1700BE"
- documentation "If set true, then when multiple objects are selected, this property is always incompatible with each other. So in this case the property will not show up on the property sheet if more than one object has been selected."
- type "boolean"
- exportControl "Public")
- (object ClassAttribute "filterFlags"
- quid "3BA3B18F0036"
- stereotype "0..*"
- type "String"
- exportControl "Public")
- (object ClassAttribute "fieldReadOnly"
- quid "4207E101018E"
- documentation
-|Is this field read-only (i.e. is a "final" field). This is only referenced if the field reference is set.
-
- type "boolean"
- exportControl "Public")))
- (object Class "IndexedPropertyDecorator"
- quid "3A79DC450309"
- documentation "Equivalent to IndexedPropertyDecorator"
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "3A79DE840388"
- supplier "Logical View::beaninfo::PropertyDecorator"
- quidu "3A79DA68010E")))
- (object Class "MethodProxy"
- quid "3A8984C901C3"
- documentation
-|This is just a wrapper of a java Method. It allows access to the method but doesn't duplicate the interface for it.
-|<p>
-|MethodProxies will be in the eBehaviors setting for any methods that are in the JavaClass methods setting so that they are not duplicated.
-|<p>
-|MethodProxies would also have MethodDecorators.
-
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "3DFA19B600DE"
- supplier "Logical View::ecore::EOperation"
- quidu "3904DAA200A0")))
- (object Class "BeanEvent"
- quid "3CB09CA90212"
- documentation
-|Event from Introspection/Reflection.
-|<p>
-|The BeanEvent will be under the JavaClass' events and allEvents feature. Each BeanEvent will be decorated by an EventSetDecorator.
-
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "3CB09CB6038D"
- supplier "Logical View::java::JavaEvent"
- quidu "3C62FAF103C8")))
- (object Class "FeatureAttributeMapEntry"
- quid "404CC85501F5"
- stereotype "MapEntry"
- class_attributes (list class_attribute_list
- (object ClassAttribute "key"
- quid "404CC8B70304"
- type "String"
- exportControl "Public")
- (object ClassAttribute "value"
- attributes (list Attribute_Set)
- quid "41E58414010A"
- type "FeatureAttributeValue"
- quidu "41E582F800BB"
- exportControl "Public")))
- (object Class "FeatureAttributeValue"
- quid "41E582F800BB"
- documentation
-|This is the attribute value for feature attribute. It can only represent the following:
-|
-|- String
-|- primitives
-|- array (type Object) containing mixture of Strings and primitives (as the object types)
-|- array (type String)
-|- array (type primitive)
-|
-|Anything else cannot be represented.
-
- stereotype "datatype"
- class_attributes (list class_attribute_list
- (object ClassAttribute "org.eclipse.jem.internal.beaninfo.common.FeatureAttributeValue"
- quid "41E583B503CA"
- stereotype "javaclass")))
- (object Class "ImplicitItem"
- quid "41E59E5D0296"
- documentation
-|This enum is an internal enum. It is used by BeanInfo for cache maintenance.
-|<p>
-|This enum is not meant to be used by clients.
-
- stereotype "enumeration"
- exportControl "Protected"
- class_attributes (list class_attribute_list
- (object ClassAttribute "NOT_IMPLICIT"
- quid "41E59F2A00EC"
- documentation "Means this decorator is not implicit. That is it was created by customer.")
- (object ClassAttribute "IMPLICIT_DECORATOR"
- quid "41E59F7200B4"
- documentation "This means that the decorator is implicit. That is it was not created by the customer.")
- (object ClassAttribute "IMPLICIT_DECORATOR_AND_FEATURE"
- quid "41E59FA303B7"
- documentation "This means the decorator and the feature where implicit. That is they were not created by the customer.")))
- (object Association "$UNNAMED$0"
- quid "3A79CF6C0378"
- roles (list role_list
- (object Role "attributes"
- attributes (list Attribute_Set)
- quid "3A79CF6E00BE"
- documentation "Feature attributes. Key/value pairs. If it is desired that the feature attributes is explicitly empty and not have BeanInfo/reflection set it, set attributesExplicitEmpty to true."
- label "attributes"
- supplier "Logical View::beaninfo::FeatureAttributeMapEntry"
- quidu "404CC85501F5"
- client_cardinality (value cardinality "0..n")
- Containment "By Value"
- is_navigable TRUE)
- (object Role "$UNNAMED$1"
- quid "3A79CF6E00C8"
- supplier "Logical View::beaninfo::FeatureDecorator"
- quidu "3A799B3E01E9"
- is_aggregate TRUE)))
- (object Association "$UNNAMED$2"
- quid "3A79D1350248"
- roles (list role_list
- (object Role "customizerClass"
- attributes (list Attribute_Set)
- quid "3A79D13601D2"
- label "customizerClass"
- supplier "Logical View::java::JavaClass"
- quidu "36549FCC00FA"
- client_cardinality (value cardinality "0..1")
- Containment "By Reference"
- is_navigable TRUE)
- (object Role "$UNNAMED$3"
- quid "3A79D13601E6"
- supplier "Logical View::beaninfo::BeanDecorator"
- quidu "3A79D0DF02D1")))
- (object Association "$UNNAMED$4"
- quid "3A79D3080128"
- roles (list role_list
- (object Role "addListenerMethod"
- quid "3A79D3090346"
- label "addListenerMethod"
- supplier "Logical View::java::Method"
- quidu "3654AE910271"
- client_cardinality (value cardinality "1")
- Containment "By Reference"
- is_navigable TRUE)
- (object Role "$UNNAMED$5"
- quid "3A79D309035A"
- supplier "Logical View::beaninfo::EventSetDecorator"
- quidu "3A79D1D2004F")))
- (object Association "$UNNAMED$6"
- quid "3A79D3E10364"
- roles (list role_list
- (object Role "listenerMethods"
- attributes (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "isTransient"
- value TRUE)
- (object Attribute
- tool "Ecore"
- name "isVolatile"
- value TRUE))
- quid "3A79D3E6007D"
- documentation
-|listener methods. If it is desired that the list be explicitly empty and not have BeanInfo set it, then set listenerMethodsExplicitEmpty to true.
-|<p>
-|ListenerMethods will be decorated with MethodDecorators.
-|<p>
-|Note: This is a derived setting, which means it will not notify out changes to it. To here changes to it, listen on "serListMthd" notifications instead.
-
- label "listenerMethods"
- supplier "Logical View::beaninfo::MethodProxy"
- quidu "3A8984C901C3"
- client_cardinality (value cardinality "1..n")
- Containment "By Reference"
- is_navigable TRUE)
- (object Role "$UNNAMED$7"
- quid "3A79D3E60091"
- supplier "Logical View::beaninfo::EventSetDecorator"
- quidu "3A79D1D2004F"))
- derived TRUE)
- (object Association "$UNNAMED$8"
- quid "3A79D4A80158"
- roles (list role_list
- (object Role "listenerType"
- quid "3A79D4AA038B"
- label "listenerType"
- supplier "Logical View::java::JavaClass"
- quidu "36549FCC00FA"
- client_cardinality (value cardinality "1")
- Containment "By Reference"
- is_navigable TRUE)
- (object Role "$UNNAMED$9"
- quid "3A79D4AA03B4"
- supplier "Logical View::beaninfo::EventSetDecorator"
- quidu "3A79D1D2004F")))
- (object Association "$UNNAMED$10"
- quid "3A79D4DF020B"
- roles (list role_list
- (object Role "removeListenerMethod"
- quid "3A79D4E10395"
- label "removeListenerMethod"
- supplier "Logical View::java::Method"
- quidu "3654AE910271"
- client_cardinality (value cardinality "1")
- Containment "By Reference"
- is_navigable TRUE)
- (object Role "$UNNAMED$11"
- quid "3A79D4E103A9"
- supplier "Logical View::beaninfo::EventSetDecorator"
- quidu "3A79D1D2004F")))
- (object Association "$UNNAMED$12"
- quid "3A79DA1A02F7"
- roles (list role_list
- (object Role "parameterDescriptors"
- attributes (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "isTransient"
- value TRUE)
- (object Attribute
- tool "Ecore"
- name "isVolatile"
- value TRUE))
- quid "3A79DA1C0231"
- documentation
-|This is the parameter descriptors list.
-|<p>
-|Note: This is a derived setting, which means it will not notify out changes to it. To here changes to it, listen on "serParmDesc" notifications instead.
-
- label "parameterDescriptors"
- supplier "Logical View::beaninfo::ParameterDecorator"
- quidu "3A79D9C20304"
- client_cardinality (value cardinality "0..n")
- Containment "By Reference"
- is_navigable TRUE)
- (object Role "$UNNAMED$13"
- quid "3A79DA1C0232"
- supplier "Logical View::beaninfo::MethodDecorator"
- quidu "3A79D35E0027"))
- derived TRUE)
- (object Association "$UNNAMED$14"
- quid "3A79DB0B0339"
- roles (list role_list
- (object Role "propertyEditorClass"
- quid "3A79DB0E013F"
- label "propertyEditorClass"
- supplier "Logical View::java::JavaClass"
- quidu "36549FCC00FA"
- client_cardinality (value cardinality "0..1")
- Containment "By Reference"
- is_navigable TRUE)
- (object Role "$UNNAMED$15"
- quid "3A79DB0E0171"
- supplier "Logical View::beaninfo::PropertyDecorator"
- quidu "3A79DA68010E")))
- (object Association "$UNNAMED$16"
- quid "3A79DBBD0000"
- roles (list role_list
- (object Role "readMethod"
- attributes (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "isUnsettable"
- value TRUE))
- quid "3A79DBBF0071"
- label "readMethod"
- supplier "Logical View::java::Method"
- quidu "3654AE910271"
- client_cardinality (value cardinality "0..1")
- Containment "By Reference"
- is_navigable TRUE)
- (object Role "$UNNAMED$17"
- quid "3A79DBBF0085"
- supplier "Logical View::beaninfo::PropertyDecorator"
- quidu "3A79DA68010E")))
- (object Association "$UNNAMED$18"
- quid "3A79DBDF02D0"
- roles (list role_list
- (object Role "writeMethod"
- attributes (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "isUnsettable"
- value TRUE))
- quid "3A79DBE101F7"
- label "writeMethod"
- supplier "Logical View::java::Method"
- quidu "3654AE910271"
- client_cardinality (value cardinality "0..1")
- Containment "By Reference"
- is_navigable TRUE)
- (object Role "$UNNAMED$19"
- quid "3A79DBE1020B"
- supplier "Logical View::beaninfo::PropertyDecorator"
- quidu "3A79DA68010E")))
- (object Association "$UNNAMED$20"
- quid "3A79DE34036F"
- roles (list role_list
- (object Role "indexedReadMethod"
- attributes (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "isUnsettable"
- value TRUE))
- quid "3A79DE3503CA"
- label "indexedReadMethod"
- supplier "Logical View::java::Method"
- quidu "3654AE910271"
- client_cardinality (value cardinality "0..1")
- Containment "By Reference"
- is_navigable TRUE)
- (object Role "$UNNAMED$21"
- quid "3A79DE3503DE"
- supplier "Logical View::beaninfo::IndexedPropertyDecorator"
- quidu "3A79DC450309")))
- (object Association "$UNNAMED$22"
- quid "3A79DE540180"
- roles (list role_list
- (object Role "indexedWriteMethod"
- attributes (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "isUnsettable"
- value TRUE))
- quid "3A79DE5503D0"
- label "indexedWriteMethod"
- supplier "Logical View::java::Method"
- quidu "3654AE910271"
- client_cardinality (value cardinality "0..1")
- Containment "By Reference"
- is_navigable TRUE)
- (object Role "$UNNAMED$23"
- quid "3A79DE5503E4"
- supplier "Logical View::beaninfo::IndexedPropertyDecorator"
- quidu "3A79DC450309")))
- (object Association "$UNNAMED$24"
- quid "3A89865B01D5"
- roles (list role_list
- (object Role "method"
- quid "3A89865C01AE"
- label "method"
- supplier "Logical View::java::Method"
- quidu "3654AE910271"
- client_cardinality (value cardinality "1")
- Containment "By Reference"
- is_navigable TRUE)
- (object Role "$UNNAMED$25"
- quid "3A89865C01CC"
- supplier "Logical View::beaninfo::MethodProxy"
- quidu "3A8984C901C3")))
- (object Association "$UNNAMED$26"
- quid "3C9A6EDD02C2"
- roles (list role_list
- (object Role "parameter"
- attributes (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "isTransient"
- value TRUE))
- quid "3C9A6EDE01FB"
- documentation "The JavaParameter that this ParameterDecorator is decorating. Can't use eDecorates in this."
- label "parameter"
- supplier "Logical View::java::JavaParameter"
- quidu "3654AD780280"
- client_cardinality (value cardinality "0..1")
- is_navigable TRUE)
- (object Role "$UNNAMED$27"
- quid "3C9A6EDE0205"
- supplier "Logical View::beaninfo::ParameterDecorator"
- quidu "3A79D9C20304")))
- (object Association "$UNNAMED$28"
- quid "41F016E7002E"
- roles (list role_list
- (object Role "serParmDesc"
- quid "41F016E802A7"
- documentation "This is a private feature. It is used internally only. "
- label "serParmDesc"
- supplier "Logical View::beaninfo::ParameterDecorator"
- quidu "3A79D9C20304"
- client_cardinality (value cardinality "0..n")
- Containment "By Value"
- exportControl "Private"
- is_navigable TRUE)
- (object Role "$UNNAMED$29"
- quid "41F016E802B1"
- supplier "Logical View::beaninfo::MethodDecorator"
- quidu "3A79D35E0027"
- is_aggregate TRUE)))
- (object Association "$UNNAMED$30"
- quid "41F11E710387"
- roles (list role_list
- (object Role "eventAdapterClass"
- quid "41F11E730249"
- documentation
-|For some listener interfaces an adapter class is provided that implements default no-op methods, e.g. java.awt.event.FocusEvent which has java.awt.event.FocusAdapter. The Adapter class is provided in a key/value pair on the java.beans.EventSetDescriptor with a key defined in a static final constants EVENTADAPTERCLASS = "eventAdapterClass".
-
- label "eventAdapterClass"
- supplier "Logical View::java::JavaClass"
- quidu "36549FCC00FA"
- client_cardinality (value cardinality "0..1")
- Containment "By Reference"
- is_navigable TRUE)
- (object Role "$UNNAMED$31"
- quid "41F11E73025D"
- supplier "Logical View::beaninfo::EventSetDecorator"
- quidu "3A79D1D2004F")))
- (object Association "$UNNAMED$32"
- quid "41F1278A01A5"
- roles (list role_list
- (object Role "serListMthd"
- quid "41F1278B021F"
- documentation "This is a private feature. It is used internally only. "
- label "serListMthd"
- supplier "Logical View::beaninfo::MethodProxy"
- quidu "3A8984C901C3"
- client_cardinality (value cardinality "1..n")
- Containment "By Value"
- exportControl "Private"
- is_navigable TRUE)
- (object Role "$UNNAMED$33"
- quid "41F1278B0229"
- supplier "Logical View::beaninfo::EventSetDecorator"
- quidu "3A79D1D2004F"
- is_aggregate TRUE)))
- (object Association "$UNNAMED$34"
- quid "4207D83F01DA"
- roles (list role_list
- (object Role "field"
- attributes (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "isUnsettable"
- value TRUE))
- quid "4207D8400290"
- documentation "If this is set, then this property is a field and not a getter/setter property. This is an extension that the Visual Editor uses to the BeanInfo model."
- label "field"
- supplier "Logical View::java::Field"
- quidu "3654AF8F0280"
- client_cardinality (value cardinality "0..1")
- is_navigable TRUE)
- (object Role "$UNNAMED$35"
- quid "4207D8400292"
- supplier "Logical View::beaninfo::PropertyDecorator"
- quidu "3A79DA68010E"))))
- logical_presentations (list unit_reference_list
- (object ClassDiagram "Main"
- quid "3A799AC8038E"
- title "Main"
- zoom 100
- max_height 28350
- max_width 21600
- origin_x 0
- origin_y 1144
- items (list diagram_item_list
- (object NoteView @1
- location (2640, 1696)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @1
- location (2358, 1608)
- fill_color 13434879
- nlines 3
- max_width 528
- label "ListenerMethods will be decorated with MethodDecorators.")
- line_color 3342489
- fill_color 13434879
- width 588
- height 188)
- (object NoteView @2
- location (3392, 2784)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @2
- location (3076, 2568)
- fill_color 13434879
- nlines 8
- max_width 596
- label
-|MethodProxies will be in the eBehaviors setting for any methods that are in the JavaClass methods setting so that they are not duplicated.
-|
-|MethodProxies would also have MethodDecorators.
- )
- line_color 3342489
- fill_color 13434879
- width 656
- height 444)
- (object ClassView "Class" "Logical View::java::JavaEvent" @3
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (1248, 2688)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics TRUE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @3
- location (1114, 2614)
- fill_color 13434879
- nlines 1
- max_width 268
- justify 0
- label "JavaEvent")
- icon_style "Icon"
- line_color 3342489
- fill_color 16777088
- quidu "3C62FAF103C8"
- width 286
- height 172
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::beaninfo::BeanEvent" @4
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (1232, 2992)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @4
- location (1096, 2941)
- fill_color 13434879
- nlines 1
- max_width 272
- justify 0
- label "BeanEvent")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "3CB09CA90212"
- width 290
- height 126
- annotation 8
- autoResize TRUE)
- (object InheritView "" @5
- stereotype TRUE
- line_color 3342489
- quidu "3CB09CB6038D"
- client @4
- supplier @3
- line_style 0)
- (object NoteView @6
- location (1856, 2944)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @6
- location (1561, 2815)
- fill_color 13434879
- nlines 5
- max_width 555
- label "The BeanEvent will be under the JavaClass' events and allEvents feature. Each BeanEvent will be decorated by an EventSetDecorator.")
- line_color 3342489
- fill_color 13434879
- width 615
- height 270)
- (object ClassView "Class" "Logical View::ecore::EAnnotation" @7
- ShowCompartmentStereotypes TRUE
- location (1056, 128)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @7
- location (906, 54)
- fill_color 13434879
- nlines 1
- max_width 300
- justify 0
- label "EAnnotation")
- icon_style "Icon"
- line_color 3342489
- fill_color 16776960
- quidu "3D98A1C701AB"
- width 318
- height 172
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::ecore::EOperation" @8
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (2848, 2272)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @8
- location (2702, 2198)
- fill_color 13434879
- nlines 1
- max_width 292
- justify 0
- label "EOperation")
- icon_style "Icon"
- line_color 3342489
- fill_color 16776960
- quidu "3904DAA200A0"
- width 310
- height 172
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::beaninfo::FeatureAttributeMapEntry" @9
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (2224, 176)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @9
- location (1887, 92)
- fill_color 13434879
- nlines 1
- max_width 674
- justify 0
- label "FeatureAttributeMapEntry")
- stereotype (object ItemLabel
- Parent_View @9
- location (1887, 42)
- fill_color 13434879
- anchor 10
- nlines 1
- max_width 674
- justify 0
- label "<<MapEntry>>")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "404CC85501F5"
- compartment (object Compartment
- Parent_View @9
- location (1887, 153)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 16777215
- anchor 2
- nlines 3
- max_width 581)
- width 692
- height 292
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::beaninfo::FeatureDecorator" @10
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- ShowOperationSignature TRUE
- location (1072, 656)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @10
- location (665, 325)
- fill_color 13434879
- nlines 1
- max_width 814
- justify 0
- label "FeatureDecorator")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "3A799B3E01E9"
- compartment (object Compartment
- Parent_View @10
- location (665, 386)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 16777215
- anchor 2
- nlines 12
- max_width 700)
- width 832
- height 686
- annotation 8
- autoResize TRUE)
- (object InheritTreeView "" @11
- location (1072, 1089)
- line_color 3342489
- fill_color 13434879
- supplier @10
- vertices (list Points
- (1072, 1089)
- (1072, 999)))
- (object InheritView "" @12
- stereotype TRUE
- line_color 3342489
- quidu "3DFA185900DC"
- client @10
- supplier @7
- line_style 0)
- (object AssociationViewNew "$UNNAMED$0" @13
- location (1682, 401)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- stereotype TRUE
- line_color 3342489
- quidu "3A79CF6C0378"
- roleview_list (list RoleViews
- (object RoleView "attributes" @14
- Parent_View @13
- location (626, -63)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @15
- Parent_View @14
- location (1747, 309)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 207
- justify 0
- label "+attributes"
- pctDist 0.457012
- height 62
- orientation 0)
- stereotype TRUE
- line_color 3342489
- quidu "3A79CF6E00BE"
- client @13
- supplier @9
- line_style 0
- label (object SegLabel @16
- Parent_View @14
- location (1812, 396)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "0..n"
- pctDist 0.584653
- height 45
- orientation 1))
- (object RoleView "$UNNAMED$1" @17
- Parent_View @13
- location (626, -63)
- stereotype TRUE
- line_color 3342489
- quidu "3A79CF6E00C8"
- client @13
- supplier @10
- line_style 0)))
- (object ClassView "Class" "Logical View::beaninfo::FeatureAttributeValue" @18
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (3456, 176)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @18
- location (2683, 117)
- fill_color 13434879
- nlines 1
- max_width 1546
- justify 0
- label "FeatureAttributeValue")
- stereotype (object ItemLabel
- Parent_View @18
- location (2683, 67)
- fill_color 13434879
- anchor 10
- nlines 1
- max_width 1546
- justify 0
- label "<<datatype>>")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "41E582F800BB"
- compartment (object Compartment
- Parent_View @18
- location (2683, 178)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 13434879
- anchor 2
- nlines 2
- max_width 1493)
- width 1564
- height 242
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::beaninfo::ImplicitItem" @19
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (2288, 656)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @19
- location (1815, 547)
- fill_color 13434879
- nlines 1
- max_width 946
- justify 0
- label "ImplicitItem")
- stereotype (object ItemLabel
- Parent_View @19
- location (1815, 497)
- fill_color 13434879
- anchor 10
- nlines 1
- max_width 946
- justify 0
- label "<<enumeration>>")
- icon_style "Icon"
- line_color 3342489
- fill_color 12615935
- quidu "41E59E5D0296"
- compartment (object Compartment
- Parent_View @19
- location (1815, 608)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 16777215
- anchor 2
- nlines 4
- max_width 812)
- width 964
- height 342
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::java::JavaParameter" @20
- ShowCompartmentStereotypes TRUE
- location (3712, 1776)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @20
- location (3533, 1702)
- fill_color 13434879
- nlines 1
- max_width 358
- justify 0
- label "JavaParameter")
- icon_style "Icon"
- line_color 3342489
- fill_color 16777088
- quidu "3654AD780280"
- width 376
- height 172
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::beaninfo::ParameterDecorator" @21
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (4272, 1344)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @21
- location (4039, 1263)
- fill_color 13434879
- nlines 1
- max_width 466
- justify 0
- label "ParameterDecorator")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "3A79D9C20304"
- compartment (object Compartment
- Parent_View @21
- location (4039, 1324)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 16777215
- anchor 2
- nlines 2
- max_width 303)
- width 484
- height 186
- annotation 8
- autoResize TRUE)
- (object AssociationViewNew "$UNNAMED$26" @22
- location (3986, 1563)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- stereotype TRUE
- line_color 3342489
- quidu "3C9A6EDD02C2"
- roleview_list (list RoleViews
- (object RoleView "parameter" @23
- Parent_View @22
- location (1074, -37)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @24
- Parent_View @23
- location (3948, 1643)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 215
- justify 0
- label "+parameter"
- pctDist 0.386598
- height 41
- orientation 0)
- stereotype TRUE
- line_color 3342489
- quidu "3C9A6EDE01FB"
- client @22
- supplier @20
- line_style 0
- label (object SegLabel @25
- Parent_View @23
- location (3888, 1572)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "0..1"
- pctDist 0.412371
- height 54
- orientation 1))
- (object RoleView "$UNNAMED$27" @26
- Parent_View @22
- location (1074, -37)
- stereotype TRUE
- line_color 3342489
- quidu "3C9A6EDE0205"
- client @22
- supplier @21
- line_style 0)))
- (object InheritView "" @27
- stereotype TRUE
- line_color 3342489
- quidu "3A79DEBB01C4"
- client @21
- supplier @10
- line_style 3
- origin_attachment (4065, 1251)
- terminal_attachment (4065, 1089)
- drawSupplier @11)
- (object ClassView "Class" "Logical View::beaninfo::MethodDecorator" @28
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (3120, 1344)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @28
- location (2770, 1263)
- fill_color 13434879
- nlines 1
- max_width 700
- justify 0
- label "MethodDecorator")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "3A79D35E0027"
- compartment (object Compartment
- Parent_View @28
- location (2770, 1324)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 16777215
- anchor 2
- nlines 2
- max_width 603)
- width 718
- height 186
- annotation 8
- autoResize TRUE)
- (object InheritView "" @29
- stereotype TRUE
- line_color 3342489
- quidu "3A79DEA603E1"
- client @28
- supplier @10
- line_style 3
- origin_attachment (3101, 1250)
- terminal_attachment (3101, 1089)
- drawSupplier @11)
- (object AssociationViewNew "$UNNAMED$12" @30
- location (3722, 1474)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- stereotype TRUE
- line_color 3342489
- quidu "3A79DA1A02F7"
- roleview_list (list RoleViews
- (object RoleView "parameterDescriptors" @31
- Parent_View @30
- location (2250, 578)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @32
- Parent_View @31
- location (3798, 1410)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 427
- justify 0
- label "+parameterDescriptors"
- pctDist 0.308262
- height 69
- orientation 0)
- stereotype TRUE
- line_color 3342489
- quidu "3A79DA1C0231"
- client @30
- supplier @21
- vertices (list Points
- (3722, 1474)
- (3781, 1487)
- (4029, 1413))
- line_style 0
- label (object SegLabel @33
- Parent_View @31
- location (3963, 1475)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "0..n"
- pctDist 0.745977
- height 41
- orientation 1))
- (object RoleView "$UNNAMED$13" @34
- Parent_View @30
- location (2250, 578)
- stereotype TRUE
- line_color 3342489
- quidu "3A79DA1C0232"
- client @30
- supplier @28
- line_style 0)))
- (object AssociationViewNew "$UNNAMED$28" @35
- location (3793, 1257)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- stereotype TRUE
- line_color 3342489
- quidu "41F016E7002E"
- roleview_list (list RoleViews
- (object RoleView "serParmDesc" @36
- Parent_View @35
- location (673, -87)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @37
- Parent_View @36
- location (3942, 1235)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 285
- justify 0
- label "-serParmDesc"
- pctDist 0.595893
- height 48
- orientation 0)
- stereotype TRUE
- line_color 3342489
- quidu "41F016E802A7"
- client @35
- supplier @21
- line_style 0
- label (object SegLabel @38
- Parent_View @36
- location (3997, 1348)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "0..n"
- pctDist 0.904386
- height 54
- orientation 1))
- (object RoleView "$UNNAMED$29" @39
- Parent_View @35
- location (673, -87)
- stereotype TRUE
- line_color 3342489
- quidu "41F016E802B1"
- client @35
- supplier @28
- vertices (list Points
- (3793, 1257)
- (3734, 1247)
- (3479, 1286))
- line_style 0)))
- (object ClassView "Class" "Logical View::beaninfo::IndexedPropertyDecorator" @40
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (752, 2288)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @40
- location (460, 2237)
- fill_color 13434879
- nlines 1
- max_width 584
- justify 0
- label "IndexedPropertyDecorator")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "3A79DC450309"
- width 602
- height 126
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::beaninfo::BeanDecorator" @41
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (512, 1456)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @41
- location (7, 1150)
- fill_color 13434879
- nlines 1
- max_width 1010
- justify 0
- label "BeanDecorator")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "3A79D0DF02D1"
- compartment (object Compartment
- Parent_View @41
- location (7, 1211)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 16777215
- anchor 2
- nlines 11
- max_width 868)
- width 1028
- height 636
- annotation 8
- autoResize TRUE)
- (object InheritView "" @42
- stereotype TRUE
- line_color 3342489
- quidu "3A79DE8E007F"
- client @41
- supplier @10
- line_style 3
- origin_attachment (381, 1137)
- terminal_attachment (381, 1089)
- drawSupplier @11)
- (object ClassView "Class" "Logical View::java::Method" @43
- ShowCompartmentStereotypes TRUE
- SuppressAttribute TRUE
- IncludeAttribute TRUE
- location (2592, 3264)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @43
- location (2492, 3190)
- fill_color 13434879
- nlines 1
- max_width 200
- justify 0
- label "Method")
- icon_style "Icon"
- line_color 3342489
- fill_color 16776960
- quidu "3654AE910271"
- width 218
- height 172
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::java::Method" @44
- ShowCompartmentStereotypes TRUE
- SuppressAttribute TRUE
- location (1664, 2096)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @44
- location (1564, 2022)
- fill_color 13434879
- nlines 1
- max_width 200
- justify 0
- label "Method")
- icon_style "Icon"
- line_color 3342489
- fill_color 16776960
- quidu "3654AE910271"
- width 218
- height 172
- annotation 8
- autoResize TRUE)
- (object AssociationViewNew "$UNNAMED$20" @45
- location (1315, 2289)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- stereotype TRUE
- line_color 3342489
- quidu "3A79DE34036F"
- roleview_list (list RoleViews
- (object RoleView "indexedReadMethod" @46
- Parent_View @45
- location (563, 401)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @47
- Parent_View @46
- location (1421, 2275)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 404
- justify 0
- label "+indexedReadMethod"
- pctDist 0.385248
- height 14
- orientation 1)
- stereotype TRUE
- line_color 3342489
- quidu "3A79DE3503CA"
- client @45
- supplier @44
- vertices (list Points
- (1315, 2289)
- (1375, 2289)
- (1554, 2168))
- line_style 0
- label (object SegLabel @48
- Parent_View @46
- location (1249, 2238)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "0..1"
- pctDist -0.240775
- height 52
- orientation 0))
- (object RoleView "$UNNAMED$21" @49
- Parent_View @45
- location (563, 401)
- stereotype TRUE
- line_color 3342489
- quidu "3A79DE3503DE"
- client @45
- supplier @40
- line_style 0)))
- (object AssociationViewNew "$UNNAMED$22" @50
- location (1443, 2361)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- stereotype TRUE
- line_color 3342489
- quidu "3A79DE540180"
- roleview_list (list RoleViews
- (object RoleView "indexedWriteMethod" @51
- Parent_View @50
- location (691, 473)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @52
- Parent_View @51
- location (1597, 2374)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 409
- justify 0
- label "+indexedWriteMethod"
- pctDist 0.501177
- height 37
- orientation 0)
- stereotype TRUE
- line_color 3342489
- quidu "3A79DE5503D0"
- client @50
- supplier @44
- vertices (list Points
- (1443, 2361)
- (1632, 2382)
- (1654, 2182))
- line_style 0
- label (object SegLabel @53
- Parent_View @51
- location (1639, 2306)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "0..1"
- pctDist 0.681972
- height 2
- orientation 0))
- (object RoleView "$UNNAMED$23" @54
- Parent_View @50
- location (691, 473)
- stereotype TRUE
- line_color 3342489
- quidu "3A79DE5503E4"
- client @50
- supplier @40
- line_style 0)))
- (object ClassView "Class" "Logical View::java::JavaClass" @55
- ShowCompartmentStereotypes TRUE
- SuppressAttribute TRUE
- location (240, 2192)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @55
- location (106, 2118)
- fill_color 13434879
- nlines 1
- max_width 268
- justify 0
- label "JavaClass")
- icon_style "Icon"
- line_color 3342489
- fill_color 16776960
- quidu "36549FCC00FA"
- width 286
- height 172
- annotation 8
- autoResize TRUE)
- (object AssociationViewNew "$UNNAMED$2" @56
- location (332, 1939)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- stereotype TRUE
- line_color 3342489
- quidu "3A79D1350248"
- roleview_list (list RoleViews
- (object RoleView "customizerClass" @57
- Parent_View @56
- location (92, 1043)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @58
- Parent_View @57
- location (298, 2044)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 328
- justify 0
- label "+customizerClass"
- pctDist 0.631674
- height 4
- orientation 0)
- stereotype TRUE
- line_color 3342489
- quidu "3A79D13601D2"
- client @56
- supplier @55
- line_style 0
- label (object SegLabel @59
- Parent_View @57
- location (326, 1989)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "0..1"
- pctDist 0.284188
- height 12
- orientation 0))
- (object RoleView "$UNNAMED$3" @60
- Parent_View @56
- location (92, 1043)
- stereotype TRUE
- line_color 3342489
- quidu "3A79D13601E6"
- client @56
- supplier @41
- line_style 0)))
- (object ClassView "Class" "Logical View::beaninfo::MethodProxy" @61
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (2560, 2768)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @61
- location (2398, 2717)
- fill_color 13434879
- nlines 1
- max_width 324
- justify 0
- label "MethodProxy")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "3A8984C901C3"
- width 342
- height 126
- annotation 8
- autoResize TRUE)
- (object AttachView "" @62
- stereotype TRUE
- line_color 3342489
- client @2
- supplier @61
- line_style 0)
- (object AssociationViewNew "$UNNAMED$24" @63
- location (2575, 3004)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- stereotype TRUE
- line_color 3342489
- quidu "3A89865B01D5"
- roleview_list (list RoleViews
- (object RoleView "method" @64
- Parent_View @63
- location (271, 1084)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @65
- Parent_View @64
- location (2539, 3072)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 162
- justify 0
- label "+method"
- pctDist 0.376068
- height 41
- orientation 1)
- stereotype TRUE
- line_color 3342489
- quidu "3A89865C01AE"
- client @63
- supplier @43
- line_style 0
- label (object SegLabel @66
- Parent_View @64
- location (2639, 3158)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "1"
- pctDist 0.900000
- height 54
- orientation 0))
- (object RoleView "$UNNAMED$25" @67
- Parent_View @63
- location (271, 1084)
- stereotype TRUE
- line_color 3342489
- quidu "3A89865C01CC"
- client @63
- supplier @61
- line_style 0)))
- (object ClassView "Class" "Logical View::beaninfo::EventSetDecorator" @68
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (2256, 1408)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @68
- location (1803, 1252)
- fill_color 13434879
- nlines 2
- max_width 906
- justify 0
- label "EventSetDecorator")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "3A79D1D2004F"
- compartment (object Compartment
- Parent_View @68
- location (1803, 1313)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 16777215
- anchor 2
- nlines 4
- max_width 778)
- width 924
- height 336
- annotation 8
- autoResize TRUE)
- (object AssociationViewNew "$UNNAMED$8" @69
- location (1102, 1855)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- stereotype TRUE
- line_color 3342489
- quidu "3A79D4A80158"
- roleview_list (list RoleViews
- (object RoleView "listenerType" @70
- Parent_View @69
- location (238, 959)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @71
- Parent_View @70
- location (676, 2057)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 259
- justify 0
- label "+listenerType"
- pctDist 0.610677
- height 33
- orientation 0)
- stereotype TRUE
- line_color 3342489
- quidu "3A79D4AA038B"
- client @69
- supplier @55
- line_style 0
- label (object SegLabel @72
- Parent_View @70
- location (824, 2052)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "1"
- pctDist 0.429590
- height 83
- orientation 0))
- (object RoleView "$UNNAMED$9" @73
- Parent_View @69
- location (238, 959)
- stereotype TRUE
- line_color 3342489
- quidu "3A79D4AA03B4"
- client @69
- supplier @68
- line_style 0)))
- (object AssociationViewNew "$UNNAMED$4" @74
- location (1700, 1732)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- stereotype TRUE
- line_color 3342489
- quidu "3A79D3080128"
- roleview_list (list RoleViews
- (object RoleView "addListenerMethod" @75
- Parent_View @74
- location (836, 836)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @76
- Parent_View @75
- location (1564, 1899)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 385
- justify 0
- label "+addListenerMethod"
- pctDist 0.627386
- height 90
- orientation 1)
- stereotype TRUE
- line_color 3342489
- quidu "3A79D3090346"
- client @74
- supplier @44
- vertices (list Points
- (1700, 1732)
- (1647, 1763)
- (1658, 2009))
- line_style 0
- label (object SegLabel @77
- Parent_View @75
- location (1702, 1914)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "1"
- pctDist 0.694068
- height 48
- orientation 0))
- (object RoleView "$UNNAMED$5" @78
- Parent_View @74
- location (836, 836)
- stereotype TRUE
- line_color 3342489
- quidu "3A79D309035A"
- client @74
- supplier @68
- line_style 0)))
- (object AssociationViewNew "$UNNAMED$10" @79
- location (1924, 1792)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- stereotype TRUE
- line_color 3342489
- quidu "3A79D4DF020B"
- roleview_list (list RoleViews
- (object RoleView "removeListenerMethod" @80
- Parent_View @79
- location (1060, 896)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @81
- Parent_View @80
- location (1905, 1824)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 448
- justify 0
- label "+removeListenerMethod"
- pctDist 0.129058
- height 6
- orientation 0)
- stereotype TRUE
- line_color 3342489
- quidu "3A79D4E10395"
- client @79
- supplier @44
- line_style 0
- label (object SegLabel @82
- Parent_View @80
- location (1798, 2022)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "1"
- pctDist 0.900000
- height 54
- orientation 0))
- (object RoleView "$UNNAMED$11" @83
- Parent_View @79
- location (1060, 896)
- stereotype TRUE
- line_color 3342489
- quidu "3A79D4E103A9"
- client @79
- supplier @68
- line_style 0)))
- (object InheritView "" @84
- stereotype TRUE
- line_color 3342489
- quidu "3A79DEA200EC"
- client @68
- supplier @10
- line_style 3
- origin_attachment (2238, 1239)
- terminal_attachment (2238, 1089)
- drawSupplier @11)
- (object AssociationViewNew "$UNNAMED$30" @85
- location (1161, 1934)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- stereotype TRUE
- line_color 3342489
- quidu "41F11E710387"
- roleview_list (list RoleViews
- (object RoleView "eventAdapterClass" @86
- Parent_View @85
- location (-1095, 526)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @87
- Parent_View @86
- location (688, 2144)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 367
- justify 0
- label "+eventAdapterClass"
- pctDist 0.629702
- height 10
- orientation 0)
- stereotype TRUE
- line_color 3342489
- quidu "41F11E730249"
- client @85
- supplier @55
- vertices (list Points
- (1161, 1934)
- (766, 2124)
- (383, 2172))
- line_style 0
- label (object SegLabel @88
- Parent_View @86
- location (471, 2200)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "0..1"
- pctDist 0.898257
- height 38
- orientation 0))
- (object RoleView "$UNNAMED$31" @89
- Parent_View @85
- location (-1095, 526)
- stereotype TRUE
- line_color 3342489
- quidu "41F11E73025D"
- client @85
- supplier @68
- line_style 0)))
- (object AssociationViewNew "$UNNAMED$6" @90
- location (2419, 2140)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- stereotype TRUE
- line_color 3342489
- quidu "3A79D3E10364"
- roleview_list (list RoleViews
- (object RoleView "listenerMethods" @91
- Parent_View @90
- location (1555, 1244)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @92
- Parent_View @91
- location (2501, 2590)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 324
- justify 0
- label "+listenerMethods"
- pctDist 0.790503
- height 19
- orientation 1)
- stereotype TRUE
- line_color 3342489
- quidu "3A79D3E6007D"
- client @90
- supplier @61
- line_style 0
- label (object SegLabel @93
- Parent_View @91
- location (2491, 2524)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "1..n"
- pctDist 0.676961
- height 14
- orientation 1))
- (object RoleView "$UNNAMED$7" @94
- Parent_View @90
- location (1555, 1244)
- stereotype TRUE
- line_color 3342489
- quidu "3A79D3E60091"
- client @90
- supplier @68
- line_style 0)))
- (object AttachView "" @95
- stereotype TRUE
- line_color 3342489
- client @1
- supplier @90
- line_style 0)
- (object AssociationViewNew "$UNNAMED$32" @96
- location (2283, 2216)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- stereotype TRUE
- line_color 3342489
- quidu "41F1278A01A5"
- roleview_list (list RoleViews
- (object RoleView "serListMthd" @97
- Parent_View @96
- location (27, 808)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @98
- Parent_View @97
- location (2262, 2707)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 229
- justify 0
- label "-serListMthd"
- pctDist 0.765012
- height 39
- orientation 1)
- stereotype TRUE
- line_color 3342489
- quidu "41F1278B021F"
- client @96
- supplier @61
- vertices (list Points
- (2283, 2216)
- (2303, 2771)
- (2388, 2769))
- line_style 0
- label (object SegLabel @99
- Parent_View @97
- location (2170, 2642)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "1..n"
- pctDist 0.657692
- height 129
- orientation 1))
- (object RoleView "$UNNAMED$33" @100
- Parent_View @96
- location (27, 808)
- stereotype TRUE
- line_color 3342489
- quidu "41F1278B0229"
- client @96
- supplier @68
- line_style 0)))
- (object InheritView "" @101
- stereotype TRUE
- line_color 3342489
- quidu "3DFA19B600DE"
- client @61
- supplier @8
- line_style 0)
- (object AttachView "" @102
- stereotype TRUE
- line_color 3342489
- client @6
- supplier @4
- line_style 0)
- (object AttachView "" @103
- stereotype TRUE
- line_color 3342489
- client @6
- supplier @68
- vertices (list Points
- (1878, 2808)
- (2016, 2021)
- (2189, 1576))
- line_style 0)
- (object ClassView "Class" "Logical View::beaninfo::PropertyDecorator" @104
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- ShowOperationSignature TRUE
- location (1424, 1408)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @104
- location (1068, 1177)
- fill_color 13434879
- nlines 1
- max_width 712
- justify 0
- label "PropertyDecorator")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "3A79DA68010E"
- compartment (object Compartment
- Parent_View @104
- location (1068, 1238)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 16777215
- anchor 2
- nlines 8
- max_width 603)
- width 730
- height 486
- annotation 8
- autoResize TRUE)
- (object InheritView "" @105
- stereotype TRUE
- line_color 3342489
- quidu "3A79DE840388"
- client @40
- supplier @104
- line_style 0)
- (object InheritView "" @106
- stereotype TRUE
- line_color 3342489
- quidu "3A79DE9702BD"
- client @104
- supplier @10
- line_style 3
- origin_attachment (1391, 1165)
- terminal_attachment (1391, 1089)
- drawSupplier @11)
- (object AssociationViewNew "$UNNAMED$16" @107
- location (1029, 1973)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- stereotype TRUE
- line_color 3342489
- quidu "3A79DBBD0000"
- roleview_list (list RoleViews
- (object RoleView "readMethod" @108
- Parent_View @107
- location (261, 1077)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @109
- Parent_View @108
- location (1319, 2035)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 254
- justify 0
- label "+readMethod"
- pctDist 0.553714
- height 7
- orientation 1)
- stereotype TRUE
- line_color 3342489
- quidu "3A79DBBF0071"
- client @107
- supplier @44
- line_style 0
- label (object SegLabel @110
- Parent_View @108
- location (1474, 2131)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "0..1"
- pctDist 0.873365
- height 72
- orientation 1))
- (object RoleView "$UNNAMED$17" @111
- Parent_View @107
- location (261, 1077)
- stereotype TRUE
- line_color 3342489
- quidu "3A79DBBF0085"
- client @107
- supplier @104
- vertices (list Points
- (1029, 1973)
- (909, 1950)
- (1192, 1651))
- line_style 0)))
- (object AssociationViewNew "$UNNAMED$18" @112
- location (1035, 2105)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- stereotype TRUE
- line_color 3342489
- quidu "3A79DBDF02D0"
- roleview_list (list RoleViews
- (object RoleView "writeMethod" @113
- Parent_View @112
- location (267, 1209)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @114
- Parent_View @113
- location (1325, 2090)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 254
- justify 0
- label "+writeMethod"
- pctDist 0.560930
- height 12
- orientation 0)
- stereotype TRUE
- line_color 3342489
- quidu "3A79DBE101F7"
- client @112
- supplier @44
- line_style 0
- label (object SegLabel @115
- Parent_View @113
- location (1503, 2056)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "0..1"
- pctDist 0.901632
- height 43
- orientation 0))
- (object RoleView "$UNNAMED$19" @116
- Parent_View @112
- location (267, 1209)
- stereotype TRUE
- line_color 3342489
- quidu "3A79DBE1020B"
- client @112
- supplier @104
- vertices (list Points
- (1035, 2105)
- (975, 2106)
- (1265, 1651))
- line_style 0)))
- (object AssociationViewNew "$UNNAMED$14" @117
- location (714, 1877)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- stereotype TRUE
- line_color 3342489
- quidu "3A79DB0B0339"
- roleview_list (list RoleViews
- (object RoleView "propertyEditorClass" @118
- Parent_View @117
- location (-54, 981)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @119
- Parent_View @118
- location (670, 1937)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 392
- justify 0
- label "+propertyEditorClass"
- pctDist 0.166430
- height 26
- orientation 0)
- stereotype TRUE
- line_color 3342489
- quidu "3A79DB0E013F"
- client @117
- supplier @55
- line_style 0
- label (object SegLabel @120
- Parent_View @118
- location (952, 1870)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "0..1"
- pctDist -0.490182
- height 126
- orientation 0))
- (object RoleView "$UNNAMED$15" @121
- Parent_View @117
- location (-54, 981)
- stereotype TRUE
- line_color 3342489
- quidu "3A79DB0E0171"
- client @117
- supplier @104
- line_style 0)))
- (object ClassView "Class" "Logical View::java::Field" @122
- ShowCompartmentStereotypes TRUE
- location (816, 2672)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @122
- location (720, 2597)
- fill_color 13434879
- nlines 1
- max_width 192
- justify 0
- label "Field")
- icon_style "Icon"
- line_color 3342489
- fill_color 16777088
- quidu "3654AF8F0280"
- width 210
- height 174
- annotation 8
- autoResize TRUE)
- (object AssociationViewNew "$UNNAMED$34" @123
- location (1193, 2164)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- stereotype TRUE
- line_color 3342489
- quidu "4207D83F01DA"
- roleview_list (list RoleViews
- (object RoleView "field" @124
- Parent_View @123
- location (-215, 756)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @125
- Parent_View @124
- location (937, 2514)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 112
- justify 0
- label "+field"
- pctDist 0.892515
- height 57
- orientation 1)
- stereotype TRUE
- line_color 3342489
- quidu "4207D8400290"
- client @123
- supplier @122
- vertices (list Points
- (1193, 2164)
- (1103, 2463)
- (921, 2593))
- line_style 0
- label (object SegLabel @126
- Parent_View @124
- location (1042, 2560)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "0..1"
- pctDist 0.780986
- height 43
- orientation 0))
- (object RoleView "$UNNAMED$35" @127
- Parent_View @123
- location (-215, 756)
- stereotype TRUE
- line_color 3342489
- quidu "4207D8400292"
- client @123
- supplier @104
- line_style 0)))))))
diff --git a/plugins/org.eclipse.jem.beaninfo/rose/introspect.mdl b/plugins/org.eclipse.jem.beaninfo/rose/introspect.mdl
deleted file mode 100644
index a71c024de..000000000
--- a/plugins/org.eclipse.jem.beaninfo/rose/introspect.mdl
+++ /dev/null
@@ -1,5224 +0,0 @@
-
-(object Petal
- version 47
- _written "Rose 8.0.0303.1400"
- charSet 0)
-
-(object Design "Logical View"
- is_unit TRUE
- is_loaded TRUE
- attributes (list Attribute_Set
- (object Attribute
- tool "Java"
- name "IDE"
- value "Internal Editor")
- (object Attribute
- tool "Java"
- name "UserDefineTagName1"
- value "")
- (object Attribute
- tool "Java"
- name "UserDefineTagText1"
- value "")
- (object Attribute
- tool "Java"
- name "UserDefineTagApply1"
- value "")
- (object Attribute
- tool "Java"
- name "UserDefineTagName2"
- value "")
- (object Attribute
- tool "Java"
- name "UserDefineTagText2"
- value "")
- (object Attribute
- tool "Java"
- name "UserDefineTagApply2"
- value "")
- (object Attribute
- tool "Java"
- name "UserDefineTagName3"
- value "")
- (object Attribute
- tool "Java"
- name "UserDefineTagText3"
- value "")
- (object Attribute
- tool "Java"
- name "UserDefineTagApply3"
- value ""))
- quid "3A79EBA50331"
- defaults (object defaults
- rightMargin 0.250000
- leftMargin 0.250000
- topMargin 0.250000
- bottomMargin 0.500000
- pageOverlap 0.250000
- clipIconLabels TRUE
- autoResize TRUE
- snapToGrid TRUE
- gridX 16
- gridY 16
- defaultFont (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- showMessageNum 1
- showClassOfObject TRUE
- notation "Unified")
- root_usecase_package (object Class_Category "Use Case View"
- quid "3A7999AD0297"
- exportControl "Public"
- global TRUE
- logical_models (list unit_reference_list)
- logical_presentations (list unit_reference_list
- (object UseCaseDiagram "Main"
- quid "3A7999B702F6"
- title "Main"
- zoom 100
- max_height 28350
- max_width 21600
- origin_x 0
- origin_y 0
- items (list diagram_item_list))))
- root_category (object Class_Category "Logical View"
- quid "3A7999AD028E"
- exportControl "Public"
- global TRUE
- subsystem "Component View"
- quidu "3A7999AD02A1"
- logical_models (list unit_reference_list
- (object Class_Category "ecore"
- is_unit TRUE
- is_loaded FALSE
- file_name "$WorkspaceRoot\\org.eclipse.emf.ecore\\model\\org.eclipse.emf.Ecore.cat"
- quid "39A5ED04004E")
- (object Class_Category "java"
- is_unit TRUE
- is_loaded FALSE
- file_name "$WorkspaceRoot\\org.eclipse.jem\\rose\\edocjava2.cat"
- quid "36549F2C004E")
- (object Class_Category "beaninfo"
- is_unit TRUE
- is_loaded FALSE
- file_name "$WorkspaceRoot\\org.eclipse.jem.beaninfo\\rose\\beaninfo.cat"
- quid "3A799ABB0353"))
- logical_presentations (list unit_reference_list
- (object ClassDiagram "Main"
- quid "3A7999B70309"
- title "Main"
- zoom 100
- max_height 28350
- max_width 21600
- origin_x 0
- origin_y 0
- items (list diagram_item_list
- (object CategoryView "Logical View::beaninfo" @1
- location (272, 224)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @1
- location (128, 140)
- fill_color 13434879
- nlines 2
- max_width 288
- justify 0
- label "beaninfo")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "3A799ABB0353"
- width 300
- height 180)))
- (object ClassDiagram "Dependencies (Don't edit)"
- quid "3B869C9102E4"
- title "Dependencies (Don't edit)"
- zoom 100
- max_height 28350
- max_width 21600
- origin_x 0
- origin_y 0
- items (list diagram_item_list
- (object CategoryView "Logical View::ecore" @2
- location (256, 240)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @2
- location (112, 156)
- fill_color 13434879
- nlines 2
- max_width 288
- justify 0
- label "ecore")
- icon_style "Icon"
- line_color 3342489
- fill_color 16776960
- quidu "39A5ED04004E"
- width 300
- height 180)
- (object CategoryView "Logical View::java" @3
- location (896, 256)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @3
- location (749, 222)
- fill_color 13434879
- nlines 2
- max_width 294
- justify 0
- label "java")
- stereotype (object ItemLabel
- Parent_View @3
- location (749, 172)
- fill_color 13434879
- anchor 10
- nlines 1
- max_width 294
- justify 0
- label "<<metamodel>>")
- icon_style "Icon"
- line_color 3342489
- fill_color 16776960
- quidu "36549F2C004E"
- width 306
- height 180)
- (object NoteView @4
- location (688, 688)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @4
- location (280, 532)
- fill_color 13434879
- nlines 7
- max_width 780
- label "These are packages (cat files) that this model depends on. They must not be edited in here. They are only be edited by the model that owns them.")
- line_color 3342489
- fill_color 16744703
- width 840
- height 325)))))
- root_subsystem (object SubSystem "Component View"
- quid "3A7999AD02A1"
- physical_models (list unit_reference_list)
- physical_presentations (list unit_reference_list
- (object Module_Diagram "Main"
- quid "3A7999B702F5"
- title "Main"
- zoom 100
- max_height 28350
- max_width 21600
- origin_x 0
- origin_y 0
- items (list diagram_item_list))))
- process_structure (object Processes
- quid "3A7999AD02A2"
- ProcsNDevs (list
- (object Process_Diagram "Deployment View"
- quid "3A7999AD02A4"
- title "Deployment View"
- zoom 100
- max_height 28350
- max_width 21600
- origin_x 0
- origin_y 0
- items (list diagram_item_list))))
- properties (object Properties
- attributes (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "default__Category"
- value (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "prefix"
- value "")
- (object Attribute
- tool "Ecore"
- name "packageName"
- value "")
- (object Attribute
- tool "Ecore"
- name "basePackage"
- value "")
- (object Attribute
- tool "Ecore"
- name "nsPrefix"
- value "")
- (object Attribute
- tool "Ecore"
- name "nsURI"
- value "")
- (object Attribute
- tool "Ecore"
- name "annotation"
- value "")))
- (object Attribute
- tool "Ecore"
- name "default__Class"
- value (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "classifierName"
- value "")
- (object Attribute
- tool "Ecore"
- name "constraints"
- value "")
- (object Attribute
- tool "Ecore"
- name "xmlName"
- value "")
- (object Attribute
- tool "Ecore"
- name "xmlContentKind"
- value ("ContentKind" 0))
- (object Attribute
- tool "Ecore"
- name "ContentKind"
- value (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "Unspecified"
- value 0)
- (object Attribute
- tool "Ecore"
- name "Empty"
- value 1)
- (object Attribute
- tool "Ecore"
- name "Simple"
- value 2)
- (object Attribute
- tool "Ecore"
- name "Mixed"
- value 3)
- (object Attribute
- tool "Ecore"
- name "ElementOnly"
- value 4)))
- (object Attribute
- tool "Ecore"
- name "annotation"
- value "")))
- (object Attribute
- tool "Ecore"
- name "default__Operation"
- value (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "operationName"
- value "")
- (object Attribute
- tool "Ecore"
- name "isUnique"
- value TRUE)
- (object Attribute
- tool "Ecore"
- name "annotation"
- value "")))
- (object Attribute
- tool "Ecore"
- name "default__Attribute"
- value (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "attributeName"
- value "")
- (object Attribute
- tool "Ecore"
- name "isTransient"
- value FALSE)
- (object Attribute
- tool "Ecore"
- name "isVolatile"
- value FALSE)
- (object Attribute
- tool "Ecore"
- name "isChangeable"
- value TRUE)
- (object Attribute
- tool "Ecore"
- name "isUnsettable"
- value FALSE)
- (object Attribute
- tool "Ecore"
- name "isUnique"
- value TRUE)
- (object Attribute
- tool "Ecore"
- name "isID"
- value FALSE)
- (object Attribute
- tool "Ecore"
- name "visibility"
- value ("VisibilityKind" 0))
- (object Attribute
- tool "Ecore"
- name "VisibilityKind"
- value (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "Unspecified"
- value 0)
- (object Attribute
- tool "Ecore"
- name "None"
- value 1)
- (object Attribute
- tool "Ecore"
- name "Read-only"
- value 2)
- (object Attribute
- tool "Ecore"
- name "Read-write"
- value 3)
- (object Attribute
- tool "Ecore"
- name "Read-only unsettable"
- value 4)
- (object Attribute
- tool "Ecore"
- name "Read-write unsettable"
- value 5)))
- (object Attribute
- tool "Ecore"
- name "xmlName"
- value "")
- (object Attribute
- tool "Ecore"
- name "xmlNamespace"
- value "")
- (object Attribute
- tool "Ecore"
- name "xmlFeatureKind"
- value ("FeatureKind" 0))
- (object Attribute
- tool "Ecore"
- name "FeatureKind"
- value (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "Unspecified"
- value 0)
- (object Attribute
- tool "Ecore"
- name "Simple"
- value 1)
- (object Attribute
- tool "Ecore"
- name "Attribute"
- value 2)
- (object Attribute
- tool "Ecore"
- name "Element"
- value 4)))
- (object Attribute
- tool "Ecore"
- name "annotation"
- value "")))
- (object Attribute
- tool "Ecore"
- name "default__Role"
- value (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "referenceName"
- value "")
- (object Attribute
- tool "Ecore"
- name "isTransient"
- value FALSE)
- (object Attribute
- tool "Ecore"
- name "isVolatile"
- value FALSE)
- (object Attribute
- tool "Ecore"
- name "isChangeable"
- value TRUE)
- (object Attribute
- tool "Ecore"
- name "isUnsettable"
- value FALSE)
- (object Attribute
- tool "Ecore"
- name "isResolveProxies"
- value TRUE)
- (object Attribute
- tool "Ecore"
- name "visibility"
- value ("VisibilityKind" 0))
- (object Attribute
- tool "Ecore"
- name "VisibilityKind"
- value (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "Unspecified"
- value 0)
- (object Attribute
- tool "Ecore"
- name "None"
- value 1)
- (object Attribute
- tool "Ecore"
- name "Read-only"
- value 2)
- (object Attribute
- tool "Ecore"
- name "Read-write"
- value 3)
- (object Attribute
- tool "Ecore"
- name "Read-only unsettable"
- value 4)
- (object Attribute
- tool "Ecore"
- name "Read-write unsettable"
- value 5)))
- (object Attribute
- tool "Ecore"
- name "xmlName"
- value "")
- (object Attribute
- tool "Ecore"
- name "xmlNamespace"
- value "")
- (object Attribute
- tool "Ecore"
- name "xmlFeatureKind"
- value ("FeatureKind" 0))
- (object Attribute
- tool "Ecore"
- name "FeatureKind"
- value (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "Unspecified"
- value 0)
- (object Attribute
- tool "Ecore"
- name "Simple"
- value 1)
- (object Attribute
- tool "Ecore"
- name "Attribute"
- value 2)
- (object Attribute
- tool "Ecore"
- name "Element"
- value 4)))
- (object Attribute
- tool "Ecore"
- name "annotation"
- value "")))
- (object Attribute
- tool "Cplusplus"
- name "propertyId"
- value "809135966")
- (object Attribute
- tool "Cplusplus"
- name "default__Role"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "Synchronize"
- value TRUE)
- (object Attribute
- tool "Cplusplus"
- name "CodeName"
- value "")
- (object Attribute
- tool "Cplusplus"
- name "InitialValue"
- value "")))
- (object Attribute
- tool "Cplusplus"
- name "default__Inherit"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "Synchronize"
- value TRUE)))
- (object Attribute
- tool "Cplusplus"
- name "default__Module-Spec"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "Synchronize"
- value TRUE)
- (object Attribute
- tool "Cplusplus"
- name "RevEngRootDirectory"
- value "")
- (object Attribute
- tool "Cplusplus"
- name "RootPackage"
- value "C++ Reverse Engineered")
- (object Attribute
- tool "Cplusplus"
- name "RevEngDirectoriesAsPackages"
- value FALSE)
- (object Attribute
- tool "Cplusplus"
- name "HeaderFileExtension"
- value ".h")
- (object Attribute
- tool "Cplusplus"
- name "ImplementationFileExtension"
- value ".cpp")
- (object Attribute
- tool "Cplusplus"
- name "NewHeaderFileDirectory"
- value "")
- (object Attribute
- tool "Cplusplus"
- name "NewImplementationFileDirectory"
- value "")
- (object Attribute
- tool "Cplusplus"
- name "FileCapitalization"
- value ("FileCapitalizationSet" 0))
- (object Attribute
- tool "Cplusplus"
- name "CodeGenExtraDirectories"
- value ("CodeGenExtraDirectoriesSet" 0))
- (object Attribute
- tool "Cplusplus"
- name "StripClassPrefix"
- value "")
- (object Attribute
- tool "Cplusplus"
- name "UseTabs"
- value FALSE)
- (object Attribute
- tool "Cplusplus"
- name "TabWidth"
- value 8)
- (object Attribute
- tool "Cplusplus"
- name "IndentWidth"
- value 4)
- (object Attribute
- tool "Cplusplus"
- name "AccessIndentation"
- value -2)
- (object Attribute
- tool "Cplusplus"
- name "ModelIdCommentRules"
- value ("ModelIdCommentRulesSet" 1))
- (object Attribute
- tool "Cplusplus"
- name "PageWidth"
- value 80)
- (object Attribute
- tool "Cplusplus"
- name "ClassMemberOrder"
- value ("MemberOrderSet" 1))
- (object Attribute
- tool "Cplusplus"
- name "OneParameterPerLine"
- value FALSE)
- (object Attribute
- tool "Cplusplus"
- name "NamespaceBraceStyle"
- value ("BraceStyleSet" 2))
- (object Attribute
- tool "Cplusplus"
- name "ClassBraceStyle"
- value ("BraceStyleSet" 2))
- (object Attribute
- tool "Cplusplus"
- name "FunctionBraceStyle"
- value ("BraceStyleSet" 2))
- (object Attribute
- tool "Cplusplus"
- name "Copyright"
- value (value Text ""))
- (object Attribute
- tool "Cplusplus"
- name "InitialHeaderIncludes"
- value (value Text ""))
- (object Attribute
- tool "Cplusplus"
- name "InitialBodyIncludes"
- value (value Text ""))
- (object Attribute
- tool "Cplusplus"
- name "CodeGenExtraDirectoriesSet"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "None"
- value 0)
- (object Attribute
- tool "Cplusplus"
- name "Namespaces"
- value 1)
- (object Attribute
- tool "Cplusplus"
- name "Packages"
- value 2)))
- (object Attribute
- tool "Cplusplus"
- name "FileCapitalizationSet"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "Same as model"
- value 0)
- (object Attribute
- tool "Cplusplus"
- name "Lower case"
- value 1)
- (object Attribute
- tool "Cplusplus"
- name "Upper case"
- value 2)
- (object Attribute
- tool "Cplusplus"
- name "Lower case with underscores"
- value 3)))
- (object Attribute
- tool "Cplusplus"
- name "BraceStyleSet"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "B1"
- value 1)
- (object Attribute
- tool "Cplusplus"
- name "B2"
- value 2)
- (object Attribute
- tool "Cplusplus"
- name "B3"
- value 3)
- (object Attribute
- tool "Cplusplus"
- name "B4"
- value 4)
- (object Attribute
- tool "Cplusplus"
- name "B5"
- value 5)))
- (object Attribute
- tool "Cplusplus"
- name "MemberOrderSet"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "Public First"
- value 1)
- (object Attribute
- tool "Cplusplus"
- name "Private First"
- value 2)
- (object Attribute
- tool "Cplusplus"
- name "Order by kind"
- value 3)
- (object Attribute
- tool "Cplusplus"
- name "Unordered"
- value 4)))
- (object Attribute
- tool "Cplusplus"
- name "ModelIdCommentRulesSet"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "Code generation only"
- value 1)
- (object Attribute
- tool "Cplusplus"
- name "Code generation and reverse engineering"
- value 2)
- (object Attribute
- tool "Cplusplus"
- name "Never generate model IDs"
- value 3)))))
- (object Attribute
- tool "Cplusplus"
- name "default__Module-Body"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "Synchronize"
- value TRUE)
- (object Attribute
- tool "Cplusplus"
- name "RevEngRootDirectory"
- value "")
- (object Attribute
- tool "Cplusplus"
- name "RootPackage"
- value "C++ Reverse Engineered")
- (object Attribute
- tool "Cplusplus"
- name "RevEngDirectoriesAsPackages"
- value FALSE)
- (object Attribute
- tool "Cplusplus"
- name "HeaderFileExtension"
- value ".h")
- (object Attribute
- tool "Cplusplus"
- name "ImplementationFileExtension"
- value ".cpp")
- (object Attribute
- tool "Cplusplus"
- name "NewHeaderFileDirectory"
- value "")
- (object Attribute
- tool "Cplusplus"
- name "NewImplementationFileDirectory"
- value "")
- (object Attribute
- tool "Cplusplus"
- name "FileCapitalization"
- value ("FileCapitalizationSet" 0))
- (object Attribute
- tool "Cplusplus"
- name "CodeGenExtraDirectories"
- value ("CodeGenExtraDirectoriesSet" 0))
- (object Attribute
- tool "Cplusplus"
- name "StripClassPrefix"
- value "")
- (object Attribute
- tool "Cplusplus"
- name "UseTabs"
- value FALSE)
- (object Attribute
- tool "Cplusplus"
- name "TabWidth"
- value 8)
- (object Attribute
- tool "Cplusplus"
- name "IndentWidth"
- value 4)
- (object Attribute
- tool "Cplusplus"
- name "AccessIndentation"
- value -2)
- (object Attribute
- tool "Cplusplus"
- name "ModelIdCommentRules"
- value ("ModelIdCommentRulesSet" 1))
- (object Attribute
- tool "Cplusplus"
- name "PageWidth"
- value 80)
- (object Attribute
- tool "Cplusplus"
- name "ClassMemberOrder"
- value ("MemberOrderSet" 1))
- (object Attribute
- tool "Cplusplus"
- name "OneParameterPerLine"
- value FALSE)
- (object Attribute
- tool "Cplusplus"
- name "NamespaceBraceStyle"
- value ("BraceStyleSet" 2))
- (object Attribute
- tool "Cplusplus"
- name "ClassBraceStyle"
- value ("BraceStyleSet" 2))
- (object Attribute
- tool "Cplusplus"
- name "FunctionBraceStyle"
- value ("BraceStyleSet" 2))
- (object Attribute
- tool "Cplusplus"
- name "Copyright"
- value (value Text ""))
- (object Attribute
- tool "Cplusplus"
- name "InitialHeaderIncludes"
- value (value Text ""))
- (object Attribute
- tool "Cplusplus"
- name "InitialBodyIncludes"
- value (value Text ""))
- (object Attribute
- tool "Cplusplus"
- name "CodeGenExtraDirectoriesSet"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "None"
- value 0)
- (object Attribute
- tool "Cplusplus"
- name "Namespaces"
- value 1)
- (object Attribute
- tool "Cplusplus"
- name "Packages"
- value 2)))
- (object Attribute
- tool "Cplusplus"
- name "FileCapitalizationSet"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "Same as model"
- value 0)
- (object Attribute
- tool "Cplusplus"
- name "Lower case"
- value 1)
- (object Attribute
- tool "Cplusplus"
- name "Upper case"
- value 2)
- (object Attribute
- tool "Cplusplus"
- name "Lower case with underscores"
- value 3)))
- (object Attribute
- tool "Cplusplus"
- name "BraceStyleSet"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "B1"
- value 1)
- (object Attribute
- tool "Cplusplus"
- name "B2"
- value 2)
- (object Attribute
- tool "Cplusplus"
- name "B3"
- value 3)
- (object Attribute
- tool "Cplusplus"
- name "B4"
- value 4)
- (object Attribute
- tool "Cplusplus"
- name "B5"
- value 5)))
- (object Attribute
- tool "Cplusplus"
- name "MemberOrderSet"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "Public First"
- value 1)
- (object Attribute
- tool "Cplusplus"
- name "Private First"
- value 2)
- (object Attribute
- tool "Cplusplus"
- name "Order by kind"
- value 3)
- (object Attribute
- tool "Cplusplus"
- name "Unordered"
- value 4)))
- (object Attribute
- tool "Cplusplus"
- name "ModelIdCommentRulesSet"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "Code generation only"
- value 1)
- (object Attribute
- tool "Cplusplus"
- name "Code generation and reverse engineering"
- value 2)
- (object Attribute
- tool "Cplusplus"
- name "Never generate model IDs"
- value 3)))))
- (object Attribute
- tool "Cplusplus"
- name "default__Param"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "CodeName"
- value "")))
- (object Attribute
- tool "Cplusplus"
- name "default__Attribute"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "Synchronize"
- value TRUE)
- (object Attribute
- tool "Cplusplus"
- name "CodeName"
- value "")))
- (object Attribute
- tool "Cplusplus"
- name "default__Operation"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "Synchronize"
- value TRUE)
- (object Attribute
- tool "Cplusplus"
- name "CodeName"
- value "")
- (object Attribute
- tool "Cplusplus"
- name "InitialCodeBody"
- value "")
- (object Attribute
- tool "Cplusplus"
- name "Inline"
- value FALSE)
- (object Attribute
- tool "Cplusplus"
- name "GenerateFunctionBody"
- value ("GenerateFunctionBodySet" 2))
- (object Attribute
- tool "Cplusplus"
- name "GenerateFunctionBodySet"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "Default"
- value 2)
- (object Attribute
- tool "Cplusplus"
- name "True"
- value 1)
- (object Attribute
- tool "Cplusplus"
- name "False"
- value 0)))))
- (object Attribute
- tool "Cplusplus"
- name "default__Class"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "Synchronize"
- value TRUE)
- (object Attribute
- tool "Cplusplus"
- name "CodeName"
- value "")
- (object Attribute
- tool "Cplusplus"
- name "ImplementationType"
- value "")
- (object Attribute
- tool "Cplusplus"
- name "HeaderSourceFile"
- value "")
- (object Attribute
- tool "Cplusplus"
- name "BodySourceFile"
- value "")))
- (object Attribute
- tool "Cplusplus"
- name "default__Category"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "CodeName"
- value "")
- (object Attribute
- tool "Cplusplus"
- name "IsNamespace"
- value FALSE)))
- (object Attribute
- tool "Cplusplus"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "ANSI C++ Event Watcher"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "ANSIConvert"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "propertyId"
- value "838326200")
- (object Attribute
- tool "Ada83"
- name "default__Project"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "SpecFileExtension"
- value "1.ada")
- (object Attribute
- tool "Ada83"
- name "SpecFileBackupExtension"
- value "1.ad~")
- (object Attribute
- tool "Ada83"
- name "SpecFileTemporaryExtension"
- value "1.ad#")
- (object Attribute
- tool "Ada83"
- name "BodyFileExtension"
- value "2.ada")
- (object Attribute
- tool "Ada83"
- name "BodyFileBackupExtension"
- value "2.ad~")
- (object Attribute
- tool "Ada83"
- name "BodyFileTemporaryExtension"
- value "2.ad#")
- (object Attribute
- tool "Ada83"
- name "CreateMissingDirectories"
- value TRUE)
- (object Attribute
- tool "Ada83"
- name "GenerateBodies"
- value TRUE)
- (object Attribute
- tool "Ada83"
- name "GenerateAccessorOperations"
- value TRUE)
- (object Attribute
- tool "Ada83"
- name "GenerateStandardOperations"
- value TRUE)
- (object Attribute
- tool "Ada83"
- name "DefaultCodeBody"
- value "[statement]")
- (object Attribute
- tool "Ada83"
- name "ImplicitParameter"
- value TRUE)
- (object Attribute
- tool "Ada83"
- name "CommentWidth"
- value 60)
- (object Attribute
- tool "Ada83"
- name "StopOnError"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "ErrorLimit"
- value 30)
- (object Attribute
- tool "Ada83"
- name "UseFileName"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "Directory"
- value "$ROSEADA83_SOURCE")))
- (object Attribute
- tool "Ada83"
- name "default__Class"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "CodeName"
- value "")
- (object Attribute
- tool "Ada83"
- name "ClassName"
- value "Object")
- (object Attribute
- tool "Ada83"
- name "ClassAccess"
- value ("ImplementationSet" 43))
- (object Attribute
- tool "Ada83"
- name "ImplementationType"
- value (value Text ""))
- (object Attribute
- tool "Ada83"
- name "IsSubtype"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "PolymorphicUnit"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "HandleName"
- value "Handle")
- (object Attribute
- tool "Ada83"
- name "HandleAccess"
- value ("ImplementationSet" 45))
- (object Attribute
- tool "Ada83"
- name "Discriminant"
- value "")
- (object Attribute
- tool "Ada83"
- name "Variant"
- value "")
- (object Attribute
- tool "Ada83"
- name "EnumerationLiteralPrefix"
- value "A_")
- (object Attribute
- tool "Ada83"
- name "RecordFieldPrefix"
- value "The_")
- (object Attribute
- tool "Ada83"
- name "GenerateAccessorOperations"
- value TRUE)
- (object Attribute
- tool "Ada83"
- name "GenerateStandardOperations"
- value TRUE)
- (object Attribute
- tool "Ada83"
- name "ImplicitParameter"
- value TRUE)
- (object Attribute
- tool "Ada83"
- name "ClassParameterName"
- value "This")
- (object Attribute
- tool "Ada83"
- name "DefaultConstructorKind"
- value ("ConstructorKindSet" 199))
- (object Attribute
- tool "Ada83"
- name "DefaultConstructorName"
- value "Create")
- (object Attribute
- tool "Ada83"
- name "InlineDefaultConstructor"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "CopyConstructorKind"
- value ("ConstructorKindSet" 199))
- (object Attribute
- tool "Ada83"
- name "CopyConstructorName"
- value "Copy")
- (object Attribute
- tool "Ada83"
- name "InlineCopyConstructor"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "DestructorName"
- value "Free")
- (object Attribute
- tool "Ada83"
- name "InlineDestructor"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "ClassEqualityOperation"
- value "")
- (object Attribute
- tool "Ada83"
- name "HandleEqualityOperation"
- value "")
- (object Attribute
- tool "Ada83"
- name "InlineEquality"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "IsTask"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "Representation"
- value (value Text ""))
- (object Attribute
- tool "Ada83"
- name "ImplementationSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "Public"
- value 45)
- (object Attribute
- tool "Ada83"
- name "Private"
- value 43)
- (object Attribute
- tool "Ada83"
- name "LimitedPrivate"
- value 200)
- (object Attribute
- tool "Ada83"
- name "DoNotCreate"
- value 201)))
- (object Attribute
- tool "Ada83"
- name "ConstructorKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "Procedure"
- value 202)
- (object Attribute
- tool "Ada83"
- name "Function"
- value 199)
- (object Attribute
- tool "Ada83"
- name "DoNotCreate"
- value 201)))))
- (object Attribute
- tool "Ada83"
- name "default__Module-Spec"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "Generate"
- value TRUE)
- (object Attribute
- tool "Ada83"
- name "CopyrightNotice"
- value (value Text ""))
- (object Attribute
- tool "Ada83"
- name "FileName"
- value "")
- (object Attribute
- tool "Ada83"
- name "ReturnType"
- value "")
- (object Attribute
- tool "Ada83"
- name "GenericFormalParameters"
- value (value Text ""))
- (object Attribute
- tool "Ada83"
- name "AdditionalWiths"
- value (value Text ""))))
- (object Attribute
- tool "Ada83"
- name "default__Module-Body"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "Generate"
- value TRUE)
- (object Attribute
- tool "Ada83"
- name "CopyrightNotice"
- value (value Text ""))
- (object Attribute
- tool "Ada83"
- name "FileName"
- value "")
- (object Attribute
- tool "Ada83"
- name "ReturnType"
- value "")
- (object Attribute
- tool "Ada83"
- name "AdditionalWiths"
- value (value Text ""))
- (object Attribute
- tool "Ada83"
- name "IsSubunit"
- value FALSE)))
- (object Attribute
- tool "Ada83"
- name "default__Operation"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "CodeName"
- value "")
- (object Attribute
- tool "Ada83"
- name "SubprogramImplementation"
- value ("SubprogramImplementationSet" 2))
- (object Attribute
- tool "Ada83"
- name "Renames"
- value "")
- (object Attribute
- tool "Ada83"
- name "ClassParameterMode"
- value ("ParameterModeSet" 203))
- (object Attribute
- tool "Ada83"
- name "Inline"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "EntryCode"
- value (value Text ""))
- (object Attribute
- tool "Ada83"
- name "ExitCode"
- value (value Text ""))
- (object Attribute
- tool "Ada83"
- name "InitialCodeBody"
- value "${default}")
- (object Attribute
- tool "Ada83"
- name "Representation"
- value (value Text ""))
- (object Attribute
- tool "Ada83"
- name "SubprogramImplementationSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "Spec"
- value 224)
- (object Attribute
- tool "Ada83"
- name "Body"
- value 2)
- (object Attribute
- tool "Ada83"
- name "Renaming"
- value 222)
- (object Attribute
- tool "Ada83"
- name "Separate"
- value 223)))
- (object Attribute
- tool "Ada83"
- name "ParameterModeSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "In"
- value 204)
- (object Attribute
- tool "Ada83"
- name "Out"
- value 205)
- (object Attribute
- tool "Ada83"
- name "InOut"
- value 203)
- (object Attribute
- tool "Ada83"
- name "FunctionReturn"
- value 206)
- (object Attribute
- tool "Ada83"
- name "DoNotCreate"
- value 201)))))
- (object Attribute
- tool "Ada83"
- name "default__Has"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "CodeName"
- value "")
- (object Attribute
- tool "Ada83"
- name "NameIfUnlabeled"
- value "The_${supplier}")
- (object Attribute
- tool "Ada83"
- name "DataMemberName"
- value "${relationship}")
- (object Attribute
- tool "Ada83"
- name "GetName"
- value "Get_${relationship}")
- (object Attribute
- tool "Ada83"
- name "InlineGet"
- value TRUE)
- (object Attribute
- tool "Ada83"
- name "SetName"
- value "Set_${relationship}")
- (object Attribute
- tool "Ada83"
- name "InlineSet"
- value TRUE)
- (object Attribute
- tool "Ada83"
- name "IsConstant"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "InitialValue"
- value "")
- (object Attribute
- tool "Ada83"
- name "Variant"
- value "")
- (object Attribute
- tool "Ada83"
- name "ContainerGeneric"
- value "List")
- (object Attribute
- tool "Ada83"
- name "ContainerType"
- value "")
- (object Attribute
- tool "Ada83"
- name "ContainerDeclarations"
- value (value Text ""))
- (object Attribute
- tool "Ada83"
- name "SelectorName"
- value "")
- (object Attribute
- tool "Ada83"
- name "SelectorType"
- value "")))
- (object Attribute
- tool "Ada83"
- name "default__Attribute"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "CodeName"
- value "")
- (object Attribute
- tool "Ada83"
- name "DataMemberName"
- value "${attribute}")
- (object Attribute
- tool "Ada83"
- name "GetName"
- value "Get_${attribute}")
- (object Attribute
- tool "Ada83"
- name "InlineGet"
- value TRUE)
- (object Attribute
- tool "Ada83"
- name "SetName"
- value "Set_${attribute}")
- (object Attribute
- tool "Ada83"
- name "InlineSet"
- value TRUE)
- (object Attribute
- tool "Ada83"
- name "IsConstant"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "InitialValue"
- value "")
- (object Attribute
- tool "Ada83"
- name "Variant"
- value "")
- (object Attribute
- tool "Ada83"
- name "Representation"
- value (value Text ""))))
- (object Attribute
- tool "Ada83"
- name "default__Association"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "NameIfUnlabeled"
- value "The_${targetClass}")
- (object Attribute
- tool "Ada83"
- name "GetName"
- value "Get_${association}")
- (object Attribute
- tool "Ada83"
- name "InlineGet"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "SetName"
- value "Set_${association}")
- (object Attribute
- tool "Ada83"
- name "InlineSet"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "GenerateAssociate"
- value ("ProcedureKindSet" 202))
- (object Attribute
- tool "Ada83"
- name "AssociateName"
- value "Associate")
- (object Attribute
- tool "Ada83"
- name "InlineAssociate"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "GenerateDissociate"
- value ("ProcedureKindSet" 202))
- (object Attribute
- tool "Ada83"
- name "DissociateName"
- value "Dissociate")
- (object Attribute
- tool "Ada83"
- name "InlineDissociate"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "ProcedureKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "Procedure"
- value 202)
- (object Attribute
- tool "Ada83"
- name "DoNotCreate"
- value 201)))
- (object Attribute
- tool "Ada83"
- name "FunctionKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "Function"
- value 199)
- (object Attribute
- tool "Ada83"
- name "DoNotCreate"
- value 201)))))
- (object Attribute
- tool "Ada83"
- name "default__Role"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "CodeName"
- value "")
- (object Attribute
- tool "Ada83"
- name "NameIfUnlabeled"
- value "The_${targetClass}")
- (object Attribute
- tool "Ada83"
- name "DataMemberName"
- value "${target}")
- (object Attribute
- tool "Ada83"
- name "GetName"
- value "Get_${target}")
- (object Attribute
- tool "Ada83"
- name "InlineGet"
- value TRUE)
- (object Attribute
- tool "Ada83"
- name "SetName"
- value "Set_${target}")
- (object Attribute
- tool "Ada83"
- name "InlineSet"
- value TRUE)
- (object Attribute
- tool "Ada83"
- name "IsConstant"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "InitialValue"
- value "")
- (object Attribute
- tool "Ada83"
- name "ContainerGeneric"
- value "List")
- (object Attribute
- tool "Ada83"
- name "ContainerType"
- value "")
- (object Attribute
- tool "Ada83"
- name "ContainerDeclarations"
- value (value Text ""))
- (object Attribute
- tool "Ada83"
- name "SelectorName"
- value "")
- (object Attribute
- tool "Ada83"
- name "SelectorType"
- value "")
- (object Attribute
- tool "Ada83"
- name "ProcedureKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "Procedure"
- value 202)
- (object Attribute
- tool "Ada83"
- name "DoNotCreate"
- value 201)))))
- (object Attribute
- tool "Ada83"
- name "default__Subsystem"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "Directory"
- value "AUTO GENERATE")))
- (object Attribute
- tool "Ada83"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "propertyId"
- value "838326200")
- (object Attribute
- tool "Ada95"
- name "default__Project"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "SpecFileExtension"
- value "1.ada")
- (object Attribute
- tool "Ada95"
- name "SpecFileBackupExtension"
- value "1.ad~")
- (object Attribute
- tool "Ada95"
- name "SpecFileTemporaryExtension"
- value "1.ad#")
- (object Attribute
- tool "Ada95"
- name "BodyFileExtension"
- value "2.ada")
- (object Attribute
- tool "Ada95"
- name "BodyFileBackupExtension"
- value "2.ad~")
- (object Attribute
- tool "Ada95"
- name "BodyFileTemporaryExtension"
- value "2.ad#")
- (object Attribute
- tool "Ada95"
- name "CreateMissingDirectories"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "UseColonNotation"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "GenerateBodies"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "GenerateAccessorOperations"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "GenerateStandardOperations"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "DefaultCodeBody"
- value "[statement]")
- (object Attribute
- tool "Ada95"
- name "ImplicitParameter"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "CommentWidth"
- value 60)
- (object Attribute
- tool "Ada95"
- name "StopOnError"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "ErrorLimit"
- value 30)
- (object Attribute
- tool "Ada95"
- name "UseFileName"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "Directory"
- value "$ROSEADA95_SOURCE")))
- (object Attribute
- tool "Ada95"
- name "default__Class"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "CodeName"
- value "")
- (object Attribute
- tool "Ada95"
- name "TypeName"
- value "Object")
- (object Attribute
- tool "Ada95"
- name "TypeVisibility"
- value ("TypeVisibilitySet" 43))
- (object Attribute
- tool "Ada95"
- name "TypeImplementation"
- value ("TypeImplementationSet" 208))
- (object Attribute
- tool "Ada95"
- name "TypeControl"
- value ("TypeControlSet" 225))
- (object Attribute
- tool "Ada95"
- name "TypeControlName"
- value "Controlled_${type}")
- (object Attribute
- tool "Ada95"
- name "TypeDefinition"
- value (value Text ""))
- (object Attribute
- tool "Ada95"
- name "RecordImplementation"
- value ("RecordImplementationSet" 209))
- (object Attribute
- tool "Ada95"
- name "RecordKindPackageName"
- value "${class}_Record_Kinds")
- (object Attribute
- tool "Ada95"
- name "IsLimited"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "IsSubtype"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "GenerateAccessType"
- value ("GenerateAccessTypeSet" 230))
- (object Attribute
- tool "Ada95"
- name "AccessTypeName"
- value "Handle")
- (object Attribute
- tool "Ada95"
- name "AccessTypeVisibility"
- value ("TypeVisibilitySet" 45))
- (object Attribute
- tool "Ada95"
- name "AccessTypeDefinition"
- value (value Text ""))
- (object Attribute
- tool "Ada95"
- name "AccessClassWide"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "MaybeAliased"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "ParameterizedImplementation"
- value ("ParameterizedImplementationSet" 11))
- (object Attribute
- tool "Ada95"
- name "ParentClassName"
- value "Superclass")
- (object Attribute
- tool "Ada95"
- name "EnumerationLiteralPrefix"
- value "A_")
- (object Attribute
- tool "Ada95"
- name "RecordFieldPrefix"
- value "The_")
- (object Attribute
- tool "Ada95"
- name "ArrayOfTypeName"
- value "Array_Of_${type}")
- (object Attribute
- tool "Ada95"
- name "AccessArrayOfTypeName"
- value "Access_Array_Of_${type}")
- (object Attribute
- tool "Ada95"
- name "ArrayOfAccessTypeName"
- value "Array_Of_${access_type}")
- (object Attribute
- tool "Ada95"
- name "AccessArrayOfAccessTypeName"
- value "Access_Array_Of_${access_type}")
- (object Attribute
- tool "Ada95"
- name "ArrayIndexDefinition"
- value "Positive range <>")
- (object Attribute
- tool "Ada95"
- name "GenerateAccessorOperations"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "GenerateStandardOperations"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "ImplicitParameter"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "ImplicitParameterName"
- value "This")
- (object Attribute
- tool "Ada95"
- name "GenerateDefaultConstructor"
- value ("SubprogramKindSet" 199))
- (object Attribute
- tool "Ada95"
- name "DefaultConstructorName"
- value "Create")
- (object Attribute
- tool "Ada95"
- name "InlineDefaultConstructor"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "GenerateCopyConstructor"
- value ("SubprogramKindSet" 199))
- (object Attribute
- tool "Ada95"
- name "CopyConstructorName"
- value "Copy")
- (object Attribute
- tool "Ada95"
- name "InlineCopyConstructor"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "GenerateDestructor"
- value ("ProcedureKindSet" 202))
- (object Attribute
- tool "Ada95"
- name "DestructorName"
- value "Free")
- (object Attribute
- tool "Ada95"
- name "InlineDestructor"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "GenerateTypeEquality"
- value ("FunctionKindSet" 201))
- (object Attribute
- tool "Ada95"
- name "TypeEqualityName"
- value "${quote}=${quote}")
- (object Attribute
- tool "Ada95"
- name "InlineEquality"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "Representation"
- value (value Text ""))
- (object Attribute
- tool "Ada95"
- name "TypeImplementationSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Tagged"
- value 208)
- (object Attribute
- tool "Ada95"
- name "Record"
- value 210)
- (object Attribute
- tool "Ada95"
- name "Mixin"
- value 211)
- (object Attribute
- tool "Ada95"
- name "Protected"
- value 44)
- (object Attribute
- tool "Ada95"
- name "Task"
- value 212)))
- (object Attribute
- tool "Ada95"
- name "RecordImplementationSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "SingleType"
- value 209)
- (object Attribute
- tool "Ada95"
- name "MultipleTypes"
- value 213)))
- (object Attribute
- tool "Ada95"
- name "ParameterizedImplementationSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Generic"
- value 11)
- (object Attribute
- tool "Ada95"
- name "Unconstrained"
- value 214)))
- (object Attribute
- tool "Ada95"
- name "TypeVisibilitySet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Public"
- value 45)
- (object Attribute
- tool "Ada95"
- name "Private"
- value 43)))
- (object Attribute
- tool "Ada95"
- name "SubprogramKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Procedure"
- value 202)
- (object Attribute
- tool "Ada95"
- name "Function"
- value 199)
- (object Attribute
- tool "Ada95"
- name "DoNotCreate"
- value 201)))
- (object Attribute
- tool "Ada95"
- name "ProcedureKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Procedure"
- value 202)
- (object Attribute
- tool "Ada95"
- name "DoNotCreate"
- value 201)))
- (object Attribute
- tool "Ada95"
- name "FunctionKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Function"
- value 199)
- (object Attribute
- tool "Ada95"
- name "DoNotCreate"
- value 201)))
- (object Attribute
- tool "Ada95"
- name "TypeControlSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "None"
- value 225)
- (object Attribute
- tool "Ada95"
- name "InitializationOnly"
- value 226)
- (object Attribute
- tool "Ada95"
- name "AssignmentFinalizationOnly"
- value 227)
- (object Attribute
- tool "Ada95"
- name "All"
- value 228)))
- (object Attribute
- tool "Ada95"
- name "GenerateAccessTypeSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Always"
- value 229)
- (object Attribute
- tool "Ada95"
- name "Auto"
- value 230)))))
- (object Attribute
- tool "Ada95"
- name "default__Module-Spec"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Generate"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "CopyrightNotice"
- value (value Text ""))
- (object Attribute
- tool "Ada95"
- name "FileName"
- value "")
- (object Attribute
- tool "Ada95"
- name "ReturnType"
- value "")
- (object Attribute
- tool "Ada95"
- name "GenericFormalParameters"
- value (value Text ""))
- (object Attribute
- tool "Ada95"
- name "AdditionalWiths"
- value (value Text ""))
- (object Attribute
- tool "Ada95"
- name "IsPrivate"
- value FALSE)))
- (object Attribute
- tool "Ada95"
- name "default__Module-Body"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Generate"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "CopyrightNotice"
- value (value Text ""))
- (object Attribute
- tool "Ada95"
- name "FileName"
- value "")
- (object Attribute
- tool "Ada95"
- name "ReturnType"
- value "")
- (object Attribute
- tool "Ada95"
- name "AdditionalWiths"
- value (value Text ""))
- (object Attribute
- tool "Ada95"
- name "IsSubunit"
- value FALSE)))
- (object Attribute
- tool "Ada95"
- name "default__Operation"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "CodeName"
- value "")
- (object Attribute
- tool "Ada95"
- name "SubprogramImplementation"
- value ("SubprogramImplementationSet" 2))
- (object Attribute
- tool "Ada95"
- name "Renames"
- value "")
- (object Attribute
- tool "Ada95"
- name "GenerateOverriding"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "ImplicitParameterMode"
- value ("ParameterModeSet" 203))
- (object Attribute
- tool "Ada95"
- name "ImplicitParameterClassWide"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "GenerateAccessOperation"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "Inline"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "EntryCode"
- value (value Text ""))
- (object Attribute
- tool "Ada95"
- name "ExitCode"
- value (value Text ""))
- (object Attribute
- tool "Ada95"
- name "InitialCodeBody"
- value "${default}")
- (object Attribute
- tool "Ada95"
- name "EntryBarrierCondition"
- value "True")
- (object Attribute
- tool "Ada95"
- name "Representation"
- value (value Text ""))
- (object Attribute
- tool "Ada95"
- name "SubprogramImplementationSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Spec"
- value 224)
- (object Attribute
- tool "Ada95"
- name "Body"
- value 2)
- (object Attribute
- tool "Ada95"
- name "Abstract"
- value 221)
- (object Attribute
- tool "Ada95"
- name "Renaming"
- value 222)
- (object Attribute
- tool "Ada95"
- name "RenamingAsBody"
- value 231)
- (object Attribute
- tool "Ada95"
- name "Separate"
- value 223)))
- (object Attribute
- tool "Ada95"
- name "ParameterModeSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "In"
- value 204)
- (object Attribute
- tool "Ada95"
- name "Out"
- value 205)
- (object Attribute
- tool "Ada95"
- name "InOut"
- value 203)
- (object Attribute
- tool "Ada95"
- name "Access"
- value 220)
- (object Attribute
- tool "Ada95"
- name "DoNotCreate"
- value 201)))))
- (object Attribute
- tool "Ada95"
- name "default__Has"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "CodeName"
- value "")
- (object Attribute
- tool "Ada95"
- name "NameIfUnlabeled"
- value "The_${supplier}")
- (object Attribute
- tool "Ada95"
- name "RecordFieldImplementation"
- value ("RecordFieldImplementationSet" 216))
- (object Attribute
- tool "Ada95"
- name "RecordFieldName"
- value "${relationship}")
- (object Attribute
- tool "Ada95"
- name "GenerateGet"
- value ("FunctionKindSet" 199))
- (object Attribute
- tool "Ada95"
- name "GenerateAccessGet"
- value ("FunctionKindSet" 201))
- (object Attribute
- tool "Ada95"
- name "GetName"
- value "Get_${relationship}")
- (object Attribute
- tool "Ada95"
- name "InlineGet"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "GenerateSet"
- value ("ProcedureKindSet" 202))
- (object Attribute
- tool "Ada95"
- name "GenerateAccessSet"
- value ("ProcedureKindSet" 201))
- (object Attribute
- tool "Ada95"
- name "SetName"
- value "Set_${relationship}")
- (object Attribute
- tool "Ada95"
- name "InlineSet"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "IsAliased"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "IsConstant"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "InitialValue"
- value "")
- (object Attribute
- tool "Ada95"
- name "ContainerImplementation"
- value ("ContainerImplementationSet" 217))
- (object Attribute
- tool "Ada95"
- name "ContainerGeneric"
- value "List")
- (object Attribute
- tool "Ada95"
- name "ContainerType"
- value "")
- (object Attribute
- tool "Ada95"
- name "ContainerDeclarations"
- value (value Text ""))
- (object Attribute
- tool "Ada95"
- name "SelectorName"
- value "")
- (object Attribute
- tool "Ada95"
- name "SelectorType"
- value "")
- (object Attribute
- tool "Ada95"
- name "RecordFieldImplementationSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Component"
- value 216)
- (object Attribute
- tool "Ada95"
- name "Discriminant"
- value 218)
- (object Attribute
- tool "Ada95"
- name "AccessDiscriminant"
- value 219)))
- (object Attribute
- tool "Ada95"
- name "ContainerImplementationSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Array"
- value 217)
- (object Attribute
- tool "Ada95"
- name "Generic"
- value 11)))
- (object Attribute
- tool "Ada95"
- name "ProcedureKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Procedure"
- value 202)
- (object Attribute
- tool "Ada95"
- name "DoNotCreate"
- value 201)))
- (object Attribute
- tool "Ada95"
- name "FunctionKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Function"
- value 199)
- (object Attribute
- tool "Ada95"
- name "DoNotCreate"
- value 201)))))
- (object Attribute
- tool "Ada95"
- name "default__Attribute"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "CodeName"
- value "")
- (object Attribute
- tool "Ada95"
- name "RecordFieldImplementation"
- value ("RecordFieldImplementationSet" 216))
- (object Attribute
- tool "Ada95"
- name "RecordFieldName"
- value "${attribute}")
- (object Attribute
- tool "Ada95"
- name "GenerateGet"
- value ("FunctionKindSet" 199))
- (object Attribute
- tool "Ada95"
- name "GenerateAccessGet"
- value ("FunctionKindSet" 201))
- (object Attribute
- tool "Ada95"
- name "GetName"
- value "Get_${attribute}")
- (object Attribute
- tool "Ada95"
- name "InlineGet"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "GenerateSet"
- value ("ProcedureKindSet" 202))
- (object Attribute
- tool "Ada95"
- name "GenerateAccessSet"
- value ("ProcedureKindSet" 201))
- (object Attribute
- tool "Ada95"
- name "SetName"
- value "Set_${attribute}")
- (object Attribute
- tool "Ada95"
- name "InlineSet"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "IsAliased"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "IsConstant"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "InitialValue"
- value "")
- (object Attribute
- tool "Ada95"
- name "Representation"
- value (value Text ""))
- (object Attribute
- tool "Ada95"
- name "RecordFieldImplementationSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Component"
- value 216)
- (object Attribute
- tool "Ada95"
- name "Discriminant"
- value 218)
- (object Attribute
- tool "Ada95"
- name "AccessDiscriminant"
- value 219)))
- (object Attribute
- tool "Ada95"
- name "ProcedureKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Procedure"
- value 202)
- (object Attribute
- tool "Ada95"
- name "DoNotCreate"
- value 201)))
- (object Attribute
- tool "Ada95"
- name "FunctionKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Function"
- value 199)
- (object Attribute
- tool "Ada95"
- name "DoNotCreate"
- value 201)))))
- (object Attribute
- tool "Ada95"
- name "default__Association"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "NameIfUnlabeled"
- value "The_${targetClass}")
- (object Attribute
- tool "Ada95"
- name "GenerateGet"
- value ("FunctionKindSet" 199))
- (object Attribute
- tool "Ada95"
- name "GetName"
- value "Get_${association}")
- (object Attribute
- tool "Ada95"
- name "InlineGet"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "GenerateSet"
- value ("ProcedureKindSet" 202))
- (object Attribute
- tool "Ada95"
- name "SetName"
- value "Set_${association}")
- (object Attribute
- tool "Ada95"
- name "InlineSet"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "GenerateAssociate"
- value ("ProcedureKindSet" 202))
- (object Attribute
- tool "Ada95"
- name "AssociateName"
- value "Associate")
- (object Attribute
- tool "Ada95"
- name "InlineAssociate"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "GenerateDissociate"
- value ("ProcedureKindSet" 202))
- (object Attribute
- tool "Ada95"
- name "DissociateName"
- value "Dissociate")
- (object Attribute
- tool "Ada95"
- name "InlineDissociate"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "ProcedureKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Procedure"
- value 202)
- (object Attribute
- tool "Ada95"
- name "DoNotCreate"
- value 201)))
- (object Attribute
- tool "Ada95"
- name "FunctionKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Function"
- value 199)
- (object Attribute
- tool "Ada95"
- name "DoNotCreate"
- value 201)))))
- (object Attribute
- tool "Ada95"
- name "default__Role"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "CodeName"
- value "")
- (object Attribute
- tool "Ada95"
- name "NameIfUnlabeled"
- value "The_${targetClass}")
- (object Attribute
- tool "Ada95"
- name "RecordFieldImplementation"
- value ("RecordFieldImplementationSet" 216))
- (object Attribute
- tool "Ada95"
- name "RecordFieldName"
- value "${target}")
- (object Attribute
- tool "Ada95"
- name "GenerateGet"
- value ("FunctionKindSet" 199))
- (object Attribute
- tool "Ada95"
- name "GenerateAccessGet"
- value ("FunctionKindSet" 201))
- (object Attribute
- tool "Ada95"
- name "GetName"
- value "Get_${target}")
- (object Attribute
- tool "Ada95"
- name "InlineGet"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "GenerateSet"
- value ("ProcedureKindSet" 202))
- (object Attribute
- tool "Ada95"
- name "GenerateAccessSet"
- value ("ProcedureKindSet" 201))
- (object Attribute
- tool "Ada95"
- name "SetName"
- value "Set_${target}")
- (object Attribute
- tool "Ada95"
- name "InlineSet"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "IsAliased"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "IsConstant"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "InitialValue"
- value "")
- (object Attribute
- tool "Ada95"
- name "ContainerImplementation"
- value ("ContainerImplementationSet" 217))
- (object Attribute
- tool "Ada95"
- name "ContainerGeneric"
- value "List")
- (object Attribute
- tool "Ada95"
- name "ContainerType"
- value "")
- (object Attribute
- tool "Ada95"
- name "ContainerDeclarations"
- value (value Text ""))
- (object Attribute
- tool "Ada95"
- name "SelectorName"
- value "")
- (object Attribute
- tool "Ada95"
- name "SelectorType"
- value "")
- (object Attribute
- tool "Ada95"
- name "ProcedureKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Procedure"
- value 202)
- (object Attribute
- tool "Ada95"
- name "DoNotCreate"
- value 201)))
- (object Attribute
- tool "Ada95"
- name "RecordFieldImplementationSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Component"
- value 216)
- (object Attribute
- tool "Ada95"
- name "Discriminant"
- value 218)
- (object Attribute
- tool "Ada95"
- name "AccessDiscriminant"
- value 219)))
- (object Attribute
- tool "Ada95"
- name "ContainerImplementationSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Array"
- value 217)
- (object Attribute
- tool "Ada95"
- name "Generic"
- value 11)))
- (object Attribute
- tool "Ada95"
- name "FunctionKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Function"
- value 199)
- (object Attribute
- tool "Ada95"
- name "DoNotCreate"
- value 201)))))
- (object Attribute
- tool "Ada95"
- name "default__Subsystem"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Directory"
- value "AUTO GENERATE")))
- (object Attribute
- tool "Ada95"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "CORBA"
- name "propertyId"
- value "809135966")
- (object Attribute
- tool "CORBA"
- name "default__Project"
- value (list Attribute_Set
- (object Attribute
- tool "CORBA"
- name "CreateMissingDirectories"
- value TRUE)
- (object Attribute
- tool "CORBA"
- name "Editor"
- value ("EditorType" 100))
- (object Attribute
- tool "CORBA"
- name "IncludePath"
- value "")
- (object Attribute
- tool "CORBA"
- name "StopOnError"
- value TRUE)
- (object Attribute
- tool "CORBA"
- name "EditorType"
- value (list Attribute_Set
- (object Attribute
- tool "CORBA"
- name "BuiltIn"
- value 100)
- (object Attribute
- tool "CORBA"
- name "WindowsShell"
- value 101)))
- (object Attribute
- tool "CORBA"
- name "PathSeparator"
- value "")))
- (object Attribute
- tool "CORBA"
- name "default__Class"
- value (list Attribute_Set
- (object Attribute
- tool "CORBA"
- name "ArrayDimensions"
- value "")
- (object Attribute
- tool "CORBA"
- name "ConstValue"
- value "")
- (object Attribute
- tool "CORBA"
- name "ImplementationType"
- value "")))
- (object Attribute
- tool "CORBA"
- name "default__Module-Spec"
- value (list Attribute_Set
- (object Attribute
- tool "CORBA"
- name "AdditionalIncludes"
- value (value Text ""))
- (object Attribute
- tool "CORBA"
- name "CmIdentification"
- value (value Text " %X% %Q% %Z% %W%"))
- (object Attribute
- tool "CORBA"
- name "CopyrightNotice"
- value (value Text ""))
- (object Attribute
- tool "CORBA"
- name "InclusionProtectionSymbol"
- value "AUTO GENERATE")))
- (object Attribute
- tool "CORBA"
- name "default__Module-Body"
- value (list Attribute_Set
- (object Attribute
- tool "CORBA"
- name "AdditionalIncludes"
- value (value Text ""))
- (object Attribute
- tool "CORBA"
- name "CmIdentification"
- value (value Text " %X% %Q% %Z% %W%"))
- (object Attribute
- tool "CORBA"
- name "CopyrightNotice"
- value (value Text ""))
- (object Attribute
- tool "CORBA"
- name "InclusionProtectionSymbol"
- value "AUTO GENERATE")))
- (object Attribute
- tool "CORBA"
- name "default__Operation"
- value (list Attribute_Set
- (object Attribute
- tool "CORBA"
- name "Context"
- value "")
- (object Attribute
- tool "CORBA"
- name "OperationIsOneWay"
- value FALSE)))
- (object Attribute
- tool "CORBA"
- name "default__Attribute"
- value (list Attribute_Set
- (object Attribute
- tool "CORBA"
- name "ArrayDimensions"
- value "")
- (object Attribute
- tool "CORBA"
- name "CaseSpecifier"
- value "")
- (object Attribute
- tool "CORBA"
- name "IsReadOnly"
- value FALSE)
- (object Attribute
- tool "CORBA"
- name "Order"
- value "")))
- (object Attribute
- tool "CORBA"
- name "default__Role"
- value (list Attribute_Set
- (object Attribute
- tool "CORBA"
- name "ArrayDimensions"
- value "")
- (object Attribute
- tool "CORBA"
- name "CaseSpecifier"
- value "")
- (object Attribute
- tool "CORBA"
- name "GenerateForwardReference"
- value FALSE)
- (object Attribute
- tool "CORBA"
- name "IsReadOnly"
- value FALSE)
- (object Attribute
- tool "CORBA"
- name "Order"
- value "")
- (object Attribute
- tool "CORBA"
- name "BoundedRoleType"
- value ("AssocTypeSet" 47))
- (object Attribute
- tool "CORBA"
- name "AssocTypeSet"
- value (list Attribute_Set
- (object Attribute
- tool "CORBA"
- name "Array"
- value 24)
- (object Attribute
- tool "CORBA"
- name "Sequence"
- value 47)))))
- (object Attribute
- tool "CORBA"
- name "default__Uses"
- value (list Attribute_Set
- (object Attribute
- tool "CORBA"
- name "GenerateForwardReference"
- value FALSE)))
- (object Attribute
- tool "CORBA"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "propertyId"
- value "809135966")
- (object Attribute
- tool "Data Modeler"
- name "default__Project"
- value (list Attribute_Set
- (object Attribute
- tool "Data Modeler"
- name "project"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "TableCounter"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "ViewCounter"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "DomainCounter"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "SPPackageCounter"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "TriggerCounter"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "IndexCounter"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "ConstraintCounter"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "StoreProcedureCounter"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "PrimaryKeyCounter"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "ForeignKeyCounter"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "JoinCounter"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "TableSpaceCounter"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "cONTAINERCounter"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "TablePrefix"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "ViewPrefix"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "DomainPrefix"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "TriggerPrefix"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "IndexPrefix"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "ConstraintPrefix"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "StoreProcedurePrefix"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "PrimaryKeyPrefix"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "ForeignKeyPrefix"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "TableSpacePrefix"
- value "")))
- (object Attribute
- tool "Data Modeler"
- name "default__Module-Spec"
- value (list Attribute_Set
- (object Attribute
- tool "Data Modeler"
- name "dmItem"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "DMName"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "IsDatabase"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "TargetDatabase"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "Location"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "IsTableSpace"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "TableSpaceType"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "IsDeault"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "BufferPool"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "ExtentSize"
- value 1)
- (object Attribute
- tool "Data Modeler"
- name "PrefetchSize"
- value 1)
- (object Attribute
- tool "Data Modeler"
- name "PageSize"
- value 4)
- (object Attribute
- tool "Data Modeler"
- name "ManagedBy"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "ContainerList"
- value "")))
- (object Attribute
- tool "Data Modeler"
- name "default__Category"
- value (list Attribute_Set
- (object Attribute
- tool "Data Modeler"
- name "dmItem"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "DMName"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "dmSchema"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "dmDomainPackage"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "IsSchema"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "IsDomainPackage"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "IsRootSchema"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "IsRootDomainPackage"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "IsSchemaPackage"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "DatabaseID"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "DBMS"
- value "")))
- (object Attribute
- tool "Data Modeler"
- name "default__Class"
- value (list Attribute_Set
- (object Attribute
- tool "Data Modeler"
- name "dmItem"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "DMName"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "IsTable"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "IsView"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "IsDomain"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "IsSPPackage"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "Synonymns"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "TableSpaceID"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "SourceId"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "SourceType"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "CorrelationName"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "SelectClause"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "IsUpdateable"
- value TRUE)
- (object Attribute
- tool "Data Modeler"
- name "CheckOption"
- value "None")
- (object Attribute
- tool "Data Modeler"
- name "IsSnapShot"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "IsDistinct"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "PersistToServer"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "IsPackage"
- value FALSE)))
- (object Attribute
- tool "Data Modeler"
- name "default__Attribute"
- value (list Attribute_Set
- (object Attribute
- tool "Data Modeler"
- name "dmItem"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "DMName"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "Ordinal"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "IsIdentity"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "IsUnique"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "NullsAllowed"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "Length"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "Scale"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "ColumnType"
- value "Native")
- (object Attribute
- tool "Data Modeler"
- name "ForBitData"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "DefaultValueType"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "DefaultValue"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "SourceId"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "SourceType"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "OID"
- value FALSE)))
- (object Attribute
- tool "Data Modeler"
- name "default__Association"
- value (list Attribute_Set
- (object Attribute
- tool "Data Modeler"
- name "dmItem"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "DMName"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "IsRelationship"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "SourceId"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "SourceType"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "RIMethod"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "ParentUpdateRule"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "ParentUpdateRuleName"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "ParentDeleteRule"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "ParentDeleteRuleName"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "ChildInsertRestrict"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "ChildInsertRestrictName"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "ChildMultiplicity"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "ChildMultiplicityName"
- value "")))
- (object Attribute
- tool "Data Modeler"
- name "default__Role"
- value (list Attribute_Set
- (object Attribute
- tool "Data Modeler"
- name "dmItem"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "DMName"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "ConstraintName"
- value "")))
- (object Attribute
- tool "Data Modeler"
- name "default__Operation"
- value (list Attribute_Set
- (object Attribute
- tool "Data Modeler"
- name "dmItem"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "DMName"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "IsConstraint"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "ConstraintType"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "IsIndex"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "IsTrigger"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "IsStoredProcedure"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "IsCluster"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "TableSpace"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "FillFactor"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "KeyList"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "CheckPredicate"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "IsUnique"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "DeferalMode"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "InitialCheckTime"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "TriggerType"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "IsInsertEvent"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "IsUpdateEvent"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "IsDeleteEvent"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "RefOldTable"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "RefNewTable"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "RefOldRow"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "RefNewRow"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "IsRow"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "WhenClause"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "Language"
- value "SQL")
- (object Attribute
- tool "Data Modeler"
- name "ProcType"
- value "Procedure")
- (object Attribute
- tool "Data Modeler"
- name "IsDeterministic"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "ParameterStyle"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "ReturnedNull"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "ExternalName"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "Length"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "Scale"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "ForBitData"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "DefaultValue"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "DefaultValueType"
- value "")))
- (object Attribute
- tool "Data Modeler"
- name "default__Parameter"
- value (list Attribute_Set
- (object Attribute
- tool "Data Modeler"
- name "dmItem"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "DMName"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "IsInParameter"
- value TRUE)
- (object Attribute
- tool "Data Modeler"
- name "IsOutParameter"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "Ordinal"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "Length"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "Scale"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "ForBitData"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "DefaultValueType"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "DefaultValue"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "OperationID"
- value "")))
- (object Attribute
- tool "Data Modeler"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "Data Modeler Communicator"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "Deploy"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "framework"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "Java"
- name "propertyId"
- value "809135966")
- (object Attribute
- tool "Java"
- name "default__Project"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "RootDir"
- value "")
- (object Attribute
- tool "Java"
- name "CreateMissingDirectories"
- value TRUE)
- (object Attribute
- tool "Java"
- name "StopOnError"
- value FALSE)
- (object Attribute
- tool "Java"
- name "UsePrefixes"
- value FALSE)
- (object Attribute
- tool "Java"
- name "AutoSync"
- value FALSE)
- (object Attribute
- tool "Java"
- name "NotShowRoseIDDlg"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ShowCodegenDlg"
- value FALSE)
- (object Attribute
- tool "Java"
- name "GenerateRoseID"
- value TRUE)
- (object Attribute
- tool "Java"
- name "GenerateDefaultJ2EEJavadoc"
- value TRUE)
- (object Attribute
- tool "Java"
- name "GenerateDefaultReturnLine"
- value TRUE)
- (object Attribute
- tool "Java"
- name "JavadocDefaultAuthor"
- value "")
- (object Attribute
- tool "Java"
- name "JavadocDefaultVersion"
- value "")
- (object Attribute
- tool "Java"
- name "JavadocDefaultSince"
- value "")
- (object Attribute
- tool "Java"
- name "UserDefineJavaDocTags"
- value "")
- (object Attribute
- tool "Java"
- name "JavadocNumAsterisks"
- value 0)
- (object Attribute
- tool "Java"
- name "MaxNumChars"
- value 80)
- (object Attribute
- tool "Java"
- name "Editor"
- value ("EditorType" 100))
- (object Attribute
- tool "Java"
- name "VM"
- value ("VMType" 200))
- (object Attribute
- tool "Java"
- name "ClassPath"
- value ".;D:\\Program Files\\Rational\\RUPBuilder;D:\\Program Files\\Rational\\common\\java\\swingall.jar;D:\\Program Files\\Rational\\common\\java\\javahelp\\jh.jar;d:\\program files\\sun\\jdk1.3.1_03\\src.jar;d:\\program files\\sun\\jdk1.3.1_03\\jre\\lib\\i18n.jar;d:\\program files\\sun\\jdk1.3.1_03\\jre\\lib\\jaws.jar;d:\\program files\\sun\\jdk1.3.1_03\\jre\\lib\\rt.jar;d:\\program files\\sun\\jdk1.3.1_03\\lib\\dt.jar;d:\\program files\\sun\\jdk1.3.1_03\\lib\\tools.jar;d:\\program files\\sun\\jdk1.3.1_03\\jre\\lib\\sunrsasign.jar")
- (object Attribute
- tool "Java"
- name "ReferenceClasspath"
- value "")
- (object Attribute
- tool "Java"
- name "EditorType"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "BuiltIn"
- value 100)))
- (object Attribute
- tool "Java"
- name "VMType"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "Sun"
- value 200)))
- (object Attribute
- tool "Java"
- name "VAJavaWorkingFolder"
- value "")
- (object Attribute
- tool "Java"
- name "InstanceVariablePrefix"
- value "")
- (object Attribute
- tool "Java"
- name "ClassVariablePrefix"
- value "")
- (object Attribute
- tool "Java"
- name "DefaultAttributeDataType"
- value "int")
- (object Attribute
- tool "Java"
- name "DefaultOperationReturnType"
- value "void")
- (object Attribute
- tool "Java"
- name "NoClassCustomDlg"
- value FALSE)
- (object Attribute
- tool "Java"
- name "GlobalImports"
- value (value Text ""))
- (object Attribute
- tool "Java"
- name "OpenBraceClassStyle"
- value TRUE)
- (object Attribute
- tool "Java"
- name "OpenBraceMethodStyle"
- value TRUE)
- (object Attribute
- tool "Java"
- name "UseTabs"
- value FALSE)
- (object Attribute
- tool "Java"
- name "UseSpaces"
- value TRUE)
- (object Attribute
- tool "Java"
- name "SpacingItems"
- value 3)
- (object Attribute
- tool "Java"
- name "RoseDefaultCommentStyle"
- value TRUE)
- (object Attribute
- tool "Java"
- name "AsteriskCommentStyle"
- value TRUE)
- (object Attribute
- tool "Java"
- name "JavaCommentStyle"
- value TRUE)
- (object Attribute
- tool "Java"
- name "JavadocAuthor"
- value FALSE)
- (object Attribute
- tool "Java"
- name "JavadocSince"
- value FALSE)
- (object Attribute
- tool "Java"
- name "JavadocVersion"
- value FALSE)
- (object Attribute
- tool "Java"
- name "BeanPrefix"
- value "")
- (object Attribute
- tool "Java"
- name "BeanSuffix"
- value "")
- (object Attribute
- tool "Java"
- name "RemotePrefix"
- value "")
- (object Attribute
- tool "Java"
- name "RemoteSuffix"
- value "")
- (object Attribute
- tool "Java"
- name "HomePrefix"
- value "")
- (object Attribute
- tool "Java"
- name "HomeSuffix"
- value "")
- (object Attribute
- tool "Java"
- name "LocalPrefix"
- value "")
- (object Attribute
- tool "Java"
- name "LocalSuffix"
- value "")
- (object Attribute
- tool "Java"
- name "LocalHomePrefix"
- value "")
- (object Attribute
- tool "Java"
- name "LocalHomeSuffix"
- value "")
- (object Attribute
- tool "Java"
- name "PrimaryKeyPrefix"
- value "")
- (object Attribute
- tool "Java"
- name "PrimaryKeySuffix"
- value "")
- (object Attribute
- tool "Java"
- name "EJBDTDLocation"
- value "")
- (object Attribute
- tool "Java"
- name "ServletDTDLocation"
- value "")
- (object Attribute
- tool "Java"
- name "DefaultEJBVersion"
- value "")
- (object Attribute
- tool "Java"
- name "DefaultServletVersion"
- value "")))
- (object Attribute
- tool "Java"
- name "default__Class"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "Final"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Static"
- value FALSE)
- (object Attribute
- tool "Java"
- name "GenerateDefaultConstructor"
- value TRUE)
- (object Attribute
- tool "Java"
- name "ConstructorIs"
- value ("Ctor_Set" 62))
- (object Attribute
- tool "Java"
- name "Ctor_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "public"
- value 62)
- (object Attribute
- tool "Java"
- name "protected"
- value 63)
- (object Attribute
- tool "Java"
- name "private"
- value 64)
- (object Attribute
- tool "Java"
- name "package"
- value 65)))
- (object Attribute
- tool "Java"
- name "GenerateFinalizer"
- value FALSE)
- (object Attribute
- tool "Java"
- name "GenerateStaticInitializer"
- value FALSE)
- (object Attribute
- tool "Java"
- name "GenerateInstanceInitializer"
- value FALSE)
- (object Attribute
- tool "Java"
- name "GenerateCode"
- value TRUE)
- (object Attribute
- tool "Java"
- name "DisableAutoSync"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ReadOnly"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Strictfp"
- value FALSE)))
- (object Attribute
- tool "Java"
- name "Default_Servlet__Class"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "ServletName"
- value "")
- (object Attribute
- tool "Java"
- name "ServletContextRef"
- value FALSE)
- (object Attribute
- tool "Java"
- name "IsSingleThread"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletInitParameter"
- value "")
- (object Attribute
- tool "Java"
- name "ServletInitParameterNames"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletIsSecure"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletRequestDispatcher"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletRequestDispatcherPath"
- value "")
- (object Attribute
- tool "Java"
- name "DispatcherInclude"
- value FALSE)
- (object Attribute
- tool "Java"
- name "DispatcherForward"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletSecurityRoles"
- value "")
- (object Attribute
- tool "Java"
- name "ServletgetInfo"
- value "")
- (object Attribute
- tool "Java"
- name "ServletXMLFilePath"
- value "")))
- (object Attribute
- tool "Java"
- name "Http_Servlet__Class"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "ServletRequestAttribute"
- value "")
- (object Attribute
- tool "Java"
- name "ServletRequestAttributesNames"
- value FALSE)
- (object Attribute
- tool "Java"
- name "MethodForRequestAttributes"
- value "")
- (object Attribute
- tool "Java"
- name "ServletRequestParameter"
- value "")
- (object Attribute
- tool "Java"
- name "ServletRequestParameterNames"
- value FALSE)
- (object Attribute
- tool "Java"
- name "MethodForRequestParameters"
- value "")
- (object Attribute
- tool "Java"
- name "ServletHeader"
- value "")
- (object Attribute
- tool "Java"
- name "ServletHeaderNames"
- value FALSE)
- (object Attribute
- tool "Java"
- name "MethodForHeaders"
- value "")
- (object Attribute
- tool "Java"
- name "ServletIntHeader"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletDateHeader"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletCookie"
- value FALSE)
- (object Attribute
- tool "Java"
- name "MethodForCookie"
- value "")
- (object Attribute
- tool "Java"
- name "ServletContentType"
- value "")
- (object Attribute
- tool "Java"
- name "GenerateHTML"
- value FALSE)))
- (object Attribute
- tool "Java"
- name "Default_EJB__Class"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "Generate_XML_DD"
- value TRUE)
- (object Attribute
- tool "Java"
- name "EJBCmpField"
- value "")
- (object Attribute
- tool "Java"
- name "EJBEnvironmentProperties"
- value "")
- (object Attribute
- tool "Java"
- name "EJBCnxFactory"
- value "")
- (object Attribute
- tool "Java"
- name "EJBReferences"
- value "")
- (object Attribute
- tool "Java"
- name "EJBSecurityRoles"
- value "")
- (object Attribute
- tool "Java"
- name "EJBNameInJAR"
- value "")
- (object Attribute
- tool "Java"
- name "EJBSessionType"
- value ("EJBSessionType_Set" 200))
- (object Attribute
- tool "Java"
- name "EJBSessionType_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name ""
- value 200)
- (object Attribute
- tool "Java"
- name "Stateless"
- value 201)
- (object Attribute
- tool "Java"
- name "Stateful"
- value 202)))
- (object Attribute
- tool "Java"
- name "EJBTransactionType"
- value ("EJBTransactionType_Set" 211))
- (object Attribute
- tool "Java"
- name "EJBTransactionType_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "Container"
- value 211)
- (object Attribute
- tool "Java"
- name "Bean"
- value 212)))
- (object Attribute
- tool "Java"
- name "EJBPersistenceType"
- value ("EJBPersistenceType_Set" 220))
- (object Attribute
- tool "Java"
- name "EJBPersistenceType_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name ""
- value 220)
- (object Attribute
- tool "Java"
- name "Bean"
- value 221)
- (object Attribute
- tool "Java"
- name "Container"
- value 222)))
- (object Attribute
- tool "Java"
- name "EJBReentrant"
- value FALSE)
- (object Attribute
- tool "Java"
- name "EJBSessionSync"
- value FALSE)
- (object Attribute
- tool "Java"
- name "EJBVersion"
- value ("EJBVersion_Set" 230))
- (object Attribute
- tool "Java"
- name "EJBVersion_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "2.0"
- value 230)
- (object Attribute
- tool "Java"
- name "1.x"
- value 231)))
- (object Attribute
- tool "Java"
- name "EJBXMLFilePath"
- value "")))
- (object Attribute
- tool "Java"
- name "default__Module-Spec"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "CmIdentification"
- value (value Text ""))
- (object Attribute
- tool "Java"
- name "CopyrightNotice"
- value (value Text ""))))
- (object Attribute
- tool "Java"
- name "default__Module-Body"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "CmIdentification"
- value (value Text ""))
- (object Attribute
- tool "Java"
- name "CopyrightNotice"
- value (value Text ""))))
- (object Attribute
- tool "Java"
- name "default__Operation"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "Abstract"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Static"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Final"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Native"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Synchronized"
- value FALSE)
- (object Attribute
- tool "Java"
- name "GenerateFullyQualifiedReturn"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ReplaceExistingCode"
- value TRUE)
- (object Attribute
- tool "Java"
- name "Strictfp"
- value FALSE)))
- (object Attribute
- tool "Java"
- name "default__Attribute"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "Final"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Transient"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Volatile"
- value FALSE)
- (object Attribute
- tool "Java"
- name "PropertyType"
- value ("BeanProperty_Set" 71))
- (object Attribute
- tool "Java"
- name "BeanProperty_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "Not A Property"
- value 71)
- (object Attribute
- tool "Java"
- name "Simple"
- value 72)
- (object Attribute
- tool "Java"
- name "Bound"
- value 73)
- (object Attribute
- tool "Java"
- name "Constrained"
- value 74)))
- (object Attribute
- tool "Java"
- name "IndividualChangeMgt"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Read/Write"
- value ("Read/Write_Set" 81))
- (object Attribute
- tool "Java"
- name "Read/Write_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "Read & Write"
- value 81)
- (object Attribute
- tool "Java"
- name "Read Only"
- value 82)
- (object Attribute
- tool "Java"
- name "Write Only"
- value 83)))
- (object Attribute
- tool "Java"
- name "GenerateFullyQualifiedTypes"
- value FALSE)))
- (object Attribute
- tool "Java"
- name "default__Role"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "ContainerClass"
- value "")
- (object Attribute
- tool "Java"
- name "InitialValue"
- value "")
- (object Attribute
- tool "Java"
- name "Final"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Transient"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Volatile"
- value FALSE)
- (object Attribute
- tool "Java"
- name "PropertyType"
- value ("BeanProperty_Set" 71))
- (object Attribute
- tool "Java"
- name "BeanProperty_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "Not A Property"
- value 71)
- (object Attribute
- tool "Java"
- name "Simple"
- value 72)
- (object Attribute
- tool "Java"
- name "Bound"
- value 73)
- (object Attribute
- tool "Java"
- name "Constrained"
- value 74)))
- (object Attribute
- tool "Java"
- name "IndividualChangeMgt"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Read/Write"
- value ("Read/Write_Set" 81))
- (object Attribute
- tool "Java"
- name "Read/Write_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "Read & Write"
- value 81)
- (object Attribute
- tool "Java"
- name "Read Only"
- value 82)
- (object Attribute
- tool "Java"
- name "Write Only"
- value 83)))
- (object Attribute
- tool "Java"
- name "GenerateFullyQualifiedTypes"
- value FALSE)
- (object Attribute
- tool "Java"
- name "IsNavigable"
- value TRUE)))
- (object Attribute
- tool "Java"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "Oracle8"
- name "propertyId"
- value "360000002")
- (object Attribute
- tool "Oracle8"
- name "default__Project"
- value (list Attribute_Set
- (object Attribute
- tool "Oracle8"
- name "DDLScriptFilename"
- value "DDL1.SQL")
- (object Attribute
- tool "Oracle8"
- name "DropClause"
- value FALSE)
- (object Attribute
- tool "Oracle8"
- name "PrimaryKeyColumnName"
- value "_ID")
- (object Attribute
- tool "Oracle8"
- name "PrimaryKeyColumnType"
- value "NUMBER(5,0)")
- (object Attribute
- tool "Oracle8"
- name "SchemaNamePrefix"
- value "")
- (object Attribute
- tool "Oracle8"
- name "SchemaNameSuffix"
- value "")
- (object Attribute
- tool "Oracle8"
- name "TableNamePrefix"
- value "")
- (object Attribute
- tool "Oracle8"
- name "TableNameSuffix"
- value "")
- (object Attribute
- tool "Oracle8"
- name "TypeNamePrefix"
- value "")
- (object Attribute
- tool "Oracle8"
- name "TypeNameSuffix"
- value "")
- (object Attribute
- tool "Oracle8"
- name "ViewNamePrefix"
- value "")
- (object Attribute
- tool "Oracle8"
- name "ViewNameSuffix"
- value "")
- (object Attribute
- tool "Oracle8"
- name "VarrayNamePrefix"
- value "")
- (object Attribute
- tool "Oracle8"
- name "VarrayNameSuffix"
- value "")
- (object Attribute
- tool "Oracle8"
- name "NestedTableNamePrefix"
- value "")
- (object Attribute
- tool "Oracle8"
- name "NestedTableNameSuffix"
- value "")
- (object Attribute
- tool "Oracle8"
- name "ObjectTableNamePrefix"
- value "")
- (object Attribute
- tool "Oracle8"
- name "ObjectTableNameSuffix"
- value "")))
- (object Attribute
- tool "Oracle8"
- name "default__Module-Spec"
- value (list Attribute_Set
- (object Attribute
- tool "Oracle8"
- name "IsSchema"
- value FALSE)))
- (object Attribute
- tool "Oracle8"
- name "default__Class"
- value (list Attribute_Set
- (object Attribute
- tool "Oracle8"
- name "OID"
- value "")
- (object Attribute
- tool "Oracle8"
- name "WhereClause"
- value "")
- (object Attribute
- tool "Oracle8"
- name "CheckConstraint"
- value "")
- (object Attribute
- tool "Oracle8"
- name "CollectionTypeLength"
- value "")
- (object Attribute
- tool "Oracle8"
- name "CollectionTypePrecision"
- value "")
- (object Attribute
- tool "Oracle8"
- name "CollectionTypeScale"
- value "")
- (object Attribute
- tool "Oracle8"
- name "CollectionOfREFS"
- value FALSE)))
- (object Attribute
- tool "Oracle8"
- name "default__Operation"
- value (list Attribute_Set
- (object Attribute
- tool "Oracle8"
- name "MethodKind"
- value ("MethodKindSet" 1903))
- (object Attribute
- tool "Oracle8"
- name "OverloadID"
- value "")
- (object Attribute
- tool "Oracle8"
- name "OrderNumber"
- value "")
- (object Attribute
- tool "Oracle8"
- name "IsReadNoDataState"
- value FALSE)
- (object Attribute
- tool "Oracle8"
- name "IsReadNoProcessState"
- value FALSE)
- (object Attribute
- tool "Oracle8"
- name "IsWriteNoDataState"
- value FALSE)
- (object Attribute
- tool "Oracle8"
- name "IsWriteNoProcessState"
- value FALSE)
- (object Attribute
- tool "Oracle8"
- name "IsSelfish"
- value FALSE)
- (object Attribute
- tool "Oracle8"
- name "TriggerType"
- value ("TriggerTypeSet" 1801))
- (object Attribute
- tool "Oracle8"
- name "TriggerEvent"
- value ("TriggerEventSet" 1601))
- (object Attribute
- tool "Oracle8"
- name "TriggerText"
- value "")
- (object Attribute
- tool "Oracle8"
- name "TriggerReferencingNames"
- value "")
- (object Attribute
- tool "Oracle8"
- name "TriggerForEach"
- value ("TriggerForEachSet" 1701))
- (object Attribute
- tool "Oracle8"
- name "TriggerWhenClause"
- value "")
- (object Attribute
- tool "Oracle8"
- name "MethodKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "Oracle8"
- name "MapMethod"
- value 1901)
- (object Attribute
- tool "Oracle8"
- name "OrderMethod"
- value 1902)
- (object Attribute
- tool "Oracle8"
- name "Function"
- value 1903)
- (object Attribute
- tool "Oracle8"
- name "Procedure"
- value 1904)
- (object Attribute
- tool "Oracle8"
- name "Operator"
- value 1905)
- (object Attribute
- tool "Oracle8"
- name "Constructor"
- value 1906)
- (object Attribute
- tool "Oracle8"
- name "Destructor"
- value 1907)
- (object Attribute
- tool "Oracle8"
- name "Trigger"
- value 1908)
- (object Attribute
- tool "Oracle8"
- name "Calculated"
- value 1909)))
- (object Attribute
- tool "Oracle8"
- name "TriggerTypeSet"
- value (list Attribute_Set
- (object Attribute
- tool "Oracle8"
- name "AFTER"
- value 1801)
- (object Attribute
- tool "Oracle8"
- name "BEFORE"
- value 1802)
- (object Attribute
- tool "Oracle8"
- name "INSTEAD OF"
- value 1803)))
- (object Attribute
- tool "Oracle8"
- name "TriggerForEachSet"
- value (list Attribute_Set
- (object Attribute
- tool "Oracle8"
- name "ROW"
- value 1701)
- (object Attribute
- tool "Oracle8"
- name "STATEMENT"
- value 1702)))
- (object Attribute
- tool "Oracle8"
- name "TriggerEventSet"
- value (list Attribute_Set
- (object Attribute
- tool "Oracle8"
- name "INSERT"
- value 1601)
- (object Attribute
- tool "Oracle8"
- name "UPDATE"
- value 1602)
- (object Attribute
- tool "Oracle8"
- name "DELETE"
- value 1603)
- (object Attribute
- tool "Oracle8"
- name "INSERT OR UPDATE"
- value 1604)
- (object Attribute
- tool "Oracle8"
- name "INSERT OR DELETE"
- value 1605)
- (object Attribute
- tool "Oracle8"
- name "UPDATE OR DELETE"
- value 1606)
- (object Attribute
- tool "Oracle8"
- name "INSERT OR UPDATE OR DELETE"
- value 1607)))))
- (object Attribute
- tool "Oracle8"
- name "default__Role"
- value (list Attribute_Set
- (object Attribute
- tool "Oracle8"
- name "OrderNumber"
- value "")))
- (object Attribute
- tool "Oracle8"
- name "default__Attribute"
- value (list Attribute_Set
- (object Attribute
- tool "Oracle8"
- name "OrderNumber"
- value "")
- (object Attribute
- tool "Oracle8"
- name "IsUnique"
- value FALSE)
- (object Attribute
- tool "Oracle8"
- name "NullsAllowed"
- value TRUE)
- (object Attribute
- tool "Oracle8"
- name "Length"
- value "")
- (object Attribute
- tool "Oracle8"
- name "Precision"
- value "2")
- (object Attribute
- tool "Oracle8"
- name "Scale"
- value "6")
- (object Attribute
- tool "Oracle8"
- name "IsIndex"
- value FALSE)
- (object Attribute
- tool "Oracle8"
- name "IsPrimaryKey"
- value FALSE)
- (object Attribute
- tool "Oracle8"
- name "CompositeUnique"
- value FALSE)
- (object Attribute
- tool "Oracle8"
- name "CheckConstraint"
- value "")))
- (object Attribute
- tool "Oracle8"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "ComponentTest"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "RequisitePro"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "Rose Model Integrator"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "Rose Web Publisher"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "SoDA"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "TopLink"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "COM"
- name "propertyId"
- value "783606378")
- (object Attribute
- tool "COM"
- name "default__Class"
- value (list Attribute_Set
- (object Attribute
- tool "COM"
- name "TypeKinds"
- value (list Attribute_Set
- (object Attribute
- tool "COM"
- name "enum"
- value 100)
- (object Attribute
- tool "COM"
- name "record"
- value 101)
- (object Attribute
- tool "COM"
- name "module"
- value 102)
- (object Attribute
- tool "COM"
- name "interface"
- value 103)
- (object Attribute
- tool "COM"
- name "dispinterface"
- value 104)
- (object Attribute
- tool "COM"
- name "coclass"
- value 105)
- (object Attribute
- tool "COM"
- name "alias"
- value 106)
- (object Attribute
- tool "COM"
- name "union"
- value 107)
- (object Attribute
- tool "COM"
- name "max"
- value 108)
- (object Attribute
- tool "COM"
- name "(none)"
- value 109)))
- (object Attribute
- tool "COM"
- name "Generate"
- value TRUE)
- (object Attribute
- tool "COM"
- name "kind"
- value ("TypeKinds" 109))
- (object Attribute
- tool "COM"
- name "uuid"
- value "")
- (object Attribute
- tool "COM"
- name "version"
- value "")
- (object Attribute
- tool "COM"
- name "helpstring"
- value "")
- (object Attribute
- tool "COM"
- name "helpcontext"
- value "")
- (object Attribute
- tool "COM"
- name "attributes"
- value "")
- (object Attribute
- tool "COM"
- name "dllname"
- value "")
- (object Attribute
- tool "COM"
- name "alias"
- value "")))
- (object Attribute
- tool "COM"
- name "default__Operation"
- value (list Attribute_Set
- (object Attribute
- tool "COM"
- name "Generate"
- value TRUE)
- (object Attribute
- tool "COM"
- name "id"
- value "")
- (object Attribute
- tool "COM"
- name "helpstring"
- value "")
- (object Attribute
- tool "COM"
- name "attributes"
- value "")))
- (object Attribute
- tool "COM"
- name "default__Attribute"
- value (list Attribute_Set
- (object Attribute
- tool "COM"
- name "Generate"
- value TRUE)
- (object Attribute
- tool "COM"
- name "id"
- value "")
- (object Attribute
- tool "COM"
- name "helpstring"
- value "")
- (object Attribute
- tool "COM"
- name "attributes"
- value "")))
- (object Attribute
- tool "COM"
- name "default__Module-Spec"
- value (list Attribute_Set
- (object Attribute
- tool "COM"
- name "Generate"
- value TRUE)
- (object Attribute
- tool "COM"
- name "filename"
- value "")
- (object Attribute
- tool "COM"
- name "library"
- value "")
- (object Attribute
- tool "COM"
- name "uuid"
- value "")
- (object Attribute
- tool "COM"
- name "version"
- value "")
- (object Attribute
- tool "COM"
- name "helpstring"
- value "")
- (object Attribute
- tool "COM"
- name "helpfile"
- value "")
- (object Attribute
- tool "COM"
- name "helpcontext"
- value "")
- (object Attribute
- tool "COM"
- name "lcid"
- value "")
- (object Attribute
- tool "COM"
- name "attributes"
- value "")))
- (object Attribute
- tool "COM"
- name "default__Param"
- value (list Attribute_Set
- (object Attribute
- tool "COM"
- name "attributes"
- value "")))
- (object Attribute
- tool "COM"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "Version Control"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "Visual Basic"
- name "propertyId"
- value "783606378")
- (object Attribute
- tool "Visual Basic"
- name "default__Class"
- value (list Attribute_Set
- (object Attribute
- tool "Visual Basic"
- name "UpdateCode"
- value TRUE)
- (object Attribute
- tool "Visual Basic"
- name "UpdateModel"
- value TRUE)
- (object Attribute
- tool "Visual Basic"
- name "InstancingSet"
- value (list Attribute_Set
- (object Attribute
- tool "Visual Basic"
- name "Private"
- value 221)
- (object Attribute
- tool "Visual Basic"
- name "PublicNotCreatable"
- value 213)
- (object Attribute
- tool "Visual Basic"
- name "SingleUse"
- value 214)
- (object Attribute
- tool "Visual Basic"
- name "GlobalSingleUse"
- value 215)
- (object Attribute
- tool "Visual Basic"
- name "MultiUse"
- value 219)
- (object Attribute
- tool "Visual Basic"
- name "GlobalMultiUse"
- value 220)))
- (object Attribute
- tool "Visual Basic"
- name "BaseSet"
- value (list Attribute_Set
- (object Attribute
- tool "Visual Basic"
- name "(none)"
- value 222)
- (object Attribute
- tool "Visual Basic"
- name "0"
- value 223)
- (object Attribute
- tool "Visual Basic"
- name "1"
- value 224)))
- (object Attribute
- tool "Visual Basic"
- name "OptionBase"
- value ("BaseSet" 222))
- (object Attribute
- tool "Visual Basic"
- name "OptionExplicit"
- value TRUE)
- (object Attribute
- tool "Visual Basic"
- name "OptionCompare"
- value ("CompareSet" 202))
- (object Attribute
- tool "Visual Basic"
- name "Instancing"
- value ("InstancingSet" 219))
- (object Attribute
- tool "Visual Basic"
- name "CompareSet"
- value (list Attribute_Set
- (object Attribute
- tool "Visual Basic"
- name "(none)"
- value 202)
- (object Attribute
- tool "Visual Basic"
- name "Binary"
- value 203)
- (object Attribute
- tool "Visual Basic"
- name "Text"
- value 204)))))
- (object Attribute
- tool "Visual Basic"
- name "default__Operation"
- value (list Attribute_Set
- (object Attribute
- tool "Visual Basic"
- name "LibraryName"
- value "")
- (object Attribute
- tool "Visual Basic"
- name "AliasName"
- value "")
- (object Attribute
- tool "Visual Basic"
- name "IsStatic"
- value FALSE)
- (object Attribute
- tool "Visual Basic"
- name "ProcedureID"
- value "")
- (object Attribute
- tool "Visual Basic"
- name "ReplaceExistingBody"
- value FALSE)
- (object Attribute
- tool "Visual Basic"
- name "DefaultBody"
- value (value Text ""))))
- (object Attribute
- tool "Visual Basic"
- name "default__Attribute"
- value (list Attribute_Set
- (object Attribute
- tool "Visual Basic"
- name "New"
- value FALSE)
- (object Attribute
- tool "Visual Basic"
- name "WithEvents"
- value FALSE)
- (object Attribute
- tool "Visual Basic"
- name "ProcedureID"
- value "")
- (object Attribute
- tool "Visual Basic"
- name "PropertyName"
- value "")
- (object Attribute
- tool "Visual Basic"
- name "Subscript"
- value "")))
- (object Attribute
- tool "Visual Basic"
- name "default__Role"
- value (list Attribute_Set
- (object Attribute
- tool "Visual Basic"
- name "UpdateCode"
- value TRUE)
- (object Attribute
- tool "Visual Basic"
- name "New"
- value FALSE)
- (object Attribute
- tool "Visual Basic"
- name "WithEvents"
- value FALSE)
- (object Attribute
- tool "Visual Basic"
- name "FullName"
- value FALSE)
- (object Attribute
- tool "Visual Basic"
- name "ProcedureID"
- value "")
- (object Attribute
- tool "Visual Basic"
- name "PropertyName"
- value "")
- (object Attribute
- tool "Visual Basic"
- name "Subscript"
- value "")))
- (object Attribute
- tool "Visual Basic"
- name "default__Inherit"
- value (list Attribute_Set
- (object Attribute
- tool "Visual Basic"
- name "ImplementsDelegation"
- value TRUE)
- (object Attribute
- tool "Visual Basic"
- name "FullName"
- value FALSE)))
- (object Attribute
- tool "Visual Basic"
- name "default__Param"
- value (list Attribute_Set
- (object Attribute
- tool "Visual Basic"
- name "ByVal"
- value FALSE)
- (object Attribute
- tool "Visual Basic"
- name "ByRef"
- value FALSE)
- (object Attribute
- tool "Visual Basic"
- name "Optional"
- value FALSE)
- (object Attribute
- tool "Visual Basic"
- name "ParamArray"
- value FALSE)))
- (object Attribute
- tool "Visual Basic"
- name "default__Module-Spec"
- value (list Attribute_Set
- (object Attribute
- tool "Visual Basic"
- name "ProjectFile"
- value "")
- (object Attribute
- tool "Visual Basic"
- name "UpdateCode"
- value TRUE)
- (object Attribute
- tool "Visual Basic"
- name "UpdateModel"
- value TRUE)
- (object Attribute
- tool "Visual Basic"
- name "ImportReferences"
- value TRUE)
- (object Attribute
- tool "Visual Basic"
- name "QuickImport"
- value TRUE)
- (object Attribute
- tool "Visual Basic"
- name "ImportBinary"
- value FALSE)))
- (object Attribute
- tool "Visual Basic"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "VisualStudio"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "Web Modeler"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "XML_DTD"
- name "propertyId"
- value "809135966")
- (object Attribute
- tool "XML_DTD"
- name "default__Project"
- value (list Attribute_Set
- (object Attribute
- tool "XML_DTD"
- name "CreateMissingDirectories"
- value TRUE)
- (object Attribute
- tool "XML_DTD"
- name "Editor"
- value ("EditorType" 100))
- (object Attribute
- tool "XML_DTD"
- name "StopOnError"
- value TRUE)
- (object Attribute
- tool "XML_DTD"
- name "EditorType"
- value (list Attribute_Set
- (object Attribute
- tool "XML_DTD"
- name "BuiltIn"
- value 100)
- (object Attribute
- tool "XML_DTD"
- name "WindowsShell"
- value 101)))))
- (object Attribute
- tool "XML_DTD"
- name "default__Class"
- value (list Attribute_Set
- (object Attribute
- tool "XML_DTD"
- name "Entity_SystemID"
- value "")
- (object Attribute
- tool "XML_DTD"
- name "Entity_PublicID"
- value "")
- (object Attribute
- tool "XML_DTD"
- name "NotationValue"
- value "")
- (object Attribute
- tool "XML_DTD"
- name "InternalValue"
- value "")
- (object Attribute
- tool "XML_DTD"
- name "ParameterEntity"
- value FALSE)
- (object Attribute
- tool "XML_DTD"
- name "ExternalEntity"
- value FALSE)
- (object Attribute
- tool "XML_DTD"
- name "Notation_SystemID"
- value "")
- (object Attribute
- tool "XML_DTD"
- name "Notation_PublicID"
- value "")))
- (object Attribute
- tool "XML_DTD"
- name "default__Attribute"
- value (list Attribute_Set
- (object Attribute
- tool "XML_DTD"
- name "DefaultDeclType"
- value "")))
- (object Attribute
- tool "XML_DTD"
- name "default__Module-Spec"
- value (list Attribute_Set
- (object Attribute
- tool "XML_DTD"
- name "Assign All"
- value FALSE)
- (object Attribute
- tool "XML_DTD"
- name "ComponentPath"
- value "")))
- (object Attribute
- tool "XML_DTD"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "Ecore"
- name "propertyId"
- value "809135969"))
- quid "3A7999AD02A3"))
diff --git a/plugins/org.eclipse.jem.beaninfo/schema/registrations.exsd b/plugins/org.eclipse.jem.beaninfo/schema/registrations.exsd
deleted file mode 100644
index f738151ea..000000000
--- a/plugins/org.eclipse.jem.beaninfo/schema/registrations.exsd
+++ /dev/null
@@ -1,254 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.jem.beaninfo">
-<annotation>
- <appInfo>
- <meta.schema plugin="org.eclipse.jem.beaninfo" id="registrations" name="BeanInfo Extension Registrations"/>
- </appInfo>
- <documentation>
- This extension point is used to register contributors, beaninfo, and overrides for BeanInfo contributions.
-&lt;p&gt;An important concept is visibility of a container, plugin, or project to the top-level project. The top-level project is the project being introspected. For a container, plugin, or project to be visible to that project, the container, plugin, or project must be in the classpath of the top-level project, or it must be exported from a visible project or plugin. Once a non-visible project/plugin is reached, any projects, containers, or plugins that it may contain are not considered to be visible.
-&lt;p&gt;The registrations are identified with the container id and/or plugin id. If that container or plugin is visible, then that registration will be processed for the top-level project. If the container/plugin is found more than once in the build path of the top-level project, it will only be processed once.
-&lt;p&gt;There are three forms of registrations.
-&lt;ul&gt;
-&lt;li&gt;BeanInfo registrations. These supply standard BeanInfo and overrides.
-&lt;li&gt;&lt;samp&gt;IClasspathContainer&lt;/samp&gt; that implements &lt;samp&gt;IBeanInfoContributor&lt;/samp&gt;.
-&lt;li&gt;An explicit contributor that implements &lt;samp&gt;IBeanInfoContributor&lt;/samp&gt;.
-&lt;/ul&gt;
-&lt;p&gt;It runs through the visible BeanInfo registrations.
-&lt;p&gt;
-The IClasspathContainer registration isn&apos;t specified as part of this extension point. For all visible containers, if the classpath container (from JDT) also implements IBeanInfoContributor, then it will be called to contribute to the BeanInfo.
-&lt;p&gt;Then it runs through the visible explicit contributors. Note that if the explicit contributor also implements &lt;samp&gt;org.eclipse.jem.internal.proxy.core.IConfigurationContributor&lt;/samp&gt; it will also be called for proxy contributions. This allows for special setup required by any contributed BeanInfo for the launched proxy registry. This shouldn&apos;t normally be necessary because normal classpath updates to include the BeanInfo jar will be done by the IBeanInfoContributor itself through the BeanInfo registration callback.
-&lt;p&gt;The order of processing for the overrides will be to first run through the specified overrides (through Beaninfo registrations). Then it runs through the visible containers that implement IBeanInfoContributor, and then finally it runs through the explicit IBeanInfoContributors. This order is chosen because the overrides files are not dynamic so they need to be applied in a consistent way. The contributors are dynamic and can handle change.
-&lt;p&gt;The only order guarantee is that contributions from this extension point will be processed in plugin order of where the extension was declared. For example if there was an extension declared in plugin A and in plugin B, and plugin B requires plugin A, then the extensions declarations in plugin A will be processed before the extension declarations in plugin B.
- </documentation>
- </annotation>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="registration" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="contributor" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="point" type="string" use="required">
- <annotation>
- <documentation>
- a fully qualified identifier of the target extension point
- </documentation>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
- an optional identifier of the extension instance
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
- an optional name of the extension instance
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="registration">
- <annotation>
- <documentation>
- This is a registration for a container or plugin. It supplies the BeanInfo and the overrides.
- </documentation>
- </annotation>
- <complexType>
- <sequence>
- <element ref="beaninfo" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="override" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="container" type="string">
- <annotation>
- <documentation>
- contributor is for a container. The value is the container id (e.g. &quot;JRE_CONTAINER&quot;).
- </documentation>
- </annotation>
- </attribute>
- <attribute name="plugin" type="string">
- <annotation>
- <documentation>
- contributor is for a plugin. The value is the plugin id (e.g. &quot;org.eclipse.swt&quot;).
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="contributor">
- <annotation>
- <documentation>
- This is a contributor for the visible container/plugin defined by container and plugin attributes.
- </documentation>
- </annotation>
- <complexType>
- <attribute name="container" type="string">
- <annotation>
- <documentation>
- contributor is for a container. The value is the container id (e.g. &quot;JRE_CONTAINER&quot;).
- </documentation>
- </annotation>
- </attribute>
- <attribute name="plugin" type="string">
- <annotation>
- <documentation>
- contributor is for a plugin. The value is the plugin id (e.g. &quot;org.eclipse.swt&quot;).
- </documentation>
- </annotation>
- </attribute>
- <attribute name="class" type="string" use="required">
- <annotation>
- <documentation>
- the class that implements this contributor. The class must implement IBeanInfoContributor.
- </documentation>
- <appInfo>
- <meta.attribute kind="java" basedOn="org.eclipse.jem.internal.beaninfo.core.IBeanInfoContributor"/>
- </appInfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="beaninfo">
- <annotation>
- <documentation>
- Provide a BeanInfo jar from this or some other plugin, and provide search path packages.
- </documentation>
- </annotation>
- <complexType>
- <sequence>
- <element ref="searchpath" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="path" type="string" use="required">
- <annotation>
- <documentation>
- This is the path to the BeanInfo jar from within this or some other plugin. If it is within this plugin, there should be no leading &apos;/&apos;. There can be subfolders though, e.g. &lt;samp&gt;xyz/qxr.jar&lt;/samp&gt;. If it is within another plugin, then it must be fully-qualified with leading &apos;/&apos; followed by plugin id, followed by a &apos;/&apos; and then the path to the jar relative to that plugin, e.g. &lt;samp&gt;/org.xyz/qxr/ddd.jar&lt;/samp&gt;.
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="searchpath">
- <annotation>
- <documentation>
- This is a search path. It gives the package to add to the search path for BeanInfo.
-It refers to packages within the BeanInfo jar contributed by the &lt;samp&gt;beaninfo&lt;/samp&gt; element that it is found within.
-There really should be at least one search path. The only way this jar could contribute BeanInfo and not need something added to the search path is if the BeanInfos are in the same package as the bean itself. This is not a recommended way of supplying BeanInfo.
- </documentation>
- </annotation>
- <complexType>
- <attribute name="package" type="string" use="required">
- <annotation>
- <documentation>
- This is the java package to search into for BeanInfo. If there are more than one search paths in this &lt;samp&gt;beaninfo&lt;/samp&gt; element, then they will be searched in the order found in the element.
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="override">
- <annotation>
- <appInfo>
- <meta.element labelAttribute="package"/>
- </appInfo>
- <documentation>
- This describes an override file for BeanInfo. An override file is an XMI file that is read when a class is first introspected. It happens before the actual introspection. It allows overrides to the Java EMF model class (&lt;samp&gt;JavaClass&lt;/samp&gt;) that can be done through standard BeanInfo. These are annotations that are specific to the Visual Editor implementation in Eclipse. The annotations have no meaning to the standard BeanInfo specification so they are supplied here instead. They provide a much enriched experience in the Visual Editor by providing classes that run in the editor.
- </documentation>
- </annotation>
- <complexType>
- <attribute name="package" type="string" use="required">
- <annotation>
- <documentation>
- This is the name of a package or a package fragment. When this package or package fragment matches the package or fragment of a class being introspected, the specified override file from the given path will be applied. For example if the package was &lt;samp&gt;javax.swing&lt;/samp&gt; and the path was &quot;xyz&quot;, then for class &quot;javax.swing.Container&quot; it will look for file &quot;xyz/Container.override&quot;, and if found, it will apply it. If it was &lt;samp&gt;javax.swing.text.JTextComponent&lt;/samp&gt; it will look for file &quot;xyz/text/JTextComponent.override&quot;.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="path" type="string" use="required">
- <annotation>
- <documentation>
- This is the path relative to the plugin where this extension is declared for the folder to search for the override files. See the package attribute description above for how this works.
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- 1.0.0
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- The following is an example of a registration:
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.jem.beaninfo.registration&quot;&gt;
- &lt;registration container=&quot;VE_CONTAINER&quot;&gt;
- &lt;beaninfo path=&quot;xyzbeaninfo.jar&quot;&gt;
- &lt;searchpath package=&quot;com.xyz.beaninfo&quot;/&gt;
- &lt;searchpath package=&quot;com.xyz.qxr.beaninfo&quot;/&gt;
- &lt;/beaninfo&gt;
- &lt;override package=&quot;com.xyz&quot; path=&quot;overrides/e&quot;/&gt;
- &lt;/registration&gt;
- &lt;contributor plugin=&quot;org.eclipse.ve&quot; class=&quot;com.xyz.myContributor&quot;/&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-&lt;p&gt;
-This says that if container &quot;VE_CONTAINER&quot; is visible to the project being introspected, then then BeanInfo jar &quot;xyzbeaninfo.jar&quot; (found in the plugin that declared this extension) will be looked into for BeanInfos. The two packages listed will be added to the search path of packages.
-&lt;p&gt;
-The override says that, again for &quot;VE_CONTAINER&quot; visible, for any classes that start with &quot;com.xyz&quot;, then the override file (classname.override) will be searched for in the directory &quot;overrides/e&quot;. For example, if the class was &lt;samp&gt;com.xyz.ABC&lt;/samp&gt; it will look for override file &quot;overrides/e/ABC.override&quot;. If the class was &lt;samp&gt;com.xyz.qxr.ABC&lt;/samp&gt; it will for file &quot;overrides/e/qxr/ABC.override&quot;.
-&lt;p&gt;
-Finally if plugin &quot;org.eclipse.ve&quot; is visible to the project, then &lt;samp&gt;com.xyz.myContributor&lt;/samp&gt; will be used to contribute to the BeanInfo.
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="apiInfo"/>
- </appInfo>
- <documentation>
- The &lt;samp&gt;class&lt;/samp&gt; attribute must be a class that implements the &lt;samp&gt;org.eclipse.jem.internal.beaninfo.core.IBeanInfoContributor&lt;/samp&gt; interface.
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="implementation"/>
- </appInfo>
- <documentation>
- [Enter information about supplied implementation of this extension point.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
- Copyright (c) 2004 IBM Corporation and others.&lt;br&gt;
-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
-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
- </documentation>
- </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/beaninfo/vm/BaseBeanInfo.java b/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/beaninfo/vm/BaseBeanInfo.java
deleted file mode 100644
index 72aa7dae8..000000000
--- a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/beaninfo/vm/BaseBeanInfo.java
+++ /dev/null
@@ -1,866 +0,0 @@
-package org.eclipse.jem.beaninfo.vm;
-
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: BaseBeanInfo.java,v $
- * $Revision: 1.7 $ $Date: 2005/06/24 14:31:44 $
- */
-
-import java.awt.Image;
-import java.beans.*;
-import java.lang.reflect.*;
-
-/**
- * A BaseBeanInfo that provides common support for BeanInfos within the JEM environment.
- *
- * @since 1.1.0
- */
-public abstract class BaseBeanInfo extends SimpleBeanInfo {
-
- // Constants to use to create all descriptors etc.
- protected static java.util.ResourceBundle RESBUNDLE = java.util.ResourceBundle.getBundle("org.eclipse.jem.beaninfo.vm.beaninfo"); //$NON-NLS-1$
-
- /**
- * Bound indicator for apply property arguments.
- *
- * @since 1.1.0
- */
- public static final String BOUND = "bound";//$NON-NLS-1$
-
- /**
- * Constrained indicator for apply property arguments.
- *
- * @since 1.1.0
- */
- public static final String CONSTRAINED = "constrained";//$NON-NLS-1$
-
- /**
- * Property editor class indicator for apply property arguments.
- *
- * @since 1.1.0
- */
- public static final String PROPERTYEDITORCLASS = "propertyEditorClass";//$NON-NLS-1$
-
- /**
- * Read Method indicator for apply property arguments.
- *
- * @since 1.1.0
- */
- public static final String READMETHOD = "readMethod";//$NON-NLS-1$
-
- /**
- * Write method indicator for apply property arguments.
- *
- * @since 1.1.0
- */
- public static final String WRITEMETHOD = "writeMethod";//$NON-NLS-1$
-
- /**
- * Displayname indicator for apply property arguments.
- *
- * @since 1.1.0
- */
- public static final String DISPLAYNAME = "displayName";//$NON-NLS-1$
- /**
- * Indicator used to describe a factory instantiation pattern. Not API as will change to become more extensible
- * via .override mechanism in future
- *
- * @since 1.1
- */
- public static final String FACTORY_CREATION = "FACTORY_CREATION";//$NON-NLS-1$
-
- /**
- * Expert indicator for apply property arguments.
- *
- * @since 1.1.0
- */
- public static final String EXPERT = "expert";//$NON-NLS-1$
-
- /**
- * Hidden indicator for apply property arguments.
- *
- * @since 1.1.0
- */
- public static final String HIDDEN = "hidden";//$NON-NLS-1$
-
- /**
- * Preferred indicator for apply property arguments.
- *
- * @since 1.1.0
- */
- public static final String PREFERRED = "preferred";//$NON-NLS-1$
-
- /**
- * Short description indicator for apply property arguments.
- *
- * @since 1.1.0
- */
- public static final String SHORTDESCRIPTION = "shortDescription";//$NON-NLS-1$
-
- /**
- * Customizer class indicator for apply property arguments.
- *
- * @since 1.1.0
- */
- public static final String CUSTOMIZERCLASS = "customizerClass";//$NON-NLS-1$
-
- /**
- * Category indicator for apply property arguments. Category is a pre-defined attribute name too. That is where the category is stored in a
- * descriptor.
- *
- * @since 1.1.0
- */
- public static final String CATEGORY = "category"; //$NON-NLS-1$
-
- /**
- * In Default eventset indicator for apply property arguments.
- *
- * @since 1.1.0
- */
- public static final String INDEFAULTEVENTSET = "inDefaultEventSet";//$NON-NLS-1$
-
- /**
- * This is a Feature Attribute Key. When this key exists, the value is a java.lang.reflect.Field. It means this property
- * is a field and not a getter/setter. The getter/setter will be ignored and the property type will be the type of the field.
- * <p>
- * At this time, do not use field on an indexed property. This is currently an indefined situation.
- *
- * @since 1.1.0
- */
- public static final String FIELDPROPERTY = "field"; //$NON-NLS-1$
-
- /**
- * Enumeration values indicator for apply property arguments. Enumeration values is a pre-defined attribute name too. That is where the
- * enumeration values are stored.
- *
- * @since 1.1.0
- */
- public static final String ENUMERATIONVALUES = "enumerationValues";//$NON-NLS-1$
-
- /**
- * Obscure indicator for apply property arguments. Obsure is a pre-defined attribute name too. That is where the obscure setting is stored.
- * <p>
- * Obsure means most users don't need it. In the future such features won't even be cached so as to reduce the in-memory costs. Currently this
- * flag is ignored.
- *
- * @since 1.1.0
- */
- public static final String OBSCURE = "ivjObscure";//$NON-NLS-1$
-
- /**
- * Design time indicator for apply property arguments. Design time is a pre-defined attribute name too. That is where the design time setting is
- * stored.
- * <p>
- * Design time means:
- * <ul>
- * <li>Not set: Will be a property that can be connected to, and shows on property sheet (if not hidden).
- * <li><code>true</code>: Special property (it will show on property sheet if not hidden), but it can't be connected to. Usually this is a
- * property that is fluffed up for the IDE purposes but doesn't have a get/set method. This means it is a property for design time and not for
- * runtime.
- * <li><code>false</code>: This property will not show up on property sheet but it can be connected to.
- * </ul>
- *
- * @since 1.1.0
- */
- public static final String DESIGNTIMEPROPERTY = "ivjDesignTimeProperty"; //$NON-NLS-1$
-
- /**
- * EventAdapterClass indicator for apply property arguments. Event adapter class is a pre-defined attribute name too. That is where the event
- * adapter is stored.
- * <p>
- * Adapter class for eventSetDescriptors that provide default no-op implementation of the interface methods. For example
- * <code>java.awt.event.WindowListener</code> has an adapter of <code>java.awt.event.WindowAdapter</code>. What is stored is actually the
- * class name, not the class itself.
- *
- * @since 1.1.0
- */
- public static final String EVENTADAPTERCLASS = "eventAdapterClass"; //$NON-NLS-1$
-
- // The keys for icon file names, NOT THE java.awt.icon key.
- public static final String ICONCOLOR16X16URL = "ICON_COLOR_16x16_URL"; //$NON-NLS-1$ // Not used.
-
- public static final String ICONCOLOR32X32URL = "ICON_COLOR_32x32_URL"; //$NON-NLS-1$ // Not used
-
- public static final String ICONMONO16X16URL = "ICON_MONO_16x16_URL"; //$NON-NLS-1$ // Not used
-
- public static final String ICONMONO32X32URL = "ICON_MONO_32x32_URL"; //$NON-NLS-1$ // Not used
-
- public static final boolean JVM_1_3 = System.getProperty("java.version", "").startsWith("1.3"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
- /**
- * Empty args list for those descriptors that don't have arguments.
- * @since 1.1.0
- */
- public static final Object[] EMPTY_ARGS = new Object[0];
-
- /**
- * Capitalize the string. This uppercases only the first character. So if you have property name of "abc" it will become "Abc".
- *
- * @param s
- * @return string with first letter capitalized.
- *
- * @since 1.1.0
- */
- public static String capitalize(String s) {
- if (s.length() == 0) { return s; }
- char chars[] = s.toCharArray();
- chars[0] = Character.toUpperCase(chars[0]);
- return new String(chars);
- }
-
- /**
- * Create a BeanDescriptor object given an array of keyword/value arguments. Use the keywords defined in this class, e.g. BOUND, EXPERT, etc.
- *
- * @param cls
- * bean for which the bean descriptor is being created.
- * @param args
- * arg pairs, [0] keyword, [1] value, [2] keyword, [3] value, etc.
- * @return new bean descriptor
- *
- * @since 1.1.0
- */
- public static BeanDescriptor createBeanDescriptor(Class cls, Object[] args) {
- Class customizerClass = null;
-
- /* Find the specified customizerClass */
- for (int i = 0; i < args.length; i += 2) {
- if (CUSTOMIZERCLASS.equals(args[i])) {
- customizerClass = (Class) args[i + 1];
- break;
- }
- }
-
- BeanDescriptor bd = new BeanDescriptor(cls, customizerClass);
-
- for (int i = 0; i < args.length; i += 2) {
- String key = (String) args[i];
- Object value = args[i + 1];
- setFeatureDescriptorValue(bd, key, value);
- }
-
- return bd;
- }
-
- /**
- * Create a beans EventSetDescriptor given the following:
- *
- * @param cls
- * The bean class
- * @param name
- * Name of event set
- * @param args
- * arg pairs, [0] keyword, [1] value, [2] keyword, [3] value, etc.
- * @param lmds
- * array of MethodDescriptors defining the listener methods
- * @param listenerType
- * type of listener
- * @param addListenerName
- * add listener method name
- * @param removeListenerNameremove
- * listener method name
- * @return new event set descriptor
- * @since 1.1.0
- */
- public static EventSetDescriptor createEventSetDescriptor(Class cls, String name, Object[] args, MethodDescriptor[] lmds, Class listenerType,
- String addListenerName, String removeListenerName) {
- EventSetDescriptor esd = null;
- Class[] paramTypes = { listenerType};
- try {
- java.lang.reflect.Method addMethod = null;
- java.lang.reflect.Method removeMethod = null;
- try {
- /* get addListenerMethod with parameter types. */
- addMethod = cls.getMethod(addListenerName, paramTypes);
- } catch (Exception ie) {
- throwError(ie, java.text.MessageFormat.format(RESBUNDLE.getString("Cannot_get_the_meth1_EXC_"), //$NON-NLS-1$
- new Object[] { addListenerName}));
- }
- ;
- try {
- /* get removeListenerMethod with parameter types. */
- removeMethod = cls.getMethod(removeListenerName, paramTypes);
- } catch (Exception ie) {
- throwError(ie, java.text.MessageFormat.format(RESBUNDLE.getString("Cannot_get_the_meth1_EXC_"), //$NON-NLS-1$
- new Object[] { removeListenerName}));
- }
- ;
-
- esd = new EventSetDescriptor(name, listenerType, lmds, addMethod, removeMethod);
- } catch (Exception ie) {
- throwError(ie, java.text.MessageFormat.format(RESBUNDLE.getString("Cannot_create_the_E1_EXC_"), //$NON-NLS-1$
- new Object[] { name}));
- }
- ;
- // set the event set descriptor properties
- for (int i = 0; i < args.length; i += 2) {
- String key = (String) args[i];
- Object value = args[i + 1];
- if (INDEFAULTEVENTSET.equals(key)) {
- esd.setInDefaultEventSet(((Boolean) value).booleanValue());
- } else
- setFeatureDescriptorValue(esd, key, value);
- }
-
- return esd;
- }
-
- /**
- * Create a bean's MethodDescriptor.
- *
- * @param cls
- * class of the method.
- * @param name
- * name of the method.
- * @param args
- * arg pairs, [0] keyword, [1] value, [2] keyword, [3] value, etc.
- * @param params
- * parameter descriptors or <code>null</code> if no parameter descriptors.
- * @param paramTypes
- * parameter types
- * @return new method descriptor
- *
- * @since 1.1.0
- */
- public static MethodDescriptor createMethodDescriptor(Class cls, String name, Object[] args, ParameterDescriptor[] params, Class[] paramTypes) {
- MethodDescriptor md = null;
- try {
- java.lang.reflect.Method aMethod = null;
- try {
- /* getMethod with parameter types. */
- aMethod = cls.getMethod(name, paramTypes);
- } catch (Exception ie) {
- throwError(ie, java.text.MessageFormat.format(RESBUNDLE.getString("Cannot_get_the_meth1_EXC_"), //$NON-NLS-1$
- new Object[] { name}));
- }
- ;
- if (params != null && params.length > 0)
- md = new MethodDescriptor(aMethod, params);
- else
- md = new MethodDescriptor(aMethod);
- } catch (Exception ie) {
- throwError(ie, java.text.MessageFormat.format(RESBUNDLE.getString("Cannot_create_Method_EXC_"), //$NON-NLS-1$
- new Object[] { name}));
- }
- ;
- // set the method properties
- for (int i = 0; i < args.length; i += 2) {
- String key = (String) args[i];
- Object value = args[i + 1];
- setFeatureDescriptorValue(md, key, value);
- }
- return md;
- }
-
- private static PropertyDescriptor createOtherPropertyDescriptor(String name, Class cls) throws IntrospectionException {
- Method readMethod = null;
- Method writeMethod = null;
- String base = capitalize(name);
- Class[] parameters = new Class[0];
-
- // First we try boolean accessor pattern
- try {
- readMethod = cls.getMethod("is" + base, parameters);//$NON-NLS-1$
- } catch (Exception ex1) {
- }
- if (readMethod == null) {
- try {
- // Else we try the get accessor pattern.
- readMethod = cls.getMethod("get" + base, parameters);//$NON-NLS-1$
- } catch (Exception ex2) {
- // Find by matching methods of the class
- readMethod = findMethod(cls, "get" + base, 0);//$NON-NLS-1$
- }
- }
-
- if (readMethod == null) {
- // For write-only properties, find the write method
- writeMethod = findMethod(cls, "set" + base, 1);//$NON-NLS-1$
- } else {
- // In Sun's code, reflection fails if there are two
- // setters with the same name and the first setter located
- // does not have the same return type of the getter.
- // This fixes that.
- parameters = new Class[1];
- parameters[0] = readMethod.getReturnType();
- try {
- writeMethod = cls.getMethod("set" + base, parameters);//$NON-NLS-1$
- } catch (Exception ex3) {
- }
- }
- // create the property descriptor
- if ((readMethod != null) || (writeMethod != null)) {
- return new PropertyDescriptor(name, readMethod, writeMethod);
- } else {
- throw new IntrospectionException(java.text.MessageFormat.format(RESBUNDLE.getString("Cannot_find_the_acc1_EXC_"), //$NON-NLS-1$
- new Object[] { name}));
- }
- }
-
- /**
- * Create a beans parameter descriptor.
- *
- * @param name
- * name of parameter
- * @param args
- * arg pairs, [0] keyword, [1] value, [2] keyword, [3] value, etc.
- * @return new parameter descriptor
- *
- * @since 1.1.0
- */
- public static ParameterDescriptor createParameterDescriptor(String name, Object[] args) {
- ParameterDescriptor pd = null;
- try {
- pd = new ParameterDescriptor();
- } catch (Exception ie) {
- throwError(ie, java.text.MessageFormat.format(RESBUNDLE.getString("Cannot_create_Param1_EXC_"), //$NON-NLS-1$
- new Object[] { name}));
- }
- ;
- // set the name
- pd.setName(name);
- // set the method properties
- for (int i = 0; i < args.length; i += 2) {
- String key = (String) args[i];
- Object value = args[i + 1];
- setFeatureDescriptorValue(pd, key, value);
- }
-
- return pd;
- }
-
- private static Method GETCLASS;
-
- static {
- try {
- GETCLASS = Object.class.getMethod("getClass", null); //$NON-NLS-1$
- } catch (SecurityException e) {
- } catch (NoSuchMethodException e) {
- }
- }
- /**
- * Create a property descriptor describing a field property.
- * <p>
- * Note: This is non-standard. The VE knows how to handle this, but any one else using BeanInfo will see this as a property with
- * no getter or setter.
- * @param name
- * @param field
- * @param args
- * @return
- *
- * @since 1.1.0
- */
- public static PropertyDescriptor createFieldPropertyDescriptor(String name, Field field, Object[] args) {
- try {
- PropertyDescriptor pd = new PropertyDescriptor(name, null, null);
- pd.setValue(FIELDPROPERTY, field); // Set the field property so we know it is a field.
- applyFieldArguments(pd, args);
- // Need to set in a phony read method because Introspector will throw it away otherwise. We just use Object.getClass for this.
- // We will ignore the property type for fields. If used outside of VE then it will look like a class property.
- pd.setReadMethod(GETCLASS);
- return pd;
- } catch (IntrospectionException e) {
- throwError(e, java.text.MessageFormat.format(RESBUNDLE.getString("Cannot_create_the_P1_EXC_"), //$NON-NLS-1$
- new Object[] { name}));
- return null;
- }
- }
-
- /**
- * Create a bean's property descriptor.
- *
- * @param cls
- * class of who owns the property (usually the bean). It is used to look up get/set methods for the property.
- * @param name
- * name of the property. It will use get{Name} and set{Name} to find get/set methods.
- * @param args
- * arg pairs, [0] keyword, [1] value, [2] keyword, [3] value, etc.
- * @return new property descriptor
- *
- * @since 1.1.0
- */
- public static PropertyDescriptor createPropertyDescriptor(Class cls, String name, Object[] args) {
- PropertyDescriptor pd = null;
- try {
- // Create assuming that the getter/setter follows reflection patterns
- pd = new PropertyDescriptor(name, cls);
- } catch (IntrospectionException e) {
- // Try creating a property descriptor for read-only, write-only
- // or if Sun's reflection fails
- try {
- pd = createOtherPropertyDescriptor(name, cls);
- } catch (IntrospectionException ie) {
- throwError(ie, java.text.MessageFormat.format(RESBUNDLE.getString("Cannot_create_the_P1_EXC_"), //$NON-NLS-1$
- new Object[] { name}));
- }
- }
-
- applyPropertyArguments(pd, args, cls);
-
- return pd;
- }
-
- /**
- * Create a new PropertyDescriptor based upon the PD sent in. It will clone the sent in one, and apply the args to override any specific setting.
- * Class cls is used for finding read/write methods, if any.
- *
- * This is used when wanting to override only a few specific settings from a property descriptor from the super class.
- *
- * @param fromPDS
- * The PropertyDescriptor array to find the entry to clone. It will be changed in place in the array.
- * @param name
- * The name of the property to find and clone and override.
- * @param cls
- * The class to use to find read/write methods in args. If no read/write methods specified, then this may be null.
- * @param args
- * The arguments to override from fromPD. arg pairs, [0] keyword, [1] value, [2] keyword, [3] value, etc.
- */
- public void replacePropertyDescriptor(PropertyDescriptor[] pds, String name, Class cls, Object[] args) {
- PropertyDescriptor pd = null;
- int iPD = findPropertyDescriptor(pds, name);
- if (iPD == -1)
- return;
- PropertyDescriptor fromPD = pds[iPD];
- try {
-
- pd = pds[iPD] = new PropertyDescriptor(fromPD.getName(), null, null);
- } catch (IntrospectionException e) {
- throwError(e, java.text.MessageFormat.format(RESBUNDLE.getString("Cannot_create_the_P1_EXC_"), //$NON-NLS-1$
- new Object[] { fromPD.getName()}));
- }
-
- // Now copy over the contents of fromPD.
- clonePropertySettings(fromPD, pd);
-
- // Now apply the overrides
- applyPropertyArguments(pd, args, cls);
- return;
- }
-
- private void clonePropertySettings(PropertyDescriptor fromPD, PropertyDescriptor pd) {
- try {
- pd.setReadMethod(fromPD.getReadMethod());
- pd.setWriteMethod(fromPD.getWriteMethod());
- pd.setPropertyEditorClass(fromPD.getPropertyEditorClass());
- pd.setBound(fromPD.isBound());
- pd.setConstrained(fromPD.isConstrained());
- cloneFeatureSettings(fromPD, pd);
- } catch (IntrospectionException e) {
- throwError(e, java.text.MessageFormat.format(RESBUNDLE.getString("Cannot_create_the_P1_EXC_"), //$NON-NLS-1$
- new Object[] { fromPD.getName()}));
- }
- }
-
- private void cloneFeatureSettings(FeatureDescriptor fromFD, FeatureDescriptor fd) {
- fd.setExpert(fromFD.isExpert());
- fd.setHidden(fromFD.isHidden());
- fd.setPreferred(fromFD.isPreferred());
- fd.setShortDescription(fromFD.getShortDescription());
- fd.setDisplayName(fromFD.getDisplayName());
-
- java.util.Enumeration keys = fromFD.attributeNames();
- while (keys.hasMoreElements()) {
- String key = (String) keys.nextElement();
- Object value = fromFD.getValue(key);
- fd.setValue(key, value);
- }
- }
-
- /*
- * The common property arguments between field and standard properties.
- */
- private static boolean applyCommonPropertyArguments(PropertyDescriptor pd, String key, Object value) {
- if (BOUND.equals(key)) {
- pd.setBound(((Boolean) value).booleanValue());
- } else if (CONSTRAINED.equals(key)) {
- pd.setConstrained(((Boolean) value).booleanValue());
- } else if (PROPERTYEDITORCLASS.equals(key)) {
- pd.setPropertyEditorClass((Class) value);
- } else if (FIELDPROPERTY.equals(key))
- return true; // This should not be applied except through createFieldProperty.
- else
- return false;
- return true;
-
- }
-
- private static void applyPropertyArguments(PropertyDescriptor pd, Object[] args, Class cls) {
- for (int i = 0; i < args.length; i += 2) {
- String key = (String) args[i];
- Object value = args[i + 1];
-
- if (!applyCommonPropertyArguments(pd, key, value)) {
- if (READMETHOD.equals(key)) {
- String methodName = (String) value;
- Method method;
- try {
- method = cls.getMethod(methodName, new Class[0]);
- pd.setReadMethod(method);
- } catch (Exception e) {
- throwError(e, java.text.MessageFormat.format(RESBUNDLE.getString("{0}_no_read_method_EXC_"), //$NON-NLS-1$
- new Object[] { cls, methodName}));
- }
- } else if (WRITEMETHOD.equals(key)) {
- String methodName = (String) value;
- try {
- if (methodName == null) {
- pd.setWriteMethod(null);
- } else {
- Method method;
- Class type = pd.getPropertyType();
- method = cls.getMethod(methodName, new Class[] { type});
- pd.setWriteMethod(method);
- }
- } catch (Exception e) {
- throwError(e, java.text.MessageFormat.format(RESBUNDLE.getString("{0}_no_write_method_EXC_"), //$NON-NLS-1$
- new Object[] { cls, methodName}));
- }
- } else {
- // arbitrary value
- setFeatureDescriptorValue(pd, key, value);
- }
- }
- }
- }
-
- private static void applyFieldArguments(PropertyDescriptor pd, Object[] args) {
- for (int i = 0; i < args.length; i += 2) {
- String key = (String) args[i];
- Object value = args[i + 1];
-
- if (!applyCommonPropertyArguments(pd, key, value)) {
- if (READMETHOD.equals(key)) {
- // ignored for field.
- } else if (WRITEMETHOD.equals(key)) {
- // ignored for field.
- } else {
- // arbitrary value
- setFeatureDescriptorValue(pd, key, value);
- }
- }
- }
- }
-
- /**
- * Find the method by comparing (name & parameter size) against the methods in the class. This is an expensive call and should be used only if
- * getMethod with specific parameter types can't find method.
- *
- * @return java.lang.reflect.Method
- * @param aClass
- * java.lang.Class
- * @param methodName
- * java.lang.String
- * @param parameterCount
- * int
- */
- public static java.lang.reflect.Method findMethod(java.lang.Class aClass, java.lang.String methodName, int parameterCount) {
- try {
- /*
- * Since this method attempts to find a method by getting all methods from the class, this method should only be called if getMethod
- * cannot find the method.
- */
- java.lang.reflect.Method methods[] = aClass.getMethods();
- for (int index = 0; index < methods.length; index++) {
- java.lang.reflect.Method method = methods[index];
- if ((method.getParameterTypes().length == parameterCount) && (method.getName().equals(methodName))) { return method; }
- ;
- }
- ;
- } catch (java.lang.Throwable exception) {
- return null;
- }
- ;
- return null;
- }
-
- /**
- * Find a property descriptor of a given name in the list.
- *
- * @param pds
- * The array of property descriptors to search, may be null.
- * @param name
- * The name to search for.
- * @return The found property descriptor index, or -1 if not found.
- */
- public static int findPropertyDescriptor(PropertyDescriptor[] pds, String name) {
- for (int i = 0; i < pds.length; i++) {
- if (name.equals(pds[i].getName()))
- return i;
- }
- return -1;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.beans.BeanInfo#getDefaultEventIndex()
- */
- public int getDefaultEventIndex() {
- return -1;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.beans.BeanInfo#getDefaultPropertyIndex()
- */
- public int getDefaultPropertyIndex() {
- return -1;
- }
-
-
- /* (non-Javadoc)
- * @see java.beans.SimpleBeanInfo#getBeanDescriptor()
- */
- public BeanDescriptor getBeanDescriptor() {
- // Default is to create an empty one.
- return createBeanDescriptor(getBeanClass(), EMPTY_ARGS);
- }
-
- /**
- * Implementation for BeanInfo. This implementation will return the BeanInfo of the superclass.
- *
- * @see BeanInfo#getAdditionalBeanInfo()
- * @since 1.1.0
- */
- public BeanInfo[] getAdditionalBeanInfo() {
- try {
- BeanInfo[] result = new BeanInfo[] { Introspector.getBeanInfo(getBeanClass().getSuperclass())};
- PropertyDescriptor[] oPDs = result[0].getPropertyDescriptors();
- PropertyDescriptor[] nPDs = overridePropertyDescriptors(oPDs);
- if (oPDs != nPDs)
- result[0] = new OverridePDBeanInfo(result[0], nPDs);
- return result;
- } catch (IntrospectionException e) {
- return new BeanInfo[0];
- }
- }
-
- private static class OverridePDBeanInfo implements BeanInfo {
-
- private BeanInfo originalBeanInfo;
-
- private PropertyDescriptor[] overridePDs;
-
- public OverridePDBeanInfo(BeanInfo bi, PropertyDescriptor[] pds) {
- originalBeanInfo = bi;
- overridePDs = pds;
- }
-
- public BeanInfo[] getAdditionalBeanInfo() {
- return originalBeanInfo.getAdditionalBeanInfo();
- }
-
- public BeanDescriptor getBeanDescriptor() {
- return originalBeanInfo.getBeanDescriptor();
- }
-
- public int getDefaultEventIndex() {
- return originalBeanInfo.getDefaultEventIndex();
- }
-
- public int getDefaultPropertyIndex() {
- return originalBeanInfo.getDefaultPropertyIndex();
- }
-
- public EventSetDescriptor[] getEventSetDescriptors() {
- return originalBeanInfo.getEventSetDescriptors();
- }
-
- public Image getIcon(int iconKind) {
- return originalBeanInfo.getIcon(iconKind);
- }
-
- public MethodDescriptor[] getMethodDescriptors() {
- return originalBeanInfo.getMethodDescriptors();
- }
-
- public PropertyDescriptor[] getPropertyDescriptors() {
- return overridePDs;
- }
- }
-
- /**
- * Allow overrides to parent beaninfo. Subclasses should override this method if they wish to override and change any inherited properties. This
- * allows removal of inherited properties or changes of specific properties (such as change from hidden to not hidden).
- *
- * Note: If there any changes, this must return a DIFFERENT array. If it returns the same array, then the changes will not be accepted. If just
- * overriding, should use pds.clone() to get the new array and then change the specific entries.
- *
- * @param pds
- * @return The new changed array or the same array if no changes.
- * @since 1.1.0
- */
- protected PropertyDescriptor[] overridePropertyDescriptors(PropertyDescriptor[] pds) {
- return pds;
- }
-
- /**
- * Get the bean class this beaninfo is for. Used by subclasses to quickly get the bean class without having to code it over and over.
- *
- * @return bean class for this beaninfo.
- *
- * @since 1.1.0
- */
- public abstract Class getBeanClass();
-
- /**
- * Called whenever the bean information class throws an exception. By default it prints a message and then a stacktrace to sys err.
- *
- * @param exception
- * java.lang.Throwable
- * @since 1.1.0
- */
- public void handleException(Throwable exception) {
- System.err.println(RESBUNDLE.getString("UNCAUGHT_EXC_")); //$NON-NLS-1$
- exception.printStackTrace();
- }
-
- private static void setFeatureDescriptorValue(FeatureDescriptor fd, String key, Object value) {
- if (DISPLAYNAME.equals(key)) {
- fd.setDisplayName((String) value);
- } else if (EXPERT.equals(key)) {
- fd.setExpert(((Boolean) value).booleanValue());
- } else if (HIDDEN.equals(key)) {
- fd.setHidden(((Boolean) value).booleanValue());
- } else if (PREFERRED.equals(key)) {
- fd.setPreferred(((Boolean) value).booleanValue());
- if (JVM_1_3) {
- // Bug in 1.3 doesn't preserve the preferred flag, so we will put it into the attributes too.
- fd.setValue(PREFERRED, value);
- }
- } else if (SHORTDESCRIPTION.equals(key)) {
- fd.setShortDescription((String) value);
- }
- // Otherwise assume an arbitrary-named value
- // Assume that the FeatureDescriptor private hashTable\
- // contains only arbitrary-named attributes
- else {
- fd.setValue(key, value);
- }
- }
-
- /**
- * Fatal errors are handled by calling this method. By default it throws an Error exception.
- *
- * @param e
- * exception exception message placed into the new Error thrown.
- * @param s
- * message added to exception message. <code>null</code> if nothing to add.
- *
- * @throws Error
- * turns exception into an Error.
- * @since 1.1.0
- */
- protected static void throwError(Exception e, String s) {
- throw new Error(e.toString() + " " + s);//$NON-NLS-1$
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/beaninfo/vm/basebeaninfonls.properties b/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/beaninfo/vm/basebeaninfonls.properties
deleted file mode 100644
index 03c22824c..000000000
--- a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/beaninfo/vm/basebeaninfonls.properties
+++ /dev/null
@@ -1,31 +0,0 @@
-###############################################################################
-# Copyright (c) 2003 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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/beaninfo/vm/Attic/basebeaninfonls.properties,v $
-# $Revision: 1.4 $ $Date: 2005/04/06 18:03:41 $
-#
-
-
-#
-# Properties for the IvjBeanInfo
-#
-
-#
-# IvjBeanInfo Strings
-#
-Cannot_get_the_meth1_EXC_ = IWAV0011E Cannot get the method {0}.
-Cannot_create_the_E1_EXC_ = IWAV0012E Cannot create the EventSetDescriptor for {0}.
-Cannot_create_Method_EXC_ = IWAV0013E Cannot create the MethodDescriptor for {0}.
-Cannot_find_the_acc1_EXC_ = IWAV0014E Cannot find at least the write or read accessor for property {0}.
-Cannot_create_Param1_EXC_ = IWAV0015E Cannot create the ParameterDescriptor for {0}.
-Cannot_create_the_P1 = Cannot create the PropertyDescriptor for {0}.
-{0}_no_read_method_EXC_ = IWAV0016E Class {0} doesn''t have the requested read accessor {1}.
-{0}_no_write_method_EXC_ = IWAV0017E Class {0} doesn''t have the requested write accessor {1}.
diff --git a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/beaninfo/vm/beaninfo.properties b/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/beaninfo/vm/beaninfo.properties
deleted file mode 100644
index 134d87e37..000000000
--- a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/beaninfo/vm/beaninfo.properties
+++ /dev/null
@@ -1,32 +0,0 @@
-###############################################################################
-# Copyright (c) 2003 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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/beaninfo/vm/Attic/beaninfo.properties,v $
-# $Revision: 1.3 $ $Date: 2005/04/06 18:03:41 $
-#
-
-
-#
-# Properties for the VCE Beaninfo
-#
-
-#
-# IvjBeanInfo Strings
-#
-Cannot_get_the_meth1_EXC_ = IWAV0007E Cannot get the method {0}.
-Cannot_create_the_E1_EXC_ = IWAV0008E Cannot create the EventSetDescriptor for {0}.
-Cannot_create_Method_EXC_ = IWAV0009E Cannot create the MethodDescriptor for {0}.
-Cannot_find_the_acc1_EXC_ = IWAV0010E Cannot find at least the write or read accessor for property {0}.
-Cannot_create_Param1_EXC_ = IWAV0146E Cannot create the ParameterDescriptor for {0}.
-Cannot_create_the_P1_EXC_ = IWAV0147E Cannot create the PropertyDescriptor for {0}.
-{0}_no_read_method_EXC_ = IWAV0148E Class {0} doesn''t have the requested read accessor {1}.
-{0}_no_write_method_EXC_ = IWAV0149E Class {0} doesn''t have the requested write accessor {1}.
-UNCAUGHT_EXC_ = IWAV0123E --------- UNCAUGHT EXCEPTION ---------
diff --git a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/BeanDescriptorEquality.java b/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/BeanDescriptorEquality.java
deleted file mode 100644
index 63ec7d964..000000000
--- a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/BeanDescriptorEquality.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.vm;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: BeanDescriptorEquality.java,v $
- * $Revision: 1.3 $ $Date: 2005/02/15 22:45:49 $
- */
-
-import java.beans.*;
-/**
- * Equality tester for BeanDescriptors
- */
-public class BeanDescriptorEquality extends FeatureDescriptorEquality {
- static void INIT() {
- try {
- MAP_EQUALITY.put(BeanDescriptor.class, (BeanDescriptorEquality.class).getConstructor(new Class[] {BeanDescriptor.class}));
- } catch (NoSuchMethodException e) {
- }
- }
-
- /**
- * Constructor for BeanDescriptorEquality.
- */
- public BeanDescriptorEquality() {
- super();
- }
-
-
- public BeanDescriptorEquality(BeanDescriptor descr) {
- super(descr);
- }
-
- /**
- * Calculate the hashcode for the current feature, add this
- * to the hashcode received from super.calculateHashCode
- * and return the new value.
- *
- * NOTE: for subclasses, it is MANDITORY that the first line be:
- * int hashcode = super.calculateHashCode();
- * and the last line be:
- * return hashcode*31 + (your calculated hashcode for just this subclass);
- */
- protected int calculateHashCode() {
- int hashcode = super.calculateHashCode();
- BeanDescriptor bd = (BeanDescriptor) fFeature;
- int hc = bd.getBeanClass().hashCode();
- if (bd.getCustomizerClass() != null)
- hc += bd.getCustomizerClass().hashCode();
-
- return hashcode*31 + hc;
- }
-
- public boolean equals(Object obj) {
- if (identityTest(obj))
- return true;
- if (!super.equals(obj))
- return false;
-
- BeanDescriptor ob = (BeanDescriptor) ((FeatureDescriptorEquality) obj).fFeature;
- BeanDescriptor fb = (BeanDescriptor) fFeature;
-
- if (ob.getBeanClass() != fb.getBeanClass())
- return false;
- if (ob.getCustomizerClass() != fb.getCustomizerClass())
- return false;
-
- return true;
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/EventSetDescriptorEquality.java b/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/EventSetDescriptorEquality.java
deleted file mode 100644
index c1e989055..000000000
--- a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/EventSetDescriptorEquality.java
+++ /dev/null
@@ -1,145 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.vm;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: EventSetDescriptorEquality.java,v $
- * $Revision: 1.3 $ $Date: 2005/02/15 22:45:49 $
- */
-
-import java.beans.*;
-import java.util.*;
-import java.lang.reflect.Method;
-/**
- * Equality tester for EventSetDescriptors
- */
-public class EventSetDescriptorEquality extends FeatureDescriptorEquality {
-
- static void INIT() {
- try {
- MAP_EQUALITY.put(EventSetDescriptor.class, (EventSetDescriptorEquality.class).getConstructor(new Class[] {EventSetDescriptor.class}));
- } catch (NoSuchMethodException e) {
- }
- }
-
- private ArrayList fListenerMethodDescriptors; // Array of MethodDescriptorEquality's.
-
- /**
- * Constructor for EventSetDescriptorEquality.
- */
- public EventSetDescriptorEquality() {
- super();
- }
-
-
- public EventSetDescriptorEquality(EventSetDescriptor descr) {
- super(descr);
- }
-
- /**
- * A new feature is being set into this object,
- * clear any cache members so that they can be reconstructed.
- *
- * NOTE: Subclasses - remember to call super.clearFeature();
- */
- protected void clearFeature() {
- super.clearFeature();
- fListenerMethodDescriptors = null;
- }
-
- protected ArrayList listenerMethodDescriptors() {
- if (fListenerMethodDescriptors == null) {
- MethodDescriptor[] mds = ((EventSetDescriptor) fFeature).getListenerMethodDescriptors();
- fListenerMethodDescriptors = new ArrayList(mds.length);
- for (int i=0; i<mds.length; i++)
- fListenerMethodDescriptors.add(new MethodDescriptorEquality(mds[i]));
- }
- return fListenerMethodDescriptors;
- }
-
- /**
- * Calculate the hashcode for the current feature, add this
- * to the hashcode received from super.calculateHashCode
- * and return the new value.
- *
- * NOTE: for subclasses, it is MANDITORY that the first line be:
- * int hashcode = super.calculateHashCode();
- * and the last line be:
- * return hashcode*31 + (your calculated hashcode for just this subclass);
- */
- protected int calculateHashCode() {
- int hashcode = super.calculateHashCode();
- EventSetDescriptor bd = (EventSetDescriptor) fFeature;
- int hc = bd.getAddListenerMethod().hashCode();
- Method[] methods = bd.getListenerMethods();
- int mhc = 0;
- for (int i=0; i<methods.length; i++)
- mhc = mhc*31 + methods[i].hashCode();
- hc += mhc;
- hc += listenerMethodDescriptors().hashCode();
- hc += bd.getListenerType().hashCode();
- hc += bd.getRemoveListenerMethod().hashCode();
- hc += (bd.isInDefaultEventSet() ? Boolean.TRUE : Boolean.FALSE).hashCode();
- hc += (bd.isUnicast() ? Boolean.TRUE : Boolean.FALSE).hashCode();
-
- return hashcode*31 + hc;
- }
-
-
- public boolean equals(Object obj) {
- if (identityTest(obj))
- return true;
-
- if (!super.equals(obj))
- return false;
-
- EventSetDescriptor oe = (EventSetDescriptor) ((FeatureDescriptorEquality) obj).fFeature;
- EventSetDescriptor fe = (EventSetDescriptor) fFeature;
-
- EventSetDescriptorEquality oee = (EventSetDescriptorEquality) obj;
-
- if (!oe.getAddListenerMethod().equals(fe.getAddListenerMethod()))
- return false;
- if (!java.util.Arrays.equals(oe.getListenerMethods(), fe.getListenerMethods()))
- return false;
- if (oe.getListenerType() != fe.getListenerType())
- return false;
- if (oe.getRemoveListenerMethod() != fe.getRemoveListenerMethod())
- return false;
- if (oe.isInDefaultEventSet() != fe.isInDefaultEventSet())
- return false;
- if (oe.isUnicast() != oe.isUnicast())
- return false;
-
- if (fListenerMethodDescriptors != null || oee.fListenerMethodDescriptors != null) {
- // We are in a Map lookup situation, so one side has listener method equalities, so we will compare that way.
- if (!oee.listenerMethodDescriptors().equals(listenerMethodDescriptors()))
- return false;
- } else {
- // We are in the building the list phases, don't waste space building entire list.
- MethodDescriptor[] ours = fe.getListenerMethodDescriptors();
- MethodDescriptor[] theirs = oe.getListenerMethodDescriptors();
- if (ours.length != theirs.length)
- return false;
- if (ours.length > 0) {
- MethodDescriptorEquality workingOurs = new MethodDescriptorEquality();
- MethodDescriptorEquality workingThiers = new MethodDescriptorEquality();
- for (int i = 0; i < ours.length; i++) {
- workingOurs.setFeature(ours[i]);
- workingThiers.setFeature(theirs[i]);
- if (!workingOurs.equals(workingThiers))
- return false;
- }
- }
- }
-
- return true;
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/FeatureDescriptorEquality.java b/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/FeatureDescriptorEquality.java
deleted file mode 100644
index f0c387c35..000000000
--- a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/FeatureDescriptorEquality.java
+++ /dev/null
@@ -1,201 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.vm;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: FeatureDescriptorEquality.java,v $
- * $Revision: 1.4 $ $Date: 2005/06/22 21:33:32 $
- */
-
-import java.beans.*;
-import java.util.*;
-import java.lang.reflect.*;
-/**
- * This object is used to test for semantic equality (equals())
- * between feature objects. It is needed because Feature's don't
- * provide a semantic equality, only an identity equality. Need
- * semantic equality so that keys in map can be found equal
- * semantically.
- */
-
-public class FeatureDescriptorEquality {
- protected FeatureDescriptor fFeature;
-
- private HashMap fValues; // The key/values for this feature. We grab them out
- // so that we don't have to keep re-getting them for equality
- // compares. This is done the first time needed in the equals
- // statement.
-
- private int fHashCode = 0; // Hashcode of this equality object. The hashcode for the feature is expensive
- // so we will calculate it once (the assumption is that
- // features once created aren't changed, which for our
- // purposes here in beaninfo land is good).
-
- protected static HashMap MAP_EQUALITY = new HashMap(10); // Map from descriptor to equality type.
- static {
- try {
- MAP_EQUALITY.put(FeatureDescriptor.class, (FeatureDescriptorEquality.class).getConstructor(new Class[] {FeatureDescriptor.class}));
- } catch (NoSuchMethodException e) {
- }
- // Need to set up the others.
- BeanDescriptorEquality.INIT();
- EventSetDescriptorEquality.INIT();
- IndexedPropertyDescriptorEquality.INIT();
- MethodDescriptorEquality.INIT();
- ParameterDescriptorEquality.INIT();
- }
-
- /**
- * Create the appropriate descriptor equality for this object.
- */
- public static FeatureDescriptorEquality createEquality(FeatureDescriptor descr) {
- try {
- return (FeatureDescriptorEquality) ((Constructor) MAP_EQUALITY.get(descr.getClass())).newInstance(new Object[] {descr});
- } catch (IllegalAccessException e) {
- } catch (InstantiationException e) {
- } catch (InvocationTargetException e) {
- e.printStackTrace();
- }
- return null;
- }
-
- public FeatureDescriptorEquality() {
- }
-
- /**
- * NOTE: Every subclass needs to implement an override for the methods:
- * calculateHashCode
- * equals
- * clearFeature - if it has any cache values
- */
-
- public FeatureDescriptorEquality(FeatureDescriptor feature) {
- setFeature(feature);
- }
-
- public final void setFeature(FeatureDescriptor feature) {
- clearFeature();
- fFeature = feature;
- }
-
- /**
- * A new feature is being set into this object,
- * clear any cache members so that they can be reconstructed.
- *
- * NOTE: Subclasses - remember to call super.clearFeature();
- */
- protected void clearFeature() {
- fValues = null;
- fHashCode = 0;
- }
-
- public final int hashCode() {
- if (fHashCode == 0)
- fHashCode = calculateHashCode();
- return fHashCode;
- }
-
- protected final HashMap values() {
- if (fValues == null) {
- fValues = new HashMap(5);
-
- Enumeration keys = fFeature.attributeNames();
- while (keys.hasMoreElements()) {
- String key = (String) keys.nextElement();
- fValues.put(key, fFeature.getValue(key));
- }
- }
- return fValues;
- }
-
- /**
- * Calculate the hashcode for the current feature, add this
- * to the hashcode received from super.calculateHashCode
- * and return the new value.
- *
- * NOTE: for subclasses, it is MANDITORY that the first line be:
- * int hashcode = super.calculateHashCode();
- * and the last line be:
- * return hashcode*31 + (your calculated hashcode for just this subclass);
- */
- protected int calculateHashCode() {
- int hashcode = 0;
- if (fFeature.getName() != null)
- hashcode += fFeature.getName().hashCode();
-
- if (fFeature.getDisplayName() != fFeature.getName())
- hashcode += fFeature.getDisplayName().hashCode();
- if (fFeature.getShortDescription() != fFeature.getDisplayName())
- hashcode += fFeature.getShortDescription().hashCode();
-
- hashcode += (fFeature.isExpert() ? Boolean.TRUE : Boolean.FALSE).hashCode();
- hashcode += (fFeature.isHidden() ? Boolean.TRUE : Boolean.FALSE).hashCode();
- hashcode += (fFeature.isPreferred() ? Boolean.TRUE : Boolean.FALSE).hashCode();
-
- hashcode += values().hashCode();
- return hashcode;
- }
-
- /**
- * equals: See if this is equal semantically.
- *
- * NOTE: Every subclass needs to implement this and
- * the first few lines should be:
- * if (identityTest())
- * return true;
- * if (!super.equals(obj))
- * return false;
- */
-
- public boolean equals(Object obj) {
- if (identityTest(obj))
- return true;
- if (!(obj instanceof FeatureDescriptorEquality))
- return false;
-
- FeatureDescriptorEquality ofe = (FeatureDescriptorEquality) obj;
- FeatureDescriptor of = ofe.fFeature;
-
- if (fFeature.getClass() != of.getClass())
- return false;
-
- if (!fFeature.getName().equals(of.getName()))
- return false;
- if (!fFeature.getDisplayName().equals(of.getDisplayName()))
- return false;
- if (!fFeature.getShortDescription().equals(of.getShortDescription()))
- return false;
- if (fFeature.isExpert() != of.isExpert() ||
- fFeature.isHidden() != of.isHidden() ||
- fFeature.isPreferred() != of.isPreferred())
- return false;
-
- if (!values().equals(ofe.values()))
- return false;
- return true;
- }
-
- /*
- * Identity test: Tests for quick identity of
- * descriptors. If this returns true, then
- * no other tests required.
- */
- protected boolean identityTest(Object obj) {
- if (!(obj instanceof FeatureDescriptorEquality))
- return false;
- if (this == obj)
- return true;
-
- if (((FeatureDescriptorEquality) obj).fFeature == fFeature)
- return true;
-
- return false;
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/IndexedPropertyDescriptorEquality.java b/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/IndexedPropertyDescriptorEquality.java
deleted file mode 100644
index 33fc54304..000000000
--- a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/IndexedPropertyDescriptorEquality.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.vm;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: IndexedPropertyDescriptorEquality.java,v $
- * $Revision: 1.4 $ $Date: 2005/06/22 21:33:32 $
- */
-
-import java.beans.*;
-/**
- * IndexedPropertyDescriptor equality tester
- */
-public class IndexedPropertyDescriptorEquality extends PropertyDescriptorEquality {
-
- static void INIT() {
- try {
- MAP_EQUALITY.put(IndexedPropertyDescriptor.class, (IndexedPropertyDescriptorEquality.class).getConstructor(new Class[] {PropertyDescriptor.class}));
- MAP_EQUALITY.put(PropertyDescriptor.class, (IndexedPropertyDescriptorEquality.class).getConstructor(new Class[] {PropertyDescriptor.class}));
- } catch (NoSuchMethodException e) {
- }
- }
-
- public IndexedPropertyDescriptorEquality() {
- }
-
- public IndexedPropertyDescriptorEquality(PropertyDescriptor descr) {
- super(descr);
- }
- /**
- * Calculate the hashcode for the current feature, add this
- * to the hashcode received from super.calculateHashCode
- * and return the new value.
- *
- * NOTE: for subclasses, it is MANDITORY that the first line be:
- * int hashcode = super.calculateHashCode();
- * and the last line be:
- * return hashcode*31 + (your calculated hashcode for just this subclass);
- */
- protected int calculateHashCode() {
- int hashcode = super.calculateHashCode();
- if (fFeature instanceof IndexedPropertyDescriptor) {
- IndexedPropertyDescriptor pd = (IndexedPropertyDescriptor) fFeature;
-
- int hc = pd.getIndexedPropertyType().hashCode();
-
- if (pd.getIndexedReadMethod() != null)
- hc += pd.getIndexedReadMethod().hashCode();
- if (pd.getIndexedWriteMethod() != null)
- hc += pd.getIndexedWriteMethod().hashCode();
- return hashcode*31 + hc;
- } else
- return hashcode;
- }
-
- public boolean equals(Object obj) {
- if (!(obj instanceof FeatureDescriptorEquality))
- return false;
- if (identityTest(obj))
- return true;
- if (fFeature.getClass() != ((FeatureDescriptorEquality) obj).fFeature.getClass())
- return false; // If they aren't both PropertyDesciptors or IndexedPropertyDescriptors, then they don't match.
- if (!super.equals(obj))
- return false;
-
- if (fFeature instanceof IndexedPropertyDescriptor) {
- IndexedPropertyDescriptor op = (IndexedPropertyDescriptor) ((FeatureDescriptorEquality) obj).fFeature;
- IndexedPropertyDescriptor fp = (IndexedPropertyDescriptor) fFeature;
-
- if (op.getIndexedPropertyType() != fp.getIndexedPropertyType())
- return false;
- if (op.getIndexedReadMethod() != fp.getIndexedReadMethod())
- return false;
- if (op.getIndexedWriteMethod() != fp.getIndexedWriteMethod())
- return false;
- }
-
- return true;
- }
-
-
-
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/MethodDescriptorEquality.java b/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/MethodDescriptorEquality.java
deleted file mode 100644
index 2ee59f5f5..000000000
--- a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/MethodDescriptorEquality.java
+++ /dev/null
@@ -1,135 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.vm;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: MethodDescriptorEquality.java,v $
- * $Revision: 1.3 $ $Date: 2005/02/15 22:45:49 $
- */
-
-import java.beans.*;
-import java.util.*;
-/**
- * Equality tester for MethodDescriptors
- */
-public class MethodDescriptorEquality extends FeatureDescriptorEquality {
-
- static void INIT() {
- try {
- MAP_EQUALITY.put(MethodDescriptor.class, (MethodDescriptorEquality.class).getConstructor(new Class[] {MethodDescriptor.class}));
- } catch (NoSuchMethodException e) {
- }
- }
-
- private ArrayList fParameterDescriptors; // Array of ParameterDescriptorEquality's.
-
- public MethodDescriptorEquality() {
- }
-
- public MethodDescriptorEquality(MethodDescriptor descr) {
- super(descr);
- }
-
- /**
- * A new feature is being set into this object,
- * clear any cache members so that they can be reconstructed.
- *
- * NOTE: Subclasses - remember to call super.clearFeature();
- */
- protected void clearFeature() {
- super.clearFeature();
- fParameterDescriptors = null;
- }
-
- protected ArrayList parameterDescriptors() {
- if (fParameterDescriptors == null) {
- ParameterDescriptor[] pds = ((MethodDescriptor) fFeature).getParameterDescriptors();
- if (pds != null) {
- fParameterDescriptors = new ArrayList(pds.length);
- for (int i=0; i<pds.length; i++)
- fParameterDescriptors.add(new ParameterDescriptorEquality(pds[i]));
- }
- }
- return fParameterDescriptors;
- }
- /**
- * Calculate the hashcode for the current feature, add this
- * to the hashcode received from super.calculateHashCode
- * and return the new value.
- *
- * NOTE: for subclasses, it is MANDITORY that the first line be:
- * int hashcode = super.calculateHashCode();
- * and the last line be:
- * return hashcode*31 + (your calculated hashcode for just this subclass);
- */
- protected int calculateHashCode() {
- int hashcode = super.calculateHashCode();
- MethodDescriptor bd = (MethodDescriptor) fFeature;
- int hc = bd.getMethod().hashCode();
- if (parameterDescriptors() != null)
- hc += parameterDescriptors().hashCode();
-
- return hashcode*31 + hc;
- }
-
- public boolean equals(Object obj) {
- if (identityTest(obj))
- return true;
-
- if (!super.equals(obj))
- return false;
-
- MethodDescriptorEquality oem = (MethodDescriptorEquality) obj;
- MethodDescriptor om = (MethodDescriptor) oem.fFeature;
- MethodDescriptor fm = (MethodDescriptor) fFeature;
-
- if (fm.getMethod() != om.getMethod())
- return false;
-
- if (fParameterDescriptors != null || oem.fParameterDescriptors != null) {
- // We are in a Map lookup situation, so one side has listener method equalities, so we will compare that way.
- if (parameterDescriptors() == null)
- if (((MethodDescriptorEquality) obj).parameterDescriptors() != null)
- return false;
- else ;
- else
- if (!parameterDescriptors().equals(((MethodDescriptorEquality) obj).parameterDescriptors()))
- return false;
- } else {
- // We are in the building the list phases, don't waste space building entire list.
- ParameterDescriptor[] ours = fm.getParameterDescriptors();
- ParameterDescriptor[] theirs = om.getParameterDescriptors();
- if (ours == theirs)
- return true;
- else if (ours == null)
- if (theirs != null)
- return false;
- else
- ;
- else if (theirs == null)
- return false;
- else if (ours.length != theirs.length)
- return false;
- else if (ours.length > 0) {
- ParameterDescriptorEquality workingOurs = new ParameterDescriptorEquality();
- ParameterDescriptorEquality workingThiers = new ParameterDescriptorEquality();
- for (int i = 0; i < ours.length; i++) {
- workingOurs.setFeature(ours[i]);
- workingThiers.setFeature(theirs[i]);
- if (!workingOurs.equals(workingThiers))
- return false;
- }
- }
- }
-
-
- return true;
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/ModelingBeanInfo.java b/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/ModelingBeanInfo.java
deleted file mode 100644
index f2c04df1c..000000000
--- a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/ModelingBeanInfo.java
+++ /dev/null
@@ -1,862 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.vm;
-
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: ModelingBeanInfo.java,v $
- * $Revision: 1.7 $ $Date: 2005/07/08 17:51:48 $
- */
-
-import java.beans.*;
-import java.io.IOException;
-import java.io.ObjectOutputStream;
-import java.lang.reflect.*;
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.util.*;
-
-import org.eclipse.jem.beaninfo.vm.BaseBeanInfo;
-import org.eclipse.jem.internal.beaninfo.common.*;
-import org.eclipse.jem.internal.proxy.common.*;
-
-/**
- * This class is the beaninfo class that is created when beaninfo modeling introspects a bean. Its purpose is to gather together and analyze the
- * beaninfo. For example, it checks with the supertype beaninfo to see if all of the supertype's descriptors are included in this list. If they are,
- * then it knows that it does a straight inheritance of the supertype's descriptors, and those descriptors can be removed from the list. This makes it
- * easier on the model side so that there isn't a great proliferation of descriptors all describing the same properties. In that case they can be
- * merged from the supertype model. If some are not found, then that means this beaninfo is trying to hide some of them, and in that case this is the
- * definitive list and inheritance shouldn't be used on the model side. However, for those features which are essentially the inherited feature (i.e.
- * the BeanInfo simply filtered out some inherited but not all), they will be returnable (by name). The IDE side will take these that are "inherited"
- * and will return the actual structured feature from the inherited class.
- *
- * The test for seeing if the super feature is included in the beaninfo is first to see if the the feature is in the beaninfo by name, if it is then
- * it is marked as included. Then a check is made on equality, if they are equal, then the feature is removed from the beaninfo list, but the merge
- * flag is still left on, and removed inherited feature is added to the list of inherited features. If all inherited features are found, this list is
- * cleared and flag is set which simply says merge all inherited. This allows merging to occur but it also allows overrides to occur.
- *
- * Note: Test for identity is different between JDK 1.5 and above and below. 1.5 and above, we can use actual equals() because the same descriptor is
- * returned from inherited features. In 1.3, clones were always returned and equals() would answer false, so we need to create a special equality
- * descriptor which turns the equals() into one that can test clones for semantic equality. See Java Bug ID#4996673 The problem was supposed to be
- * fixed in 1.4 but it was not fixed. Originally a new clone was created each time a beaninfo was requested. That is no longer done in 1.4, but the
- * processing to create the original beaninfo does a clone accidently under the covers. Looking at 1.5 it looks this was fixed, but it hasn't been
- * tested here yet.
- */
-
-public abstract class ModelingBeanInfo implements ICallback {
-
- private static boolean PRE15;
- static {
- String version = System.getProperty("java.version", ""); //$NON-NLS-1$ //$NON-NLS-2$
- PRE15 = version.startsWith("1."); //$NON-NLS-1$
- if (PRE15) {
- // Continue to check, get the revision.
- int revision = 0;
- if (version.length() > 2) {
- int revEnd = version.indexOf('.', 2);
- revision = version.length() > 2 ? Integer.parseInt(revEnd != -1 ? version.substring(2, revEnd) : version.substring(2)) : 0;
- PRE15 = revision < 5;
- }
- }
- }
-
- static class FeatureEqualitySet extends HashSet {
-
- /**
- * Comment for <code>serialVersionUID</code>
- *
- * @since 1.1.0
- */
- private static final long serialVersionUID = -3744776740604328324L;
- private FeatureDescriptorEquality workingKey;
-
- public FeatureEqualitySet(List features) {
- super(features.size());
- // Get first feature to fiqure out type of working key. This will not be reentrant.
- workingKey = FeatureDescriptorEquality.createEquality((FeatureDescriptor) features.get(0));
- this.addAll(features);
- }
-
- /**
- * @see java.util.Collection#add(Object)
- */
- public boolean add(Object o) {
- return super.add(FeatureDescriptorEquality.createEquality((FeatureDescriptor) o));
- }
-
- /**
- * @see java.util.Collection#contains(Object)
- */
- public boolean contains(Object o) {
- workingKey.setFeature((FeatureDescriptor) o);
- return super.contains(workingKey);
- }
-
- }
-
- // The following fields indicate if the super info should be merged
- // in on the model side. no merge means there were no inherited methods at all. So the
- // beaninfo presented is definitive. If merge, then get...Descriptors will return just
- // the ones for this level, and getSuper...Descriptors will return the inherited ones.
- // Though in this case, if the returned super list is null, then that means use ALL of
- // the inherited ones.
- // The super list returns simply the names, don't need to have the full descriptors in that case.
- protected boolean fMergeInheritedEvents = false, fMergeInheritedMethods = false, fMergeInheritedProperties = false;
-
- protected final BeanInfo fTargetBeanInfo; // The beaninfo being modeled.
-
- // Local descriptors
- protected EventSetDescriptor[] fEventSets;
-
- protected MethodDescriptor[] fMethods;
-
- protected PropertyDescriptor[] fProperties;
-
- // Not inherited descriptor names, will be null if no merge or if merge all. This is list of names to NOT merge. It is usually shorter than the list to merge from super.
-
- // Methods are special. You can have duplicates, so name is not sufficient.
- // So for methods,
- // will use an array of Strings where:
- // For each one the full signature
- // will be in the list, e.g. "name:methodName(argtype,..." where argtype is the fullyqualified
- // classname (using "." notation for inner classes), and using format "java.lang.String[]" for
- // arrays.
- //
- // This is because even if there are no duplicates, it will take less time/space to simply create the entries
- // then it would to create a set to see if there are duplicates and then create the final array.
- protected String[] fNotInheritedEventSets;
-
- protected String[] fNotInheritedMethods;
-
- protected String[] fNotInheritedProperties;
-
- protected int doFlags;
-
- /**
- * Method used to do introspection and create the appropriate ModelingBeanInfo
- *
- * This will always introspect.
- */
- public static ModelingBeanInfo introspect(Class introspectClass, int doFlags) throws IntrospectionException {
- return introspect(introspectClass, true, doFlags);
- }
-
- /**
- * Method used to do introspection and create the appropriate ModelingBeanInfo
- *
- * introspectIfNoBeanInfo: If this is true, then if no explicit beaninfo was found for this class, then introspection will be done anyway. The
- * Introspector will use reflection for local methods/events/properties of this class and then add in the results of the superclass introspection.
- * If this parameter is false, then if the explicit beaninfo is not found, then no introspection will be done and null will be returned.
- */
- public static ModelingBeanInfo introspect(Class introspectClass, boolean introspectIfNoBeanInfo, int doFlags) throws IntrospectionException {
- if (!introspectIfNoBeanInfo) {
- // Need to check if the beaninfo is explicitly supplied.
- // If not, then we return null.
- // The checks will be the same that Introspector will use.
-
- boolean found = false;
- // 1. Is there a BeanInfo class in the same package
- if (!classExists(introspectClass.getName() + "BeanInfo", introspectClass)) { //$NON-NLS-1$
- // 2. Is this class a BeanInfo class for itself.
- if (!(BeanInfo.class).isAssignableFrom(introspectClass)) {
- // 3. Can this class be found in the Beaninfo searchpath.
- String[] searchPath = Introspector.getBeanInfoSearchPath();
- int startClassname = introspectClass.getName().lastIndexOf(".") + 1; //$NON-NLS-1$
- String biName = "." + introspectClass.getName().substring(startClassname) + "BeanInfo"; //$NON-NLS-1$ //$NON-NLS-2$
- for (int i = 0; i < searchPath.length; i++) {
- if (classExists(searchPath[i] + biName, introspectClass)) {
- found = true;
- break;
- }
- }
- } else
- found = true;
- } else
- found = true;
-
- if (!found)
- return null;
- }
-
- BeanInfo bInfo = Introspector.getBeanInfo(introspectClass);
- Class superClass = introspectClass.getSuperclass();
-
- if (superClass == null)
- return PRE15 ? (ModelingBeanInfo) new ModelingBeanInfoPre15(bInfo, doFlags) : new ModelingBeanInfo15(bInfo, doFlags);
- else
- return PRE15 ? (ModelingBeanInfo) new ModelingBeanInfoPre15(bInfo, Introspector.getBeanInfo(superClass), doFlags) : new ModelingBeanInfo15(bInfo,
- Introspector.getBeanInfo(superClass), doFlags);
- }
-
- /**
- * See if this class exists, first in the class loader of the sent class, then in the system loader, then the bootstrap loader, and finally the
- * current thread context class loader.
- */
- protected static boolean classExists(String className, Class fromClass) {
- if (fromClass.getClassLoader() != null)
- try {
- fromClass.getClassLoader().loadClass(className);
- return true;
- } catch (ClassNotFoundException e) {
- }
- if (ClassLoader.getSystemClassLoader() != null)
- try {
- ClassLoader.getSystemClassLoader().loadClass(className);
- return true;
- } catch (ClassNotFoundException e) {
- }
- try {
- Class.forName(className);
- return true;
- } catch (ClassNotFoundException e) {
- }
-
- try {
- // Use the classloader from the current Thread.
- ClassLoader cl = Thread.currentThread().getContextClassLoader();
- cl.loadClass(className);
- return true;
- } catch (ClassNotFoundException e) {
- }
-
- return false;
-
- }
-
- /**
- * Used only for Object since that is the only bean that doesn't have a superclass. Superclass beaninfo required for all other classes. If this is
- * constructed then this means no merge and the list is definitive.
- */
- protected ModelingBeanInfo(BeanInfo beanInfo, int doFlags) {
- fTargetBeanInfo = beanInfo;
- this.doFlags = doFlags;
- }
-
- protected ModelingBeanInfo(BeanInfo beanInfo, BeanInfo superBeanInfo, int doFlags) {
- this(beanInfo, doFlags);
-
- // Now go through the beaninfo to determine the merge state.
- // The default is no merge.
-
- if ((doFlags & IBeanInfoIntrospectionConstants.DO_EVENTS) != 0) {
- List full = addAll(beanInfo.getEventSetDescriptors());
- List inherited = addAll(superBeanInfo.getEventSetDescriptors());
-
- fMergeInheritedEvents = stripList(full, inherited);
- if (fMergeInheritedEvents) {
- if (!full.isEmpty())
- fEventSets = (EventSetDescriptor[]) full.toArray(new EventSetDescriptor[full.size()]);
- if (!inherited.isEmpty())
- createEventArray(inherited); // This is actually a list of those NOT inherited.
- }
- }
-
- if ((doFlags & IBeanInfoIntrospectionConstants.DO_METHODS) != 0) {
- List full = addAll(beanInfo.getMethodDescriptors());
- List inherited = addAll(superBeanInfo.getMethodDescriptors());
-
- fMergeInheritedMethods = stripList(full, inherited);
- if (fMergeInheritedMethods) {
- if (!full.isEmpty())
- fMethods = (MethodDescriptor[]) full.toArray(new MethodDescriptor[full.size()]);
- if (!inherited.isEmpty())
- createMethodEntries(inherited); // This is actually a list of those NOT inherited.
- }
- }
-
- if ((doFlags & IBeanInfoIntrospectionConstants.DO_PROPERTIES) != 0) {
- List full = addAll(beanInfo.getPropertyDescriptors());
- List inherited = addAll(superBeanInfo.getPropertyDescriptors());
-
- fMergeInheritedProperties = stripList(full, inherited);
- if (fMergeInheritedProperties) {
- if (!full.isEmpty())
- fProperties = (PropertyDescriptor[]) full.toArray(new PropertyDescriptor[full.size()]);
- if (!inherited.isEmpty())
- createPropertyArray(inherited); // This is actually a list of those NOT inherited.
- }
- }
- }
-
- protected void createEventArray(List features) {
- fNotInheritedEventSets = createDescriptorNames(features);
- }
-
- protected void createMethodEntries(List features) {
- int s = features.size();
- fNotInheritedMethods = new String[s];
- for (int i = 0; i < s; i++) {
- fNotInheritedMethods[i] = longName((MethodDescriptor) features.get(i));
- }
- }
-
- protected String longName(MethodDescriptor md) {
- String n = md.getName();
- StringBuffer sb = new StringBuffer(n.length() + 20);
- sb.append(n);
- sb.append(':');
- Method m = md.getMethod();
- sb.append(m.getName());
- sb.append('(');
- Class[] parms = m.getParameterTypes();
- for (int j = 0; j < parms.length; j++) {
- if (j > 0)
- sb.append(',');
- if (!parms[j].isArray())
- sb.append(parms[j].getName().replace('$', '.'));
- else {
- Class finalType = parms[j].getComponentType();
- int insrt = sb.length();
- while (finalType.isArray()) {
- sb.append("[]"); //$NON-NLS-1$
- finalType = finalType.getComponentType();
- }
- sb.insert(insrt, finalType.getName().replace('$', '.'));
- }
- }
- return sb.toString();
- }
-
- protected void createPropertyArray(List features) {
- fNotInheritedProperties = createDescriptorNames(features);
- }
-
- protected String[] createDescriptorNames(List features) {
- String[] result = new String[features.size()];
- for (int i = 0; i < result.length; i++) {
- result[i] = ((FeatureDescriptor) features.get(i)).getName();
- }
- return result;
- }
-
- protected List addAll(Object[] set) {
- if (set != null) {
- ArrayList l = new ArrayList(set.length);
- for (int i = 0; i < set.length; i++) {
- l.add(set[i]);
- }
- return l;
- } else
- return Collections.EMPTY_LIST;
- }
-
- /**
- * If this returns true, then all of the super class's events should be merged in. If it returns false, then the events returned are it, there are
- * no others.
- */
- public boolean isMergeInheritedEvents() {
- return fMergeInheritedEvents;
- }
-
- /**
- * If this returns true, then all of the super class's methods should be merged in. If it returns false, then the methods returned are it, there
- * are no others.
- */
- public boolean isMergeInheritedMethods() {
- return fMergeInheritedMethods;
- }
-
- /**
- * If this returns true, then all of the super class's properties should be merged in. If it returns false, then the properties returned are it,
- * there are no others.
- */
- public boolean isMergeInheritedProperties() {
- return fMergeInheritedProperties;
- }
-
- public BeanInfo[] getAdditionalBeanInfo() {
- return fTargetBeanInfo.getAdditionalBeanInfo();
- }
-
- public BeanDescriptor getBeanDescriptor() {
- return fTargetBeanInfo.getBeanDescriptor();
- }
-
- public EventSetDescriptor[] getEventSetDescriptors() {
- return fMergeInheritedEvents ? fEventSets : fTargetBeanInfo.getEventSetDescriptors();
- }
-
- public java.awt.Image getIcon(int iconKind) {
- return fTargetBeanInfo.getIcon(iconKind);
- }
-
- public MethodDescriptor[] getMethodDescriptors() {
- return fMergeInheritedMethods ? fMethods : fTargetBeanInfo.getMethodDescriptors();
- }
-
- public PropertyDescriptor[] getPropertyDescriptors() {
- return fMergeInheritedProperties ? fProperties : fTargetBeanInfo.getPropertyDescriptors();
- }
-
- public String[] getNotInheritedEventSetDescriptors() {
- return fNotInheritedEventSets;
- }
-
- public String[] getNotInheritedMethodDescriptors() {
- return fNotInheritedMethods;
- }
-
- public String[] getNotInheritedPropertyDescriptors() {
- return fNotInheritedProperties;
- }
-
- protected String computeKey(FeatureDescriptor feature) {
- return feature instanceof MethodDescriptor ? longName((MethodDescriptor) feature) : feature.getName();
- }
-
- /*
- * Strip the list down using the Equality objects.
- */
- protected boolean stripList(List fullList, List inheritedList) {
- // The process is to create a boolean list mirroring the inheritedList.
- // This boolean list indicates if the corresponding (by index)
- // entry from the inheritedList is to be retained in the final computed
- // list.
- //
- // A Hashmap is created where the key is the computedKey from the inheritedList
- // and the value is the index into the inheritedList. This is so that we can quickly determine if the
- // entry is matching.
- //
- // Then the fullList will be stepped through and see if there is
- // an entry in the Hashmap for it. If there is an entry, then
- // the entry is checked to see if it is semantically equal.
- // If it is, then the boolean list entry is marked so that
- // the inheritedList entry will be retained, the fullList entry removed and the counter
- // of the number of entries in the inheritedList copy is incremented.
- // If they aren't semantically equal, then we know that this is
- // an override. In that case, the fullList entry is kept, the inheritedList
- // entry is not retained, but we don't prevent merge later.
- //
- // If the fullList entry is not found in the HashMap, then we know it is not
- // from the inheritedList, so it will be retained in the fullList.
- //
- // If we get all of the way through, then we know that what is left
- // in fullList is just this level.
- //
- // When we return we know that
- // a) fullList has only the features that are found at the local level
- // b) inheritedList if not empty contains the ones from super that SHOULD NOT be inherited.
- // If it is empty, then if this method returns true, then ALL should be inherited,
- // or if this method returns false, then it doesn't matter because we aren't merging any.
- //
- // All of this is based upon the assumption that the list can
- // get quite large (which it does for javax.swing) and that
- // a simple n-squared order search would be too slow.
-
- if (fullList.isEmpty()) {
- return false; // There are none in the full list, so there should be none, and don't merge.
- } else if (inheritedList.isEmpty())
- return false; // There are no inheritedList features, so treat as no merge.
-
- // We have some features and some inheritedList features, so we need to go through the lists.
-
- // Create a working copy of the FeatureDescriptorEquality for fullList and stripList and just reuse them
- FeatureDescriptorEquality workingStrip = FeatureDescriptorEquality.createEquality((FeatureDescriptor) inheritedList.get(0));
- FeatureDescriptorEquality workingFull = FeatureDescriptorEquality.createEquality((FeatureDescriptor) fullList.get(0));
-
- int inheritedSize = inheritedList.size();
- boolean[] copy = new boolean[inheritedSize];
-
- HashMap inheritedMap = new HashMap(inheritedSize);
- for (int i = 0; i < inheritedSize; i++) {
- FeatureDescriptor f = (FeatureDescriptor) inheritedList.get(i);
- String key = computeKey(f);
- Object value = inheritedMap.get(key);
- if (value == null)
- inheritedMap.put(key, new Integer(i));
- else {
- // Shouldn't occur.
- }
-
- }
-
- // When we are done with this processing, inheritedList will contain the super that should not be used, and full list will contain only the locals
- // (those defined at this class level).;
- int inheritedRetained = 0;
- Iterator fullItr = fullList.iterator();
- // Continue while we've retained less than the full super amount. If we've retained all of the inheritedList, there is no
- // need to continue processing the fullList because there can't possibly be any inheritedList entries left to find.
- while (inheritedRetained < inheritedSize && fullItr.hasNext()) {
- FeatureDescriptor f = (FeatureDescriptor) fullItr.next();
- boolean foundFull = false;
- Object index = inheritedMap.get(computeKey(f));
- if (index != null) {
- workingFull.setFeature(f);
- int ndx = ((Integer) index).intValue();
- workingStrip.setFeature((FeatureDescriptor) inheritedList.get(ndx));
- if (workingFull.equals(workingStrip)) {
- // They are semantically identical, so retain in the inheritedList.
- copy[ndx] = true;
- foundFull = true;
- inheritedRetained++;
- }
- }
-
- if (foundFull) {
- // We found the inheritedList entry semantically equal in the full list somewhere, so we need to remove the full entry.
- fullItr.remove();
- }
- }
-
- if (inheritedRetained == inheritedSize) {
- inheritedList.clear(); // All were found in inheritedList, so just clear the inheritedList and return just what was left in the found.
- // Those in full found in super had been removed from full during the processing.
- return true; // We merge with all inherited.
- } else if (inheritedRetained != 0) {
- // Some were retained, take out of the list those that were retained.
- // When done the list will contain those that should be dropped from the inherited list.
- // We start from end because the actual number of bytes moved overall will be less than if we started from the front.
- for (ListIterator itr = inheritedList.listIterator(inheritedList.size()); itr.hasPrevious();) {
- int i = itr.previousIndex();
- itr.previous(); // To back up the itr so that remove can remove it. We actually don't care what the value is.
- if (copy[i])
- itr.remove();
- }
- return true; // We merge, and the list is not empty but it did have some removed, so we leave the list alone. Those are not inherited.
- } else
- return false; // All were removed (retained == 0). None were retained. So we just don't do a merge. The list will be ignored.
- }
-
- // The modeling beaninfo is also used to send itself back in serialized mode as a callback.
-
- private IVMCallbackServer vmServer;
-
- private int callbackID;
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.common.ICallback#initializeCallback(org.eclipse.jem.internal.proxy.common.IVMServer, int)
- */
- public void initializeCallback(IVMCallbackServer vmServer, int callbackID) {
- this.vmServer = vmServer;
- this.callbackID = callbackID;
- }
-
- public void send() throws IOException, CommandException {
- if (doFlags != 0) {
- ObjectOutputStream stream = new ObjectOutputStream(vmServer.requestStream(callbackID, 0));
- if ((doFlags & IBeanInfoIntrospectionConstants.DO_BEAN_DECOR) != 0)
- sendBeanDecorator(stream);
- if ((doFlags & IBeanInfoIntrospectionConstants.DO_PROPERTIES) != 0)
- sendPropertyDecorators(stream);
- if ((doFlags & IBeanInfoIntrospectionConstants.DO_METHODS) != 0)
- sendMethodDecorators(stream);
- if ((doFlags & IBeanInfoIntrospectionConstants.DO_EVENTS) != 0)
- sendEventDecorators(stream);
- stream.writeInt(IBeanInfoIntrospectionConstants.DONE);
- stream.close();
- }
- }
-
- /**
- * Called by IDE to send the bean decorator information back through the callback.
- * @throws CommandException
- * @throws IOException
- *
- * @since 1.1.0
- */
- public void sendBeanDecorator(ObjectOutputStream stream) throws IOException, CommandException {
- BeanRecord br = new BeanRecord();
- BeanDescriptor bd = getBeanDescriptor();
-
- if (bd != null) {
- br.customizerClassName = getClassName(bd.getCustomizerClass());
- br.mergeInheritedProperties = isMergeInheritedProperties();
- br.mergeInheritedOperations = isMergeInheritedMethods();
- br.mergeInheritedEvents = isMergeInheritedEvents();
- br.notInheritedPropertyNames = getNotInheritedPropertyDescriptors();
- br.notInheritedOperationNames = getNotInheritedMethodDescriptors();
- br.notInheritedEventNames = getNotInheritedEventSetDescriptors();
- fill(bd, br, BEAN_RECORD_TYPE);
- }
- stream.writeInt(IBeanInfoIntrospectionConstants.BEAN_DECORATOR_SENT);
- stream.writeObject(br);
- }
-
- /**
- * Called by IDE to send the property decorators information back through the callback.
- *
- * @throws CommandException
- * @throws IOException
- * @since 1.1.0
- */
- public void sendPropertyDecorators(ObjectOutputStream stream) throws IOException, CommandException {
- PropertyDescriptor[] properties = getPropertyDescriptors();
- if (properties != null && properties.length > 0) {
- // Now start writing the records.
- stream.writeInt(IBeanInfoIntrospectionConstants.PROPERTY_DECORATORS_SENT);
- stream.writeInt(properties.length);
- for (int i = 0; i < properties.length; i++) {
- PropertyDescriptor pd = properties[i];
- // Much of the two types are common, so if indexed, fill in the index part and then pass on to property part.
- PropertyRecord usepr = null;
- int useType = 0;
- if (pd.getClass() == IndexedPropertyDescriptor.class) {
- IndexedPropertyDescriptor ipd = (IndexedPropertyDescriptor) pd;
- IndexedPropertyRecord ipr = new IndexedPropertyRecord();
- usepr = ipr;
- useType = INDEXEDPROPERTY_RECORD_TYPE;
- ipr.indexedReadMethod = getReflectedMethodRecord(ipd.getIndexedReadMethod());
- ipr.indexedWriteMethod = getReflectedMethodRecord(ipd.getIndexedWriteMethod());
- ipr.indexedPropertyTypeName = getClassName(ipd.getIndexedPropertyType());
- } else {
- usepr = new PropertyRecord();
- useType = PROPERTY_RECORD_TYPE;
- }
- usepr.propertyEditorClassName = getClassName(pd.getPropertyEditorClass());
- usepr.propertyTypeName = getClassName(pd.getPropertyType());
- usepr.readMethod = getReflectedMethodRecord(pd.getReadMethod());
- usepr.writeMethod = getReflectedMethodRecord((pd.getWriteMethod()));
- usepr.bound = pd.isBound();
- usepr.constrained = pd.isConstrained();
- usepr.designTime = null;
- usepr.field = null;
- fill(pd, usepr, useType);
- stream.writeObject(usepr);
- }
- }
- }
-
- /**
- * Called by IDE to send the method decorators information back through the callback.
- *
- * @throws CommandException
- * @throws IOException
- * @since 1.1.0
- */
- public void sendMethodDecorators(ObjectOutputStream stream) throws IOException, CommandException {
- MethodDescriptor[] methods = getMethodDescriptors();
- if (methods != null && methods.length > 0) {
- // Now start writing the records.
- stream.writeInt(IBeanInfoIntrospectionConstants.METHOD_DECORATORS_SENT);
- stream.writeInt(methods.length);
- for (int i = 0; i < methods.length; i++) {
- MethodRecord mr = new MethodRecord();
- fill(mr, methods[i]);
- stream.writeObject(mr);
- }
- }
- }
-
- /**
- * Fill in a MethodRecord from the MethodDescriptor.
- * @param mr
- * @param md
- *
- * @since 1.1.0
- */
- protected void fill(MethodRecord mr, MethodDescriptor md) {
- mr.methodForDescriptor = getReflectedMethodRecord(md.getMethod());
- ParameterDescriptor[] parms = md.getParameterDescriptors();
- if (parms == null)
- mr.parameters = null;
- else {
- mr.parameters = new ParameterRecord[parms.length];
- for (int j = 0; j < parms.length; j++) {
- ParameterRecord pr = new ParameterRecord();
- fill(parms[j], pr, PARAMETER_RECORD_TYPE);
- mr.parameters[j] = pr;
- }
- }
- fill(md, mr, METHOD_RECORD_TYPE);
- }
-
- /**
- * Called by IDE to send the event set decorators information back through the callback.
- *
- * @throws CommandException
- * @throws IOException
- * @since 1.1.0
- */
- public void sendEventDecorators(ObjectOutputStream stream ) throws IOException, CommandException {
- EventSetDescriptor[] events = getEventSetDescriptors();
- if (events != null && events.length > 0) {
- // Now start writing the records.
- stream.writeInt(IBeanInfoIntrospectionConstants.EVENT_DECORATORS_SENT);
- stream.writeInt(events.length);
- for (int i = 0; i < events.length; i++) {
- EventSetDescriptor ed = events[i];
- EventSetRecord er = new EventSetRecord();
- er.addListenerMethod = getReflectedMethodRecord(ed.getAddListenerMethod());
- MethodDescriptor[] mds = ed.getListenerMethodDescriptors();
- if (mds == null)
- er.listenerMethodDescriptors = null;
- else {
- er.listenerMethodDescriptors = new MethodRecord[mds.length];
- for (int j = 0; j < mds.length; j++) {
- fill(er.listenerMethodDescriptors[j] = new MethodRecord(), mds[j]);
- }
- }
- er.listenerTypeName = getClassName(ed.getListenerType());
- er.removeListenerMethod = getReflectedMethodRecord(ed.getRemoveListenerMethod());
- er.inDefaultEventSet = ed.isInDefaultEventSet();
- er.unicast = ed.isUnicast();
- er.eventAdapterClassName = null;
- fill(ed, er, EVENTSET_RECORD_TYPE);
- stream.writeObject(er);
- }
- }
- }
-
- protected static final int BEAN_RECORD_TYPE = 0;
-
- protected static final int PROPERTY_RECORD_TYPE = 1;
-
- protected static final int INDEXEDPROPERTY_RECORD_TYPE = 2;
-
- protected static final int METHOD_RECORD_TYPE = 3;
-
- protected static final int PARAMETER_RECORD_TYPE = 4;
-
- protected static final int EVENTSET_RECORD_TYPE = 5;
-
- /**
- * Fill in the special attr/values for the given record type. The default handles the standard ones.
- *
- * @param record
- * @param descr
- * @param attributeName
- * @param recordType
- * type of record ultimately being processed.
- * @return <code>true</code> if this attribute is a special one and processed, <code>false</code> if not special and should be added to
- * attributes list transferred to IDE.
- *
- * @see ModelingBeanInfo#PROPERTY_RECORD_TYPE
- * @since 1.1.0
- */
- protected boolean fillFromAttributes(FeatureRecord record, FeatureDescriptor descr, String attributeName, int recordType) {
- switch (recordType) {
- case INDEXEDPROPERTY_RECORD_TYPE:
- case PROPERTY_RECORD_TYPE:
- if (BaseBeanInfo.DESIGNTIMEPROPERTY.equals(attributeName)) {
- ((PropertyRecord) record).designTime = (Boolean) descr.getValue(attributeName);
- return true;
- } else if (BaseBeanInfo.FIELDPROPERTY.equals(attributeName)) {
- Field f = (Field) descr.getValue(attributeName);
- // We have a field, set the property type to this since we couldn't correctly create this otherwise.
- PropertyRecord pr = (PropertyRecord) record;
- pr.propertyTypeName = getClassName(f.getType());
- pr.field = getReflectedFieldRecord(f);
- pr.readMethod = null; // Need to wipe out our dummy.
- pr.writeMethod = null; // Or if it set, not valid for a field.
- return true;
- }
- break;
- case EVENTSET_RECORD_TYPE:
- if (BaseBeanInfo.EVENTADAPTERCLASS.equals(attributeName)) {
- ((EventSetRecord) record).eventAdapterClassName = (String) descr.getValue(attributeName);
- return true;
- }
- break;
- default:
- break; // Didn't handle it.
- }
- return false;
- }
-
- /**
- * Fill in the feature portion of the Descriptor into the record. We can be reusing some records (so we don't keep allocating when not needed), so
- * we will null out unset fields.
- *
- * @param descr
- * @param record
- * @param recordType
- * type of record ultimately being processed. Used for fillFromAttributes.
- *
- * @see ModelingBeanInfo#PROPERTY_RECORD_TYPE
- * @since 1.1.0
- */
- protected void fill(FeatureDescriptor descr, FeatureRecord record, int recordType) {
- record.name = descr.getName();
- String dn = descr.getDisplayName();
- if (!record.name.equals(dn))
- record.displayName = dn; // display name returns name if display name not set. We don't want to send it if identical. (Note some Beaninfos are setting displayname the same text but not same string).
- else
- record.displayName = null;
- String shd = descr.getShortDescription();
- if (!dn.equals(shd))
- record.shortDescription = shd; // short description returns displayname if short description not set. We don't want to send it if
- // identical.
- else
- record.shortDescription = null;
- record.expert = descr.isExpert();
- record.hidden = descr.isHidden();
- record.preferred = descr.isPreferred();
- record.category = null; // Clear out in case not set.
- Enumeration attrs = descr.attributeNames();
- if (attrs.hasMoreElements()) {
- // We don't have a way of knowing how many there are ahead of time, so we will build into lists and then turn into arrays at the end.
- List names = new ArrayList();
- List values = new ArrayList();
- while (attrs.hasMoreElements()) {
- String attrName = (String) attrs.nextElement();
- if (attrName.equals(BaseBeanInfo.CATEGORY))
- record.category = (String) descr.getValue(BaseBeanInfo.CATEGORY);
- else if (attrName.equals(BaseBeanInfo.PREFERRED)) {
- // A bug in Java 1.3, doing setPreferred was lost. So for those also stored it in attributes. So if set here, then use it.
- record.preferred = ((Boolean) descr.getValue(BaseBeanInfo.PREFERRED)).booleanValue();
- } else if (!fillFromAttributes(record, descr, attrName, recordType)) {
- // Just copy accross. FillfromAttributes didn't handle it.
- FeatureAttributeValue fv = new FeatureAttributeValue();
- fv.setValue(descr.getValue(attrName));
- names.add(attrName);
- values.add(fv);
- }
- }
- if (!names.isEmpty()) {
- record.attributeNames = (String[]) names.toArray(new String[names.size()]);
- record.attributeValues = (FeatureAttributeValue[]) values.toArray(new FeatureAttributeValue[values.size()]);
- } else {
- record.attributeNames = null;
- record.attributeValues = null;
- }
- } else {
- record.attributeNames = null;
- record.attributeValues = null;
- }
-
- }
-
- /*
- * Get the classname from the class. If classs is null, then this return null.
- */
- private String getClassName(Class classs) {
- return classs != null ? classs.getName() : null;
- }
-
- private ReflectMethodRecord getReflectedMethodRecord(Method method) {
- if (method != null) {
- ReflectMethodRecord rmr = new ReflectMethodRecord();
- rmr.className = getClassName(method.getDeclaringClass());
- rmr.methodName = method.getName();
- Class[] parmTypes = method.getParameterTypes();
- if (parmTypes.length > 0) {
- rmr.parameterTypeNames = new String[parmTypes.length];
- for (int i = 0; i < parmTypes.length; i++) {
- rmr.parameterTypeNames[i] = getClassName(parmTypes[i]);
- }
- }
- return rmr;
- } else
- return null;
- }
-
- private ReflectFieldRecord getReflectedFieldRecord(Field field) {
- if (field != null) {
- ReflectFieldRecord rf = new ReflectFieldRecord();
- rf.className = getClassName(field.getDeclaringClass());
- rf.fieldName = field.getName();
- rf.readOnly = Modifier.isFinal(field.getModifiers());
- return rf;
- } else
- return null;
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/ModelingBeanInfo15.java b/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/ModelingBeanInfo15.java
deleted file mode 100644
index 9c954d19f..000000000
--- a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/ModelingBeanInfo15.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.vm;
-/*******************************************************************************
- * Copyright (c) 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: ModelingBeanInfo15.java,v $
- * $Revision: 1.3 $ $Date: 2005/02/15 22:45:49 $
- */
-
-import java.beans.BeanInfo;
-
-/**
- * This was supposed to for 1.4 or above where it can use identity
- * to test for inherited features, but it still is not correct
- * in 1.4. See the header comments in ModelingBeanInfo.
- * @see org.eclipse.jem.internal.beaninfo.vm.ModelingBeanInfo
- */
-public class ModelingBeanInfo15 extends ModelingBeanInfo {
-
- /**
- * Constructor for ModelingBeanInfo15.
- * @param beanInfo
- */
- public ModelingBeanInfo15(BeanInfo beanInfo, int doFlags) {
- super(beanInfo, doFlags);
- }
-
- /**
- * Constructor for ModelingBeanInfo15.
- * @param beanInfo
- * @param superBeanInfo
- */
- public ModelingBeanInfo15(BeanInfo beanInfo, BeanInfo superBeanInfo, int doFlags) {
- super(beanInfo, superBeanInfo, doFlags);
- }
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/ModelingBeanInfoPre15.java b/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/ModelingBeanInfoPre15.java
deleted file mode 100644
index 79f2acdf0..000000000
--- a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/ModelingBeanInfoPre15.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.vm;
-/*******************************************************************************
- * Copyright (c) 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: ModelingBeanInfoPre15.java,v $
- * $Revision: 1.3 $ $Date: 2005/02/15 22:45:49 $
- */
-
-import java.beans.BeanInfo;
-
-/**
- * This is the modeling BeanInfo for Pre-JDK 1.4.
- */
-public class ModelingBeanInfoPre15 extends ModelingBeanInfo {
-
- public ModelingBeanInfoPre15(BeanInfo beanInfo, int doFlags) {
- super(beanInfo, doFlags);
- }
-
- public ModelingBeanInfoPre15(BeanInfo beanInfo, BeanInfo superBeanInfo, int doFlags) {
- super(beanInfo, superBeanInfo, doFlags);
- }
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/ParameterDescriptorEquality.java b/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/ParameterDescriptorEquality.java
deleted file mode 100644
index f4d2fca8f..000000000
--- a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/ParameterDescriptorEquality.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.vm;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: ParameterDescriptorEquality.java,v $
- * $Revision: 1.3 $ $Date: 2005/02/15 22:45:49 $
- */
-
-import java.beans.*;
-/**
- * ParameterDescriptor equality tester
- */
-public class ParameterDescriptorEquality extends FeatureDescriptorEquality {
-
- static void INIT() {
- try {
- MAP_EQUALITY.put(ParameterDescriptor.class, (ParameterDescriptorEquality.class).getConstructor(new Class[] {ParameterDescriptor.class}));
- } catch (NoSuchMethodException e) {
- }
- }
-
- public ParameterDescriptorEquality() {
- }
-
- public ParameterDescriptorEquality(ParameterDescriptor descr) {
- super(descr);
- }
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/PropertyDescriptorEquality.java b/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/PropertyDescriptorEquality.java
deleted file mode 100644
index 07054f64a..000000000
--- a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/PropertyDescriptorEquality.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.vm;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: PropertyDescriptorEquality.java,v $
- * $Revision: 1.4 $ $Date: 2005/06/22 21:33:32 $
- */
-
-import java.beans.*;
-/**
- * PropertyDescriptor equality tester
- */
-public abstract class PropertyDescriptorEquality extends FeatureDescriptorEquality {
-
- public PropertyDescriptorEquality() {
- }
-
- public PropertyDescriptorEquality(PropertyDescriptor descr) {
- super(descr);
- }
- /**
- * Calculate the hashcode for the current feature, add this
- * to the hashcode received from super.calculateHashCode
- * and return the new value.
- *
- * NOTE: for subclasses, it is MANDITORY that the first line be:
- * int hashcode = super.calculateHashCode();
- * and the last line be:
- * return hashcode*31 + (your calculated hashcode for just this subclass);
- */
- protected int calculateHashCode() {
- int hashcode = super.calculateHashCode();
- PropertyDescriptor pd = (PropertyDescriptor) fFeature;
- int hc = 0;
- if (pd.getPropertyEditorClass() != null)
- hc += pd.getPropertyEditorClass().hashCode();
- if (pd.getPropertyType() != null)
- hc += pd.getPropertyType().hashCode();
- if (pd.getReadMethod() != null)
- hc += pd.getReadMethod().hashCode();
- if (pd.getWriteMethod() != null)
- hc += pd.getWriteMethod().hashCode();
-
- hc += (pd.isBound() ? Boolean.TRUE : Boolean.FALSE).hashCode();
- hc += (pd.isConstrained() ? Boolean.TRUE : Boolean.FALSE).hashCode();
-
- return hashcode*31 + hc;
- }
-
- public boolean equals(Object obj) {
- if (identityTest(obj))
- return true;
-
- if (!super.equals(obj))
- return false;
-
- PropertyDescriptor op = (PropertyDescriptor) ((FeatureDescriptorEquality) obj).fFeature;
- PropertyDescriptor fp = (PropertyDescriptor) fFeature;
-
- if (op.getPropertyEditorClass() != fp.getPropertyEditorClass())
- return false;
- if (op.getReadMethod() != fp.getReadMethod())
- return false;
- if (op.getWriteMethod() != fp.getWriteMethod())
- return false;
- if (op.isBound() != fp.isBound())
- return false;
- if (op.isConstrained() != fp.isConstrained())
- return false;
-
- return true;
- }
-
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/.classpath b/plugins/org.eclipse.jem.proxy/.classpath
deleted file mode 100644
index 17c24e4f0..000000000
--- a/plugins/org.eclipse.jem.proxy/.classpath
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry output="common_bin" kind="src" path="proxyCommon">
- <attributes>
- </attributes>
- </classpathentry>
- <classpathentry output="common_bin" kind="src" path="initParser">
- <attributes>
- </attributes>
- </classpathentry>
- <classpathentry output="common_bin" kind="src" path="remoteCommon">
- <attributes>
- </attributes>
- </classpathentry>
- <classpathentry output="vm_bin" kind="src" path="vm_remotevm">
- <attributes>
- </attributes>
- </classpathentry>
- <classpathentry kind="src" path="proxy">
- <attributes>
- </attributes>
- </classpathentry>
- <classpathentry kind="src" path="proxyRemote">
- <attributes>
- </attributes>
- </classpathentry>
- <classpathentry kind="src" path="proxyide">
- <attributes>
- </attributes>
- </classpathentry>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins">
- <attributes>
- </attributes>
- </classpathentry>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
- <attributes>
- </attributes>
- </classpathentry>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.jem.proxy/.cvsignore b/plugins/org.eclipse.jem.proxy/.cvsignore
deleted file mode 100644
index 44fb1cf12..000000000
--- a/plugins/org.eclipse.jem.proxy/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-bin
-build.xml
-common_bin
-vm_bin
diff --git a/plugins/org.eclipse.jem.proxy/.options b/plugins/org.eclipse.jem.proxy/.options
deleted file mode 100644
index 95c080f85..000000000
--- a/plugins/org.eclipse.jem.proxy/.options
+++ /dev/null
@@ -1,9 +0,0 @@
-org.eclipse.jem.proxy/remote/debug/debugvm=false
-org.eclipse.jem.proxy/remote/debug/ioconsole=false
-org.eclipse.jem.proxy/remote/debug/vmtraceout=false
-org.eclipse.jem.proxy/remote/debug/notimeouts=false
-org.eclipse.jem.proxy/debug/traceexpressions=false
-org.eclipse.jem.proxy/debug/traceexpressionstimethreshold=100
-org.eclipse.jem.proxy/debug/logtrace=default
-org.eclipse.jem.proxy/debug/logtracefile=default
-org.eclipse.jem.proxy/debug/loglevel=default \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/.project b/plugins/org.eclipse.jem.proxy/.project
deleted file mode 100644
index b82007514..000000000
--- a/plugins/org.eclipse.jem.proxy/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.jem.proxy</name>
- <comment></comment>
- <projects>
- <project>org.eclipse.core.resources</project>
- <project>org.eclipse.core.runtime.compatibility</project>
- <project>org.eclipse.debug.core</project>
- <project>org.eclipse.jdt.core</project>
- <project>org.eclipse.jdt.launching</project>
- <project>org.eclipse.pde.core</project>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.jem.proxy/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.jem.proxy/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 0b71ad8c6..000000000
--- a/plugins/org.eclipse.jem.proxy/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,282 +0,0 @@
-#Thu Jun 16 12:51:01 EDT 2005
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=1
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines=false
-org.eclipse.jdt.core.formatter.comment.format_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=150
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=150
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
diff --git a/plugins/org.eclipse.jem.proxy/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.jem.proxy/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4cff627b9..000000000
--- a/plugins/org.eclipse.jem.proxy/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,6 +0,0 @@
-#Wed May 11 16:20:15 EDT 2005
-eclipse.preferences.version=1
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=java;javax;org;org.eclipse.wtp;org.eclipse.jem;org.eclipse.ve.internal.cdm;org.eclipse.ve.internal.cde;org.eclipse.ve.internal.jcm;org.eclipse.ve.internal.java;org.eclipse.ve;com;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates/>
diff --git a/plugins/org.eclipse.jem.proxy/.settings/org.eclipse.pde.core.prefs b/plugins/org.eclipse.jem.proxy/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 78eace43b..000000000
--- a/plugins/org.eclipse.jem.proxy/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Thu Jun 16 11:08:13 EDT 2005
-eclipse.preferences.version=1
-selfhosting.binExcludes=/org.eclipse.jem.proxy/vm_bin
diff --git a/plugins/org.eclipse.jem.proxy/META-INF/MANIFEST.MF b/plugins/org.eclipse.jem.proxy/META-INF/MANIFEST.MF
deleted file mode 100644
index d26f055c2..000000000
--- a/plugins/org.eclipse.jem.proxy/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,34 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.jem.proxy; singleton:=true
-Bundle-Version: 1.1.0
-Bundle-ClassPath: proxy.jar,
- proxycommon.jar,
- initparser.jar,
- proxyremote.jar,
- remotecommon.jar,
- proxyide.jar
-Bundle-Activator: org.eclipse.jem.internal.proxy.core.ProxyPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.jem.internal.proxy.awt,
- org.eclipse.jem.internal.proxy.common,
- org.eclipse.jem.internal.proxy.common.remote,
- org.eclipse.jem.internal.proxy.core,
- org.eclipse.jem.internal.proxy.ide,
- org.eclipse.jem.internal.proxy.ide.awt,
- org.eclipse.jem.internal.proxy.initParser,
- org.eclipse.jem.internal.proxy.initParser.tree,
- org.eclipse.jem.internal.proxy.remote,
- org.eclipse.jem.internal.proxy.remote.awt,
- org.eclipse.jem.internal.proxy.vm.remote
-Require-Bundle: org.eclipse.core.resources,
- org.eclipse.jdt.launching,
- org.eclipse.jdt.core,
- org.eclipse.debug.core,
- org.eclipse.jem.util,
- org.eclipse.pde.core;resolution:=optional,
- org.eclipse.core.runtime,
- org.eclipse.ui;resolution:=optional
-Eclipse-AutoStart: true
diff --git a/plugins/org.eclipse.jem.proxy/about.html b/plugins/org.eclipse.jem.proxy/about.html
deleted file mode 100644
index 6f6b96c4c..000000000
--- a/plugins/org.eclipse.jem.proxy/about.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>February 24, 2005</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/build.properties b/plugins/org.eclipse.jem.proxy/build.properties
deleted file mode 100644
index 825f2cfc4..000000000
--- a/plugins/org.eclipse.jem.proxy/build.properties
+++ /dev/null
@@ -1,43 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 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
-###############################################################################
-source.proxyide.jar = proxyide/
-source.proxycommon.jar = proxyCommon/
-output.proxycommon.jar = common_bin/
-source.proxy.jar = proxy/
-bin.includes = plugin.xml,\
- plugin.properties,\
- proxycommon.jar,\
- proxy.jar,\
- remotecommon.jar,\
- proxyremote.jar,\
- initparser.jar,\
- vm/remotevm.jar,\
- .options,\
- about.html,\
- proxyide.jar,\
- META-INF/
-src.includes = about.html,\
- schema/,\
- proxy.jars
-source.proxyremote.jar = proxyRemote/
-source.initparser.jar = initParser/
-output.initparser.jar = common_bin/
-source.remotecommon.jar = remoteCommon/
-output.remotecommon.jar = common_bin/
-jars.compile.order = proxycommon.jar,\
- initparser.jar,\
- remotecommon.jar,\
- vm/remotevm.jar,\
- proxy.jar,\
- proxyremote.jar,\
- proxyide.jar
-source.vm/remotevm.jar = vm_remotevm/
-output.vm/remotevm.jar = vm_bin/
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/ArrayArguments.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/ArrayArguments.java
deleted file mode 100644
index 2fd52de8d..000000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/ArrayArguments.java
+++ /dev/null
@@ -1,136 +0,0 @@
-package org.eclipse.jem.internal.proxy.initParser;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: ArrayArguments.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:55:20 $
- */
-
-import java.io.StringWriter;
-import java.lang.reflect.Array;
-import java.util.*;
-/**
- * This represents the arguments in a multi dimensional array with construction parameters, e.g.
- * new int[][] { { 2 ,3 } , { 4 ,5 }}
- * the arguments of the constructor will be instance of ArrayArguments
- */
-public class ArrayArguments extends Expression {
-
- Static fType;
- List arguments = new ArrayList(2);
- boolean argsClosed;
- boolean insideArgsOpenedParen;
- boolean insideArgsClosedParen;
-
-public Expression push(char[] token, char tokenDelimiter) {
-
- // If the args are opened and a token was supplied then it must be an argument
- //if ( argsOpened && ( tokenDelimiter == DelimiterCloseParen || tokenDelimiter == DelimiterComma ||
- //tokenDelimiter == DelimiterSpace || tokenDelimiter == DelimiterQuote || tokenDelimiter == DelimiterPeriod)) {
- if (!argsClosed){
- if ( arguments.size() > 0 ){
- Expression openArgument = (Expression)arguments.get(arguments.size()-1);
- if ( !openArgument.isComplete() ) {
- openArgument.push(token,tokenDelimiter);
- // If the argument is complete and we received a ) then the message is complete
- if ( openArgument.isComplete() && tokenDelimiter == DelimiterCloseElipse){
- argsClosed = true;
- }
- return this;
- }
- }
-
- // We must have a new argument - process accordingly
- Expression newArgument = null;
- if (!insideArgsOpenedParen && tokenDelimiter == DelimiterOpenParen){
- insideArgsOpenedParen = true;
- newArgument = new Statement(fClassLoader).push(token,tokenDelimiter);
- newArgument = new MessageArgument(newArgument);
- arguments.add(newArgument);
-
- }
- if ( token.length > 0 || tokenDelimiter == DelimiterQuote || tokenDelimiter == DelimiterSingleQuote || tokenDelimiter == OperMinus ) {
- newArgument = new Statement(fClassLoader).push(token,tokenDelimiter);
- newArgument = new MessageArgument(newArgument);
- arguments.add(newArgument);
- }
- // If the token after the argument is a ) then the message is being closed
- if ( !insideArgsOpenedParen && tokenDelimiter == DelimiterCloseElipse ) {
- argsClosed = true;
- return this;
- }
- if ( insideArgsOpenedParen && tokenDelimiter == DelimiterCloseElipse ) {
- insideArgsClosedParen = true;
- argsClosed = true;
- return this;
- }
- }
- return this;
-}
-/**
- * In the case of the expression new int[][] { {2,3} , {4,5} } then we are the 2,3 or the 4,5
- * to evaluate we must return an array of ints based on our size. The type we return is determined by the initial
- * constructor who will have given this to us as our fType
- */
-public Object evaluate() throws Exception {
-
- Object result = Array.newInstance(fType.getPrimitiveTypeClass(),arguments.size());
- for (int i = 0; i < arguments.size(); i++) {
- Object argumentValue = ((Expression)arguments.get(i)).evaluate();
- Array.set(result,i,argumentValue);
- }
- return result;
-}
-
-public Class getTypeClass() throws Exception {
- return null;
-}
-
-public boolean isComplete() {
- return argsClosed;
-}
-
-public boolean isPrimitive() throws Exception {
- return false;
-}
-public void setType(Static type) {
- fType = type;
-}
-public void contributeArgumentNumber(List argumentNumberList){
-
- // Add the number of arguments we have to the list
- argumentNumberList.add(new Integer(arguments.size()));
- // If our arguments are themselves array arguments ( which will occur in an array of 3 or more dimensions )
- // then we should cascade this message to our argument so that the total array depth is known
- if ( arguments.size() > 0 ) {
- Object firstArgument = arguments.get(0);
- if ( firstArgument instanceof ArrayArguments ) {
-// ((ArrayArguments)firstArgument)contributeArgumentNumber(argumentNumberList);
- }
- }
-
-}
-public String toString(){
- StringWriter writer = new StringWriter();
- writer.write("Args("); //$NON-NLS-1$
- writer.write(new Integer(arguments.size()).toString());
- writer.write(")-"); //$NON-NLS-1$
- writer.write(arguments.toString());
- return writer.toString();
-}
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.initParser.Expression#getTypeClassName()
- */
- protected String getTypeClassName() {
- return ""; // Not applicable //$NON-NLS-1$
- }
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Block.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Block.java
deleted file mode 100644
index 49180d6ac..000000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Block.java
+++ /dev/null
@@ -1,113 +0,0 @@
-package org.eclipse.jem.internal.proxy.initParser;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: Block.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:55:20 $
- */
-
-/**
- */
-public class Block extends Expression {
-
- protected boolean fIsClosed = false;
- protected boolean fIsComplete = false;
- protected boolean fMessageOrField = false;
-
- public Block(Expression anExpression){
- currentExpression = anExpression;
- }
-
- public Block(ClassLoader fClassLoader){
- currentExpression = new Statement(fClassLoader);
- }
-
- public Object evaluate() throws Exception {
- return currentExpression.evaluate();
- }
-
- public boolean isComplete() {
- return fIsComplete;
- }
-
- public Class getTypeClass() throws Exception {
- return currentExpression.getTypeClass();
- }
-
-
- public Expression push(char[] token, char tokenDelimiter) {
-
- // If we are closed (i.e. completed with a )) and we get a ) or , then we are all finished up
- // We should not forward this token to the expression, as it isComplete
- if ((fIsClosed || currentExpression.isComplete()) && (tokenDelimiter == DelimiterCloseParen || tokenDelimiter == DelimiterComma)){
- fIsComplete = true;
- return this;
- }
-
- // If we are a message of field and we get a ( we are message or a field otherwise
- if (fMessageOrField){
- fMessageOrField = false;
- // The problem now is that we are a block of an expression and we need to create a message
- // where we are the receiver. However we are on the stack and going to be popped when the message finishes
- // so we must alter ourself to be a block whose current expression is message whose argument
- // is a copy of us
- if ( tokenDelimiter == DelimiterOpenParen){
- Message message = new Message(currentExpression,token,fClassLoader);
- currentExpression = message;
- return message;
- } else {
- Field field = new Field(currentExpression,token,fClassLoader);
- currentExpression = field;
- return field;
- }
- }
-
- // If we are closed and we get a . then we must begin a message or field expression
- if (currentExpression.isComplete() && tokenDelimiter == DelimiterPeriod ){
- fMessageOrField = true;
- return this;
- }
-
- Expression result = currentExpression.push(token,tokenDelimiter);
- // If the result if a push then push the stack
- if ( result != currentExpression ) {
- pushExpressionStack(result);
- }
- // If our current expression is complete and we are receiving a close parent then we are closed
- if (currentExpression.isComplete() && tokenDelimiter == DelimiterCloseParen){
- fIsClosed = true;
-
- }
- // If we are here the current expression is still processing tokens so we should return it
- return currentExpression;
- }
-
- public boolean isPrimitive() throws Exception {
- return false;
- }
- public String toString(){
- StringBuffer buffer = new StringBuffer();
- buffer.append("Block("); //$NON-NLS-1$
- if ( currentExpression != null ) {
- buffer.append(currentExpression.toString());
- }
- buffer.append(')');
- return buffer.toString();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.initParser.Expression#getTypeClassName()
- */
- protected String getTypeClassName() {
- return currentExpression.getTypeClassName();
- }
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/BooleanLiteral.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/BooleanLiteral.java
deleted file mode 100644
index 784ae1d2f..000000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/BooleanLiteral.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.eclipse.jem.internal.proxy.initParser;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: BooleanLiteral.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:55:20 $
- */
-
-
-public class BooleanLiteral extends Expression {
- public boolean value;
-public BooleanLiteral(boolean aValue){
-
- value = aValue;
-
-}
-
-public boolean isComplete(){
- return true;
-}
-/**
- * evaluate method comment.
- */
-public Object evaluate() {
- return new Boolean(value);
-}
-/**
- * evaluate method comment.
- */
-public Class getTypeClass(){
- return Boolean.TYPE;
-}
-/**
- * true or false cannot consume any kind of expression so we must return null
- */
-public Expression push(char[] token , char delimiter){
-
- return null;
-
-}
-
-/**
- * This is primitive
- */
-public boolean isPrimitive() {
- return true;
-}
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.initParser.Expression#getTypeClassName()
- */
- protected String getTypeClassName() {
- return Boolean.TYPE.getName();
- }
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/CannotProcessArrayTypesException.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/CannotProcessArrayTypesException.java
deleted file mode 100644
index 6edc87bcc..000000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/CannotProcessArrayTypesException.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.eclipse.jem.internal.proxy.initParser;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: CannotProcessArrayTypesException.java,v $
- * $Revision: 1.3 $ $Date: 2005/06/16 17:46:14 $
- */
-
-/**
- * Exception to indicate that the initStringParser can't deal with arrays right now
- */
-public class CannotProcessArrayTypesException extends RuntimeException {
-
- /**
- * Comment for <code>serialVersionUID</code>
- *
- * @since 1.1.0
- */
- private static final long serialVersionUID = -4245984020065761634L;
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/CannotProcessInnerClassesException.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/CannotProcessInnerClassesException.java
deleted file mode 100644
index 75ed3e426..000000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/CannotProcessInnerClassesException.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.eclipse.jem.internal.proxy.initParser;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: CannotProcessInnerClassesException.java,v $
- * $Revision: 1.3 $ $Date: 2005/06/16 17:46:14 $
- */
-
-/**
- * This exception is thrown to indicate that inner classes cannot be processed
- */
-public class CannotProcessInnerClassesException extends RuntimeException {
-
- /**
- * Comment for <code>serialVersionUID</code>
- *
- * @since 1.1.0
- */
- private static final long serialVersionUID = 8290504580738499445L;
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Cast.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Cast.java
deleted file mode 100644
index 9aae83ff1..000000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Cast.java
+++ /dev/null
@@ -1,173 +0,0 @@
-package org.eclipse.jem.internal.proxy.initParser;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: Cast.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:55:20 $
- */
-
-
-import java.util.HashMap;
-
-public class Cast extends Expression {
- protected static final int BYTE_TYPE = 0;
- protected static final int SHORT_TYPE = 1;
- protected static final int INT_TYPE = 2;
- protected static final int LONG_TYPE = 3;
- protected static final int FLOAT_TYPE = 4;
- protected static final int DOUBLE_TYPE = 5;
-
- protected static final HashMap sTypeLookup;
- static {
- sTypeLookup = new HashMap(6);
- sTypeLookup.put(Byte.TYPE, new Integer(BYTE_TYPE));
- sTypeLookup.put(Short.TYPE, new Integer(SHORT_TYPE));
- sTypeLookup.put(Integer.TYPE, new Integer(INT_TYPE));
- sTypeLookup.put(Long.TYPE, new Integer(LONG_TYPE));
- sTypeLookup.put(Float.TYPE, new Integer(FLOAT_TYPE));
- sTypeLookup.put(Double.TYPE, new Integer(DOUBLE_TYPE));
- }
-
- protected Static fCastType;
- protected boolean fIsClosed = false;
-
- public Cast(Static castType, ClassLoader aClassLoader) {
- fCastType = castType;
- fClassLoader = aClassLoader;
- }
-
- public boolean isPrimitive() throws Exception {
- return getTypeClass().isPrimitive();
- }
-
- /**
- * The type of a Cast expression is the type of the cast type.
- */
- public Class getTypeClass() throws Exception {
- return fCastType.getTypeClass();
- }
-
-
- public boolean isComplete() {
- return currentExpression != null && currentExpression.isComplete();
- }
-
- /**
- * If the type is primitive, then we need to
- * convert the value, otherwise just pass
- * the value on.
- *
- * This is important for primitives because if your
- * entire initialization string was simply "(short) 3"
- * then a Short value must be returned so that the
- * correct kind of primitive proxy is created.
- */
- public Object evaluate() throws Exception {
- if (getTypeClass() == currentExpression.getTypeClass())
- return currentExpression.evaluate(); // They're the same, so just return it.
- if (getTypeClass().isPrimitive()) {
- // Can only cast a primitive to a primitive, except null can't be cast to a primitive.
- if (!currentExpression.getTypeClass().isPrimitive() || currentExpression.getTypeClass() == Void.TYPE)
- throw new EvaluationException(new ClassCastException(currentExpression.getTypeClass().getName()));
- // boolean only allows boolean cast.
- if (fCastType.getTypeClass() == Boolean.TYPE || currentExpression.getTypeClass() == Boolean.TYPE)
- throw new EvaluationException(new ClassCastException(currentExpression.getTypeClass().getName()));
- if (fCastType.getTypeClass() == Character.TYPE) {
- // So we have either a Character or a number as the value. Cast that.
- return new Character((char) ((Number) currentExpression.evaluate()).intValue());
- } else {
- Number value = null;
- // See if the value is character or a number.
- if (currentExpression.getTypeClass() == Character.TYPE)
- value = new Integer(((Character) currentExpression.evaluate()).charValue());
- else
- value = (Number) currentExpression.evaluate();
- switch (((Integer) sTypeLookup.get(fCastType.getTypeClass())).intValue()) {
- case BYTE_TYPE:
- return new Byte(value.byteValue());
- case SHORT_TYPE:
- return new Short(value.shortValue());
- case INT_TYPE:
- return new Integer(value.intValue());
- case LONG_TYPE:
- return new Long(value.longValue());
- case FLOAT_TYPE:
- return new Float(value.floatValue());
- case DOUBLE_TYPE:
- return new Double(value.doubleValue());
- default:
- return null; // Shouldn't occur. Just satisifies compiler.
- }
- }
-
- } else
- return currentExpression.evaluate();
- }
- /**
- * A cast expression always pushes onto the cast value
- */
- public Expression push(char[] token , char tokenDelimiter) {
- // If we don't have a class yet then we are within the statement to try and deterine the type being cast to
- if(fCastType.getPrimitiveTypeClass() == null && !fIsClosed){
- fCastType.push(token,tokenDelimiter);
- // If the type was completed and we have a ) then close us
- if(fCastType.getPrimitiveTypeClass() != null && tokenDelimiter == DelimiterCloseParen){
- fIsClosed = true;
- }
- return this;
- }
-
- if (!fIsClosed) {
- // The cast is not closed, but we have a static class. This class must therefore keep processing the tokens as it could be a method or message send
- Expression result = fCastType.push(token,tokenDelimiter);
- result.parenthesisLevel++;
- return result;
- }
-
- // If we have no expression push onto the cast value
- if(currentExpression == null){
- currentExpression = new Statement(fClassLoader);
- currentExpression = currentExpression.push(token,tokenDelimiter);
- return this;
- }
- Expression result = currentExpression.push(token, tokenDelimiter);
- // If the result if a push then push the stack
- if ( result.isComplete() ) {
- popExpressionStack();
- } else if ( result != currentExpression ) {
- pushExpressionStack(result);
- }
- return this;
- }
- public String toString(){
- StringBuffer buffer = new StringBuffer();
- buffer.append("Cast("); //$NON-NLS-1$
- if (fCastType != null){
- buffer.append(fCastType.toString());
- } else {
- buffer.append("???"); //$NON-NLS-1$
- }
- buffer.append(") "); //$NON-NLS-1$
- if ( currentExpression != null){
- buffer.append(currentExpression.toString());
- } else {
- buffer.append("???"); //$NON-NLS-1$
- }
- return buffer.toString();
- }
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.initParser.Expression#getTypeClassName()
- */
- protected String getTypeClassName() {
- return fCastType.getTypeClassName();
- }
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/CharLiteral.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/CharLiteral.java
deleted file mode 100644
index 2f71ea284..000000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/CharLiteral.java
+++ /dev/null
@@ -1,114 +0,0 @@
-package org.eclipse.jem.internal.proxy.initParser;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: CharLiteral.java,v $
- * $Revision: 1.4 $ $Date: 2005/06/21 20:22:51 $
- */
-
-import java.text.MessageFormat;
-
-
-
-public class CharLiteral extends Expression {
- protected boolean isComplete;
- public char value;
- public StringBuffer valueBuffer = new StringBuffer();
- protected boolean isEscaped = false;
-
-/**
- * constructor
- */
-public CharLiteral(){
-}
-
-/**
- * evaluate method comment.
- */
-public Object evaluate() throws Exception {
- if (valueBuffer.length() == 1)
- return new Character(valueBuffer.charAt(0));
- else
- throw new EvaluationException(
- new IllegalArgumentException(MessageFormat.format(ProxyInitParserMessages.getString("CharTooComplicated_EXC_"), //$NON-NLS-1$
- new Object[] {valueBuffer.toString()})));
-}
-
-public boolean isComplete(){
- return isComplete;
-}
-/**
- * We must evaluate ourself and return the type of the result
- */
-
-public Class getTypeClass() {
- return Character.TYPE;
-}
-
-protected String getTypeClassName() {
- return Character.TYPE.getName();
-}
-/**
- *This string might be broken into a few tokens
- *so we need a StringBuffer
- */
-public Expression push(char[] token , char delimiter){
-
- if (isEscaped) {
- isEscaped = false;
- if (token.length != 0) {
- // Had an escape followed by stuff, so not a true esc for our current definition
- valueBuffer.append(DelimiterEscape);
- } else {
- if (delimiter == DelimiterSingleQuote || delimiter == DelimiterEscape)
- valueBuffer.append(delimiter); // It was a true escape.
- else {
- valueBuffer.append(DelimiterEscape); // If wasn't a true escape
- valueBuffer.append(delimiter);
- }
- return this;
- }
- }
-
- valueBuffer.append(token);
-
- if (delimiter == DelimiterSingleQuote){
- isComplete =true;
- return this;
- }
-
- // If the delimiter is an escape character remember it so we can escape
- // the next token, otherwise treat it as a literal
- if (delimiter == DelimiterEscape ){
- isEscaped = true;
- } else {
- valueBuffer.append(delimiter);
- }
- return this;
-}
-
-/**
- * chars are primitives.
- */
-public boolean isPrimitive() {
- return true;
-}
-public String toString(){
- StringBuffer buffer = new StringBuffer();
- buffer.append("Char('"); //$NON-NLS-1$
- if ( valueBuffer != null ) {
- buffer.append(valueBuffer.toString());
- }
- buffer.append(')');
- return buffer.toString();
-}
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Constructor.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Constructor.java
deleted file mode 100644
index ebfa5bdc2..000000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Constructor.java
+++ /dev/null
@@ -1,337 +0,0 @@
-package org.eclipse.jem.internal.proxy.initParser;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: Constructor.java,v $
- * $Revision: 1.3 $ $Date: 2005/02/15 22:55:20 $
- */
-
-
-import java.util.*;
-
-import org.eclipse.jem.internal.proxy.common.AmbiguousMethodException;
-import org.eclipse.jem.internal.proxy.common.MethodHelper;
-/**
- * Insert the type's description here.
- * Creation date: (11/01/00 8:52:36 PM)
- * @author: Administrator
- */
-public class Constructor extends Expression {
- public boolean argsOpened = false;
- public boolean argsClosed = false;
- public boolean trailingPeriod = false;
- public ArrayList arguments = new ArrayList(2);
- public Static type;
- protected boolean fIsComplete;
- public boolean insideArgsOpenedParen = false;
- public boolean insideArgsClosedParen = false;
- public boolean isString = false;
- public java.lang.reflect.Constructor ctor;
-/**
- * Constructor constructor comment.
- */
-public Constructor(ClassLoader aClassLoader) {
- super();
- fClassLoader = aClassLoader;
-}
-
-public boolean isComplete(){
- return fIsComplete;
-}
-
-/**
- * Invoke the construtor
- */
-public Object evaluate() throws Exception {
-
- if ( type.isArray() ) {
- // For arrays we get the array that is actually held inside the static
- // To instantiate the array it is possible that the static knows the array size, e.g. new int[2]
- // or else it must be given this from the number of arguments we have, e.g. new int[] { 2 , 3 }
- if ( arguments.size() > 0 ) {
- type.setArrayArguments(arguments);
- }
- Object result = type.evaluate();
- // Deal with array initialization arguments
- return result;
- } else {
- // For non arrays we find the method and invoke it on the type
- cacheCtor();
- // Get the array of arguments
- Object[] args = new Object[arguments.size()];
- Iterator itr = arguments.iterator();
- for (int i = 0; i < arguments.size() ; i++){
- Expression anExpression = (Expression)itr.next();
- args[i] = anExpression.evaluate();
- }
-
- try {
- return ctor.newInstance(args);
- } catch (Exception e) {
- // If we got this far, then we have a valid parse, so anything is an evaluation exception.
- throw new EvaluationException(e);
- }
- }
-}
-/** A constructor can only return the class of its type
- */
-public Class getTypeClass() throws Exception {
- if ( type.isArray() ) {
- // For arrays we get the array that is actually held inside the static
- // To instantiate the array it is possible that the static knows the array size, e.g. new int[2]
- // or else it must be given this from the number of arguments we have, e.g. new int[] { 2 , 3 }
- if ( arguments.size() > 0 ) {
- type.setArrayArguments(arguments);
- }
- }
- return type.getTypeClass();
-}
-
-protected String getTypeClassName() {
- return type.getTypeClassName();
-}
-
-private void cacheCtor() throws Exception {
-
- if (ctor == null) {
- Class[] argTypes = new Class[arguments.size()];
- Iterator itr = arguments.iterator();
- for (int i=0; i<argTypes.length; i++)
- argTypes[i] = getEvaluationTypeClass((Expression) itr.next());
-
- try {
- ctor = MethodHelper.findCompatibleConstructor(getEvaluationTypeClass(this), argTypes);
- } catch (NoSuchMethodException e) {
- throw new EvaluationException(e);
- } catch (AmbiguousMethodException e) {
- throw new EvaluationException(e);
- }
- }
-}
-protected boolean isDelimiterOpened(char token){
- return type.isArray() ? token == DelimiterOpenElipse : token == DelimiterOpenParen;
-}
-protected boolean isDelimiterClosed(char token){
- return type.isArray() ? token == DelimiterCloseElipse : token == DelimiterCloseParen;
-}
-/**
- * push method comment.
- */
-public Expression push(char[] token, char tokenDelimiter) {
-
- // If we are closed and we receive a . with no token then remember this
- if ( argsClosed && !trailingPeriod && tokenDelimiter == DelimiterPeriod && token.length == 0 ) {
- trailingPeriod = true;
- return this;
- }
- // If we have been closed with a . and we receive a . then we are a field
- if ( trailingPeriod && tokenDelimiter == DelimiterPeriod ) {
- return new Field(this,token,fClassLoader);
- }
- // If we have been closed with a . and we receive a ( we are a message
- if ( trailingPeriod && tokenDelimiter == DelimiterOpenParen ) {
- return new Message(this,token,fClassLoader);
- }
-
- // Lazy initialize the type if required
- if ( type == null ) {
- switch ( tokenDelimiter ) {
- case DelimiterPeriod: {
- type = new Static(token,tokenDelimiter,fClassLoader);
- type.setClassLoader(fClassLoader);
- return this;
- }
- case DelimiterOpenParen: {
- type = new Static(token,tokenDelimiter,fClassLoader);
- type.setClassLoader(fClassLoader);
- argsOpened = true;
- return this;
- }
- case DelimiterOpenSquareBrace: {
-// throw new CannotProcessArrayTypesException();
- // Array dimenions are created as staements in the arrayDimensions
- // This is for expressions like new String[] or new String[3], where the Statement represents the 3, i.e.
- // the code that declares the size of the array
- type = new Static(token,tokenDelimiter,fClassLoader,true);
- return this;
- }
- // If we get a { and our static is an array then this is the array initialization parameters
- case DelimiterOpenElipse: {
- if ( type != null && type.isArray() ) {
- argsOpened = true;
- }
- }
- default: {
- return null;
- }
- }
- }
-
- // If we have a static that is an array then it consumes token until it is complete
- if ( type != null && type.isArray() ) {
- // The type consumes token as long as it is still in the array declaration section
- if ( type.isProcessingArrayDimension || tokenDelimiter == DelimiterOpenSquareBrace ) {
- type.push(token,tokenDelimiter);
- return this;
- }
- }
-
- // If the type is incomplete and the token is a . ( for another class ) or a [ for an array then push it onto the type
- if (!type.isArray() && type.getTypeClass() == null && (tokenDelimiter == DelimiterPeriod || tokenDelimiter == DelimiterOpenSquareBrace)) {
- type.push(token , tokenDelimiter);
- return this;
- }
- // If the type is incomplete and the token is a ( then push it onto the type and open the parens
- if (!type.isArray()){
- if (type.getTypeClass() == null && !argsOpened && isDelimiterOpened(tokenDelimiter)) {
- argsOpened = true;
- insideArgsOpenedParen = true;
- type.push(token , DelimiterSpace );
- return this;
- }
- } else {
- if ( !argsOpened && isDelimiterOpened(tokenDelimiter)) {
- argsOpened = true;
- insideArgsOpenedParen = true;
- return this;
- }
- }
-
- // If the args are already closed and we get another close expression, then just return ourselves
- // This occurs in the case of nested array arguments within constructors
- if ( argsClosed && (tokenDelimiter == DelimiterCloseParen)){
- fIsComplete = true;
- return this;
- }
-
- // If the arguments are closed and we receive a { then this is an inner class declaration, e.g.
- // new javax.swing.table.DefaultTableModel(){}
- // This can't be processed by us so we need to throw an exception
- if (argsClosed && tokenDelimiter == DelimiterOpenElipse ) {
- throw new CannotProcessInnerClassesException();
- }
-
- // If the args are opened and a token was supplied then it must be an argument
- if (argsOpened){
- // If we already have an incomplete argument then this may be a constructor, a static reference, etc...
- // and we should forward the request to the argument
- Expression openArgument = null;
- if ( arguments.size() > 0 ){
- openArgument = (Expression)arguments.get(arguments.size()-1);
- if ( !openArgument.isComplete() ) {
- openArgument.push(token,tokenDelimiter);
- // If the argument is complete and we received a ) then the constructor is complete
- // or if we receive a } and are an array we are complete
- if ( openArgument.isComplete() && isDelimiterClosed(tokenDelimiter) ){
- argsClosed = true;
- }
- return this;
- }
- }
-
- Expression newArgument = null;
- // If we are not already inside the open arg and we get another open paren this is probably a cast
- // or some kind of statement, and OperMinus is probably the start of a number
- // If the args are not already open we must be opened with either a { or a ( depending on whether we are an array or not
- // however if the args are opened already and we receive a ( then this is the start of a new statement
-// if ((!insideArgsOpenedParen && isDelimiterOpened(tokenDelimiter)) || tokenDelimiter == DelimiterOpenParen){
- if (tokenDelimiter == DelimiterOpenElipse || tokenDelimiter == DelimiterOpenParen){
- insideArgsOpenedParen = true;
- newArgument = new Statement(fClassLoader).push(token,tokenDelimiter);
- if ( newArgument instanceof ArrayArguments ) {
- ((ArrayArguments)newArgument).setType(type);
- }
- newArgument = new MessageArgument(newArgument);
- arguments.add(newArgument);
-
- }
-
- // Start of a possible string or number or character
- if ( ( token.length > 0 || tokenDelimiter == DelimiterQuote || tokenDelimiter == DelimiterSingleQuote) || tokenDelimiter == OperMinus ){
- newArgument = new Statement(fClassLoader).push(token,tokenDelimiter);
- newArgument = new MessageArgument(newArgument);
- arguments.add(newArgument);
- }
- // If the token after the argument is a ) then the message is being closed
- if ( !insideArgsOpenedParen || argumentsAreComplete() && isDelimiterClosed(tokenDelimiter) ) {
- argsClosed = true;
- return this;
- }
- if ( insideArgsOpenedParen && isDelimiterClosed(tokenDelimiter) ) {
- insideArgsClosedParen = true;
- return this;
- }
-
- // If the token after the argument is a , or a ' ' then the argument is being closed
- if ( tokenDelimiter == DelimiterComma || tokenDelimiter == DelimiterSpace ) {
- // If our arguments are closed then we must be complete. We need to signal the fact we are closed
- // otherwise we will not be processed correctly if we are part of a stack
- if ( argsClosed ) {
- fIsComplete = true;
- }
- return this;
- }
-
- // If we receive a close bracket then we are closed as long as the last argument is closed
- if(argsOpened && isDelimiterClosed(tokenDelimiter)){
- // No parms - we are a closed constructor
- if(arguments.size() == 0){
- argsClosed = true;
- return this;
- }
- }
-
- // If our last argument is closed and receive a ) and we have no new argument then we are closed
- if (tokenDelimiter == DelimiterCloseParen && newArgument == null){
- Expression lastArgument = (Expression)arguments.get(arguments.size()-1);
- if ( lastArgument.isComplete() ) {
- argsClosed = true;
- return this;
- }
- }
-
- // Otherwise the new argument is stil processing. Return it
- return newArgument;
- }
-
- return this;
-}
-protected boolean argumentsAreComplete(){
- if ( arguments.size() == 0) return true;
- return ((Expression)arguments.get(arguments.size()-1)).isComplete();
-}
-public String toString(){
-
- java.io.StringWriter writer = new java.io.StringWriter();
- writer.write("Constructor \""); //$NON-NLS-1$
- if ( type != null ) {
- writer.write(type.typeWriter.toString());
- } else {
- writer.write("UNTYPED"); //$NON-NLS-1$
- }
- for (int i = 0; i < arguments.size() ; i++){
- writer.write(" Arg("); //$NON-NLS-1$
- writer.write("" + (i+1)); //$NON-NLS-1$
- writer.write(") = "); //$NON-NLS-1$
- writer.write(arguments.get(i).toString());
- }
-
- return writer.toString();
-
-}
-
-/**
- * This is never primitive
- */
-public boolean isPrimitive() {
- return false;
-}
-}
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/EvaluationException.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/EvaluationException.java
deleted file mode 100644
index ffc436a06..000000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/EvaluationException.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package org.eclipse.jem.internal.proxy.initParser;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: EvaluationException.java,v $
- * $Revision: 1.3 $ $Date: 2005/06/16 17:46:14 $
- */
-
-import java.lang.reflect.InvocationTargetException;
-
-/**
- * This is an InitializationStringEvaluationException, but
- * in addition, the exception that it wrappers is what should be
- * returned. This means it was a valid exception, parsing had
- * gone fine, but it was an evaluation that occured. This is
- * distinguished from the straight InitializationStringEvaluationException,
- * which means some error during parsing and evaluation.
- *
- * Note: InvocationTargetExceptions will be unwrappered to the true exception.
- */
-public class EvaluationException extends InitializationStringEvaluationException {
-
- /**
- * Comment for <code>serialVersionUID</code>
- *
- * @since 1.1.0
- */
- private static final long serialVersionUID = -6997239021885310986L;
-
- /**
- * Constructor for ReturnableException.
- * @param exc
- */
- public EvaluationException(Throwable exc) {
- super(exc instanceof InvocationTargetException ? ((InvocationTargetException) exc).getTargetException() : exc);
- }
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Expression.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Expression.java
deleted file mode 100644
index 471a17f06..000000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Expression.java
+++ /dev/null
@@ -1,130 +0,0 @@
-package org.eclipse.jem.internal.proxy.initParser;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: Expression.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:55:20 $
- */
-
-
-import java.util.*;
-/**
- * Insert the type's description here.
- * Creation date: (11/01/00 8:46:44 PM)
- * @author: Administrator
- */
-public abstract class Expression implements IParserConstants {
- protected Expression currentExpression;
- protected List fExpressionStack;
- protected ClassLoader fClassLoader;
- public int parenthesisLevel = 0;
-/** Compare the two char arrays
- */
-public static boolean compare(char[] from , char[] to){
-
- return Arrays.equals(from, to);
-}
-/**
- * Expression constructor comment.
- * Note: If any exceptions that are due to evaluation, and not due to some
- * invalid state, then the exception should be wrappered in an EvaluationException,
- * and the EvaluationException thrown instead. This way we can distinquish between
- * valid exceptions that result evaluations (such as null pointer exceptions) from
- * parser errors due to string is too complicated.
- */
-public abstract Object evaluate() throws Exception;
-
-public abstract boolean isComplete();
-/**
- * Return a class type that the expression syntactically would produce.
- * For example, if a field is of type XYZ, return XYZ, even though
- * the value of the field may be SubXYZ where SubXYZ is a subclass of XYZ.
- */
-public abstract Class getTypeClass() throws Exception;
-/**
- * In evaluation phase, get the type class from the expression.
- * If typeclass not found, then a ClassCastException is thrown.
- * @param exp To getTypeClass from
- * @return type class.
- * @throws Exception ClassNotFoundException if type not found.
- */
-public Class getEvaluationTypeClass(Expression exp) throws Exception {
- Class cls = exp.getTypeClass();
- if (cls == null)
- throw new EvaluationException(new ClassNotFoundException(exp.getTypeClassName()));
- return cls;
-}
-
-/**
- * @return Type name that should be returned from this expression.
- */
-protected abstract String getTypeClassName();
-
-public boolean isNumber(char[] token){
-
- if ( token.length == 0) return false;
- // See whether the token is a number
- int parsePosition = 0;
- // Take into account it may start with a - sign, e.g. -1
- if ( token[0] == '-' ) parsePosition = 1;
- for (int i = parsePosition; i < token.length ; i++){
- // If the next token is a digit return true
- // Other things like decimals or primitive types, e.g. 2.2 or 2.2f are
- // handled by NumberLiteral
- return Character.isDigit(token[i]);
- }
- return true;
-}
-public boolean isPop(){
- return false;
-}
-protected void popExpressionStack(){
-
- if ( fExpressionStack != null && fExpressionStack.size() > 0 ) {
- currentExpression = (Expression) fExpressionStack.remove(fExpressionStack.size()-1);
- }
-}
-protected void pushExpressionStack(Expression anExpression){
-
- if ( fExpressionStack == null ) fExpressionStack = new ArrayList(2);
- // The current expression should go onto the stack
- fExpressionStack.add(currentExpression);
- // The current expression is replaced with the argument
- currentExpression = anExpression;
-
-}
-
-void setClassLoader(ClassLoader aClassLoader){
-}
-
-/**
- * Push an expression onto us
- * Return the new expression onto which subsequent token should be pushed
- */
-public abstract Expression push(char[] token , char tokenDelimiter);
-
-/**
- * Answer if this expression results in a primitive.
- */
-public abstract boolean isPrimitive() throws Exception;
-
-public String toString(int depth, boolean aBreak){
- StringBuffer buffer = new StringBuffer();
- if ( aBreak ) {
- buffer.append(System.getProperty("System.lineSeparator")); //$NON-NLS-1$
- }
- for(int i=0;i<depth;i++){
- buffer.append(" "); //$NON-NLS-1$
- }
- buffer.append(toString());
- return buffer.toString();
-}
-}
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Field.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Field.java
deleted file mode 100644
index f43c52adc..000000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Field.java
+++ /dev/null
@@ -1,146 +0,0 @@
-package org.eclipse.jem.internal.proxy.initParser;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: Field.java,v $
- * $Revision: 1.4 $ $Date: 2005/06/21 20:22:51 $
- */
-
-
-/**
- * Insert the type's description here.
- * Creation date: (11/05/00 10:39:28 PM)
- * @author: Administrator
- */
-public class Field extends Expression {
- public boolean isComplete;
- protected java.lang.reflect.Field fField;
- public Expression receiver;
- public String fieldName;
- protected Class fResultType;
-
-public Field(Expression aReceiver , char[] token , ClassLoader aClassLoader){
-
- receiver = aReceiver;
- if ( token.length > 0 ){
- fieldName = new String(token);
- }
-
-}
-public boolean isComplete(){
- return isComplete;
-}
-
-/**
- * Send the message to the receiver
- */
-public Object evaluate() throws Exception {
- Object receiverValue = receiver.evaluate(); // So if it fails, we get an evaluation exception going on up.
- try {
- cacheField();
- return fField.get(receiverValue);
- } catch (Exception e) {
- throw new EvaluationException(e); // Any exception at this point is an evaluation exception.
- }
-}
-
-/**
- * Get the field from reflection.
- */
-protected void cacheField() throws Exception {
- if (fField == null) {
- Class aReceiverClass = getEvaluationTypeClass(receiver);
- fField = aReceiverClass.getField(fieldName);
- fResultType = fField.getType();
- }
-}
-
-/**
- * The result type is the type of the field.
- */
-public Class getTypeClass() throws Exception {
- if ( fResultType == null ) {
- cacheField();
- }
- return fResultType;
-}
-
-protected String getTypeClassName() {
- return ""; // If we got this far, we don't know what it is. //$NON-NLS-1$
-}
-/**
- * push method comment.
- */
-public Expression push(char[] token, char tokenDelimiter) {
-
- // If the delimiter is a ( then this is the start of a message
- if ( tokenDelimiter == DelimiterOpenParen ) {
- return new Message(this , token , fClassLoader);
- }
-
- // If the delimiter is a . then this is a field
- if (token.length > 0 && ( tokenDelimiter == DelimiterPeriod || tokenDelimiter == DelimiterSpace
- || tokenDelimiter == DelimiterComma)) {
- isComplete = true;
- return new Field(this , token , fClassLoader);
-
- }
-
- if(fieldName != null && tokenDelimiter == DelimiterComma){
- isComplete = true;
- return this;
- }
-
- // If we have no delimiter or a close paren then we have just received the field name
- if (!isComplete && fieldName == null) {
- fieldName = new String(token);
- return this;
- }
-
- if(tokenDelimiter == BitOR || tokenDelimiter == BitAND){
- isComplete = true;
- PrimitiveOperation result = new PrimitiveOperation(this,tokenDelimiter);
- return result;
- }
-
- // Ignore spaces as this maybe padding between the field and the next valid token
- if(token.length == 0 && tokenDelimiter == ' ') return this;
-
- throw new RuntimeException(java.text.MessageFormat.format(ProxyInitParserMessages.getString(ProxyInitParserMessages.UNEXPECTED_TOKEN), new Object[] {new StringBuffer(token.length+1).append(token).append(tokenDelimiter).toString()}));
-
-}
-public String toString(){
-
- java.io.StringWriter writer = new java.io.StringWriter();
- writer.write("Field Name=\""); //$NON-NLS-1$
- if ( fieldName != null ) {
- writer.write(fieldName);
- } else {
- writer.write("UNNAMED"); //$NON-NLS-1$
- }
- writer.write("\" Receiver="); //$NON-NLS-1$
- if ( receiver != null ){
- writer.write(receiver.toString());
- } else {
- writer.write("NONE"); //$NON-NLS-1$
- }
- return writer.toString();
-
-}
-
-/**
- * Test the field type to determine if primitive or not.
- */
-public boolean isPrimitive() throws Exception {
- cacheField();
- return getTypeClass().isPrimitive();
-}
-}
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/IParserConstants.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/IParserConstants.java
deleted file mode 100644
index e282d0797..000000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/IParserConstants.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.eclipse.jem.internal.proxy.initParser;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: IParserConstants.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:55:20 $
- */
-
-
-/**
- * Constants for the parser.
- * Creation date: (11/05/00 9:37:45 PM)
- * @author: Administrator
- */
-public interface IParserConstants {
- // Define the delimiters
- public static final char DelimiterSpace = ' ';
- public static final char DelimiterPeriod = '.';
- public static final char DelimiterOpenParen = '(';
- public static final char DelimiterCloseParen = ')';
- public static final char DelimiterComma = ',';
- public static final char DelimiterQuote = '"';
- public static final char DelimiterEscape = '\\';
- public static final char DelimiterSingleQuote = '\'';
- public static final char DelimiterOpenElipse = '{';
- public static final char DelimiterCloseElipse = '}';
- public static final char DelimiterOpenSquareBrace = '[';
- public static final char DelimiterCloseSquareBrace = ']';
- // Define the math functions
- public static final char OperPlus = '+';
- public static final char OperMinus = '-';
- public static final char OperMultiply = '*';
- public static final char OperDivide = '/';
- // Define the primitive functions
- public static final char BitOR = '|';
- public static final char BitAND = '&';
-
- // Define constants
- public static final char[] ConstantNew = new char[] { 'n' , 'e' , 'w' };
- public static final char[] ConstantTrue = new char[] { 't' , 'r' , 'u' , 'e' };
- public static final char[] ConstantFalse = new char[] { 'f' , 'a' , 'l' , 's' , 'e' };
- public static final char[] ConstantNull = new char[] { 'n' , 'u' , 'l' , 'l' };
-}
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/InitializationStringEvaluationException.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/InitializationStringEvaluationException.java
deleted file mode 100644
index b9d72ac3c..000000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/InitializationStringEvaluationException.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.eclipse.jem.internal.proxy.initParser;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: InitializationStringEvaluationException.java,v $
- * $Revision: 1.4 $ $Date: 2005/06/16 17:46:14 $
- */
-
-
-
-public class InitializationStringEvaluationException extends Exception {
-
-
-/**
- * Comment for <code>serialVersionUID</code>
- *
- * @since 1.1.0
- */
- private static final long serialVersionUID = -8633390926210276727L;
-public InitializationStringEvaluationException(Throwable exc){
- super(exc);
-}
-public Throwable getOriginalException(){
- return getCause();
-}
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/InitializationStringParser.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/InitializationStringParser.java
deleted file mode 100644
index eed43a459..000000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/InitializationStringParser.java
+++ /dev/null
@@ -1,300 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.initParser;
-/*
- * $RCSfile: InitializationStringParser.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:55:20 $
- */
-
-
-import java.util.ArrayList;
-/**
- * Insert the type's description here.
- * Creation date: (11/01/00 8:53:45 PM)
- * @author: Administrator
- */
-public class InitializationStringParser implements IParserConstants {
- protected ClassLoader fClassLoader;
- protected boolean isComplete = false;
- protected String fInitString;
- protected int fSourceLength;
- protected char[] fSource;
- protected int fSourcePosition = -1;
- private char[] fCurrentToken;
- private char fCurrentTokenDelimiter = 0;
- protected ArrayList fExpressionStack = new ArrayList(4);
- protected Expression fExpression;
-/**
- * InitializationStringParser constructor comment.
- */
-public InitializationStringParser(String initString){
-
- fInitString = initString;
- fSource = initString.toCharArray();
- fSourceLength = fSource.length;
-
-}
-/** Look for a known token
- */
-protected void createNextToken(){
-
- fCurrentTokenDelimiter = 0;
- if ( fSourcePosition >= fSourceLength - 1 ) {
- isComplete = true;
- return;
- }
-
- fSourcePosition++;
- // If we are not in a token then look for " " or else for a period
- char[] fCurrentTokenSource = new char[fSourceLength];
- int i = 0;
- scanner : for ( ; fSourcePosition < fSourceLength ; fSourcePosition++ , i++ ){
- // Advance the source position so when finding the next token we skip over the '.' or ' '
- // Record the delimiter that was found
- switch ( fSource[fSourcePosition] ) {
- case DelimiterPeriod: {
- fCurrentTokenDelimiter = DelimiterPeriod;
- break scanner;
- }
- case DelimiterOpenParen: {
- fCurrentTokenDelimiter = DelimiterOpenParen;
- break scanner;
- }
- case DelimiterCloseParen: {
- fCurrentTokenDelimiter = DelimiterCloseParen;
- break scanner;
- }
- case DelimiterComma: {
- fCurrentTokenDelimiter = DelimiterComma;
- break scanner;
- }
- case DelimiterSpace: {
- fCurrentTokenDelimiter = DelimiterSpace;
- break scanner;
- }
- case DelimiterQuote: {
- fCurrentTokenDelimiter = DelimiterQuote;
- break scanner;
- }
- case DelimiterSingleQuote: {
- fCurrentTokenDelimiter = DelimiterSingleQuote;
- break scanner;
- }
- case DelimiterEscape: {
- fCurrentTokenDelimiter = DelimiterEscape;
- break scanner;
- }
- case DelimiterOpenElipse:{
- fCurrentTokenDelimiter = DelimiterOpenElipse;
- break scanner;
- }
- case DelimiterOpenSquareBrace:{
- fCurrentTokenDelimiter = DelimiterOpenSquareBrace;
- break scanner;
- }
- case DelimiterCloseSquareBrace:{
- fCurrentTokenDelimiter = DelimiterCloseSquareBrace;
- break scanner;
- }
- case DelimiterCloseElipse:{
- fCurrentTokenDelimiter = DelimiterCloseElipse;
- break scanner;
- }
- // Do the math functions
- case OperPlus: {
- fCurrentTokenDelimiter = OperPlus;
- break scanner;
- }
- case OperMinus: {
- fCurrentTokenDelimiter = OperMinus;
- break scanner;
- }
- case OperMultiply: {
- fCurrentTokenDelimiter = OperMultiply;
- break scanner;
- }
- case OperDivide: {
- fCurrentTokenDelimiter = OperDivide;
- break scanner;
- }
- // Do the primitive BitWise operations
- case BitOR: {
- fCurrentTokenDelimiter = BitOR;
- break scanner;
- }
- case BitAND: {
- fCurrentTokenDelimiter = BitAND;
- break scanner;
- }
- default: {
- fCurrentTokenSource[i] = fSource[fSourcePosition];
- }
- }
- }
-
- // Push the token onto the stack for later decoding
- if ( i >= 1 ) {
- fCurrentToken = new char[i];
- System.arraycopy( fCurrentTokenSource , 0 , fCurrentToken , 0 , i );
- } else {
- fCurrentToken = new char[0];
- }
-
-}
-/** Answer the result of evaluating the expression
- */
-public Object evaluate() throws InitializationStringEvaluationException {
-
- try {
- return fExpression.evaluate();
- } catch (java.lang.reflect.InvocationTargetException e) {
- throw new EvaluationException(e);
- } catch (EvaluationException e) {
- throw e; // Don't loose these
- } catch (Throwable e) {
- throw new InitializationStringEvaluationException(e);
- }
-
-}
-public static Object evaluate(String initString) throws InitializationStringEvaluationException {
-
- return evaluate(initString,null);
-
-}
-public static Object evaluate(String initString,ClassLoader aClassLoader) throws InitializationStringEvaluationException {
-
- InitializationStringParser parser = null;;
- try {
- parser = new InitializationStringParser(initString);
- parser.setClassLoader(aClassLoader);
- parser.parse();
- } catch ( Throwable exc ) {
- throw new InitializationStringEvaluationException(exc);
- }
- return parser.evaluate();
-}
-
-/**
- * Return a parser already parsed. Use the default classloader (i.e. classloader that loaded InitializationStringParser).
- *
- * @param initString
- * @return The parser, already parsed.
- * @throws InitializationStringEvaluationException
- */
-
-public static InitializationStringParser createParser(String initString) throws InitializationStringEvaluationException {
- return createParser(initString, null);
-}
-
-/**
- * Return a parser already parsed. Use the given classloader.
- *
- * @param initString
- * @param classLoader
- * @return The parser, already parsed.
- * @throws InitializationStringEvaluationException
- */
-public static InitializationStringParser createParser(String initString, ClassLoader classLoader) throws InitializationStringEvaluationException {
-
- try {
- InitializationStringParser parser = new InitializationStringParser(initString);
- parser.setClassLoader(classLoader);
- parser.parse();
- return parser;
- } catch ( Throwable exc ) {
- throw new InitializationStringEvaluationException(exc);
- }
-
-}
-
-/** Analyze the string
- */
-public void parse(){
-
- createFirstExpression();
- int i =1;
- while ( true ){
- createNextToken();
- if ( isComplete ) {
- // If the current expression is incomplete it must be completed
- // by the end, which is basically the equiavlent of a;
- return;
- } else {
- i++;
- Expression result = fExpression.push( fCurrentToken , fCurrentTokenDelimiter );
- // If the result if a push then push the stack
- if ( result.isComplete() ) {
- popExpressionStack();
- } else if ( result != fExpression ) {
- pushExpressionStack(result);
- }
- }
- }
-}
-
-/**
- * Answer if the string results in a primitive.
- */
-public boolean isPrimitive() throws InitializationStringEvaluationException {
- try {
- return fExpression.isPrimitive();
- } catch (Exception e) {
- throw new InitializationStringEvaluationException(e);
- }
-}
-
-public Class getExpectedType() throws InitializationStringEvaluationException {
- try {
- return fExpression.getTypeClass();
- } catch (Exception e) {
- throw new InitializationStringEvaluationException(e);
- }
-}
-
-/* Pop the top expression off the stack
- */
-protected void popExpressionStack(){
-
- if ( fExpressionStack.size() > 0 ) {
- fExpression = (Expression) fExpressionStack.remove(fExpressionStack.size()-1);
- }
-}
-/* Push the expression onto the stack
- */
-protected void pushExpressionStack(Expression anExpression){
-
- // The current expression should go onto the stack
- fExpressionStack.add(fExpression);
- // The current expression is replaced with the argument
- fExpression = anExpression;
-
-}
-protected void createFirstExpression(){
- if ( fExpression == null ) {
- fExpression = new Statement(fClassLoader);
- };
-}
-public void setClassLoader(ClassLoader aClassLoader){
- fClassLoader = aClassLoader;
-}
-public String toString(){
- StringBuffer writer = new StringBuffer();
- writer.append("Parser. token=\""); //$NON-NLS-1$
- if ( fCurrentToken != null ) {
- writer.append(fCurrentToken);
- }
- writer.append("\", delim=\""); //$NON-NLS-1$
- writer.append(fCurrentTokenDelimiter);
- writer.append("\", initString=\""); //$NON-NLS-1$
- writer.append(fInitString);
- return writer.toString();
-}
-}
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Message.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Message.java
deleted file mode 100644
index bf324ad47..000000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Message.java
+++ /dev/null
@@ -1,224 +0,0 @@
-package org.eclipse.jem.internal.proxy.initParser;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: Message.java,v $
- * $Revision: 1.3 $ $Date: 2005/02/15 22:55:20 $
- */
-
-
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.jem.internal.proxy.common.AmbiguousMethodException;
-import org.eclipse.jem.internal.proxy.common.MethodHelper;
-
-public class Message extends Expression {
- protected boolean trailingPeriod = false;
- protected Method fMethod;
- public Expression receiver;
- public String message;
- public boolean argsClosed = false;
- public boolean insideArgsOpenedParen = false;
- public boolean insideArgsClosedParen = false;
- protected boolean isComplete = false;
- public ArrayList arguments = new ArrayList(2);
-
-public Message(Expression aReceiver , char[] token , ClassLoader aClassLoader){
- receiver = aReceiver;
- message = new String(token);
- fClassLoader = aClassLoader;
-}
-public boolean isComplete(){
- return isComplete;
-}
-
-/**
- * Send the message to the receiver
- */
-public Object evaluate() throws Exception {
- cacheMethod();
-
- // Get the array of arguments
- Object[] args = new Object[arguments.size()];
- Iterator itr = arguments.iterator();
- for (int i = 0; i < arguments.size() ; i++){
- Expression anExpression = (Expression)itr.next();
- args[i] = anExpression.evaluate();
- }
-
- Object receiverValue = receiver.evaluate(); // So if evaluation exception thrown, we don't wrapper again.
-
- try {
- return fMethod.invoke(receiverValue, args);
- } catch (Exception e) {
- throw new EvaluationException(e);
- }
-}
-
-/**
- * Cache the message
- */
-protected void cacheMethod() throws Exception {
- if (fMethod == null) {
- Class[] argTypes = new Class[arguments.size()];
- Iterator itr = arguments.iterator();
- for (int i=0; i<argTypes.length; i++)
- argTypes[i] = getEvaluationTypeClass((Expression) itr.next());
-
- try {
- fMethod = MethodHelper.findCompatibleMethod(getEvaluationTypeClass(receiver), message, argTypes);
- } catch (NoSuchMethodException e) {
- throw new EvaluationException(e);
- } catch (AmbiguousMethodException e) {
- throw new EvaluationException(e);
- }
- }
-}
-
-
-/**
- * getTypeClass method comment.
- */
-public Class getTypeClass() throws Exception {
- cacheMethod();
- return fMethod.getReturnType();
-}
-
-protected String getTypeClassName() {
- return ""; // If we got this far, we don't know what it is. //$NON-NLS-1$
-}
-/**
- * push method comment.
- */
-public Expression push(char[] token, char tokenDelimiter) {
-
- // If we are closed and we receive a . with no token then remember this
- if ( argsClosed && !trailingPeriod && tokenDelimiter == DelimiterPeriod && token.length == 0 ) {
- trailingPeriod = true;
- return this;
- }
- // If we have been closed with a . and we receive a . then we are a field
- if ( trailingPeriod && tokenDelimiter == DelimiterPeriod ) {
- return new Field(this,token,fClassLoader);
- }
- // If we have been closed with a . and we receive a ( we are a message
- if ( trailingPeriod && tokenDelimiter == DelimiterOpenParen ) {
- return new Message(this,token,fClassLoader);
- }
-
- // If we have been closed and we receive a , or a ) we are complete - this is a structural token intended for someone else,
- // probably a message argument lower down the stack
- if (argsClosed && (tokenDelimiter == DelimiterComma || tokenDelimiter == DelimiterCloseParen)){
- isComplete = true;
- return this;
- }
-
-
- // If the args are opened and a token was supplied then it must be an argument
- //if ( argsOpened && ( tokenDelimiter == DelimiterCloseParen || tokenDelimiter == DelimiterComma ||
- //tokenDelimiter == DelimiterSpace || tokenDelimiter == DelimiterQuote || tokenDelimiter == DelimiterPeriod)) {
- if (!argsClosed){
- if ( arguments.size() > 0 ){
- Expression openArgument = (Expression)arguments.get(arguments.size()-1);
- if ( !openArgument.isComplete() ) {
- openArgument.push(token,tokenDelimiter);
- // If the argument is complete and we received a ) then the message is complete
- if ( openArgument.isComplete() && tokenDelimiter == DelimiterCloseParen){
- argsClosed = true;
- }
- return this;
- }
- }
-
- // We must have a new argument - process accordingly
- Expression newArgument = null;
- if (!insideArgsOpenedParen && tokenDelimiter == DelimiterOpenParen){
- insideArgsOpenedParen = true;
- newArgument = new Statement(fClassLoader).push(token,tokenDelimiter);
- newArgument = new MessageArgument(newArgument);
- arguments.add(newArgument);
-
- }
- if ( newArgument == null && (token.length > 0 || tokenDelimiter == DelimiterQuote || tokenDelimiter == DelimiterSingleQuote || tokenDelimiter == DelimiterOpenParen )) {
- newArgument = new Statement(fClassLoader).push(token,tokenDelimiter);
- newArgument = new MessageArgument(newArgument);
- arguments.add(newArgument);
- }
- // If the token after the argument is a ) then the message is being closed
- if ( !insideArgsOpenedParen && tokenDelimiter == DelimiterCloseParen ) {
- argsClosed = true;
- return this;
- }
- if ( insideArgsOpenedParen && tokenDelimiter == DelimiterCloseParen ) {
- insideArgsClosedParen = true;
- return this;
- }
-
- // If the token after the argument is a , or a ' ' then the argument is being closed
- if ( tokenDelimiter == DelimiterComma || tokenDelimiter == DelimiterSpace ) {
- return this;
- }
-
- // Otherwise the new argument is stil processing. Return it
-// return newArgument;
- }
-
- // If we don't have a message yet, then consume this one
- if ( message.length() == 0 ) {
- message = new String(token);
- return this;
- }
-
- return this;
-}
-public String toString(){
-
- java.io.StringWriter writer = new java.io.StringWriter();
- writer.write("Msg Name=\""); //$NON-NLS-1$
- if ( message != null ) {
- writer.write(message);
- } else {
- writer.write("UNNAMED"); //$NON-NLS-1$
- }
- writer.write("\" Rcv=("); //$NON-NLS-1$
- if ( receiver != null ){
- writer.write(receiver.toString());
- } else {
- writer.write("NONE"); //$NON-NLS-1$
- }
- writer.write(')');
- if ( arguments != null ) {
- writer.write("Args("); //$NON-NLS-1$
- Iterator iter = arguments.iterator();
- int i=1;
- while(iter.hasNext()){
- writer.write(new Integer(i).toString());
- writer.write('(');
- writer.write(iter.next().toString());
- writer.write("),"); //$NON-NLS-1$
- }
- writer.write(')');
- }
-
- return writer.toString();
-
-}
-
-/**
- * Is the message result a primitive.
- */
-public boolean isPrimitive() throws Exception {
- cacheMethod();
- return fMethod.getReturnType().isPrimitive();
-}
-}
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/MessageArgument.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/MessageArgument.java
deleted file mode 100644
index 1079049ce..000000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/MessageArgument.java
+++ /dev/null
@@ -1,123 +0,0 @@
-package org.eclipse.jem.internal.proxy.initParser;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: MessageArgument.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:55:20 $
- */
-
-
-import java.io.StringWriter;
-import java.util.*;
-
-public class MessageArgument extends Expression {
-
- protected boolean isComplete = false;
- Expression fExpression;
- ArrayList fExpressionStack = new ArrayList();
-
-public MessageArgument(Expression anExpression){
- fExpression = anExpression;
-}
-
-public Object evaluate() throws Exception {
-
- return fExpression.evaluate();
-
-}
-
-public Class getTypeClass() throws Exception {
-
- return fExpression.getTypeClass();
-
-}
-
-protected String getTypeClassName() {
- return fExpression.getTypeClassName();
-}
-public boolean isComplete(){
- return isComplete || fExpression.isComplete();
-}
-
-public Expression push(char[] token , char delimiter){
-
- // Even if our expression is complete and we receive anything other than a , then the expression must process it as this may be a field or message
- // that is being sent to the expression to make up a complex argument
- Expression result = fExpression.push(token,delimiter);
- // If the result if a push then push the stack
- if ( result != fExpression ) {
- pushExpressionStack(result);
- } else if (result.isComplete()){
- // If our expression is complete, we are completed with a ) pop the stack so the previous expression can process us
- if (delimiter == DelimiterCloseParen ) {
- isComplete = true;
- popExpressionStack();
- } else if (delimiter == DelimiterComma || delimiter == DelimiterQuote ) {
- // If we receive a comma we pop the stack so the previous expression can process us but we don't flag us as complete
- popExpressionStack();
- // unless our expression is some array argument AND it is complete AND we have a close elipse }
- } else if ( delimiter == DelimiterCloseElipse ) {
- popExpressionStack();
- if ( fExpression instanceof ArrayArguments ) {
- isComplete = true;
- }
- }
- }
- return this;
-}
-
-/* Pop the top expression off the stack
- */
-protected void popExpressionStack(){
-
- if ( fExpressionStack.size() > 0 ) {
- Expression lastExpression = (Expression)fExpressionStack.get(fExpressionStack.size() - 1);
- if ( !lastExpression.isComplete() ) {
- fExpression = (Expression) fExpressionStack.remove(fExpressionStack.size() - 1);
- } else {
- isComplete = true;
- }
- } else {
- isComplete = true;
- }
-}
-
-/* Push the expression onto the stack
- */
-protected void pushExpressionStack(Expression anExpression){
-
- // The current expression should go onto the stack
- fExpressionStack.add(fExpression);
- // The current expression is replaced with the argument
- fExpression = anExpression;
-
-}
-
-public boolean isPrimitive(){
- return false;
-}
-public String toString(){
- StringWriter writer = new StringWriter();
- writer.write("Arg("); //$NON-NLS-1$
- if ( fExpression != null ) {
- writer.write(fExpression.toString());
- }
- writer.write(")"); //$NON-NLS-1$
- return writer.toString();
-}
-public void contributeArgumentNumber(List argumentNumberList){
-
- if ( fExpression instanceof ArrayArguments ) {
- ((ArrayArguments)fExpression).contributeArgumentNumber(argumentNumberList);
- }
-
-}
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/NullLiteral.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/NullLiteral.java
deleted file mode 100644
index 102b65d00..000000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/NullLiteral.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.initParser;
-
-import org.eclipse.jem.internal.proxy.common.MethodHelper;
-
-/*
- * $RCSfile: NullLiteral.java,v $
- * $Revision: 1.5 $ $Date: 2005/02/15 22:55:20 $
- */
-
-
-public class NullLiteral extends Expression {
-public NullLiteral(){
-}
-/**
- * evaluate method comment.
- */
-public Object evaluate() {
- return null;
-}
-/**
- * evaluate method comment.
- */
-public Class getTypeClass(){
- return MethodHelper.NULL_TYPE;
-}
-
-protected String getTypeClassName() {
- return MethodHelper.NULL_TYPE.getName();
-}
-/**
- * true or false cannot consume any kind of expression so we must return null
- */
-public Expression push(char[] token , char delimiter){
- return null;
-}
-
-public boolean isComplete(){
- return true;
-}
-
-/**
- * Null is not primitive
- */
-public boolean isPrimitive() {
- return false;
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/NumberLiteral.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/NumberLiteral.java
deleted file mode 100644
index 92beb227a..000000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/NumberLiteral.java
+++ /dev/null
@@ -1,171 +0,0 @@
-package org.eclipse.jem.internal.proxy.initParser;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: NumberLiteral.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:55:20 $
- */
-
-
-public class NumberLiteral extends Expression {
- protected String numberString = ""; //$NON-NLS-1$
- protected boolean isComplete = false;
- protected Class numberClass = Integer.TYPE;
- protected int exponentFlag = NO_EXPONENT;
-
- protected static final int
- NO_EXPONENT = 0,
- HAS_EXPONENT = 1,
- HAS_EXPONENT_MINUS = 2;
-/**
- * evaluate method comment.
- */
-public NumberLiteral(){
-}
-/**
- * evaluate method comment.
- */
-public Object evaluate() throws Exception {
- try {
- // Return a number of the correct instance
- if (numberClass == Float.TYPE){
- return new Float(Float.parseFloat(numberString));
- } else if (numberClass == Long.TYPE ) {
- return Long.decode(numberString);
- } else if (numberClass == Double.TYPE ){
- return new Double(Double.parseDouble(numberString));
- } else
- return Integer.decode(numberString);
- } catch (Exception e) {
- throw new EvaluationException(e);
- }
-
-}
-public boolean isComplete(){
- return isComplete;
-}
-
-/**
- * Return the type of number that we are.
- */
-public Class getTypeClass(){
- return numberClass;
-}
-
-protected String getTypeClassName() {
- return numberClass != null ? numberClass.getName() : ""; //$NON-NLS-1$
-}
-/**
- * If the delimiter is an operation such as a +,-,/,* then we can consume it
- * If the delimiter is period and we don't already have one then it is the decimal portion of us
- */
-public Expression push(char[] token , char delimiter){
-
- // Close brackets complete use
- if(delimiter == DelimiterCloseParen || delimiter == DelimiterComma || delimiter == DelimiterCloseElipse){
- isComplete = true;
- }
-
- if (delimiter == OperMinus && numberString.length() == 0)
- numberString+=OperMinus; // No digits yet, but we have a minus sign, so add to accumulating number.
-
- numberString += processNumberToken(token);
-
- // If we have part of a number and are asked to do some arithmetic throw an
- // error that this has not been coded yet, except minus could be part of an exponent.
- if(numberString.length() > 0 && token.length > 1) {
- switch(delimiter){
- case OperMinus:
- if (exponentFlag == HAS_EXPONENT) {
- exponentFlag = HAS_EXPONENT_MINUS;
- numberString += OperMinus;
- break;
- }
- case OperPlus:
- case OperMultiply:
- case OperDivide:
- {
- throw new RuntimeException("Can't do arithmetic yet"); //$NON-NLS-1$
- }
- }
- }
-
- if (delimiter == DelimiterPeriod){
- numberClass = Double.TYPE; // A decimal makes it double.
- numberString += DelimiterPeriod;
- }
-
- if(delimiter == BitOR || delimiter == BitAND){
- Expression result = new PrimitiveOperation(this,delimiter);
- isComplete = true;
- return result;
- }
-
- return this;
-
-}
-protected String processNumberToken(char[] token){
-
- for (int i=0; i<token.length; i++)
- if (token[i] == 'E' || token[i] == 'e') {
- numberClass = Double.TYPE; // Definitely a floating because of this.
- exponentFlag = HAS_EXPONENT;
- break;
- }
-
- // The token could be a number, e.g. 10 or 5 or could be qualified with a primitive
- // suffix, e.g. 10l or 5f
- char[] numberToken = token;
- if ( token.length > 0 ) {
- switch(token[token.length - 1]){
- case 'F':
- case 'f':
- numberClass = Float.TYPE;
- numberToken = new char[token.length - 1];
- System.arraycopy(token,0,numberToken,0,numberToken.length);
- isComplete = true;
- break;
- case 'L':
- case 'l':
- numberClass = Long.TYPE;
- numberToken = new char[token.length - 1];
- System.arraycopy(token,0,numberToken,0,numberToken.length);
- isComplete = true;
- break;
- case 'D':
- case 'd':
- numberClass = Double.TYPE;
- numberToken = new char[token.length - 1];
- System.arraycopy(token,0,numberToken,0,numberToken.length);
- isComplete = true;
- break;
- }
- }
-
- return new String(numberToken);
-}
-public String toString(){
-
- java.io.StringWriter writer = new java.io.StringWriter();
- writer.write("Number \""); //$NON-NLS-1$
- writer.write(numberString);
- writer.write("\""); //$NON-NLS-1$
- return writer.toString();
-
-}
-
-/**
- * Number literals are primitive
- */
-public boolean isPrimitive() {
- return true;
-}
-}
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/PrimitiveOperation.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/PrimitiveOperation.java
deleted file mode 100644
index 46abf8991..000000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/PrimitiveOperation.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * This is for primitive expressions that are optimized out the compiler such as bit or, bit and, etc..
- */
-package org.eclipse.jem.internal.proxy.initParser;
-
-import java.text.MessageFormat;
-
-/*******************************************************************************
- * Copyright (c) 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: PrimitiveOperation.java,v $
- * $Revision: 1.5 $ $Date: 2005/06/21 20:22:51 $
- */
-
-public class PrimitiveOperation extends Expression {
-
- protected int operation; // This can be BitOR or BitAND
- protected Expression receiver; // The left hand side of the expression
- protected boolean isComplete = false;
-
- public PrimitiveOperation(Expression aReceiver, int anOperation){
- receiver = aReceiver;
- operation = anOperation;
- }
-
- public Object evaluate() throws Exception {
- Object leftHandSide = receiver.evaluate();
- Object rightHandSide = currentExpression.evaluate();
- if (leftHandSide instanceof Integer && rightHandSide instanceof Integer) {
- if(operation == BitOR) {
- return new Integer(((Integer)leftHandSide).intValue() | ((Integer)rightHandSide).intValue());
- } else if(operation == BitAND) {
- return new Integer(((Integer)leftHandSide).intValue() & ((Integer)rightHandSide).intValue());
- }
- }
- throw new RuntimeException(MessageFormat.format(ProxyInitParserMessages.getString("PrimitiveOperation.Evaluate.InvalidOperator_EXC_"), new Object[]{getOperDescription(), leftHandSide, rightHandSide})); //$NON-NLS-1$
- }
- protected String getOperDescription(){
- if(operation == BitOR) return "|"; //$NON-NLS-1$
- if (operation == BitAND) return "&"; //$NON-NLS-1$
- return "???"; //$NON-NLS-1$
- }
-
- public boolean isComplete() {
- return isComplete;
- }
-
- public Class getTypeClass() throws Exception {
- return Integer.TYPE;
- }
-
- protected String getTypeClassName() {
- return Integer.TYPE.getName();
- }
-
- public Expression push(char[] token, char tokenDelimiter) {
-
- // Create a new statement if the argument is null ( we are always created with a receiver )
- if(currentExpression == null && token.length > 0){
- currentExpression = new Statement(fClassLoader).push(token,tokenDelimiter);
- pushExpressionStack(currentExpression);
- return this;
- }
-
- // Ignore whitespace
- if(token.length == 0 && tokenDelimiter == ' ') return this;
-
- // If we have an argument we just keep pushing the expression onto this
- if(currentExpression != null){
- Expression result = currentExpression.push(token,tokenDelimiter);
- if(result != currentExpression){
- pushExpressionStack(result);
- }
- }
-
- if(currentExpression != null && currentExpression.isComplete()){
- if(tokenDelimiter == DelimiterComma){
- isComplete = true;
- return this;
- } else if (tokenDelimiter == DelimiterCloseParen){
- if(receiver.parenthesisLevel > 0){
- receiver.parenthesisLevel--;
- } else {
- isComplete = true;
- return this;
- }
- }
- }
-
- return this;
- }
-
- public boolean isPrimitive() throws Exception {
- return true;
- }
-
- public String toString(){
- StringBuffer buffer = new StringBuffer();
- if (receiver != null) buffer.append(receiver.toString());
- buffer.append(getOperDescription());
- if (currentExpression != null) buffer.append(currentExpression.toString());
- return buffer.toString();
- }
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/ProxyInitParserMessages.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/ProxyInitParserMessages.java
deleted file mode 100644
index 2ecff5390..000000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/ProxyInitParserMessages.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package org.eclipse.jem.internal.proxy.initParser;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: ProxyInitParserMessages.java,v $
- * $Revision: 1.4 $ $Date: 2005/06/21 20:22:51 $
- */
-
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-/**
- * General Proxy NLS Constants
- * Creation date: (4/13/00 10:46:58 AM)
- * @author: Administrator
- */
-public class ProxyInitParserMessages {
- // Resource Bundle to use for basic Proxy NLS resources.
- static private final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle("org.eclipse.jem.internal.proxy.initParser.messages"); //$NON-NLS-1$
-
- // Keys for messages/strings within the resource bundle.
- static public final String
- UNEXPECTED_TOKEN = "UnexpectedToken_EXC_", //$NON-NLS-1$
- STATEMENT_UNEXPECTED_EXECUTION = "Statement.UnexpectedExecution_EXC_", //$NON-NLS-1$
- STATEMENT_UNEXPECTED_EVALUATION = "Statement.UnexpectedEvaluation_EXC_" ; //$NON-NLS-1$
-
- private ProxyInitParserMessages() {
- }
-
- public static String getString(String key) {
- try {
- return RESOURCE_BUNDLE.getString(key);
- } catch (MissingResourceException e) {
- return '!' + key + '!';
- }
- }
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Statement.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Statement.java
deleted file mode 100644
index abbb21584..000000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Statement.java
+++ /dev/null
@@ -1,201 +0,0 @@
-package org.eclipse.jem.internal.proxy.initParser;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: Statement.java,v $
- * $Revision: 1.4 $ $Date: 2005/06/21 20:22:51 $
- */
-
-
-
-public class Statement extends Expression {
- public boolean isStringObject = false;
- public boolean isCast = false;
- protected boolean messageOrFieldStarted;
-
-/**
- * Statement constructor comment.
- */
-public Statement(ClassLoader aClassLoader) {
- super();
- fClassLoader = aClassLoader;
-}
-
-public boolean isComplete(){
- return currentExpression != null && currentExpression.isComplete();
-}
-
-/** Defer this to the expression
- */
-public Object evaluate() throws Exception {
- if ( currentExpression != null ) {
- return currentExpression.evaluate();
- } else {
- throw new RuntimeException(ProxyInitParserMessages.getString(ProxyInitParserMessages.STATEMENT_UNEXPECTED_EXECUTION)); // This is not an evaluation error, it shouldn't of occured, so it is a parser error.
- }
-}
-/**
- */
-public Class getTypeClass() throws Exception {
- return currentExpression.getTypeClass();
- //throw new RuntimeException(ProxyBaseVMNLS.RESBUNDLE.getString(ProxyBaseVMNLS.STATEMENT_UNEXPECTED_EVALUATION));
-}
-
-protected String getTypeClassName() {
- return currentExpression.getTypeClassName();
-}
-/** There are several types of token that can begin a statement.
- * new , ' ' - Create a constructor
- * 1-10, true, false, etc... - Create a literal
- * Foo, '.' - Create a Type
- */
-public Expression push(char[] token , char delimiter){
-
- // If messageOrFieldStart is true then our expression is complete and either a message or field is being created
- // See which it is and create the correct expression
- if (messageOrFieldStarted){
- messageOrFieldStarted = false;
- if ( delimiter == DelimiterOpenParen){
- Message message = new Message(currentExpression,token,fClassLoader);
- currentExpression = message;
- return message;
- } else {
- Field field = new Field(currentExpression,token,fClassLoader);
- currentExpression = field;
- return field;
- }
- }
-
- // Look for "new " for a constructor"
- if ( delimiter == DelimiterSpace && compare( token , ConstantNew ) ) {
- // If we thought we were a possible cast and we now aren't then we must be a block expression
- if ( isCast ) {
- currentExpression = new Block(new Constructor(fClassLoader));
- } else {
- currentExpression = new Constructor(fClassLoader);
- }
- isCast = false; // Can't be a cast now
- return currentExpression;
- }
-
- // Look for "null"
- if ( compare( token , ConstantNull ) ) {
- currentExpression = new NullLiteral();
- isCast = false; // Can't be a cast now
- // Null cannot process anything so we return the statement
- return this;
- }
-
- // Look for a number
- if ( isNumber( token ) || delimiter == OperMinus ) {
- currentExpression = new NumberLiteral();
- currentExpression = currentExpression.push(token,delimiter);
- isCast = false; // Can't be a cast now
- return currentExpression;
- }
-
- if ( compare( token , ConstantTrue ) ) {
- currentExpression = new BooleanLiteral(true);
- // true cannot process anything so we return the statement
- isCast = false; // Can't be a cast now
- return currentExpression;
-// return this;
- }
-
- if ( compare( token , ConstantFalse ) ) {
- // false cannot process anything so we return the statement
- currentExpression = new BooleanLiteral(false);
- isCast = false; // Can't be a cast now
- return this;
- }
-
- if ( delimiter == DelimiterQuote ) {
- currentExpression = new StringLiteral();
- isCast = false; // Can't be a cast now
- return currentExpression;
- }
-
- if ( delimiter == DelimiterSingleQuote ) {
- currentExpression = new CharLiteral();
- isCast = false; // Can't be a cast now
- return currentExpression;
- }
-
- if (delimiter == DelimiterPeriod && token.length == 0 && currentExpression != null){
- if (currentExpression instanceof StringLiteral){
- //String s = "\"" + (String)(currentExpression.evaluate()) + "\"" ;
- //return new Constructor(s);
- isStringObject = true;
- return this;
- }
- }
-
- if (isStringObject && (token.length > 0) && (delimiter == DelimiterOpenParen)){
- return new Message(currentExpression, token,fClassLoader);
- }
-
- //handle type casting
- if ((token.length == 0) && (delimiter == DelimiterOpenParen)){
- // If we are a already a cast then we must be a block.
- if ( isCast ) {
- currentExpression = new Block(fClassLoader);
- } else {
- isCast = true; // Possibly a cast
- }
- return this;
- }
- if (isCast && (delimiter == DelimiterCloseParen || token.length != 0)){
- Static aStatic = new Static(fClassLoader);
- Cast aCast = new Cast(aStatic,fClassLoader);
- currentExpression = aCast.push(token,delimiter);
- return currentExpression;
- }
-
- if ( token.length != 0 ) {
- currentExpression = new Static(fClassLoader).push(token,delimiter);
- return currentExpression;
- }
-
- // If we get a { then we are part of an array argument
- if (delimiter == DelimiterOpenElipse){
- currentExpression = new ArrayArguments();
- return currentExpression;
- }
-
- // If our expression is closed and we receive a . we are either a message or a field. We won't know this until
- // the next token we receive, which will be either be delimited by a ( in which case it is a message, else it is a field
- if (currentExpression != null && currentExpression.isComplete() && delimiter == DelimiterPeriod){
- messageOrFieldStarted = true;
- }
-
- return this;
-}
-
-public String toString(){
- StringBuffer buffer = new StringBuffer();
- buffer.append("Statement{"); //$NON-NLS-1$
- if ( currentExpression != null ) {
- buffer.append(currentExpression.toString());
- }
- buffer.append('}');
- return buffer.toString();
-}
-/**
- * Is this statement a primitive.
- */
-public boolean isPrimitive() throws Exception {
- if ( currentExpression != null ) {
- return currentExpression.isPrimitive();
- } else {
- throw new RuntimeException(ProxyInitParserMessages.getString(ProxyInitParserMessages.STATEMENT_UNEXPECTED_EXECUTION));
- }
-}
-}
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Static.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Static.java
deleted file mode 100644
index 342894d16..000000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Static.java
+++ /dev/null
@@ -1,305 +0,0 @@
-package org.eclipse.jem.internal.proxy.initParser;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: Static.java,v $
- * $Revision: 1.3 $ $Date: 2005/02/15 22:55:20 $
- */
-
-
-import java.io.*;
-import java.lang.reflect.Array;
-import java.util.*;
-
-public class Static extends Expression {
- protected static final HashMap sPrimitiveTypes;
-
- static {
- sPrimitiveTypes = new HashMap(10);
- sPrimitiveTypes.put("byte", Byte.TYPE); //$NON-NLS-1$
- sPrimitiveTypes.put("char", Character.TYPE); //$NON-NLS-1$
- sPrimitiveTypes.put("short", Short.TYPE); //$NON-NLS-1$
- sPrimitiveTypes.put("int", Integer.TYPE); //$NON-NLS-1$
- sPrimitiveTypes.put("long", Long.TYPE); //$NON-NLS-1$
- sPrimitiveTypes.put("float", Float.TYPE); //$NON-NLS-1$
- sPrimitiveTypes.put("double", Double.TYPE); //$NON-NLS-1$
- }
-
- protected ArrayList arrayDimensions;
- protected List fArrayArguments;
- protected StringWriter typeWriter = new StringWriter();
- protected boolean completedWithPeriod = false;
- protected char[] completionToken;
- public Class type;
- protected boolean isComplete;
-
- public boolean isProcessingArrayDimension;
-/**
- * Create an unknown expression
- */
-public Static(ClassLoader aClassLoader){
- fClassLoader = aClassLoader;
-}
-public Static(char[] aToken,char delimiter,ClassLoader aClassLoader){
-
- fClassLoader = aClassLoader;
- try {
- typeWriter.write(aToken);
- } catch ( IOException exc ) {};
- checkForValidType();
- if ( type == null && delimiter == DelimiterPeriod ){
- typeWriter.write(DelimiterPeriod);
- }
-
-}
-public Static(char[] aToken,char delimiter,ClassLoader aClassLoader,boolean isArray){
- this(aToken,delimiter,aClassLoader);
- isProcessingArrayDimension = true;
- arrayDimensions = new ArrayList(1);
- arrayDimensions.add(new Statement(aClassLoader));
-}
-
-public boolean isComplete(){
- return isComplete;
-}
-public boolean isArray(){
- return arrayDimensions != null;
-}
-/**
- * See whether or not we have a valid type
- * This uses the class loader given to us if one specified. The reason for this
- * is that Eclipse uses a special plugin class loader and when we are running
- * in a VM inside eclipse ( e.g. for IDEVM proxy stuff ) we must have
- * reference to the plugin that is using us otherwise we can't load its classes
- */
-protected void checkForValidType(){
-
- type = (Class) sPrimitiveTypes.get(typeWriter.toString());
- if (type == null)
- try {
- if ( fClassLoader == null ) {
- type = Class.forName(typeWriter.toString());
- } else {
- type = fClassLoader.loadClass(typeWriter.toString());
- }
- } catch ( ClassNotFoundException exc ) {
- try {
- type = Class.forName("java.lang." + typeWriter.toString()); //$NON-NLS-1$
- StringWriter writer = new StringWriter();
- writer.write(type.getName());
- typeWriter = writer;
- } catch ( ClassNotFoundException exc1 ) {}
- } catch ( NoClassDefFoundError exc ) {
- // A mismatch in some way. Found a class, probably different case. One possibility
- // is found a class, but this was really a package. So class and package with same name
- // but different case caused this to occur. [46376].
- }
-
-}
-/**
- * If we have any static methods return the result of evaluating them against the type
- */
-public Object evaluate() {
-
- // If we are an array but haven't created it do so
- if ( isArray() ) {
- if ( array == null ) {
- evaluateArray();
- }
- return array;
- } else {
- if ( type != null ) {
- return type;
- } else {
- // If we have no type then we are some kind incomplete expression that cannot be evaluted
- throw new RuntimeException();
- }
- }
-}
-/**
- * The type of us is either simply the class, or if we are an array then we must create the java.lang.reflect.Array
- * using the reflective APIs
- */
-protected Object array;
-public Class getTypeClass() {
-
- if ( isArray() ) {
- if ( array == null ) {
- // Do not evaluate the array and return its class. Instead just work out the class by our type
- // and number of dimensions
- Object result = Array.newInstance(type,getNumberOfDimensions());
- return result.getClass();
- } else {
- return array.getClass();
- }
- } else {
- return type;
- }
-}
-
-protected String getTypeClassName() {
- return typeWriter.toString();
-}
-public Class getPrimitiveTypeClass(){
- return type;
-}
-protected int[] getNumberOfDimensions(){
- List dimensions = new ArrayList(1);
- dimensions.add(new Integer(fArrayArguments.size()));
- ((MessageArgument)fArrayArguments.get(0)).contributeArgumentNumber(dimensions);
- // The total number of arguments is a set of Integer objects in the dimensions list
- // convert this to an int[]
- int[] intDimensions = new int[dimensions.size()];
- for (int i = 0; i < dimensions.size(); i++) {
- intDimensions[i] = ((Integer)dimensions.get(i)).intValue();
- }
- return intDimensions;
-}
-/**
- * Evaluate the array
- */
-protected void evaluateArray(){
- if ( fArrayArguments != null ) {
- // If the array isn't declared with a size but this is supplied with argument these will be in the fArrayArguments
- // new int[] { 2 ,3 } will have the constructor arguments supplied as two message arguments with
- if ( array == null ) {
- // The size of the array arguments is our array size, however for a multi arg array we need
- // to find the size of any nested arrays within arguments themselves, e.g.
- // new int[][] { {2,3} , {3,4} } then we have two array arguments, each of which is a MessageArgument
- // whose statement is an ArrayArguments that has two arguments, etc...
- // To find the number of arguments we create a list that we add our number of arguments to, and then
- // pass this all the way up the arguments chain using contributeArgumentNumber(List) so that each element
- // can add to the list the number of arguments ( if any ) that they have.
- array = Array.newInstance(type,getNumberOfDimensions());
- // Set the elements in the array to be the result of evaluating the constructor arguments
- for (int i = 0; i < fArrayArguments.size(); i++) {
- Expression expression = (Expression)fArrayArguments.get(i);
- try {
- Object element = expression.evaluate();
- Array.set(array,i,element);
- } catch ( Exception exc ) {
- // Any evaluation exceptions should be thrown back
- throw new RuntimeException();
- }
- }
- }
- } else if ( arrayDimensions != null ) {
- // To get the class of a reflective array we must actually first create it and then ask it for its class
- // The array Dimensions are present if the array was explicitly declared with a size, e.g. new int[2][3]
- // will have to arrayDimensions that represent the expressions 2 and 3 ( as NumberLiteral instances )
- if ( array == null ) {
- // Evaluate all of the arrayDimensions. These should be integers
- int[] dimensionSizes = new int[arrayDimensions.size()];
- for (int i = 0; i < dimensionSizes.length; i++) {
- try {
- Integer dimensionSize = (Integer) ((Expression)arrayDimensions.get(i)).evaluate();
- dimensionSizes[i] = dimensionSize.intValue();
- } catch ( Exception exc ) {
- throw new RuntimeException();
- }
- }
- // For a multi arg array we need to create using the static method on array that takes an int[] that represents
- // the number of dimensions, e.g. for new String[2][3] we do Array.newInstance(String.class,new int[] { 2 , 3 };
- array = Array.newInstance(type,dimensionSizes);
- }
- }
-}
-/**
- * If the token is a period then it could either be part of the type or else a static method call
- */
-public Expression push(char[] token , char delimiter ) {
-
- // If we don't yet have a valid type then see if we now do
- if (type == null){
- try {
- typeWriter.write(token);
- } catch ( IOException exc ) {};
- checkForValidType();
- // If we got a valid type and a period then remember it
- if ( delimiter == DelimiterPeriod ) {
- if (type != null) {
- completedWithPeriod = true;
- return this;
- }
- }
- }
-
- if ( arrayDimensions != null && isProcessingArrayDimension ) {
- Expression lastArrayDimension = (Expression)arrayDimensions.get(arrayDimensions.size()-1);
- lastArrayDimension.push(token,delimiter);
- if ( delimiter == DelimiterCloseSquareBrace && isProcessingArrayDimension ) {
- isProcessingArrayDimension = false;
- }
- return this;
- }
-
- if ( delimiter == DelimiterOpenSquareBrace && !isProcessingArrayDimension ) {
- if ( arrayDimensions == null ) arrayDimensions = new ArrayList(1);
- Statement statement = new Statement(fClassLoader);
- arrayDimensions.add(statement);
- isProcessingArrayDimension = true;
- return this;
- }
-
- // If we have a type and the delimiter is a ( then it must be a message beginning
- if ( type != null ) {
- if (delimiter == DelimiterOpenParen) {
- isComplete = true;
- return new Message( this , token , fClassLoader );
- } else if (completedWithPeriod){
- isComplete = true;
- Field field = new Field(this,token,fClassLoader);
- // If our token is a ), ' ' or , then the field is completed,
- // otherwise leave it open so it will process the remaining tokens
-// if (delimiter == DelimiterCloseParen || delimiter == DelimiterSpace || delimiter == DelimiterComma) {
- if (delimiter == DelimiterCloseParen || delimiter == DelimiterComma) {
- field.isComplete = true;
- }
- return field;
- }
- }
-
- // We are still looking for a type so append a .
- if ( type == null ) {
- typeWriter.write('.');
- }
- return this;
-}
-public String toString(){
-
- StringWriter writer = new StringWriter();
- writer.write("Static "); //$NON-NLS-1$
- if ( type == null ) {
- writer.write("(Incomplete) {"); //$NON-NLS-1$
- } else {
- writer.write("(Complete) {"); //$NON-NLS-1$
- }
- writer.write(typeWriter.toString());
- writer.write("}"); //$NON-NLS-1$
- if ( arrayDimensions != null ) {
- writer.write(" array dimensions="); //$NON-NLS-1$
- writer.write(new Integer(arrayDimensions.size()).toString());
- }
- if ( fArrayArguments != null ) {
- writer.write(" array dimensions="); //$NON-NLS-1$
- writer.write(new Integer(fArrayArguments.size()).toString());
- }
- return writer.toString();
-
-}
-
-public boolean isPrimitive() {
- return getTypeClass().isPrimitive();
-}
-public void setArrayArguments(List arguments) {
- fArrayArguments = arguments;
-}
-}
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/StringLiteral.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/StringLiteral.java
deleted file mode 100644
index ca6cc605b..000000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/StringLiteral.java
+++ /dev/null
@@ -1,142 +0,0 @@
-package org.eclipse.jem.internal.proxy.initParser;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: StringLiteral.java,v $
- * $Revision: 1.3 $ $Date: 2005/06/23 01:48:07 $
- */
-
-
-
-public class StringLiteral extends Expression {
- protected boolean isComplete;
- public String value;
- public StringBuffer valueBuffer = new StringBuffer();
- protected boolean isEscaped = false;
-
-/**
- * constructor
- */
-public StringLiteral(){
-}
-
-/**
- * evaluate method comment.
- */
-public Object evaluate() {
- return valueBuffer.toString();
-}
-
-public boolean isComplete(){
- return isComplete;
-}
-/**
- * We must evaluate ourself and return the type of the result
- */
-
-public Class getTypeClass() {
- return String.class;
-}
-
-protected String getTypeClassName() {
- return String.class.getName();
-}
-
-/**
- *This string might be broken into a few tokens
- *so we need a StringBuffer.
- *
- */
-public Expression push(char[] token , char delimiter){
- int appendTokenStart = 0;
- int appendTokenLength = token.length;
- if (isEscaped) {
- isEscaped = false;
- if (token.length != 0) {
- char c = token[0];
- switch (c) {
- case 'b':
- valueBuffer.append('\b');
- appendTokenStart = 1;
- appendTokenLength--;
- break;
- case 't':
- valueBuffer.append('\t');
- appendTokenStart = 1;
- appendTokenLength--;
- break;
- case 'n':
- valueBuffer.append('\n');
- appendTokenStart = 1;
- appendTokenLength--;
- break;
- case 'r':
- valueBuffer.append('\r');
- appendTokenStart = 1;
- appendTokenLength--;
- break;
- case 'u':
- // Unicode, next four gather for text;
- if (appendTokenLength>=5) {
- valueBuffer.append((char) Integer.parseInt(new String(token, 1, 4), 16));
- appendTokenStart=5;
- appendTokenLength-=5;
- }
- break;
- }
- // If we didn't append anything, then not a true escape, so put the escape on.
- if (appendTokenStart==0)
- valueBuffer.append(DelimiterEscape);
- } else {
- if (delimiter == DelimiterQuote || delimiter == DelimiterEscape || delimiter == DelimiterSingleQuote)
- valueBuffer.append(delimiter); // It was a true escape.
- else {
- valueBuffer.append(DelimiterEscape); // If wasn't a true escape
- valueBuffer.append(delimiter);
- }
- return this;
- }
- }
-
- if (appendTokenLength > 0)
- valueBuffer.append(token, appendTokenStart, appendTokenLength);
-
- if (delimiter == DelimiterQuote){
- isComplete =true;
- return this;
- }
-
- // If the delimiter is an escape character remember it so we can escape
- // the next token, otherwise treat it as a literal
- if (delimiter == DelimiterEscape ){
- isEscaped = true;
- } else {
- valueBuffer.append(delimiter);
- }
- return this;
-}
-
-/**
- * Strings are not primitives.
- */
-public boolean isPrimitive() {
- return false;
-}
-public String toString(){
- StringBuffer buffer = new StringBuffer();
- buffer.append("String(\""); //$NON-NLS-1$
- if ( valueBuffer != null ) {
- buffer.append(valueBuffer.toString());
- }
- buffer.append("\""); //$NON-NLS-1$
- return buffer.toString();
-}
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/messages.properties b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/messages.properties
deleted file mode 100644
index 1710b1bea..000000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/messages.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-###############################################################################
-# Copyright (c) 2003 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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/messages.properties,v $
-# $Revision: 1.5 $ $Date: 2005/06/21 20:22:51 $
-#
-
-
-#
-# Properties for the Proxy Base VM Support
-#
-UnexpectedToken_EXC_ = IWAV0127E Unexpected Token "{0}".
-Statement.UnexpectedExecution_EXC_ = IWAV0128E Statement was executed unexpectedly.
-Statement.UnexpectedEvaluation_EXC_ = IWAV0129E Statements should not be evaluated.
-CharTooComplicated_EXC_ = IWAV0130E Input text not a char that can be evaluated. Too complicated. \"{0}"
-PrimitiveOperation.Evaluate.InvalidOperator_EXC_=Invalid operator {0} between {1} and {2}
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/AbstractEnum.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/AbstractEnum.java
deleted file mode 100644
index 010b0bcc8..000000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/AbstractEnum.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- * $RCSfile: AbstractEnum.java,v $
- * $Revision: 1.1 $ $Date: 2005/05/11 19:01:12 $
- */
-package org.eclipse.jem.internal.proxy.initParser.tree;
-
-/**
- * Base abstract implementation of the enum.
- * @since 1.1.0
- */
-public abstract class AbstractEnum implements Enum {
-
- /**
- * The name of the enumerator.
- */
- private final String name;
-
- /**
- * The <code>int</code> value of the enumerator.
- */
- private final int value;
-
- /**
- * Creates an initialized instance.
- *
- * @param value
- * the <code>int</code> value of the enumerator.
- * @param name
- * the name of the enumerator.
- */
- protected AbstractEnum(int value, String name) {
- this.name = name;
- this.value = value;
- }
-
- /**
- * Returns the name of the enumerator.
- *
- * @return the name.
- */
- public final String getName() {
- return name;
- }
-
- /**
- * Returns the <code>int</code> value of the enumerator.
- *
- * @return the value.
- */
- public final int getValue() {
- return value;
- }
-
- /**
- * Returns the name of the enumerator.
- *
- * @return the name.
- */
- public final String toString() {
- return name;
- }
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/Enum.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/Enum.java
deleted file mode 100644
index 7d2fb3e4d..000000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/Enum.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- * $RCSfile: Enum.java,v $
- * $Revision: 1.1 $ $Date: 2005/05/11 19:01:12 $
- */
-package org.eclipse.jem.internal.proxy.initParser.tree;
-
-/**
- * TypeSafe enumerations for the IExpression processing.
- *
- * @since 1.1.0
- */
-public interface Enum {
-
- /**
- * Returns the name of the enumerator.
- *
- * @return the name.
- */
- String getName();
-
- /**
- * Returns the <code>int</code> value of the enumerator.
- *
- * @return the value.
- */
- int getValue();
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/ExpressionProcesser.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/ExpressionProcesser.java
deleted file mode 100644
index e712f8266..000000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/ExpressionProcesser.java
+++ /dev/null
@@ -1,3342 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: ExpressionProcesser.java,v $
- * $Revision: 1.17 $ $Date: 2005/07/11 19:40:00 $
- */
-package org.eclipse.jem.internal.proxy.initParser.tree;
-
-import java.lang.reflect.*;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jem.internal.proxy.common.AmbiguousMethodException;
-import org.eclipse.jem.internal.proxy.common.MethodHelper;
-import org.eclipse.jem.internal.proxy.initParser.InitializationStringEvaluationException;
-import org.eclipse.jem.internal.proxy.initParser.InitializationStringParser;
-
-/**
- * Expression processing. This does the actual expression processing with the live objects.
- * It is meant to be subclassed only to provide additional expression types. All of the
- * current expressions cannot be overridden. This is because the stack is very sensitive to
- * call order.
- *
- * @since 1.0.0
- */
-public class ExpressionProcesser {
-
- /**
- * A variable reference for a field access.
- *
- * @since 1.1.0
- */
- protected static class FieldAccessReference extends VariableReference {
-
- private final Field field;
- private final Object receiver;
-
- /**
- * Use this to construct a FieldAccessReference. This will do checks to make sure
- * it is valid so that exceptions won't be thrown later when actually dereferenced.
- *
- * @param field
- * @param receiver
- * @return
- * @throws IllegalArgumentException
- *
- * @since 1.1.0
- */
- public static FieldAccessReference createFieldAccessReference(Field field, Object receiver) throws IllegalArgumentException {
- // If static, then receiver is ignored.
- if (!Modifier.isStatic(field.getModifiers())) {
- if (!field.getDeclaringClass().isInstance(receiver))
- throw new IllegalArgumentException(MessageFormat.format(InitparserTreeMessages.getString("ExpressionProcesser.CreateFieldAccessReference.FieldsTypesNotMatching_EXC_"), new Object[]{field.getType(), (receiver!=null ? receiver.getClass() : null)})); //$NON-NLS-1$
- }
- field.setAccessible(true); // Make it always accessible. Trust it.
- return new FieldAccessReference(field, receiver);
- }
-
- protected FieldAccessReference(Field field, Object receiver) {
- this.field = field;
- this.receiver = receiver;
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.initParser.tree.ExpressionProcesser.VariableReference#dereference()
- */
- public Object dereference() {
- try {
- return field.get(receiver);
- } catch (IllegalArgumentException e) {
- // Shouldn't occur. Already tested for this.
- e.printStackTrace();
- } catch (IllegalAccessException e) {
- // Shouldn't occur. Already tested for this.
- e.printStackTrace();
- }
- return null;
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.initParser.tree.ExpressionProcesser.VariableReference#set(java.lang.Object, java.lang.Class)
- */
- public Object set(Object value, Class type) throws IllegalArgumentException, IllegalAccessException {
- field.set(receiver, value);
- return field.get(receiver); // Just in case some conversion happened. Technically it is not the value set but the retrieved when in an assignment.
- }
-
-
- /* (non-Javadoc)
- * @see java.lang.Object#toString()
- */
- public String toString() {
- return "FieldAccess{"+field.toString()+"} on "+(receiver != null ? receiver.toString() : "<static access>"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
- /**
- * A variable reference for an Array access. It will reference only the last indexed entry of the array.
- * For example if <code>x[3][4]</code> is the access, then what will be given to this reference will be
- * the array entry at x[3][4], not the x array itself.
- *
- * @since 1.1.0
- */
- protected static class ArrayAccessReference extends VariableReference {
-
-
- private final Object array;
- private final int index;
-
- /**
- * Use this to construct an array access reference. This will do checks to make sure
- * it is valid so that exceptions won't be thrown later when actually dereferenced.
- *
- * @param array
- * @param index
- * @return
- * @throws IllegalArgumentException
- *
- * @since 1.1.0
- */
- public static ArrayAccessReference createArrayAccessReference(Object array, int index) throws IllegalArgumentException, ArrayIndexOutOfBoundsException {
- int len = Array.getLength(array);
- if (index < 0 || len <= index)
- throw new ArrayIndexOutOfBoundsException(MessageFormat.format(InitparserTreeMessages.getString("ExpressionProcesser.CreateArrayAccessReference.OutOfBounds_EXC_"), new Object[]{new Integer(index), new Integer(len)})); //$NON-NLS-1$
- return new ArrayAccessReference(array, index);
- }
- /**
- * Construct the reference with the array and the index of the entry being referenced.
- * @param array
- * @param index
- *
- * @since 1.1.0
- */
- protected ArrayAccessReference(Object array, int index) {
- this.array = array;
- this.index = index;
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.initParser.tree.VariableReference#dereference()
- */
- public Object dereference() {
- return Array.get(array, index);
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.initParser.tree.VariableReference#set(java.lang.Object, java.lang.Class)
- */
- public Object set(Object value, Class type) throws IllegalArgumentException {
- Array.set(array, index, value);
- return Array.get(array, index); // In case there was some conversion applied. Technically it is not the value set but the retrieved when in an assignment.
- }
-
-
- /* (non-Javadoc)
- * @see java.lang.Object#toString()
- */
- public String toString() {
- return "ArrayAccess["+index+"]: "+array.toString(); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
- /**
- * The expression result stack and the expression result type stack.
- * The type stack is used to be expected type of the corresponding
- * expression result. This is needed for converting to primitives
- * and for finding correct method call from the argument types. In
- * this case, it is not the true value, but the value expected, e.g.
- * <code>Object getObject()</code> returns something of type Object.
- * This needs to be maintained so that if it goes into another method
- * we don't accidently return a more specific method instead of the
- * one that takes Object as an argument.
- *
- * expressionStack has result of the expression.
- * expressionTypeStack has the computed type of the expression i.e.
- * the type that the expression returns, not the type of the value.
- * These can be different because the expression (e.g. method) may
- * return an Object, but the expression value will be some specific
- * subclass. So the expressionTypeStack would have a <code>java.lang.Object.class</code>
- * on it in that case.
- * Note: if the expressionStack has a <code>null</code> on it, then the type stack
- * may either have a specific type in it, or it may be <code>MethodHelper.NULL_TYPE</code>. It
- * would be this if it was explicitly pushed in and not as the
- * result of a computation. If the result of a computation, it would have the
- * true value.
- * Note: if the expressionStack has a <code>Void.type</code> on it, then that
- * means the previous expression had no result. This is an error if trying to
- * use the expression in another expression.
- *
- * @see org.eclipse.jem.internal.proxy.initParser.MethodHelper#NULL_TYPE
- */
- private List expressionStack = new ArrayList(10);
- private List expressionTypeStack = new ArrayList(10);
-
- /**
- * List of the expression proxies. The index into the list is the
- * same as the expression proxy id.
- */
- private ArrayList expressionProxies; // It is array list because we want to call ensureCapacity and that is not available on List.
-
- /**
- * An error has occurred. At this point all subcommands will simply make sure they flush the input stream
- * correctly, but they do not process it.
- *
- * @since 1.0.0
- */
- private boolean errorOccurred = false;
- private boolean novalueException = false;
-
- private Throwable exception = null; // Was there another kind of exception that was caught.
-
- /**
- * Process all other exceptions then the NoExpressionValueException. This can be called from usage code so that if there was an error
- * in setting up for a call to the processer it can be logged.
- *
- * @param e
- *
- * @since 1.0.0
- */
- public final void processException(Throwable e) {
- // Process all other exceptions.
- novalueException = false;
- while (e.getCause() != null)
- e = e.getCause();
- if (traceOn) {
- System.out.println();
- System.out.print("***** >>>\tException: "); //$NON-NLS-1$
- System.out.println(e);
- }
- throwException(e); // Treat as a throw to let try/catches expressions handle it.
- }
-
- /**
- * This is a syntax exception. This means data coming across is corrupted in
- * some way so no further processing should occur.
- * @param e
- *
- * @since 1.1.0
- */
- protected final void processSyntaxException(Throwable e) {
- errorOccurred = true;
- novalueException = false;
- exception = e;
- }
-
- /**
- * Process a NoExpressionValueException. Don't wrapper these.
- * @param e
- *
- * @since 1.1.0
- */
- protected final void processSyntaxException(NoExpressionValueException e) {
- if (traceOn)
- printTrace("Expression has no value", false); //$NON-NLS-1$
- try {
- errorOccurred = true;
- novalueException = true;
- exception = e;
- } finally {
- if (traceOn)
- printTraceEnd();
- }
- }
-
- /**
- * Return whether there are any errors.
- *
- * @return <code>true</code> if no errors.
- *
- * @since 1.0.0
- */
- public boolean noErrors() {
- return !errorOccurred;
- }
-
- /**
- * Return whether the error is a NoExpressionValueException or not.
- * @return
- *
- * @since 1.1.0
- */
- public boolean isNoExpressionValue() {
- return novalueException;
- }
-
- /**
- * Return the throwable if a Throwable was caught.
- *
- * @return The throwable, or <code>null</code> if not set.
- *
- * @since 1.0.0
- */
- public Throwable getErrorThrowable() {
- return exception;
- }
-
- /**
- * Push the expression value and its expected type.
- * @param o
- * @param type
- *
- * @since 1.0.0
- */
- protected final void pushExpressionValue(Object o, Class type) {
- expressionStack.add(o);
- expressionTypeStack.add(type);
- }
-
- /**
- * Pop just the expression value. It is imperitive that the expression type
- * is popped immediately following. Separated the methods so that we
- * don't need to create an array to return two values. This will dereference
- * any variable references.
- *
- * @return The value.
- * @throws NoExpressionValueException
- *
- * @since 1.0.0
- */
- protected final Object popExpression() throws NoExpressionValueException {
- return popExpression(true);
- }
-
- /**
- * Pop just the expression value. It is imperitive that the expression type
- * is popped immediately following. Separated the methods so that we
- * don't need to create an array to return two values.
- *
- * @param deReference If the top expression is a Reference, then dereference it.
- * @return The value.
- * @throws NoExpressionValueException
- *
- * @since 1.0.0
- */
- protected final Object popExpression(boolean deReference) throws NoExpressionValueException {
- try {
- // Do not pop above the current subexpression pos, if any.
- if (topSubexpression != -1)
- if (expressionStack.size() == subexpressionStackPos[topSubexpression])
- throw new NoExpressionValueException();
-
- Object result = expressionStack.remove(expressionStack.size()-1);
- if (deReference && result instanceof VariableReference)
- result = ((VariableReference) result).dereference();
- return result;
- } catch (IndexOutOfBoundsException e) {
- throw new NoExpressionValueException();
- }
- }
-
- /**
- * Get the expression at <code>fromTop</code> down from the top. This is
- * need for when multi-operators happen and they are stored in reverse of
- * what is needed. They would normally be stored left to right, with the
- * rightmost one on top. But they need to be processed left to right, so
- * to get the left most one requires digging down in the stack.
- * <p>
- * When done, <code>popExpressions(int count)</code> must be called to
- * clean them out since they were processed.
- * <p>
- * This will not dereference the expression. It is the job of the caller to do this.
- *
- * @param fromTop <code>1</code> is the top one, <code>2</code> is the next one down.
- * @return The entry from the top that was requested.
- * @throws NoExpressionValueException
- *
- * @see IDEExpression#popExpressions(int)
- * @since 1.0.0
- */
- protected final Object getExpression(int fromTop) throws NoExpressionValueException {
- try {
- // Do not pull above the current subexpression pos, if any.
- if (topSubexpression != -1)
- if (expressionStack.size()-fromTop < subexpressionStackPos[topSubexpression])
- throw new NoExpressionValueException();
-
- return expressionStack.get(expressionStack.size()-fromTop);
- } catch (IndexOutOfBoundsException e) {
- throw new NoExpressionValueException();
- }
- }
-
- /**
- * Remove the top <code>count</code> items. This will not cause dereferencing to occur. It
- * removes the corresponding type stack entries.
- *
- * @param count
- * @throws NoExpressionValueException
- *
- * @since 1.0.0
- */
- protected final void popExpressions(int count) throws NoExpressionValueException {
- try {
- // Do not pop above the current subexpression pos, if any.
- int stop = topSubexpression != -1 ? subexpressionStackPos[topSubexpression] : -1;
- int remove = expressionStack.size()-1;
- while (count-- > 0) {
- if (expressionStack.size() <= stop)
- throw new NoExpressionValueException(); // Try to go above the current subexpression.
- expressionStack.remove(remove);
- expressionTypeStack.remove(remove--);
- }
- } catch (IndexOutOfBoundsException e) {
- throw new NoExpressionValueException();
- }
- }
-
- /**
- * Pop just the expression type. It is imperitive that the expression type
- * is popped immediately following popExpression. Separated the methods so that we
- * don't need to create an array to return two values.
- * <p>
- * If the allowVoid is false and type is void, then a NoExpressionValueException will be thrown.
- * This is for the case where the expression was trying to be used in a different
- * expression. This will be set to void only on expressions that return no value (only
- * method's do this for now).
- *
- * @param allowVoid Allow void types if <code>true</code>
- * @return The type.
- * @throws NoExpressionValueException
- * @since 1.0.0
- */
- protected final Class popExpressionType(boolean allowVoid) throws NoExpressionValueException {
- try {
- Class result = (Class) expressionTypeStack.remove(expressionTypeStack.size()-1);
- if (!allowVoid && result == Void.TYPE)
- throw new NoExpressionValueException(InitparserTreeMessages.getString("ExpressionProcesser.PopExpressionType.ExpressionVoid_EXC_")); //$NON-NLS-1$
- return result;
-
- } catch (IndexOutOfBoundsException e) {
- throw new NoExpressionValueException();
- }
- }
-
- /**
- * Get the expression type at <code>fromTop</code> down from the top. This is
- * need for when multi-operators happen and they are stored in reverse of
- * what is needed. They would normally be stored left to right, with the
- * rightmost one on top. But they need to be processed left to right, so
- * to get the left most one requires digging down in the stack.
- * <p>
- * When done, <code>popExpressionTypes(int count)</code> must be called to
- * clean them out since they were processed.
-
- * @param fromTop <code>1</code> is the top one, <code>2</code> is the next one down.
- * @param allowVoid Allow void types if <code>true</code>
- * @return The type from the top that was requested.
- * @throws ThrowableProxy
- * @throws NoExpressionValueException
- *
- * @see IDEExpression#popExpressionTypes(int)
- * @since 1.0.0
- */
- protected final Class getExpressionType(int fromTop, boolean allowVoid) throws NoExpressionValueException {
- try {
- Class result = (Class) expressionTypeStack.get(expressionTypeStack.size()-fromTop);
- if (!allowVoid && result == Void.TYPE)
- throw new NoExpressionValueException();
- return result;
- } catch (IndexOutOfBoundsException e) {
- throw new NoExpressionValueException();
- }
- }
-
- /**
- * Flag indicating expression should be ignored and not processed.
- * This happens because of few cases, like conditional and, that
- * if one returns false, the rest of the expressions in that conditional and
- * expression should be ignored and not processed.
- * <p>
- * It is an Object that acts as an enum for the type of expression that initiated the ignore.
- * If it is <code>null</code> then no one is ignoring.
- * <p>
- * All of the pushTo...Proxy methods must test this for this to work correctly.
- * Each expression has some way of testing that their particular nesting of
- * expressions is complete and they can turn off the ignore flag.
- * <p>
- * Only one type of ignore can exist at a time.
- */
- protected Object ignoreExpression = null;
-
-
- private List saveStates;
-
- /**
- * Are we tracing or not.
- */
- protected final boolean traceOn;
- private final long thresholdTime;
- private long startExpressionStepTime;
- private long startExpressionTime;
- private long lastExpressionEndTime;
-
- /**
- * Trace head of this expression. So that traces from different expressions can be distinquished.
- * It is simply an monotonically increasing counter. It is the header string for any trace output.
- */
- protected final String traceHeader;
-
- private int indent = 0; // Indented for certain block expressions.
-
- /*
- * Trace counter. It is incremented once for each expression and assigned to the traceId of the expression.
- */
- private static int TRACE_COUNTER;
-
- /**
- * Create the Expression without tracing.
- * @param registry
- *
- * @since 1.0.0
- */
- public ExpressionProcesser() {
- this(false, -1);
- }
-
- /**
- * Create the expression, and set the tracing mode and threshold time. Use -1
- * for default time of 100ms.
- * @param traceOn
- *
- * @since 1.1.0
- */
- public ExpressionProcesser(boolean traceOn, long threshold) {
- this.traceOn = traceOn;
- if (traceOn) {
- traceHeader = "**"+(++TRACE_COUNTER)+':'; //$NON-NLS-1$
- System.out.print(traceHeader);
- System.out.println(" Start expression"); //$NON-NLS-1$
- this.thresholdTime = threshold != -1 ? threshold : 100;
- lastExpressionEndTime = startExpressionTime = System.currentTimeMillis();
- } else {
- traceHeader = null;
- thresholdTime = 100;
- }
- }
-
- /**
- * Trace msg helper. Should only be called if traceOn is true. This method is only used to start a new trace message.
- * The caller is must call printTraceEnd at the end.
- *
- * @param msg message to print
- * @param ignore are we ignoring the expression, or is it being processed (this just alters the trace output slightly).
- *
- * @since 1.1.0
- */
- protected void printTrace(String msg, boolean ignore) {
- startExpressionStepTime = System.currentTimeMillis();
- long sinceLastExpression = startExpressionStepTime - lastExpressionEndTime;
- System.out.print(traceHeader);
- if (sinceLastExpression > 0) {
- System.out.print('(');
- if (sinceLastExpression > thresholdTime)
- System.out.print("***"); //$NON-NLS-1$
- System.out.print(sinceLastExpression);
- System.out.print("ms)"); //$NON-NLS-1$
- }
- System.out.print('\t');
- if (!ignore)
- System.out.print("\t"); //$NON-NLS-1$
- else
- System.out.print("##\t"); //$NON-NLS-1$
-
- printIndent();
- System.out.print(msg);
- }
-
- /**
- * print the indent. It will not do a new line before nor after.
- *
- * @since 1.1.0
- */
- protected void printIndent() {
- for(int i=indent; i>0; i--) {
- System.out.print(" "); //$NON-NLS-1$
- }
- }
-
- protected void printTraceEnd() {
- long stop = System.currentTimeMillis()-startExpressionStepTime;
- if (stop > 0) {
- System.out.print(" ("); //$NON-NLS-1$
- if (stop > thresholdTime)
- System.out.print("***"); //$NON-NLS-1$
- System.out.print(stop);
- System.out.print("ms)"); //$NON-NLS-1$
- }
- System.out.println();
- lastExpressionEndTime = System.currentTimeMillis();
- }
-
- /**
- * Do an indent (undent) according to indent flag.
- * @param indent <code>true</code> to increment indent, or otherwise decrement.
- *
- * @since 1.1.0
- */
- protected void indent(boolean indent) {
- this.indent += (indent ? 1 : -1);
- if (this.indent < 0)
- this.indent = 0;
- }
-
- /**
- * Print the object and type. It will not end with a newline char, so one will be needed afterwards.
- *
- * @param o
- * @param t
- *
- * @since 1.1.0
- */
- protected void printObjectAndType(Object o, Class t) {
- System.out.print(' ');
- System.out.print("Object-"); //$NON-NLS-1$
- System.out.print(o);
- System.out.print(" Type-"); //$NON-NLS-1$
- System.out.print(t);
- System.out.print(' ');
- }
-
- /**
- * Close the exception processing
- *
- * @since 1.0.0
- */
- public final void close() {
- boolean firstClose = expressionStack != null;
- if (firstClose && traceOn) {
- printTrace("End expression", false); //$NON-NLS-1$
- long totalTime = System.currentTimeMillis()-startExpressionTime;
- System.out.print(" Total expression evaluation time: "); //$NON-NLS-1$
- System.out.print(totalTime);
- System.out.print("ms."); //$NON-NLS-1$
- }
- try {
- expressionStack = null;
- expressionTypeStack = null;
- expressionProxies = null;
- exception = null;
- catchThrowable = null;
- saveStates = null;
- } finally {
- if (firstClose && traceOn)
- printTraceEnd();
- }
- }
-
- /**
- * Pull the value. The value will be placed into the array passed in.
- * It will be stored as value[0] = value value[1] = valuetype(Class).
- *
- * @param value The value array to store the value and type into.
- * @throws NoExpressionValueException
- * @since 1.0.0
- */
- public final void pullValue(Object[] value) throws NoExpressionValueException {
- if (traceOn)
- printTrace("Pull value:", false); //$NON-NLS-1$
- try {
- value[0] = popExpression();
- value[1] = popExpressionType(false);
- } finally {
- if (traceOn) {
- printObjectAndType(value[0], (Class) value[1]);
- printTraceEnd();
- }
- }
- close();
- }
-
- /**
- * Pull the value of the expression proxy, dereferencing it if necessary. This is for resolution only purposes at the
- * end of the expression being processed. Not meant for general access to the value of expression proxy. Use
- * {@link ExpressionProcesser#getExpressionProxyValue(int, Object[])} instead for general access to the value.
- *
- * @param proxyid
- * @param value
- * @throws NoExpressionValueException
- *
- * @since 1.1.0
- */
- public final void pullExpressionProxyValue(int proxyid, Object[] value) throws NoExpressionValueException {
- getExpressionProxyValue(proxyid, value, true, true);
- }
-
- /**
- * Get the expression proxy value. If the expression has not yet been evaluated it will
- * return false. If it has it will return true.
- * @param proxyid
- * @param value put value into value[0] and the type into value[1].
- * @return <code>true</code> if successful, or <code>false</code> if the expression proxy was never resolved or doesn't exist.
- *
- * @since 1.1.0
- */
- public boolean getExpressionProxyValue(int proxyid, Object[] value) {
- try {
- return getExpressionProxyValue(proxyid, value, true, false);
- } catch (NoExpressionValueException e) {
- return false;
- }
- }
-
- /*
- * Internal method use to actually get the value, but to distinquish between pull and get of the public interface.
- * Get will process the errors as normal execution errors, while pull will throw the errors. finalTrace is when
- * this is the final call to return the values to the client. We will trace the results in that case.
- * Return true if successful.
- */
- private boolean getExpressionProxyValue(int proxyid, Object[] value, boolean pull, boolean finalTrace) throws NoExpressionValueException {
- // Note: This will throw the exceptions right away since this is called from outside to fill in the value and
- // so we are holding such exceptions.
- boolean doTrace = finalTrace && traceOn;
- try {
- if (expressionProxies != null && expressionProxies.size() > proxyid) {
- InternalExpressionProxy proxy = (InternalExpressionProxy) expressionProxies.get(proxyid);
- if (proxy != null && proxy.isSet()) {
- value[0] = proxy.getValue();
- if (value[0] instanceof VariableReference)
- value[0] = ((VariableReference) value[0]).dereference(); // Here we want the final current value.
- value[1] = proxy.getType();
- if (doTrace)
- if (value[1] != Void.TYPE) {
- printTrace("Return Proxy #" + proxyid + " Resolved to", false); //$NON-NLS-1$ //$NON-NLS-2$
- printObjectAndType(value[0], (Class) value[1]);
- } else
- printTrace("Return Proxy #" + proxyid + " Resolved to void.", false); //$NON-NLS-1$ //$NON-NLS-2$
- return true;
-
- } else {
- if (doTrace)
- printTrace("Return Proxy #" + proxyid + ": Not resolved", false); //$NON-NLS-1$ //$NON-NLS-2$
- NoExpressionValueException e = new NoExpressionValueException(InitparserTreeMessages.getString("ExpressionProcesser.GetExpressionProxyValue.ExpressionProxyNotSet_EXC_")); //$NON-NLS-1$
- if (pull)
- throw e;
- else
- processSyntaxException(e);
- return false;
- }
- } else {
- if (doTrace)
- printTrace("Return Proxy #" + proxyid + ": Never created.", false); //$NON-NLS-1$ //$NON-NLS-2$
- NoExpressionValueException e = new NoExpressionValueException(InitparserTreeMessages.getString("ExpressionProcesser.GetExpressionProxyValue.ExpressionProxyDoesntExist_EXC_")); //$NON-NLS-1$
- if (pull)
- throw e;
- else
- processSyntaxException(e);
- return false;
- }
- } finally {
- if (doTrace)
- printTraceEnd();
- }
- }
-
- /**
- * Push the expression (just a value) onto the stack.
- *
- * @param o
- * @param t
- *
- * @since 1.0.0
- */
- public final void pushExpression(Object o, Class t) {
- boolean ignore = (ignoreExpression != null || errorOccurred);
- if (traceOn) {
- printTrace("Push: ", ignore); //$NON-NLS-1$
- printObjectAndType(o, t);
- }
- try {
- if (ignore)
- return;
- pushExpressionValue(o, t);
- } finally {
- if (traceOn)
- printTraceEnd();
- }
- }
-
- /**
- * Get the value of the expression proxy (from proxy id), and push the value onto the stack.
- *
- * @param proxyid The proxy id of the ExpressionProxy to push as a value.
- *
- * @since 1.0.0
- */
- public final void pushExpressionProxy(int proxyid) {
- boolean ignore =(ignoreExpression != null || errorOccurred);
- if (traceOn)
- printTrace("Push Expression Proxy #"+proxyid, ignore); //$NON-NLS-1$
- try {
- if (ignore)
- return;
- if (expressionProxies != null && expressionProxies.size() > proxyid) {
- InternalExpressionProxy proxy = (InternalExpressionProxy) expressionProxies.get(proxyid);
- if (proxy != null && proxy.isSet()) {
- if (traceOn)
- printObjectAndType(proxy.getValue(), proxy.getType());
- pushExpressionValue(proxy.getValue(), proxy.getType()); // Can push a VariableReference. This is ok. When used it will then deref with the current value.
- } else
- processSyntaxException(new NoExpressionValueException());
- } else
- processSyntaxException(new NoExpressionValueException());
- } finally {
- if (traceOn)
- printTraceEnd();
- }
- }
-
- /**
- * Push a cast onto stack. The type passed in is either a String (with classname to cast to) or the
- * type to cast to.
- * @param type To cast to. If <code>String</code> then convert to type (using something like <code>Class.forName()</code>) or it is a Class
- *
- * @since 1.0.0
- */
- public final void pushCast(Class type) {
- boolean ignore = (ignoreExpression != null || errorOccurred);
- if (traceOn)
- printTrace("Cast to: "+type, ignore); //$NON-NLS-1$
- try {
- if (ignore)
- return;
-
- try {
- Object exp = popExpression();
- Class exptype = popExpressionType(false);
-
- pushExpressionValue(castBean(type, exp, exptype), type);
- } catch (RuntimeException e) {
- processException(e);
- } catch (NoExpressionValueException e) {
- processSyntaxException(e);
- }
- } finally {
- if (traceOn)
- printTraceEnd();
- }
-
- }
-
- /**
- * Cast a bean into the return type. If the return type is not primitive, then
- * the bean is left alone, however it is checked to be an instance of
- * the return type. If the return type is primitive, then the
- * correct primitive wrapper is created from the bean (bean must be a number or character or boolean primitve so
- * that cast will work).
- * <p>
- * However if can't be cast for primitive or if not an instance of the
- * returntype for objects, a ClassCastException will be raised.
- * <p>
- * This is a helper method for expression processer to cast a bean. Since it is a helper method it doesn't
- * check nor process the exception. It throws it. Callers must handle it as they see fit.
- *
- * @param returnType
- * @param bean
- * @param beanType The type that bean is supposed to be (e.g. even though it is a Number, it actually represents a primitive).
- * @return The cast bean (either to the appropriate primitive wrapper type or bean)
- *
- * @throws ClassCastException
- * @since 1.0.0
- */
- protected final Object castBean(Class returnType, Object bean, Class beanType) throws ClassCastException {
- // Cast uses true value and true class of bean, not expected type (i.e. not beanType).
- if (bean == null)
- if (!returnType.isPrimitive())
- return bean; // bean is null, and return type is not primitive, so this is a valid cast.
- else
- throwClassCast(returnType, bean);
- else if (returnType.equals(bean.getClass()))
- return bean; // They are already the same.
- else if (!returnType.isPrimitive()) {
- if (!beanType.isPrimitive() && returnType.isInstance(bean))
- return bean;
- else
- throwClassCast(returnType, bean); // Either bean type was wrappering primitive or not instanceof returntype.
- } else {
- if (!beanType.isPrimitive())
- throwClassCast(returnType, bean); // bean type was not wrappering a primitive. Can't cast to primitive.
- // It is return type of primitive. Now convert to correct primitive.
- if (returnType == Boolean.TYPE)
- if (bean instanceof Boolean)
- return bean;
- else
- throwClassCast(returnType, bean);
- else {
- if (bean instanceof Number) {
- if (returnType == Integer.TYPE)
- if (bean instanceof Integer)
- return bean;
- else
- return new Integer(((Number) bean).intValue());
- else if (returnType == Byte.TYPE)
- if (bean instanceof Byte)
- return bean;
- else
- return new Byte(((Number) bean).byteValue());
- else if (returnType == Character.TYPE)
- if (bean instanceof Character)
- return bean;
- else
- return new Character((char) ((Number) bean).intValue());
- else if (returnType == Double.TYPE)
- if (bean instanceof Double)
- return bean;
- else
- return new Double(((Number) bean).doubleValue());
- else if (returnType == Float.TYPE)
- if (bean instanceof Float)
- return bean;
- else
- return new Float(((Number) bean).floatValue());
- else if (returnType == Long.TYPE)
- if (bean instanceof Long)
- return bean;
- else
- return new Long(((Number) bean).longValue());
- else if (returnType == Short.TYPE)
- if (bean instanceof Short)
- return bean;
- else
- return new Short(((Number) bean).shortValue());
- else
- throwClassCast(returnType, bean);
- } else if (bean instanceof Character) {
- if (returnType == Character.TYPE)
- return bean;
- else if (returnType == Integer.TYPE)
- return new Integer(((Character) bean).charValue());
- else if (returnType == Byte.TYPE)
- return new Byte((byte) ((Character) bean).charValue());
- else if (returnType == Double.TYPE)
- return new Double(((Character) bean).charValue());
- else if (returnType == Float.TYPE)
- return new Float(((Character) bean).charValue());
- else if (returnType == Long.TYPE)
- return new Long(((Character) bean).charValue());
- else if (returnType == Short.TYPE)
- return new Short((short) ((Character) bean).charValue());
- else
- throwClassCast(returnType, bean);
- } else
- throwClassCast(returnType, bean);
- }
-
- }
- return null; // It should never get here;
- }
-
- private void throwClassCast(Class returnType, Object bean) throws ClassCastException {
- throw new ClassCastException(MessageFormat.format(InitparserTreeMessages.getString("ExpressionProcesser.CannotCastXToY_EXC_"), new Object[] {bean != null ? bean.getClass().getName() : null, returnType.getName()})); //$NON-NLS-1$
- }
-
- /**
- * Return the primitive type that the wrapper bean represents (i.e. Boolean instance returns Boolean.TYPE)
- * <p>
- * This is a helper method for expression processer to get the primitive type. Since it is a helper method it doesn't
- * check nor process the exception. It throws it. Callers must handle it as they see fit.
-
- * @param bean
- * @return the primitive type class of the given bean.
- * @throws IllegalArgumentException if bean is <code>null</code> or not of the type that can be converted to a primitive.
- *
- * @since 1.0.0
- */
- protected final Class getPrimitiveType(Object bean) throws IllegalArgumentException {
- if (bean instanceof Boolean)
- return Boolean.TYPE;
- else if (bean instanceof Integer)
- return Integer.TYPE;
- else if (bean instanceof Byte)
- return Byte.TYPE;
- else if (bean instanceof Character)
- return Character.TYPE;
- else if (bean instanceof Double)
- return Double.TYPE;
- else if (bean instanceof Float)
- return Float.TYPE;
- else if (bean instanceof Long)
- return Long.TYPE;
- else if (bean instanceof Short)
- return Short.TYPE;
- else
- throw new IllegalArgumentException(bean != null ? bean.getClass().getName() : "null"); //$NON-NLS-1$
- }
-
- private static final Object IFELSE_IGNORE = "IF/ELSE IGNORE"; // Flag for if/else in ingore //$NON-NLS-1$
- private int ifElseNesting = 0; // Nesting of if/else expressions.
- private int ifElseIgnoreNestCount = 0; // When ignoring if/else expressions, ignore until this nest count.
- private boolean ifElseSkipTruePart;
-
-
- /**
- * Push an if test expression.
- * @param hasElseClause
- *
- * @since 1.0.0
- */
- public final void pushIfElse() {
- try {
- boolean ignore = true;
- try {
- if (errorOccurred)
- return;
- // Slightly different here in that if an ignoring occurred we still need to process at least part of it so that
- // we can get the expression grouping correct.
- ifElseNesting++; // We have the test.
-
- if (ignoreExpression != null)
- return;
- ignore = false;
- } finally {
- if (traceOn)
- printTrace("If test condition", ignore); //$NON-NLS-1$
- }
-
- try {
- Object condition = popExpression();
- Class type = popExpressionType(false);
- if (type != Boolean.TYPE)
- throwClassCast(Boolean.TYPE, condition);
- if (traceOn) {
- System.out.print(" Test Result="+condition); //$NON-NLS-1$
- printTraceEnd();
- indent(true);
- printTrace("Begin True Expression.", ignore); //$NON-NLS-1$
- printTraceEnd();
- indent(true);
- }
- if (((Boolean) condition).booleanValue()) {
- // Condition was true.
- // Do nothing. Let true condition be processed.
- } else {
- // Condition was false.
- ifElseSkipTruePart = true; // Tell the true condition should be ignored.
- ignoreExpression = IFELSE_IGNORE;
- ifElseIgnoreNestCount = ifElseNesting;
- }
- // We don't put anything back on the stack because the condition test is not ever returned.
- // The appropriate true or false condition evaluation will be left on the stack.
- } catch (RuntimeException e) {
- processException(e);
- } catch (NoExpressionValueException e) {
- processSyntaxException(e);
- }
- } finally {
- if (traceOn)
- printTraceEnd();
- }
- }
-
- /**
- * Push an if/else clause. It can be any clause of the if (true, or false clause).
- * @param clauseType
- *
- * @since 1.0.0
- */
- public final void pushIfElse(InternalIfElseOperandType clauseType) {
- try {
- boolean ignore = true;
- if (errorOccurred)
- return;
- // Slightly different here in that if an ignoring occurred we still need to process at least part of it so that
- // we can get the expression grouping correct.
- switch (clauseType.getValue()) {
- case InternalIfElseOperandType.TRUE_CLAUSE_VALUE:
- if (traceOn) {
- indent(false);
- printTrace("Begin False Expression.", ignore); //$NON-NLS-1$
- printTraceEnd();
- indent(true);
- }
- if (ifElseSkipTruePart && ignoreExpression == IFELSE_IGNORE && ifElseIgnoreNestCount == ifElseNesting) {
- // stop ignoring, we've ignored the true condition of interest.
- ignoreExpression = null;
- return; // However, leave because since this condition was ignored.
- }
- break;
- case InternalIfElseOperandType.ELSE_CLAUSE_VALUE:
- if (traceOn) {
- indent(false);
- indent(false);
- printTrace("End IF/ELSE Expression.", ignore); //$NON-NLS-1$
- printTraceEnd();
- }
- int currentNesting = ifElseNesting--;
- if (ignoreExpression == IFELSE_IGNORE && ifElseIgnoreNestCount == currentNesting) {
- // stop ignoring, we've ignored the false condition of interest.
- ignoreExpression = null;
- return; // However, leave because since this condition was ignored.
- }
- }
-
- if (ignoreExpression != null)
- return;
- ignore = false;
-
-
- try {
- switch (clauseType.getValue()) {
- case InternalIfElseOperandType.TRUE_CLAUSE_VALUE:
- ifElseSkipTruePart = false; // Tell the false condition should be ignored.
- ignoreExpression = IFELSE_IGNORE;
- ifElseIgnoreNestCount = ifElseNesting;
- break;
- case InternalIfElseOperandType.ELSE_CLAUSE_VALUE:
- // There's nothing to do, if it was ignored due to true, we wouldn't of gotton here.
- // If it wasn't ignored, then the result of the false expression is on the stack, which is what it should be.
- break;
- }
- } catch (RuntimeException e) {
- processException(e);
- }
- } finally {
- if (traceOn)
- printTraceEnd();
- }
- }
-
- /**
- * Push the instanceof expression. The type passed in is either a String (with classname to test against) or the
- * type to test against.
- * @param type To test against.
- * @since 1.0.0
- */
- public final void pushInstanceof(Class type) {
- boolean ignore = (ignoreExpression != null || errorOccurred);
- if (traceOn)
- printTrace("Instanceof type: "+type, ignore); //$NON-NLS-1$
- try {
- if (ignore)
- return;
-
- try {
- Object exp = popExpression();
- Class exptype = popExpressionType(false);
- pushExpressionValue(Boolean.valueOf(isInstance(type, exp, exptype)), Boolean.TYPE);
- } catch (NoExpressionValueException e) {
- processSyntaxException(e);
- } catch (RuntimeException e) {
- processException(e);
- }
- } finally {
- if (traceOn)
- printTraceEnd();
- }
- }
-
- /**
- * Test if instance of. It will make sure that primitive to non-primitive is not permitted.
- * This is a true instance of, which means null IS NOT AN instance of any type. This is
- * different then assignable from, in that case null can be assigned to any class type.
- * <p>
- * This is a helper method for expression processer to do isInstance. Since it is a helper method it doesn't
- * check nor process exceptions.
-
- * @param type
- * @param bean
- * @param beanType
- * @return
- *
- * @since 1.0.0
- */
- protected final boolean isInstance(Class type, Object bean, Class beanType) {
- if (type.isPrimitive())
- return beanType.isPrimitive() && type == beanType; // Can't use isInstance because for a primitive type isInstance returns false.
- else
- return type.isInstance(bean);
- }
-
- /**
- * Push new instance from string.
- * @param initializationString
- * @param resultType expected result type. If it isn't of that type, a classcast will be processed.
- * @param classloader classloader to use for finding classes, or <code>null</code> to use classloader of InitializationStringParser.class.
- *
- * @since 1.1.0
- */
- public final void pushNewInstanceFromString(String initializationString, Class resultType, ClassLoader classloader) {
- boolean ignore = (ignoreExpression != null || errorOccurred);
- if (traceOn)
- printTrace("New instance from string: \""+initializationString+"\" Type="+resultType, ignore); //$NON-NLS-1$ //$NON-NLS-2$
- try {
- if (ignore)
- return;
-
- try {
- InitializationStringParser parser = InitializationStringParser.createParser(initializationString, classloader);
- Object newValue = parser.evaluate();
- newValue = castBean(resultType, newValue, parser.getExpectedType());
- pushExpressionValue(newValue, resultType);
- } catch (RuntimeException e) {
- processException(e);
- } catch (InitializationStringEvaluationException e) {
- processException(e);
- }
- } finally {
- if (traceOn)
- printTraceEnd();
- }
-
- }
-
- /**
- * Push prefix expression.
- * @param operator
- * @since 1.0.0
- */
- public final void pushPrefix(PrefixOperator operator) {
- try {
- if (ignoreExpression != null || errorOccurred) {
- if (traceOn)
- printTrace("Prefix: \'"+operator+"\'", true); //$NON-NLS-1$ //$NON-NLS-2$
- return;
- }
-
- if (operator == PrefixOperator.PRE_PLUS)
- return; // Do nothing. "+" doesn't affect the result of the current top expression.
-
- if (traceOn)
- printTrace("Prefix: \'"+operator+"\' ", false); //$NON-NLS-1$ //$NON-NLS-2$
-
- try {
- Object exp = popExpression();
- Class exptype = popExpressionType(false);
- if (!exptype.isPrimitive())
- throwInvalidPrefix(operator, exp);
-
- int primTypeEnum = getEnumForPrimitive(exptype);
- switch (operator.getValue()) {
- case PrefixOperator.PRE_MINUS_VALUE:
- switch (primTypeEnum) {
- case BOOLEAN:
- throwInvalidPrefix(operator, exp);
- case BYTE:
- exp = new Integer(-((Number) exp).byteValue());
- break;
- case CHAR:
- exp = new Integer(-((Character) exp).charValue());
- break;
- case DOUBLE:
- exp = new Double(-((Number) exp).doubleValue());
- break;
- case FLOAT:
- exp = new Float(-((Number) exp).floatValue());
- break;
- case INT:
- exp = new Integer(-((Number) exp).intValue());
- break;
- case LONG:
- exp = new Long(-((Number) exp).longValue());
- break;
- case SHORT:
- exp = new Integer(-((Number) exp).shortValue());
- break;
- }
- exptype = getPrimitiveType(exp); // It can actually change the type.
- break;
-
- case PrefixOperator.PRE_COMPLEMENT_VALUE:
- switch (primTypeEnum) {
- case BOOLEAN:
- case DOUBLE:
- case FLOAT:
- throwInvalidPrefix(operator, exp);
- case BYTE:
- exp = new Integer(~((Number) exp).byteValue());
- break;
- case CHAR:
- exp = new Integer(~((Character) exp).charValue());
- break;
- case INT:
- exp = new Integer(~((Number) exp).intValue());
- break;
- case LONG:
- exp = new Long(~((Number) exp).longValue());
- break;
- case SHORT:
- exp = new Integer(~((Number) exp).shortValue());
- break;
- }
- exptype = getPrimitiveType(exp); // It can actually change the type.
- break;
- case PrefixOperator.PRE_NOT_VALUE:
- switch (primTypeEnum) {
- case BOOLEAN:
- exp = !((Boolean) exp).booleanValue() ? Boolean.TRUE : Boolean.FALSE;
- break;
- case BYTE:
- case CHAR:
- case DOUBLE:
- case FLOAT:
- case INT:
- case LONG:
- case SHORT:
- throwInvalidPrefix(operator, exp);
- }
- break;
- }
-
- if (traceOn)
- printObjectAndType(exp, exptype);
- pushExpressionValue(exp, exptype); // Push the result back on the stack.
-
- } catch (IllegalArgumentException e) {
- processSyntaxException(e);
- } catch (NoExpressionValueException e) {
- processSyntaxException(e);
- } catch (RuntimeException e) {
- processException(e);
- }
- } finally {
- if (traceOn)
- printTraceEnd();
- }
-
- }
-
- /**
- * Assign the right expression to the left expression.
- * @since 1.1.0
- */
- public final void pushAssignment() {
- if (ignoreExpression != null || errorOccurred) {
- if (traceOn) {
- printTrace("Assignment", true); //$NON-NLS-1$
- printTraceEnd();
- }
- return;
- }
-
- try {
- // KLUDGE: The only reason leftValue/refType are outside of try/finally is because
- // of tracing. pushExpression() does its own trace statements, so we need to end
- // our trace before calling pushExpression.
- Object leftValue;
- Class refType;
- try {
- if (traceOn)
- printTrace("Assignment: ", false); //$NON-NLS-1$
- // The order on the stack is right then left operand.
- // First the right operand
- Object value = popExpression();
- Class type = popExpressionType(false);
-
- // Next the left operand, should be a reference.
- VariableReference left = (VariableReference) popExpression(false); // Don't dereference it.
- refType = popExpressionType(false);
-
- if (traceOn)
- printObjectAndType(left, refType);
-
- leftValue = left.set(value, type);
- } finally {
- if (traceOn)
- printTraceEnd();
- }
-
- // Now do assignment and return the value to the stack.
- pushExpression(leftValue, refType); // The type of the result is the type of the reference.
-
- } catch (IllegalArgumentException e) {
- processException(e);
- } catch (NoExpressionValueException e) {
- processSyntaxException(e);
- } catch (IllegalAccessException e) {
- processException(e);
- } catch (RuntimeException e) {
- processException(e);
- }
-
- }
-
- /**
- * Assign the expression proxy to the top expression value.
- *
- * @param proxy
- *
- * @since 1.1.0
- */
- public final void pushAssignment(InternalExpressionProxy proxy) {
- boolean ignore = (ignoreExpression != null || errorOccurred);
- try {
- if (traceOn) {
- printTrace("Assign to Proxy #"+proxy.getProxyID(), ignore); //$NON-NLS-1$
- }
- if (ignore)
- return;
-
- try {
- assignToExpressionProxyFromTopStackEntry(proxy);
- if (traceOn)
- printObjectAndType(proxy.getValue(), proxy.getType());
- } catch (NoExpressionValueException e) {
- processSyntaxException(e);
- } catch (RuntimeException e) {
- processException(e);
- }
- } finally {
- if (traceOn)
- printTraceEnd();
- }
-
- }
-
- /**
- * Assign the top stack entry to the new expression proxy and allocate it for callback later.
- * @param proxy
- * @throws NoExpressionValueException
- *
- * @since 1.1.0
- */
- protected void assignToExpressionProxyFromTopStackEntry(InternalExpressionProxy proxy) throws NoExpressionValueException {
- Object value = getExpression(1);
- Class type = getExpressionType(1, true);
- if (value instanceof VariableReference)
- value = ((VariableReference) value).dereference(); // Here we want the final current value.
-
- proxy.setProxy(value, type);
- allocateExpressionProxy(proxy);
- }
-
- /**
- * Allocate an expression proxy. This is used to make an expression proxy known to the processor. The expression proxy must
- * have been setProxy() at this point. This is used to assign from the top of the stack or to add from outside an evaluated proxy
- * to be used later by others.
- *
- * @param proxy
- *
- * @since 1.1.0
- */
- public void allocateExpressionProxy(InternalExpressionProxy proxy) {
- int minSize = proxy.getProxyID()+1;
- if (expressionProxies == null)
- expressionProxies = new ArrayList(minSize+10); // Allow room to grow ten more.
- else if (expressionProxies.size() < minSize)
- expressionProxies.ensureCapacity(minSize+10); // Allow room to grow ten more.
- int fill = minSize-expressionProxies.size(); // Number of "null" fill entries needed. Probably shouldn't occur, but to be safe.
- if (fill > 0) {
- while (--fill > 0)
- expressionProxies.add(null);
- expressionProxies.add(proxy);
- } else
- expressionProxies.set(proxy.getProxyID(), proxy); // Already large enough, replace entry.
-
- }
-
- /**
- * The primitive enums.
- * NOTE: Their order must not changed. They are in order of permitted widening.
- *
- */
- protected static final int
- BOOLEAN = 0,
- BYTE = 1,
- SHORT = 2,
- CHAR = 3,
- INT = 4,
- LONG = 5,
- FLOAT = 6,
- DOUBLE = 7;
-
-
-
- /**
- * Get the enum constant for the type of primitive passed in.
- * <p>
- * This is a helper method for expression processer to get the enum for the primitive type. Since it is a helper method it doesn't
- * check nor process the exception. It throws it. Callers must handle it as they see fit.
-
- * @param primitiveType
- * @return
- * @throws IllegalArgumentException if type is not a primitive.
- *
- * @see ExpressionProcesser#BOOLEAN
- * @since 1.0.0
- */
- protected final int getEnumForPrimitive(Class primitiveType) throws IllegalArgumentException {
- if (primitiveType == Boolean.TYPE)
- return BOOLEAN;
- else if (primitiveType == Integer.TYPE)
- return INT;
- else if (primitiveType == Byte.TYPE)
- return BYTE;
- else if (primitiveType == Character.TYPE)
- return CHAR;
- else if (primitiveType == Double.TYPE)
- return DOUBLE;
- else if (primitiveType == Float.TYPE)
- return FLOAT;
- else if (primitiveType == Long.TYPE)
- return LONG;
- else if (primitiveType == Short.TYPE)
- return SHORT;
- else
- throw new IllegalArgumentException(primitiveType != null ? primitiveType.getName() : "null"); //$NON-NLS-1$
- }
-
- private void throwInvalidPrefix(PrefixOperator operator, Object exp) throws IllegalArgumentException {
- throw new IllegalArgumentException(MessageFormat.format(InitparserTreeMessages.getString("ExpressionProcesser.InvalidOperandOfPrefixOperator_EXC_"), new Object[] {exp != null ? exp.toString() : null, operator.toString()})); //$NON-NLS-1$
- }
-
- private static final Object INFIX_IGNORE = "INFIX IGNORE"; // Flag for infix in ingore //$NON-NLS-1$
- private int infixNesting = 0; // Nesting of infix expressions.
- private int infixIgnoreNestCount = 0; // When ignoring infix expressions, ignore until this nest count.
- /**
- * Push the infix expression onto the stack.
- * @param operator
- * @param operandType The operator type. Left, right, other.
- * @since 1.0.0
- */
- public final void pushInfix(InfixOperator operator, InternalInfixOperandType operandType) {
- try {
- boolean ignore = true;
- try {
- if (errorOccurred) {
- return;
- }
- // Slightly different here in that if an ignored occurred we still need to process at least part of it so that
- // we can get the expression grouping correct.
- if (operandType == InternalInfixOperandType.INFIX_LEFT_OPERAND)
- infixNesting++;
- else if (operandType == InternalInfixOperandType.INFIX_LAST_OPERAND) {
- int currentNest = infixNesting--;
- if (ignoreExpression == INFIX_IGNORE && currentNest == infixIgnoreNestCount) {
- // We were ignoring, and it was this expression that was being ignore.
- // We have received the last operand of the nested expression that was being ignored,
- // so we can stop ignoring. But we still leave since the value of the expression is on the
- // top of the stack.
- ignoreExpression = null;
- return;
- }
- }
-
- if (ignoreExpression != null)
- return;
- ignore = false;
- } finally {
- if (traceOn)
- printTrace("Infix: "+operator, ignore); //$NON-NLS-1$
- }
-
- try {
- Object right = null;
- Class rightType = null;
- if (operandType != InternalInfixOperandType.INFIX_LEFT_OPERAND) {
- // We are not the left operand, so the stack has the right on the top, followed by the left.
- right = popExpression();
- rightType = popExpressionType(false);
- }
-
- Object value = popExpression();
- Class valueType = popExpressionType(false);
-
- switch (operator.getValue()) {
- case InfixOperator.IN_AND_VALUE:
- if (operandType == InternalInfixOperandType.INFIX_LEFT_OPERAND)
- break; // Do nothing with first operand
-
- testValidBitType(valueType, InfixOperator.IN_AND);
- testValidBitType(rightType, InfixOperator.IN_AND);
- if (valueType == Long.TYPE || rightType == Long.TYPE) {
- // If either side is long, the result will be long.
- value = new Long(getLong(value) & getLong(right));
- valueType = Long.TYPE;
- } else {
- // Else it is int. (even two shorts together produce an int).
- value = new Integer(getInt(value) & getInt(right));
- valueType = Integer.TYPE;
- }
- break;
- case InfixOperator.IN_CONDITIONAL_AND_VALUE:
- // This is tricky.
- // First if this is left type, then just continue.
- // Else if this other or last, then need to make it the new value.
- if (operandType != InternalInfixOperandType.INFIX_LEFT_OPERAND) {
- value = right;
- valueType = rightType;
- }
-
- //If the value is now false, we need to ignore the rest.
- if (valueType != Boolean.TYPE)
- throwInvalidInfix(operator, value);
- if (!((Boolean) value).booleanValue() && operandType != InternalInfixOperandType.INFIX_LAST_OPERAND)
- startInfixIgnore(); // Start ignoring because we know the value of the expression at this point. It is false.
- break;
- case InfixOperator.IN_CONDITIONAL_OR_VALUE:
- // This is tricky.
- // First if this is left type, then just continue.
- // Else if this other or last, then need to make it the new value.
- if (operandType != InternalInfixOperandType.INFIX_LEFT_OPERAND) {
- value = right;
- valueType = rightType;
- }
-
- //If the value is now true, we need to ignore the rest.
- if (valueType != Boolean.TYPE)
- throwInvalidInfix(operator, value);
- if (((Boolean) value).booleanValue() && operandType != InternalInfixOperandType.INFIX_LAST_OPERAND)
- startInfixIgnore(); // Start ignoring because we know the value of the expression at this point. It is true.
- break;
- case InfixOperator.IN_DIVIDE_VALUE:
- if (operandType == InternalInfixOperandType.INFIX_LEFT_OPERAND)
- break; // Do nothing with first operand
-
- testValidArithmeticType(valueType, InfixOperator.IN_DIVIDE);
- testValidArithmeticType(rightType, InfixOperator.IN_DIVIDE);
- if (valueType == Double.TYPE || rightType == Double.TYPE) {
- // If either side is double, the result will be double.
- value = new Double(getDouble(value) / getDouble(right));
- valueType = Double.TYPE;
- } else if (valueType == Float.TYPE || rightType == Float.TYPE) {
- // If either side is float, the result will be float.
- value = new Float(getFloat(value) / getFloat(right));
- valueType = Float.TYPE;
- } else if (valueType == Long.TYPE || rightType == Long.TYPE) {
- // If either side is long, the result will be long.
- value = new Long(getLong(value) / getLong(right));
- valueType = Long.TYPE;
- } else {
- // Else it will result in an int, even if both sides are short.
- value = new Integer(getInt(value) / getInt(right));
- valueType = Integer.TYPE;
- }
- break;
- case InfixOperator.IN_EQUALS_VALUE:
- if (operandType == InternalInfixOperandType.INFIX_LEFT_OPERAND)
- break; // Do nothing with first operand
- // We should never get extended operator for this, but we'll ignore the possibility.
- if (valueType.isPrimitive() && rightType.isPrimitive()) {
- // Primitives require more testing than just ==. boolean primitives
- if (valueType == Boolean.TYPE || rightType == Boolean.TYPE) {
- // If either side is a boolean, then the other side needs to be boolean for it to even try to be true.
- if (valueType != Boolean.TYPE || valueType != Boolean.TYPE)
- value = Boolean.FALSE;
- else
- value = (((Boolean) value).booleanValue() == ((Boolean) right).booleanValue()) ? Boolean.TRUE : Boolean.FALSE;
- } else {
- // Now do number tests since not boolean primitive, only numbers are left
- if (valueType == Double.TYPE || rightType == Double.TYPE) {
- // If either side is double, compare as double.
- value = (getDouble(value) == getDouble(right)) ? Boolean.TRUE : Boolean.FALSE;
- } else if (valueType == Float.TYPE || rightType == Float.TYPE) {
- // If either side is float, compare as float.
- value = (getFloat(value) == getFloat(right)) ? Boolean.TRUE : Boolean.FALSE;
- } else if (valueType == Long.TYPE || rightType == Long.TYPE) {
- // If either side is long, the compare as long.
- value = (getLong(value) == getLong(right)) ? Boolean.TRUE : Boolean.FALSE;
- } else {
- // Else it will compare as int, even if both sides are short.
- value = (getInt(value) == getInt(right)) ? Boolean.TRUE : Boolean.FALSE;
- }
- }
- } else if (valueType.isPrimitive() || rightType.isPrimitive())
- value = Boolean.FALSE; // Can't be true if one side prim and the other isn't
- else {
- // Just do object ==
- value = (value == right) ? Boolean.TRUE : Boolean.FALSE;
- }
- valueType = Boolean.TYPE; // We know result will be a boolean.
- break;
- case InfixOperator.IN_GREATER_VALUE:
- if (operandType == InternalInfixOperandType.INFIX_LEFT_OPERAND)
- break; // Do nothing with first operand
-
- testValidArithmeticType(valueType, InfixOperator.IN_GREATER);
- testValidArithmeticType(rightType, InfixOperator.IN_GREATER);
- if (valueType == Double.TYPE || rightType == Double.TYPE) {
- // If either side is double, compare will be double.
- value = (getDouble(value) > getDouble(right)) ? Boolean.TRUE : Boolean.FALSE;
- } else if (valueType == Float.TYPE || rightType == Float.TYPE) {
- // If either side is float, compare will be float.
- value = (getFloat(value) > getFloat(right)) ? Boolean.TRUE : Boolean.FALSE;
- } else if (valueType == Long.TYPE || rightType == Long.TYPE) {
- // If either side is long, compare will be long.
- value = (getLong(value) > getLong(right)) ? Boolean.TRUE : Boolean.FALSE;
- } else {
- // Else compare will be int, even if both sides are short.
- value = (getInt(value) > getInt(right)) ? Boolean.TRUE : Boolean.FALSE;
- }
- valueType = Boolean.TYPE; // We know result will be a boolean.
- break;
- case InfixOperator.IN_GREATER_EQUALS_VALUE:
- if (operandType == InternalInfixOperandType.INFIX_LEFT_OPERAND)
- break; // Do nothing with first operand
-
- testValidArithmeticType(valueType, InfixOperator.IN_GREATER_EQUALS);
- testValidArithmeticType(rightType, InfixOperator.IN_GREATER_EQUALS);
- if (valueType == Double.TYPE || rightType == Double.TYPE) {
- // If either side is double, compare will be double.
- value = (getDouble(value) >= getDouble(right)) ? Boolean.TRUE : Boolean.FALSE;
- } else if (valueType == Float.TYPE || rightType == Float.TYPE) {
- // If either side is float, compare will be float.
- value = (getFloat(value) >= getFloat(right)) ? Boolean.TRUE : Boolean.FALSE;
- } else if (valueType == Long.TYPE || rightType == Long.TYPE) {
- // If either side is long, compare will be long.
- value = (getLong(value) >= getLong(right)) ? Boolean.TRUE : Boolean.FALSE;
- } else {
- // Else compare will be int, even if both sides are short.
- value = (getInt(value) >= getInt(right)) ? Boolean.TRUE : Boolean.FALSE;
- }
- valueType = Boolean.TYPE; // We know result will be a boolean.
- break;
- case InfixOperator.IN_LEFT_SHIFT_VALUE:
- if (operandType == InternalInfixOperandType.INFIX_LEFT_OPERAND)
- break; // Do nothing with first operand
-
- testValidBitType(valueType, InfixOperator.IN_LEFT_SHIFT);
- testValidBitType(rightType, InfixOperator.IN_LEFT_SHIFT);
- if (valueType == Long.TYPE || rightType == Long.TYPE) {
- // If either side is long, the result will be long.
- value = new Long(getLong(value) << getLong(right));
- valueType = Long.TYPE;
- } else {
- // Else it is int. (even two shorts together produce an int).
- value = new Integer(getInt(value) << getInt(right));
- valueType = Integer.TYPE;
- }
- break;
- case InfixOperator.IN_LESS_VALUE:
- if (operandType == InternalInfixOperandType.INFIX_LEFT_OPERAND)
- break; // Do nothing with first operand
-
- testValidArithmeticType(valueType, InfixOperator.IN_LESS);
- testValidArithmeticType(rightType, InfixOperator.IN_LESS);
- if (valueType == Double.TYPE || rightType == Double.TYPE) {
- // If either side is double, compare will be double.
- value = (getDouble(value) < getDouble(right)) ? Boolean.TRUE : Boolean.FALSE;
- } else if (valueType == Float.TYPE || rightType == Float.TYPE) {
- // If either side is float, compare will be float.
- value = (getFloat(value) < getFloat(right)) ? Boolean.TRUE : Boolean.FALSE;
- } else if (valueType == Long.TYPE || rightType == Long.TYPE) {
- // If either side is long, compare will be long.
- value = (getLong(value) < getLong(right)) ? Boolean.TRUE : Boolean.FALSE;
- } else {
- // Else compare will be int, even if both sides are short.
- value = (getInt(value) < getInt(right)) ? Boolean.TRUE : Boolean.FALSE;
- }
- valueType = Boolean.TYPE; // We know result will be a boolean.
- break;
- case InfixOperator.IN_LESS_EQUALS_VALUE:
- if (operandType == InternalInfixOperandType.INFIX_LEFT_OPERAND)
- break; // Do nothing with first operand
-
- testValidArithmeticType(valueType, InfixOperator.IN_LESS_EQUALS);
- testValidArithmeticType(rightType, InfixOperator.IN_LESS_EQUALS);
- if (valueType == Double.TYPE || rightType == Double.TYPE) {
- // If either side is double, compare will be double.
- value = (getDouble(value) <= getDouble(right)) ? Boolean.TRUE : Boolean.FALSE;
- } else if (valueType == Float.TYPE || rightType == Float.TYPE) {
- // If either side is float, compare will be float.
- value = (getFloat(value) <= getFloat(right)) ? Boolean.TRUE : Boolean.FALSE;
- } else if (valueType == Long.TYPE || rightType == Long.TYPE) {
- // If either side is long, compare will be long.
- value = (getLong(value) <= getLong(right)) ? Boolean.TRUE : Boolean.FALSE;
- } else {
- // Else compare will be int, even if both sides are short.
- value = (getInt(value) <= getInt(right)) ? Boolean.TRUE : Boolean.FALSE;
- }
- valueType = Boolean.TYPE; // We know result will be a boolean.
- break;
- case InfixOperator.IN_MINUS_VALUE:
- if (operandType == InternalInfixOperandType.INFIX_LEFT_OPERAND)
- break; // Do nothing with first operand
-
- testValidArithmeticType(valueType, InfixOperator.IN_MINUS);
- testValidArithmeticType(rightType, InfixOperator.IN_MINUS);
- if (valueType == Double.TYPE || rightType == Double.TYPE) {
- // If either side is double, the result will be double.
- value = new Double(getDouble(value) - getDouble(right));
- valueType = Double.TYPE;
- } else if (valueType == Float.TYPE || rightType == Float.TYPE) {
- // If either side is float, the result will be float.
- value = new Float(getFloat(value) - getFloat(right));
- valueType = Float.TYPE;
- } else if (valueType == Long.TYPE || rightType == Long.TYPE) {
- // If either side is long, the result will be long.
- value = new Long(getLong(value) - getLong(right));
- valueType = Long.TYPE;
- } else {
- // Else it will result in an int, even if both sides are short.
- value = new Integer(getInt(value) - getInt(right));
- valueType = Integer.TYPE;
- }
- break;
- case InfixOperator.IN_NOT_EQUALS_VALUE:
- if (operandType == InternalInfixOperandType.INFIX_LEFT_OPERAND)
- break; // Do nothing with first operand
- // We should never get extended operator for this, but we'll ignore the possibility.
- if (valueType.isPrimitive() && rightType.isPrimitive()) {
- // Primitives require more testing than just ==. boolean primitives
- if (valueType == Boolean.TYPE || rightType == Boolean.TYPE) {
- // If either side is a boolean, then the other side needs to be boolean for it to even try to be true.
- if (valueType != Boolean.TYPE || valueType != Boolean.TYPE)
- value = Boolean.TRUE;
- else
- value = (((Boolean) value).booleanValue() != ((Boolean) right).booleanValue()) ? Boolean.TRUE : Boolean.FALSE;
- } else {
- // Now do number tests since not boolean primitive, only numbers are left
- if (valueType == Double.TYPE || rightType == Double.TYPE) {
- // If either side is double, compare as double.
- value = (getDouble(value) != getDouble(right)) ? Boolean.TRUE : Boolean.FALSE;
- } else if (valueType == Float.TYPE || rightType == Float.TYPE) {
- // If either side is float, compare as float.
- value = (getFloat(value) != getFloat(right)) ? Boolean.TRUE : Boolean.FALSE;
- } else if (valueType == Long.TYPE || rightType == Long.TYPE) {
- // If either side is long, the compare as long.
- value = (getLong(value) != getLong(right)) ? Boolean.TRUE : Boolean.FALSE;
- } else {
- // Else it will compare as int, even if both sides are short.
- value = (getInt(value) != getInt(right)) ? Boolean.TRUE : Boolean.FALSE;
- }
- }
- } else if (valueType.isPrimitive() || rightType.isPrimitive())
- value = Boolean.TRUE; // Must be true if one side prim and the other isn't
- else {
- // Just do object !=
- value = (value != right) ? Boolean.TRUE : Boolean.FALSE;
- }
- valueType = Boolean.TYPE; // We know result will be a boolean.
- break;
- case InfixOperator.IN_OR_VALUE:
- if (operandType == InternalInfixOperandType.INFIX_LEFT_OPERAND)
- break; // Do nothing with first operand
-
- testValidBitType(valueType, InfixOperator.IN_OR);
- testValidBitType(rightType, InfixOperator.IN_OR);
- if (valueType == Long.TYPE || rightType == Long.TYPE) {
- // If either side is long, the result will be long.
- value = new Long(getLong(value) | getLong(right));
- valueType = Long.TYPE;
- } else {
- // Else it is int. (even two shorts together produce an int).
- value = new Integer(getInt(value) | getInt(right));
- valueType = Integer.TYPE;
- }
- break;
- case InfixOperator.IN_PLUS_VALUE:
- if (operandType == InternalInfixOperandType.INFIX_LEFT_OPERAND) {
- if (valueType == String.class) {
- // Special. left argument is a string, so we want to store a string buffer instead
- // since we know we will be appending to it.
- value = new StringBuffer((String) value);
- }
- break; // Do nothing with first operand
- }
-
- testValidPlusType(valueType, rightType);
- if (valueType == String.class || rightType == String.class) {
- // Special we have a string on one side. Need to do it as strings instead.
- // We are going to be tricky in that we will store a StringBuffer on the stack (if not last operand)
- // but call it a string.
- StringBuffer sb = null;
- if (valueType == String.class) {
- sb = (StringBuffer) value; // We know that if the value (left) is string type, we've already converted it to buffer.
- } else {
- // The right is the one that introduces the string, so we change the value over to a string buffer.
- sb = new StringBuffer(((String) right).length()+16); // We can't put the value in yet, need to get left into it.
- appendToBuffer(sb, value, valueType); // Put the left value in now
- value = sb;
- valueType = String.class; // Make it a string class
- }
- appendToBuffer(sb, right, rightType);
- // Now if we are the last operand, we should get rid of the buffer and put a true string back in.
- if (operandType == InternalInfixOperandType.INFIX_LAST_OPERAND)
- value = sb.toString();
- } else if (valueType == Double.TYPE || rightType == Double.TYPE) {
- // If either side is double, the result will be double.
- value = new Double(getDouble(value) + getDouble(right));
- valueType = Double.TYPE;
- } else if (valueType == Float.TYPE || rightType == Float.TYPE) {
- // If either side is float, the result will be float.
- value = new Float(getFloat(value) + getFloat(right));
- valueType = Float.TYPE;
- } else if (valueType == Long.TYPE || rightType == Long.TYPE) {
- // If either side is long, the result will be long.
- value = new Long(getLong(value) + getLong(right));
- valueType = Long.TYPE;
- } else {
- // Else it will result in an int, even if both sides are short.
- value = new Integer(getInt(value) + getInt(right));
- valueType = Integer.TYPE;
- }
- break;
- case InfixOperator.IN_REMAINDER_VALUE:
- if (operandType == InternalInfixOperandType.INFIX_LEFT_OPERAND)
- break; // Do nothing with first operand
-
- testValidArithmeticType(valueType, InfixOperator.IN_REMAINDER);
- testValidArithmeticType(rightType, InfixOperator.IN_REMAINDER);
- if (valueType == Double.TYPE || rightType == Double.TYPE) {
- // If either side is double, the result will be double.
- value = new Double(getDouble(value) % getDouble(right));
- valueType = Double.TYPE;
- } else if (valueType == Float.TYPE || rightType == Float.TYPE) {
- // If either side is float, the result will be float.
- value = new Float(getFloat(value) % getFloat(right));
- valueType = Float.TYPE;
- } else if (valueType == Long.TYPE || rightType == Long.TYPE) {
- // If either side is long, the result will be long.
- value = new Long(getLong(value) % getLong(right));
- valueType = Long.TYPE;
- } else {
- // Else it will result in an int, even if both sides are short.
- value = new Integer(getInt(value) % getInt(right));
- valueType = Integer.TYPE;
- }
- break;
- case InfixOperator.IN_RIGHT_SHIFT_SIGNED_VALUE:
- if (operandType == InternalInfixOperandType.INFIX_LEFT_OPERAND)
- break; // Do nothing with first operand
-
- testValidBitType(valueType, InfixOperator.IN_RIGHT_SHIFT_SIGNED);
- testValidBitType(rightType, InfixOperator.IN_RIGHT_SHIFT_SIGNED);
- if (valueType == Long.TYPE || rightType == Long.TYPE) {
- // If either side is long, the result will be long.
- value = new Long(getLong(value) >> getLong(right));
- valueType = Long.TYPE;
- } else {
- // Else it is int. (even two shorts together produce an int).
- value = new Integer(getInt(value) >> getInt(right));
- valueType = Integer.TYPE;
- }
- break;
- case InfixOperator.IN_RIGHT_SHIFT_UNSIGNED_VALUE:
- if (operandType == InternalInfixOperandType.INFIX_LEFT_OPERAND)
- break; // Do nothing with first operand
-
- testValidBitType(valueType, InfixOperator.IN_RIGHT_SHIFT_UNSIGNED);
- testValidBitType(rightType, InfixOperator.IN_RIGHT_SHIFT_UNSIGNED);
- if (valueType == Long.TYPE || rightType == Long.TYPE) {
- // If either side is long, the result will be long.
- value = new Long(getLong(value) >>> getLong(right));
- valueType = Long.TYPE;
- } else {
- // Else it is int. (even two shorts together produce an int).
- value = new Integer(getInt(value) >>> getInt(right));
- valueType = Integer.TYPE;
- }
- break;
- case InfixOperator.IN_TIMES_VALUE:
- if (operandType == InternalInfixOperandType.INFIX_LEFT_OPERAND)
- break; // Do nothing with first operand
-
- testValidArithmeticType(valueType, InfixOperator.IN_TIMES);
- testValidArithmeticType(rightType, InfixOperator.IN_TIMES);
- if (valueType == Double.TYPE || rightType == Double.TYPE) {
- // If either side is double, the result will be double.
- value = new Double(getDouble(value) * getDouble(right));
- valueType = Double.TYPE;
- } else if (valueType == Float.TYPE || rightType == Float.TYPE) {
- // If either side is float, the result will be float.
- value = new Float(getFloat(value) * getFloat(right));
- valueType = Float.TYPE;
- } else if (valueType == Long.TYPE || rightType == Long.TYPE) {
- // If either side is long, the result will be long.
- value = new Long(getLong(value) * getLong(right));
- valueType = Long.TYPE;
- } else {
- // Else it will result in an int, even if both sides are short.
- value = new Integer(getInt(value) * getInt(right));
- valueType = Integer.TYPE;
- }
- break;
- case InfixOperator.IN_XOR_VALUE:
- if (operandType == InternalInfixOperandType.INFIX_LEFT_OPERAND)
- break; // Do nothing with first operand
-
- testValidBitType(valueType, InfixOperator.IN_XOR);
- testValidBitType(rightType, InfixOperator.IN_XOR);
- if (valueType == Long.TYPE || rightType == Long.TYPE) {
- // If either side is long, the result will be long.
- value = new Long(getLong(value) ^ getLong(right));
- valueType = Long.TYPE;
- } else {
- // Else it is int. (even two shorts together produce an int).
- value = new Integer(getInt(value) ^ getInt(right));
- valueType = Integer.TYPE;
- }
- break;
- }
-
- if (traceOn)
- printObjectAndType(value, valueType);
- pushExpressionValue(value, valueType); // Push the result back on the stack.
-
- } catch (IllegalArgumentException e) {
- processException(e);
- } catch (NoExpressionValueException e) {
- processSyntaxException(e);
- } catch (RuntimeException e) {
- processException(e);
- }
- } finally {
- if (traceOn)
- printTraceEnd();
- }
-
- }
-
- /**
- * Start ignoring rest of the current infix expression.
- *
- * @since 1.1.0
- */
- private void startInfixIgnore() {
- ignoreExpression = INFIX_IGNORE;
- infixIgnoreNestCount = infixNesting; // Ignore until we get back to the current nesting.
-
- }
-
- /**
- * Get int value of the primitive wrapper bean passed in (must be either a <code>Number/code> or <code>Character</code>.
- * Anything else will cause a class cast error.
- * <p>
- * This is a helper method for expression processer to get the int value of the object. Since it is a helper method it doesn't
- * check nor process the exception. It throws it. Callers must handle it as they see fit.
- * @param bean
- * @return the int value of the number/character
- * @throws ClassCastException
- *
- * @since 1.0.0
- */
- protected final int getInt(Object bean) throws ClassCastException {
- return (bean instanceof Number) ? ((Number) bean).intValue() : ((Character) bean).charValue();
- }
-
- /**
- * Get float value of the primitive wrapper bean passed in (must be either a <code>Number/code> or <code>Character</code>.
- * Anything else will cause a class cast error.
- * <p>
- * This is a helper method for expression processer to get the float value of the object. Since it is a helper method it doesn't
- * check nor process the exception. It throws it. Callers must handle it as they see fit.
- * @param bean
- * @return float value of the Number/character
- * @throws ClassCastException
- * @since 1.0.0
- */
- protected final float getFloat(Object bean) throws ClassCastException {
- return (bean instanceof Number) ? ((Number) bean).floatValue() : ((Character) bean).charValue();
- }
-
- /**
- * Get double value of the primitive wrapper bean passed in (must be either a <code>Number/code> or <code>Character</code>.
- * Anything else will cause a class cast error.
- * <p>
- * This is a helper method for expression processer to get the float value of the object. Since it is a helper method it doesn't
- * check nor process the exception. It throws it. Callers must handle it as they see fit.
- *
- * @param bean
- * @return double value of the Number/Character.
- * @throws ClassCastException
- * @since 1.0.0
- */
- protected final double getDouble(Object bean) throws ClassCastException {
- return (bean instanceof Number) ? ((Number) bean).doubleValue() : ((Character) bean).charValue();
- }
-
- /**
- * Get long value of the primitive wrapper bean passed in (must be either a <code>Number/code> or <code>Character</code>.
- * Anything else will cause a class cast error.
- * <p>
- * This is a helper method for expression processer to get the float value of the object. Since it is a helper method it doesn't
- * check nor process the exception. It throws it. Callers must handle it as they see fit.
- *
- * @param bean
- * @return
- * @throws ClassCastException
- * @since 1.0.0
- */
- protected final long getLong(Object bean) throws ClassCastException {
- return (bean instanceof Number) ? ((Number) bean).longValue() : ((Character) bean).charValue();
- }
-
- private void throwInvalidInfix(InfixOperator operator, Object value) throws IllegalArgumentException {
- throw new IllegalArgumentException(MessageFormat.format(InitparserTreeMessages.getString("ExpressionProcesser.InvalidOperandOfOperator_EXC_"), new Object[] {value != null ? value.toString() : null, operator.toString()})); //$NON-NLS-1$
- }
-
- private void testValidBitType(Class type, InfixOperator operator) {
- if (!type.isPrimitive() || type == Boolean.TYPE || type == Double.TYPE|| type == Float.TYPE)
- throwInvalidInfix(operator, type);
- }
-
- private void testValidArithmeticType(Class type, InfixOperator operator) {
- if (!type.isPrimitive() || type == Boolean.TYPE)
- throwInvalidInfix(operator, type);
- }
-
- private void testValidPlusType(Class left, Class right) {
- // Plus is special in that string objects are also valid.
- if (left == String.class || right == String.class)
- return; // As long as one side is string. Anything is valid.
- // If neither is string, then standard arithmetic test.
- testValidArithmeticType(left, InfixOperator.IN_PLUS);
- testValidArithmeticType(right, InfixOperator.IN_PLUS);
- }
-
- private void appendToBuffer(StringBuffer sb, Object value, Class valueType) {
- if (value == null)
- sb.append((Object)null);
- else if (valueType == String.class)
- sb.append((String) value);
- else if (valueType.isPrimitive()) {
- switch (getEnumForPrimitive(valueType)) {
- case BOOLEAN:
- sb.append(((Boolean) value).booleanValue());
- break;
- case BYTE:
- sb.append(((Number) value).byteValue());
- break;
- case CHAR:
- sb.append(((Character) value).charValue());
- break;
- case DOUBLE:
- sb.append(((Number) value).doubleValue());
- break;
- case FLOAT:
- sb.append(((Number) value).floatValue());
- break;
- case INT:
- sb.append(((Number) value).intValue());
- break;
- case LONG:
- sb.append(((Number) value).longValue());
- break;
- case SHORT:
- sb.append(((Number) value).shortValue());
- break;
- }
- } else {
- // Just an object.
- sb.append(value);
- }
- }
-
- /**
- * Push the array access expression.
- *
- * @param indexCount Number of dimensions being accessed
- * @since 1.0.0
- */
- public final void pushArrayAccess(int indexCount) {
- boolean ignore = (ignoreExpression != null || errorOccurred);
-
- if (traceOn) {
- printTrace("Array Access["+indexCount+']', ignore); //$NON-NLS-1$
- }
- try {
- if (ignore)
- return;
-
- try {
- // We need to pop off the args. The topmost will be the rightmost index, and the bottom most will be the array itself.
- int[] arguments = new int[indexCount];
- // Fill the arg array in reverse order.
- for(int i=indexCount-1; i >= 0; i--) {
- Object index = popExpression();
- Class indexType = popExpressionType(false);
- if (indexType.isPrimitive() && (indexType == Integer.TYPE || indexType == Short.TYPE || indexType == Character.TYPE || indexType == Byte.TYPE)) {
- arguments[i] = getInt(index);
- } else
- throwClassCast(Integer.TYPE, index);
- }
-
- Object array = popExpression();
- Class arrayType = popExpressionType(false);
- if (arrayType.isArray()) {
- // First figure out how many dimensions are available. Stop when we hit indexcount because we won't be going further.
- int dimcount = 0;
- Class[] componentTypes = new Class[indexCount]; //
- Class componentType = arrayType;
- while (dimcount < indexCount && componentType.isArray()) {
- componentTypes[dimcount++] = componentType = componentType.getComponentType();
- }
-
- if (dimcount < indexCount)
- throw new IllegalArgumentException(MessageFormat.format(InitparserTreeMessages.getString("ExpressionProcesser.XIsGreaterThanNumberOfDimensionsInArray_EXC_"), new Object[] {new Integer(indexCount), new Integer(dimcount)})); //$NON-NLS-1$
-
- // Now start accessing one index at a time, stop just before the last one. The last one will be turned into an ArrayAccessReference.
- Object value = array; // Final value, start with full array.
- int pullCount = indexCount-1;
- for(int i=0; i<pullCount; i++) {
- value = Array.get(value, arguments[i]);
- }
- ArrayAccessReference arrayValue = ArrayAccessReference.createArrayAccessReference(value, arguments[pullCount]);
- if (traceOn)
- printObjectAndType(arrayValue, componentTypes[pullCount]);
- pushExpressionValue(arrayValue, componentTypes[pullCount]);
- } else
- throw new IllegalArgumentException(MessageFormat.format(InitparserTreeMessages.getString("ExpressionProcesser.NotAnArray_EXC_"), new Object[] {arrayType})); //$NON-NLS-1$
-
- } catch (NoExpressionValueException e) {
- processSyntaxException(e);
- } catch (RuntimeException e) {
- processException(e);
- }
- } finally {
- if (traceOn)
- printTraceEnd();
- }
- }
-
- /**
- * Push the array creation request.
- *
- * @param arrayType The type of the array
- * @param dimensionCount The number of dimensions being initialized. Zero if using an initializer.
- * @since 1.0.0
- */
- public final void pushArrayCreation(Class arrayType, int dimensionCount) {
- boolean ignore = (ignoreExpression != null || errorOccurred);
- if (traceOn)
- printTrace("Array Creation: "+arrayType.getName()+'['+dimensionCount+']', ignore); //$NON-NLS-1$
-
- try {
- if (ignore)
- return;
-
- try {
- if (dimensionCount == 0) {
- // The top value is the array itself, from the array initializer.
- // So we do nothing.
- } else {
- // Strip off dimensionCounts from the array type, e.g.
- // ArrayType is int[][][]
- // Dimensioncount is 2
- // Then we need to strip two componenttypes off of the array type
- // wind up with int[]
- // This is necessary because Array.new will add those dimensions back
- // on through the dimension count.
- Class componentType = arrayType;
- for(int i=0; i < dimensionCount && componentType != null; i++)
- componentType = componentType.getComponentType();
- if (componentType == null)
- throw new IllegalArgumentException(MessageFormat.format(InitparserTreeMessages.getString("ExpressionProcesser.ArraytypeHasFewerDimensionsThanRequested_EXC_"), new Object[] {arrayType, new Integer(dimensionCount)})); //$NON-NLS-1$
-
- // We need to pull in the dimension initializers. They are stacked in reverse order.
- int[] dimInit = new int[dimensionCount];
- for(int i=dimensionCount-1; i >= 0; i--) {
- Object index = popExpression();
- Class dimType = popExpressionType(false);
- if (dimType.isPrimitive() && (dimType == Integer.TYPE || dimType == Short.TYPE || dimType == Character.TYPE || dimType == Byte.TYPE)) {
- dimInit[i] = getInt(index);
- } else
- throwClassCast(Integer.TYPE, index);
- }
-
- // Finally create the array.
- Object array = Array.newInstance(componentType, dimInit);
- pushExpressionValue(array, arrayType);
- }
- } catch (RuntimeException e) {
- processException(e);
- } catch (NoExpressionValueException e) {
- processSyntaxException(e);
- }
- } finally {
- if (traceOn)
- printTraceEnd();
- }
-
- }
-
- /**
- * Push the array initializer request.
- *
- * @param arrayType The original type of the array to create.
- * @param stripCount the count of how many dimensions to strip to get the type needed for this initializer.
- * @param expressionCount
- * @since 1.0.0
- */
- public final void pushArrayInitializer(Class arrayType, int stripCount, int expressionCount) {
- boolean ignore = (ignoreExpression != null || errorOccurred);
-
- if (traceOn)
- printTrace("Initialize Array: "+arrayType.getName()+'{'+expressionCount+'}', ignore); //$NON-NLS-1$
-
- try {
- if (ignore)
- return;
-
- try {
- if (!arrayType.isArray()) {
- // It is not an array type.
- throw new ClassCastException(MessageFormat.format(InitparserTreeMessages.getString("ExpressionProcesser.CannotCastXToY_EXC_"), new Object[] {arrayType, "array"})); //$NON-NLS-1$ //$NON-NLS-2$
- }
- // Strip off the number of dimensions specified.
- while(stripCount-->0) {
- arrayType = arrayType.getComponentType();
- }
- Object[] dimValues = null;
- if (expressionCount > 0) {
- // We need to pull in the initializers. They are stacked in reverse order.
- dimValues = new Object[expressionCount];
- for (int i = expressionCount - 1; i >= 0; i--) {
- Object dimValue = dimValues[i] = popExpression();
- Class dimType = popExpressionType(false);
- if (arrayType.isPrimitive()) {
- if (dimValue == null || !dimType.isPrimitive())
- throwClassCast(arrayType, dimType);
- // A little trickier. Can assign short to an int, but can't assign long to an int. Widening is permitted.
- if (arrayType != dimType) {
- int compEnum = getEnumForPrimitive(arrayType);
- int dimEnum = getEnumForPrimitive(dimType);
- if (compEnum == BOOLEAN || dimEnum == BOOLEAN)
- throwClassCast(arrayType, dimType);
- int dimValueAsInt = getInt(dimValue);
- switch (compEnum) {
- case BYTE :
- // Can accept byte, short, char, or int as long as value is <= byte max. Can't accept long, double, float at all.
- // Note: This isn't actually true. The max/min test is only valid if the value is a literal, not an expression,
- // however, at this point in time we no longer know this. So we will simply allow it.
- if (dimEnum > INT || dimValueAsInt > Byte.MAX_VALUE || dimValueAsInt < Byte.MIN_VALUE)
- throwClassCast(arrayType, dimType);
- // But need to be changed to appropriate type for the array.set to work.
- dimValues[i] = new Byte((byte)dimValueAsInt);
- break;
- case SHORT :
- // Can accept byte, short, char, or int as long as value is <= byte max. Can't accept long, double, float at all.
- // Note: This isn't actually true. The max/min test is only valid if the value is a literal, not an expression,
- // however, at this point in time we no longer know this. So we will simply allow it.
- if (dimEnum > INT || dimValueAsInt > Short.MAX_VALUE || dimValueAsInt < Short.MIN_VALUE)
- throwClassCast(arrayType, dimType);
- // But need to be changed to appropriate type for the array.set to work.
- dimValues[i] = new Short((short)dimValueAsInt);
- break;
- case CHAR :
- // Can accept byte, short, char, or int as long as value is <= byte max. Can't accept long, double, float at all.
- // Note: This isn't actually true. The max/min test is only valid if the value is a literal, not an expression,
- // however, at this point in time we no longer know this. So we will simply allow it.
- if (dimEnum > INT || dimValueAsInt > Character.MAX_VALUE || dimValueAsInt < Character.MIN_VALUE)
- throwClassCast(arrayType, dimType);
- // But need to be changed to appropriate type for the array.set to work.
- dimValues[i] = new Character((char)dimValueAsInt);
- break;
- case INT :
- // Can accept byte, short, char, or int. Can't accept long, double, float at all.
- if (dimEnum > INT)
- throwClassCast(arrayType, dimType);
- // But need to be changed to appropriate type for the array.set to work.
- dimValues[i] = new Integer(dimValueAsInt);
- break;
- case LONG :
- // Can accept byte, short, char, int, or long. Can't accept double, float at all.
- if (dimEnum > LONG)
- throwClassCast(arrayType, dimType);
- // But need to be changed to appropriate type for the array.set to work.
- dimValues[i] = new Long(getLong(dimValue));
- break;
- case FLOAT :
- // Can accept byte, short, char, int, long, or float. Can't accept double at all.
- if (dimEnum > FLOAT)
- throwClassCast(arrayType, dimType);
- // But need to be changed to appropriate type for the array.set to work.
- dimValues[i] = new Float(getFloat(dimValue));
- break;
- case DOUBLE :
- // But need to be changed to appropriate type for the array.set to work.
- dimValues[i] = new Double(getDouble(dimValue));
- break;
-
- }
- }
- // Compatible, so ok.
- } else if (dimType != MethodHelper.NULL_TYPE && !arrayType.isAssignableFrom(dimType)) {
- // If it is NULL_TYPE, then this is a pushed null. This is always assignable to a non-primitive.
- // So we don't enter here in that case. However, a null that was returned from some expression
- // won't have a NULL_TYPE, it will instead have the expected return type. That must be used
- // in the assignment instead. That is because in java it uses the expected type to determine
- // compatibility, not the actual type.
- throwClassCast(arrayType, dimType);
- }
- }
-
- }
-
- // Now we finally create the array.
- Object array = Array.newInstance(arrayType, new int[] {expressionCount});
- for (int i = 0; i < expressionCount; i++) {
- Array.set(array, i, dimValues[i]);
- }
-
- pushExpressionValue(array, array.getClass()); // Adjust to true array type, not the incoming type (which is one dimension too small).
-
- } catch (RuntimeException e) {
- processException(e);
- } catch (NoExpressionValueException e) {
- processSyntaxException(e);
- }
- } finally {
- if (traceOn)
- printTraceEnd();
- }
-
- }
-
- /**
- * Push the class instance creation request.
- *
- * @param type The type to create an instance of
- * @param argumentCount The number of arguments (which are stored on the stack). * @throws NoExpressionValueException
- * @since 1.0.0
- */
- public final void pushClassInstanceCreation(Class type, int argumentCount) {
- boolean ignore = (ignoreExpression != null || errorOccurred);
-
- if (traceOn)
- printTrace("Create Class: "+type+" (", ignore); //$NON-NLS-1$ //$NON-NLS-2$
- try {
- if (ignore)
- return;
-
- try {
- // We need to pull in the arguments. They are stacked in reverse order.
- Object value = null; // The new instance.
- if (argumentCount > 0) {
- Object[] args = new Object[argumentCount];
- Class[] argTypes = new Class[argumentCount];
- for (int i = argumentCount - 1; i >= 0; i--) {
- args[i] = popExpression();
- argTypes[i] = popExpressionType(false);
- }
-
- // Now we need to find the appropriate constructor.
- Constructor ctor;
- ctor = MethodHelper.findCompatibleConstructor(type, argTypes);
- if (traceOn) {
- System.out.print(ctor);
- System.out.print(')');
- }
- value = ctor.newInstance(args);
- } else {
- // No args, just do default ctor.
- if (traceOn) {
- System.out.print("Default ctor)"); //$NON-NLS-1$
- }
- value = type.newInstance();
- }
-
- pushExpressionValue(value, type);
- } catch (RuntimeException e) {
- processException(e);
- } catch (NoExpressionValueException e) {
- processSyntaxException(e);
- } catch (InstantiationException e) {
- processException(e);
- } catch (IllegalAccessException e) {
- processException(e);
- } catch (InvocationTargetException e) {
- processException(e);
- } catch (NoSuchMethodException e) {
- processException(e);
- } catch (AmbiguousMethodException e) {
- processException(e);
- } catch (LinkageError e) {
- processException(e);
- }
- } finally {
- if (traceOn)
- printTraceEnd();
- }
-
- }
-
- /**
- * Push the field access expression.
- * @param field String for fieldname, or a java.lang.reflect.Field.
- * @param fieldIsString <code>true</code> if field is a string name, and not a java.lang.reflect.Field.
- * @param hasReceiver
- *
- * @since 1.0.0
- */
- public final void pushFieldAccess(Object field, boolean fieldIsString, boolean hasReceiver) {
- try {
- if (ignoreExpression != null || errorOccurred) {
- if (traceOn)
- printTrace("Field Access", true); //$NON-NLS-1$
- return;
- }
-
- if (traceOn)
- printTrace("Field Access: ", false); //$NON-NLS-1$
- try {
- // Get the receiver off of the stack.
- Object receiver = null;
- Class receiverType = null;
- if (hasReceiver) {
- receiver = popExpression();
- receiverType = popExpressionType(false);
- }
-
- // Find the field.
- Field reflectField = fieldIsString ? receiverType.getField((String) field) : (Field) field;
- // Access the field.
- Object value = FieldAccessReference.createFieldAccessReference(reflectField, receiver);
- Class valueType = reflectField.getType();
- if (traceOn) {
- System.out.print("Field: "); //$NON-NLS-1$
- if (fieldIsString)
- System.out.print("(looked up) "); //$NON-NLS-1$
- System.out.print(reflectField);
- System.out.print(">"); //$NON-NLS-1$
- printObjectAndType(value, valueType);
- }
-
- pushExpressionValue(value, valueType);
- } catch (RuntimeException e) {
- processException(e);
- } catch (NoExpressionValueException e) {
- processSyntaxException(e);
- } catch (NoSuchFieldException e) {
- processException(e);
- }
- } finally {
- if (traceOn)
- printTraceEnd();
- }
-
- }
-
- /**
- * Push the method invocation expression.
- * @param method
- * @param methodIsString <code>true</code> if method is a string (so string name) or else it is a java.lang.reflect.Method.
- * @param hasReceiver
- * @param argCount
- * @since 1.0.0
- */
- public final void pushMethodInvocation(Object method, boolean methodIsString, boolean hasReceiver, int argCount) {
- try {
- if (ignoreExpression != null || errorOccurred) {
- if (traceOn)
- printTrace("Invoke", true); //$NON-NLS-1$
- return;
- }
-
- if (traceOn)
- printTrace("Invoke: ", false); //$NON-NLS-1$
-
- Method reflectMethod = null;
- try {
- // We need to pull in the arguments. They are stacked in reverse order.
- Object[] args = new Object[argCount];
- Class[] argTypes = new Class[argCount];
- for (int i = argCount - 1; i >= 0; i--) {
- args[i] = popExpression();
- argTypes[i] = popExpressionType(false);
- }
-
- // Now get receiver
- Object receiver = null;
- Class receiverType = null;
- if (hasReceiver) {
- receiver = popExpression();
- receiverType = popExpressionType(false);
- }
-
- // Now we need to find the appropriate method. If it is a string then there must be a receiver, otherwise no way to know.
- if (methodIsString) {
- reflectMethod = MethodHelper.findCompatibleMethod(receiverType, (String) method, argTypes);
- } else
- reflectMethod = (Method) method;
-
- if (traceOn && reflectMethod != null) {
- System.out.print("Method: "); //$NON-NLS-1$
- if (methodIsString)
- System.out.print("(looked up) "); //$NON-NLS-1$
- System.out.print(reflectMethod);
- }
-
- if (!Modifier.isStatic(reflectMethod.getModifiers()) && receiver == null)
- throw new NullPointerException("No receiver for non-static method: "+reflectMethod.toString());
-
- Object value = reflectMethod.invoke(receiver, args);
-
- if (traceOn) {
- System.out.print(" returns: "); //$NON-NLS-1$
- printObjectAndType(value, reflectMethod.getReturnType());
- }
- pushExpressionValue(value, reflectMethod.getReturnType());
- } catch (RuntimeException e) {
- processException(fixUpMethodException(e, reflectMethod));
- } catch (NoExpressionValueException e) {
- processException(fixUpMethodException(e, reflectMethod));
- } catch (IllegalAccessException e) {
- processException(fixUpMethodException(e, reflectMethod));
- } catch (InvocationTargetException e) {
- processException(fixUpMethodException(e.getCause(), reflectMethod));
- } catch (NoSuchMethodException e) {
- processException(e);
- } catch (AmbiguousMethodException e) {
- processException(e);
- }
- } finally {
- if (traceOn)
- printTraceEnd();
- }
-
- }
-
- /*
- * Many of the exceptions don't add in what method had the error, so we
- * will do that here.
- */
- private Throwable fixUpMethodException(Throwable e, Method method) {
- if (method == null)
- return e;
- try {
- String msg = e.getMessage();
- Constructor eWithStringCtor = e.getClass().getConstructor(new Class[] {String.class});
- String newMsg;
- if (msg == null) {
- newMsg = method.toString();
- } else {
- newMsg = method.toString()+": \""+msg+'\"';
- }
- Exception fixedupE = (Exception) eWithStringCtor.newInstance(new Object[] {newMsg});
- fixedupE.setStackTrace(e.getStackTrace());
- return fixedupE;
- } catch (Exception e1) {
- return e;
- }
-
- }
-
- private static final Object CONDITIONAL_IGNORE = "CONDITIONAL IGNORE"; // Flag for conditional in ingore //$NON-NLS-1$
- private int conditionalNesting = 0; // Nesting of conditional expressions.
- private int conditionalIgnoreNestCount = 0; // When ignoring conditional expressions, ignore until this nest count.
- private boolean skipTruePart;
-
- /**
- * Push a conditional expression. It can be any clause of the conditional (test, true, or false clause).
- * @param expressionType
- *
- * @since 1.0.0
- */
- public final void pushConditional(InternalConditionalOperandType expressionType) {
- try {
- boolean ignore = true;
- try {
- if (errorOccurred)
- return;
- // Slightly different here in that if an ignoring occurred we still need to process at least part of it so that
- // we can get the expression grouping correct.
- switch (expressionType.getValue()) {
- case InternalConditionalOperandType.CONDITIONAL_TEST_VALUE:
- conditionalNesting++;
- break;
- case InternalConditionalOperandType.CONDITIONAL_TRUE_VALUE:
- if (skipTruePart && ignoreExpression == CONDITIONAL_IGNORE && conditionalIgnoreNestCount == conditionalNesting) {
- // stop ignoring, we've ignored the true condition of interest.
- ignoreExpression = null;
- return; // However, leave because since this condition was ignored.
- }
- break;
- case InternalConditionalOperandType.CONDITIONAL_FALSE_VALUE:
- int currentNesting = conditionalNesting--;
- if (ignoreExpression == CONDITIONAL_IGNORE && conditionalIgnoreNestCount == currentNesting) {
- // stop ignoring, we've ignored the false condition of interest.
- ignoreExpression = null;
- return; // However, leave because since this condition was ignored.
- }
- }
-
- if (ignoreExpression != null)
- return;
- ignore = false;
- } finally {
- if (traceOn)
- printTrace("Conditional "+expressionType, ignore); //$NON-NLS-1$
- }
-
- try {
- switch (expressionType.getValue()) {
- case InternalConditionalOperandType.CONDITIONAL_TEST_VALUE:
- Object condition = popExpression();
- Class type = popExpressionType(false);
- if (type != Boolean.TYPE)
- throwClassCast(Boolean.TYPE, condition);
- if (((Boolean) condition).booleanValue()) {
- // Condition was true.
- // Do nothing. Let true condition be processed.
- } else {
- // Condition was false.
- skipTruePart = true; // Tell the true condition should be ignored.
- ignoreExpression = CONDITIONAL_IGNORE;
- conditionalIgnoreNestCount = conditionalNesting;
- }
- // We don't put anything back on the stack because the condition test is not ever returned.
- // The appropriate true or false condition evaluation will be left on the stack.
- break;
- case InternalConditionalOperandType.CONDITIONAL_TRUE_VALUE:
- skipTruePart = false; // Tell the false condition should be ignored.
- ignoreExpression = CONDITIONAL_IGNORE;
- conditionalIgnoreNestCount = conditionalNesting;
- break;
- case InternalConditionalOperandType.CONDITIONAL_FALSE_VALUE:
- // There's nothing to do, if it was ignored due to true, we wouldn't of gotton here.
- // If it wasn't ignored, then the result of the false expression is on the stack, which is what it should be.
- break;
- }
- } catch (RuntimeException e) {
- processException(e);
- } catch (NoExpressionValueException e) {
- processSyntaxException(e);
- }
- } finally {
- if (traceOn)
- printTraceEnd();
- }
- }
-
- private static final Object BLOCK_IGNORE = "BLOCK IGNORE"; //$NON-NLS-1$
- private int[] blocks; // Stack of block numbers currently evaluating.
- private int topBlock = -1; // Top block index.
- private int breakBlock = -1; // Block number we are breaking to.
-
- /**
- * Push a begin block.
- * @param blockNumber
- *
- * @since 1.1.0
- */
- public final void pushBlockBegin(int blockNumber) {
- if (traceOn) {
- printTrace("Begin Block #"+blockNumber, errorOccurred); //$NON-NLS-1$
- indent(true);
- }
- try {
- if (errorOccurred)
- return;
- // We are not checking ignore because this is a structural concept instead of executable expressions, so we need to keep track of these.
- if (blocks == null)
- blocks = new int[10];
- if (++topBlock >= blocks.length) {
- int[] newList = new int[blocks.length*2];
- System.arraycopy(blocks, 0, newList, 0, blocks.length);
- blocks = newList;
- }
- blocks[topBlock] = blockNumber;
- } finally {
- if (traceOn)
- printTraceEnd();
- }
- }
-
- /**
- * Push a block end. The current block must be the given number, or it is an error.
- *
- * @param blockNumber
- *
- * @since 1.1.0
- */
- public final void pushBlockEnd(int blockNumber) {
- try {
- if (traceOn) {
- indent(false);
- printTrace("End Block #"+blockNumber, errorOccurred); //$NON-NLS-1$
- }
- if (errorOccurred)
- return;
- // We are not checking ignore because this is a structural concept instead of executable expressions, so we need to keep track of these.
- if (blocks == null || topBlock < 0 || blocks[topBlock] != blockNumber) {
- processSyntaxException(new IllegalStateException(InitparserTreeMessages.getString("ExpressionProcesser.PushBlockEnd.ReceivedEndBlocksOutOfOrder_EXC_"))); //$NON-NLS-1$
- } else {
- topBlock--;
- if (ignoreExpression == BLOCK_IGNORE && blockNumber == breakBlock) {
- ignoreExpression = null;
- }
- }
- } finally {
- if (traceOn)
- printTraceEnd();
- }
- }
-
- /**
- * Skip all following until we hit the requested block number.
- * @param blockNumber
- *
- * @since 1.1.0
- */
- public final void pushBlockBreak(int blockNumber) {
- try {
- if (traceOn)
- printTrace("Break Block #"+blockNumber, errorOccurred); //$NON-NLS-1$
- if (errorOccurred)
- return;
- if (ignoreExpression == null) {
- ignoreExpression = BLOCK_IGNORE; // Start ignoring expressions until we hit the block number end block.
- breakBlock = blockNumber;
- }
- } finally {
- if (traceOn)
- printTraceEnd();
- }
- }
-
- private static final Object TRY_THROW_IGNORE = "TRY THROW IGNORE"; //$NON-NLS-1$
- private static final Object TRY_FINAL_IGNORE = "TRY FINAL IGNORE"; //$NON-NLS-1$
- private int[] trys; // Stack of try numbers currently evaluating.
- // Stack of trys in catch clause (i.e. starting executing a catch/final clause for the try). Corresponds with try from same index in trys. Contains the throwable for the catch.
- // This is used to know we are executing a catch (entry not null) and for the rethrow short-hand to rethrow the same exception within the catch.
- private Throwable[] trysInCatch;
- private int topTry = -1; // Top try index.
- private int breakTry = -1; // Try number we are breaking to.
- private Throwable catchThrowable; // The throwable to check catches against.
-
- /**
- * Push a try statement.
- * @param tryNumber
- *
- * @since 1.1.0
- */
- public final void pushTryBegin(int tryNumber) {
- try {
- if (traceOn) {
- printTrace("Begin Try #"+tryNumber, errorOccurred); //$NON-NLS-1$
- indent(true);
- }
-
- if (errorOccurred)
- return;
- // We are not checking ignore because this is a structural concept instead of executable expressions, so we need to keep track of these.
- if (trys == null) {
- trys = new int[10];
- trysInCatch = new Throwable[10];
- }
- if (++topTry >= trys.length) {
- int[] newList = new int[trys.length*2];
- System.arraycopy(trys, 0, newList, 0, trys.length);
- trys = newList;
- Throwable[] newCatches = new Throwable[trys.length];
- System.arraycopy(trysInCatch, 0, newCatches, 0, trysInCatch.length);
- trysInCatch = newCatches;
- }
- trys[topTry] = tryNumber;
- trysInCatch[topTry] = null;
- } finally {
- if (traceOn)
- printTraceEnd();
- }
- }
-
- /**
- * Throw the top stack entry. It must be an exception.
- *
- *
- * @since 1.1.0
- */
- public final void pushThrowException() {
- try {
- boolean ignore = (ignoreExpression != null || errorOccurred);
- if (traceOn)
- printTrace("Throw exception: ", ignore); //$NON-NLS-1$
-
- if (ignore)
- return;
-
- try {
- Object t = popExpression();
- popExpressionType(false);
- if (traceOn) {
- System.out.print(t);
- }
- throwException((Throwable) t);
- } catch (NoExpressionValueException e) {
- processSyntaxException(e);
- } catch (ClassCastException e) {
- processException(e);
- }
- } finally {
- if (traceOn)
- printTraceEnd();
- }
- }
-
- /**
- * Throw this exception (means throw through the expression being processed, not throw for this thread).
- * @param exception
- *
- * @since 1.1.0
- */
- protected final void throwException(Throwable exception) {
- if (topTry == -1) {
- // There are no tries, so treat this as a syntax error.
- processSyntaxException(exception);
- } else if (trysInCatch[topTry] == null) {
- // We are not in a catch clause of the top try. So do a throw ignore for toptry.
- ignoreExpression = TRY_THROW_IGNORE;
- breakTry = trys[topTry];
- catchThrowable = exception;
- } else {
- // We are in a catch of the top try. So do a throw to finally instead.
- ignoreExpression = TRY_FINAL_IGNORE;
- trysInCatch[topTry] = FINAL_CATCH;
- breakTry = trys[topTry];
- catchThrowable = exception;
- }
- }
-
- /**
- * Push a catch clause
- * @param tryNumber
- * @param exceptionType
- * @param expressionProxy
- *
- * @since 1.1.0
- */
- public final void pushTryCatchClause(int tryNumber, Class exceptionType, InternalExpressionProxy expressionProxy) {
- try {
- if (traceOn) {
- indent(false);
- if (expressionProxy == null)
- printTrace("Catch Try #"+tryNumber+" ("+exceptionType+')', errorOccurred); //$NON-NLS-1$ //$NON-NLS-2$
- else
- printTrace("Catch Try #"+tryNumber+" ("+exceptionType+") Return exception in proxy #"+expressionProxy.getProxyID(), errorOccurred); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- indent(true);
- }
-
- if (errorOccurred)
- return;
-
- // We are not checking ignore because this is a structural concept instead of executable expressions, so we need to keep track of these.
- if (trys == null || topTry < 0 || trys[topTry] != tryNumber) {
- processSyntaxException(new IllegalStateException(InitparserTreeMessages.getString("ExpressionProcesser.PushTryCatchClause.CatchReceivedOutOfOrder_EXC_"))); //$NON-NLS-1$
- } else {
- if (ignoreExpression == null) {
- // Normal flow, no throw in progress, so just ignore now until the finally or end try reached.
- ignoreExpression = TRY_FINAL_IGNORE;
- breakTry = tryNumber;
- } else if (ignoreExpression == TRY_THROW_IGNORE && tryNumber == breakTry) {
- // We are here due to a throw occuring in this try block, see if for us, and if it is, stop ignoring.
- // Else just continue ignoring.
- if (exceptionType.isInstance(catchThrowable)) {
- // For us, so just turn everything back on, except mark that we are in the catch phase.
- ignoreExpression = null;
- trysInCatch[topTry] = catchThrowable; // This is so that we know if we throw again that we should not catch anything.
- breakTry = -1;
- if (expressionProxy != null) {
- expressionProxy.setProxy(catchThrowable, catchThrowable.getClass());
- allocateExpressionProxy(expressionProxy);
- }
- if (traceOn) {
- System.out.print(" Caught: "); //$NON-NLS-1$
- System.out.print(catchThrowable);
- }
- catchThrowable = null;
- }
- }
- }
- } finally {
- if (traceOn)
- printTraceEnd();
- }
- }
-
- // This is used only so that finally clause can indicate it was executing so that end expression knows this.
- private static final Throwable FINAL_CATCH = new RuntimeException();
-
- /**
- * Push the try finally clause.
- * @param tryNumber
- *
- * @since 1.1.0
- */
- public final void pushTryFinallyClause(int tryNumber) {
- try {
- if (traceOn) {
- indent(false);
- printTrace("Finally Try #"+tryNumber, errorOccurred); //$NON-NLS-1$
- indent(true);
- }
- if (errorOccurred)
- return;
- // We are not checking ignore because this is a structural concept instead of executable expressions, so we need to keep track of these.
- if (trys == null || topTry < 0 || trys[topTry] != tryNumber) {
- processSyntaxException(new IllegalStateException(InitparserTreeMessages.getString("ExpressionProcesser.PushTryFinallyClause.FinallyReceivedOutOfOrder_EXC_"))); //$NON-NLS-1$
- } else {
- if (tryNumber == breakTry && (ignoreExpression == TRY_THROW_IGNORE || ignoreExpression == TRY_FINAL_IGNORE)) {
- // We are here due to a throw occuring in this try block or a catch was reached (in which case all intervening catch's were ignored).
- // Now do a normal execution. If we are here due to a throw that wasn't cleared (either no catch or another throw occured within the catch)
- // then we leave it uncleared so that try/end may rethrow it.
- ignoreExpression = null;
- trysInCatch[topTry] = FINAL_CATCH; // We are in the finally clause of a exception being thrown within this try.
- breakTry = -1;
- if (traceOn)
- System.out.print(" Executing finally."); //$NON-NLS-1$
- }
- }
- } finally {
- if (traceOn)
- printTraceEnd();
- }
- }
-
- /**
- * Rethrow the caught exception. This is a shortcut for:
- * } catch (Exception e) {
- * ... do stuff ...
- * throw e;
- * }
- * @param tryNumber
- *
- * @since 1.1.0
- */
- public final void pushTryRethrow(int tryNumber) {
- if (traceOn)
- printTrace("Rethrow Try #"+tryNumber, errorOccurred || ignoreExpression != null); //$NON-NLS-1$
-
- try {
- if (errorOccurred)
- return;
- // We are not checking ignore because we need to make sure this is not called out of order.
- if (trys == null || topTry < 0 || trys[topTry] != tryNumber) {
- processSyntaxException(new IllegalStateException(InitparserTreeMessages.getString("ExpressionProcesser.PushTryRethrow.RethrowReceivedOutOfOrder_EXC_"))); //$NON-NLS-1$
- } else if (ignoreExpression == null) {
- if (trysInCatch[topTry] == null || trysInCatch[topTry] == FINAL_CATCH)
- processSyntaxException(new IllegalStateException(InitparserTreeMessages.getString("ExpressionProcesser.PushTryRethrow.RetryReceivedOutOfExecutingCatchClause_EXC_"))); //$NON-NLS-1$
- else {
- throwException(trysInCatch[topTry]);
- }
- }
- } finally {
- if (traceOn)
- printTraceEnd();
- }
- }
-
- public final void pushTryEnd(int tryNumber) {
- if (traceOn) {
- indent(false);
- printTrace("End Try #"+tryNumber, errorOccurred); //$NON-NLS-1$
- }
- try {
- if (errorOccurred)
- return;
- // We are not checking ignore because this is a structural concept instead of executable expressions, so we need to keep track of these.
- if (trys == null || topTry < 0 || trys[topTry] != tryNumber) {
- processSyntaxException(new IllegalStateException(InitparserTreeMessages.getString("ExpressionProcesser.PushTryEnd.TryEndReceivedOutOfOrder_EXC_"))); //$NON-NLS-1$
- } else {
- boolean inCatch = trysInCatch[topTry] != null;
- trysInCatch[topTry] = null;
- topTry--;
- if (inCatch || (tryNumber == breakTry && (ignoreExpression == TRY_THROW_IGNORE || ignoreExpression == TRY_FINAL_IGNORE))) {
- // We are here due to a throw or normal flow through a catch. Either way if there is a throwable still pending, we rethrow.
- ignoreExpression = null;
- breakTry = -1;
- if (catchThrowable != null)
- throwException(catchThrowable);
- }
- }
- } finally {
- if (traceOn)
- printTraceEnd();
- }
- }
-
- /**
- * Class used to save the state at time of mark. It will
- * be used to restore state if error.
- *
- * @since 1.1.0
- */
- protected class SaveState {
- public int markID;
-
- // Block state
- public int topBlock;
- public int breakBlock;
-
- // Subexpression state
- public int topSubexpression;
-
- // Try state
- public int topTry;
- public int breakTry;
- public Throwable catchThrowable;
-
- // Error state
- public boolean errorOccurred;
- public boolean novalueException;
- public Throwable exception;
- public Object ignoreExpression;
-
- // Expression stack state
- public int expressionStackPos;
-
- // If/else state
- public int ifElseNesting;
- public int ifElseIgnoreNestCount;
- public boolean ifElseSkipTruePart;
-
- // Other
- public int indent;
- public int expressionProxyPos;
-
- /**
- * Construct and save the state.
- *
- * @param markNumber
- *
- * @since 1.1.0
- */
- public SaveState(int markID) {
- this.markID = markID;
-
- ExpressionProcesser ep = ExpressionProcesser.this;
- this.topBlock = ep.topBlock;
- this.breakBlock = ep.breakBlock;
-
- this.topSubexpression = ep.topSubexpression;
-
- this.topTry = ep.topTry;
- this.breakTry = ep.breakTry;
- this.catchThrowable = ep.catchThrowable;
-
- this.errorOccurred = ep.errorOccurred;
- this.novalueException = ep.novalueException;
- this.exception = ep.exception;
- this.ignoreExpression = ep.ignoreExpression;
-
- this.expressionStackPos = expressionStack.size()-1;
-
- this.ifElseNesting = ep.ifElseNesting;
- this.ifElseIgnoreNestCount = ep.ifElseIgnoreNestCount;
- this.ifElseSkipTruePart = ep.ifElseSkipTruePart;
-
- this.indent = ep.indent;
- this.expressionProxyPos = expressionProxies != null ? expressionProxies.size()-1 : -1;
- }
-
- /**
- * Restore the state.
- *
- *
- * @since 1.1.0
- */
- public void restoreState() {
- ExpressionProcesser ep = ExpressionProcesser.this;
- ep.topBlock = this.topBlock;
- ep.breakBlock = this.breakBlock;
-
- ep.topSubexpression = this.topSubexpression;
-
- ep.topTry = this.topTry;
- ep.breakTry = this.breakTry;
- ep.catchThrowable = this.catchThrowable;
- if (trysInCatch != null) {
- for (int i = topTry + 1; i < ep.trysInCatch.length; i++) {
- ep.trysInCatch[i] = null;
- }
- }
-
- ep.errorOccurred = this.errorOccurred;
- ep.novalueException = ep.novalueException;
- ep.exception = this.exception;
- ep.ignoreExpression = this.ignoreExpression;
-
- // Pop stack down to saved state.
- for (int i = expressionStack.size()-1; i > this.expressionStackPos; i--) {
- expressionStack.remove(i);
- expressionTypeStack.remove(i);
- }
-
- ep.ifElseNesting = this.ifElseNesting;
- ep.ifElseIgnoreNestCount = this.ifElseIgnoreNestCount;
- ep.ifElseSkipTruePart = this.ifElseSkipTruePart;
-
- ep.indent = this.indent;
-
- if (expressionProxies != null) {
- for (int i = expressionProxies.size() - 1; i > this.expressionProxyPos; i--) {
- expressionProxies.remove(i);
- }
- }
-
- // These settings can't cross mark boundaries, so reset them to not set. This is in case we were in this state somewhere
- // in the mark when the restore occurred.
- ep.conditionalIgnoreNestCount = 0;
- ep.conditionalNesting = 0;
- ep.skipTruePart = false;
-
- ep.infixIgnoreNestCount = 0;
- ep.infixNesting = 0;
- }
- }
-
- /**
- * Create the save state with the given id.
- * @param markID
- * @return
- *
- * @since 1.1.0
- */
- protected SaveState createSaveState(int markID) {
- return new SaveState(markID);
- }
-
- /**
- * Push the start of a mark.
- * @param markNumber
- *
- * @since 1.1.0
- */
- public final void pushMark(int markNumber) {
- if (traceOn)
- printTrace("Mark#"+markNumber, false); //$NON-NLS-1$
-
- if (saveStates == null)
- saveStates = new ArrayList();
- saveStates.add(createSaveState(markNumber));
-
- if (traceOn)
- printTraceEnd();
- }
-
- /**
- * Push the end mark. If there is no error, it will simply
- * remove it and all save states in the map after it. If there
- * is an error it will do this plus it will restore the state.
- * <p>
- * It is assumed that the calls are coming in correct order from
- * the server so we won't check validity.
- *
- * @param markID
- * @param restore
- *
- * @since 1.1.0
- */
- public final void pushEndmark(int markID, boolean restore) {
- if (traceOn)
- printTrace("End Mark#"+markID+" Restored="+restore, false); //$NON-NLS-1$ //$NON-NLS-2$
-
- try {
- if (saveStates != null) {
- // Start from the end (since that is where it most likely will be) and start
- // search, removing the end one until we reach the markID.
- for (int i = saveStates.size() - 1; i >= 0; i--) {
- SaveState state = (SaveState) saveStates.remove(i);
- if (state.markID == markID) {
- // We found it.
- if (restore)
- state.restoreState();
- return;
- }
- }
- // But to be safe, if we got here, this is bad. We tried restore a mark we didn't have.
- processSyntaxException(new IllegalStateException(MessageFormat.format(InitparserTreeMessages.getString("ExpressionProcesser.PushEndmark.EndMarkOnNonExistingID_EXC_"), new Object[]{new Integer(markID)}))); //$NON-NLS-1$
- }
- } finally {
- if (traceOn)
- printTraceEnd();
- }
- }
-
- private int[] subexpressions; // Stack of subexpression numbers currently evaluating.
- private int[] subexpressionStackPos; // Stack of the expression stack positions (next entry index) for currently evaluating expressions. The evaluation stack cannot be popped beyond the current top. And at end it will be cleaned up to the position.
- private int topSubexpression = -1; // Top subexpression index.
-
-
- /**
- * Push a begin subexpression.
- * @param subexpressionNumber
- *
- * @since 1.1.0
- */
- public final void pushSubexpressionBegin(int subexpressionNumber) {
- if (traceOn) {
- printTrace("Begin Subexpression #"+subexpressionNumber, errorOccurred); //$NON-NLS-1$
- indent(true);
- }
- try {
- if (errorOccurred)
- return;
- // We are not checking ignore because this is a structural concept instead of executable expressions, so we need to keep track of these.
- if (subexpressions == null) {
- subexpressions = new int[10];
- subexpressionStackPos = new int[10];
- }
- if (++topSubexpression >= subexpressions.length) {
- int[] newList = new int[subexpressions.length*2];
- System.arraycopy(subexpressions, 0, newList, 0, subexpressions.length);
- subexpressions = newList;
- newList = new int[subexpressionStackPos.length*2];
- System.arraycopy(subexpressionStackPos, 0, newList, 0, subexpressionStackPos.length);
- subexpressionStackPos = newList;
- }
- subexpressions[topSubexpression] = subexpressionNumber;
- subexpressionStackPos[topSubexpression] = expressionStack.size();
- } finally {
- if (traceOn)
- printTraceEnd();
- }
- }
-
- /**
- * Push a subexpression end. The current subexpression must be the given number, or it is an error.
- *
- * @param subexpressionNumber
- *
- * @since 1.1.0
- */
- public final void pushSubexpressionEnd(int subexpressionNumber) {
- try {
- if (traceOn) {
- indent(false);
- printTrace("End Subexpression #"+subexpressionNumber, errorOccurred); //$NON-NLS-1$
- }
- if (errorOccurred)
- return;
- // We are not checking ignore because this is a structural concept instead of executable expressions, so we need to keep track of these.
- if (subexpressions == null || topSubexpression < 0 || subexpressions[topSubexpression] != subexpressionNumber) {
- processSyntaxException(new IllegalStateException(InitparserTreeMessages.getString("ExpressionProcesser.PushSubexpressionEnd.ReceivedEndSubexpressionsOutOfOrder_EXC_"))); //$NON-NLS-1$
- } else {
- try {
- popExpressions(expressionStack.size()-subexpressionStackPos[topSubexpression]);
- topSubexpression--;
- } catch (NoExpressionValueException e) {
- processSyntaxException(e);
- }
- }
- } finally {
- if (traceOn)
- printTraceEnd();
- }
- }
-
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/ForExpression.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/ForExpression.java
deleted file mode 100644
index f6346fe09..000000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/ForExpression.java
+++ /dev/null
@@ -1,213 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- * $RCSfile: ForExpression.java,v $
- * $Revision: 1.2 $ $Date: 2005/05/18 23:11:26 $
- */
-package org.eclipse.jem.internal.proxy.initParser.tree;
-
-/**
- * Enum for the forExpression parameters.
- * <p>
- * This is not meant to be subclassed by customers.
- * @since 1.1.0
- */
-public class ForExpression extends AbstractEnum {
-
- /**
- * forExpression: Creating a root expression
- */
- public static final int ROOTEXPRESSION_VALUE = 0;
-
- public static final ForExpression ROOTEXPRESSION = new ForExpression(ROOTEXPRESSION_VALUE, "Root"); //$NON-NLS-1$
-
- /**
- * forExpression: Creating the array expression for an array access (i.e. the array to access)
- */
- public static final int ARRAYACCESS_ARRAY_VALUE = 1;
-
- public static final ForExpression ARRAYACCESS_ARRAY = new ForExpression(ARRAYACCESS_ARRAY_VALUE, "Array Access: Array Operand"); //$NON-NLS-1$
-
- /**
- * forExpression: Creating an index expression for an array access (i.e. one of the expressions within the <code>[]</code>).
- */
- public static final int ARRAYACCESS_INDEX_VALUE = 2;
-
- public static final ForExpression ARRAYACCESS_INDEX = new ForExpression(ARRAYACCESS_INDEX_VALUE, "Array Access: Index"); //$NON-NLS-1$
-
- /**
- * forExpression: Creating an dimension expression for an array creation (i.e. one of the expressions within the <code>[]</code>).
- */
- public static final int ARRAYCREATION_DIMENSION_VALUE = 3;
-
- public static final ForExpression ARRAYCREATION_DIMENSION = new ForExpression(ARRAYCREATION_DIMENSION_VALUE, "Array Access: Dimension"); //$NON-NLS-1$
-
- /**
- * forExpression: Creating an expression for an array initializer (i.e. one of the expressions with the <code>{}</code>). Special case is that
- * array initializers are valid as an expression within an array initializer and it doesn't use a for expression.
- */
- public static final int ARRAYINITIALIZER_EXPRESSION_VALUE = 4;
-
- public static final ForExpression ARRAYINITIALIZER_EXPRESSION = new ForExpression(ARRAYINITIALIZER_EXPRESSION_VALUE, "Array Initializer"); //$NON-NLS-1$
-
- /**
- * forExpression: Creating the expression for the cast (i.e. the expresion after the <code>(type)</code>).
- */
- public static final int CAST_EXPRESSION_VALUE = 5;
-
- public static final ForExpression CAST_EXPRESSION = new ForExpression(CAST_EXPRESSION_VALUE, "Cast"); //$NON-NLS-1$
-
- /**
- * forExpression: Creating the argument expression for the new instance.
- */
- public static final int CLASSINSTANCECREATION_ARGUMENT_VALUE = 6;
-
- public static final ForExpression CLASSINSTANCECREATION_ARGUMENT = new ForExpression(CLASSINSTANCECREATION_ARGUMENT_VALUE,
- "Class Instance Creation: Argument"); //$NON-NLS-1$
-
- /**
- * forExpression: Creating the condition for a conditional expression.
- */
- public static final int CONDITIONAL_CONDITION_VALUE = 7;
-
- public static final ForExpression CONDITIONAL_CONDITION = new ForExpression(CONDITIONAL_CONDITION_VALUE, "Conditional: Condition"); //$NON-NLS-1$
-
- /**
- * forExpression: Creating the true (then) expression for a conditional expression.
- */
- public static final int CONDITIONAL_TRUE_VALUE = 8;
-
- public static final ForExpression CONDITIONAL_TRUE = new ForExpression(CONDITIONAL_TRUE_VALUE, "Conditional: True"); //$NON-NLS-1$
-
- /**
- * forExpression: Creating the false (else) condition for a conditional expression.
- */
- public static final int CONDITIONAL_FALSE_VALUE = 9;
-
- public static final ForExpression CONDITIONAL_FALSE = new ForExpression(CONDITIONAL_FALSE_VALUE, "Conditional: False"); //$NON-NLS-1$
-
- /**
- * forExpression: Creating the receiver for a field access (i.e. the expression before the ".")
- */
- public static final int FIELD_RECEIVER_VALUE = 10;
-
- public static final ForExpression FIELD_RECEIVER = new ForExpression(FIELD_RECEIVER_VALUE, "Field Access: Receiver"); //$NON-NLS-1$
-
- /**
- * forExpression: Creating the left operand of an infix expression.
- */
- public static final int INFIX_LEFT_VALUE = 11;
-
- public static final ForExpression INFIX_LEFT = new ForExpression(INFIX_LEFT_VALUE, "Infix: Left"); //$NON-NLS-1$
-
- /**
- * forExpression: Creating the right operand of an infix expression.
- */
- public static final int INFIX_RIGHT_VALUE = 12;
-
- public static final ForExpression INFIX_RIGHT = new ForExpression(INFIX_RIGHT_VALUE, "Infix: Right"); //$NON-NLS-1$
-
- /**
- * forExpression: Creating an extended operand of an infix expression.
- */
- public static final int INFIX_EXTENDED_VALUE = 13;
-
- public static final ForExpression INFIX_EXTENDED = new ForExpression(INFIX_EXTENDED_VALUE, "Infix: Extended"); //$NON-NLS-1$
-
- /**
- * forExpression: Creating the value expression of an instanceof.
- */
- public static final int INSTANCEOF_VALUE_VALUE = 14;
-
- public static final ForExpression INSTANCEOF_VALUE = new ForExpression(INSTANCEOF_VALUE_VALUE, "Instanceof"); //$NON-NLS-1$
-
- /**
- * forExpression: Creating a receiver expression for a method invocation.
- */
- public static final int METHOD_RECEIVER_VALUE = 15;
-
- public static final ForExpression METHOD_RECEIVER = new ForExpression(METHOD_RECEIVER_VALUE, "Method Invoke: Receiver"); //$NON-NLS-1$
-
- /**
- * forExpression: Creating an argument for a method invocation.
- */
- public static final int METHOD_ARGUMENT_VALUE = 16;
-
- public static final ForExpression METHOD_ARGUMENT = new ForExpression(METHOD_ARGUMENT_VALUE, "Method Invoke: Argument"); //$NON-NLS-1$
-
- /**
- * forExpression: Creating the operand expression for a prefix operator.
- */
- public static final int PREFIX_OPERAND_VALUE = 17;
-
- public static final ForExpression PREFIX_OPERAND = new ForExpression(PREFIX_OPERAND_VALUE, "Prefix: Operand"); //$NON-NLS-1$
-
- /**
- * forExpression: Creating the right operand of an assignment operator.
- *
- * @since 1.1.0
- */
- public static final int ASSIGNMENT_RIGHT_VALUE = 18;
-
- public static final ForExpression ASSIGNMENT_RIGHT = new ForExpression(ASSIGNMENT_RIGHT_VALUE, "Assignment: Right"); //$NON-NLS-1$
-
- /**
- * forExpression: Creating the left operand of an assignment operator.
- * <p>
- * Note: The left expression can only be a FieldAccess or ArrayAccess.
- */
- public static final int ASSIGNMENT_LEFT_VALUE = 19;
-
- public static final ForExpression ASSIGNMENT_LEFT = new ForExpression(ASSIGNMENT_LEFT_VALUE, "Assignment: Left"); //$NON-NLS-1$
-
- /**
- * forExpression: Creating the throw operand of the throw expression.
- */
- public static final int THROW_OPERAND_VALUE = 20;
-
- public static final ForExpression THROW_OPERAND = new ForExpression(THROW_OPERAND_VALUE, "Throw operand"); //$NON-NLS-1$
-
- /**
- * forExpression: Creating the if conditional operand of the if expression.
- */
- public static final int IF_CONDITION_VALUE = 21;
-
- public static final ForExpression IF_CONDITION = new ForExpression(IF_CONDITION_VALUE, "If condition"); //$NON-NLS-1$
-
- /**
- * forExpression: Creating the if true clause of the if expression.
- */
- public static final int IF_TRUE_VALUE = 22;
-
- public static final ForExpression IF_TRUE = new ForExpression(IF_TRUE_VALUE, "If true clause"); //$NON-NLS-1$
-
- /**
- * forExpression: Creating the if else clause of the if expression.
- */
- public static final int IF_ELSE_VALUE = 23;
-
- public static final ForExpression IF_ELSE = new ForExpression(IF_ELSE_VALUE, "If else clause"); //$NON-NLS-1$
-
-
- /**
- * This is not private, but protected only so that proxy core can add an internal ForExpression enum.
- * <p>
- * This is not meant to be subclassed by customers.
- * @param value
- * @param name
- *
- * @since 1.1.0
- */
- protected ForExpression(int value, String name) {
- super(value, name);
- }
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/IExpressionConstants.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/IExpressionConstants.java
deleted file mode 100644
index 8b61eaae5..000000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/IExpressionConstants.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: IExpressionConstants.java,v $
- * $Revision: 1.3 $ $Date: 2005/05/11 19:01:12 $
- */
-package org.eclipse.jem.internal.proxy.initParser.tree;
-
-/**
- * These are constants needed by IExpression that will be common between
- * the vm and the IDE. They are also available to users of the IExpression
- * interface.
- *
- * @since 1.0.0
- */
-public interface IExpressionConstants {
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/InfixOperator.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/InfixOperator.java
deleted file mode 100644
index 9fbe0034f..000000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/InfixOperator.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- * $RCSfile: InfixOperator.java,v $
- * $Revision: 1.2 $ $Date: 2005/05/18 23:11:26 $
- */
-package org.eclipse.jem.internal.proxy.initParser.tree;
-
-/**
- * Enum for Infix operator
- *
- * @since 1.1.0
- */
-public class InfixOperator extends AbstractEnum {
-
- /**
- * Infix times "*"
- */
- public static final int IN_TIMES_VALUE = 0;
-
- public static final InfixOperator IN_TIMES = new InfixOperator(IN_TIMES_VALUE, "Infix *"); //$NON-NLS-1$
-
- /**
- * Infix divide "/"
- */
- public static final int IN_DIVIDE_VALUE = 1;
-
- public static final InfixOperator IN_DIVIDE = new InfixOperator(IN_DIVIDE_VALUE, "Infix /"); //$NON-NLS-1$
-
- /**
- * Infix remainder "%"
- */
- public static final int IN_REMAINDER_VALUE = 2;
-
- public static final InfixOperator IN_REMAINDER = new InfixOperator(IN_REMAINDER_VALUE, "Infix %"); //$NON-NLS-1$
-
- /**
- * Infix plus "+"
- */
- public static final int IN_PLUS_VALUE = 3;
-
- public static final InfixOperator IN_PLUS = new InfixOperator(IN_PLUS_VALUE, "Infix +"); //$NON-NLS-1$
-
- /**
- * Infix minus "-"
- */
- public static final int IN_MINUS_VALUE = 4;
-
- public static final InfixOperator IN_MINUS = new InfixOperator(IN_MINUS_VALUE, "Infix -"); //$NON-NLS-1$
-
- /**
- * Infix left shift " < <"
- */
- public static final int IN_LEFT_SHIFT_VALUE = 5;
-
- public static final InfixOperator IN_LEFT_SHIFT = new InfixOperator(IN_LEFT_SHIFT_VALUE, "Infix <<"); //$NON-NLS-1$
-
- /**
- * Infix right shift signed ">>"
- */
- public static final int IN_RIGHT_SHIFT_SIGNED_VALUE = 6;
-
- public static final InfixOperator IN_RIGHT_SHIFT_SIGNED = new InfixOperator(IN_RIGHT_SHIFT_SIGNED_VALUE, "Infix >>"); //$NON-NLS-1$
-
- /**
- * Infix right shift unsigned ">>>"
- */
- public static final int IN_RIGHT_SHIFT_UNSIGNED_VALUE = 7;
-
- public static final InfixOperator IN_RIGHT_SHIFT_UNSIGNED = new InfixOperator(IN_RIGHT_SHIFT_UNSIGNED_VALUE, "Infix >>>"); //$NON-NLS-1$
-
- /**
- * Infix less " <"
- */
- public static final int IN_LESS_VALUE = 8;
-
- public static final InfixOperator IN_LESS = new InfixOperator(IN_LESS_VALUE, "Infix <"); //$NON-NLS-1$
-
- /**
- * Infix greater ">"
- */
- public static final int IN_GREATER_VALUE = 9;
-
- public static final InfixOperator IN_GREATER = new InfixOperator(IN_GREATER_VALUE, "Infix >"); //$NON-NLS-1$
-
- /**
- * Infix less than or equals " <="
- */
- public static final int IN_LESS_EQUALS_VALUE = 10;
-
- public static final InfixOperator IN_LESS_EQUALS = new InfixOperator(IN_LESS_EQUALS_VALUE, "Infix <="); //$NON-NLS-1$
-
- /**
- * Infix Greater than or equlas ">="
- */
- public static final int IN_GREATER_EQUALS_VALUE = 11;
-
- public static final InfixOperator IN_GREATER_EQUALS = new InfixOperator(IN_GREATER_EQUALS_VALUE, "Infix >="); //$NON-NLS-1$
-
- /**
- * Infix equals "=="
- */
- public static final int IN_EQUALS_VALUE = 12;
-
- public static final InfixOperator IN_EQUALS = new InfixOperator(IN_EQUALS_VALUE, "Infix =="); //$NON-NLS-1$
-
- /**
- * Infix not equals "!="
- */
- public static final int IN_NOT_EQUALS_VALUE = 13;
-
- public static final InfixOperator IN_NOT_EQUALS = new InfixOperator(IN_NOT_EQUALS_VALUE, "Infix !="); //$NON-NLS-1$
-
- /**
- * Infix exclusive or "^"
- */
- public static final int IN_XOR_VALUE = 14;
-
- public static final InfixOperator IN_XOR = new InfixOperator(IN_XOR_VALUE, "Infix ^"); //$NON-NLS-1$
-
- /**
- * Infix bitwise and "&"
- */
- public static final int IN_AND_VALUE = 15;
-
- public static final InfixOperator IN_AND = new InfixOperator(IN_AND_VALUE, "Infix &"); //$NON-NLS-1$
-
- /**
- * Infix bitwise or "|"
- */
- public static final int IN_OR_VALUE = 16;
-
- public static final InfixOperator IN_OR = new InfixOperator(IN_OR_VALUE, "Infix |"); //$NON-NLS-1$
-
- /**
- * Infix Conditional logical and "&&"
- */
- public static final int IN_CONDITIONAL_AND_VALUE = 17;
-
- public static final InfixOperator IN_CONDITIONAL_AND = new InfixOperator(IN_CONDITIONAL_AND_VALUE, "Infix &&"); //$NON-NLS-1$
-
- /**
- * Infix Conditional logical or "||"
- */
- public static final int IN_CONDITIONAL_OR_VALUE = 18;
-
- public static final InfixOperator IN_CONDITIONAL_OR = new InfixOperator(IN_CONDITIONAL_OR_VALUE, "Ifnix ||"); //$NON-NLS-1$
-
- /**
- * Return the infix operator for the given enum value.
- * @param value
- * @return
- *
- * @since 1.1.0
- */
- public static InfixOperator get(int value) {
- switch (value) {
- case IN_TIMES_VALUE:
- return IN_TIMES;
- case IN_DIVIDE_VALUE:
- return IN_DIVIDE;
- case IN_REMAINDER_VALUE:
- return IN_REMAINDER;
- case IN_PLUS_VALUE:
- return IN_PLUS;
- case IN_MINUS_VALUE:
- return IN_MINUS;
- case IN_LEFT_SHIFT_VALUE:
- return IN_LEFT_SHIFT;
- case IN_RIGHT_SHIFT_SIGNED_VALUE:
- return IN_RIGHT_SHIFT_SIGNED;
- case IN_RIGHT_SHIFT_UNSIGNED_VALUE:
- return IN_RIGHT_SHIFT_UNSIGNED;
- case IN_LESS_VALUE:
- return IN_LESS;
- case IN_GREATER_VALUE:
- return IN_GREATER;
- case IN_LESS_EQUALS_VALUE:
- return IN_LESS_EQUALS;
- case IN_GREATER_EQUALS_VALUE:
- return IN_GREATER_EQUALS;
- case IN_EQUALS_VALUE:
- return IN_EQUALS;
- case IN_NOT_EQUALS_VALUE:
- return IN_NOT_EQUALS;
- case IN_XOR_VALUE:
- return IN_XOR;
- case IN_AND_VALUE:
- return IN_AND;
- case IN_OR_VALUE:
- return IN_OR;
- case IN_CONDITIONAL_AND_VALUE:
- return IN_CONDITIONAL_AND;
- case IN_CONDITIONAL_OR_VALUE:
- return IN_CONDITIONAL_OR;
- }
- return null;
- }
-
- private InfixOperator(int value, String name) {
- super(value, name);
- }
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/InitparserTreeMessages.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/InitparserTreeMessages.java
deleted file mode 100644
index 5d245cf77..000000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/InitparserTreeMessages.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: InitparserTreeMessages.java,v $
- * $Revision: 1.4 $ $Date: 2005/06/21 20:22:51 $
- */
-package org.eclipse.jem.internal.proxy.initParser.tree;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * @author sri
- *
- * TODO To change the template for this generated type comment go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-public class InitparserTreeMessages {
-
- private static final String BUNDLE_NAME = "org.eclipse.jem.internal.proxy.initParser.tree.messages";//$NON-NLS-1$
-
- private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);
-
- private InitparserTreeMessages() {
- }
-
- public static String getString(String key) {
- // TODO Auto-generated method stub
- try {
- return RESOURCE_BUNDLE.getString(key);
- } catch (MissingResourceException e) {
- return '!' + key + '!';
- }
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/InternalConditionalOperandType.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/InternalConditionalOperandType.java
deleted file mode 100644
index 406a2057d..000000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/InternalConditionalOperandType.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- * $RCSfile: InternalConditionalOperandType.java,v $
- * $Revision: 1.2 $ $Date: 2005/05/18 23:11:26 $
- */
-package org.eclipse.jem.internal.proxy.initParser.tree;
-
-/**
- * Internal class for the Conditional operand type. Not meant to be used by customers.
- *
- * @since 1.1.0
- */
-public class InternalConditionalOperandType extends AbstractEnum {
-
- /**
- * Used in Conditional processing. False operand on expression stack
- */
- public final static int CONDITIONAL_FALSE_VALUE = 0;
-
- public final static InternalConditionalOperandType CONDITIONAL_FALSE = new InternalConditionalOperandType(CONDITIONAL_FALSE_VALUE,
- "Conditional False Operand Flag"); //$NON-NLS-1$
-
- /**
- * Used in Conditional processing. True operand on expression stack
- */
- public final static int CONDITIONAL_TRUE_VALUE = 1;
-
- public final static InternalConditionalOperandType CONDITIONAL_TRUE = new InternalConditionalOperandType(CONDITIONAL_TRUE_VALUE,
- "Conditional True Operand Flag"); //$NON-NLS-1$
-
- /**
- * Used in Conditional processing. Test operand on expression stack
- */
- public final static int CONDITIONAL_TEST_VALUE = 2;
-
- public final static InternalConditionalOperandType CONDITIONAL_TEST = new InternalConditionalOperandType(CONDITIONAL_TEST_VALUE,
- "Conditional Test Operand Flag"); //$NON-NLS-1$
-
- /**
- * Return the enum for the given value.
- * @param value
- * @return
- *
- * @since 1.1.0
- */
- public static InternalConditionalOperandType get(int value) {
- switch (value) {
- case CONDITIONAL_FALSE_VALUE:
- return CONDITIONAL_FALSE;
- case CONDITIONAL_TRUE_VALUE:
- return CONDITIONAL_TRUE;
- case CONDITIONAL_TEST_VALUE:
- return CONDITIONAL_TEST;
- }
- return null;
- }
-
- private InternalConditionalOperandType(int value, String name) {
- super(value, name);
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/InternalExpressionProxy.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/InternalExpressionProxy.java
deleted file mode 100644
index f91308983..000000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/InternalExpressionProxy.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * $RCSfile: InternalExpressionProxy.java,v $
- * $Revision: 1.1 $ $Date: 2005/05/11 19:01:12 $
- */
-package org.eclipse.jem.internal.proxy.initParser.tree;
-
-
-/**
- * This interface is used for expression proxies in the evaluation side (in {@link org.eclipse.jem.internal.proxy.initParser.tree.ExpressionProcesser}).
- * <p>
- * It is meant to be implemented only by users of the ExpressionProcessor.
- *
- * @since 1.1.0
- */
-public interface InternalExpressionProxy {
-
- /**
- * Get the id of the proxy.
- * @return
- *
- * @since 1.1.0
- */
- public int getProxyID();
-
- /**
- * Called by ExpressionProcesser to give the expression proxy its value and type, i.e. it has been evaluated.
- * <p>
- * The type may not be the actual type of the value, it may be a superclass of it. It is the type that the proxy
- * represents from the return of the expression. For instance it may of returned null but it is supposed to be
- * java.lang.String. Or it is supposed to be a primitive int, since we can't store that, we need to store
- * an Integer value with the type indicating it is Interger.TYPE.
- *
- * @param value
- * @param type
- *
- * @since 1.1.0
- */
- public void setProxy(Object value, Class type);
-
- /**
- * Get the value of the proxy.
- * <p>
- * Note: The value may be a {@link VariableReference}, in which
- * case further dereferencing may be with the returned value.
- * @return the value of the proxy, it may be an ExpressionProcesser.VariableReference.
- *
- * @since 1.1.0
- */
- public Object getValue();
-
- /**
- * Get the type of the proxy.
- * @return
- *
- * @see InternalExpressionProxy#setProxy(Object, Class) for what type means.
- * @since 1.1.0
- */
- public Class getType();
-
- /**
- * Return whether the proxy has had a value/class set into it yet.
- * @return <code>true</code> if it has been set.
- *
- * @since 1.1.0
- */
- public boolean isSet();
-}
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/InternalExpressionTypes.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/InternalExpressionTypes.java
deleted file mode 100644
index 2b1ff5418..000000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/InternalExpressionTypes.java
+++ /dev/null
@@ -1,293 +0,0 @@
-package org.eclipse.jem.internal.proxy.initParser.tree;
-
-/**
- * These constants are for communicating between the IDE and the proxy side for expression evaluation. It is not meant to be used by customers.
- *
- * @since 1.0.0
- */
-public class InternalExpressionTypes extends AbstractEnum {
-
- /**
- * ARRAY ACCESS Expression
- */
- public final static int ARRAY_ACCESS_EXPRESSION_VALUE = 1;
-
- public final static InternalExpressionTypes ARRAY_ACCESS_EXPRESSION = new InternalExpressionTypes(ARRAY_ACCESS_EXPRESSION_VALUE,
- "Array Access Expression"); //$NON-NLS-1$
-
- /**
- * ARRAY CREATION Expression
- */
- public final static int ARRAY_CREATION_EXPRESSION_VALUE = 2;
-
- public final static InternalExpressionTypes ARRAY_CREATION_EXPRESSION = new InternalExpressionTypes(ARRAY_CREATION_EXPRESSION_VALUE,
- "Array Creation Expression"); //$NON-NLS-1$
-
- /**
- * ARRAY INITIALIZER expression
- */
- public final static int ARRAY_INITIALIZER_EXPRESSION_VALUE = 3;
-
- public final static InternalExpressionTypes ARRAY_INITIALIZER_EXPRESSION = new InternalExpressionTypes(ARRAY_INITIALIZER_EXPRESSION_VALUE,
- "Array Initializer Expression"); //$NON-NLS-1$
-
- /**
- * CAST Expression.
- */
- public final static int CAST_EXPRESSION_VALUE = 4;
-
- public final static InternalExpressionTypes CAST_EXPRESSION = new InternalExpressionTypes(CAST_EXPRESSION_VALUE, "Cast Expression"); //$NON-NLS-1$
-
- /**
- * CONDITIONAL expression
- */
- public final static int CONDITIONAL_EXPRESSION_VALUE = 5;
-
- public final static InternalExpressionTypes CONDITIONAL_EXPRESSION = new InternalExpressionTypes(CONDITIONAL_EXPRESSION_VALUE,
- "Conditional Expression"); //$NON-NLS-1$
-
- /**
- * CLASS INSTANCE CREATION expression
- */
- public final static int CLASS_INSTANCE_CREATION_EXPRESSION_VALUE = 6;
-
- public final static InternalExpressionTypes CLASS_INSTANCE_CREATION_EXPRESSION = new InternalExpressionTypes(
- CLASS_INSTANCE_CREATION_EXPRESSION_VALUE, "Class Instance Creation Expression"); //$NON-NLS-1$
-
- /**
- * FIELD ACCESS expression.
- */
- public final static int FIELD_ACCESS_EXPRESSION_VALUE = 7;
-
- public final static InternalExpressionTypes FIELD_ACCESS_EXPRESSION = new InternalExpressionTypes(FIELD_ACCESS_EXPRESSION_VALUE,
- "Field Access Expression"); //$NON-NLS-1$
-
- /**
- * INSTANCEOF Expression.
- */
- public final static int INSTANCEOF_EXPRESSION_VALUE = 8;
-
- public final static InternalExpressionTypes INSTANCEOF_EXPRESSION = new InternalExpressionTypes(INSTANCEOF_EXPRESSION_VALUE,
- "Instanceof Expression"); //$NON-NLS-1$
-
- /**
- * Infix expression
- */
- public final static int INFIX_EXPRESSION_VALUE = 9;
-
- public final static InternalExpressionTypes INFIX_EXPRESSION = new InternalExpressionTypes(INFIX_EXPRESSION_VALUE, "Infix Expression"); //$NON-NLS-1$
-
- /**
- * Method expression.
- */
- public final static int METHOD_EXPRESSION_VALUE = 10;
-
- public final static InternalExpressionTypes METHOD_EXPRESSION = new InternalExpressionTypes(METHOD_EXPRESSION_VALUE, "Method Invoke Expression"); //$NON-NLS-1$
-
- /**
- * Prefix expression
- */
- public final static int PREFIX_EXPRESSION_VALUE = 11;
-
- public final static InternalExpressionTypes PREFIX_EXPRESSION = new InternalExpressionTypes(PREFIX_EXPRESSION_VALUE, "Prefix Expression"); //$NON-NLS-1$
-
- /**
- * Push to proxy expression.
- */
- public final static int PUSH_TO_PROXY_EXPRESSION_VALUE = 12;
-
- public final static InternalExpressionTypes PUSH_TO_PROXY_EXPRESSION = new InternalExpressionTypes(PUSH_TO_PROXY_EXPRESSION_VALUE,
- "Push to Proxy Expression"); //$NON-NLS-1$
-
- /**
- * Push BeanType expression proxy expression.
- */
- public final static int PUSH_BEANTYPE_EXPRESSIONPROXY_EXPRESSION_VALUE = 13;
-
- public final static InternalExpressionTypes PUSH_BEANTYPE_EXPRESSIONPROXY_EXPRESSION = new InternalExpressionTypes(PUSH_BEANTYPE_EXPRESSIONPROXY_EXPRESSION_VALUE,
- "Push BeanType ExpressionProxy Expression"); //$NON-NLS-1$
-
-
- /**
- * Type receiver expression.
- */
- public final static int TYPERECEIVER_EXPRESSION_VALUE = 14;
-
- public final static InternalExpressionTypes TYPERECEIVER_EXPRESSION = new InternalExpressionTypes(TYPERECEIVER_EXPRESSION_VALUE,
- "Type Receiver Expression"); //$NON-NLS-1$
-
- /**
- * Assignment to an ExpressionProxy expression.
- */
- public final static int ASSIGNMENT_PROXY_EXPRESSION_VALUE = 15;
-
- public final static InternalExpressionTypes ASSIGNMENT_PROXY_EXPRESSION = new InternalExpressionTypes(ASSIGNMENT_PROXY_EXPRESSION_VALUE,
- "Assignment to Proxy Expression"); //$NON-NLS-1$
-
- /**
- * Push expression proxy value expression.
- */
- public final static int PUSH_TO_EXPRESSION_PROXY_EXPRESSION_VALUE = 16;
-
- public final static InternalExpressionTypes PUSH_TO_EXPRESSION_PROXY_EXPRESSION = new InternalExpressionTypes(
- PUSH_TO_EXPRESSION_PROXY_EXPRESSION_VALUE, "Push to Expression Proxy Expression"); //$NON-NLS-1$
-
- /**
- * Assignment expression.
- */
- public final static int ASSIGNMENT_EXPRESSION_VALUE = 17;
-
- public final static InternalExpressionTypes ASSIGNMENT_EXPRESSION = new InternalExpressionTypes(ASSIGNMENT_EXPRESSION_VALUE,
- "Assignment Expression"); //$NON-NLS-1$
-
- /**
- * Block End expression.
- */
- public final static int BLOCK_BEGIN_EXPRESSION_VALUE = 18;
-
- public final static InternalExpressionTypes BLOCK_BEGIN_EXPRESSION = new InternalExpressionTypes(BLOCK_BEGIN_EXPRESSION_VALUE,
- "Begin block Expression"); //$NON-NLS-1$
-
- /**
- * Block End expression.
- */
- public final static int BLOCK_BREAK_EXPRESSION_VALUE = 19;
-
- public final static InternalExpressionTypes BLOCK_BREAK_EXPRESSION = new InternalExpressionTypes(BLOCK_BREAK_EXPRESSION_VALUE,
- "Break block Expression"); //$NON-NLS-1$
-
- /**
- * Block End expression.
- */
- public final static int BLOCK_END_EXPRESSION_VALUE = 20;
-
- public final static InternalExpressionTypes BLOCK_END_EXPRESSION = new InternalExpressionTypes(BLOCK_END_EXPRESSION_VALUE,
- "End block Expression"); //$NON-NLS-1$
-
- /**
- * Try Begin expression.
- */
- public final static int TRY_BEGIN_EXPRESSION_VALUE = 21;
-
- public final static InternalExpressionTypes TRY_BEGIN_EXPRESSION = new InternalExpressionTypes(TRY_BEGIN_EXPRESSION_VALUE,
- "Begin try Expression"); //$NON-NLS-1$
-
- /**
- * Try Catch expression.
- */
- public final static int TRY_CATCH_EXPRESSION_VALUE = 22;
-
- public final static InternalExpressionTypes TRY_CATCH_EXPRESSION = new InternalExpressionTypes(TRY_CATCH_EXPRESSION_VALUE,
- "Try catch Expression"); //$NON-NLS-1$
-
- /**
- * Try Finally expression.
- */
- public final static int TRY_FINALLY_EXPRESSION_VALUE = 23;
-
- public final static InternalExpressionTypes TRY_FINALLY_EXPRESSION = new InternalExpressionTypes(TRY_FINALLY_EXPRESSION_VALUE,
- "Try finally Expression"); //$NON-NLS-1$
-
- /**
- * Try End expression.
- */
- public final static int TRY_END_EXPRESSION_VALUE = 24;
-
- public final static InternalExpressionTypes TRY_END_EXPRESSION = new InternalExpressionTypes(TRY_END_EXPRESSION_VALUE,
- "End try Expression"); //$NON-NLS-1$
-
- /**
- * Throw expression.
- */
- public final static int THROW_EXPRESSION_VALUE = 25;
-
- public final static InternalExpressionTypes THROW_EXPRESSION = new InternalExpressionTypes(THROW_EXPRESSION_VALUE,
- "Throw Expression"); //$NON-NLS-1$
-
- /**
- * Rethrow expression.
- */
- public final static int RETHROW_EXPRESSION_VALUE = 26;
-
- public final static InternalExpressionTypes RETHROW_EXPRESSION = new InternalExpressionTypes(RETHROW_EXPRESSION_VALUE,
- "Rethrow Expression"); //$NON-NLS-1$
-
- /**
- * Push Method Lookup expression proxy expression.
- */
- public final static int PUSH_METHOD_EXPRESSIONPROXY_EXPRESSION_VALUE = 27;
-
- public final static InternalExpressionTypes PUSH_METHOD_EXPRESSIONPROXY_EXPRESSION = new InternalExpressionTypes(PUSH_METHOD_EXPRESSIONPROXY_EXPRESSION_VALUE,
- "Push Method ExpressionProxy Expression"); //$NON-NLS-1$
-
- /**
- * Push Field Lookup expression proxy expression.
- */
- public final static int PUSH_FIELD_EXPRESSIONPROXY_EXPRESSION_VALUE = 28;
-
- public final static InternalExpressionTypes PUSH_FIELD_EXPRESSIONPROXY_EXPRESSION = new InternalExpressionTypes(PUSH_FIELD_EXPRESSIONPROXY_EXPRESSION_VALUE,
- "Push Field ExpressionProxy Expression"); //$NON-NLS-1$
-
- /**
- * Push If/else (the clauses) expression proxy expression.
- */
- public final static int IF_ELSE_EXPRESSION_VALUE = 29;
-
- public final static InternalExpressionTypes IF_ELSE_EXPRESSION = new InternalExpressionTypes(IF_ELSE_EXPRESSION_VALUE,
- "Push If/else Expression"); //$NON-NLS-1$
-
- /**
- * Push If/else condition test expression proxy expression.
- */
- public final static int IF_TEST_EXPRESSION_VALUE = 30;
-
- public final static InternalExpressionTypes IF_TEST_EXPRESSION = new InternalExpressionTypes(IF_TEST_EXPRESSION_VALUE,
- "Push If Test Expression"); //$NON-NLS-1$
-
-
- /**
- * Push new instance from init string proxy expression.
- */
- public final static int NEW_INSTANCE_VALUE = 31;
-
- public final static InternalExpressionTypes NEW_INSTANCE = new InternalExpressionTypes(NEW_INSTANCE_VALUE,
- "Push New Instance Expression"); //$NON-NLS-1$
-
-
- /**
- * Push mark proxy expression.
- */
- public final static int MARK_VALUE = 32;
-
- public final static InternalExpressionTypes MARK = new InternalExpressionTypes(MARK_VALUE,
- "Push Mark Expression"); //$NON-NLS-1$
-
- /**
- * Push end mark proxy expression.
- */
- public final static int ENDMARK_VALUE = 33;
-
- public final static InternalExpressionTypes ENDMARK = new InternalExpressionTypes(ENDMARK_VALUE,
- "Push End Mark Expression"); //$NON-NLS-1$
-
- /**
- * Subexpression End expression.
- */
- public final static int SUBEXPRESSION_BEGIN_EXPRESSION_VALUE = 34;
-
- public final static InternalExpressionTypes SUBEXPRESSION_BEGIN_EXPRESSION = new InternalExpressionTypes(SUBEXPRESSION_BEGIN_EXPRESSION_VALUE,
- "Begin Subexpression Expression"); //$NON-NLS-1$
-
- /**
- * Subexpression End expression.
- */
- public final static int SUBEXPRESSION_END_EXPRESSION_VALUE = 35;
-
- public final static InternalExpressionTypes SUBEXPRESSION_END_EXPRESSION = new InternalExpressionTypes(SUBEXPRESSION_END_EXPRESSION_VALUE,
- "End Subexpression Expression"); //$NON-NLS-1$
-
-
- private InternalExpressionTypes(int value, String name) {
- super(value, name);
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/InternalIfElseOperandType.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/InternalIfElseOperandType.java
deleted file mode 100644
index c048a4dd1..000000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/InternalIfElseOperandType.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- * $RCSfile: InternalIfElseOperandType.java,v $
- * $Revision: 1.2 $ $Date: 2005/05/18 23:11:26 $
- */
-package org.eclipse.jem.internal.proxy.initParser.tree;
-
-/**
- * Internal class for the If/else operand type. Not meant to be used by customers.
- *
- * @since 1.1.0
- */
-public class InternalIfElseOperandType extends AbstractEnum {
-
- /**
- * Used in If/else processing. False clause on expression stack
- */
- public final static int ELSE_CLAUSE_VALUE = 0;
-
- public final static InternalIfElseOperandType ELSE_CLAUSE = new InternalIfElseOperandType(ELSE_CLAUSE_VALUE,
- "Else Clause Flag"); //$NON-NLS-1$
-
- /**
- * Used in If/else processing. If operand on expression stack
- */
- public final static int TRUE_CLAUSE_VALUE = 1;
-
- public final static InternalIfElseOperandType TRUE_CLAUSE = new InternalIfElseOperandType(TRUE_CLAUSE_VALUE,
- "If True Clause Flag"); //$NON-NLS-1$
-
- /**
- * Return the enum for the given value.
- * @param value
- * @return
- *
- * @since 1.1.0
- */
- public static InternalIfElseOperandType get(int value) {
- switch (value) {
- case ELSE_CLAUSE_VALUE:
- return ELSE_CLAUSE;
- case TRUE_CLAUSE_VALUE:
- return TRUE_CLAUSE;
- }
- return null;
- }
-
- private InternalIfElseOperandType(int value, String name) {
- super(value, name);
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/InternalInfixOperandType.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/InternalInfixOperandType.java
deleted file mode 100644
index bef20d502..000000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/InternalInfixOperandType.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- * $RCSfile: InternalInfixOperandType.java,v $
- * $Revision: 1.2 $ $Date: 2005/05/18 23:11:26 $
- */
-package org.eclipse.jem.internal.proxy.initParser.tree;
-
-
-/**
- * Internal class for the Prefix operand type. Not meant to be used by customers.
- * @since 1.1.0
- */
-public class InternalInfixOperandType extends AbstractEnum {
-
- /**
- * Used in Infix processing. Left operand on expression stack
- */
- public final static int INFIX_LEFT_OPERAND_VALUE = 0;
- public final static InternalInfixOperandType INFIX_LEFT_OPERAND = new InternalInfixOperandType(INFIX_LEFT_OPERAND_VALUE, "Infix Left Operand Flag"); //$NON-NLS-1$
- /**
- * Used in Infix processing. Other operand (but not last) on expression stack
- */
- public final static int INFIX_OTHER_OPERAND_VALUE = 1;
- public final static InternalInfixOperandType INFIX_OTHER_OPERAND = new InternalInfixOperandType(INFIX_OTHER_OPERAND_VALUE,
- "Infix Other Operand Flag"); //$NON-NLS-1$
- /**
- * Used in Infix processing. Rightmost (last) operand on expression stack
- */
- public final static int INFIX_LAST_OPERAND_VALUE = 2;
- public final static InternalInfixOperandType INFIX_LAST_OPERAND = new InternalInfixOperandType(INFIX_LAST_OPERAND_VALUE, "Infix Last Operand Flag"); //$NON-NLS-1$
-
- /**
- * Return the enum for the given value.
- * @param value
- * @return
- *
- * @since 1.1.0
- */
- public static InternalInfixOperandType get(int value) {
- switch (value) {
- case INFIX_LAST_OPERAND_VALUE:
- return INFIX_LAST_OPERAND;
- case INFIX_LEFT_OPERAND_VALUE:
- return INFIX_LEFT_OPERAND;
- case INFIX_OTHER_OPERAND_VALUE:
- return INFIX_OTHER_OPERAND;
- }
- return null;
- }
-
- private InternalInfixOperandType(int value, String name) {
- super(value, name);
- }
-}
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/NoExpressionValueException.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/NoExpressionValueException.java
deleted file mode 100644
index b054401e1..000000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/NoExpressionValueException.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- * $RCSfile: NoExpressionValueException.java,v $
- * $Revision: 1.2 $ $Date: 2005/06/16 17:46:14 $
- */
-package org.eclipse.jem.internal.proxy.initParser.tree;
-
-
-/**
- * The expression (or some nested expression) did not return a value. I.e. it was <code>void</code>.
- * This would occur only if the value of expression was being retrieved through getExpressionValue,
- * or if a nested expression was used, since in that case the value would of been used as an
- * argument or receiver to another expression.
- *
- * @since 1.0.0
- */
-public class NoExpressionValueException extends Exception {
-
- /**
- * Comment for <code>serialVersionUID</code>
- *
- * @since 1.1.0
- */
- private static final long serialVersionUID = -7953101867782417964L;
-
- /**
- * Construct with no arguments.
- *
- * @since 1.0.0
- */
- public NoExpressionValueException() {
- super();
- }
-
- public NoExpressionValueException(Throwable e) {
- super(e);
- }
-
- /**
- * Construct with a message.
- *
- * @param message
- *
- * @since 1.0.0
- */
- public NoExpressionValueException(String message) {
- super(message);
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/PrefixOperator.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/PrefixOperator.java
deleted file mode 100644
index a1e0a3021..000000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/PrefixOperator.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- * $RCSfile: PrefixOperator.java,v $
- * $Revision: 1.2 $ $Date: 2005/05/18 23:11:26 $
- */
-package org.eclipse.jem.internal.proxy.initParser.tree;
-
-/**
- * Enum for prefix operator.
- *
- * @since 1.1.0
- */
-public class PrefixOperator extends AbstractEnum {
-
- /**
- * Prefix plus "+"
- */
- public static final int PRE_PLUS_VALUE = 0;
-
- public static final PrefixOperator PRE_PLUS = new PrefixOperator(PRE_PLUS_VALUE, "Prefix +"); //$NON-NLS-1$
-
- /**
- * Prefix minus "-"
- */
- public static final int PRE_MINUS_VALUE = 1;
-
- public static final PrefixOperator PRE_MINUS = new PrefixOperator(PRE_MINUS_VALUE, "Prefix -"); //$NON-NLS-1$
-
- /**
- * Prefix bitwise complement "~"
- */
- public static final int PRE_COMPLEMENT_VALUE = 2;
-
- public static final PrefixOperator PRE_COMPLEMENT = new PrefixOperator(PRE_COMPLEMENT_VALUE, "Prefix ~"); //$NON-NLS-1$
-
- /**
- * Prefix logical not "!"
- */
- public static final int PRE_NOT_VALUE = 3;
-
- public static final PrefixOperator PRE_NOT = new PrefixOperator(PRE_NOT_VALUE, "Prefix !"); //$NON-NLS-1$
-
- /**
- * Return the prefix operator for the given enum value.
- * @param value
- * @return
- *
- * @since 1.1.0
- */
- public static PrefixOperator get(int value) {
- switch (value) {
- case PRE_PLUS_VALUE:
- return PRE_PLUS;
- case PRE_MINUS_VALUE:
- return PRE_MINUS;
- case PRE_COMPLEMENT_VALUE:
- return PRE_COMPLEMENT;
- case PRE_NOT_VALUE:
- return PRE_NOT;
- }
- return null;
- }
-
- private PrefixOperator(int value, String name) {
- super(value, name);
- }
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/VariableReference.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/VariableReference.java
deleted file mode 100644
index a4cd13669..000000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/VariableReference.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * $RCSfile: VariableReference.java,v $
- * $Revision: 1.1 $ $Date: 2005/05/11 19:01:12 $
- */
-package org.eclipse.jem.internal.proxy.initParser.tree;
-
-
-/**
- * This represents a Variable Reference value. A variable reference value can be on the left
- * side of an assignment (e.g. field or array access) or on any side
- * of any expression. When on the left side of an assignment, then the
- * value can assigned to. Such as <code>x[3] = 4</code>. Or it is value
- * that can be used in expressions, such as <code>x[3] + 2</code>.
- * <p>
- * When dereferenced, the value is given (see {@link VariableReference#dereference()}) as
- * the result or it is set with a value and then deferenced (see {@link VariableReference#set(Object, Class)}).
- * <p>
- * The type of the reference is the type stored in the corresponding expressionTypeStack entry. This is the type
- * for assignment, and the type for dereferenced.
- * @since 1.1.0
- */
-public abstract class VariableReference {
-
- /**
- * Dereference the value.
- * @return the dereferenced value. Such as the result of <code>x[3]</code>. The type of the reference
- * is the type stored in the corresponding expressionTypeStack entry for this reference.
- * @throws IllegalAccessException
- * @throws IllegalArgumentException
- *
- * @since 1.1.0
- */
- public abstract Object dereference();
-
- /**
- * Set the value into the variable and dereference it. Once it is set it is
- * no longer a reference and must be dereferenced.
- * @param value value to set to.
- * @param type type of the value being set. It may be of use to the reference or maybe not.
- * @return the dereferenced value after being set. The type of the dereferenced value
- * is the type stored in the corresponding expressionTypeStack entry for this reference.
- * @throws IllegalAccessException
- * @throws IllegalArgumentException
- *
- * @since 1.1.0
- */
- public abstract Object set(Object value, Class type) throws IllegalArgumentException, IllegalAccessException;
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/messages.properties b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/messages.properties
deleted file mode 100644
index 7f692a792..000000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/messages.properties
+++ /dev/null
@@ -1,29 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 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
-###############################################################################
-ExpressionProcesser.CannotCastXToY_EXC_ = IWAV0156E Cannot cast "{0}" to be "{1}".
-ExpressionProcesser.InvalidOperandOfPrefixOperator_EXC_ = IWAV0157E {0} not valid as the operand of prefix operator "{1}".
-ExpressionProcesser.PopExpressionType.ExpressionVoid_EXC_=Expression was void.
-ExpressionProcesser.InvalidOperandOfOperator_EXC_ = IWAV0158E {0} not valid as the operand of operator "{1}".
-ExpressionProcesser.XIsGreaterThanNumberOfDimensionsInArray_EXC_ = IWAV0159E {0} is greater then number of dimensions ({1}) in the array
-ExpressionProcesser.CreateArrayAccessReference.OutOfBounds_EXC_=Index: {0} size:{1}
-ExpressionProcesser.PushTryEnd.TryEndReceivedOutOfOrder_EXC_=Try/end received out of order.
-ExpressionProcesser.PushEndmark.EndMarkOnNonExistingID_EXC_=Tried to do an end mark on a non-existing markID ({0})
-ExpressionProcesser.NotAnArray_EXC_ = IWAV0160E "{0}" is not an array.
-ExpressionProcesser.ArraytypeHasFewerDimensionsThanRequested_EXC_ = IWAV0161E Arraytype "{0}" has fewer dimensions than creation requested ({1}).
-ExpressionProcesser.CreateFieldAccessReference.FieldsTypesNotMatching_EXC_=Field receiver does not match the type of the field: Field: {0} receiver: {1}
-ExpressionProcesser.GetExpressionProxyValue.ExpressionProxyNotSet_EXC_=Expression Proxy never set.
-ExpressionProcesser.GetExpressionProxyValue.ExpressionProxyDoesntExist_EXC_=Expression proxy doesn't exist.
-ExpressionProcesser.PushBlockEnd.ReceivedEndBlocksOutOfOrder_EXC_=End Blocks received out of order.
-ExpressionProcesser.PushTryCatchClause.CatchReceivedOutOfOrder_EXC_=Catch received out of order.
-ExpressionProcesser.PushTryFinallyClause.FinallyReceivedOutOfOrder_EXC_=Finally received out of order.
-ExpressionProcesser.PushTryRethrow.RethrowReceivedOutOfOrder_EXC_=Rethrow received out of order.
-ExpressionProcesser.PushTryRethrow.RetryReceivedOutOfExecutingCatchClause_EXC_=Retry received outside of an executing catch clause
-ExpressionProcesser.PushSubexpressionEnd.ReceivedEndSubexpressionsOutOfOrder_EXC_=End Subexpressions received out of order. \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/plugin.properties b/plugins/org.eclipse.jem.proxy/plugin.properties
deleted file mode 100644
index 42d066531..000000000
--- a/plugins/org.eclipse.jem.proxy/plugin.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/plugins/org.eclipse.jem.proxy/plugin.properties,v $
-# $Revision: 1.6 $ $Date: 2005/06/15 20:19:11 $
-#
-
-
-pluginName=Java EMF Model Proxy Support
-providerName = Eclipse.org
-contributors.extensionpoint.name=Proxy configuration contributors
-extensions.extensionpoint.name=Proxy configuration extension registrations
-Launch.localProxy=Local Proxy Application
diff --git a/plugins/org.eclipse.jem.proxy/plugin.xml b/plugins/org.eclipse.jem.proxy/plugin.xml
deleted file mode 100644
index ca74b4218..000000000
--- a/plugins/org.eclipse.jem.proxy/plugin.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
- <extension-point id="contributors" name="%contributors.extensionpoint.name" schema="schema/contributors.exsd"/>
- <extension-point id="extensions" name="%extensions.extensionpoint.name" schema="schema/extensions.exsd"/>
-
- <extension
- point="org.eclipse.debug.core.launchConfigurationTypes">
- <launchConfigurationType
- name="%Launch.localProxy"
- delegate="org.eclipse.jem.internal.proxy.remote.LocalProxyLaunchDelegate"
- category="org.eclipse.jem.proxy"
- modes="run"
- id="org.eclipse.jem.proxy.LocalProxyLaunchConfigurationType"
- sourceLocatorId="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"
- sourcePathComputerId="org.eclipse.jdt.launching.sourceLookup.javaSourcePathComputer">
- </launchConfigurationType>
- </extension>
-
-</plugin>
diff --git a/plugins/org.eclipse.jem.proxy/proxy.jars b/plugins/org.eclipse.jem.proxy/proxy.jars
deleted file mode 100644
index 10aede430..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy.jars
+++ /dev/null
@@ -1,4 +0,0 @@
-proxycommon.jar=/org.eclipse.jem.proxy/common_bin/
-initparser.jar=/org.eclipse.jem.proxy/common_bin/
-remotecommon.jar=/org.eclipse.jem.proxy/common_bin/
-vm/remotevm.jar=/org.eclipse.jem.proxy/vm_bin/ \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/awt/IStandardAwtBeanProxyFactory.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/awt/IStandardAwtBeanProxyFactory.java
deleted file mode 100644
index 43bb8a5a5..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/awt/IStandardAwtBeanProxyFactory.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.eclipse.jem.internal.proxy.awt;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: IStandardAwtBeanProxyFactory.java,v $
- * $Revision: 1.3 $ $Date: 2005/05/11 19:01:12 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.core.IBeanProxyFactory;
-/**
- * The Standard awt bean proxy factory.
- * This is the Interface that the desktop will talk
- * to.
- * Creation date: (12/3/99 11:52:09 AM)
- * @author: Joe Winchester
- */
-public interface IStandardAwtBeanProxyFactory extends IBeanProxyFactory {
- public static final String REGISTRY_KEY = "standard-java.awt"; //$NON-NLS-1$
-
-/**
- * Return a new bean proxy for the dimension argument
- * Creation date: (12/3/99 11:52:20 AM)
- * @author Joe Winchester
- */
-public IDimensionBeanProxy createDimensionBeanProxyWith(int width, int height);
-/**
- * Return a new bean proxy for the point argument
- * Creation date: (12/3/99 11:52:20 AM)
- * @author Joe Winchester
- */
-public IPointBeanProxy createPointBeanProxyWith(int x, int y);
-/**
- * Return a new bean proxy for the rectangle argument
- * Creation date: (12/3/99 11:52:20 AM)
- * @author Joe Winchester
- */
-public IRectangleBeanProxy createBeanProxyWith(int x, int y, int width, int height);
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/awt/JavaStandardAwtBeanConstants.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/awt/JavaStandardAwtBeanConstants.java
deleted file mode 100644
index c40e9c2b0..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/awt/JavaStandardAwtBeanConstants.java
+++ /dev/null
@@ -1,254 +0,0 @@
-package org.eclipse.jem.internal.proxy.awt;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: JavaStandardAwtBeanConstants.java,v $
- * $Revision: 1.3 $ $Date: 2005/05/11 19:01:12 $
- */
-
-
-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;
-}
-
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/BaseProxyFactoryRegistry.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/BaseProxyFactoryRegistry.java
deleted file mode 100644
index 1faf17954..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/BaseProxyFactoryRegistry.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- * $RCSfile: BaseProxyFactoryRegistry.java,v $
- * $Revision: 1.1 $ $Date: 2005/06/15 20:19:11 $
- */
-package org.eclipse.jem.internal.proxy.core;
-
-/**
- * This is the Base Registry that all implementations should subclass.
- * <p>
- * It is not meant to be used by customers. It provides public functions only for access of individual implementations.
- * Customers should only access {@link org.eclipse.jem.internal.proxy.core.ProxyFactoryRegistry}.
- *
- * @since 1.1.0
- */
-public abstract class BaseProxyFactoryRegistry extends ProxyFactoryRegistry {
-
- private final String registryTypeID;
-
- /**
- * Construct with registry type ID. The type id should be provided by
- * each implementation. This will be used to provide specific type
- * registrations through contributions.
- *
- * @param registryTypeID
- *
- * @since 1.1.0
- */
- protected BaseProxyFactoryRegistry(String registryTypeID) {
- super();
- this.registryTypeID = registryTypeID;
- }
-
- /**
- * Return the reqistry type id.
- * @return
- *
- * @since 1.1.0
- */
- public String getRegistryTypeID() {
- return registryTypeID;
- }
-
- /**
- Register the current registered bean proxy factory to be used for creating IBeanProxy instances
- */
- public void registerBeanProxyFactory(IStandardBeanProxyFactory aStandardFactory) {
- fCurrentStandardBeanProxyFactory = aStandardFactory;
- }
-
- /**
- Register a factory to be used for creating IBeanProxy instances
- */
- public void registerBeanProxyFactory(String packageName, IBeanProxyFactory aFactory) {
- fRegisteredExtensionBeanProxyFactories.put(packageName, aFactory);
- }
-
- /**
- Register the current registered bean type proxy factory to be used for creating IBeanTypeProxy instances
- */
- public void registerBeanTypeProxyFactory(IStandardBeanTypeProxyFactory aStandardFactory) {
- fCurrentStandardBeanTypeProxyFactory = aStandardFactory;
- }
-
- /**
- Register a factory to be used for creating IBeanTypeProxy instances
- */
- public void registerBeanTypeProxyFactory(String packageName, IBeanTypeProxyFactory aFactory) {
- fRegisteredExtensionBeanTypeProxyFactories.put(packageName, aFactory);
- }
-
- /**
- * Set the Method Proxy Factory for this VM.
- * Creation date: (3/13/00 10:58:19 AM)
- */
- public void registerMethodProxyFactory(IMethodProxyFactory newMethodProxyFactory) {
- fMethodProxyFactory = newMethodProxyFactory;
- }
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/CollectionBeanProxyWrapper.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/CollectionBeanProxyWrapper.java
deleted file mode 100644
index 1cd13f976..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/CollectionBeanProxyWrapper.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.core;
-/*
- * $RCSfile: CollectionBeanProxyWrapper.java,v $
- * $Revision: 1.7 $ $Date: 2005/06/21 19:36:48 $
- */
-
-import org.eclipse.core.runtime.*;
-/**
- * This is a wrapper for an java.util.Collection proxy.
- * It provides the collection methods to interface to
- * the proxy.
- */
-
-public class CollectionBeanProxyWrapper {
- protected final IBeanProxy fCollection;
- protected final JavaStandardBeanProxyConstants fConstants;
-
- /**
- * Construct with the collection.
- */
- public CollectionBeanProxyWrapper(IBeanProxy aCollectionProxy) {
- if (!aCollectionProxy.getTypeProxy().isKindOf(aCollectionProxy.getProxyFactoryRegistry().getBeanTypeProxyFactory().getBeanTypeProxy("java.util.Collection"))) //$NON-NLS-1$
- throw new ClassCastException(java.text.MessageFormat.format(ProxyMessages.ClassCast_EXC__IncorrectType, new Object[] {aCollectionProxy.getTypeProxy().getTypeName(), "java.util.Collection"}));
- else
- fCollection = aCollectionProxy;
-
- fConstants = JavaStandardBeanProxyConstants.getConstants(aCollectionProxy.getProxyFactoryRegistry());
- }
-
- /**
- * Answer the collection proxy that this is wrappering.
- */
- public IBeanProxy getBeanProxy() {
- return fCollection;
- }
-
- /**
- * equals - Pass it on to the proxy to handle this.
- */
- public boolean equals(Object object) {
- return fCollection.equals(object);
- }
-
- /**
- * hashCode - Pass it on to the proxy to handle this.
- */
- public int hashCode() {
- return fCollection.hashCode();
- }
-
- /**
- * Collection accessors
- */
- public boolean add(IBeanProxy object) throws ThrowableProxy {
- return ((IBooleanBeanProxy) fConstants.getCollectionAdd().invoke(fCollection, object)).booleanValue();
- }
- public boolean addAll(IBeanProxy collection) throws ThrowableProxy {
- return ((IBooleanBeanProxy) fConstants.getCollectionAddAll().invoke(fCollection, collection)).booleanValue();
- }
- public void clear() throws ThrowableProxy {
- fConstants.getCollectionClear().invoke(fCollection);
- }
- public boolean contains(IBeanProxy object) {
- try {
- return ((IBooleanBeanProxy) fConstants.getCollectionContains().invoke(fCollection, object)).booleanValue();
- } catch (ThrowableProxy e) {
- // This shouldn't occur, so just log it.
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, ProxyMessages.UnexpectedException_EXC_, e));
- return false;
- }
- }
- public boolean containsAll(IBeanProxy collection) {
- try {
- return ((IBooleanBeanProxy) fConstants.getCollectionContainsAll().invoke(fCollection, collection)).booleanValue();
- } catch (ThrowableProxy e) {
- // This shouldn't occur, so just log it.
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, ProxyMessages.UnexpectedException_EXC_, e));
- return false;
- }
- }
- public boolean isEmpty() {
- try {
- return ((IBooleanBeanProxy) fConstants.getCollectionIsEmpty().invoke(fCollection)).booleanValue();
- } catch (ThrowableProxy e) {
- // This shouldn't occur, so just log it.
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, ProxyMessages.UnexpectedException_EXC_, e));
- return true;
- }
- }
- public IteratorBeanProxyWrapper iterator() {
- try {
- IBeanProxy itr = fConstants.getCollectionIterator().invoke(fCollection);
- if (itr != null)
- return new IteratorBeanProxyWrapper(itr);
- else
- return null;
- } catch (ThrowableProxy e) {
- // This shouldn't occur, so just log it.
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, ProxyMessages.UnexpectedException_EXC_, e));
- return null;
- }
- }
- public boolean remove(IBeanProxy object) throws ThrowableProxy {
- return ((IBooleanBeanProxy) fConstants.getCollectionRemove().invoke(fCollection, object)).booleanValue();
- }
- public boolean removeAll(IBeanProxy collection) throws ThrowableProxy {
- return ((IBooleanBeanProxy) fConstants.getCollectionRemoveAll().invoke(fCollection, collection)).booleanValue();
- }
- public boolean retainAll(IBeanProxy collection) throws ThrowableProxy {
- return ((IBooleanBeanProxy) fConstants.getCollectionRetainAll().invoke(fCollection, collection)).booleanValue();
- }
- public int size() {
- try {
- return ((IIntegerBeanProxy) fConstants.getCollectionSize().invoke(fCollection)).intValue();
- } catch (ThrowableProxy e) {
- // This shouldn't occur, so just log it.
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, ProxyMessages.UnexpectedException_EXC_, e));
- return 0;
- }
- }
- public IArrayBeanProxy toArray() throws ThrowableProxy {
- return (IArrayBeanProxy) fConstants.getCollectionToArray().invoke(fCollection);
- }
- public IArrayBeanProxy toArray(IArrayBeanProxy array) throws ThrowableProxy {
- return (IArrayBeanProxy) fConstants.getCollectionToArrayWithArray().invoke(fCollection, array);
- }
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ConfigurationContributorAdapter.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ConfigurationContributorAdapter.java
deleted file mode 100644
index e2fea6e0e..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ConfigurationContributorAdapter.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: ConfigurationContributorAdapter.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:53:46 $
- */
-package org.eclipse.jem.internal.proxy.core;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-
-/**
- * This is an implementation of IConfigurationContributor that does nothing. It
- * can be subclassed to provide specific overrides.
- * @since 1.0.0
- */
-public class ConfigurationContributorAdapter implements IConfigurationContributor {
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IConfigurationContributor#initialize(org.eclipse.jem.internal.proxy.core.IConfigurationContributionInfo)
- */
- public void initialize(IConfigurationContributionInfo info) {
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IConfigurationContributor#contributeClasspaths(org.eclipse.jem.internal.proxy.core.IConfigurationContributionController)
- */
- public void contributeClasspaths(IConfigurationContributionController controller) throws CoreException {
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IConfigurationContributor#contributeToConfiguration(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
- */
- public void contributeToConfiguration(ILaunchConfigurationWorkingCopy config) throws CoreException {
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IConfigurationContributor#contributeToRegistry(org.eclipse.jem.internal.proxy.core.ProxyFactoryRegistry)
- */
- public void contributeToRegistry(ProxyFactoryRegistry registry) {
- }
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/EnumerationBeanProxyWrapper.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/EnumerationBeanProxyWrapper.java
deleted file mode 100644
index 2737f8cde..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/EnumerationBeanProxyWrapper.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.core;
-/*
- * $RCSfile: EnumerationBeanProxyWrapper.java,v $
- * $Revision: 1.9 $ $Date: 2005/06/21 19:36:48 $
- */
-
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-/**
- * This is a wrapper for an java.util.Enumeration proxy.
- * It provides the Enumeration methods to interface to
- * the proxy.
- */
-
-public class EnumerationBeanProxyWrapper {
- protected final IBeanProxy fEnumeration;
- protected final JavaStandardBeanProxyConstants fConstants;
-
- /**
- * Construct with the collection.
- */
- public EnumerationBeanProxyWrapper(IBeanProxy anEnumerationProxy) {
-
- fEnumeration = anEnumerationProxy;
-
- fConstants = JavaStandardBeanProxyConstants.getConstants(anEnumerationProxy.getProxyFactoryRegistry());
- }
-
- /**
- * Answer the iterator proxy that this is wrappering.
- */
- public IBeanProxy getBeanProxy() {
- return fEnumeration;
- }
-
- /**
- * equals - Pass it on to the proxy to handle this.
- */
- public boolean equals(Object object) {
- return fEnumeration.equals(object);
- }
-
- /**
- * hashCode - Pass it on to the proxy to handle this.
- */
- public int hashCode() {
- return fEnumeration.hashCode();
- }
-
- /**
- * Enumeration accessors
- */
- public boolean hasMoreElements() {
- try {
- return ((IBooleanBeanProxy) fConstants.getEnumerationHasMoreElements().invoke(fEnumeration)).booleanValue();
- } catch (ThrowableProxy e) {
- // This shouldn't occur, so just log it.
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, ProxyMessages.UnexpectedException_EXC_, e));
- return false;
- }
- }
- public IBeanProxy nextElement() throws ThrowableProxy {
- return fConstants.getEnumerationNextElement().invoke(fEnumeration);
- }
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/Expression.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/Expression.java
deleted file mode 100644
index 10f452ab9..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/Expression.java
+++ /dev/null
@@ -1,2501 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: Expression.java,v $
- * $Revision: 1.12 $ $Date: 2005/06/22 21:05:17 $
- */
-package org.eclipse.jem.internal.proxy.core;
-
-import java.text.MessageFormat;
-import java.util.*;
-
-import org.eclipse.jem.internal.proxy.initParser.tree.*;
-
-/**
- * This is implementation of IExpression. It encapsulates much of the processing required
- * into a common form that will be turned into simple push/pop/evaluate type of interaction with the
- * actual other side. All registry specific implementations of IExpression must subclass this class.
- * <p>
- * It will maintain a stack of the expressions. As the expressions come in they will be stacked if not
- * able to be executed immediately. The expressions come to this class in an outside to inside order,
- * but they need to be processed in an inside-out order instead.
- * <p>
- * Subclasses will be used for the different types of proxy interfaces. The abstract methods will
- * then be the simple interface.
- * <p>
- * It is not meant for subclasses to override the actual create expression methods because the processing the stack
- * is very sensitive and must execute in the proper sequence. So the create methods are final for this reason.
- * <p>
- * This class is not thread-safe.
- * <p>
- * This class also has API of its own and can be used by customers for advanced usage. Those advanced API are
- * listed on each method as to whether it is customer API or implementers API (i.e. API for implementers of
- * expression subclasses to use).
- *
- *
- * @since 1.0.0
- */
-public abstract class Expression implements IExpression {
-
- /*
- * We have stack here, but rather than create a class that does the
- * stack protocol, will simply have some private methods to do
- * the same thing for the stack. (Note: Can't use java.util.Stack
- * because that is a synchronized class, and don't want the overhead).
- *
- * The purpose of the stack is to stack up expressions that have not yet
- * been evaluated.
- *
- * Each expression type will control the content of what it pushes and pops.
- * The expression type will be the last thing it pushes so that on popping
- * we know what kind of expression is now completed and ready for evaluation.
- */
- private ArrayList controlStack = new ArrayList(30);
-
- protected final ProxyFactoryRegistry registry;
- protected final IStandardBeanProxyFactory beanProxyFactory;
- protected Boolean traceFlag;
-
- /**
- * Answer whether trace has been explicitly set.
- * This is not in the IExpression interface because it is for advanced users.
- * @return
- *
- * @since 1.1.0
- */
- public boolean isTraceSet() {
- return traceFlag != null;
- }
-
- /**
- * Answer if trace is on. If not explicitly set this will answer false.
- * Use {@link Expression#isTraceSet()} first to determine if this
- * should be called or not.
- * This is not in the IExpression interface because it is for advanced users.
- * @return
- *
- * @since 1.1.0
- */
- public boolean isTrace() {
- return traceFlag != null ? traceFlag.booleanValue() : false;
- }
-
- /**
- * Explicitly set the trace flag. This will only be honoured before any
- * expressions have been created. After that this will be ignored.
- * The trace is initially set to use default. Once set it cannot be unset.
- * This is not in the IExpression interface because it is for advanced users.
- * @param trace
- *
- * @since 1.1.0
- */
- public void setTrace(boolean trace) {
- traceFlag = Boolean.valueOf(trace);
- }
-
- /**
- * Push an object onto the control stack.
- *
- * @param o
- *
- * @since 1.0.0
- */
- protected final void push(Object o) {
- controlStack.add(o);
- }
-
- /**
- * Pop an object off of the control stack
- * @return
- *
- * @since 1.0.0
- */
- protected final Object pop() {
- return controlStack.remove(controlStack.size()-1);
- }
-
- /**
- * Peek at an object from the control stack. <code>fromTop</code> is how far from the top of the stack to look.
- * If it one, then it is the top entry, two is the next one down. Zero is an invalid value for the parameter.
- * @param fromTop How far from the top to peek. <code>1</code> is the top, not zero.
- * @return
- *
- * @since 1.0.0
- */
- protected final Object peek(int fromTop) {
- // 1 means the top, 2 is the next one down.
- return controlStack.get(controlStack.size()-fromTop);
- }
-
- /*
- * Expression type constants.
- */
-
- /*
- * ARRAY ACCESS expression.
- * The expression stack will have:
- * IExpression.ARRAYACCESS_ARRAY
- * IExpression.ARRAYACCESS_INDEX (for 1 to n times depending on index count)
- * PROCESS_EXPRESSION
- *
- * The value stack will have
- * ARRAYACCESS
- * Integer(index count)
- */
- private static final Integer ARRAYACCESS_INDEX_1 = new Integer(1); // Use in normal case of one index count. Saves object creation.
-
- /*
- * ARRAY CREATION expression.
- * The expression stack will have:
- * ARRAYCREATION_INITIALIZER - if hasInitializer
- * IExpression.ARRAYCREATION_DIMENSION (for 0 to n times depending on dimension count)
- * PROCESS_EXPRESSION
- *
- * The value stack will have
- * ARRAYCREATION
- * type (either a string representing the type, or an IBeanProxyType representing the type).
- * Integer(dimension count) (if zero then there is an initializer)
- *
- *
- * Note: Array Initializer works with this in that it will peek into the value stack two entries down
- * to find the type of array it should be creating.
- */
- private static final Integer ARRAY_CREATION_DIMENSION_1 = new Integer(1); // Use in normal case of one dimension. Save object creation.
- private static final Integer ARRAY_CREATION_DIMENSION_0 = new Integer(0); // Use in normal case of initializer. Save object creation.
- private static final ForExpression ARRAY_INITIALIZER = new ExpressionEnum(Integer.MIN_VALUE+1, "Array Initializer Internal"); //$NON-NLS-1$
-
- /*
- * ARRAY INITIALIZER expression
- * The expression stack will have:
- * IExpression.ARRAYINITIALIZER_EXPRESSION (for n times depending on number of expressions count)
- * PROCESS_EXPRESSION
- *
- * The value stack will have
- * ARRAYINITIALIZER
- * type (either a string representing the type, or an IBeanProxyType representing the type).
- * I.e. if array being created is int[][], the value pushed here will be int[]. This is because when created
- * the array will wind up with int[expressioncount][] in the end.
- * Integer (expression count)
- *
- * Note: Imbedded Array Initializers works with this in that it will peek into the value stack two entries down
- * to find the type of array it should be creating.
- */
- private static final Integer ARRAYINITIALIZER_COUNT_0 = new Integer(0); // Use in normal case of empty array. Save object creation.
- private static final Integer ARRAYINITIALIZER_COUNT_1 = new Integer(1); // Use in normal case of one element array. Save object creation.
- private static final Integer ARRAYINITIALIZER_COUNT_2 = new Integer(2); // Use in normal case of two element array. Save object creation.
-
- /*
- * CAST expression.
- * The expression stack will have:
- * IExpression.CAST_EXPRESSION
- * PROCESS_EXPRESSION
- *
- * The value stack will have:
- * CAST
- * type (either a string representing the type, or an IBeanProxyType representing the type).
- */
-
- /*
- * CLASS INSTANCE CREATION expression.
- * The expression stack will have:
- * IExpression.CLASSINSTANCECREATION_ARGUMENT (for 0 to n times depending on argument count)
- * PROCESS_EXPRESSION
- *
- * The value stack will have
- * CLASSINSTANCECREATION
- * type (either a string representing the type, or an IBeanProxyType representing the type).
- * Integer(argument count)
- *
- *
- * Note: Array Initializer works with this in that it will peek into the value stack two entries down
- * to find the type of array it should be creating.
- */
- private static final Integer CLASS_INSTANCE_CREATION_ARGUMENTS_1 = new Integer(1); // Use in normal case of one argument. Save object creation.
- private static final Integer CLASS_INSTANCE_CREATION_ARGUMENTS_0 = new Integer(0); // Use in normal case of no arguments (default ctor). Save object creation.
-
- /*
- * CONDITIONAL expression.
- * Since this can cause skipping of expressions (e.g. if condition is false, then the true condition should not be evaluated),
- * we need to have a process expression and process call to the other side for each expression so that it can
- * determine if it should be ignored or not.
- *
- * The expression stack will have:
- * IExpression.CONDITIONAL_CONDITION
- * PROCESS_EXPRESSION
- * IExpression.CONDITIONAL_TRUE
- * PROCESS_EXPRESSION
- * IExpression.CONDITIONAL_FALSE
- * PROCESS_EXPRESSION
- *
- * The value stack will have:
- * CONDITIONAL
- * CONDITIONAL_CONDITION
- * CONDITIONAL
- * CONDITIONAL_TRUE
- * CONDITIONAL
- * CONDITIONAL_FALSE
- *
- */
-
- /*
- * PREFIX expression.
- * The expression stack will have:
- * IExpression.PREFIX_OPERAND
- * PROCESS_EXPRESSION
- *
- * The value stack will have:
- * PREFIX
- * operator (using Integer prefix operator constants defined here)
- */
-
- /*
- * INFIX expression.
- * Since two types of infix operators (conditional and AND or) can cause skipping of expressions (e.g. once
- * conditional and sees a false expression, the rest of the expressions are skipped and should not be evaluated),
- * we need to have a process expression and process call to the other side for each expression so that it can
- * determine if it should be ignored or not.
- *
- * The expression stack will have:
- * IExpression.INFIX_LEFT
- * PROCESS_EXPRESSION
- * IExpression.INFIX_RIGHT
- * PROCESS_EXPRESSION
- * (for 0 to n times depending upon extended count)
- * IExpression.INFIX_EXTENDED
- * PROCESS_EXPRESSION
- *
- * The value stack will have:
- * INFIX
- * operator (using Integer infix operator constants defined here)
- * IN_LEFT
- * (for (extendedCount) times) This will cover the right one and all but last extended
- * INFIX
- * operator (using Integer infix operator constants defined here)
- * IN_OTHER
- * INFIX
- * operator (using Integer infix operator constants defined here)
- * IN_LAST (this is covers either the right one if no extended, or the last extended)
- */
-
- /*
- * INSTANCEOF expression.
- * The expression stack will have:
- * IExpression.INSTANCEOF_EXPRESSION
- * PROCESS_EXPRESSION
- *
- * The value stack will have:
- * INSTANCEOF
- * type (either a string representing the type, or an IBeanProxyType representing the type).
- */
-
- /*
- * Field access expression.
- * The expression stack will have:
- * IExpression.FIELD_RECEIVER (if hasReceiver is true)
- * PROCESS_EXPRESSION
- *
- * The value stack will have:
- * FIELDACCESS
- * name (the name of the field)
- * Boolean (true if has receiver)
- */
-
- /*
- * Method invocation expression.
- * The expression stack will have:
- * IExpression.METHOD_RECEIVER (if hasReceiver is true)
- * IExpression.METHOD_ARGUMENT (0 to n times for how many arguments).
- * PROCESS_EXPRESSION
- *
- * The value stack will have:
- * METHODINVOCATION
- * name (the name of the method)
- * Boolean (true if has receiver)
- * argCount (the number of arguments).
- */
- private static final Integer METHOD_ARGUMENTS_1 = new Integer(1); // Use in normal case of one argument. Save object creation.
- private static final Integer METHOD_ARGUMENTS_0 = new Integer(0); // Use in normal case of no arguments. Save object creation.
-
-
- /*
- * Assignment expression
- * The expression stack will have:
- * IExpression.ASSIGNMENT_RIGHT
- * IExpression.ASSIGNMENT_LEFT
- * PROCESS_EXPRESSION
- *
- * The value stack will have:
- * ASSIGNMENT
- * left expression (variable reference)
- * right expression
- */
-
- /*
- * Assignment proxy expression
- * The expression stack will have:
- * IExpression.ASSIGNMENT_RIGHT
- * PROCESS_EXPRESSION
- *
- * The value stack will have:
- * ASSIGNMENT_PROXY
- * expression proxy (an expression proxy)
- */
-
- /*
- * Next valid for expression stack. This is kept as a stack also.
- * As the expressions come in, the appropriate order (in reverse)
- * of expression types will be pushed, and then popped as they
- * come in.
- *
- * Since we can't have an array list of ints, will simulate the
- * stack here.
- */
- private ForExpression[] nextForExpressionStack = new ForExpression[30];
- private int nextForExpressionStackPos = -1; // Position of top entry in stack.
- private boolean expressionValid = true; // Is the expression currently valid.
- private String invalidMsg = null; // Msg for being invalid if default msg not sufficient.
- private List expressionProxies; // List of expression proxies. The index of the proxy is its id. This list must never shrink in size.
-
- // A MarkEntry. To allow restore in case of error.
- private static class MarkEntry {
- public int markID;
- public int controlStackPos; // Position of control stack at time of mark.
- public int nextExpressionStackPos; // Position of nextForExpression stack at time of mark.
- public int expressionProxiesPos; // Position of expressionProxies list at time of mark.
- }
-
- private int highestMarkID = 0; // Next mark id. '0' is invalid, as in no marks. This is incremented for each new mark. Never decremented.
- private MarkEntry currentMarkEntry; // Just a convienence to the current mark entry so no need to look into the list every time.
- private List markEntries; // Stack of mark entries.
-
- // This class is here so we can add our special internal ForExpression: PROCESS_EXPRESSION. These are never used outside Expression.
- private static class ExpressionEnum extends ForExpression {
-
- public ExpressionEnum(int value, String name) {
- super(value, name);
- }
-
- }
-
- // This is pushed onto the next expression stack, and when it is popped, then the expression is complete and ready to be pushed to the proxy side.
- private static final ForExpression PROCESS_EXPRESSION = new ExpressionEnum(Integer.MIN_VALUE, "Process Expression"); //$NON-NLS-1$
-
- // This is pushed onto the next expression stack for end block and will test if this there to make sure that it is being called correctly.
- private static final ForExpression BLOCKEND_EXPRESSION = new ExpressionEnum(PROCESS_EXPRESSION.getValue()-2, "End Block Expression"); //$NON-NLS-1$
-
- // This is pushed onto the next expression stack for end try and will test if this there to make sure that it is being called correctly.
- private static final ForExpression TRYEND_EXPRESSION = new ExpressionEnum(BLOCKEND_EXPRESSION.getValue()-1, "End Try Expression"); //$NON-NLS-1$
-
- // This is pushed onto the next expression stack for catch and will test if this there to make sure that it is being called correctly.
- private static final ForExpression TRYCATCH_EXPRESSION = new ExpressionEnum(TRYEND_EXPRESSION.getValue()-1, "Catch Expression"); //$NON-NLS-1$
-
-
- // This is pushed onto the next expression stack for begin thread transfer and will test if this there to make sure that it is being called correctly.
- private static final ForExpression THREADTRANSFER_EXPRESSION = new ExpressionEnum(TRYCATCH_EXPRESSION.getValue()-1, "Catch Expression"); //$NON-NLS-1$
-
- // This is pushed onto the next expression stack for end subexpression and will test if this there to make sure that it is being called correctly.
- private static final ForExpression SUBEXPRESSIONEND_EXPRESSION = new ExpressionEnum(THREADTRANSFER_EXPRESSION.getValue()-2, "End Subexpression"); //$NON-NLS-1$
-
- /**
- * Check the for expression, and if legal, set to the next valid for expression type,
- * if it can. If the stack entry is ROOTEXPRESSION, and the forExpression is ROOTEXPRESSION,
- * then the expression is allowed, but it is not popped. It must be popped later when appropriate.
- * <p>
- * This is for "block" expressions. We don't want to pop down the stack passed the ROOTEXPRESSION
- * that got added by the create block until we get an end block. That allows root expressions to
- * be added to the block without the stack popping up past the block start in the stack.
- *
- * @param forExpression
- * @throws IllegalStateException
- *
- * @since 1.0.0
- */
- protected final void checkForExpression(ForExpression forExpression) throws IllegalStateException {
- if (expressionValid) {
- if (nextForExpressionStackPos == -1)
- if (forExpression == ForExpression.ROOTEXPRESSION)
- return; // valid. We are at the root (i.e. nothing is waiting).
- else
- ; // invalid. drop through
- else if (nextForExpressionStack[nextForExpressionStackPos] == forExpression) {
- // Valid, either the root expression matched (We don't implicitly pop those. That needs to be done explicitly).
- // Or we matched non-root, those will be popped.
- if (forExpression != ForExpression.ROOTEXPRESSION) {
- popForExpression(); // Pop the stack since stack not a root expression.
- }
- return;
- }
- } else {
- String expMsg = invalidMsg != null ? MessageFormat.format(ProxyMessages.Expression_InInvalidStateDueTo_EXC_, new Object[] {invalidMsg}) : ProxyMessages.Expression_InInvalidState_EXC_;
- throw new IllegalStateException(expMsg);
- }
-
- // If we got here, then invalid.
- ForExpression expected = nextForExpressionStack[nextForExpressionStackPos];
- expressionValid = false;
- throw new IllegalStateException(MessageFormat.format(ProxyMessages.Expression_TypeSentInInvalidOrder_EXC_, new Object[] {forExpression, expected}));
- }
-
- /**
- * Pop the top for expression, whatever it is.
- * @throws IllegalStateException thrown if try to pop through through the current mark entry. The endMark is the only one who can do this.
- * @since 1.1.0
- */
- protected final void popForExpression() throws IllegalStateException {
- if (expressionValid && nextForExpressionStackPos >= 0) {
- nextForExpressionStackPos--;
- if (currentMarkEntry != null && nextForExpressionStackPos < currentMarkEntry.nextExpressionStackPos) {
- nextForExpressionStackPos++; // Restore to what it was
- throwInvalidMarkNesting();
- }
- }
- }
-
- /*
- * @throws IllegalStateException
- *
- * @since 1.1.0
- */
- private void throwInvalidMarkNesting() throws IllegalStateException {
- expressionValid = false;
- throw new IllegalStateException(MessageFormat.format(ProxyMessages.Expression_InvalidMarkNesting, new Object[] {new Integer(currentMarkEntry != null ? currentMarkEntry.markID : 0)}));
- }
-
- /**
- * Peek into the for expression stack to see if the top entry is the passed in value. It will
- * not pop the stack nor throw any exceptions.
- *
- * @param forExpression The top expression flag will be compared against this value.
- * @return <code>true</code> if the top expression equals the parameter passed in.
- *
- * @since 1.0.0
- */
- protected final boolean peekForExpression(ForExpression forExpression) {
- if (expressionValid) {
- if (nextForExpressionStackPos == -1)
- if (forExpression == ForExpression.ROOTEXPRESSION)
- return true; // valid. We are at the root (i.e. nothing is waiting).
- else
- ; // invalid. drop through
- else if (nextForExpressionStack[nextForExpressionStackPos] == forExpression)
- return true; // Valid, the top expression matched.
- }
- return false;
- }
-
- /**
- * Mark this expression as now invalid.
- */
- protected final void markInvalid() {
- expressionValid = false;
- }
-
- /**
- * Mark this expression as now invalid, but supply a message to go with it.
- *
- * @param msg
- *
- * @since 1.0.0
- */
- protected final void markInvalid(String msg) {
- invalidMsg = msg;
- markInvalid();
- }
-
- public void close() {
- nextForExpressionStackPos = -1;
- controlStack.clear();
- if (expressionProxies != null)
- markAllProxiesNotResolved(expressionProxies); // They weren't processed, close must of been called early.
- expressionProxies = null;
- markEntries = null;
- expressionValid = false;
- closeProxy();
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#isValid()
- */
- public boolean isValid() {
- return expressionValid;
- }
-
- /*
- * Check if the pending expression is ready for evaluation.
- * It is complete if the next entry on the stack is a PROCESS_EXPRESSION
- */
- private boolean expressionReady() {
- if (nextForExpressionStackPos >= 0 && nextForExpressionStack[nextForExpressionStackPos] == PROCESS_EXPRESSION) {
- checkForExpression(PROCESS_EXPRESSION); // pop it
- return true;
- } else
- return false;
- }
-
- /*
- * Push the next expression type.
- */
- private void pushForExpression(ForExpression nextExpression) {
- if (++nextForExpressionStackPos >= nextForExpressionStack.length) {
- // Increase stack size.
- ForExpression[] newStack = new ForExpression[nextForExpressionStackPos*2]; // So room to grow without excessive allocations.
- System.arraycopy(nextForExpressionStack, 0, newStack, 0, nextForExpressionStack.length);
- nextForExpressionStack = newStack;
- }
- nextForExpressionStack[nextForExpressionStackPos] = nextExpression;
- }
-
- /*
- * Check if expression is complete, and if it is, process it.
- */
- private void processExpression() {
- while (expressionReady()) {
- try {
- // We've received all of the expressions for the expression, so process it.
- int expType = ((InternalExpressionTypes) pop()).getValue();
- switch (expType) {
- case InternalExpressionTypes.CAST_EXPRESSION_VALUE:
- pushCastToProxy((IProxyBeanType) pop());
- break;
- case InternalExpressionTypes.INSTANCEOF_EXPRESSION_VALUE:
- pushInstanceofToProxy((IProxyBeanType) pop());
- break;
- case InternalExpressionTypes.PREFIX_EXPRESSION_VALUE:
- pushPrefixToProxy((PrefixOperator)pop());
- break;
- case InternalExpressionTypes.INFIX_EXPRESSION_VALUE:
- pushInfixToProxy((InfixOperator) pop(), (InternalInfixOperandType) pop());
- break;
- case InternalExpressionTypes.ARRAY_ACCESS_EXPRESSION_VALUE:
- pushArrayAccessToProxy(((Integer) pop()).intValue());
- break;
- case InternalExpressionTypes.ARRAY_CREATION_EXPRESSION_VALUE:
- pushArrayCreationToProxy((IProxyBeanType) pop(), ((Integer) pop()).intValue());
- break;
- case InternalExpressionTypes.ARRAY_INITIALIZER_EXPRESSION_VALUE:
- pushArrayInitializerToProxy((IProxyBeanType) pop(), ((Integer) pop()).intValue(), ((Integer) pop()).intValue());
- break;
- case InternalExpressionTypes.CLASS_INSTANCE_CREATION_EXPRESSION_VALUE:
- pushClassInstanceCreationToProxy((IProxyBeanType) pop(), ((Integer) pop()).intValue());
- break;
- case InternalExpressionTypes.FIELD_ACCESS_EXPRESSION_VALUE:
- pushFieldAccessToProxy(pop(), ((Boolean) pop()).booleanValue());
- break;
- case InternalExpressionTypes.METHOD_EXPRESSION_VALUE:
- pushMethodInvocationToProxy(pop(), ((Boolean) pop()).booleanValue(), ((Integer) pop()).intValue());
- break;
- case InternalExpressionTypes.CONDITIONAL_EXPRESSION_VALUE:
- pushConditionalToProxy((InternalConditionalOperandType) pop());
- break;
- case InternalExpressionTypes.ASSIGNMENT_PROXY_EXPRESSION_VALUE:
- pushAssignmentToProxy((ExpressionProxy) pop());
- break;
- case InternalExpressionTypes.ASSIGNMENT_EXPRESSION_VALUE:
- pushAssignmentToProxy();
- break;
- case InternalExpressionTypes.BLOCK_END_EXPRESSION_VALUE:
- pushBlockEndToProxy(((Integer) pop()).intValue());
- break;
- case InternalExpressionTypes.TRY_END_EXPRESSION_VALUE:
- pushTryEndToProxy(((Integer) pop()).intValue());
- break;
- case InternalExpressionTypes.THROW_EXPRESSION_VALUE:
- pushThrowToProxy();
- break;
- case InternalExpressionTypes.IF_TEST_EXPRESSION_VALUE:
- pushIfTestToProxy();
- break;
- case InternalExpressionTypes.IF_ELSE_EXPRESSION_VALUE:
- pushIfElseToProxy((InternalIfElseOperandType) pop());
- break;
- case InternalExpressionTypes.SUBEXPRESSION_END_EXPRESSION_VALUE:
- pushSubexpressionEndToProxy(((Integer) pop()).intValue());
- break;
- default:
- internalProcessUnknownExpressionType(expType);
- break;
- }
- } catch (RuntimeException e) {
- markInvalid();
- throw e;
- }
- }
- }
-
-
- private void internalProcessUnknownExpressionType(int expressionType) throws IllegalArgumentException {
- if (!processUnknownExpressionType(expressionType))
- throw new IllegalArgumentException();
- }
-
- /**
- * An unknown expression type was found in the processing of expression stack. Subclasses can override
- * to process new types of expressions.
- * <p>
- * Overrides must return <code>true</code> if they processed the expression type. If they return <code>false</code>
- * it means they didn't understand it either and we should do default processing for unknow type.
- * @param expressionType
- * @return <code>true</code> if type was processed, <code>false</code> if not known by subclass either.
- *
- * @since 1.0.0
- */
- protected boolean processUnknownExpressionType(int expressionType) {
- return false;
- }
-
- /**
- * Create the expression.
- *
- * @param registry
- *
- * @since 1.0.0
- */
- protected Expression(ProxyFactoryRegistry registry) {
- this.registry = registry;
- this.beanProxyFactory = this.registry.getBeanProxyFactory();
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#getRegistry()
- */
- public ProxyFactoryRegistry getRegistry() {
- return registry;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#invokeExpression()
- */
- public final void invokeExpression() throws ThrowableProxy, IllegalStateException, NoExpressionValueException {
- try {
- checkForExpression(ForExpression.ROOTEXPRESSION); // We are at the root.
- popForExpression(); // Get rid of any intermediate roots.
- checkForExpression(ForExpression.ROOTEXPRESSION); // We should be at true root now. We don't have more than one intermediate root pushed in sequence.
- List proxies = expressionProxies;
- expressionProxies = null;
- pushInvoke(processExpressionProxyCallbacks(proxies), proxies);
- } finally {
- markInvalid(); // Mark invalid so any new calls after this will fail.
- close();
- }
- }
-
- /*
- * Process the expression proxy callbacks, if any.
- * @return the number of proxies that have callbacks.
- */
- private int processExpressionProxyCallbacks(List proxies) {
- if (proxies != null) {
- // Strip list down to only those with callbacks and send on.
- int proxiesWithCallbacks = 0;
- for (ListIterator eps = proxies.listIterator(); eps.hasNext();) {
- ExpressionProxy proxy = (ExpressionProxy) eps.next();
- if (!proxy.hasListeners())
- eps.set(null); // Remove it from the list. No one cares.
- else
- proxiesWithCallbacks++;
- }
- return proxiesWithCallbacks;
- }
- return 0;
- }
-
- /**
- * Called by subclass to fill in the value of an expression proxy. See {@link Expression#pullProxyValue(int, List))} for an example of who would call it.
- * @param ep
- * @param beanproxy
- *
- * @since 1.1.0
- */
- protected void fireProxyResolved(ExpressionProxy ep, IBeanProxy beanproxy) {
- ep.fireResolved(beanproxy);
- }
-
- /**
- * Called by subclass to fire proxy was not resolved. See {@link Expression#pullProxyValue(int, List))} for an example of who would call it.
- * @param ep
- *
- * @since 1.1.0
- */
- protected void fireProxyNotResolved(ExpressionProxy ep) {
- ep.fireNotResolved();
- }
-
- /**
- * Called by subclass to fire proxy resolved to a void return type. See {@link Expression#pullProxyValue(int, List))} for an example of who would call it.
- * @param ep
- *
- * @since 1.1.0
- */
- protected void fireProxyVoid(ExpressionProxy ep) {
- ep.fireVoidResolved();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#getExpressionValue()
- */
- public final IBeanProxy getExpressionValue() throws ThrowableProxy, NoExpressionValueException, IllegalStateException {
- try {
- checkForExpression(ForExpression.ROOTEXPRESSION); // We are at the root.
- popForExpression(); // Get rid of any intermediate roots.
- checkForExpression(ForExpression.ROOTEXPRESSION); // We should be at true root now. We don't have more than one intermediate root pushed in sequence.
- List proxies = expressionProxies;
- expressionProxies = null;
- return pullProxyValue(processExpressionProxyCallbacks(proxies), proxies); // Get the top value.
- } finally {
- markInvalid(); // Mark invalid so any new calls after this will fail.
- close();
- }
- }
-
-
- /**
- * Mark the list of proxies as not resolved.
- *
- * @since 1.1.0
- */
- protected void markAllProxiesNotResolved(List proxies) {
- if (proxies != null) {
- for (ListIterator eps = proxies.listIterator(); eps.hasNext();) {
- ExpressionProxy proxy = (ExpressionProxy) eps.next();
- if (proxy != null && proxy.hasListeners())
- fireProxyNotResolved(proxy);
- }
- }
- }
-
- private int blockNumber = -1; // Current block number. This is always incrementing.
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createBlockBegin()
- */
- public final int createBlockBegin() throws IllegalStateException {
- try {
- // Blocks are special, they can be anywhere at root, of could be the true or else clause of an if/else.
- if (peekForExpression(ForExpression.ROOTEXPRESSION))
- checkForExpression(ForExpression.ROOTEXPRESSION);
- else if (peekForExpression(ForExpression.IF_TRUE))
- checkForExpression(ForExpression.IF_TRUE);
- else
- checkForExpression(ForExpression.IF_ELSE);
-
- pushForExpression(PROCESS_EXPRESSION);
- pushForExpression(BLOCKEND_EXPRESSION);
- pushForExpression(ForExpression.ROOTEXPRESSION);
-
- pushBlockBeginToProxy(++blockNumber);
- push(new Integer(blockNumber));
- push(InternalExpressionTypes.BLOCK_END_EXPRESSION);
- processExpression();
- return blockNumber;
- } catch (RuntimeException e) {
- markInvalid();
- throw e;
- }
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createBlockBreak(int)
- */
- public final void createBlockBreak(int blockNumber) throws IllegalStateException {
- try {
- checkForExpression(ForExpression.ROOTEXPRESSION);
- pushBlockBreakToProxy(blockNumber);
- processExpression();
- } catch (RuntimeException e) {
- markInvalid();
- throw e;
- }
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createBlockEnd()
- */
- public final void createBlockEnd() throws IllegalStateException {
- try {
- checkForExpression(ForExpression.ROOTEXPRESSION);
- popForExpression(); // Remove the root expression since block is done.
- checkForExpression(BLOCKEND_EXPRESSION); // This needs to be next for it to be valid.
- processExpression(); // Now let it handle the previously pushed end block, containing the block number being ended.
- } catch (RuntimeException e) {
- markInvalid();
- throw e;
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createArrayAccess(int, int)
- */
- public final void createArrayAccess(ForExpression forExpression, int indexCount) {
- try {
- checkForExpression(forExpression);
- pushForExpression(PROCESS_EXPRESSION);
- int i = indexCount;
- while (i-- > 0)
- pushForExpression(ForExpression.ARRAYACCESS_INDEX);
- pushForExpression(ForExpression.ARRAYACCESS_ARRAY);
-
- push(indexCount == 1 ? ARRAYACCESS_INDEX_1 : new Integer(indexCount));
- push(InternalExpressionTypes.ARRAY_ACCESS_EXPRESSION);
- processExpression(); // See if previous expression is ready for processing.
- } catch (RuntimeException e) {
- markInvalid();
- throw e;
- }
- }
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createArrayCreation(int, java.lang.String, int)
- */
- public final void createArrayCreation(ForExpression forExpression, String type, int dimensionExpressionCount)
- throws IllegalStateException {
- pushArrayCreation(forExpression, getProxyBeanType(type), dimensionExpressionCount);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createArrayCreation(org.eclipse.jem.internal.proxy.initParser.tree.ForExpression, org.eclipse.jem.internal.proxy.core.IProxyBeanType, int)
- */
- public final void createArrayCreation(ForExpression forExpression, IProxyBeanType type, int dimensionExpressionCount)
- throws IllegalStateException {
- pushArrayCreation(forExpression, type, dimensionExpressionCount);
- }
-
- private void pushArrayCreation(ForExpression forExpression, IProxyBeanType type, int dimensionExpressionCount) throws IllegalStateException {
- try {
- checkForExpression(forExpression);
-
- switch (dimensionExpressionCount) {
- case 0:
- push(ARRAY_CREATION_DIMENSION_0);
- break;
- case 1:
- push(ARRAY_CREATION_DIMENSION_1);
- break;
- default:
- push(new Integer(dimensionExpressionCount));
- break;
- }
- push(type);
- push(InternalExpressionTypes.ARRAY_CREATION_EXPRESSION);
-
- pushForExpression(PROCESS_EXPRESSION);
- if (dimensionExpressionCount == 0)
- pushForExpression(ARRAY_INITIALIZER);
- else {
- while (dimensionExpressionCount-- > 0)
- pushForExpression(ForExpression.ARRAYCREATION_DIMENSION);
- }
- processExpression(); // See if previous expression is ready for processing.
- } catch (RuntimeException e) {
- markInvalid();
- throw e;
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createArrayInitializer(int)
- */
- public final void createArrayInitializer(int expressionCount) throws IllegalStateException {
- try {
- // This is special, we could be waiting for an array initializer or an array initializer expression.
- // We will peek to see what it is and handle it.
- if (peekForExpression(ARRAY_INITIALIZER))
- checkForExpression(ARRAY_INITIALIZER);
- else
- checkForExpression(ForExpression.ARRAYINITIALIZER_EXPRESSION);
-
- // At this point in time that stack may either have:
- // array_type, array_creation
- // strip_count, array_type, array_initializer
- // So we can get the array type from peek(2), and get the command type from peek(1).
- // Then if the command type is array_creation, strip_count will be inited to 0, while
- // else it will be inited to peek(3). From that we can increment the strip_count to
- // use for this initializer.
- //
- // We need to peek here because we will be adding various pushes to the stack and we
- // need to get the info while it is still at the top of the stack.
- Object arrayType = peek(2);
- int stripCount = 0;
- if (peek(1) == InternalExpressionTypes.ARRAY_INITIALIZER_EXPRESSION)
- stripCount = ((Integer) peek(3)).intValue();
-
- switch (expressionCount) {
- case 0:
- push(ARRAYINITIALIZER_COUNT_0);
- break;
- case 1:
- push(ARRAYINITIALIZER_COUNT_1);
- break;
- case 2:
- push(ARRAYINITIALIZER_COUNT_2);
- break;
- default:
- push(new Integer(expressionCount));
- break;
- }
-
- if (arrayType instanceof String) {
- String at = (String) arrayType;
- int i = at.lastIndexOf("[]"); //$NON-NLS-1$
- if (i == -1)
- throw new IllegalArgumentException(MessageFormat.format(
- ProxyMessages.Expression_ArrayTypeNotAnArray_EXC_, new Object[] { arrayType}));
- arrayType = getProxyBeanType(at);
- } else if (!(arrayType instanceof IProxyBeanType)) {
- throw new IllegalArgumentException(MessageFormat.format(
- ProxyMessages.Expression_ArrayTypeNotAnArray_EXC_, new Object[] { arrayType}));
- }
- push(new Integer(++stripCount));
- push(arrayType);
- push(InternalExpressionTypes.ARRAY_INITIALIZER_EXPRESSION);
-
- pushForExpression(PROCESS_EXPRESSION);
- while (expressionCount-- > 0)
- pushForExpression(ForExpression.ARRAYINITIALIZER_EXPRESSION);
-
- processExpression();
- } catch (RuntimeException e) {
- markInvalid();
- throw e;
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createCastExpression(int, java.lang.String)
- * A cast expression has one nested expression.
- */
- public final void createCastExpression(ForExpression forExpression, String type) throws IllegalStateException {
- pushCast(forExpression, getProxyBeanType(type)); // Push this onto the local stack to wait for completion.
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createCastExpression(org.eclipse.jem.internal.proxy.initParser.tree.ForExpression, org.eclipse.jem.internal.proxy.core.IProxyBeanType)
- */
- public final void createCastExpression(ForExpression forExpression, IProxyBeanType type) throws IllegalStateException {
- pushCast(forExpression, type); // Push this onto the local stack to wait for completion.
- }
-
- /*
- * Push for a cast.
- */
- private void pushCast(ForExpression forExpression, IProxyBeanType type) throws IllegalStateException {
- try {
- checkForExpression(forExpression);
- push(type);
- push(InternalExpressionTypes.CAST_EXPRESSION);
- pushForExpression(PROCESS_EXPRESSION);
- pushForExpression(ForExpression.CAST_EXPRESSION); // The next expression must be for the cast expression.
- processExpression();
- } catch (RuntimeException e) {
- markInvalid();
- throw e;
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createClassInstanceCreation(int, java.lang.String, int)
- */
- public final void createClassInstanceCreation(ForExpression forExpression, String type, int argumentCount)
- throws IllegalStateException {
- pushClassInstanceCreation(forExpression, getProxyBeanType(type), argumentCount); // Push this onto the local stack to wait for completion.
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createClassInstanceCreation(org.eclipse.jem.internal.proxy.initParser.tree.ForExpression, org.eclipse.jem.internal.proxy.core.IProxyBeanType, int)
- */
- public final void createClassInstanceCreation(ForExpression forExpression, IProxyBeanType type, int argumentCount)
- throws IllegalStateException {
- pushClassInstanceCreation(forExpression, type, argumentCount); // Push this onto the local stack to wait for completion.
- }
-
- /*
- * Push for a class instance creation
- */
- private void pushClassInstanceCreation(ForExpression forExpression, IProxyBeanType type, int argumentCount) throws IllegalStateException {
- try {
- checkForExpression(forExpression);
- switch (argumentCount) {
- case 0:
- push(CLASS_INSTANCE_CREATION_ARGUMENTS_0);
- break;
- case 1:
- push(CLASS_INSTANCE_CREATION_ARGUMENTS_1);
- break;
- default:
- push(new Integer(argumentCount));
- break;
- }
- push(type);
- push(InternalExpressionTypes.CLASS_INSTANCE_CREATION_EXPRESSION);
-
- pushForExpression(PROCESS_EXPRESSION);
- while (argumentCount-- > 0)
- pushForExpression(ForExpression.CLASSINSTANCECREATION_ARGUMENT);
- processExpression(); // See if previous expression is ready for processing.
- } catch (RuntimeException e) {
- markInvalid();
- throw e;
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createConditionalExpression(int)
- */
- public final void createConditionalExpression(ForExpression forExpression) throws IllegalStateException {
- try {
- checkForExpression(forExpression);
- pushForExpression(PROCESS_EXPRESSION);
- pushForExpression(ForExpression.CONDITIONAL_FALSE);
- pushForExpression(PROCESS_EXPRESSION);
- pushForExpression(ForExpression.CONDITIONAL_TRUE);
- pushForExpression(PROCESS_EXPRESSION);
- pushForExpression(ForExpression.CONDITIONAL_CONDITION);
-
- push(InternalConditionalOperandType.CONDITIONAL_FALSE);
- push(InternalExpressionTypes.CONDITIONAL_EXPRESSION);
- push(InternalConditionalOperandType.CONDITIONAL_TRUE);
- push(InternalExpressionTypes.CONDITIONAL_EXPRESSION);
- push(InternalConditionalOperandType.CONDITIONAL_TEST);
- push(InternalExpressionTypes.CONDITIONAL_EXPRESSION);
- processExpression();
- } catch (RuntimeException e) {
- markInvalid();
- throw e;
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createFieldAccess(int, java.lang.String, boolean)
- */
- public final void createFieldAccess(ForExpression forExpression, String fieldName, boolean hasReceiver) throws IllegalStateException, IllegalArgumentException {
- try {
- // Only for string fieldnames is this invalid when no receiver because no way to determine receiver. (Don't handle implicit "this" yet for fields).
- // For the accessor that takes a IFieldProxy we can get away with no receiver because the field proxy can determine if static or not, and if not
- // static it will fail at evaluation time.
- if (!hasReceiver)
- throw new IllegalArgumentException(MessageFormat.format(
- ProxyMessages.Expression_CannotHandleNoReceiveOnFieldAccess_EXC_, new Object[] { fieldName}));
- pushFieldAccess(forExpression, fieldName, hasReceiver);
- } catch (RuntimeException e) {
- markInvalid();
- throw e;
- }
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createIfElse(boolean)
- */
- public final void createIfElse(boolean hasElseClause) throws IllegalStateException {
- try {
- checkForExpression(ForExpression.ROOTEXPRESSION);
-
- pushForExpression(PROCESS_EXPRESSION);
- if (hasElseClause) {
- pushForExpression(ForExpression.IF_ELSE);
- }
- pushForExpression(PROCESS_EXPRESSION);
- pushForExpression(ForExpression.IF_TRUE);
- pushForExpression(PROCESS_EXPRESSION);
- pushForExpression(ForExpression.IF_CONDITION);
-
- // We still push an else clause so that we know when finished. We don't have a pushForExpression for it because there
- // won't be any. But the else clause processing will be on the push stack so that we can clean up when end of if stmt occurs.
- push(InternalIfElseOperandType.ELSE_CLAUSE);
- push(InternalExpressionTypes.IF_ELSE_EXPRESSION);
-
- push(InternalIfElseOperandType.TRUE_CLAUSE);
- push(InternalExpressionTypes.IF_ELSE_EXPRESSION);
- push(InternalExpressionTypes.IF_TEST_EXPRESSION);
- processExpression();
- } catch (RuntimeException e) {
- markInvalid();
- throw e;
- }
- }
-
- /*
- * Push the field access.
- * @param forExpression
- * @param field String if field name, or IProxyField.
- * @param hasReceiver
- * @throws IllegalAccessException
- *
- * @since 1.1.0
- */
- private void pushFieldAccess(ForExpression forExpression, Object field, boolean hasReceiver) throws IllegalStateException {
- try {
- checkForExpression(forExpression);
- push(hasReceiver ? Boolean.TRUE : Boolean.FALSE); // We have a receiver
- push(field);
- push(InternalExpressionTypes.FIELD_ACCESS_EXPRESSION);
-
- pushForExpression(PROCESS_EXPRESSION);
- if (hasReceiver)
- pushForExpression(ForExpression.FIELD_RECEIVER);
- processExpression(); // See if previous expression is ready for processing.
- } catch (RuntimeException e) {
- markInvalid();
- throw e;
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createInfixExpression(int, int, int)
- */
- public final void createInfixExpression(ForExpression forExpression, InfixOperator operator, int extendedOperandCount) throws IllegalStateException {
- try {
- checkForExpression(forExpression);
- push(InternalInfixOperandType.INFIX_LAST_OPERAND);
- push(operator);
- push(InternalExpressionTypes.INFIX_EXPRESSION);
- int i = extendedOperandCount;
- while (i-- > 0) {
- push(InternalInfixOperandType.INFIX_OTHER_OPERAND);
- push(operator);
- push(InternalExpressionTypes.INFIX_EXPRESSION);
- }
- push(InternalInfixOperandType.INFIX_LEFT_OPERAND);
- push(operator);
- push(InternalExpressionTypes.INFIX_EXPRESSION);
-
- i = extendedOperandCount;
- while (i-- > 0) {
- pushForExpression(PROCESS_EXPRESSION);
- pushForExpression(ForExpression.INFIX_EXTENDED);
- }
- pushForExpression(PROCESS_EXPRESSION);
- pushForExpression(ForExpression.INFIX_RIGHT);
- pushForExpression(PROCESS_EXPRESSION);
- pushForExpression(ForExpression.INFIX_LEFT);
- processExpression(); // See if previous expression is ready for processing.
- } catch (RuntimeException e) {
- markInvalid();
- throw e;
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createInstanceofExpression(int, java.lang.String)
- */
- public final void createInstanceofExpression(ForExpression forExpression, String type) throws IllegalStateException {
- pushInstanceof(forExpression, getProxyBeanType(type)); // Push this onto the local stack to wait for completion.
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createInstanceofExpression(org.eclipse.jem.internal.proxy.initParser.tree.ForExpression, org.eclipse.jem.internal.proxy.core.IProxyBeanType)
- */
- public final void createInstanceofExpression(ForExpression forExpression, IProxyBeanType type) throws IllegalStateException {
- pushInstanceof(forExpression, type); // Push this onto the local stack to wait for completion.
- }
-
- /*
- * Push for a cast.
- */
- private void pushInstanceof(ForExpression forExpression, IProxyBeanType type) throws IllegalStateException {
- try {
- checkForExpression(forExpression);
- push(type);
- push(InternalExpressionTypes.INSTANCEOF_EXPRESSION);
- pushForExpression(PROCESS_EXPRESSION);
- pushForExpression(ForExpression.INSTANCEOF_VALUE); // The next expression must be for the instance of expression.
- processExpression();
- } catch (RuntimeException e) {
- markInvalid();
- throw e;
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createMethodInvocation(int, java.lang.String, boolean, int)
- */
- public final void createMethodInvocation(ForExpression forExpression, String name, boolean hasReceiver, int argumentCount)
- throws IllegalStateException, IllegalArgumentException {
- try {
- // Only for string methodnames is this invalid when no receiver because no way to determine receiver. (Don't handle implicit "this" yet for methods).
- // For the accessor that takes a IFieldProxy we can get away with no receiver because the field proxy can determine if static or not, and if not
- // static it will fail at evaluation time.
- if (!hasReceiver)
- throw new IllegalArgumentException(MessageFormat.format(
- ProxyMessages.Expression_MethodsNeedReceiver_EXC_, new Object[] { name}));
-
- pushMethodInvocation(forExpression, name, hasReceiver, argumentCount);
- } catch (RuntimeException e) {
- markInvalid();
- throw e;
- }
- }
-
- /**
- * @param forExpression
- * @param method String for method name, IMethodProxy otherwise.
- * @param hasReceiver
- * @param argumentCount
- * @throws ThrowableProxy
- * @throws NoExpressionValueException
- *
- * @since 1.1.0
- */
- private void pushMethodInvocation(ForExpression forExpression, Object method, boolean hasReceiver, int argumentCount) throws IllegalArgumentException, IllegalStateException {
- try {
- checkForExpression(forExpression);
- switch (argumentCount) {
- case 0:
- push(METHOD_ARGUMENTS_0);
- break;
- case 1:
- push(METHOD_ARGUMENTS_1);
- break;
- default:
- push(new Integer(argumentCount));
- break;
- }
- push(hasReceiver ? Boolean.TRUE : Boolean.FALSE);
- push(method);
- push(InternalExpressionTypes.METHOD_EXPRESSION);
-
- pushForExpression(PROCESS_EXPRESSION);
- while (argumentCount-- > 0)
- pushForExpression(ForExpression.METHOD_ARGUMENT);
- if (hasReceiver)
- pushForExpression(ForExpression.METHOD_RECEIVER);
- processExpression(); // See if previous expression is ready for processing.
- } catch (RuntimeException e) {
- markInvalid();
- throw e;
- }
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createPrefixExpression(int, org.eclipse.jem.internal.proxy.initParser.tree.PrefixOperator)
- */
- public final void createPrefixExpression(ForExpression forExpression, PrefixOperator operator) throws IllegalStateException {
- try {
- checkForExpression(forExpression);
- push(operator);
- push(InternalExpressionTypes.PREFIX_EXPRESSION);
-
- pushForExpression(PROCESS_EXPRESSION);
- pushForExpression(ForExpression.PREFIX_OPERAND);
- processExpression(); // See if previous expression is ready for processing.
- } catch (RuntimeException e) {
- markInvalid();
- throw e;
- }
- }
-
- /**
- * Create a new instance using the initialization string. The result must be compatible with the
- * given type. This is not on the IExpression interface because it is not for use of regular
- * customers. It is here for the allocation processer to create entries that are just strings.
- * <p>
- * This is not customer advanced API. This API for the implementers of registries and expression subclasses.
- *
- * @param forExpression
- * @param initializationString
- * @param type
- *
- * @since 1.1.0
- */
- public final void createNewInstance(ForExpression forExpression, String initializationString, IProxyBeanType type) {
- try {
- checkForExpression(forExpression);
- pushNewInstanceToProxy(initializationString, type);
- processExpression();
- } catch (RuntimeException e) {
- markInvalid();
- throw e;
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createNull(int)
- */
- public final void createNull(ForExpression forExpression) throws IllegalStateException {
- try {
- checkForExpression(forExpression);
- pushToProxy(null);
- processExpression(); // See if previous expression is ready for processing.
- } catch (RuntimeException e) {
- markInvalid();
- throw e;
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createTypeLiteral(int, java.lang.String)
- */
- public final void createTypeLiteral(ForExpression forExpression, String type) throws IllegalStateException {
- createProxyExpression(forExpression, getProxyBeanType(type));
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createTypeReceiver(java.lang.String)
- */
- public final void createTypeReceiver(String type) throws IllegalStateException {
- pushTypeReceiver(getProxyBeanType(type));
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createTypeReceiver(org.eclipse.jem.internal.proxy.core.IProxyBeanType)
- */
- public final void createTypeReceiver(IProxyBeanType type) throws IllegalStateException {
- pushTypeReceiver(type);
- }
-
- /*
- * Push for a type receiver.
- * @param type
- *
- * @since 1.0.0
- */
- private void pushTypeReceiver(IProxyBeanType type) throws IllegalStateException {
- try {
- // This is special because type receivers are only valid as the receiver for a field access or a method access.
- // Since each has a different forExpression we need to test for one or the other. It doesn't make any difference
- // which one it is, but it must be one or the other.
- if (peekForExpression(ForExpression.FIELD_RECEIVER))
- checkForExpression(ForExpression.FIELD_RECEIVER);
- else
- checkForExpression(ForExpression.METHOD_RECEIVER);
-
- pushTypeReceiverToProxy(type);
- processExpression(); // See if previous expression is ready for processing.
- } catch (RuntimeException e) {
- markInvalid();
- throw e;
- }
- }
-
- /*
- * For all of the primitive types we will be creating a IBeanProxy for them. That is because that
- * would be the expected result of the expression, and no need to get the other side involved.
- */
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createPrimitiveLiteral(int, boolean)
- */
- public final void createPrimitiveLiteral(ForExpression forExpression, boolean value) throws IllegalStateException {
- try {
- checkForExpression(forExpression);
- pushToProxy(beanProxyFactory.createBeanProxyWith(value));
- processExpression();
- } catch (RuntimeException e) {
- markInvalid();
- throw e;
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createPrimitiveLiteral(int, char)
- */
- public final void createPrimitiveLiteral(ForExpression forExpression, char value) throws IllegalStateException {
- try {
- checkForExpression(forExpression);
- pushToProxy(beanProxyFactory.createBeanProxyWith(value));
- processExpression();
- } catch (RuntimeException e) {
- markInvalid();
- throw e;
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createPrimitiveLiteral(int, byte)
- */
- public final void createPrimitiveLiteral(ForExpression forExpression, byte value) throws IllegalStateException {
- try {
- checkForExpression(forExpression);
- pushToProxy(beanProxyFactory.createBeanProxyWith(value));
- processExpression();
- } catch (RuntimeException e) {
- markInvalid();
- throw e;
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createPrimitiveLiteral(int, double)
- */
- public final void createPrimitiveLiteral(ForExpression forExpression, double value) throws IllegalStateException {
- try {
- checkForExpression(forExpression);
- pushToProxy(beanProxyFactory.createBeanProxyWith(value));
- processExpression();
- } catch (RuntimeException e) {
- markInvalid();
- throw e;
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createPrimitiveLiteral(int, float)
- */
- public final void createPrimitiveLiteral(ForExpression forExpression, float value) throws IllegalStateException {
- try {
- checkForExpression(forExpression);
- pushToProxy(beanProxyFactory.createBeanProxyWith(value));
- processExpression();
- } catch (RuntimeException e) {
- markInvalid();
- throw e;
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createPrimitiveLiteral(int, int)
- */
- public final void createPrimitiveLiteral(ForExpression forExpression, int value) throws IllegalStateException {
- try {
- checkForExpression(forExpression);
- pushToProxy(beanProxyFactory.createBeanProxyWith(value));
- processExpression();
- } catch (RuntimeException e) {
- markInvalid();
- throw e;
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createPrimitiveLiteral(int, long)
- */
- public final void createPrimitiveLiteral(ForExpression forExpression, long value) throws IllegalStateException {
- try {
- checkForExpression(forExpression);
- pushToProxy(beanProxyFactory.createBeanProxyWith(value));
- processExpression();
- } catch (RuntimeException e) {
- markInvalid();
- throw e;
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createPrimitiveLiteral(int, short)
- */
- public final void createPrimitiveLiteral(ForExpression forExpression, short value) throws IllegalStateException {
- try {
- checkForExpression(forExpression);
- pushToProxy(beanProxyFactory.createBeanProxyWith(value));
- processExpression();
- } catch (RuntimeException e) {
- markInvalid();
- throw e;
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createStringLiteral(int, java.lang.String)
- */
- public final void createStringLiteral(ForExpression forExpression, String value) throws IllegalStateException {
- try {
- checkForExpression(forExpression);
- pushToProxy(beanProxyFactory.createBeanProxyWith(value));
- processExpression();
- } catch (RuntimeException e) {
- markInvalid();
- throw e;
- }
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createProxyExpression(int, org.eclipse.jem.internal.proxy.core.IProxy)
- */
- public final void createProxyExpression(ForExpression forExpression, IProxy proxy) throws IllegalStateException {
- try {
- checkForExpression(forExpression);
- pushToProxy(proxy);
- processExpression();
- } catch (RuntimeException e) {
- markInvalid();
- throw e;
- }
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createAssignmentExpression(int)
- */
- public final void createAssignmentExpression(ForExpression forExpression) throws IllegalStateException {
- try {
- checkForExpression(forExpression);
- push(InternalExpressionTypes.ASSIGNMENT_EXPRESSION);
-
- pushForExpression(PROCESS_EXPRESSION);
- pushForExpression(ForExpression.ASSIGNMENT_RIGHT);
- pushForExpression(ForExpression.ASSIGNMENT_LEFT);
- processExpression(); // See if previous expression is ready for processing.
- } catch (RuntimeException e) {
- markInvalid();
- throw e;
- }
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createAssignmentExpression(int)
- */
- public final ExpressionProxy createProxyAssignmentExpression(ForExpression forExpression) throws IllegalStateException {
- try {
- checkForExpression(forExpression);
- ExpressionProxy proxy = allocateExpressionProxy(NORMAL_EXPRESSION_PROXY);
- push(proxy);
- push(InternalExpressionTypes.ASSIGNMENT_PROXY_EXPRESSION);
-
- pushForExpression(PROCESS_EXPRESSION);
- pushForExpression(ForExpression.ASSIGNMENT_RIGHT);
- processExpression(); // See if previous expression is ready for processing.
- return proxy;
- } catch (RuntimeException e) {
- markInvalid();
- throw e;
- }
- }
-
- /**
- * Called by registries to create an expression proxy for a bean type. It is not in the interface because it should
- * only be called by the proxy registry to create an expression proxy. It shouldn't be called outside of the registries
- * because there may already exist in the registry the true IBeanTypeProxy, and that one should be used instead.
- * <p>
- * This is not customer advanced API. This API for the implementers of registries and expression subclasses.
- *
- * @param typeName
- * @return expression proxy that is hooked up and will notify when resolved. It can be called at any time. The resolution will occur at this point in the
- * execution stack, but since it will not interfere with the stack this is OK, other than it could throw a ClassNotFoundException on the
- * execution.
- *
- * @since 1.1.0
- */
- public final IProxyBeanType createBeanTypeExpressionProxy(String typeName) {
- IBeanTypeExpressionProxy proxy = (IBeanTypeExpressionProxy) allocateExpressionProxy(BEANTYPE_EXPRESSION_PROXY);
- proxy.setTypeName(typeName);
- // This can be sent at any time. It doesn't matter what is on the expression stack. It will be sent to be resolved immediately.
- pushBeanTypeToProxy(proxy);
- return proxy;
- }
-
- /**
- * Called by registries to create an expression proxy for a method. It is not in the interface because it should
- * only be called by the proxy registry to create an expression proxy. It shouldn't be called outside of the registries
- * because there may already exist in the registry the true IMethodProxy, and that one should be used instead.
- * <p>
- * This is not customer advanced API. This API for the implementers of registries and expression subclasses.
- *
- * @param declaringType
- * @param methodName
- * @param parameterTypes parameter types or <code>null</code> if no parameter types.
- * @return
- *
- * @since 1.1.0
- */
- public final IProxyMethod createMethodExpressionProxy(IProxyBeanType declaringType, String methodName, IProxyBeanType[] parameterTypes) {
- ExpressionProxy proxy = allocateExpressionProxy(METHOD_EXPRESSION_PROXY);
- // This can be sent at any time. It doesn't matter what is on the expression stack. It will be sent to be resolved immediately.
- pushMethodToProxy(proxy, declaringType, methodName, parameterTypes);
- return (IProxyMethod) proxy;
- }
-
- /**
- * Called by registries to create an expression proxy for a field. It is not in the interface because it should
- * only be called by the proxy registry to create an expression proxy. It shouldn't be called outside of the registries
- * because there may already exist in the registry the true IFieldProxy, and that one should be used instead.
- * <p>
- * This is not customer advanced API. This API for the implementers of registries and expression subclasses.
- *
- * @param declaringType
- * @param fieldName
- *
- * @return
- *
- * @since 1.1.0
- */
- public final IProxyField createFieldExpressionProxy(IProxyBeanType declaringType, String fieldName) {
- ExpressionProxy proxy = allocateExpressionProxy(FIELD_EXPRESSION_PROXY);
- // This can be sent at any time. It doesn't matter what is on the expression stack. It will be sent to be resolved immediately.
- pushFieldToProxy(proxy, declaringType, fieldName);
- return (IProxyField) proxy;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createProxyReassignmentExpression(org.eclipse.jem.internal.proxy.initParser.tree.ForExpression, org.eclipse.jem.internal.proxy.core.ExpressionProxy)
- */
- public final void createProxyReassignmentExpression(ForExpression forExpression, ExpressionProxy proxy) throws IllegalStateException, IllegalArgumentException {
- try {
- checkForExpression(forExpression);
- if (!proxy.isValidForReassignment())
- throw new IllegalArgumentException(MessageFormat.format(ProxyMessages.Expression_CreateProxyReassignmentExpression_InvalidForReassignment_EXC_, new Object[]{proxy.toString()}));
- push(proxy);
- push(InternalExpressionTypes.ASSIGNMENT_PROXY_EXPRESSION);
-
- pushForExpression(PROCESS_EXPRESSION);
- pushForExpression(ForExpression.ASSIGNMENT_RIGHT);
- processExpression(); // See if previous expression is ready for processing.
- } catch (RuntimeException e) {
- markInvalid();
- throw e;
- }
- }
-
- protected static final int NORMAL_EXPRESSION_PROXY = 0;
- protected static final int BEANTYPE_EXPRESSION_PROXY = 1;
- protected static final int METHOD_EXPRESSION_PROXY = 2;
- protected static final int FIELD_EXPRESSION_PROXY = 3;
- /**
- * Allocate a new ExpressionProxy
- * @return new ExpressionProxy.
- *
- * @since 1.1.0
- */
- protected final ExpressionProxy allocateExpressionProxy(int proxyType) {
- if (expressionProxies == null)
- expressionProxies = new ArrayList();
- // It is very important that this always creates a proxy id that is greater than all previous. This is
- // so that it can be assured that proxies will be resolved in order of creation.
- // Currently this is done here by using expressionProxies.size().
- ExpressionProxy proxy = createExpressionProxy(proxyType, expressionProxies.size());
- expressionProxies.add(proxy);
- return proxy;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createFieldAccess(org.eclipse.jem.internal.proxy.initParser.tree.ForExpression, org.eclipse.jem.internal.proxy.core.IProxyField, boolean)
- */
- public final void createFieldAccess(ForExpression forExpression, IProxyField fieldProxy, boolean hasReceiver) throws IllegalStateException {
- pushFieldAccess(forExpression, fieldProxy, hasReceiver);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createMethodInvocation(org.eclipse.jem.internal.proxy.initParser.tree.ForExpression, org.eclipse.jem.internal.proxy.core.IProxyMethod, boolean, int)
- */
- public final void createMethodInvocation(ForExpression forExpression, IProxyMethod methodProxy, boolean hasReceiver, int argumentCount) throws IllegalArgumentException,
- IllegalStateException {
- pushMethodInvocation(forExpression, methodProxy, hasReceiver, argumentCount);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createSimpleFieldAccess(org.eclipse.jem.internal.proxy.core.IProxyField, org.eclipse.jem.internal.proxy.core.IProxy)
- */
- public final ExpressionProxy createSimpleFieldAccess(IProxyField field, IProxy receiver) throws IllegalStateException {
- ExpressionProxy result = createProxyAssignmentExpression(ForExpression.ROOTEXPRESSION);
- createFieldAccess(ForExpression.ASSIGNMENT_RIGHT, field, receiver != null);
- if (receiver != null)
- createProxyExpression(ForExpression.FIELD_RECEIVER, receiver);
- return result;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createSimpleFieldSet(org.eclipse.jem.internal.proxy.core.IProxyField, org.eclipse.jem.internal.proxy.core.IProxy, org.eclipse.jem.internal.proxy.core.IProxy, boolean)
- */
- public final ExpressionProxy createSimpleFieldSet(IProxyField field, IProxy receiver, IProxy value, boolean wantResult) throws IllegalStateException {
- ExpressionProxy result = null;
- ForExpression forExpression = ForExpression.ROOTEXPRESSION;
- if (wantResult) {
- result = createProxyAssignmentExpression(forExpression);
- forExpression = ForExpression.ASSIGNMENT_RIGHT;
- }
- createAssignmentExpression(forExpression);
- createFieldAccess(ForExpression.ASSIGNMENT_LEFT, field, receiver != null);
- if (receiver != null)
- createProxyExpression(ForExpression.FIELD_RECEIVER, receiver);
- createProxyExpression(ForExpression.ASSIGNMENT_RIGHT, value);
- return result;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createSimpleMethodInvoke(org.eclipse.jem.internal.proxy.core.IMethodProxy, org.eclipse.jem.internal.proxy.core.IProxy, org.eclipse.jem.internal.proxy.core.IProxy[], boolean)
- */
- public final ExpressionProxy createSimpleMethodInvoke(IProxyMethod method, IProxy receiver, IProxy[] arguments, boolean wantResult)
- throws IllegalStateException {
- ForExpression nextExpression = ForExpression.ROOTEXPRESSION;
- ExpressionProxy result = null;
- if (wantResult) {
- result = createProxyAssignmentExpression(nextExpression);
- nextExpression = ForExpression.ASSIGNMENT_RIGHT;
- }
- createMethodInvocation(nextExpression, method, receiver != null, arguments != null ? arguments.length : 0);
- if (receiver != null)
- createProxyExpression(ForExpression.METHOD_RECEIVER, receiver);
- if (arguments != null) {
- for (int i = 0; i < arguments.length; i++) {
- createProxyExpression(ForExpression.METHOD_ARGUMENT, arguments[i]);
- }
- }
- return result;
- }
-
- private int subexpressionNumber = -1; // Current subexpression number. This is always incrementing.
-
- public void createSubexpression() throws IllegalStateException {
- try {
- // Subexpressions are special, they can be anywhere.
- pushForExpression(PROCESS_EXPRESSION);
- pushForExpression(SUBEXPRESSIONEND_EXPRESSION);
- pushForExpression(ForExpression.ROOTEXPRESSION);
-
- pushSubexpressionBeginToProxy(++subexpressionNumber);
- push(new Integer(subexpressionNumber));
- push(InternalExpressionTypes.SUBEXPRESSION_END_EXPRESSION);
- processExpression();
- return;
- } catch (RuntimeException e) {
- markInvalid();
- throw e;
- }
- }
-
- public void createSubexpressionEnd() throws IllegalStateException {
- try {
- checkForExpression(ForExpression.ROOTEXPRESSION);
- popForExpression(); // Remove the root expression since block is done.
- checkForExpression(SUBEXPRESSIONEND_EXPRESSION); // This needs to be next for it to be valid.
- processExpression(); // Now let it handle the previously pushed end subexpression, containing the subexpression number being ended.
- } catch (RuntimeException e) {
- markInvalid();
- throw e;
- }
- }
-
-
- private int tryNumber = -1; // Current try number. This is always incrementing.
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createTry()
- */
- public final void createTry() throws IllegalStateException {
- try {
- checkForExpression(ForExpression.ROOTEXPRESSION);
- pushForExpression(PROCESS_EXPRESSION); // Set up so that when reached we can process the TRY_END that we've pushed data for later in this method.
- pushForExpression(TRYEND_EXPRESSION); // Must get a try end before we can process it.
- pushForExpression(TRYCATCH_EXPRESSION); // Must get a catch/finally clause (or try end, which knows how to handle this).
- pushForExpression(ForExpression.ROOTEXPRESSION); // Expecting root expressions for the try clause.
-
- pushTryBeginToProxy(++tryNumber);
- push(new Integer(tryNumber));
- push(InternalExpressionTypes.TRY_END_EXPRESSION);
- processExpression();
- } catch (RuntimeException e) {
- markInvalid();
- throw e;
- }
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createTryCatchClause(org.eclipse.jem.internal.proxy.core.IProxyBeanType, boolean)
- */
- public final ExpressionProxy createTryCatchClause(IProxyBeanType exceptionType, boolean wantExceptionReturned)
- throws IllegalStateException {
- return pushTryCatch(exceptionType, wantExceptionReturned);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createTryCatchClause(java.lang.String, boolean)
- */
- public final ExpressionProxy createTryCatchClause(String exceptionType, boolean wantExceptionReturned)
- throws IllegalStateException {
- return pushTryCatch(getProxyBeanType(exceptionType), wantExceptionReturned);
- }
-
- /**
- * @param exceptionType
- * @param wantExceptionReturned
- * @return
- * @throws IllegalStateException
- *
- * @since 1.1.0
- */
- private ExpressionProxy pushTryCatch(IProxyBeanType exceptionType, boolean wantExceptionReturned) throws IllegalStateException {
- try {
- checkForExpression(ForExpression.ROOTEXPRESSION);
- popForExpression(); // Remove the root expression since try or previous catch clause is done.
- checkForExpression(TRYCATCH_EXPRESSION); // This needs to be next for it to be valid.
- pushForExpression(TRYCATCH_EXPRESSION); // Set up for a following catch/finally clause.
- pushForExpression(ForExpression.ROOTEXPRESSION); // Root expressions are next for the catch clause.
-
- int tryNumber = ((Integer) peek(2)).intValue(); // Get the try#. It should be in this place on the stack.
-
- ExpressionProxy ep = null;
- if (wantExceptionReturned)
- ep = allocateExpressionProxy(NORMAL_EXPRESSION_PROXY);
- pushTryCatchClauseToProxy(tryNumber, exceptionType, ep);
-
- processExpression();
- return ep;
- } catch (RuntimeException e) {
- markInvalid();
- throw e;
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createTryEnd()
- */
- public final void createTryEnd() throws IllegalStateException {
- try {
- checkForExpression(ForExpression.ROOTEXPRESSION);
- popForExpression(); // Remove the root expression since try or previous catch clause is done.
- if (peekForExpression(TRYCATCH_EXPRESSION))
- checkForExpression(TRYCATCH_EXPRESSION); // This may of been next if no finally clause was added. If a finally clause was added this would not be here.
- checkForExpression(TRYEND_EXPRESSION); // And this needs to be after that to be valid.
-
- processExpression();
- } catch (RuntimeException e) {
- markInvalid();
- throw e;
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createTryFinallyClause()
- */
- public final void createTryFinallyClause() throws IllegalStateException {
- try {
- checkForExpression(ForExpression.ROOTEXPRESSION);
- popForExpression(); // Remove the root expression since try or previous catch clause is done.
- checkForExpression(TRYCATCH_EXPRESSION); // This needs to be next for it to be valid.
- pushForExpression(ForExpression.ROOTEXPRESSION); // Root expressions are next for the finally clause.
-
- int tryNumber = ((Integer) peek(2)).intValue(); // Get the try#. It should be in this place on the stack.
-
- pushTryFinallyClauseToProxy(tryNumber);
- processExpression();
- } catch (RuntimeException e) {
- markInvalid();
- throw e;
- }
- }
-
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createRethrow()
- */
- public final void createRethrow() throws IllegalStateException {
- try {
- checkForExpression(ForExpression.ROOTEXPRESSION);
- popForExpression(); // Remove the root expression since try or previous catch clause is done.
- checkForExpression(TRYCATCH_EXPRESSION); // This needs to be next for it to be valid.
- // It is in a valid state, so put the catch and root back on so that things work correctly.
- pushForExpression(TRYCATCH_EXPRESSION);
- pushForExpression(ForExpression.ROOTEXPRESSION);
-
- int tryNumber = ((Integer) peek(2)).intValue(); // Get the try#. It should be in this place on the stack.
-
- pushRethrowToProxy(tryNumber);
- processExpression();
- } catch (RuntimeException e) {
- markInvalid();
- throw e;
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createThrow()
- */
- public final void createThrow() throws IllegalStateException {
- try {
- checkForExpression(ForExpression.ROOTEXPRESSION);
- push(InternalExpressionTypes.THROW_EXPRESSION);
- pushForExpression(PROCESS_EXPRESSION);
- pushForExpression(ForExpression.THROW_OPERAND); // The next expression must be for the throw value.
- processExpression();
- } catch (RuntimeException e) {
- markInvalid();
- throw e;
- }
- }
-
-
- public final int mark() throws IllegalStateException {
- try {
- checkForExpression(ForExpression.ROOTEXPRESSION);
- ++highestMarkID;
- currentMarkEntry = new MarkEntry();
- currentMarkEntry.markID = highestMarkID;
- currentMarkEntry.controlStackPos = controlStack.size() - 1;
- currentMarkEntry.nextExpressionStackPos = nextForExpressionStackPos;
- currentMarkEntry.expressionProxiesPos = expressionProxies != null ? expressionProxies.size() - 1 : -1;
- if (markEntries == null)
- markEntries = new ArrayList(5);
- markEntries.add(currentMarkEntry);
- pushMarkToProxy(highestMarkID);
- return highestMarkID;
- } catch (RuntimeException e) {
- markInvalid();
- throw e;
- }
- }
-
- public void endMark(int markNumber) throws IllegalStateException {
- if (isValid()) {
- // Can only do a valid end mark if we are at root. If not at root, we fall through and treat as invalid.
- if (peekForExpression(ForExpression.ROOTEXPRESSION)) {
- checkForExpression(ForExpression.ROOTEXPRESSION); // Now remove it if it should be removed.
- // If the current mark number is not the same as the incoming mark number, we have improper nesting.
- if (currentMarkEntry == null || currentMarkEntry.markID != markNumber)
- throwInvalidMarkNesting(); // We have improper nesting.
- // We are popping the current mark. Since we are valid, just move up one in the mark stack.
- MarkEntry me = (MarkEntry) markEntries.remove(markEntries.size()-1);
- if (!markEntries.isEmpty())
- currentMarkEntry = (MarkEntry) markEntries.get(markEntries.size()-1);
- else
- currentMarkEntry = null;
- pushEndmarkToProxy(markNumber, false);
- if (me.controlStackPos != controlStack.size()-1 || me.nextExpressionStackPos != nextForExpressionStackPos)
- throwInvalidMarkNesting(); // The stacks should be back to the same size at this point for a valid end mark.
- return;
- }
- }
-
- // It was invalid, or became invalid.
- if (markEntries == null)
- throwInvalidMarkNesting(); // We have no marks, so this is an invalid end mark.
-
- // We are invalid, need to pop to the given markNumber.
- // Starting from the end we search back to find the entry for the given mark number. We do it
- // from the end because it is more likely to be closer to the end than to the beginning.
- for (int i = markEntries.size()-1; i >=0; i--) {
- MarkEntry me = (MarkEntry) markEntries.get(i);
- if (me.markID == markNumber) {
- // Found it.
- // Trim the control stack down to the size at time of mark. (No easy way to do this other than repeated remove's.
- // We do it backwards to eliminate repeated shuffling of entries.
- for (int j = controlStack.size()-1; j > me.controlStackPos; j--) {
- controlStack.remove(j);
- }
-
- // Trim the expression stack. This is simple, just reset the next entry pointer.
- nextForExpressionStackPos = me.nextExpressionStackPos;
-
- if (expressionProxies != null) {
- // Now we need to mark all of the expression proxies that occured after the mark as
- // not resolved (since someone may be listening), and remove them, and reuse the proxies.
- for (int j = expressionProxies.size()-1; j > me.expressionProxiesPos; j--) {
- ExpressionProxy proxy = (ExpressionProxy) expressionProxies.remove(j);
- if (proxy != null && proxy.hasListeners())
- fireProxyNotResolved(proxy);
- }
- }
-
- // Now that we know it is valid, we want to remove all of the mark entries above it in the stack
- // since those are now invalid. We couldn't remove them as we were searching for the entry because
- // if the entry wasn't found we didn't want to wipe out the probably valid ones.
- for (int j = markEntries.size()-1; j >= i; j--) {
- markEntries.remove(j);
- }
-
- if (!markEntries.isEmpty())
- currentMarkEntry = (MarkEntry) markEntries.get(markEntries.size()-1);
- else
- currentMarkEntry = null;
- pushEndmarkToProxy(markNumber, true);
- expressionValid = true;
- return;
- }
- }
- throwInvalidMarkNesting(); // The mark number wasn't found, so this is an invalid end mark.
- }
-
- /**
- * Begin the transfer of the expression to another thread.
- * <p>
- * This is used when the expression needs to continue to be built up, but it needs
- * to be done on a different thread. The reason for doing something special other
- * than just using it on the other thread is that some proxy registries connections are
- * tied through the thread. If you switched to another thread the connections would not
- * be properly set up.
- * This is not on the IExpression interface because even though it is API, it is tricky
- * to use and so not exposed to everyone. Users can legitimately cast to Expression and
- * use this as API for advanced use.
- * <p>
- * This is used to begin the transfer. It puts it into a state ready for the transfer. Calling this
- * method will cause a synchronization of the expression up to the current level. This means
- * that it will not return until the expression has been completely processed in the proxy registry
- * up to this point. Typically the connection is a pipe where the instructions are just pushed onto
- * it and the caller is not held up waiting for the registry to process it.
- * <p>
- * Then when the other thread is done, it will call beginTransferThread itself to signal that it is done
- * and that the old thread can pick it up. Then the old thread will call transferThread to pick up processing.
- * <p>
- * It will be:
- * <pre><code>
- * ... expression stuff ...
- * expression.beginTransferThread()
- * ... do what is necessary to get to the other thread ...
- * ... on other thread:
- * expression.transferThread();
- * try {
- * ... do your expression stuff on this thread ...
- * } finally {
- * expression.beginTransferThread(); // This is to return it to old thread.
- * }
- * ... tell old thread to pick up ...
- * ... back on old thread:
- * expression.transferThread();
- * ... do more expression stuff ...
- * expression.invokeExpression();
- * </code></pre>
- *
- * @throws IllegalStateException
- * @throws ThrowableProxy Thrown if there was an exception with the remote vm during this request.
- * @since 1.1.0
- */
- public final void beginTransferThread() throws IllegalStateException, ThrowableProxy {
- try {
- pushForExpression(THREADTRANSFER_EXPRESSION);
- pushBeginTransferThreadToProxy();
- } catch (RuntimeException e) {
- markInvalid();
- throw e;
- }
- }
-
- /**
- * Transfer the expression to the current thread.
- * <p>
- * This is called to actually transfer to the current thread. It must be the next call against
- * the expression after the beginTransferThread, but on the new thread.
- * <p>
- * This is not on the IExpression interface because even though it is API, it is tricky
- * to use and so not exposed to everyone. Users can legitimately cast to Expression and
- * use this as API for advanced use.
- * @see Expression#beginTransferThread() for a full explanation.
- * @throws IllegalStateException
- *
- * @since 1.1.0
- */
- public final void transferThread() throws IllegalStateException {
- try {
- checkForExpression(THREADTRANSFER_EXPRESSION);
- pushTransferThreadToProxy();
- } catch (RuntimeException e) {
- markInvalid();
- throw e;
- }
- }
-
-
- /**
- * Get the IProxyBeanType for the type string sent in.
- * @param type
- * @return
- *
- * @since 1.1.0
- */
- protected IProxyBeanType getProxyBeanType(String type) {
- return getRegistry().getBeanTypeProxyFactory().getBeanTypeProxy(this, type);
- }
-
- /**
- * Create the expression proxy subclass that is applicable for this kind of processor.
- * @param proxyType type of proxy. {@link Expression#NORMAL_EXPRESSION_PROXY
- * @param proxyID the id of the new expression proxy.
- *
- * @return
- *
- * @since 1.1.0
- */
- protected abstract ExpressionProxy createExpressionProxy(int proxyType, int proxyID);
-
- /**
- * Push this proxy to the other side. It will simply take the proxy and push it onto
- * its evaluation stack. It will be treated as the result of an expression. It's just
- * that the expression was evaluatable on this side (since it is already a proxy).
- *
- * @param proxy
- *
- * @since 1.0.0
- */
- protected abstract void pushToProxy(IProxy proxy);
-
- /**
- * Tell the other side we are complete. This will always be called after expression evaluation, or
- * if expression was prematurely closed.
- * <p>
- * <b>Note:</b> The implementation must be able to handle multiple invocations, where the first call is a valid close and any
- * subsequent call should be ignored.
- *
- * @throws ThrowableProxy
- *
- * @since 1.0.0
- */
- protected abstract void closeProxy();
-
- /**
- * Do invoke. This should simply make sure everything is done and throw any pending errors.
- * <p>
- * <b>Note:</b> The expression proxies MUST be resolved (callbacks called) in the order they are found in the expressionProxies list. This
- * is so that the contract is followed that resolution notifications will occur in the order of creation.
- *
- * @param proxycount Number of Expression Proxies that need a callback.
- * @param list of expression proxies. If proxycount > 0, then process the non-null entries in the list. They will be of type ExpressionProxy.
- * @throws ThrowableProxy
- *
- * @since 1.0.0
- */
- protected abstract void pushInvoke(int proxycount, List expressionProxies) throws ThrowableProxy, NoExpressionValueException;
-
- /**
- * Pull the top expression value from the evaluation stack. It will also under
- * the covers call closeProxy. It also must process the expression proxy callbacks. It must do the expression proxy callbacks first, and then
- * process the result value. If an error had occured sometime during processing, it should still process the proxy callbacks before throwing
- * an exception.
- * <p>
- * <b>Note:</b> The expression proxies MUST be resolved (callbacks called) in the order they are found in the expressionProxies list. This
- * is so that the contract is followed that resolution notifications will occur in the order of creation. Also <b>REQUIRED</b> is that
- * the entire list must be processed of proxies must be processed by this call. It cannot do some or none.
- *
- * @param proxycount Number of Expression Proxies that need a callback.
- * @param list of expression proxies. If proxycount > 0, then process the non-null entries in the list. They will be of type ExpressionProxy.
- * @return The top level evaluation stack value.
- * @throws ThrowableProxy
- * @throws NoExpressionValueException
- *
- * @since 1.0.0
- */
- protected abstract IBeanProxy pullProxyValue(int proxycount, List expressionProxies) throws ThrowableProxy, NoExpressionValueException;
-
- /**
- * Push to proxy the cast expression. The expression to use will be on the top of its evaluation stack.
- * The result of the cast expression will be placed onto the evaluation stack.
- *
- * @param type Cast type.
- *
- * @since 1.0.0
- */
- protected abstract void pushCastToProxy(IProxyBeanType type);
-
- /**
- * Push to proxy the instanceof expression. The expression to use will be on the top of its evaluation stack.
- * The result of the instanceof expression will be placed onto the evaluation stack.
- *
- * @param type Instanceof type.
- *
- * @since 1.0.0
- */
- protected abstract void pushInstanceofToProxy(IProxyBeanType type);
-
- /**
- * Push to proxy the infix operation. This is called on the completion of each operand of the expression.
- * So it will be called a minimum of two times.
- *
- * @param operator The operator.
- * @param operandType The operand type. left, other, or last.
- *
- * @since 1.0.0
- */
- protected abstract void pushInfixToProxy(InfixOperator operator, InternalInfixOperandType operandType);
-
- /**
- * Push to proxy the prefix expression. The expression to use will be on top of its evaluation stack.
- * The result of the prefix operation will be placed onto the evaluation stack.
- *
- * @param operator
- *
- * @see IExpressionConstants#PRE_MINUS
- * @since 1.0.0
- */
- protected abstract void pushPrefixToProxy(PrefixOperator operator);
-
-
- /**
- * Push to proxy the array access. The result will be placed onto the evaluation stack.
- *
- * @param indexCount
- *
- * @since 1.0.0
- */
- protected abstract void pushArrayAccessToProxy(int indexCount);
-
- /**
- * Push to proxy the array creation. The result will be placed onto the evaluation stack.
- * @param type The array type.
- * @param dimensionCount
- *
- * @since 1.0.0
- */
- protected abstract void pushArrayCreationToProxy(IProxyBeanType type, int dimensionCount);
-
- /**
- * Push to proxy the array initializer. The resulting array will be placed onto the evaluation stack.
- * @param type The array type. (must be an array type).
- * @param stripDimCount the number of dimensions that must be stripped from the array type. This is needed
- * because the first array initializer needs to be for the component type of the array (array minus one dimension), and
- * each initializer after that needs one more dimension stripped off. But since we are working with possible expression
- * proxies for "type", we can't create the appropriate component types of the array. So we need to tell the
- * processor how many dims to strip from the original type (which is what is sent in on every initializer push, the original type).
- * @param expressionCount
- *
- * @since 1.0.0
- */
- protected abstract void pushArrayInitializerToProxy(IProxyBeanType type, int stripDimCount, int expressionCount);
-
- /**
- * Push to proxy the class instance creation. The resulting class instance will be placed onto the evaluation stack.
- *
- * @param type Class type.
- * @param argumentCount The number of arguments.
- *
- * @since 1.0.0
- */
- protected abstract void pushClassInstanceCreationToProxy(IProxyBeanType type, int argumentCount);
-
- /**
- * Push to proxy the type receiver. The resulting class will be placed onto the evaluation stack, along with it also
- * being the expression type.
- * @param type Class type.
- *
- * @since 1.0.0
- */
- protected abstract void pushTypeReceiverToProxy(IProxyBeanType type);
-
- /**
- * Push to proxy the field access. The result value will be placed onto the evaluation stack.
- * @param field The name of the field if string, or an IFieldProxy.
- * @param hasReceiver Has receiver flag.
- *
- * @since 1.0.0
- */
- protected abstract void pushFieldAccessToProxy(Object field, boolean hasReceiver);
-
- /**
- * Push to proxy the method invocation. The result value will be placed onto the evaluation stack.
- *
- * @param method String for method name or IProxyMethod
- * @param hasReceiver
- * @param argCount
- *
- * @since 1.0.0
- */
- protected abstract void pushMethodInvocationToProxy(Object method, boolean hasReceiver, int argCount);
-
- /**
- * Push to proxy the conditional expression. This will be called on each part of expression. The expression type
- * will be the current part (e.g. test, true, false).
- *
- * @param expressionType The expression type.
- *
- * @since 1.0.0
- */
- protected abstract void pushConditionalToProxy(InternalConditionalOperandType expressionType);
-
- /**
- * Push to the proxy the expression proxy. Whatever the last expression value is will be assigned to the ExpressionProxy.
- *
- * @param proxy
- *
- * @since 1.1.0
- */
- protected abstract void pushAssignmentToProxy(ExpressionProxy proxy);
-
- /**
- * Push the assignment expression. The operands are already on the stack.
- *
- * @since 1.1.0
- */
- protected abstract void pushAssignmentToProxy();
-
-
- /**
- * Push the begin block expression.
- * @param blockNumber
- *
- * @since 1.1.0
- */
- protected abstract void pushBlockBeginToProxy(int blockNumber);
-
- /**
- * Push the end block expression.
- * @param blockNumber
- *
- * @since 1.1.0
- */
- protected abstract void pushBlockEndToProxy(int blockNumber);
-
- /**
- * Push the break block expression.
- * @param blockNumber
- *
- * @since 1.1.0
- *
- */
- protected abstract void pushBlockBreakToProxy(int blockNumber);
-
- /**
- * Push the begin try expression.
- * @param tryNumber
- *
- * @since 1.1.0
- */
- protected abstract void pushTryBeginToProxy(int tryNumber);
-
- /**
- * Push the catch clause to proxy.
- * @param tryNumber
- * @param exceptionType
- * @param ep ExpressionProxy to be assigned with the exception or <code>null</code> if exception is not to be assigned.
- *
- * @since 1.1.0
- */
- protected abstract void pushTryCatchClauseToProxy(int tryNumber, IProxyBeanType exceptionType, ExpressionProxy ep);
-
- /**
- * Push the finally clause to proxy.
- * @param tryNumber
- *
- * @since 1.1.0
- */
- protected abstract void pushTryFinallyClauseToProxy(int tryNumber);
-
- /**
- * Push try end to proxy.
- * @param tryNumber
- *
- * @since 1.1.0
- */
- protected abstract void pushTryEndToProxy(int tryNumber);
-
- /**
- * Push the throw of the exception to proxy.
- * @param exception
- *
- * @since 1.1.0
- */
- protected abstract void pushThrowToProxy();
-
- /**
- * Push a rethrow to proxy.
- * @param tryNumber
- *
- * @since 1.1.0
- */
- protected abstract void pushRethrowToProxy(int tryNumber);
-
- /**
- * Push the BeanType Expression proxy to be resolved on the execution side.
- * @param proxy
- *
- * @since 1.1.0
- */
- protected abstract void pushBeanTypeToProxy(IBeanTypeExpressionProxy proxy);
-
- /**
- * Push the Method Expression proxy to be resolved on the execution side.
- * @param proxy
- * @param declaringType
- * @param methodName
- * @param parameterTypes parameter types or <code>null</code> if no parameters.
- *
- * @since 1.1.0
- */
- protected abstract void pushMethodToProxy(ExpressionProxy proxy, IProxyBeanType declaringType, String methodName, IProxyBeanType[] parameterTypes);
-
- /**
- * Push the Field Expression Proxy to be resolved on the execution side.
- * @param proxy
- * @param declaringType
- * @param fieldName
- *
- * @since 1.1.0
- */
- protected abstract void pushFieldToProxy(ExpressionProxy proxy, IProxyBeanType declaringType, String fieldName);
-
- /**
- * Push the If test condition to proxy.
- *
- * @since 1.1.0
- */
- protected abstract void pushIfTestToProxy();
-
- /**
- * Push a true or else clause to proxy.
- * @param clauseType
- *
- * @since 1.1.0
- */
- protected abstract void pushIfElseToProxy(InternalIfElseOperandType clauseType);
-
- /**
- * Push to proxy a new instance using an initialization string.
- * @param initializationString
- * @param resultType
- *
- * @since 1.1.0
- */
- protected abstract void pushNewInstanceToProxy(String initializationString, IProxyBeanType resultType);
-
- /**
- * Push the mark id to proxy.
- *
- * @param markID
- *
- * @since 1.1.0
- */
- protected abstract void pushMarkToProxy(int markID);
-
- /**
- * Push the end mark id to proxy.
- *
- * @param markID
- * @param restore <code>true</code> if this is a restore due to error, <code>false</code> if this is just a normal end mark.
- *
- * @since 1.1.0
- */
- protected abstract void pushEndmarkToProxy(int markID, boolean restore);
-
- /**
- * Push the begin transfer thread to proxy.
- *
- *
- * @since 1.1.0
- */
- protected abstract void pushBeginTransferThreadToProxy() throws ThrowableProxy;
-
- /**
- * Push the actual transfer to the current thread to proxy.
- *
- *
- * @since 1.1.0
- */
- protected abstract void pushTransferThreadToProxy();
-
- /**
- * Push the subexpression begin to proxy.
- * @param subexpressionNumber
- *
- * @since 1.1.0
- */
- protected abstract void pushSubexpressionBeginToProxy(int subexpressionNumber);
-
- /**
- * Push the subexpression end to proxy.
- * @param subexpressionNumber
- *
- * @since 1.1.0
- */
- protected abstract void pushSubexpressionEndToProxy(int subexpressionNumber);
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ExpressionProxy.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ExpressionProxy.java
deleted file mode 100644
index c7b58347e..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ExpressionProxy.java
+++ /dev/null
@@ -1,349 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * $RCSfile: ExpressionProxy.java,v $
- * $Revision: 1.4 $ $Date: 2005/06/16 17:46:14 $
- */
-package org.eclipse.jem.internal.proxy.core;
-
-import java.util.EventObject;
-import java.util.logging.Level;
-
-
-/**
- * This is a proxy for an IExpression evaluation value. It is used as a place holder proxy value for result of an expression, and
- * then the value can be used in a later expression, or at the end, it can callback and return a proxy in the IDE
- * side in a callback for usage later on outside of the IExpression.
- * <p>
- * After receiving the resolved event, listeners should not hold onto the ExpressionProxy because it would then be invalid. At that
- * point they should instead hold onto the resolved bean proxy.
- *
- * @see org.eclipse.jem.internal.proxy.core.IExpression#assignExpressionProxy()
- * @see org.eclipse.jem.internal.proxy.core.IExpression#createExpressionProxyExpression(int, ExpressionProxy)
- * @since 1.1.0
- */
-public class ExpressionProxy implements IProxy {
-
- public ProxyFactoryRegistry getProxyFactoryRegistry() {
- return getExpression().getRegistry();
- }
-
- /**
- * The event object for the resolved event of the proxy listener.
- * <p>
- * The source will be the ExpressionProxy that is being resolved.
- * @since 1.1.0
- */
- public static class ProxyEvent extends EventObject {
-
- /**
- * Comment for <code>serialVersionUID</code>
- *
- * @since 1.1.0
- */
- private static final long serialVersionUID = -2305781662465107377L;
- private final IBeanProxy proxy;
-
- /**
- * @param source the expression proxy for the event.
- * @param proxy the bean proxy the expression proxy (source) resolved to.
- *
- * @since 1.1.0
- */
- public ProxyEvent(ExpressionProxy source, IBeanProxy proxy) {
- super(source);
- this.proxy = proxy;
- }
-
- /**
- * Construct the event with no proxy. Used for not resolved and void.
- * @param source
- *
- * @since 1.1.0
- */
- public ProxyEvent(ExpressionProxy source) {
- this(source, null);
- }
-
- /**
- * Get the proxy value that the expression proxy (source) resolved to.
- * @return
- *
- * @since 1.1.0
- */
- public IBeanProxy getProxy() {
- return proxy;
- }
- }
-
- /**
- * Listener for expression proxy events.
- *
- * @since 1.1.0
- */
- public interface ProxyListener {
- /**
- * The expression proxy has been resolved. The event contains the resolved proxy.
- * At this point, any listeners should no longer hold onto the ExpressionProxy
- * because it is now invalid. They should hold onto the resolved bean proxy instead.
- *
- * @param event
- *
- * @since 1.1.0
- */
- public void proxyResolved(ProxyEvent event);
-
- /**
- * This is called for ExpressionProxies that have a callback listener, but the proxy
- * was never resolved. This means that the expression that assigns to the proxy was
- * not executed. In this case the event does not have a bean proxy in it.
- *
- * @param event
- *
- * @since 1.1.0
- */
- public void proxyNotResolved(ProxyEvent event);
-
- /**
- * This is called for ExpressionProxies that were assigned to an expression that
- * had a <code>VOID</code> return type. This is usually for method invocations that
- * have a void return type. In this case the event does not have a bean proxy in it.
- * @param event
- *
- * @since 1.1.0
- */
- public void proxyVoid(ProxyEvent event);
- }
-
- /**
- * An implementation of ProxyListener that does nothing. It can be
- * used as a superclass for individual listeners that are only interested
- * in some of the events.
- *
- * @since 1.1.0
- */
- public static class ProxyAdapter implements ProxyListener {
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.ExpressionProxy.ProxyListener#proxyNotResolved(org.eclipse.jem.internal.proxy.core.ExpressionProxy.ProxyEvent)
- */
- public void proxyNotResolved(ProxyEvent event) {
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.ExpressionProxy.ProxyListener#proxyResolved(org.eclipse.jem.internal.proxy.core.ExpressionProxy.ProxyEvent)
- */
- public void proxyResolved(ProxyEvent event) {
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.ExpressionProxy.ProxyListener#proxyVoid(org.eclipse.jem.internal.proxy.core.ExpressionProxy.ProxyEvent)
- */
- public void proxyVoid(ProxyEvent event) {
- }
- }
-
- final private int proxyID;
- final private int proxyType;
- private ListenerList listenerList;
- private Expression expression;
-
- /**
- * Create with the given proxy id.
- * @param proxyid
- *
- * @since 1.1.0
- */
- public ExpressionProxy(int proxyid, int proxyType, Expression expression) {
- this.proxyID = proxyid;
- this.proxyType = proxyType;
- this.expression = expression;
- }
-
- /**
- * Get the expression this proxy is for.
- * @return
- *
- * @since 1.1.0
- */
- public Expression getExpression() {
- return expression;
- }
-
- /**
- * Used internally in expression to get the proxy type.
- * @return
- *
- * @since 1.1.0
- */
- protected final int getProxyType() {
- return proxyType;
- }
-
- /**
- * Return the proxy id.
- * @return
- *
- * @since 1.1.0
- */
- public final int getProxyID() {
- return proxyID;
- }
-
- /**
- * Add a listener. If listener already added, it has no effect.
- * @param listener
- *
- * @since 1.1.0
- */
- public void addProxyListener(ProxyListener listener) {
- if (listenerList == null)
- listenerList = new ListenerList();
- listenerList.add(listener);
- }
-
- /**
- * Remove a listener. If listener not already added, then no error.
- * @param listener
- *
- * @since 1.1.0
- */
- public void removeProxyListener(ProxyListener listener) {
- if (listenerList != null)
- listenerList.remove(listener);
- }
-
- /**
- * Used by internal subclasses or Expression to know if anyone is listening.
- * @return
- *
- * @since 1.1.0
- */
- protected final boolean hasListeners() {
- return listenerList != null && !listenerList.isEmpty();
- }
-
- /**
- * The proxy has been fired (one of the events has occurred). Subclasses should clean
- * up and not hold onto anything that would be expensive in case the proxy is still
- * held onto be someone. For example the default clears the listener list.
- * <p>
- * <b>Note:</b> Subclasses must call super.dispose().
- *
- * @since 1.1.0
- */
- protected void dispose() {
- listenerList = null;
- expression = null;
- }
-
- /**
- * Used by internal subclasses or by Expression to fire the resolved event. Once fired all listeners are removed.
- * This is because only one kind of firing can be done for a expression proxy and then the proxy is dead. This
- * prevents listeners from being held on to if any one accidently still holds the proxy.
- * @param proxy
- *
- * @since 1.1.0
- */
- protected void fireResolved(IBeanProxy proxy) {
- if (hasListeners()) {
- ProxyEvent event = new ProxyEvent(this, proxy);
- Object[] listeners = listenerList.getListeners();
- for (int i = 0; i < listeners.length; i++) {
- try {
- ((ProxyListener) listeners[i]).proxyResolved(event);
- } catch (RuntimeException e) {
- ProxyPlugin.getPlugin().getLogger().log(e, Level.WARNING);
- }
- }
- }
- dispose();
- }
-
- /**
- * Used by internal subclasses or by Expression to fire the not resolved event. Once fired all listeners are removed.
- * This is because only one kind of firing can be done for a expression proxy and then the proxy is dead. This
- * prevents listeners from being held on to if any one accidently still holds the proxy.
- *
- * @since 1.1.0
- */
- protected void fireNotResolved() {
- if (hasListeners()) {
- ProxyEvent event = new ProxyEvent(this);
- Object[] listeners = listenerList.getListeners();
- for (int i = 0; i < listeners.length; i++) {
- try {
- ((ProxyListener) listeners[i]).proxyNotResolved(event);
- } catch (RuntimeException e) {
- ProxyPlugin.getPlugin().getLogger().log(e, Level.WARNING);
- }
-
- }
- }
- dispose();
- }
-
- /**
- * Used by internal subclasses or by Expression to fire the void resolved event. Once fired all listeners are removed.
- * This is because only one kind of firing can be done for a expression proxy and then the proxy is dead. This
- * prevents listeners from being held on to if any one accidently still holds the proxy.
- *
- * @since 1.1.0
- */
- protected void fireVoidResolved() {
- if (hasListeners()) {
- ProxyEvent event = new ProxyEvent(this);
- Object[] listeners = listenerList.getListeners();
- for (int i = 0; i < listeners.length; i++) {
- try {
- ((ProxyListener) listeners[i]).proxyVoid(event);
- } catch (RuntimeException e) {
- ProxyPlugin.getPlugin().getLogger().log(e, Level.WARNING);
- }
-
- }
- }
- dispose();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IProxy#isBeanProxy()
- */
- public final boolean isBeanProxy() {
- return false;
- }
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IProxy#isExpressionProxy()
- */
- public final boolean isExpressionProxy() {
- return true;
- }
-
- /**
- * Is this proxy valid for reassignment. By default only if the type is NORMAL_EXPRESSION_PROXY.
- * Subclasses may override and return true in their cases.
- *
- * @return
- *
- * @since 1.1.0
- */
- public boolean isValidForReassignment() {
- return getProxyType() == Expression.NORMAL_EXPRESSION_PROXY;
- }
-
-
- /* (non-Javadoc)
- * @see java.lang.Object#toString()
- */
- public String toString() {
- return super.toString()+": "+getProxyID(); //$NON-NLS-1$
- }
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IAccessibleObjectProxy.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IAccessibleObjectProxy.java
deleted file mode 100644
index 6094abaf4..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IAccessibleObjectProxy.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.core;
-/*
- * $RCSfile: IAccessibleObjectProxy.java,v $
- * $Revision: 1.3 $ $Date: 2005/02/15 22:53:46 $
- */
-
-/**
- * Proxy for an AccessibleObject.
- *
- * @since 1.0.0
- */
-public interface IAccessibleObjectProxy extends IBeanProxy {
-
- /**
- * Is the proxy accessible or not?
- *
- * @return <code>true</code> if accessible.
- */
- public boolean isAccessible() throws ThrowableProxy;
-
- /**
- * Set the accessible flag on the proxy.
- *
- * @param flag <code>true</code> if accessible.
- * @throws ThrowableProxy
- */
- public void setAccessible(boolean flag) throws ThrowableProxy;
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IArrayBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IArrayBeanProxy.java
deleted file mode 100644
index 1afb1c524..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IArrayBeanProxy.java
+++ /dev/null
@@ -1,92 +0,0 @@
-package org.eclipse.jem.internal.proxy.core;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: IArrayBeanProxy.java,v $
- * $Revision: 1.3 $ $Date: 2005/02/15 22:53:46 $
- */
-
-
-/**
- * Proxy wrappering an array.
- */
-public interface IArrayBeanProxy extends IBeanProxy {
- /**
- * Get the object at the specified index.
- */
- IBeanProxy get(int index) throws ThrowableProxy;
-
- IBeanProxy getCatchThrowableException(int index);
-
- /**
- * Get the object at the specified multi-dimensional index.
- * The array must be at least the number of dimensions specified,
- * and each index along the way must exist.
- * The number of dimensions can't be greater than the number
- * of dimensions of the real object.
- */
- IBeanProxy get(int [] indexes) throws ThrowableProxy;
-
- /**
- * Get a snapshot of the array. It will return an array of proxies of the
- * complete first dimension of the array. This is useful if you need
- * to be working with more than one entry of the array. You can save
- * accesses to the vm by doing this.
- * <p>
- * NOTE: This is a snapshot. It will not see changes to the array.
- * If an entry is set into the returned array of proxies, this will
- * not be reflected into the real array. Also any changes in the
- * contents of the first dimension of the real array will not
- * be reflected into this returned array of proxies. The proxies
- * returned are real proxies, so any changes to them will be reflected
- * back and forth. Treat this as an array copy to a new array.
- *
- * @return array of proxies of the first dimension of the array.
- * @throws ThrowableProxy
- *
- * @since 1.1.0
- */
- IBeanProxy[] getSnapshot() throws ThrowableProxy;
-
- /**
- * Set the object at the specified index.
- */
- void set(IBeanProxy value, int index) throws ThrowableProxy;
-
- /**
- * Set the object at the specified multi-dimensional index.
- * The array must be at least the number of dimensions specified,
- * and each index along the way must exist.
- * The number of dimensions can't be greater than the number
- * of dimensions of the real object.
- */
- void set(IBeanProxy value, int [] indexes) throws ThrowableProxy;
-
- /**
- * Get the length of the first dimension of this array.
- * If there are multi-dimensions, you must get the appropriate
- * dimension from the get method to see the size of that dimension.
- *
- * e.g.
- * int [3] returns 3
- * int [3][2] returns 3
- *
- * ((IArrayBeanProxy) get(1)).getLength() returns 2
- * Since arrays do not have to be homogenous, there could
- * be a different length array for each of the arrays
- * returned from the first dimension, the returned length
- * from get(2) and get(3) could result in a different value
- * from get(1).
- */
- int getLength();
-
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IArrayBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IArrayBeanTypeProxy.java
deleted file mode 100644
index aef3580c8..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IArrayBeanTypeProxy.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package org.eclipse.jem.internal.proxy.core;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: IArrayBeanTypeProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:53:46 $
- */
-
-
-/**
- * A Proxy for an array type.
- */
-
-public interface IArrayBeanTypeProxy extends IBeanTypeProxy {
- /**
- * getComponentType: Get the component type of this array.
- * e.g. (new Object[3]).getClass().getComponentType() will
- * return "java.lang.Object".
- * and (new Object[3][2][1]).getClass().getComponentType() will
- * return "Object[][]";
- */
- public IBeanTypeProxy getComponentType();
- /**
- * Return the final type, i.e. the final non-array type.
- * i.e. int[][] will return int.
- */
- public IBeanTypeProxy getFinalComponentType();
- /**
- * Return the number of dimensions for this type.
- * i.e. int [][] will return 2.
- */
- public int getDimensions();
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IBeanProxy.java
deleted file mode 100644
index bbdda0812..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IBeanProxy.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package org.eclipse.jem.internal.proxy.core;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: IBeanProxy.java,v $
- * $Revision: 1.3 $ $Date: 2005/05/11 19:01:12 $
- */
-
-
-/**
- * Bean Proxy interface. This is the
- * root interface for any bean proxy instance.
- * Creation date: (12/3/99 11:37:01 AM)
- * @author: Joe Winchester
- */
-public interface IBeanProxy extends IProxy {
-/**
- * equals: Equal if:
- * 1) This proxy == (identity) to the other object
- * 2) Else if other is an IBeanProxy, then if
- * equals on the server.
- * 3) If this is a constant proxy and the other is too or is a constant
- * value (e.g. IStringBeanProxy.equals(String), then true if values are equals.
- */
-public boolean equals(Object anObject);
-
-/**
- * Test for identity among this bean proxy and the other bean proxy.
- * For some proxy systems, this may be redundent and you can be assured
- * that if the objects being proxied are identical you will receive the
- * same proxy for both. However, other implementations may not have this
- * condition. Therefor this method was created.
- *
- * There is one restriction, constants may not necessarily be identical.
- * For instance, in some implementations, the Boolean proxy (i.e. an instance of class Boolean) is a constant, i.e.
- * it cannot be changed. In those cases a new proxy may be created for each
- * access and so they will not be considered to be identical. In those cases false will be returned.
- * But in other implementations a new proxy will not be created and so sameAs will return true.
- *
- * Primitives will return true if just equal because in Java primitives are identical if the same value.
- *
- * @param aBeanProxy
- * @return true if they are identical (i.e. ==) and not just equals.
- */
-public boolean sameAs(IBeanProxy aBeanProxy);
-
-/**
- * Return the registry this proxy was created with.
- */
-public ProxyFactoryRegistry getProxyFactoryRegistry();
-/**
- * Return the proxied class of the bean
- * Creation date: (12/3/99 11:37:01 AM)
- * @author: Joe Winchester
- */
-public IBeanTypeProxy getTypeProxy();
-
-/**
- * Return a string representation of the bean itself
- * This could be done by finding the toString() method by a findMethod()
- * on the type proxy, etc... but toString() is so ubiquitous that it is
- * explicitly declared on the IBeanProxy interface
- * Creation date: (12/3/99 11:37:01 AM)
- * @author: Joe Winchester
- */
-public String toBeanString();
-/**
- * Is this bean still valid? It could be invalid because it
- * was specifically released but someone is still holding onto it.
- */
-public boolean isValid();
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IBeanProxyFactory.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IBeanProxyFactory.java
deleted file mode 100644
index 0565715e1..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IBeanProxyFactory.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package org.eclipse.jem.internal.proxy.core;
-/*******************************************************************************
- * Copyright (c) 2001, 2003, 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: IBeanProxyFactory.java,v $
- * $Revision: 1.3 $ $Date: 2005/02/15 22:53:46 $
- */
-
-
-/**
- * Bean Proxy Factory for creating bean proxies.
- * Creation methods are actually package protected.
- * All creation is done through the IBeanTypeProxy.
- * Specific factories may have helper methods that
- * allow creation of specific types, such as the
- * standard factory allows creation of Boolean, int's, etc.
- * Creation date: (12/3/99 11:52:09 AM)
- * @author: Joe Winchester
- */
-public interface IBeanProxyFactory {
- /**
- * The factory is being terminated.
- * <p>
- * It should clean up its resources.
- * It should not reference any other factory because they could of
- * already been terminated.
- * <p>
- * For example, if it is holding onto IREMBeanProxy's, it doesn't
- * need to call release on them except if they are constants because
- * the BeanProxyFactory has all non-constant bean proxies registered
- * and will call the release itself.
- * <p>
- * Note: This is not meant to be called by users. It will be called internally by the proxy registry when necessary.
- *
- * @param wait <code>true</code> should wait for completion, <code>false</code> don't necessarily wait. False is just
- * a suggestion. The factory may not permit not waiting. True must be honoured and it must wait.
- *
- * @since 1.0.2
- */
- public void terminateFactory(boolean wait);
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IBeanTypeExpressionProxy.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IBeanTypeExpressionProxy.java
deleted file mode 100644
index 2726d05c6..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IBeanTypeExpressionProxy.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- * $RCSfile: IBeanTypeExpressionProxy.java,v $
- * $Revision: 1.1 $ $Date: 2005/05/11 19:01:12 $
- */
-package org.eclipse.jem.internal.proxy.core;
-
-
-/**
- * An internal interface for the registries to create the appropriate beantype expression proxy.
- * Not to be implemented or referenced by customers.
- * @since 1.1.0
- */
-public interface IBeanTypeExpressionProxy extends IProxyBeanType {
-
- /**
- * Allow the expression to set the type name.
- * @param typeName
- *
- * @since 1.1.0
- */
- public void setTypeName(String typeName);
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IBeanTypeProxy.java
deleted file mode 100644
index 596b688c4..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IBeanTypeProxy.java
+++ /dev/null
@@ -1,318 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: IBeanTypeProxy.java,v $
- * $Revision: 1.7 $ $Date: 2005/05/11 19:01:12 $
- */
-package org.eclipse.jem.internal.proxy.core;
-
-import org.eclipse.jem.internal.proxy.common.AmbiguousMethodException;
-
-/**
- * A proxy for a BeanType (i.e. Java type/class). Creation date: (12/3/99 11:38:06 AM)
- *
- * @author: Joe Winchester
- */
-public interface IBeanTypeProxy extends IBeanProxy, IProxyBeanType {
-
- /**
- * Find the most compatible constructor (out of the declared constructors). This means it will
- * find either an exact match or an override that is compatible, e.g. X(Object j) is returned when looking with arg type of "java.lang.String".
- * @param argumentTypes array of arg types or <code>null</code> if none. (In case of null, this is the default ctor, so just use that).
- * @return
- * @throws NoSuchMethodException
- * @throws AmbiguousMethodException
- *
- * @since 1.1.0
- */
- public IConstructorProxy getCompatibleConstructor(IBeanTypeProxy[] argumentTypes) throws AmbiguousMethodException, NoSuchMethodException;
-
- /**
- * Find the most compatible public method, including inheritied. This means it will
- * find either an exact match or an override that is compatible, e.g. xyz(Object j) is returned when looking with arg type of "java.lang.String".
- * @param methodName
- * @param argumentTypes array of arg types or <code>null</code> if none. (In case of null, just use getMethod(String methodName) since only one is compatible then.
- * @return
- * @throws AmbiguousMethodException
- * @throws NoSuchMethodException
- *
- * @since 1.1.0
- */
- public IMethodProxy getCompatibleMethod(String methodName, IBeanTypeProxy[] argumentTypes) throws AmbiguousMethodException, NoSuchMethodException;
-
- /**
- * Return the constructor proxy on the receiver with the specified arguments Creation date: (12/3/99 2:25:07 PM)
- */
- public IConstructorProxy getConstructorProxy(String[] argumentClassNames);
-
- /**
- * Return the constructor proxy on the receiver with the specified types Creation date: (12/3/99 2:25:07 PM)
- */
- public IConstructorProxy getConstructorProxy(IBeanTypeProxy[] argumentTypes);
-
- /**
- * Return an array of public constructors for this class.
- *
- * @return an array of constructor proxies or <code>null</code> if an error.
- *
- * @since 1.1.0
- */
- public IConstructorProxy[] getConstructors();
-
- /**
- * Return the declared constructor proxy on the receiver with the specified arguments Creation date: (12/3/99 2:25:07 PM)
- */
- public IConstructorProxy getDeclaredConstructorProxy(String[] argumentClassNames);
-
- /**
- * Return the declared constructor proxy on the receiver with the specified types Creation date: (12/3/99 2:25:07 PM)
- */
- public IConstructorProxy getDeclaredConstructorProxy(IBeanTypeProxy[] argumentTypes);
-
- /**
- * Return an array of declared constructors for this class.
- *
- * @return an array of constructor proxies or <code>null</code> if an error.
- *
- * @since 1.1.0
- */
- public IConstructorProxy[] getDeclaredConstructors();
-
- /**
- * Return the array of field proxies.
- * @return
- *
- * @since 1.1.0
- */
- public IFieldProxy[] getFields();
-
- /**
- * Return the array of declared field proxies.
- * @return
- *
- * @since 1.1.0
- */
- public IFieldProxy[] getDeclaredFields();
-
- /**
- * Return the fieldproxy on the receiver with the specified name Creation date: (12/3/99 2:25:07 PM)
- */
- public IFieldProxy getFieldProxy(String fieldName);
-
- /**
- * Return the declared fieldproxy on the receiver with the specified name
- */
- public IFieldProxy getDeclaredFieldProxy(String fieldName);
-
- /**
- * Return the method proxy on the receiver with the specified name and no arguments.
- *
- * @param methodName
- * @return
- * @since 1.0.0
- */
- public IMethodProxy getMethodProxy(String methodName);
-
- /**
- * Return the method proxy on the receiver with the qualified class names as string arguments
- *
- * @param methodName
- * @param argumentClassNames
- * @return
- * @since 1.0.0
- */
- public IMethodProxy getMethodProxy(String methodName, String[] argumentClassNames);
-
- /**
- * Return the method proxy on the receiver with the specified name and one argument
- *
- * @param methodName
- * @param argumentClassName
- * @return
- * @since 1.0.0
- */
- public IMethodProxy getMethodProxy(String methodName, String argumentClassName);
-
- /**
- * Return the method proxy on the receiver with the beanTypes as arguments
- *
- * @param methodName
- * @param argumentTypes
- * @return
- * @since 1.0.0
- */
- public IMethodProxy getMethodProxy(String methodName, IBeanTypeProxy[] argumentTypes);
-
- /**
- * Return an array of public methods for this class.
- *
- * @return an array of method proxies or <code>null</code> if an error.
- *
- * @since 1.1.0
- */
- public IMethodProxy[] getMethods();
-
- /**
- * Return the declared method proxy on the receiver with the specified arguments Creation date: (12/3/99 2:25:07 PM)
- */
- public IMethodProxy getDeclaredMethodProxy(String methodName, String[] argumentClassNames);
-
- /**
- * Return the declared method proxy on the receiver with the specified types Creation date: (12/3/99 2:25:07 PM)
- */
- public IMethodProxy getDeclaredMethodProxy(String methodName, IBeanTypeProxy[] argumentTypes);
-
- /**
- * Return an array of declared methods for this class.
- *
- * @return an array of method proxies or <code>null</code> if an error.
- *
- * @since 1.1.0
- */
- public IMethodProxy[] getDeclaredMethods();
-
- /**
- * Return the invokable on the receiver with the specified name and no arguments.
- * <p>
- * The method proxy is not retrieved. Instead the method will be looked up
- * each time on the vm. Because of this these are suitable only for one-shot invokations. If it is to be invoked often, then a method proxy should
- * be retrieved instead.
- * <p>
- * Though typical for one-shot deal the invokable can be used over and over. There is just overhead because the method is looked up each time. So a reasonable compromise
- * would be if using it infrequently or is used closely together once or twice it is better to use a Invokable instead of a method proxy.
- * <p>
- * Note there is no guarantee that the method is available. This won't be known until the actual invoke is done.
- *
- * @param methodName
- * @return
- * @since 1.0.0
- */
- public IInvokable getInvokable(String methodName);
-
- /**
- * Return the method proxy on the receiver with the qualified class names as string arguments
- * <p>
- * The method proxy is not retrieved. Instead the method will be looked up
- * each time on the vm. Because of this these are suitable only for one-shot invokations. If it is to be invoked often, then a method proxy should
- * be retrieved instead.
- * <p>
- * Though typical for one-shot deal the invokable can be used over and over. There is just overhead because the method is looked up each time. So a reasonable compromise
- * would be if using it infrequently or is used closely together once or twice it is better to use a Invokable instead of a method proxy.
- * <p>
- * Note there is no guarantee that the method is available. This won't be known until the actual invoke is done.
- *
- * @param methodName
- * @param argumentClassNames
- * @return
- * @since 1.0.0
- */
- public IInvokable getInvokable(String methodName, String[] argumentClassNames);
-
- /**
- * Return the method proxy on the receiver with the specified name and one argument
- * <p>
- * The method proxy is not retrieved. Instead the method will be looked up
- * each time on the vm. Because of this these are suitable only for one-shot invokations. If it is to be invoked often, then a method proxy should
- * be retrieved instead.
- * <p>
- * Though typical for one-shot deal the invokable can be used over and over. There is just overhead because the method is looked up each time. So a reasonable compromise
- * would be if using it infrequently or is used closely together once or twice it is better to use a Invokable instead of a method proxy.
- * <p>
- * Note there is no guarantee that the method is available. This won't be known until the actual invoke is done.
- *
- * @param methodName
- * @param argumentClassName
- * @return
- * @since 1.0.0
- */
- public IInvokable getInvokable(String methodName, String argumentClassName);
-
- /**
- * Return the method proxy on the receiver with the beanTypes as arguments
- * <p>
- * The method proxy is not retrieved. Instead the method will be looked up
- * each time on the vm. Because of this these are suitable only for one-shot invokations. If it is to be invoked often, then a method proxy should
- * be retrieved instead.
- * <p>
- * Though typical for one-shot deal the invokable can be used over and over. There is just overhead because the method is looked up each time. So a reasonable compromise
- * would be if using it infrequently or is used closely together once or twice it is better to use a Invokable instead of a method proxy.
- * <p>
- * Note there is no guarantee that the method is available. This won't be known until the actual invoke is done.
- *
- * @param methodName
- * @param argumentTypes
- * @return
- * @since 1.0.0
- */
- public IInvokable getInvokable(String methodName, IBeanTypeProxy[] argumentTypes);
-
- /**
- * Return the constructor proxy on the receiver with no arguments Creation date: (12/3/99 2:25:07 PM)
- */
- public IConstructorProxy getNullConstructorProxy();
-
- /**
- * Answer the type proxy for the superclass Creation date: (12/3/99 2:25:07 PM)
- */
- public IBeanTypeProxy getSuperBeanTypeProxy();
-
- /**
- * Answer the name of the type we are proxying This is the fully qualified name. For arrays it will return the format: [Lclassname; Creation date:
- * (12/3/99 2:25:07 PM)
- */
- public String getTypeName();
-
- /**
- * Answer the formal format type name. For normal classes, this just the same as getTypeName(), but for arrays, it is of the format classname[]
- */
- public String getFormalTypeName();
-
- /**
- * Answer a boolean as to whether we are an array type.
- */
- public boolean isArray();
-
- /**
- * Answer a boolean as to whether we are a type or an interface Creation date: (12/3/99 2:25:07 PM)
- */
- public boolean isInterface();
-
- /**
- * Answer a boolean as to whether we are a primitive or not.
- */
- public boolean isPrimitive();
-
- /**
- * Answer a boolean as to whether we are a kind of the argument We can either be it, inherit from it, or implement it
- */
- public boolean isKindOf(IBeanTypeProxy aBeanProxyType);
-
- /**
- * Return a new instance Creation date: (12/3/99 2:25:07 PM)
- */
- public IBeanProxy newInstance() throws ThrowableProxy;
-
- /**
- * Return a new instance of this type using the initialization string to create the proxy. ClassCastException is thrown if the initstring doesn't
- * result in an object compatible with this type. InstantiationException is thrown when the initialization string cannot be parsed correctly.
- * Creation date: (12/3/99 2:25:07 PM)
- */
- public IBeanProxy newInstance(String initializationString) throws ThrowableProxy, ClassCastException, InstantiationException;
-
- /**
- * Return the exception message that happened when trying to find this bean type. Class not found is not such an exception. In that case the bean
- * type will be returned as a null instead. An example of such is an initialization error during loading the class, i.e. it was found but some
- * static failed to initialize.
- *
- * Return null if there is no initialization error.
- */
- public String getInitializationError();
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IBeanTypeProxyFactory.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IBeanTypeProxyFactory.java
deleted file mode 100644
index 769314df5..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IBeanTypeProxyFactory.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.eclipse.jem.internal.proxy.core;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: IBeanTypeProxyFactory.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:53:46 $
- */
-
-
-/**
- * Factory for creating BeanTypeProxy's.
- * This is a common tag interface so that
- * the factory can be registered. But each
- * VM requires a different interface that
- * extends this interface. That extended
- * interface is what must be implemented in
- * each VM.
- * Creation date: (12/3/99 2:26:00 PM)
- * @author: Joe Winchester
- */
-public interface IBeanTypeProxyFactory extends IBeanProxyFactory {
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IBooleanBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IBooleanBeanProxy.java
deleted file mode 100644
index 3e1610ee4..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IBooleanBeanProxy.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.eclipse.jem.internal.proxy.core;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: IBooleanBeanProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:53:46 $
- */
-
-
-/**
- * Optimized implementation that should be used for Boolean proxies that
- * allows the IDE VM to get the boolean value easily
- * Creation date: (2/6/00 8:58:22 AM)
- * @author: Joe Winchester
- */
-public interface IBooleanBeanProxy extends IBeanProxy {
-/**
- * Return the proxied boolean as a boolean that the IDE can use
- * Creation date: (2/6/00 8:58:32 AM)
- */
-boolean booleanValue();
-Boolean getBooleanValue();
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ICallback.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ICallback.java
deleted file mode 100644
index c95e775f1..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ICallback.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.core;
-/*
- * $RCSfile: ICallback.java,v $
- * $Revision: 1.5 $ $Date: 2005/05/11 19:01:12 $
- */
-
-import java.io.InputStream;
-
-/**
- * Users will create a callback of this interface
- * and register it with the factory. Then when ever
- * the callback occurs, this callback will be called
- * with data from the proxy. It can return a value too.
- *
- * Or an InputStream can be returned to supply the data.
- *
- * @since 1.0.0
- */
-public interface ICallback {
-
- /**
- * This is the entry point of the callback.
- * It will be called whenever the callback
- * occurred. It will be on its own thread.
- * A particular thread cannot be requested.
- * <p>
- * The implementation MUST return. This is
- * because the callback will not be completed
- * until it is returned, and the process will
- * not continue on the remote vm until it is
- * returned.
- * <p>
- * The value returned must either be an
- * IBeanProxy or IBeanProxy[]. It is typed
- * to Object to allow either one, but it
- * will be checked, and if it isn't, then
- * null will be returned instead to the
- * caller.
- *
- * @param msgID
- * @param parm The beanproxy - will not be null
- * @return
- *
- * @since 1.0.0
- */
- public Object calledBack(int msgID, IBeanProxy parm);
-
- /**
- * This is the entry point of the callback.
- * It will be called whenever the callback
- * occurred. It will be on its own thread.
- * A particular thread cannot be requested.
- * <p>
- * The parms will be an array of IBeanProxys,
- * or an entry could be another array of IBeanProxys,
- * or null if null was sent to callBackWithParms.
- * The final component of any entry will be an
- * IBeanProxy. It is up to the developers to
- * agree on the format of the parms.
- * <p>
- * The implementation MUST return. This is
- * because the callback will not be completed
- * until it is returned, and the process will
- * not continue on the remote vm until it is
- * returned.
- * <p>
- * The value returned must either be an
- * IBeanProxy or IBeanProxy[]. It is typed
- * to Object to allow either one, but it
- * will be checked, and if it isn't, then
- * null will be returned instead to the
- * caller.
- *
- * @param msgID
- * @param parms
- * @return
- *
- * @see org.eclipse.jem.internal.proxy.common.ICallbackHandler#callbackWithParms(int, int, Object[])
- * @since 1.0.0
- */
- public Object calledBack(int msgID, Object[] parms);
-
- /**
- * This is the entry point of the callback.
- * It will be called whenever the callback
- * occurred. It will be on its own thread.
- * A particular thread cannot be requested.
- * <p>
- * The parm will be an object. This occurs
- * if remote vm just wanted to send some objects.
- * They will not be proxies. It is recommended
- * that this be used only for small items. For
- * anything large, the callbackStream should be
- * used instead.
- * <p>
- * The implementation MUST return. This is
- * because the callback will not be completed
- * until it is returned, and the process will
- * not continue on the remote vm until it is
- * returned.
- * <p>
- * The value returned must either be an
- * IBeanProxy or IBeanProxy[]. It is typed
- * to Object to allow either one, but it
- * will be checked, and if it isn't, then
- * null will be returned instead to the
- * caller.
- *
- * @param msgID
- * @param parm The parm or <code>null</code> if null was sent.
- * @return
- *
- * @see ICallback#calledBackStream(int, InputStream)
- * @since 1.0.0
- */
- public Object calledBack(int msgID, Object parm);
-
- /**
- * This is the entry point of the callback.
- * It will be called whenever the callback stream
- * occurred. It will be on its own thread.
- * A particular thread cannot be requested.
- * <p>
- * The callback should continue to read from the InputStream
- * until it returns -1 indicating no more data. The stream can
- * be closed. In that case the next time the remote vm wants to
- * send data it will first check that the stream has not been closed.
- * If it has, it will raise an exception on that side.
- * <p>
- * The implementation MUST return. This is
- * because the callback will not be completed
- * until it is returned, and the process will
- * not continue on the remote vm until it is
- * returned.
- *
- * @param msgID
- * @param is
- *
- * @since 1.0.0
- */
- public void calledBackStream(int msgID, InputStream is);
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ICallbackRegistry.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ICallbackRegistry.java
deleted file mode 100644
index 2b2b16df6..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ICallbackRegistry.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package org.eclipse.jem.internal.proxy.core;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: ICallbackRegistry.java,v $
- * $Revision: 1.3 $ $Date: 2005/05/11 19:01:12 $
- */
-
-/**
- * This is the registry for handling callbacks.
- * It is used to register and deregister callbacks.
- *
- * Callbacks are split into two parts:
- * 1) CallbackProxy. This is any proxy that implements the
- * interface ICallback. (Or the
- * equivalent one if not standard remote vm). This is the
- * object which will actually submit the callback on the remote
- * vm. For example, any kind of listener. It would implement
- * both the ICallback and the appropriate listener interface.
- * Then when it gets called as a listener, it will redirect the
- * call to the remote vm callback handler to submit it to the
- * proxy side.
- * 2) Callback. This is on this side and is the object that will
- * be notified of the callback and will execute at that time.
- *
- */
-
-public interface ICallbackRegistry {
-
- /**
- * Register this callback proxy and this callback.
- *
- * The process is to:
- * 1) Create the callbackProxy and the callback
- * 2) register these with registerCallback
- * 3) Now connect the callbackProxy so that it will start notifying.
- * For example, if it is a normal listener, at this time do the
- * addListener call to add the callbackProxy to the appropriate object.
- * You don't want it to start notifying before registering it.
- * (Though it won't hust it, it will just return null).
- */
- public void registerCallback(IBeanProxy callbackProxy, ICallback cb);
-
- /**
- * Same as {@link ICallbackRegistry#registerCallback(IBeanProxy, ICallback) registerCallback} except that
- * it is deferred off into an expression.
- *
- * @param callbackProxy
- * @param cb
- * @param expression
- *
- * @since 1.1.0
- */
- public void registerCallback(IProxy callbackProxy, ICallback cb, IExpression expression);
-
- /**
- * Deregister the callback proxy. This will remove it from the
- * registry and release the callback.
- *
- * The process is to:
- * 1) Stop the proxy from listening so it no notifies. This is usually
- * removeListener on the remote vm. You don't want it notifying
- * after it deregister (though it won't hurt it, it will just return null).
- * 2) deregister it.
- */
- public void deregisterCallback(IBeanProxy callbackProxy);
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ICharacterBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ICharacterBeanProxy.java
deleted file mode 100644
index a51d7cd9f..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ICharacterBeanProxy.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.core;
-/*
- * $RCSfile: ICharacterBeanProxy.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:53:46 $
- */
-
-
-/**
- * Optimized implementation that should be used for character proxies that
- * allows the IDE VM to get the character value easily
- * Creation date: (2/6/00 8:58:22 AM)
- * @author: Joe Winchester
- */
-public interface ICharacterBeanProxy extends IBeanProxy, INumberBeanProxy {
-/**
- * Return the proxied character as a char that the IDE can use
- * Creation date: (2/6/00 8:58:32 AM)
- */
-char charValue();
-/**
- * Return the proxied character as a Character that the IDE can use
- * Creation date: (2/6/00 8:58:32 AM)
- */
-Character characterValue();
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IConfigurationContributionController.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IConfigurationContributionController.java
deleted file mode 100644
index 3024d056b..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IConfigurationContributionController.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.core;
-/*
- * $RCSfile: IConfigurationContributionController.java,v $
- * $Revision: 1.8 $ $Date: 2005/02/15 22:53:46 $
- */
-
-import java.net.URL;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.core.IJavaProject;
-import org.osgi.framework.Bundle;
-;
-/**
- * Controls contribution to the configuration. This allows the classpath
- * to be modified in an acceptable manner, so that duplicates aren't in
- * the path, or adding a project to the path in an acceptable way.
- *
- * If only deleting or moving entries from the classpath, that can be done directly
- * to the classpath list passed in. Adding entries needs to go through this
- * controller.
- *
- * This is meant to be implemented by developers of proxy launch configurations.
- *
- * @version 1.0
- * @author
- */
-public interface IConfigurationContributionController {
-
- /**
- * Append to the user classpath.
- */
- public static final int APPEND_USER_CLASSPATH = 0;
-
- /**
- * Prepend to the user classpath. This will stick it in position 0. If
- * another prepend comes along, it will go in pos 0 and this one will move to 1.
- */
- public static final int PREPEND_USER_CLASSPATH = 1;
-
-
- /**
- * Append to the boot classpath.
- */
- public static final int APPEND_BOOT_CLASSPATH = 2;
-
- /**
- * Prepend to the boot classpath.
- */
- public static final int PREPEND_BOOT_CLASSPATH = 3;
-
- /**
- * Append a folder to the java.library.path (for things like
- * dll's). This should result in a folder only.
- * The nlsLocalize flag contribute via plugin will be
- * ignored for this type flag.
- */
- public static final int APPEND_JAVA_LIBRARY_PATH = 4;
-
- /**
- * Get the java project that we are contributing for.
- *
- * @return javaproject, may be <code>null</code>
- *
- * @since 1.0.0
- */
- public IJavaProject getJavaProject();
-
- /**
- * Add a project to the classpath. The type flag tells where to add it.
- *
- * @param project
- * @throws CoreException
- *
- * @since 1.0.0
- */
- public void contributeProject(IProject project) throws CoreException;
-
- /**
- * Add an external file/folder to the classpath. The type flag tells where to add it.
- *
- * @param classpath
- * @param typeFlag One of <code>APPEND_USER_CLASSPATH</code>, <code>APPEND_BOOT_CLASSPATH</code>, <code>PREPEND_BOOT_CLASSPATH</code>, or <code>APPEND_JAVA_LIBRARY_PATH</code>.
- *
- * @deprecated use contributeClasspath(URL, int) instead.
- * @see #contributeClasspath(URL, int)
- * @since 1.0.0
- */
- public void contributeClasspath(String classpath, int typeFlag);
-
- /**
- * Add an external file/folder to the classpath. The type flag tells where to add it.
- *
- * @param classpathURL
- * @param typeFlag One of <code>APPEND_USER_CLASSPATH</code>, <code>APPEND_BOOT_CLASSPATH</code>, <code>PREPEND_BOOT_CLASSPATH</code>, or <code>APPEND_JAVA_LIBRARY_PATH</code>.
- *
- * @since 1.0.0
- */
- public void contributeClasspath(URL classpathURL, int typeFlag);
-
- /**
- * Add an external files/folders to the classpath. The type flag tells where to add it.
- *
- * @param classpaths
- * @param typeFlag One of <code>APPEND_USER_CLASSPATH</code>, <code>APPEND_BOOT_CLASSPATH</code>, <code>PREPEND_BOOT_CLASSPATH</code>, or <code>APPEND_JAVA_LIBRARY_PATH</code>.
- *
- * @deprecated use contributeClasspath(URL[], int) instead.
- * @see #contributeClasspath(URL[], int)
- * @since 1.0.0
- */
- public void contributeClasspath(String[] classpaths, int typeFlag);
-
- /**
- * Add an external files/folders to the classpath. The type flag tells where to add it.
- *
- * @param classpathURLs
- * @param typeFlag One of <code>APPEND_USER_CLASSPATH</code>, <code>APPEND_BOOT_CLASSPATH</code>, <code>PREPEND_BOOT_CLASSPATH</code>, or <code>APPEND_JAVA_LIBRARY_PATH</code>.
- *
- * @since 1.0.0
- */
- public void contributeClasspath(URL[] classpathURLs, int typeFlag);
-
- /**
- * Add a file/folder from a plugin in the running Eclipse to the classpath. The type flag tells where to add it.
- * In development mode it will find the bin class files instead if proxy.jars is setup correctly.
- * <p>
- * If nlsLocalize is <code>true</code>, then it will also search through the fragments in this manner:
- * (Note: if <code>false</code> it will still search in the fragments, but it will only return the first file found that matches.
- * <p>
- * To find the files in the fragments that are in the runtime path (i.e. libraries), it will need to use a suffix,
- * This is because the JDT will get confused if a runtime jar in a fragment has the same name
- * as a runtime jar in the main plugin. So we will use the following search pattern:
- *
- * 1) Find in the plugin and all of the fragments those that match the name exactly
- * 2) Find in all of the fragments, in their runtime path (<library> stmt), those that match the name
- * but have a suffix the same as the uniqueid of the fragment (preceeded by a period). This is so that it can be easily
- * found but yet be unique in the entire list of fragments. For example if looking for "runtime/xyz.jar"
- * and we have fragment "a.b.c.d.frag", then in the runtime path we will look for the file
- * "runtime/xyz.a.b.c.d.frag.jar".
- * <p>
- * If the files in the fragments are not in the fragments library path then it can have the same name as in the plugin.
- * <p>
- * This is useful for nls where the nls for the filename will be in one or more of the fragments of the plugin.
- *
- * @param bundle The bundle it can be found in.
- * @param relativePath Path to file/folder relative to bundle root. If it is <code>APPEND_JAVA_LIBRARY_PATH</code>, it should be folder and nlsLocalize will be ignored.
- * @param typeFlag One of <code>APPEND_USER_CLASSPATH</code>, <code>APPEND_BOOT_CLASSPATH</code>, <code>PREPEND_BOOT_CLASSPATH</code>, or <code>APPEND_JAVA_LIBRARY_PATH</code>.
- * @param nlsLocalize The usual value should be <code>false</code>. Use <code>true</code> if should look through fragments to gather them all as described in this methods description.
- *
- * @since 1.0.0
- */
- public void contributeClasspath(Bundle bundle, String relativePath, int typeFlag, boolean nlsLocalize);
-
- /**
- * Same as contributeClasspath(Bundle, String, int, boolean) except an IPath can be used as the relative path.
- *
- * @param bundle
- * @param relativePath
- * @param typeFlag
- * @param nlsLocalize
- *
- * @see #contributeClasspath(Bundle, String, int, boolean)
- * @since 1.0.0
- */
- public void contributeClasspath(Bundle bundle, IPath relativePath, int typeFlag, boolean nlsLocalize);
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IConfigurationContributionInfo.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IConfigurationContributionInfo.java
deleted file mode 100644
index c7176157c..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IConfigurationContributionInfo.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: IConfigurationContributionInfo.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:53:46 $
- */
-package org.eclipse.jem.internal.proxy.core;
-
-import java.util.Map;
-
-import org.eclipse.jdt.core.IJavaProject;
-
-/**
- * This interface will be passed to the IConfigurationContributor initialize method. It has info
- * that may be needed by the contributor. It may be saved for later use, but if classpaths have changed,
- * it won't be kept up to date.
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- *
- * @see org.eclipse.jem.internal.proxy.core.IConfigurationContributor#initialize(IConfigurationContributionInfo)
- * @since 1.0.0
- */
-public interface IConfigurationContributionInfo {
- /**
- * Get the java project that we are contributing for.
- *
- * @return javaproject, may be <code>null</code>
- *
- * @since 1.0.0
- */
- public IJavaProject getJavaProject();
-
- /**
- * Return the map of containers (the key) that are found in the classpath. This is useful for determining
- * if the container impliments a contributor interface.
- * <p>
- * Value will <code>Boolean</code> and will be true if container was visible to top-level project.
- *
- * @return Map of containers. Keys of type IClasspathContainer. Empty if launch not in a project.
- *
- * @see org.eclipse.jdt.core.IClasspathContainer
- * @since 1.0.0
- */
- public Map getContainers();
-
- /**
- * Return the map of container ids (the key) that are found in the classpath.
- * <p>
- * Value will <code>Boolean</code> and will be true if container id was visible to top-level project.
- *
- * @return map of container ids. Keys of type String. Empty if launch not in a project.
- *
- * @since 1.0.0
- */
- public Map getContainerIds();
-
- /**
- * Return the map of plugin ids (the key) that are found in the classpath.
- * <p>
- * Value will <code>Boolean</code> and will be true if plugin was visible to top-level project.
- *
- * @return map of plugin ids. Key of type String. Empty if launch not in a project.
- *
- * @since 1.0.0
- */
- public Map getPluginIds();
-
- /**
- * Return the map of project paths (the key) that are found in the classpath. The top-level project
- * will NOT be in this list since it is assumed to be visible to itself.
- * <p>
- * Value will <code>Boolean</code> and will be true if project was visible to top-level project.
- *
- * @return map of project paths. Key of type <code>IPath</code>. Empty if launch not in a project.
- *
- * @see org.eclipse.core.runtime.IPath
- * @since 1.0.0
- */
- public Map getProjectPaths();
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IConfigurationContributor.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IConfigurationContributor.java
deleted file mode 100644
index 254cd1e19..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IConfigurationContributor.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.core;
-/*
- * $RCSfile: IConfigurationContributor.java,v $
- * $Revision: 1.5 $ $Date: 2005/02/15 22:53:46 $
- */
-
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-
-
-/**
- * This interface is used to contribute to the configuration that will be
- * used to start a proxy registry.
- *
- * @since 1.0.0
- */
-public interface IConfigurationContributor {
-
- /**
- * Called first before any of the other calls. This can be used to do any internal initializations
- * required by the other calls. That way the other calls can have the order changed as the implementation
- * requires.
- * <p>
- * NOTE: For those who nest configuration contributors (i.e. within an implementation of a contributor, more
- * contributors are discovered) then it is imperitive that when those contributors are discovered that this method
- * be called on them too. This is necessary so the contract with contributors can be followed. It is best if the
- * discoveries are actually done in the initialize method itself so that it can pass the launch info right there.
- *
- * @param info info contains things like containers visible, etc.
- *
- * @see IConfigurationContributionInfo
- * @since 1.0.0
- */
- public void initialize(IConfigurationContributionInfo info);
-
- /**
- * Contribute to the classpath. The controller is used to do the actual contribution.
- *
- * @param controller
- * @throws CoreException
- *
- * @since 1.0.0
- */
- public void contributeClasspaths(IConfigurationContributionController controller) throws CoreException;
-
- /**
- * Contribute updates to the configuration. It will be called before the launch has started.
- *
- * @param config
- * @throws CoreException
- *
- * @since 1.0.0
- */
- public void contributeToConfiguration(ILaunchConfigurationWorkingCopy config) throws CoreException;
-
- /**
- * Contribute to the registry (or interact with the remote vm) after the registry has been
- * created.
- *
- * @param registry
- *
- * @since 1.0.0
- */
- public void contributeToRegistry(ProxyFactoryRegistry registry);
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IConstructorProxy.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IConstructorProxy.java
deleted file mode 100644
index c7bc36a48..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IConstructorProxy.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.core;
-/*
- * $RCSfile: IConstructorProxy.java,v $
- * $Revision: 1.5 $ $Date: 2005/05/11 19:01:12 $
- */
-
-
-/**
- * This is a proxy that allows a constructor to exist in the target VM
- * and be referenced in the IDE VM
- * Creation date: (1/17/00 1:21:52 PM)
- * @author: Joe Winchester
- */
-public interface IConstructorProxy extends IAccessibleObjectProxy {
-/**
- * Return a new instance with no creation arguments,
- * i.e. for a null constructor
- * Creation date: (1/17/00 1:22:11 PM)
- */
-IBeanProxy newInstance() throws ThrowableProxy;
-/**
- * Return a new instance with the specified creation arguments
- * Creation date: (1/17/00 1:22:11 PM)
- */
-IBeanProxy newInstance(IBeanProxy[] creationArguments) throws ThrowableProxy;
-
-IBeanProxy newInstanceCatchThrowableExceptions();
-IBeanProxy newInstanceCatchThrowableExceptions(IBeanProxy[] creationArguments);
-
-IBeanTypeProxy[] getParameterTypes();
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IDimensionBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IDimensionBeanProxy.java
deleted file mode 100644
index 56c1264fc..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IDimensionBeanProxy.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.eclipse.jem.internal.proxy.core;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: IDimensionBeanProxy.java,v $
- * $Revision: 1.1 $ $Date: 2005/05/11 19:01:12 $
- */
-
-
-
-/**
- * Interface to a Dimension bean proxy.
- * <p>
- * These are common for different windowing systems, e.g. AWT and SWT. So this here
- * is common interface for them.
- * Creation date: (4/7/00 3:46:39 PM)
- * @author: Administrator
- */
-public interface IDimensionBeanProxy extends IBeanProxy {
- public int getHeight();
- public int getWidth();
- public void setHeight(int height);
- public void setWidth(int width);
- public void setSize(int width, int height);
- public void setSize(IDimensionBeanProxy dim);
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IExpression.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IExpression.java
deleted file mode 100644
index cef89d45c..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IExpression.java
+++ /dev/null
@@ -1,990 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: IExpression.java,v $
- * $Revision: 1.5 $ $Date: 2005/06/22 21:05:18 $
- */
-package org.eclipse.jem.internal.proxy.core;
-
-import org.eclipse.jem.internal.proxy.initParser.tree.*;
-import org.eclipse.jem.internal.proxy.initParser.tree.IExpressionConstants;
-import org.eclipse.jem.internal.proxy.initParser.tree.NoExpressionValueException;
-
-/**
- * This is an expression. It will be evaluated on the other side. The difference between an
- * expression and using IMethodProxy's, IConstructorProxy's, etc. is the granularity. The proxies
- * are one round-trip to the other side for each access or execution. The expression builds them up
- * and will execute them all at once on the other side. Another difference is that the reflection
- * will be done on the other side too. For instance when invoking a method, the method name is
- * passed into the expression as a string then reflected and then invoked, while with method
- * proxies, the string is used to find the proxy on the other side, and then a later round-trip
- * will be used to invoke it.
- * <p>
- * Also an expression is a one-time use object. It can't be reused a second time. A new one must be
- * built up again.
- * <p>
- * We are not using separate instances of expressions, and types of expressions, because we don't
- * want to build up many objects (in a form of an expression tree) that will then be thrown away
- * (one for each expression in the nested list of expressions). We just build the command list as
- * we build the expression.
- * <p>
- * To use, you call the IStandardBeanProxyFactory's createExpression method. An IExpression is
- * returned. From there you will start creating the contents of the expression. And then you will
- * finally either getExpressionValue() to get the final value of the expression, or use
- * invokeExpression() to just execute the expression(s). If you use getExpressionValue(), there can
- * only be one root expression. If you use invokeExpression there can be more than one root
- * expression, and they will all be executed.
- * <p>
- * Since sequence is so important, it will be tested and if anything is done out of order an
- * IllegalStateException will be thrown.
- * <p>
- * Each time an expression is created, one argument passed in will be <code>forExpression</code> flag.
- * This is a set of constants used as a clue for what expression this expression is being created.
- * This is for a sanity check on the state. For example, when creating the array expression for an
- * array access, the ARRAYACCESS_ARRAY flag is passed in. This way if the current expression on the
- * stack is not for an array access waiting for the array expression, an IllegalStateException will be thrown.
- * Without this flag, it would be easy to accidently create the wrong expression at the wrong time.
- * Once such an error occurs, this IExpression will no longer be valid. IllegalStateException will be thrown
- * for any type of access.
- * <p>
- * It is guarenteed that the entire stack of commands will be sent without stopping except for IllegalStateException
- * due to out of order expressions.
- * <p>
- * <b>Note:</b> This interface is not meant to be neither instantiated nor implemented by customers.
- * It is the interface into the expression processing. It is to be instantiated through the createExpression request.
- * The {@link org.eclipse.jem.internal.proxy.core.Expression} class is available as API. It is not meant to
- * be instantiated by customers, but customers can take the IExpression and cast to Expression for some advanced
- * API.
- *
- * @see org.eclipse.jem.internal.proxy.core.IStandardBeanProxyFactory#createExpression()
- * @see java.lang.IllegalStateException
- * @since 1.0.0
- */
-public interface IExpression extends IExpressionConstants {
-
- /**
- * Return the registry this expression is working against.
- * @return
- *
- * @since 1.1.0
- */
- public ProxyFactoryRegistry getRegistry();
-
- /**
- * Invoke the expression(s). If there is more than one root expression, it will invoke them
- * in the order created. If the expression stack is not complete, then <code>IllegalStateException</code>
- * will be thrown.
- *
- * @throws ThrowableProxy
- * @throws IllegalStateException
- * @throws NoExpressionValueException
- *
- * @since 1.0.0
- */
- public void invokeExpression() throws ThrowableProxy, NoExpressionValueException, IllegalStateException;
-
- /**
- * Return whether the expression is valid. It would be invalid if any of the create... calls had thrown an
- * exception or if the expression has already been evaluated (invoked or getExpressionValue()).
- *
- * @return <code>true</code> if expression is valid, <code>false</code> if there had been some error, or if the expression has already been evaluated.
- *
- * @since 1.1.0
- */
- public boolean isValid();
-
- /**
- * Close the expression. This needs to be called if for some reason {@link IExpression#invokeExpression()} or {@link IExpression#getExpressionValue()}
- * were not called. It is not an error to always call this after these calls. It will not have any problems with the expression already
- * being closed. invoke and getvalue automatically call close for you. If you don't call close in case of an error, the resources
- * for the expression will not be freed up.
- *
- *
- * @since 1.1.0
- */
- public void close();
-
- /**
- * Invoke the root expression and return the value of the expression. If the expression stack
- * is not complete, or if there is more than one root expression, then <code>IllegalStateException</code>
- * will be thrown.
- *
- * @return The value of the root expression.
- *
- * @throws ThrowableProxy
- * @throws IllegalStateException
- * @throws NoExpressionValueException
- *
- * @since 1.0.0
- */
- public IBeanProxy getExpressionValue() throws ThrowableProxy, NoExpressionValueException, IllegalStateException;
-
- /**
- * Create an Array Access (e.g. x[3]).
- * This must be followed by create expressions for:
- * <pre>
- * <code>ARRAYACCESS_ARRAY</code>
- * <code>ARRAYACCESS_INDEX</code> an indexCount times.
- * </pre>
- * <p>
- * So the array access must be followed by 1+indexCount expressions.
- *
- * @param forExpression This is for what expression this expression is being created.
- * @param indexCount The number of index expressions that will be created.
- * @throws IllegalStateException
- *
- * @since 1.0.0
- */
- public void createArrayAccess(ForExpression forExpression, int indexCount) throws IllegalStateException;
-
- /**
- * Create an Array Creation (e.g. <code>new int[3]</code> or <code>new int[3][]</code> or <code>new int[] {3, 4}</code>).
- * If <code>dimensionExpressionCount</code> is zero, then there must be an initializer. This is because
- * if there are any dimension expressions, then initializers are invalid and visa-versa.
- * <p>
- * The dimensionExpressionCount is for how many dimensions have an expression in them. For instance,
- * <code>new int[3]</code> will have a dimensionExpressionCount of 1. While
- * <code>new int[3][]</code> will also have count of 1. And finally
- * <code>new int []</code> will have a count of 0.
- * <p>
- * This must be followed by create expressions for:
- * <pre>
- * <code>ARRAYCREATION_DIMENSION</code> a dimensionExpressionCount times,
- * or an <code>createArrayInitializer()</code> if dimension count is 0.
- * </pre>
- *
- * @param forExpression
- * @param type This is the type. It must be fully-qualified and if an inner class, it must have the "$" format. It must also include the correct number of <code>[]</code> at the end.
- * @param dimensionExpressionCount
- * @throws IllegalStateException
- *
- * @since 1.0.0
- */
- public void createArrayCreation(ForExpression forExpression, String type, int dimensionExpressionCount) throws IllegalStateException;
-
- /**
- * Create an Array Creation (e.g. <code>new int[3]</code> or <code>new int[3][]</code> or <code>new int[] {3, 4}</code>).
- * If <code>dimensionExpressionCount</code> is zero, then there must be an initializer. This is because
- * if there are any dimension expressions, then initializers are invalid and visa-versa.
- * <p>
- * The dimensionExpressionCount is for how many dimensions have an expression in them. For instance,
- * <ol>
- * <li><code>new int[3]</code> will have a dimensionExpressionCount of 1. While
- * <li><code>new int[3][]</code> will also have count of 1. And finally
- * <li><code>new int []</code> will have a count of 0.
- * </ol>
- * The expressions that follow if dimensionExpressionCount is not zero must evaluate to be compatible to an int type (i.e. byte, char, short, or int).
- * Each expression will be used to create an array for that dimension of that size. For example <code>new int[3][]</code> will have an
- * dimension expression that evaluates to "3", and so it will create an array int[3][].
- * <p>
- * This must be followed by create expressions for:
- * dimensionExpressionCount times an: <code>ARRAYCREATION_DIMENSION</code>
- * or an createArrayInitializer if dimension count is 0.
- *
- * @param forExpression
- * @param type This is the type. This must be the actual type with the correct total number of dimensions (e.g. "java.lang.Object[][]").
- * @param dimensionExpressionCount number of int valued expressions that follow that give the size for each dimension.
- * @throws IllegalStateException
- *
- * @since 1.0.0
- */
- public void createArrayCreation(ForExpression forExpression, IProxyBeanType type, int dimensionExpressionCount) throws IllegalStateException;
-
- /**
- * Create an array initializer. (e.g. <code>{2,3}</code>).
- * This one is unusual in that there is no forExpression. That is because array initializers are only valid in
- * certain places. And so if called when not expected, this is an IllegalStateException.
- * <p>
- * This must be followed by createExpressions for:
- * expressionCount times an: <code>ARRAYINITIALIZER_EXPRESSION</code>
- * except if the expression is another array initializer. That is valid and doesn't have a forExpression,
- * but it does count as one of the expressionCounts.
- *
- * @param expressionCount Number of expressions, may be 0.
- * @throws IllegalStateException
- *
- * @since 1.0.0
- */
- public void createArrayInitializer(int expressionCount) throws IllegalStateException;
-
- /**
- * Create a cast expression (e.g. <code>(short)10</code> or <code>(java.lang.String) "asd"</code>)
- * <p>
- * This must be followed by createExpressions for:
- * <code>CAST_EXPRESSION</code>
- *
- * @param forExpression
- * @param type This is the type. It must be fully-qualified and if an inner class, it must have the "$" format.
- * @throws IllegalStateException
- *
- * @since 1.0.0
- */
- public void createCastExpression(ForExpression forExpression, String type) throws IllegalStateException;
-
- /**
- * Create a cast expression (e.g. <code>(short)10</code> or <code>(java.lang.String) "asd"</code>)
- * <p>
- * This must be followed by createExpressions for:
- * <code>CAST_EXPRESSION</code>
- *
- * @param forExpression
- * @param type This is the type.
- * @throws IllegalStateException
- *
- * @since 1.0.0
- */
- public void createCastExpression(ForExpression forExpression, IProxyBeanType type) throws IllegalStateException;
-
- /**
- * Create a new class instance expression (e.g. <code>new java.lang.Integer(5)</code>)
- * <p>
- * This must be followed by createExpressions for:
- * argumentCount times an: <code>CLASSINSTANCECREATION_ARGUMENT</code>
- *
- * @param forExpression
- * @param type This is the type. It must be fully-qualified and if an inner class, it must have the "$" format.
- * @param argumentCount
- * @throws IllegalStateException
- *
- * @since 1.0.0
- */
- public void createClassInstanceCreation(ForExpression forExpression, String type, int argumentCount) throws IllegalStateException;
-
- /**
- * Create a new class instance expression (e.g. <code>new java.lang.Integer(5)</code>)
- * <p>
- * This must be followed by createExpressions for:
- * argumentCount times an: <code>CLASSINSTANCECREATION_ARGUMENT</code>
- *
- * @param forExpression
- * @param type This is the type.
- * @param argumentCount
- * @throws IllegalStateException
- *
- * @since 1.0.0
- */
- public void createClassInstanceCreation(ForExpression forExpression, IProxyBeanType type, int argumentCount) throws IllegalStateException;
-
- /**
- * Create a conditional expression (e.g. <code>x != 3 ? 4 : 5</code>)
- * <p>
- * This must be followed by createExpressions for:
- * <code>CONDITIONAL_CONDITION</code>
- * <code>CONDITIONAL_TRUE</code>
- * <code>CONDITIONAL_FALSE</code>
- *
- * @param forExpression
- * @throws IllegalStateException
- *
- * @since 1.0.0
- */
- public void createConditionalExpression(ForExpression forExpression) throws IllegalStateException;
-
- /**
- * Create a field access (e.g. <code>java.awt.Color.red</code>)
- * <p>
- * Note: At this time we require a receiver. In the future it may be possible to not have one, but
- * for that we need a <code>this</code> object to know who the receiver implicitly is.
- * The receiver may be a "type receiver" if it is a type, e.g. <code>java.awt.Color</code>.
- * <p>
- * This must be followed by createExpressions for:
- * <code>FIELD_RECEIVER</code> if hasReceiver is <code>true</code>
- *
- * @param forExpression
- * @param fieldName The name of the field.
- * @param hasReceiver Has a receiver flag. Currently this must always be true. This is because can't tell what class to look into for the field without a receiver.
- * @throws IllegalArgumentException
- * @throws IllegalStateException
- *
- * @see IExpression#createTypeReceiver(String)
- * @since 1.0.0
- */
- public void createFieldAccess(ForExpression forExpression, String fieldName, boolean hasReceiver) throws IllegalArgumentException, IllegalStateException;
-
- /**
- * Create a field access (e.g. <code>java.awt.Color.red</code>)
- * <p>
- * Note: At this time we require a receiver for non-static access. In the future it may be possible to not have one, but
- * for that we need a <code>this</code> object to know who the receiver implicitly is.
- * The receiver may be a "type receiver" if it is a type, e.g. <code>java.awt.Color</code>.
- * <p>
- * This must be followed by createExpressions for:
- * <pre>
- * <code>FIELD_RECEIVER</code> if hasReceiver is <code>true</code>
- * </pre>
- *
- * @param forExpression
- * @param fieldProxy The field proxy for the field.
- * @param hasReceiver Has a receiver flag.
- * @throws IllegalStateException
- *
- * @see IExpression#createTypeReceiver(String)
- * @since 1.0.0
- */
- public void createFieldAccess(ForExpression forExpression, IProxyField fieldProxy, boolean hasReceiver) throws IllegalStateException;
-
- /**
- * Create an if/else stmt. Since this is a statment, there is no ForExpression. ROOT_EXPRESSION must be the next expression type.
- * <p<
- * This must be followed by createExpressions for:
- * <pre>
- * <code>IF_CONDITION</code> The if test, must return boolean.
- * <code>IF_TRUE</code> The if condition is true clause. The clause may be an expression, or a block.
- * <code>IF_ELSE</code> if hasElseClause is <code>true</code>. The else clause. The clause may be an expression, or a block.
- * </pre>
- *
- * @param hasElseClause
- * @throws IllegalStateException
- *
- * @since 1.1.0
- */
- public void createIfElse(boolean hasElseClause) throws IllegalStateException;
-
- /**
- * Create an infix expression (e.g. <code>3 + 4</code> or <code>3 + 4 + 5</code>).
- * <p>
- * If there are more than 2 operands (all with the same operator) then for convienence all of
- * the expression can be done in one expression than requiring several, one for each operator.
- * If they are different operators, then different expressions will be required.
- * <p>
- * <pre>
- * This must be followed by createExpressions for:
- * <code>INFIX_LEFT</code>
- * <code>INFIX_RIGHT</code>
- * extendedOperandCount times an: <code>INFIX_EXTENDED</code>
- * </pre>
- *
- * @param forExpression
- * @param operator The operator.
- * @param extendedOperandCount The number of extended operands. May be zero.
- * @throws IllegalStateException
- *
- * @see org.eclipse.jem.internal.proxy.common.IExpressionConstants#IN_AND
- * @since 1.0.0
- */
- public void createInfixExpression(ForExpression forExpression, InfixOperator operator, int extendedOperandCount) throws IllegalStateException;
-
- /**
- * Create an instanceof expression (e.g. <code>x instanceof java.lang.String</code>
- * <p>
- * This must be followed by createExpression for:
- * <code>INSTANCEOF_VALUE</code>
- * @param forExpression
- * @param type This is the type. It must be fully-qualified and if an inner class, it must have the "$" format.
- * @throws IllegalStateException
- *
- * @since 1.0.0
- */
- public void createInstanceofExpression(ForExpression forExpression, String type) throws IllegalStateException;
-
- /**
- * Create an instanceof expression (e.g. <code>x instanceof java.lang.String</code>
- * <p>
- * This must be followed by createExpression for:
- * <code>INSTANCEOF_VALUE</code>
- * @param forExpression
- * @param type This is the type.
- * @throws IllegalStateException
- *
- * @since 1.0.0
- */
- public void createInstanceofExpression(ForExpression forExpression, IProxyBeanType type) throws IllegalStateException;
-
- /**
- * Create a method invocation expression (e.g. <code>java.lang.String.valueOf(10)</code>).
- * When using a string the method invoked will be the one most compatible with the arguments sent.
- * This allows overloading a method to occur when coming in from a parse tree, since the parse tree
- * doesn't know the exact method to use.
- * <p>
- * Note: At this time we require a receiver. In the future it may be possible to not have one, but
- * for that we need a <code>this</code> object to know who the receiver implicitly is.
- * The receiver may be a "type receiver" if it is a type, e.g. <code>java.awt.Color</code>.
- * <p>
- * This must be followed by createExpression for:
- * <code>METHOD_RECEIVER</code>
- * argumentCounts times expressions for: <code>METHOD_ARGUMENT</code>
- *
- * @param forExpression
- * @param name The name of the method
- * @param hasReceiver Has a receiver flag. Currently this must always be true.
- * @param argumentCount Count of number of arguments. May be zero.
- * @throws IllegalStateException
- * @throws IllegalArgumentException
- *
- * @see IExpression#createTypeReceiver(String)
- * @since 1.0.0
- */
- public void createMethodInvocation(ForExpression forExpression, String name, boolean hasReceiver, int argumentCount) throws IllegalStateException, IllegalArgumentException;
-
- /**
- * Create a method invocation expression (e.g. <code>java.lang.String.valueOf(10)</code>)
- * <p>
- * Note: At this time we require a receiver. In the future it may be possible to not have one, but
- * for that we need a <code>this</code> object to know who the receiver implicitly is.
- * The receiver may be a "type receiver" if it is a type, e.g. <code>java.awt.Color</code>.
- * <p>
- * This must be followed by createExpression for:
- * <code>METHOD_RECEIVER</code>
- * argumentCounts times expressions for: <code>METHOD_ARGUMENT</code>
- *
- * @param forExpression
- * @param methodProxy The proxy of the method
- * @param hasReceiver Has a receiver flag. Currently this must always be true.
- * @param argumentCount Count of number of arguments. May be zero.
- * @throws IllegalStateException
- * @throws IllegalArgumentException
- *
- * @see IExpression#createTypeReceiver(String)
- * @since 1.0.0
- */
- public void createMethodInvocation(ForExpression forExpression, IProxyMethod methodProxy, boolean hasReceiver, int argumentCount) throws IllegalStateException, IllegalArgumentException;
-
- /**
- * Create a prefix expression (e.g. <code>!flag</code> or <code>-(3+4)</code>).
- * If you are just trying to create a signed numeric literal, just use the createPrimitiveLiteral passing in a
- * negative value. You don't need to use prefix expression for that.
- * <p>
- * <pre>
- * This must be followed by createExpressions for:
- * <code>PREFIX_OPERAND</code>
- * </pre>
- * @param forExpression
- * @param operator The operator. The values come from IExpressionConstants, the prefix constants.
- * @throws IllegalStateException
- *
- * @see org.eclipse.jem.internal.proxy.common.IExpressionConstants#PRE_PLUS
- * @since 1.0.0
- */
- public void createPrefixExpression(ForExpression forExpression, PrefixOperator operator) throws IllegalStateException;
-
- /**
- * Create a reference to <code>null</code>.
- *
- * @param forExpression
- * @throws IllegalStateException
- *
- * @since 1.0.0
- */
- public void createNull(ForExpression forExpression) throws IllegalStateException;
-
- /**
- * Create a type literal (e.g. <code>java.lang.String.class</code>). This is used when the type is being used as value itself, not
- * as a receiver for a field or method or constructor or instanceof. Like as an argument to a method.
- * <p>
- * Note: If you want a type literal to be an IProxyBeanType, just use {@link IExpression#createProxyExpression(ForExpression, IProxy)} and pass in the
- * IProxyBeanType.
- *
- * @param forExpression
- * @param type This is the type. It must be fully-qualified and if an inner class, it must have the "$" format.
- * @throws IllegalStateException
- *
- * @since 1.0.0
- */
- public void createTypeLiteral(ForExpression forExpression, String type) throws IllegalStateException;
-
- /**
- * Create a type receiver. This is where a type is used as the receiver of a field access or a method invocation.
- * (e.g. <code>java.lang.String.valueOf(10)</code>). For this the "java.lang.String" IBeanTypeProxy is the type receiver.
- * <p>
- * This is unusual in that there is no forExpression. It isn't needed because these are only valid
- * in certain situations (method or field receiver) and if used anywhere else it is an error.
- *
- * @param type This is the type. It must be fully-qualified and if an inner class, it must have the "$" format.
- * @throws IllegalStateException
- *
- * @since 1.0.0
- */
- public void createTypeReceiver(String type) throws IllegalStateException;
-
- /**
- * Create a type receiver. This is where a type is used as the receiver of a field access or a method invocation.
- * (e.g. <code>java.lang.String.valueOf(10)</code>). For this the "java.lang.String" IProxyBeanType is the type receiver.
- * <p>
- * This is unusual in that there is no forExpression. It isn't needed because these are only valid
- * in certain situations (method or field receiver) and if used anywhere else it is an error.
- *
- * @param type This is the type proxy.
- * @throws IllegalStateException
- *
- * @since 1.0.0
- */
- public void createTypeReceiver(IProxyBeanType type) throws IllegalStateException;
-
- /**
- * Create a boolean primitive literal (e.g. <code>true</code>).
- *
- * @param forExpression
- * @param value The boolean value for the literal.
- * @throws IllegalStateException
- *
- * @since 1.0.0
- */
- public void createPrimitiveLiteral(ForExpression forExpression, boolean value) throws IllegalStateException;
-
- /**
- * Create a character literal (e.g. <code>'a'</code> or <code>'\n'</code>)
- *
- * @param forExpression
- * @param value The character value for this literal.
- * @throws IllegalStateException
- *
- * @since 1.0.0
- */
- public void createPrimitiveLiteral(ForExpression forExpression, char value) throws IllegalStateException;
-
- /**
- * Create a byte literal (e.g. <code>(byte)10</code>)
- *
- * @param forExpression
- * @param value The byte value for this literal.
- * @throws IllegalStateException
- *
- * @since 1.0.0
- */
- public void createPrimitiveLiteral(ForExpression forExpression, byte value) throws IllegalStateException;
-
- /**
- * Create a double literal (e.g. <code>10d</code>)
- *
- * @param forExpression
- * @param value The double value for this literal.
- * @throws IllegalStateException
- *
- * @since 1.0.0
- */
- public void createPrimitiveLiteral(ForExpression forExpression, double value) throws IllegalStateException;
-
- /**
- * Create a float literal (e.g. <code>10f</code>)
- *
- * @param forExpression
- * @param value The float value for this literal.
- * @throws IllegalStateException
- *
- * @since 1.0.0
- */
- public void createPrimitiveLiteral(ForExpression forExpression, float value) throws IllegalStateException;
-
- /**
- * Create a int literal (e.g. <code>100000</code>)
- *
- * @param forExpression
- * @param value The int value for this literal.
- * @throws IllegalStateException
- *
- * @since 1.0.0
- */
- public void createPrimitiveLiteral(ForExpression forExpression, int value) throws IllegalStateException;
-
- /**
- * Create a long literal (e.g. <code>10l</code>)
- *
- * @param forExpression
- * @param value The long value for this literal.
- * @throws IllegalStateException
- *
- * @since 1.0.0
- */
- public void createPrimitiveLiteral(ForExpression forExpression, long value) throws IllegalStateException;
-
- /**
- * Create a short literal (e.g. <code>(short)10</code>)
- *
- * @param forExpression
- * @param value The short value for this literal.
- * @throws IllegalStateException
- *
- * @since 1.0.0
- */
- public void createPrimitiveLiteral(ForExpression forExpression, short value) throws IllegalStateException;
-
- /**
- * Create a string literal (e.g. <code>"asdf"</code>). The value is the actual string, with escapes already
- * translated into the true character values.
- *
- * @param forExpression
- * @param value The string value for this literal.
- * @throws IllegalStateException
- *
- * @since 1.0.0
- */
- public void createStringLiteral(ForExpression forExpression, String value) throws IllegalStateException;
-
- /**
- * Create a subexpression.
- * <p>
- * A subexpression allows, at any time, to fork off the expression stack and do some other sets of expressions.
- * When the cooresponding {@link #createSubexpressionEnd()} is called, all of the expression results on the
- * stack that accumulated during the subexpression evaluation will be thrown away and the stack will be
- * what it was at the start of subexpression. Any ExpressionProxies that were resolved during the evaluation
- * will not be thrown away and will still be valid.
- * <p>
- * This is useful if in the middle of an expression (such as method invocation and an argument is needed) to
- * go off and get the necessary value. This will allow expressions that require ROOTEXPRESSION state like a
- * try/catch. If you know the expression doesn't need this, then it is more efficient to not use subexpression.
- * <p>
- * For example:
- * <pre><code>
- * new XYZ(
- * {(subexpression)
- * try {
- * x = 3*y.get();
- * } catch (Exception e) {
- * x =4;
- * }
- * (end subexpression)}
- * x);
- * </code></pre>
- *
- * In the above example, we needed to calculate "x" as the argument for XYZ, but it was too complicated and
- * could throw exceptions. So we used a subexpression instead.
- * <p>
- * Of course the following would of been the better way to do it without subexpressions. But sometimes
- * your code is in a position that you don't know you need to do this until it is too late.
- * <pre><code>
- * try {
- * x = 3*y.get();
- * } catch (Exception e) {
- * x =4;
- * }
- * new XYZ(x);
- * </code></pre>
- * @throws IllegalStateException
- *
- * @since 1.1.0
- */
- public void createSubexpression() throws IllegalStateException;
-
- public void createSubexpressionEnd() throws IllegalStateException;
-
- /**
- * Create an expression that has an existing bean proxy as its value.
- *
- * @param forExpression This is for what expression this expression is being created.
- * @param proxy The proxy that should be used as a value, either a bean proxy or an expression proxy.
- * @throws IllegalStateException
- *
- * @since 1.0.0
- */
- public void createProxyExpression(ForExpression forExpression, IProxy proxy) throws IllegalStateException;
-
- /**
- * Create an assignment expression between a VariableReference and an expression. The left operand must be a variable reference (e.g. FieldAccess or
- * ArrayAccess). The right operand may be any expression that results in a value.
- * <p>
- * <pre>
- * This must be followed by createExpressions for:
- * <code>ASSIGNMENT_LEFT</code>
- * <code>ASSIGNMENT_RIGHT</code>
- * </pre>
- * @param forExpression
- * @throws ThrowableProxy
- * @throws IllegalStateException
- * @throws NoExpressionValueException
- *
- * @since 1.1.0
- */
- public void createAssignmentExpression(ForExpression forExpression) throws IllegalStateException;
-
- /**
- * Create an assignment expression (e.g. x = 3+4) where x will be assigned to the ExpressionProxy.
- * It may be used later on as a value in {@link IExpression#createExpressionProxyExpression(int, ExpressionProxy)}.
- * Or if callbacks were added, the callbacks would be called to return the true IBeanProxy value of the expression proxy when the complete
- * IExpression has been evaluated. The value of the assignment expression (e.g. x) will be passed on into the next expression.
- * <p>
- * <pre>
- * This must be followed by createExpressions for:
- * <code>ASSIGNMENT_RIGHT</code>
- * </pre>
- * <p>
- * <b>Note:</b> It is guarenteed as part of the contract that expression proxies will be notified through the listeners of the final state in the
- * order the expression proxies were created.
- * @param forExpression This is for what expression this expression is being created.
- * @return a proxy to the expression value.
- * @throws IllegalStateException
- *
- * @since 1.1.0
- */
- public ExpressionProxy createProxyAssignmentExpression(ForExpression forExpression) throws IllegalStateException;
-
- /**
- * Create a reassignment expression. This is like the original proxy assignment except that instead of returning a new proxy, it
- * reassigns the new value to the existing proxy. This cannot be used on IBeanTypeExpressionProxy's. That is because
- * they are controlled by the registry and severe errors would occur if they were reassigned.
- * <p>
- * <pre>
- * This must be followed by createExpressions for:
- * <code>ASSIGNMENT_RIGHT</code>
- * </pre>
- * <p>
- * <b>Note:</b> Since we are not creating a new proxy, the notification on the callbacks will be in the original order of proxies. This
- * does not change the notification position of this proxy.
- *
- * @param forExpression
- * @param proxy
- * @throws IllegalStateException
- * @throws IllegalArgumentException if the expression proxy is for a BeanType instead of just a standard expression proxy.
- *
- * @since 1.1.0
- */
- public void createProxyReassignmentExpression(ForExpression forExpression, ExpressionProxy proxy) throws IllegalStateException, IllegalArgumentException;
-
- /**
- * A simple method invocation. This is a helper to make it easier for a simple method invoke. It uses only the
- * method proxy (not a string to look it up), it uses a IBeanProxy receiver (not a complicated expression), and the
- * arguments are a mixture of IBeanProxies and ExpressionProxies. Also it can be called only when the next
- * expression must be a RootExpression.
- *
- * @param method methodproxy of the method
- * @param receiver the receiver proxy or <code>null</code> if a static method
- * @param arguments array of arguments, where each element can only be either <code>null</code> for a null argument, <code>IProxy</code>. The array can be <code>null</code> if no arguments.
- * @param wantResult <code>true</code> if you want an ExpressionProxy back, otherwise it will return <code>null</code>. For performance reasons, only use <code>true</code> if you really need the expression proxy.
- * @return expression proxy if "wantResult" was true, else <code>null</code>.
- * @throws IllegalStateException
- *
- * @since 1.1.0
- */
- public ExpressionProxy createSimpleMethodInvoke(IProxyMethod method, IProxy receiver, IProxy[] arguments, boolean wantResult) throws IllegalStateException;
-
- /**
- * A simple field access. This is a helper to make it easier for a simple field access. It uses only the
- * field proxy (not a string to look it up), and the bean proxy that is the receiver. Also it can be called only when the next
- * expression must be a RootExpression. It doesn't allow complicated field access, such as <code>fielda.fieldb.fieldc</code>.
- * Since this is a field access, it will always return an ExpressionProxy. It doesn't make sense to have a simple field access
- * that doesn't return one.
- *
- * @param field field proxy of the field.
- * @param receiver the receiver proxy. It may be <code>null</code> for static fields.
- * @return expression proxy to the result of the access.
- * @throws IllegalStateException
- *
- * @since 1.1.0
- */
- public ExpressionProxy createSimpleFieldAccess(IProxyField field, IProxy receiver) throws IllegalStateException;
-
- /**
- * A simple field set. This is a helper to make it easier for a simple field access. It uses only the
- * field proxy (not a string to look it up), and the bean proxy that is the receiver. Also it can be called only when the next
- * expression must be a RootExpression. It doesn't allow complicated field access setting, such as <code>fielda.fieldb.fieldc = 3</code>.
- *
- * @param field field proxy of the field.
- * @param receiver the receiver proxy. It may be <code>null</code> if this is a static field.
- * @param value the value proxy to set it to or <code>null</code> if set to null value.
- * @param wantResult <code>true</code> if you want an ExpressionProxy back, otherwise it will return <code>null</code>. For performance reasons, only use <code>true</code> if you really need the expression proxy.
- * @return expression proxy if "wantResult" was true, else <code>null</code>.
- * @throws IllegalStateException
- *
- * @since 1.1.0
- */
- public ExpressionProxy createSimpleFieldSet(IProxyField field, IProxy receiver, IProxy value, boolean wantResult) throws IllegalStateException;
-
- /**
- * Begin a block. No need for a forExpression because it must currently be at ROOTEXPRESSION.
- * <p>
- * Eventually {@link Expression#createBlockEnd()} must be called. You should use this pattern:
- * <pre><code>
- * exp.createBeginBlock();
- * try {
- * exp.create something else.
- * ...
- * } finally {
- * exp.createEndBlock();
- * }
- * </code></pre>
- *
- * @return blocknumber for the block just opened. Can be used in {@link Expression#createBlockBreak(int)}.
- * @throws IllegalStateException
- *
- * @since 1.1.0
- */
- public int createBlockBegin() throws IllegalStateException;
-
- /**
- * Does a break for the specified block number. No need for a forExpression because it must currently be at ROOTEXPRESSION.
- * @param blockNumber
- * @throws IllegalStateException
- *
- * @since 1.1.0
- */
- public void createBlockBreak(int blockNumber) throws IllegalStateException;
-
- /**
- * End a block. It will always end the inner most block that currently is on the stack. No need for a forExpression because it must currently be at ROOTEXPRESSION.
- * @throws IllegalStateException
- *
- * @see Expression#createBlockBegin()
- * @since 1.1.0
- */
- public void createBlockEnd() throws IllegalStateException;
-
- /**
- * Create a try/catch statement. No need for a forExpression because it must currently be at ROOTEXPRESSION.
- * There must be at least one catch or finally clause before try end or this is invalid.
- * <p>
- * This should be executed in the following way:
- * <pre><code>
- * exp.createTry();
- * try {
- * ... create other exceptions ...
- * ... create catch/finally clauses as needed.
- * } finally {
- * if (exp.isValid())
- * exp.createTryEnd();
- * }
- * </code></pre>
- * @throws IllegalStateException
- *
- * @since 1.1.0
- */
- public void createTry() throws IllegalStateException;
-
-
- /**
- * Create a catch clause for the inner most try statement. No need for a forExpression because it must currently be at ROOTEXPRESSION.
- * <p>
- * Using this you can get just the exception as a proxy and/or execute some expressions as part of the catch clause.
- * <p>
- * This can be followed by RootExpressions, or another catch, or a finally, or a try end.
- *
- * @param exceptionType the type of the exception to catch on.
- * @param wantExceptionReturned <code>true</code> if you want an expression proxy for the exception.
- * @return the ExpressionProxy for the exception if <code>wantExceptionReturned</code> is <code>true</code>, <code>null</code> otherwise.
- *
- * @throws IllegalStateException
- * @since 1.1.0
- */
- public ExpressionProxy createTryCatchClause(IProxyBeanType exceptionType, boolean wantExceptionReturned) throws IllegalStateException;;
-
- /**
- * Create a catch clause for the inner most try statement. No need for a forExpression because it must currently be at ROOTEXPRESSION.
- * <p>
- * Using this you can get just the exception as a proxy and/or execute some expressions as part of the catch clause.
- * <p>
- * This can be followed by RootExpressions, or another catch, or a finally, or a try end.
- *
- * @param exceptionType the type of the exception to catch on.
- * @param wantExceptionReturned <code>true</code> if you want an expression proxy for the exception.
- * @return the ExpressionProxy for the exception if <code>wantExceptionReturned</code> is <code>true</code>, <code>null</code> otherwise.
- *
- * @throws IllegalStateException
- * @since 1.1.0
- */
- public ExpressionProxy createTryCatchClause(String exceptionType, boolean wantExceptionReturned) throws IllegalStateException;;
-
- /**
- * Create a finally clause for the inner most try statement. No need for a forExpression because it must currently be at ROOTEXPRESSION.
- * There must be no more catch clauses for the try statement after this finally clause.
- *
- * @throws IllegalStateException
- * @since 1.1.0
- */
- public void createTryFinallyClause() throws IllegalStateException;;
-
- /**
- * Create the end of the inner most try statement. No need for a forExpression because it must currently be at ROOTEXPRESSION.
- * There must be no more catch/finally clauses after this except if a new try statement is started.
- *
- * @throws IllegalStateException
- * @since 1.1.0
- */
- public void createTryEnd() throws IllegalStateException;;
-
- /**
- * Create a throw. No need for a forExpression because it must currently be at ROOTEXPRESSION.
- * The next expression is the exception to be thrown.
- * <p>
- * This must be followed by createExpression for:
- * <code>THROW_OPERAND</code>
- *
- * @throws IllegalStateException
- *
- * @since 1.1.0
- */
- public void createThrow() throws IllegalStateException;
-
- /**
- * Create a rethrow. This must be within a catch clause or there is an error.
- * <p>
- * This is a shortcut for:
- * <pre><code>
- * try {
- * .. do something ..
- * } catch (AnException e) {
- * .. do something ..
- * throw e;
- * }
- * </code></pre>
- * @throws IllegalStateException
- *
- * @since 1.1.0
- */
- public void createRethrow() throws IllegalStateException;
-
-
- /**
- * Mark the expression stack so that if there are IllegalStateExceptions errors that would make the
- * expression invalid, you can restore back to this mark point and the expression will now be valid
- * again and at the state it was when mark was created. All marks must be ended, and at the same nesting
- * level.
- * <p>
- * No need for a forExpression because it must currently be at ROOTEXPRESSION.
- * <p>
- * It must be used in conjunction with endMark. You must use <code>mark;try/finally{endMark;}</code> because
- * the mark/endMark must match up.
- * <pre><code>
- * int mark = expression.mark();
- * try {
- * expression.create ...
- * } catch (IllegalStateException e) {
- * process the error.
- * } finally {
- * expression.endMark(mark); // After this, the expression will be valid again.
- * }
- * </code></pre>
- * <p>
- * However, the following code would be invalid nesting, and will throw an IllegalStateException on the createTryEnd. This is because
- * we tried to end the Try statement within the mark. This is invalid because if we let it go through it would
- * of popped the stack and when we got to the endMark the stack would of been popped past it and it could not
- * be restored to the same state as it was at the time of the mark. The try would of already been ended.
- * <pre><code>
- * expression.createTry();
- * int mark = expression.mark();
- * try {
- * expression.create ...
- * expression.createTryEnd();
- * } catch (IllegalStateException e) {
- * process the error. The expression is now invalid.
- * } finally {
- * expression.endMark(mark); // After this, the expression will be valid again, if it had gone invalid.
- * }
- * </code></pre>
- * <p>
- * If not at RootExpression at time of mark() request, an IllegalStateException will be thrown.
- * @return mark number, this number will be used in the cooresponding endMark.
- * @throws IllegalStateException
- *
- * @see IExpression#endMark(int)
- * @since 1.1.0
- */
- public int mark() throws IllegalStateException;
-
- /**
- * The end mark for a mark.
- * <p>
- * No need for a forExpression because it must currently be at ROOTEXPRESSION.
- * @param markNumber
- * @throws IllegalStateException
- *
- * @see IExpression#mark()
- * @since 1.1.0
- */
- public void endMark(int markNumber) throws IllegalStateException;
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IExtensionRegistration.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IExtensionRegistration.java
deleted file mode 100644
index 3d138a7c7..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IExtensionRegistration.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- * $RCSfile: IExtensionRegistration.java,v $
- * $Revision: 1.1 $ $Date: 2005/06/15 20:19:11 $
- */
-package org.eclipse.jem.internal.proxy.core;
-
-
-/**
- * Extensions point ("extensions" elements of the "org.eclipse.jem.proxy.contributors" extension point).
- * <p>
- * Implementers of this interface are called when the appropriate registry type for a given classPath/plugin is present.
- * It is used to register the registry type specific extensions.
- * @since 1.1.0
- */
-public interface IExtensionRegistration {
-
- /**
- * This will be called before any contributeToRegistry's have been called. Typically all that
- * should be done in here is to register extension factories or constants. It is best if no
- * actual proxy calls are made. This is because the registry does not yet have all of the
- * appropriate extensions registered and it would be possible to accidently reference a bean type
- * that has not yet had its appropriate factory registered.
- * <p>
- * <b>Note:</b> This may be called more than once if used in more than one extension or if used in a plugin and a container path and both are found.
- * Should take this into account and not register twice.
- * @param baseRegistry
- *
- * @since 1.1.0
- */
- public void register(BaseProxyFactoryRegistry baseRegistry);
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IFieldProxy.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IFieldProxy.java
deleted file mode 100644
index d6e996771..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IFieldProxy.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.core;
-/*
- * $RCSfile: IFieldProxy.java,v $
- * $Revision: 1.5 $ $Date: 2005/05/11 19:01:12 $
- */
-
-
-/**
- * A Proxy to a field that allows the field value to be retrieved and set
- * This allows target VM proxying of the field and is analagous to the java.lang.Reflect.Field
- * in the same way IMethodProxy is analagous to java.lang.Reflect.Method
- * Creation date: (1/17/00 12:17:52 PM)
- * @author: Joe Winchester
- */
-public interface IFieldProxy extends IAccessibleObjectProxy, IProxyField {
-/**
- * Return the type of the field.
- */
-IBeanTypeProxy getFieldType();
-
-/**
- * Return the value of us on the subject argument.
- * If the field is a primitive type, the return proxy
- * will be of the primitive type too.
- * Creation date: (1/17/00 12:28:48 PM)
- */
-IBeanProxy get(IBeanProxy aSubject) throws ThrowableProxy;
-
-/**
- * Set the argument as the field value on the subject
- * Creation date: (1/17/00 12:28:48 PM)
- */
-void set(IBeanProxy aSubject, IBeanProxy argument) throws ThrowableProxy;
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IIntegerBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IIntegerBeanProxy.java
deleted file mode 100644
index 7d5eeb9fe..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IIntegerBeanProxy.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.eclipse.jem.internal.proxy.core;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: IIntegerBeanProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:53:46 $
- */
-
-
-/**
- * Interface to an integer bean proxy.
- * We originally had only an Integer proxy,
- * so the use of it was throughout the system.
- * We are now supporting Number instead, but
- * because there were so many places using int,
- * we've left it in.
- * Creation date: (2/6/00 8:52:42 AM)
- * @author: Joe Winchester
- */
-public interface IIntegerBeanProxy extends INumberBeanProxy {
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IInvokable.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IInvokable.java
deleted file mode 100644
index 1de229100..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IInvokable.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: IInvokable.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:53:45 $
- */
-package org.eclipse.jem.internal.proxy.core;
-
-
-/**
- * Interface for invoking method calls on the vm.
- * IMethodProxy implements it for when you have a method proxy available,
- * but you can also get a straight invokable which will get the
- * proxy on the vm at the time of execution.
- * <p>
- * The method proxy factory can be used to return either method
- * proxies when the invokable will be used over and over, and
- * it can return IInvokable's when it is one shot deal. Though even
- * when one-shot deal it can be used over and over. There is just overhead because the
- * method is looked up each time. So a reasonable compromise would be if
- * using it infrequently or use closely together once or twice it is better
- * to use a Invokable instead of a method proxy.
- * @since 1.0.0
- */
-public interface IInvokable {
-
- /**
- * Invoke us on the subject
- * Creation date: (12/3/99 11:37:12 AM)
- * @author Joe Winchester
- */
- IBeanProxy invoke(IBeanProxy subject) throws ThrowableProxy;
-
- /**
- * Invoke us on the subject with the specified argument
- * Creation date: (12/3/99 11:37:12 AM)
- * @author Joe Winchester
- */
- IBeanProxy invoke(IBeanProxy subject, IBeanProxy argument) throws ThrowableProxy;
-
- /**
- * Invoke us on the subject with the specified arguments
- * Creation date: (12/3/99 11:37:12 AM)
- * @author Joe Winchester
- */
- IBeanProxy invoke(IBeanProxy subject, IBeanProxy[] arguments) throws ThrowableProxy;
-
- /**
- * Invoke us on the subject, however catch all exceptions
- * Only to be used when you don't want ThrowableExceptions. This should
- * not be the normal way to invoke.
- * Creation date: (12/3/99 11:37:12 AM)
- * @author Joe Winchester
- */
- IBeanProxy invokeCatchThrowableExceptions(IBeanProxy subject);
-
- /**
- * Invoke us on the subject with the specified argument, however catch all exceptions
- * Only to be used when you don't want ThrowableExceptions. This should
- * not be the normal way to invoke.
- * Creation date: (12/3/99 11:37:12 AM)
- * @author Joe Winchester
- */
- IBeanProxy invokeCatchThrowableExceptions(IBeanProxy subject, IBeanProxy argument);
-
- /**
- * Invoke us on the subject with the specified arguments, however catch all exceptions
- * Only to be used when you don't want ThrowableExceptions. This should
- * not be the normal way to invoke.
- * Creation date: (12/3/99 11:37:12 AM)
- * @author Joe Winchester
- */
- IBeanProxy invokeCatchThrowableExceptions(IBeanProxy subject, IBeanProxy[] arguments);
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IMethodProxy.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IMethodProxy.java
deleted file mode 100644
index 7fd5bb637..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IMethodProxy.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: IMethodProxy.java,v $
- * $Revision: 1.6 $ $Date: 2005/05/11 19:01:12 $
- */
-package org.eclipse.jem.internal.proxy.core;
-
-/**
- * Interface for Method Proxies Creation date: (12/3/99 11:36:29 AM)
- *
- * @author: Joe Winchester
- */
-public interface IMethodProxy extends IAccessibleObjectProxy, IInvokable, IProxyMethod {
-
- /**
- * Answer the class the method is defined in. Creation date: (12/3/99 11:37:12 AM)
- *
- * @author Joe Winchester
- */
- IBeanTypeProxy getClassType();
-
- /**
- * Answer the name of the method Creation date: (12/3/99 11:37:12 AM)
- *
- * @author Joe Winchester
- */
- String getName();
-
- /**
- * Answer the parameter types of the method Creation date: (12/3/99 11:37:12 AM)
- *
- * @author Joe Winchester
- */
- IBeanTypeProxy[] getParameterTypes();
-
- /**
- * Answer the return type of the method Creation date: (12/3/99 11:37:12 AM)
- *
- * @author Joe Winchester
- */
- IBeanTypeProxy getReturnType();
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IMethodProxyFactory.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IMethodProxyFactory.java
deleted file mode 100644
index 5d415417f..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IMethodProxyFactory.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: IMethodProxyFactory.java,v $
- * $Revision: 1.5 $ $Date: 2005/05/11 19:01:12 $
- */
-package org.eclipse.jem.internal.proxy.core;
-
-/**
- * Factory for creating method proxies.
- *
- * The factory exists for use, but generally it is better to go through the bean type proxy to get a method proxy. This is useful for setting up a
- * bunch of method proxies in initialization routines so you don't need to have a bean type proxy for each.
- *
- * Creation date: (12/3/99 6:21:52 PM)
- *
- * @author: Joe Winchester
- */
-public interface IMethodProxyFactory extends IBeanProxyFactory {
-
- /**
- * Return a method proxy for the specified name, arguments from the class.
- *
- * @param className
- * @param methodName
- * @param parameterTypes
- * parameter type names or <code>null</code> for parameterTypes means no parameters.
- * @return a method proxy or null if can't be found.
- * @since 1.0.0
- */
- IMethodProxy getMethodProxy(String className, String methodName, String[] parameterTypes);
-
- /**
- * Return an IProxyMethod for the specified name, arguments from the given class.
- * @param expression
- * @param className
- * @param methodName
- * @param parameterTypes
- * @return
- *
- * @since 1.1.0
- */
- IProxyMethod getMethodProxy(IExpression expression, String className, String methodName, String[] parameterTypes);
-
- /**
- * Return an IProxyField for the specified name, arguments from the given class.
- * @param expression
- * @param className
- * @param fieldName
- * @return
- *
- * @since 1.1.0
- */
- IProxyField getFieldProxy(IExpression expression, String className, String fieldName);
-
-
- /**
- * Return an invokable for the specified name, arguments from the class. The method proxy is not retrieved. Instead the method will be looked up
- * each time on the vm. Because of this these are suitable only for one-shot invokations. If it is to be invoked often, then a method proxy should
- * be retrieved instead.
- * <p>
- * Though typical for one-shot deal the invokable can be used over and over. There is just overhead because the method is looked up each time. So a reasonable compromise
- * would be if using it infrequently or is used closely together once or twice it is better to use a Invokable instead of a method proxy.
- * <p>
- * Note there is no guarantee that the method is available. This won't be known until the actual invoke is done.
- *
- * @param className
- * @param methodName
- * @param parameterTypes
- * parameter type names or <code>null</code> for parameterTypes means no parameters.
- * @return an invokable
- * @since 1.0.0
- */
- IInvokable getInvokable(String className, String methodName, String[] parameterTypes);
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/INumberBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/INumberBeanProxy.java
deleted file mode 100644
index 5b541ca02..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/INumberBeanProxy.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package org.eclipse.jem.internal.proxy.core;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: INumberBeanProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:53:46 $
- */
-
-
-/**
- * Interface to an integer bean proxy.
- * Creation date: (2/6/00 8:52:42 AM)
- * @author: Joe Winchester
- */
-public interface INumberBeanProxy extends IBeanProxy {
-/**
- * Return the primitive byte value of the proxied Number
- * Creation date: (2/6/00 8:52:59 AM)
- */
-byte byteValue();
-/**
- * Return the primitive double value of the proxied Number
- * Creation date: (2/6/00 8:52:59 AM)
- */
-double doubleValue();
-/**
- * Return the primitive float value of the proxied Number
- * Creation date: (2/6/00 8:52:59 AM)
- */
-float floatValue();
-/**
- * Return the primitive int value of the proxied Number
- * Creation date: (2/6/00 8:52:59 AM)
- */
-int intValue();
-/**
- * Return the primitive long value of the proxied Number
- * Creation date: (2/6/00 8:52:59 AM)
- */
-long longValue();
-/**
- * Return the value as a Number.
- * Creation date: (2/6/00 8:52:59 AM)
- */
-Number numberValue();
-/**
- * Return the primitive short value of the proxied Number
- * Creation date: (2/6/00 8:52:59 AM)
- */
-short shortValue();
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IPDEContributeClasspath.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IPDEContributeClasspath.java
deleted file mode 100644
index 4233c6a4d..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IPDEContributeClasspath.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: IPDEContributeClasspath.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:53:46 $
- */
-package org.eclipse.jem.internal.proxy.core;
-
-import org.eclipse.core.runtime.CoreException;
-
-
-/**
- * Contribute to classpath PDE entries that are needed for a launch.
- * <p>
- * Use the <code>INSTANCE()</code> to access the contributor. If the value
- * is <code>null</code>, then PDE is not available.
- *
- * @since 1.0.2
- */
-public interface IPDEContributeClasspath {
-
- public static IPDEContributeClasspath INSTANCE = PDEContributeClasspathInstance.getInstance();
-
- /**
- * Return the classpath contributions for the plugins in the given project.
- * <p>
- * This will add in the libraries from any fragments of any plugin that this
- * project references, either directly or indirectly through other plugins.
- * <p>
- * It is used by launches to get the fragment libraries since these are not
- * added by default to the classpath for a project by PDE. That is because they
- * aren't needed for compilation purposes, but they are needed for running.
- *
- * @param controller the controller to contribute to.
- * @throws CoreException
- *
- * @since 1.0.2
- */
- public abstract void getPDEContributions(IConfigurationContributionController controller) throws CoreException;
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IPointBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IPointBeanProxy.java
deleted file mode 100644
index 9b6c7c505..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IPointBeanProxy.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package org.eclipse.jem.internal.proxy.core;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: IPointBeanProxy.java,v $
- * $Revision: 1.1 $ $Date: 2005/05/11 19:01:12 $
- */
-
-
-/**
- * Interface to a Point bean proxy.
- * <p>
- * These are common for different windowing systems, e.g. AWT and SWT. So this here
- * is common interface for them.
- * Creation date: (4/7/00 3:46:39 PM)
- * @author: Administrator
- */
-public interface IPointBeanProxy extends IBeanProxy {
- public int getX();
- public int getY();
- public void setX(int x);
- public void setY(int y);
- public void setLocation(int x, int y);
- public void setLocation(IPointBeanProxy point);
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IProxy.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IProxy.java
deleted file mode 100644
index 40c2dfc48..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IProxy.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * $RCSfile: IProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/06/15 20:19:11 $
- */
-package org.eclipse.jem.internal.proxy.core;
-
-
-/**
- * A common interface for proxies. It is used by the expression processor to easily distinquish between
- * a proxy and an Expression proxy.
- * @since 1.1.0
- */
-public interface IProxy {
-
- /**
- * Return the registry this proxy was created with.
- * @return
- *
- * @since 1.1.0
- */
- public ProxyFactoryRegistry getProxyFactoryRegistry();
-
- /**
- * Is this a bean proxy (including all of the subinterfaces of it, like IMethodProxy).
- * @return <code>true</code> if this is a bean proxy.
- *
- * @since 1.1.0
- */
- public boolean isBeanProxy();
-
- /**
- * Is this an expression proxy.
- * @return <code>true</code> if this is an expression proxy.
- *
- * @since 1.1.0
- */
- public boolean isExpressionProxy();
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IProxyBeanType.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IProxyBeanType.java
deleted file mode 100644
index 372e4e8a8..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IProxyBeanType.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- * $RCSfile: IProxyBeanType.java,v $
- * $Revision: 1.2 $ $Date: 2005/05/18 18:41:20 $
- */
-package org.eclipse.jem.internal.proxy.core;
-
-
-/**
- * This interface is for IBeanTypeProxy's and BeanTypeExpressionProxy's so that we can lazily
- * get the beantype proxy and have the expression process it when needed.
- *
- * @since 1.1.0
- */
-public interface IProxyBeanType extends IProxy {
-
- /**
- * Answer the name of the type we are proxying This is the fully qualified name. For arrays it will return the format: [Lclassname;
- * @return
- *
- * @since 1.1.0
- */
- public String getTypeName();
-
- /**
- * Get the IProxyMethod for the method from this beantype. It may be either a resolved method proxy (if already resolved) or
- * it may be an ExpressionProxy if not yet resolved.
- *
- * @param expression
- * @param methodName
- * @param parameterTypes array of parameter types or <code>null</code> if no parameters.
- * @return
- *
- * @since 1.1.0
- */
- public IProxyMethod getMethodProxy(IExpression expression, String methodName, IProxyBeanType[] parameterTypes);
-
- /**
- * Get the IProxyMethod for the method from this beantype where the method has no arguments. It may be either a resolved method proxy (if already resolved) or
- * it may be an ExpressionProxy if not yet resolved.
- * <p>
- * This is a shortcut for getMethodProxy() that takes arguments names where the names have been sent as null.
- *
- * @param expression
- * @param methodName
- * @return
- *
- * @since 1.1.0
- */
- public IProxyMethod getMethodProxy(IExpression expression, String methodName);
-
- /**
- * Get the IProxyMethod for the method from this beantype. It may be either a resolved method proxy (if already resolved) or
- * it may be an ExpressionProxy if not yet resolved.
- *
- * @param expression
- * @param methodName
- * @param parameterTypes array of parameter types or <code>null</code> if no parameters.
- * @return
- *
- * @since 1.1.0
- */
- public IProxyMethod getMethodProxy(IExpression expression, String methodName, String[] parameterTypes);
-
- /**
- * Get the IProxyyField for the field from this beantype. It may be either a resolved field proxy (if already resolved) or
- * it may be an ExpressionProxy if not yet resolved.
- *
- * @param expression
- * @param fieldName
- * @return
- *
- * @since 1.1.0
- */
- public IProxyField getFieldProxy(IExpression expression, String fieldName);
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IProxyConstants.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IProxyConstants.java
deleted file mode 100644
index 6960eaa7a..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IProxyConstants.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: IProxyConstants.java,v $
- * $Revision: 1.4 $ $Date: 2005/05/18 23:11:26 $
- */
-package org.eclipse.jem.internal.proxy.core;
-
-/**
- * Constants used with the plugin xml.
- *
- * @since 1.0.0
- */
-public interface IProxyConstants {
-
- /**
- * Launch group id for proxy launch configurations.
- */
- public static final String ID_PROXY_LAUNCH_GROUP = "org.eclipse.jem.proxy"; //$NON-NLS-1$
-
- /**
- * Launch configuration type for local proxy. It is local in that it is on the same machine, but a different
- * VM then the one running the IDE.
- *
- * It here because this is the default config type when no launch config specified for a project.
- */
- public static final String LOCAL_LAUNCH_TYPE = "org.eclipse.jem.proxy.LocalProxyLaunchConfigurationType"; //$NON-NLS-1$
-
- /**
- * Attribute on Proxy Launch Configuration:
- *
- * Key used in Launch Configuration for attaching AWT/Swing to the registry. This means simply
- * that AWT/Swing should be treated as being in the registry or not. It doesn't actually prevent
- * them from being there.
- *
- * The default value for this attribute is "true", so it should be set only to "false".
- */
- public static final String ATTRIBUTE_AWT_SWING = "org.eclipse.jem.proxy.AWT/Swing"; //$NON-NLS-1$
-
- /**
- * Attribute on Proxy Launch Configuration:
- *
- * Key used in Launch Configuration for the contributors and returning the registry. After retrieving key,
- * go back to ProxyLaunchSupport to retrieve the contributors. And it uses it to return the registry.
- *
- * Not to be set by contributors. This will be set only by the ProxyLaunchSupport start implementation methods.
- * It is here only because external developer's launch configurations will need to be able to access this.
- */
- public static final String ATTRIBUTE_LAUNCH_KEY = "org.eclipse.jem.proxy.LaunchKey"; //$NON-NLS-1$
-
- /**
- * Attribute on Proxy Launch Configuration:
- *
- * VM title used for the launch registry.
- *
- * Not to be set by contributors. This will be set only by the ProxyLaunchSupport start implementation methods.
- * It is here only because external developer's launch configurations will need to be able to access this.
- */
- public static final String ATTRIBUTE_VM_TITLE = "org.eclipse.jem.proxy.vmtitle"; //$NON-NLS-1$
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IProxyField.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IProxyField.java
deleted file mode 100644
index 24ef95324..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IProxyField.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- * $RCSfile: IProxyField.java,v $
- * $Revision: 1.1 $ $Date: 2005/05/11 19:01:12 $
- */
-package org.eclipse.jem.internal.proxy.core;
-
-
-/**
- * This interface is for IFieldProxy's and FieldExpressionProxy's so that we can lazily
- * get the field proxy and have the expression process it when needed.
- * @since 1.1.0
- */
-public interface IProxyField extends IProxy {
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IProxyMethod.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IProxyMethod.java
deleted file mode 100644
index 2268869eb..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IProxyMethod.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- * $RCSfile: IProxyMethod.java,v $
- * $Revision: 1.1 $ $Date: 2005/05/11 19:01:12 $
- */
-package org.eclipse.jem.internal.proxy.core;
-
-
-/**
- * This interface is for IMethodProxy's and MethodExpressionProxy's so that we can lazily
- * get the method proxy and have the expression process it when needed.
- *
- * @since 1.1.0
- */
-public interface IProxyMethod extends IProxy {
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IRectangleBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IRectangleBeanProxy.java
deleted file mode 100644
index 257ff0613..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IRectangleBeanProxy.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.eclipse.jem.internal.proxy.core;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: IRectangleBeanProxy.java,v $
- * $Revision: 1.1 $ $Date: 2005/05/11 19:01:12 $
- */
-
-
-/**
- * Interface to a Rectangle bean proxy.
- * <p>
- * These are common for different windowing systems, e.g. AWT and SWT. So this here
- * is common interface for them.
- * Creation date: (4/7/00 3:46:39 PM)
- * @author: Administrator
- */
-public interface IRectangleBeanProxy extends IBeanProxy {
- public int getX();
- public int getY();
- public void setX(int x);
- public void setY(int y);
- public void setLocation(int x, int y);
- public void setLocation(IPointBeanProxy point);
-
- public int getHeight();
- public int getWidth();
- public void setHeight(int height);
- public void setWidth(int width);
- public void setSize(int width, int height);
- public void setSize(IDimensionBeanProxy dim);
-
- public void setBounds(int x, int y, int width, int height);
- public void setBounds(IRectangleBeanProxy rect);
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IStandardBeanProxyFactory.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IStandardBeanProxyFactory.java
deleted file mode 100644
index 419c5e02b..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IStandardBeanProxyFactory.java
+++ /dev/null
@@ -1,202 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.core;
-
-
-/*
- * $RCSfile: IStandardBeanProxyFactory.java,v $
- * $Revision: 1.6 $ $Date: 2005/07/08 17:51:47 $
- */
-
-
-/**
- * The Standard base bean proxy factory.
- * This is the Interface that the desktop will talk
- * to.
- * Creation date: (12/3/99 11:52:09 AM)
- * @author: Joe Winchester
- */
-public interface IStandardBeanProxyFactory extends IBeanProxyFactory {
-
-/**
- * Get the {@link org.eclipse.jem.internal.proxy.common.IVMServer} proxy for the
- * this registry. This is only needed if you need to give the IVMserver to a proxy so that
- * it can access it.
- * <p>
- * <b>Note:</b> Does not need to be given to callback proxies because they are given
- * an {@link org.eclipse.jem.internal.proxy.common.IVMCallbackServer} on initialization, and
- * that interface implements the IVMServer interface too.
- *
- * @return
- *
- * @since 1.1.0
- */
-public IBeanProxy getIVMServerProxy();
-/**
- * Return a new bean proxy for the primitive integer argument
- * Creation date: (12/3/99 11:52:20 AM)
- * @author Joe Winchester
- */
-public IIntegerBeanProxy createBeanProxyWith(int aPrimitiveInteger);
-/**
- * Return a new bean proxy for the primitive character argument
- * Creation date: (12/3/99 11:52:20 AM)
- * @author Joe Winchester
- */
-public ICharacterBeanProxy createBeanProxyWith(char aPrimitiveCharacter);
-/**
- * Return a new bean proxy for the primitive byte argument
- * Creation date: (12/3/99 11:52:20 AM)
- * @author Joe Winchester
- */
-public INumberBeanProxy createBeanProxyWith(byte aPrimitiveByte);
-/**
- * Return a new bean proxy for the primitive short argument
- * Creation date: (12/3/99 11:52:20 AM)
- * @author Joe Winchester
- */
-public INumberBeanProxy createBeanProxyWith(short aPrimitiveShort);
-/**
- * Return a new bean proxy for the primitive long argument
- * Creation date: (12/3/99 11:52:20 AM)
- * @author Joe Winchester
- */
-public INumberBeanProxy createBeanProxyWith(long aPrimitiveLong);
-/**
- * Return a new bean proxy for the primitive float argument
- * Creation date: (12/3/99 11:52:20 AM)
- * @author Joe Winchester
- */
-public INumberBeanProxy createBeanProxyWith(float aPrimitiveFloat);
-/**
- * Return a new bean proxy for the primitive double argument
- * Creation date: (12/3/99 11:52:20 AM)
- * @author Joe Winchester
- */
-public INumberBeanProxy createBeanProxyWith(double aPrimitiveDouble);
-/**
- * Return a new bean proxy for the Boolean argument
- * Creation date: (12/3/99 11:52:20 AM)
- * @author Joe Winchester
- */
-public IBooleanBeanProxy createBeanProxyWith(Boolean aBoolean);
-/**
- * Return a new bean proxy for the Integer argument
- * Creation date: (12/3/99 11:52:20 AM)
- * @author Joe Winchester
- */
-public IIntegerBeanProxy createBeanProxyWith(Integer anInteger);
-/**
- * Return a new bean proxy for the Character argument
- * Creation date: (12/3/99 11:52:20 AM)
- * @author Joe Winchester
- */
-public ICharacterBeanProxy createBeanProxyWith(Character aCharacter);
-/**
- * Return a new bean proxy for the Number argument, can handle any of the numbers.
- * Creation date: (12/3/99 11:52:20 AM)
- * @author Joe Winchester
- */
-public INumberBeanProxy createBeanProxyWith(Number aNumber);
-/**
- * Return a new bean proxy for the string argument
- * Creation date: (12/3/99 11:52:20 AM)
- * @author Joe Winchester
- */
-public IStringBeanProxy createBeanProxyWith(String aString);
-
-/**
- * Convert the non-primitive proxy to a primitive proxy, if it
- * of one of the wrapper types. If not, then just return the proxy as is.
- * <p>
- * I.E. BooleanClassProxy will convert to BooleanTypeProxy, but ObjectClassProxy will just return unchanged.
- * @param nonPrimitiveProxy
- * @return either the primitive proxy that nonPrimitive wrappers, or the non-primitive if not a wrapper type.
- *
- * @since 1.0.0
- */
-public IBeanProxy convertToPrimitiveBeanProxy(IBeanProxy nonPrimitiveProxy);
-/**
- * Return a new bean proxy for the boolean argument
- * Creation date: (12/3/99 11:52:20 AM)
- * @author Joe Winchester
- */
-public IBooleanBeanProxy createBeanProxyWith(boolean aBoolean);
-/**
- * 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;
-/**
- * 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;
-
-/**
- * Create a bean proxy from an initialization string.
- * <p>
- * It is not recommended that this method be commonly used. That is because no type checking will be performed
- * on the result. Whatever it evaluates to be will be what it is. It is useful for the rare cases where the desired
- * result type is not known.
- * <p>
- * It is recommended instead to use the newInstance(initString) method on the appropriate IBeanTypeProxy so that the
- * result can be type-checked to make sure the string evaluates to something of that type.
- *
- * @param initializationString
- * @return
- * @throws ThrowableProxy
- * @throws InstantiationException
- * @throws ClassCastException
- *
- * @since 1.0.0
- */
-public IBeanProxy createBeanProxyFrom(String initializationString) throws ThrowableProxy, InstantiationException, ClassCastException;
-
-/**
- * Release the proxy. In the case of Remote VM, this means
- * it will remove the proxy on the client side, and remove
- * the reference to the real object on the server side. On the server
- * side the real object may not go away because something else could
- * be holding onto it, but it won't be held simply because the client
- * is holding onto it.
- */
-public void releaseProxy(IBeanProxy proxy);
-
-/**
- * Create an expression.
- * @return The expression.
- *
- * @since 1.0.0
- */
-public IExpression createExpression();
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IStandardBeanTypeProxyFactory.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IStandardBeanTypeProxyFactory.java
deleted file mode 100644
index c6d7ddb8c..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IStandardBeanTypeProxyFactory.java
+++ /dev/null
@@ -1,168 +0,0 @@
-package org.eclipse.jem.internal.proxy.core;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: IStandardBeanTypeProxyFactory.java,v $
- * $Revision: 1.3 $ $Date: 2005/05/11 19:01:12 $
- */
-
-import java.util.Set;
-/**
- * The standard bean type proxy factory.
- * This is the Interface that the desktop will talk
- * to, the one that is returned when getCurrent() is called.
- * Creation date: (3/10/00 11:00:50 AM)
- * @author: Richard Lee Kulp
- */
-public interface IStandardBeanTypeProxyFactory extends IBeanProxyFactory {
-
-/**
- * Used by other registered bean type proxy factories to
- * register their bean type proxies with the standard factory
- * so that it will be cached there.
- * <p><b>Note:</b> This is not meant to be called by customers. It is here for the usage
- * of registry extensions.
- * @param aBeanTypeProxy
- * @param permanent indicates that beantype will never be released,
- * not even if explicit request is made.
- *
- * @since 1.1.0
- */
-void registerBeanTypeProxy(IBeanTypeProxy aBeanTypeProxy, boolean permanent);
-
-/**
- * Used by other registered bean type proxy factories to
- * register their proxy bean type with the standard factory
- * so that it will be cached there.
- * <p><b>Note:</b> This is not meant to be called by customers. It is here for the usage
- * of registry extensions.
- * @param aBeanTypeProxy
- * @param permanent indicates that beantype will never be released,
- * not even if explicit request is made.
- *
- * @since 1.1.0
- */
-void registerBeanTypeProxy(IProxyBeanType aBeanTypeProxy, boolean permanent);
-
-/**
- * Return the beanType proxy for the given class name.
- * It must be fully qualified. And for arrays it can handle
- * either the jni type ([Ljava.lang.Object;) or the Java EMF Model
- * formal type (java.lang.Object[]).
- */
-IBeanTypeProxy getBeanTypeProxy(String className);
-
-/**
- * Get the beantype proxy suitable for an expression.
- *
- * @param expression
- * @param typeName
- * @return
- *
- * @since 1.1.0
- */
-IProxyBeanType getBeanTypeProxy(IExpression expression, String typeName);
-
-/**
- * Return an Array type proxy for the given class name of
- * the specified dimensions. This is a helper method. The
- * same result can be gotton from getBeanTypeProxy.
- * e.g.
- * getBeanTypeProxy("java.lang.Object", 3)
- * is the same as:
- * getBeanTypeProxy("[[[Ljava.lang.Object;")
- *
- * They both result in a type of:
- * Object [][][]
- *
- * or if using the JNI format (proxy format)
- * getBeanTypeProxy("[Ljava.langObject;", 3)
- * becomes
- * Object [][][][]
- *
- * or if using the standard java format (as in actual code)
- * getBeanTypeProxy("java.langObject[];", 3)
- * becomes
- * Object [][][][]
- */
-IBeanTypeProxy getBeanTypeProxy(String componentClassName, int dimensions);
-
-/**
- * Return an Array type proxy for the given class name of
- * the specified dimensions. This is a helper method. The
- * same result can be gotton from getBeanTypeProxy.
- * e.g.
- * getBeanTypeProxy("java.lang.Object", 3)
- * is the same as:
- * getBeanTypeProxy("[[[Ljava.lang.Object;")
- *
- * They both result in a type of:
- * Object [][][]
- *
- * or if using the JNI format (proxy format)
- * getBeanTypeProxy("[Ljava.langObject;", 3)
- * becomes
- * Object [][][][]
- *
- * or if using the standard java format (as in actual code)
- * getBeanTypeProxy("java.langObject[];", 3)
- * becomes
- * Object [][][][]
- *
- * @param expression
- * @param componentClassName
- * @param dimensions
- * @return
- *
- * @since 1.1.0
- */
-IProxyBeanType getBeanTypeProxy(IExpression expression, String componentClassName, int dimensions);
-
-/**
- * Test if a specific bean type has been registered. Don't access and create
- * if it isn't currently registered.
- */
-boolean isBeanTypeRegistered(String className);
-
-/**
- * Registered types. Return a set of strings that are the registered classes.
- * This Set isn't synchronized, there may be changes while accessing it.
- */
-Set registeredTypes();
-
-/**
- * Maintain list of not found types. This list is types that were requested,
- * but didn't exist. This method sets whether list should be maintained or not.
- * If set to false, the list will be empty. The default is false.
- *
- * @param maintain
- */
-void setMaintainNotFoundTypes(boolean maintain);
-
-/**
- * Maintain list of not found types. This list is types that were requested,
- * but didn't exist. This method returns whether list should be maintained or not.
- * If false, the list will be empty. The default is false.
- *
- * @return maintaining not found types.
- */
-boolean isMaintainNotFoundTypes();
-
-/**
- * Maintain list of not found types. This list is types that were requested,
- * but didn't exist.
- *
- * @param className Classname to search for to see if ever not found.
- * @return true if the bean type had been searched for but was not found. If not maintaining, then result will be false.
- */
-boolean isBeanTypeNotFound(String className);
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IStringBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IStringBeanProxy.java
deleted file mode 100644
index eb5fb6e69..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IStringBeanProxy.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.eclipse.jem.internal.proxy.core;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: IStringBeanProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:53:46 $
- */
-
-
-/**
- * Optimized implementation that should be used for string proxies that
- * allows the IDE VM to get the string value easily
- * Creation date: (2/6/00 8:58:22 AM)
- * @author: Joe Winchester
- */
-public interface IStringBeanProxy extends IBeanProxy {
-/**
- * Return the proxied string as a string that the IDE can use
- * Creation date: (2/6/00 8:58:32 AM)
- */
-String stringValue();
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IUIRunner.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IUIRunner.java
deleted file mode 100644
index 423154fa4..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IUIRunner.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: IUIRunner.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:53:46 $
- */
-package org.eclipse.jem.internal.proxy.core;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-
-/**
- * Interface that doesn't require UI. The implementation will. This will
- * only be used if within UI environment.
- *
- * <package-protected> because should only be used within here.
- *
- * @since 1.0.0
- */
-interface IUIRunner {
- /**
- * Handle the build. If not in UI thread, just call back to ProxyLaunchSupport
- * to handle the build. If on UI thread, then use the IProgressService to do it.
- * This will keep the UI from "locking", though it will be disabled it won't deadlock.
- *
- * @param pm
- *
- * @since 1.0.0
- */
- public void handleBuild(IProgressMonitor pm) throws CoreException;
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IteratorBeanProxyWrapper.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IteratorBeanProxyWrapper.java
deleted file mode 100644
index 617270c6f..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IteratorBeanProxyWrapper.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.core;
-/*
- * $RCSfile: IteratorBeanProxyWrapper.java,v $
- * $Revision: 1.7 $ $Date: 2005/06/21 19:36:48 $
- */
-
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-/**
- * This is a wrapper for an java.util.Iterator proxy.
- * It provides the iterator methods to interface to
- * the proxy.
- */
-
-public class IteratorBeanProxyWrapper {
- protected final IBeanProxy fIterator;
- protected final JavaStandardBeanProxyConstants fConstants;
-
- /**
- * Construct with the collection.
- */
- public IteratorBeanProxyWrapper(IBeanProxy anIteratorProxy) {
- if (!anIteratorProxy.getTypeProxy().isKindOf(anIteratorProxy.getProxyFactoryRegistry().getBeanTypeProxyFactory().getBeanTypeProxy("java.util.Iterator"))) //$NON-NLS-1$
- throw new ClassCastException(MessageFormat.format(ProxyMessages.ClassCast_EXC__IncorrectType, new Object[] {anIteratorProxy.getTypeProxy().getTypeName(), "java.util.Iterator"}));
- else
- fIterator = anIteratorProxy;
-
- fConstants = JavaStandardBeanProxyConstants.getConstants(anIteratorProxy.getProxyFactoryRegistry());
- }
-
- /**
- * Answer the iterator proxy that this is wrappering.
- */
- public IBeanProxy getBeanProxy() {
- return fIterator;
- }
-
- /**
- * equals - Pass it on to the proxy to handle this.
- */
- public boolean equals(Object object) {
- return fIterator.equals(object);
- }
-
- /**
- * hashCode - Pass it on to the proxy to handle this.
- */
- public int hashCode() {
- return fIterator.hashCode();
- }
-
- /**
- * Iterator accessors
- */
- public boolean hasNext() {
- try {
- return ((IBooleanBeanProxy) fConstants.getIteratorHasNext().invoke(fIterator)).booleanValue();
- } catch (ThrowableProxy e) {
- // This shouldn't occur, so just log it.
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, ProxyMessages.UnexpectedException_EXC_, e));
- return false;
- }
- }
- public IBeanProxy next() throws ThrowableProxy {
- return fConstants.getIteratorNext().invoke(fIterator);
- }
- public void remove() throws ThrowableProxy {
- fConstants.getIteratorRemove().invoke(fIterator);
- }
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/JavaStandardBeanProxyConstants.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/JavaStandardBeanProxyConstants.java
deleted file mode 100644
index fb7b400b4..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/JavaStandardBeanProxyConstants.java
+++ /dev/null
@@ -1,347 +0,0 @@
-package org.eclipse.jem.internal.proxy.core;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: JavaStandardBeanProxyConstants.java,v $
- * $Revision: 1.3 $ $Date: 2005/05/11 19:01:12 $
- */
-
-
-/**
- * Standard Proxy 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.
- *
- * There are some standard utility functions too.
- *
- * 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 JavaStandardBeanProxyConstants {
- public static final Object REGISTRY_KEY = new Object();
-
- final IBeanTypeProxy fCollectionType;
- final IBeanTypeProxy fListType;
- final IBeanTypeProxy fIteratorType;
- final IBeanTypeProxy fListIteratorType;
- final IBeanTypeProxy fEnumerationType;
- final IBeanTypeProxy fSystemType;
- final IBeanTypeProxy fStringType;
-
- IMethodProxy fCollectionAdd, fCollectionAddAll, fCollectionClear, fCollectionContains,
- fCollectionContainsAll, fCollectionIsEmpty, fCollectionIterator, fCollectionRemove,
- fCollectionRemoveAll, fCollectionRetainAll, fCollectionSize, fCollectionToArray,
- fCollectionToArrayWithArray;
-
- IMethodProxy fListAddWithInt, fListAddAllWithInt, fListGet, fListIndexOf, fListLastIndexOf,
- fListListIterator, fListListIteratorWithInt, fListRemoveInt,
- fListSet, fListSubList;
-
- IMethodProxy fIteratorHasNext, fIteratorNext, fIteratorRemove;
-
- IMethodProxy fListIteratorAdd, fListIteratorHasPrevious, fListIteratorNextIndex, fListIteratorPrevious,
- fListIteratorPreviousIndex, fListIteratorRemove, fListIteratorSet;
-
- IMethodProxy fEnumerationHasMoreElements, fEnumerationNextElement;
-
- IMethodProxy fSystemArraycopy;
-
-/**
- * Get the constants instance for the specified registry.
- */
-public static JavaStandardBeanProxyConstants getConstants(ProxyFactoryRegistry registry) {
- JavaStandardBeanProxyConstants constants = (JavaStandardBeanProxyConstants) registry.getConstants(REGISTRY_KEY);
- if (constants == null)
- registry.registerConstants(REGISTRY_KEY, constants = new JavaStandardBeanProxyConstants(registry));
- return constants;
-}
-
-
-/**
- * IDEJavaBeanConstants constructor comment.
- */
-private JavaStandardBeanProxyConstants(ProxyFactoryRegistry registry) {
- super();
-
- IStandardBeanTypeProxyFactory typeFactory = registry.getBeanTypeProxyFactory();
- fCollectionType = typeFactory.getBeanTypeProxy("java.util.Collection");//$NON-NLS-1$
- fListType = typeFactory.getBeanTypeProxy("java.util.List"); //$NON-NLS-1$
- fIteratorType = typeFactory.getBeanTypeProxy("java.util.Iterator"); //$NON-NLS-1$
- fListIteratorType = typeFactory.getBeanTypeProxy("java.util.ListIterator"); //$NON-NLS-1$
- fEnumerationType = typeFactory.getBeanTypeProxy("java.util.Enumeration"); //$NON-NLS-1$
- fSystemType = typeFactory.getBeanTypeProxy("java.lang.System"); //$NON-NLS-1$
- fStringType = typeFactory.getBeanTypeProxy("java.lang.String"); //$NON-NLS-1$
-}
-
-public IBeanTypeProxy getStringType() {
- return fStringType;
-}
-
-/**
- * Collection method accessors
- */
-public IMethodProxy getCollectionAdd() {
- if (fCollectionAdd == null)
- fCollectionAdd = fCollectionType.getMethodProxy("add", "java.lang.Object"); //$NON-NLS-1$ //$NON-NLS-2$
- return fCollectionAdd;
-}
-
-public IMethodProxy getCollectionAddAll(){
- if (fCollectionAddAll == null)
- fCollectionAddAll = fCollectionType.getMethodProxy("addAll", "java.util.Collection"); //$NON-NLS-1$ //$NON-NLS-2$
- return fCollectionAddAll;
-}
-
-public IMethodProxy getCollectionClear() {
- if (fCollectionClear == null)
- fCollectionClear = fCollectionType.getMethodProxy("clear"); //$NON-NLS-1$
- return fCollectionClear;
-}
-
-public IMethodProxy getCollectionContains() {
- if (fCollectionContains == null)
- fCollectionContains = fCollectionType.getMethodProxy("contains", "java.lang.Object"); //$NON-NLS-1$ //$NON-NLS-2$
- return fCollectionContains;
-}
-
-public IMethodProxy getCollectionContainsAll() {
- if (fCollectionContainsAll == null)
- fCollectionContainsAll = fCollectionType.getMethodProxy("containsAll", "java.util.Collection"); //$NON-NLS-1$ //$NON-NLS-2$
- return fCollectionContainsAll;
-}
-
-public IMethodProxy getCollectionIsEmpty() {
- if (fCollectionIsEmpty == null)
- fCollectionIsEmpty = fCollectionType.getMethodProxy("isEmpty"); //$NON-NLS-1$
- return fCollectionIsEmpty;
-}
-
-public IMethodProxy getCollectionIterator() {
- if (fCollectionIterator == null)
- fCollectionIterator = fCollectionType.getMethodProxy("iterator"); //$NON-NLS-1$
- return fCollectionIterator;
-}
-
-public IMethodProxy getCollectionRemove() {
- if (fCollectionRemove == null)
- fCollectionRemove = fCollectionType.getMethodProxy("remove", "java.lang.Object"); //$NON-NLS-1$ //$NON-NLS-2$
- return fCollectionRemove;
-}
-
-public IMethodProxy getCollectionRemoveAll() {
- if (fCollectionRemoveAll == null)
- fCollectionRemoveAll = fCollectionType.getMethodProxy("removeAll", "java.util.Collection"); //$NON-NLS-1$ //$NON-NLS-2$
- return fCollectionRemoveAll;
-}
-
-public IMethodProxy getCollectionRetainAll() {
- if (fCollectionRetainAll == null)
- fCollectionRetainAll = fCollectionType.getMethodProxy("retainAll", "java.util.Collection"); //$NON-NLS-1$ //$NON-NLS-2$
- return fCollectionRetainAll;
-}
-
-public IMethodProxy getCollectionSize() {
- if (fCollectionSize == null)
- fCollectionSize = fCollectionType.getMethodProxy("size"); //$NON-NLS-1$
- return fCollectionSize;
-}
-
-public IMethodProxy getCollectionToArray() {
- if (fCollectionToArray == null)
- fCollectionToArray = fCollectionType.getMethodProxy("toArray"); //$NON-NLS-1$
- return fCollectionToArray;
-}
-
-public IMethodProxy getCollectionToArrayWithArray() {
- if (fCollectionToArrayWithArray == null)
- fCollectionToArrayWithArray = fCollectionType.getMethodProxy("toArray", "[Ljava.lang.Object;"); //$NON-NLS-1$ //$NON-NLS-2$
- return fCollectionToArrayWithArray;
-}
-
-/**
- * Iterator accessors
- */
-
-public IMethodProxy getIteratorHasNext() {
- if (fIteratorHasNext == null)
- fIteratorHasNext = fIteratorType.getMethodProxy("hasNext"); //$NON-NLS-1$
- return fIteratorHasNext;
-}
-
-public IMethodProxy getIteratorNext() {
- if (fIteratorNext == null)
- fIteratorNext = fIteratorType.getMethodProxy("next"); //$NON-NLS-1$
- return fIteratorNext;
-}
-
-public IMethodProxy getIteratorRemove() {
- if (fIteratorRemove == null)
- fIteratorRemove = fIteratorType.getMethodProxy("remove"); //$NON-NLS-1$
- return fIteratorRemove;
-}
-
-/**
- * Listaccessors
- */
-
-public IMethodProxy getListAddWithInt() {
- if (fListAddWithInt == null)
- fListAddWithInt = fListType.getMethodProxy("add", new String[] {"int", "java.lang.Object"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- return fListAddWithInt;
-}
-
-public IMethodProxy getListAddAllWithInt() {
- if (fListAddAllWithInt == null)
- fListAddAllWithInt = fListType.getMethodProxy("addAll", new String[] {"int", "java.util.Collection"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- return fListAddAllWithInt;
-}
-
-public IMethodProxy getListGet() {
- if (fListGet == null)
- fListGet = fListType.getMethodProxy("get", "int"); //$NON-NLS-1$ //$NON-NLS-2$
- return fListGet;
-}
-
-public IMethodProxy getListIndexOf() {
- if (fListIndexOf == null)
- fListIndexOf = fListType.getMethodProxy("indexOf", "java.lang.Object"); //$NON-NLS-1$ //$NON-NLS-2$
- return fListIndexOf;
-}
-
-public IMethodProxy getListLastIndexOf() {
- if (fListLastIndexOf == null)
- fListLastIndexOf = fListType.getMethodProxy("lastIndexOf", "java.lang.Object"); //$NON-NLS-1$ //$NON-NLS-2$
- return fListLastIndexOf;
-}
-
-public IMethodProxy getListListIterator() {
- if (fListListIterator == null)
- fListListIterator = fListType.getMethodProxy("listIterator"); //$NON-NLS-1$
- return fListListIterator;
-}
-
-public IMethodProxy getListListIteratorWithInt() {
- if (fListListIteratorWithInt == null)
- fListListIteratorWithInt = fListType.getMethodProxy("listIterator", "int"); //$NON-NLS-1$ //$NON-NLS-2$
- return fListListIteratorWithInt;
-}
-
-public IMethodProxy getListRemoveInt() {
- if (fListRemoveInt == null)
- fListRemoveInt = fListType.getMethodProxy("remove", "int"); //$NON-NLS-1$ //$NON-NLS-2$
- return fListRemoveInt;
-}
-
-public IMethodProxy getListSet() {
- if (fListSet == null)
- fListSet = fListType.getMethodProxy("set", new String[] {"int", "java.lang.Object"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- return fListSet;
-}
-
-public IMethodProxy getListSubList() {
- if (fListSubList == null)
- fListSubList = fListType.getMethodProxy("subList", new String[] {"int", "int"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- return fListSubList;
-}
-
-/**
- * ListIterator accessors
- */
-
-public IMethodProxy getListIteratorAdd() {
- if (fListIteratorAdd == null)
- fListIteratorAdd = fListIteratorType.getMethodProxy("add", "java.lang.Object"); //$NON-NLS-1$ //$NON-NLS-2$
- return fListIteratorAdd;
-}
-
-public IMethodProxy getListIteratorHasPrevious() {
- if (fListIteratorHasPrevious == null)
- fListIteratorHasPrevious = fListIteratorType.getMethodProxy("hasPrevious"); //$NON-NLS-1$
- return fListIteratorHasPrevious;
-}
-
-public IMethodProxy getListIteratorNextIndex() {
- if (fListIteratorNextIndex == null)
- fListIteratorNextIndex = fListIteratorType.getMethodProxy("nextIndex"); //$NON-NLS-1$
- return fListIteratorNextIndex;
-}
-
-public IMethodProxy getListIteratorPrevious() {
- if (fListIteratorPrevious == null)
- fListIteratorPrevious = fListIteratorType.getMethodProxy("previous"); //$NON-NLS-1$
- return fListIteratorPrevious;
-}
-
-public IMethodProxy getListIteratorPreviousIndex() {
- if (fListIteratorPreviousIndex == null)
- fListIteratorPreviousIndex = fListIteratorType.getMethodProxy("previousIndex"); //$NON-NLS-1$
- return fListIteratorPreviousIndex;
-}
-
-public IMethodProxy getListIteratorSet() {
- if (fListIteratorSet == null)
- fListIteratorSet = fListIteratorType.getMethodProxy("set", "java.lang.Object"); //$NON-NLS-1$ //$NON-NLS-2$
- return fListIteratorSet;
-}
-
-public IMethodProxy getListIteratorRemove() {
- if (fListIteratorRemove == null)
- fListIteratorRemove = fListIteratorType.getMethodProxy("remove"); //$NON-NLS-1$
- return fListIteratorRemove;
-}
-
-protected IMethodProxy getSystemArraycopy() {
- if (fSystemArraycopy == null)
- fSystemArraycopy = fSystemType.getMethodProxy("arraycopy", new String[] {"java.lang.Object", "int", "java.lang.Object", "int", "int"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
- return fSystemArraycopy;
-}
-
-/**
- * Enumeration accessors
- */
-public IMethodProxy getEnumerationHasMoreElements() {
- if (fEnumerationHasMoreElements == null)
- fEnumerationHasMoreElements = fEnumerationType.getMethodProxy("hasMoreElements"); //$NON-NLS-1$
- return fEnumerationHasMoreElements;
-}
-
-public IMethodProxy getEnumerationNextElement() {
- if (fEnumerationNextElement == null)
- fEnumerationNextElement = fEnumerationType.getMethodProxy("nextElement"); //$NON-NLS-1$
- return fEnumerationNextElement;
-}
-
-/**
- * Utility function to copy an array.
- */
-public void arraycopy(IBeanProxy src, int srcPosition, IBeanProxy dest, int destPosition, int length) throws ThrowableProxy {
- IStandardBeanProxyFactory factory = src.getProxyFactoryRegistry().getBeanProxyFactory();
- IBeanProxy[] args = new IBeanProxy[] {
- src,
- factory.createBeanProxyWith(srcPosition),
- dest,
- factory.createBeanProxyWith(destPosition),
- factory.createBeanProxyWith(length)
- };
-
- getSystemArraycopy().invoke(null, args);
-}
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ListBeanProxyWrapper.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ListBeanProxyWrapper.java
deleted file mode 100644
index 2fe3e361b..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ListBeanProxyWrapper.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.core;
-/*
- * $RCSfile: ListBeanProxyWrapper.java,v $
- * $Revision: 1.7 $ $Date: 2005/06/21 19:36:48 $
- */
-
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-/**
- * This is a wrapper for an java.util.Collection proxy.
- * It provides the collection methods to interface to
- * the proxy.
- */
-
-public class ListBeanProxyWrapper extends CollectionBeanProxyWrapper {
- /**
- * Construct with the List.
- */
- public ListBeanProxyWrapper(IBeanProxy aListProxy) {
- super(aListProxy);
-
- if (!aListProxy.getTypeProxy().isKindOf(aListProxy.getProxyFactoryRegistry().getBeanTypeProxyFactory().getBeanTypeProxy("java.util.List"))) //$NON-NLS-1$
- throw new ClassCastException(MessageFormat.format(ProxyMessages.ClassCast_EXC__IncorrectType, new Object[] {aListProxy.getTypeProxy().getTypeName(), "java.util.List"}));
- }
-
-
- /**
- * List accessors
- */
- public void add(int index, IBeanProxy object) throws ThrowableProxy {
- fConstants.getListAddWithInt().invoke(fCollection, new IBeanProxy[] {fCollection.getProxyFactoryRegistry().getBeanProxyFactory().createBeanProxyWith(index), object});
- }
- public boolean addAll(int index, IBeanProxy aCollection) throws ThrowableProxy {
- return ((IBooleanBeanProxy) fConstants.getListAddAllWithInt().invoke(fCollection, new IBeanProxy[] {fCollection.getProxyFactoryRegistry().getBeanProxyFactory().createBeanProxyWith(index), aCollection})).booleanValue();
- }
- public IBeanProxy get(int index) throws ThrowableProxy {
- return fConstants.getListGet().invoke(fCollection, fCollection.getProxyFactoryRegistry().getBeanProxyFactory().createBeanProxyWith(index));
- }
- public int indexOf(IBeanProxy object) {
- try {
- return ((IIntegerBeanProxy) fConstants.getListIndexOf().invoke(fCollection, object)).intValue();
- } catch (ThrowableProxy e) {
- // This shouldn't occur, so just log it.
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, ProxyMessages.UnexpectedException_EXC_, e));
- return -1;
- }
- }
- public int lastIndexOf(IBeanProxy object) {
- try {
- return ((IIntegerBeanProxy) fConstants.getListLastIndexOf().invoke(fCollection, object)).intValue();
- } catch (ThrowableProxy e) {
- // This shouldn't occur, so just log it.
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, ProxyMessages.UnexpectedException_EXC_, e));
- return -1;
- }
- }
- public ListIteratorBeanProxyWrapper listIterator() {
- try {
- IBeanProxy itr = fConstants.getListListIterator().invoke(fCollection);
- if (itr != null)
- return new ListIteratorBeanProxyWrapper(itr);
- else
- return null;
- } catch (ThrowableProxy e) {
- // This shouldn't occur, so just log it.
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, ProxyMessages.UnexpectedException_EXC_, e));
- return null;
- }
- }
- public ListIteratorBeanProxyWrapper listIterator(int index) {
- try {
- IBeanProxy itr = fConstants.getListListIteratorWithInt().invoke(fCollection, fCollection.getProxyFactoryRegistry().getBeanProxyFactory().createBeanProxyWith(index));
- if (itr != null)
- return new ListIteratorBeanProxyWrapper(itr);
- else
- return null;
- } catch (ThrowableProxy e) {
- // This shouldn't occur, so just log it.
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, ProxyMessages.UnexpectedException_EXC_, e));
- return null;
- }
- }
- public IBeanProxy remove(int index, IBeanProxy object) throws ThrowableProxy {
- return fConstants.getListSet().invoke(fCollection, fCollection.getProxyFactoryRegistry().getBeanProxyFactory().createBeanProxyWith(index));
- }
- public IBeanProxy set(int index, IBeanProxy object) throws ThrowableProxy {
- return fConstants.getListRemoveInt().invoke(fCollection, new IBeanProxy[] {fCollection.getProxyFactoryRegistry().getBeanProxyFactory().createBeanProxyWith(index), object});
- }
- public ListBeanProxyWrapper subList(int fromIndex, int toIndex) throws ThrowableProxy {
- IBeanProxy list = fConstants.getListSubList().invoke(fCollection, new IBeanProxy[] {fCollection.getProxyFactoryRegistry().getBeanProxyFactory().createBeanProxyWith(fromIndex), fCollection.getProxyFactoryRegistry().getBeanProxyFactory().createBeanProxyWith(toIndex)});
- if (list != null)
- return new ListBeanProxyWrapper(list);
- else
- return null;
- }
-
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ListIteratorBeanProxyWrapper.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ListIteratorBeanProxyWrapper.java
deleted file mode 100644
index 687627d20..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ListIteratorBeanProxyWrapper.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.core;
-/*
- * $RCSfile: ListIteratorBeanProxyWrapper.java,v $
- * $Revision: 1.7 $ $Date: 2005/06/21 19:36:48 $
- */
-
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-/**
- * This is a wrapper for an java.util.ListIterator proxy.
- * It provides the ListIterator methods to interface to
- * the proxy.
- */
-
-public class ListIteratorBeanProxyWrapper extends IteratorBeanProxyWrapper {
-
- /**
- * Construct with the ListIterator.
- */
- public ListIteratorBeanProxyWrapper(IBeanProxy anIteratorProxy) {
- super(anIteratorProxy);
-
- if (!anIteratorProxy.getTypeProxy().isKindOf(anIteratorProxy.getProxyFactoryRegistry().getBeanTypeProxyFactory().getBeanTypeProxy("java.util.ListIterator"))) //$NON-NLS-1$
- throw new ClassCastException(MessageFormat.format(ProxyMessages.ClassCast_EXC__IncorrectType, new Object[] {anIteratorProxy.getTypeProxy().getTypeName(), "java.util.ListIterator"}));
- }
-
-
- /**
- * ListIterator accessors
- */
- public void add(IBeanProxy object) throws ThrowableProxy {
- fConstants.getListIteratorAdd().invoke(fIterator, object);
- }
- public boolean hasPrevious() {
- try {
- return ((IBooleanBeanProxy) fConstants.getListIteratorHasPrevious().invoke(fIterator)).booleanValue();
- } catch (ThrowableProxy e) {
- // This shouldn't occur, so just log it.
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, ProxyMessages.UnexpectedException_EXC_, e));
- return false;
- }
- }
- public int nextIndex() {
- try {
- return ((IIntegerBeanProxy) fConstants.getListIteratorNextIndex().invoke(fIterator)).intValue();
- } catch (ThrowableProxy e) {
- // This shouldn't occur, so just log it.
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, ProxyMessages.UnexpectedException_EXC_, e));
- return -1;
- }
- }
- public IBeanProxy previous() throws ThrowableProxy {
- return fConstants.getListIteratorPrevious().invoke(fIterator);
- }
- public int previousIndex() {
- try {
- return ((IIntegerBeanProxy) fConstants.getListIteratorPreviousIndex().invoke(fIterator)).intValue();
- } catch (ThrowableProxy e) {
- // This shouldn't occur, so just log it.
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, ProxyMessages.UnexpectedException_EXC_, e));
- return -1;
- }
- }
- public void remove() throws ThrowableProxy {
- fConstants.getListIteratorRemove().invoke(fIterator);
- }
- public void set(IBeanProxy object) throws ThrowableProxy {
- fConstants.getListIteratorSet().invoke(fIterator, object);
- }
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ListenerList.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ListenerList.java
deleted file mode 100644
index 5511b3591..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ListenerList.java
+++ /dev/null
@@ -1,195 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: ListenerList.java,v $
- * $Revision: 1.3 $ $Date: 2005/05/11 19:01:12 $
- */
-package org.eclipse.jem.internal.proxy.core;
-
-/**
- * This class is used to maintain a list of listeners, and
- * is used in the implementations of several classes within jem
- * which allow you to register listeners of various kinds.
- * It is a fairly lightweight object, occupying minimal space when
- * no listeners are registered.
- * <p>
- * Note that the <code>add</code> method checks for and eliminates
- * duplicates based on identity (not equality). Likewise, the
- * <code>remove</code> method compares based on identity.
- * </p>
- * <p>
- * Use the <code>getListeners</code> method when notifying listeners.
- * Note that no garbage is created if no listeners are registered.
- * The recommended code sequence for notifying all registered listeners
- * of say, <code>FooListener.eventHappened</code>, is:
- * <pre>
- * Object[] listeners = myListenerList.getListeners();
- * for (int i = 0; i < listeners.length; ++i) {
- * ((FooListener) listeners[i]).eventHappened(event);
- * }
- * </pre>
- * </p>
- */
-
-public class ListenerList {
-
- /**
- * The initial capacity of the list. Always >= 1.
- */
- private int capacity;
-
- /**
- * The current number of listeners.
- * Maintains invariant: 0 <= size <= listeners.length.
- */
- private int size;
-
- /**
- * The list of listeners. Initially <code>null</code> but initialized
- * to an array of size capacity the first time a listener is added.
- * Maintains invariant: listeners != null IFF size != 0
- */
- private Object[] listeners = null;
-
- /**
- * The empty array singleton instance, returned by getListeners()
- * when size == 0.
- */
- private static final Object[] EmptyArray = new Object[0];
-
- /**
- * Creates a listener list with an initial capacity of 1.
- */
- public ListenerList() {
- this(1);
- }
-
- /**
- * Creates a listener list with the given initial capacity.
- *
- * @param capacity the number of listeners which this list can initially accept
- * without growing its internal representation; must be at least 1
- */
- public ListenerList(int capacity) {
- if (!(capacity >= 1))
- throw new IllegalArgumentException();
- this.capacity = capacity;
- }
-
- /**
- * Adds the given listener to this list. Has no effect if an identical listener
- * is already registered.
- *
- * @param listener the listener
- */
- public void add(Object listener) {
- if (listener == null)
- throw new IllegalArgumentException();
- if (size == 0) {
- listeners = new Object[capacity];
- } else {
- // check for duplicates using identity
- for (int i = 0; i < size; ++i) {
- if (listeners[i] == listener) {
- return;
- }
- }
- // grow array if necessary
- if (size == listeners.length) {
- System.arraycopy(
- listeners,
- 0,
- listeners = new Object[size * 2 + 1],
- 0,
- size);
- }
- }
- listeners[size++] = listener;
- }
-
- /**
- * Removes all listeners from this list.
- */
- public void clear() {
- size = 0;
- listeners = null;
- }
-
- /**
- * Returns an array containing all the registered listeners,
- * in the order in which they were added.
- * <p>
- * The resulting array is unaffected by subsequent adds or removes.
- * If there are no listeners registered, the result is an empty array
- * singleton instance (no garbage is created).
- * Use this method when notifying listeners, so that any modifications
- * to the listener list during the notification will have no effect on the
- * notification itself.
- * </p>
- *
- * @return the list of registered listeners
- */
- public Object[] getListeners() {
- if (size == 0)
- return EmptyArray;
- Object[] result = new Object[size];
- System.arraycopy(listeners, 0, result, 0, size);
- return result;
- }
-
- /**
- * Returns whether this listener list is empty.
- *
- * @return <code>true</code> if there are no registered listeners, and
- * <code>false</code> otherwise
- */
- public boolean isEmpty() {
- return size == 0;
- }
-
- /**
- * Removes the given listener from this list. Has no effect if an identical
- * listener was not already registered.
- *
- * @param listener the listener
- */
- public void remove(Object listener) {
- if (listener == null)
- throw new IllegalArgumentException();
- for (int i = 0; i < size; ++i) {
- if (listeners[i] == listener) {
- if (size == 1) {
- listeners = null;
- size = 0;
- } else {
- System.arraycopy(
- listeners,
- i + 1,
- listeners,
- i,
- --size - i);
- listeners[size] = null;
- }
- return;
- }
- }
- }
-
- /**
- * Returns the number of registered listeners.
- *
- * @return the number of registered listeners
- */
- public int size() {
- return size;
- }
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/MapJNITypes.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/MapJNITypes.java
deleted file mode 100644
index e1be81d04..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/MapJNITypes.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- * $RCSfile: MapJNITypes.java,v $
- * $Revision: 1.3 $ $Date: 2005/05/11 19:01:12 $
- */
-package org.eclipse.jem.internal.proxy.core;
-
-import org.eclipse.jem.internal.proxy.common.MapTypes;
-
-
-/**
- * This is a public class to map between JNI and normal format (e.g. "[Ljava.lang.String;" to "java.lang.String[]") and back again.
- * This is for arrays, non-arrays will be left alone since they are already correct.
- * @since 1.1.0
- */
-public class MapJNITypes {
-
- /**
- * Convert the formal type name to the JNI format.
- * @param formalTypeName
- * @return JNI format
- *
- * @since 1.1.0
- */
- public static String getJNITypeName(String formalTypeName) {
- return MapTypes.getJNIFormatName(formalTypeName);
- }
-
- /**
- * Convert the JNI format to the formal type name.
- * @param jniTypeName
- * @return formal type name or "" if not valid.
- *
- * @since 1.1.0
- */
- public static String getFormalTypeName(String jniTypeName) {
- return MapTypes.getFormalTypeName(jniTypeName);
- }
-
- /**
- * Return whether the formal type name is for a primitive or not.
- * @param formalType
- * @return <code>true</code> if for a primitive.
- *
- * @since 1.1.0
- */
- public static boolean isFormalTypePrimitive(String formalType) {
- return MapTypes.MAP_TYPENAME_TO_SHORTSIG.get(formalType) != null;
- }
-
- /**
- * Convert the formal type name, with the given number of dimensions,
- * to an array JNI type.
- * @param finalComponent final component name, should not be an array type.
- * @param dimensions number of dimensions for the array.
- * @return
- *
- * @since 1.1.0
- */
- public static String getJNITypeName(String finalComponent, int dimensions) {
- return MapTypes.getJNITypeName(finalComponent, dimensions);
- }
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/PDEContributeClasspath.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/PDEContributeClasspath.java
deleted file mode 100644
index b89cd9e1c..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/PDEContributeClasspath.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PDEContributeClasspath.java,v $
- * $Revision: 1.3 $ $Date: 2005/02/15 22:53:46 $
- */
-package org.eclipse.jem.internal.proxy.core;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.pde.core.plugin.*;
-import org.eclipse.pde.internal.core.*;
-
-
-
-/**
- * Contribute to classpath PDE entries that are needed for a launch.
- * <p>
- * This is a special class that should not be referenced directly from code. Reference it through the
- * interface that it implements.
- *
- * @see org.eclipse.jem.internal.proxy.core.IPDEContributeClasspath
- * @since 1.0.2
- */
-class PDEContributeClasspath implements IPDEContributeClasspath {
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.remote.IPDEContributeClasspath#getPDEContributions(org.eclipse.core.resources.IProject)
- */
- public void getPDEContributions(IConfigurationContributionController controller) throws CoreException {
- Map plugins = new HashMap();
- ProxyPlugin.getPlugin().findPlugins(plugins, true, true, controller.getJavaProject());
- if (!plugins.isEmpty()) {
- Collection pluginIds = plugins.keySet();
- PluginModelManager modelManager = PDECore.getDefault().getModelManager();
- IFragmentModel[] fragments = modelManager.getFragments();
- for (int i = 0; i < fragments.length; i++) {
- IFragment fragment = fragments[i].getFragment();
- if (pluginIds.contains(fragment.getPluginId())) {
- // We'll do a cheat for now and assume fragment is for same version of plugin. PDECore actually
- // checks the version of the fragment against the version of the plugin to see they are for each
- // other, but we'll just assume they are for now. Change this later if we actually do run into this case.
- IResource resource = fragment.getModel().getUnderlyingResource();
- if (resource != null) {
- IProject fragProject = resource.getProject();
- if (fragProject.hasNature(JavaCore.NATURE_ID)) {
- controller.contributeProject(fragProject);
- }
- continue;
- }
-
- IPluginLibrary[] libraries = fragment.getLibraries();
- for (int j = 0; j < libraries.length; j++) {
- IPluginLibrary library = libraries[j];
- String name = library.getName();
- String expandedName = ClasspathUtilCore.expandLibraryName(name);
-
- IPluginModelBase model = library.getPluginModel();
- URL url = getPath(model, expandedName);
- if (url != null)
- controller.contributeClasspath(url, IConfigurationContributionController.APPEND_USER_CLASSPATH);
- }
- }
- }
- }
-
- return;
- }
-
- private URL getPath(IPluginModelBase model, String libraryName) {
- try {
- IResource resource = model.getUnderlyingResource();
- if (resource != null) {
- IResource jarFile = resource.getProject().findMember(libraryName);
- if (jarFile != null)
- return jarFile.getFullPath().toFile().toURL();
- } else {
- File file = new File(model.getInstallLocation(), libraryName);
- if (file.exists())
- return file.toURL();
- }
- } catch (MalformedURLException e) {
- ProxyPlugin.getPlugin().getLogger().log(e, Level.WARNING);
- }
- return null;
- }
-
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/PDEContributeClasspathInstance.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/PDEContributeClasspathInstance.java
deleted file mode 100644
index 5fb297bce..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/PDEContributeClasspathInstance.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PDEContributeClasspathInstance.java,v $
- * $Revision: 1.3 $ $Date: 2005/05/18 23:11:26 $
- */
-package org.eclipse.jem.internal.proxy.core;
-
-import java.util.logging.Level;
-
-import org.eclipse.core.runtime.Platform;
-
-
-
-/**
- * Accessor to the IPDEContributeClasspath instance to use.
- * <pacakge-protected> because only IPDEContributeClasspath should access it.
- *
- * @since 1.0.2
- */
-class PDEContributeClasspathInstance {
-
- /**
- * Get the instance to use.
- * @return the instance to use or <code>null</code> if PDE not available.
- *
- * @since 1.0.2
- */
- public static IPDEContributeClasspath getInstance() {
- if (Platform.getBundle("org.eclipse.pde.core") != null) { //$NON-NLS-1$
- try {
- Class pdeClass = Class.forName("org.eclipse.jem.internal.proxy.core.PDEContributeClasspath"); //$NON-NLS-1$
- return (IPDEContributeClasspath) pdeClass.newInstance();
- } catch (ClassNotFoundException e) {
- // PDE not available, this is ok.
- } catch (InstantiationException e) {
- ProxyPlugin.getPlugin().getLogger().log(e.getCause(), Level.WARNING);
- } catch (IllegalAccessException e) {
- ProxyPlugin.getPlugin().getLogger().log(e, Level.WARNING);
- }
- }
- return null;
- }
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/PDEProcessForPlugin.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/PDEProcessForPlugin.java
deleted file mode 100644
index 4d0906be5..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/PDEProcessForPlugin.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PDEProcessForPlugin.java,v $
- * $Revision: 1.5 $ $Date: 2005/05/11 17:35:24 $
- */
-package org.eclipse.jem.internal.proxy.core;
-
-import java.util.Map;
-
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.pde.core.plugin.*;
-import org.eclipse.pde.internal.core.PDECore;
-
-
-/*
- * Used for PDE Processing for the Proxy Plugin class. It will be optionally loaded
- * if PDE plugin is installed. This allows usage in an installation that doesn't have
- * PDE installed.
- *
- * @since 1.0.2
- */
-class PDEProcessForPlugin implements ProxyPlugin.IPDEProcessForPlugin {
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.ProxyPlugin.IPDEProcessForPlugin#processPlugin(org.eclipse.jdt.core.IJavaProject, java.util.Map, boolean, boolean)
- */
- public void findPlugins(IJavaProject project, Map pluginIds, boolean visible, boolean first) {
- IPluginModelBase m = PDECore.getDefault().getModelManager().findModel(project.getProject());
- if (m instanceof IPluginModel) {
- // it is a plugin, process it.
- IPlugin plugin = ((IPluginModel) m).getPlugin();
- if (pluginIds.containsKey(plugin.getId()))
- return; // already processed it
- pluginIds.put(plugin.getId(), first || visible ? Boolean.TRUE : Boolean.FALSE);
- expandPlugin(plugin, pluginIds, visible, first);
- }
- return;
- }
-
- private void expandPlugin(IPlugin plugin, Map pluginIds, boolean visible, boolean first) {
- IPluginImport[] imports = plugin.getImports();
- for (int i = 0; i < imports.length; i++) {
- IPluginImport pi = imports[i];
- Boolean piValue = (Boolean) pluginIds.get(pi.getId());
- boolean importVisible = first || (visible && pi.isReexported());
- if (piValue != null && (!importVisible || piValue.booleanValue()))
- continue; // we already processed it, this time not visible, or this time visible and was previously visible.
- // Now either first time, or it was there before, but now visible, but this time it is visible.
- // We want it to become visible in that case.
- pluginIds.put(pi.getId(), importVisible ? Boolean.TRUE : Boolean.FALSE);
- IPlugin pb = PDECore.getDefault().findPlugin(pi.getId(),
- pi.getVersion(),
- pi.getMatch());
- if (pb != null)
- expandPlugin(pb, pluginIds, importVisible, false);
- }
- }
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ProxyFactoryRegistry.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ProxyFactoryRegistry.java
deleted file mode 100644
index 6b0b1d9c6..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ProxyFactoryRegistry.java
+++ /dev/null
@@ -1,327 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.core;
-/*
- * $RCSfile: ProxyFactoryRegistry.java,v $
- * $Revision: 1.13 $ $Date: 2005/06/21 19:36:48 $
- */
-
-
-import java.util.Hashtable;
-import java.util.Iterator;
-
-import org.eclipse.jem.util.TimerTests;
-
-/**
- * Registry of proxy factories on a per-VM basis.
- * There can be multiple VM's, this would be required by the
- * desktop because more than one project could be open, and each
- * would require their own VM because the classpaths would be different.
- * This class may be subclassed to provide more factories for a particular
- * VM.
- * Creation date: (3/13/00 10:48:10 AM)
- * @author: Richard Lee Kulp
- */
-public abstract class ProxyFactoryRegistry {
-
- protected boolean fIsValid = true; // The registry is valid until terminated.
- protected ListenerList registryListeners = new ListenerList();
-
- /**
- * IRegistryListener
- * Listen for the registry being terminated.
- */
- public interface IRegistryListener {
- /**
- * Method registryTerminated.
- *
- * The registry has been terminated. When this is called the registry
- * is no longer valid. It should not be assumed any calls can be made
- * to the registry.
- *
- * @param registry
- */
- public void registryTerminated(ProxyFactoryRegistry registry);
- }
-
-
- // Factory registration IS NOT a dynamic registration. Once registered for a VM or an instance
- // they should not be changed. This is because references are cached in other objects.
- // The VM associated with this Registry shouldn't exited and restarted because
- // the cached object will then have invalid references to no longer existing objects.
- // If the VM needs to be restarted, then all proxies need to be tossed.
-
- //
- // Individual ProxyFactoryRegistry, applies to a particular VM.
- //
-
- // ***************************
- //
- // IBeanProxyFactory Registry
- //
-
- // The standard bean proxy factory, the one the desktop will use for packages that have not
- // been extended and registered by customization developers.
- protected IStandardBeanProxyFactory fCurrentStandardBeanProxyFactory;
-
- // The directory of registered extension factories, typically registered by package.
- final protected Hashtable fRegisteredExtensionBeanProxyFactories = new Hashtable();
-
- // ***************************
- //
- // IBeanTypeProxyFactory Registry
- //
-
- // The standard bean type proxy factory, the one the desktop will use for packages that have not
- // been extended and registered by customization developers.
- protected IStandardBeanTypeProxyFactory fCurrentStandardBeanTypeProxyFactory;
-
- // The directory of registered extension factories, typically registered by package.
- final protected Hashtable fRegisteredExtensionBeanTypeProxyFactories = new Hashtable();
-
-
- // ***************************
- //
- // Other factories
- //
-
- protected IMethodProxyFactory fMethodProxyFactory = null; // Method Proxy Factory
-
- // ***************************
- //
- // Constants Registry. Different extensions can store
- // objects by key as a registry of constants.
- // For example, java.awt extension will store an object
- // which has some pre-fetched method proxies stored in it so
- // that they don't need to be continually recreated.
- //
- // This feature should be used with care, so that
- // only proxies that really need to be cached should
- // be cached.
- //
- // Don't store proxies to live beans in here because
- // those will be created and destroyed over and over,
- // and the instance in this cache will get stale.
- // Should only store things like often used method
- // proxies that once created are rarely changed.
- //
- // Since the proxies can be on any VM, you should have
- // an interface defining what's available in your
- // constants entry, and access it through that.
-
- protected final Hashtable fRegisteredConstants = new Hashtable();
-
- /**
- * ProxyFactoryRegistry constructor comment.
- */
- public ProxyFactoryRegistry() {
- super();
- }
-
- /**
- * Method addRegistryListener.
- * @param listener
- */
- public void addRegistryListener(IRegistryListener listener) {
- registryListeners.add(listener);
- }
-
- /**
- * Method removeRegistryListener.
- * @param listener
- */
- public void removeRegistryListener(IRegistryListener listener) {
- registryListeners.remove(listener);
- }
-
- protected void fireRegistryTerminated() {
- if (!registryListeners.isEmpty()) {
- Object[] list = registryListeners.getListeners();
- for (int i = 0; i < list.length; i++) {
- ((IRegistryListener) list[i]).registryTerminated(this);
- }
- }
- }
-
- /**
- Return the current factory to be used for creating IBeanProxy instances
- */
- public IStandardBeanProxyFactory getBeanProxyFactory() {
- if (fCurrentStandardBeanProxyFactory == null) {
- throw new RuntimeException(ProxyMessages.ProxyFactory_EXC__NoBeanProxyFactory);
- }
- return fCurrentStandardBeanProxyFactory;
- }
- /**
- Return the current registered bean proxy factory to be used for creating IBeanProxy instances
- */
- public IBeanProxyFactory getBeanProxyFactoryExtension(String packageName) {
- return (IBeanProxyFactory)fRegisteredExtensionBeanProxyFactories.get(packageName);
- }
-
- /**
- Return the current factory to be used for creating IBeanTypeProxy instances
- */
- public IStandardBeanTypeProxyFactory getBeanTypeProxyFactory() {
- if (fCurrentStandardBeanTypeProxyFactory == null) {
- throw new RuntimeException(ProxyMessages.ProxyFactory_EXC__NoBeanTypeProxyFactory);
- }
- return fCurrentStandardBeanTypeProxyFactory;
- }
- /**
- Return the current registered bean type proxy factory to be used for creating IBeanTypeProxy instances
- */
- public IBeanTypeProxyFactory getBeanTypeProxyFactoryExtension(String packageName) {
- return (IBeanTypeProxyFactory)fRegisteredExtensionBeanTypeProxyFactories.get(packageName);
- }
- /**
- * Return the requested constants entry
- */
- public Object getConstants(Object key) {
- return fRegisteredConstants.get(key);
- }
- /**
- * Return the MethodProxyFactory for this VM.
- * Creation date: (3/13/00 10:54:59 AM)
- * @return org.eclipse.jem.internal.proxy.core.IMethodProxyFactory
- */
- public IMethodProxyFactory getMethodProxyFactory() {
- return fMethodProxyFactory;
- }
-
-
- /**
- * Set the requested constants entry for this VM.
- */
- public void registerConstants(Object key, Object constant) {
- fRegisteredConstants.put(key, constant);
- }
-
- /**
- * Remove the constants for the given key.
- * @param key
- *
- * @since 1.1.0
- */
- public void deregisterConstants(Object key) {
- fRegisteredConstants.remove(key);
- }
- /**
- * Release the proxy, no longer needed.
- * This is a helper method to easily access the release from the bean proxy factory.
- */
- public void releaseProxy(IBeanProxy proxy) {
- // To simply things if release is called when the factory is down (invalid), then just
- // go on because the proxy is already released.
- if (fCurrentStandardBeanProxyFactory != null)
- fCurrentStandardBeanProxyFactory.releaseProxy(proxy);
- }
-
- /**
- * Is this a valid registry, i.e. is it not terminated.
- */
- public boolean isValid() {
- return fIsValid;
- }
-
- /**
- * Terminate the registry without waiting.
- * <p>
- * Terminate the registry, but don't necessarily wait for it.
- *
- * @see #terminateRegistry(boolean)
- * @since 1.0.0
- */
- public final void terminateRegistry() {
- terminateRegistry(false);
- }
-
- /**
- * Terminate the registry.
- * <p>
- * This will go through each factory and terminate it, and
- * let the subclass terminate. It will then remove all of the factories so that
- * if there are any proxies still hanging around they won't hold onto everything,
- * just the this registry will be held onto.
- *<p>
- * Note during termination, the factories should not reference any other factory.
- * It can assume that the factories will take care of themselves and they should
- * only release their resources.
- * <p>
- * The constants registry will not be terminated because they aren't factories.
- * However, they will be cleared (no longer referenced) from here so that they
- * can be GC'd.
- *
- * @param wait <code>true</code> to wait for complete termination, <code>false</code> to kick off termination but return ASAP.
- * @since 1.0.2
- */
- public final void terminateRegistry(boolean wait) {
- if (!fIsValid)
- return; // Already or are already terminating. Don't do it again and don't notify again.
- fIsValid = false;
- if (fCurrentStandardBeanTypeProxyFactory != null) {
-// TimerTests.basicTest.startStep("Terminate Bean Type Factory");
- fCurrentStandardBeanTypeProxyFactory.terminateFactory(wait);
-// TimerTests.basicTest.stopStep("Terminate Bean Type Factory");
- fCurrentStandardBeanTypeProxyFactory = null;
- }
- if (fCurrentStandardBeanProxyFactory != null) {
- fCurrentStandardBeanProxyFactory.terminateFactory(wait);
- fCurrentStandardBeanProxyFactory = null;
- }
- if (fMethodProxyFactory != null) {
- fMethodProxyFactory.terminateFactory(wait);
- fMethodProxyFactory = null;
- }
-
- Iterator itr = fRegisteredExtensionBeanTypeProxyFactories.values().iterator();
- while (itr.hasNext()) {
- ((IBeanProxyFactory) itr.next()).terminateFactory(wait);
- }
- fRegisteredExtensionBeanTypeProxyFactories.clear();
-
- itr = fRegisteredExtensionBeanProxyFactories.values().iterator();
- while (itr.hasNext()) {
- ((IBeanProxyFactory) itr.next()).terminateFactory(wait);
- }
- fRegisteredExtensionBeanProxyFactories.clear();
-
- fRegisteredConstants.clear();
-
- TimerTests.basicTest.startStep("Registry Terminated"); //$NON-NLS-1$
- registryTerminated(wait);
- TimerTests.basicTest.stopStep("Registry Terminated"); //$NON-NLS-1$
-
-// TimerTests.basicTest.startStep("Registry Terminated Notification");
- fireRegistryTerminated(); // Let everyone know that we are gone. This is fired even if wait is false because at this point in time the registry is invalid.
-// TimerTests.basicTest.stopStep("Registry Terminated Notification");
- }
-
-
- /**
- * Terminate the Registry.
- * <p>
- * It is up to each registry to determine what this means.
- * <p>
- * The wait parm is a suggestion if it is <code>false</code>, but it must be honoured if <code>true</code>
- *
- * @param wait wait for registry to terminate flag.
- *
- * @since 1.0.2
- */
- protected abstract void registryTerminated(boolean wait);
-
- /**
- * Get the callback registry.
- */
- public abstract ICallbackRegistry getCallbackRegistry();
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ProxyLaunchSupport.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ProxyLaunchSupport.java
deleted file mode 100644
index 9b7d86072..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ProxyLaunchSupport.java
+++ /dev/null
@@ -1,843 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: ProxyLaunchSupport.java,v $
- * $Revision: 1.27 $ $Date: 2005/06/21 19:36:48 $
- */
-package org.eclipse.jem.internal.proxy.core;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.text.MessageFormat;
-import java.util.*;
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.IJobManager;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.debug.core.*;
-import org.eclipse.jdt.core.*;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.osgi.framework.Bundle;
-
-import org.eclipse.jem.util.PerformanceMonitorUtil;
-import org.eclipse.jem.util.TimerTests;
-
-
-/**
- * This is the used to launch the proxy registries.
- * This is a static helper class, it is not meant to be instantiated.
- *
- * @since 1.0.0
- */
-public class ProxyLaunchSupport {
-
- // The key for the persisten property is in ProxyPlugin so that it can set it on startup without
- // causing this class to be initialized. We don't want this class initialized until the very last
- // moment when needed. This is because it needs UI to be active when initialized to query some
- // values and if ProxyPlugin.start() causes this class to initialize, it may be too soon.
- //
- // If a project's persistent property is set with this value, that means there is at least one
- // launch configuration with this project, but none are selected as the default. This is here
- // so that we can check in the object contribution that if not set then don't show the menu
- // item at all. This is to clean up the popup menu so not so cluttered.
- // If the property is trully not set, then there is no default and there are no configurations for it.
- public static final String NOT_SET = "...not..set.."; //$NON-NLS-1$
-
- public static final String EXPRESSION_TRACING = "/debug/traceexpressions"; // Trace IExpressions. //$NON-NLS-1$
-
- /**
- * Timer threshold for indicating any expressions that took longer than this.
- * If not set, then threshold will default to 100ms.
- * It will only be used if traceexpressions is true.
- */
- public static final String EXPRESSION_TRACEING_TIMER_THRESHOLD = "/debug/traceexpressionstimethreshold"; //$NON-NLS-1$
-
- /*
- * Registry of launch key to LaunchInfo classes.
- */
- private static Map LAUNCH_INFO = new HashMap(2);
-
- /**
- * Public only for access by other launch delegates to set up if they go outside of ProxyLaunchSupport,
- * e.g. IDE proxy. Must not be used for any purpose.
- *
- * @since 1.0.0
- */
- public static class LaunchSupportIConfigurationContributionInfo implements IConfigurationContributionInfo {
- /* (non-Javadoc)
- * Map of containers (IClasspathContainer) found in classpath (including required projects).
- * This is for each project found. If there was a container in more than one project with the
- * id, this set will contain the container from each such project. They are not considered the
- * same because they come from a different project.
- * <p>
- * The key will be the containers, and the value will be a <code>Boolean</code>, where true means it
- * is visible to the top-level project.
- * <p>
- * This is used for determining if a project's container implements the desired contributor.
- *
- * Will be empty if no project sent in to launch configuration.
- *
- * @see org.eclipse.jdt.core.IClasspathContainer
- */
- public Map containers = Collections.EMPTY_MAP;
-
- /* (non-Javadoc)
- * Map of unique container id strings found in classpath (including required projects).
- * If a container with the same id was found in more than one project, only one id will
- * be in this set since they are the same.
- * <p>
- * The key will be the container ids, and the value will be a <code>Boolean</code>, where true means it
- * is visible to the top-level project.
- *
- * Will be empty if no project sent in to launch configuration.
- */
- public Map containerIds = Collections.EMPTY_MAP;
-
- /* (non-Javadoc)
- * Set of unique plugin id strings found in classpath (including required projects).
- * If a required plugin with the same id was found in more than one project, only one id will
- * be in this set since they are the same.
- * <p>
- * The key will be the plugin ids, and the value will be a <code>Boolean</code>, where true means it
- * is visible to the top-level project.
- *
- * Will be empty if no project sent in to launch configuration.
- */
- public Map pluginIds = Collections.EMPTY_MAP;;
-
- /* (non-Javadoc)
- * Map of unique projects found in classpath (including required projects), but not including top-level project.
- * <p>
- * The key will be the <code>IPath</code> for the project, and the value will be a <code>Boolean</code>, where true means it
- * is visible to the top-level project.
- *
- * Will be <code>null</code> if no project sent in to launch configuration.
- */
- public Map projectPaths;
-
- /* (non-Javadoc)
- * Java project for this launch. <code>null</code> if not for a project.
- */
- public IJavaProject javaProject;
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IConfigurationContributionInfo#getContainerIds()
- */
- public Map getContainerIds() {
- return containerIds;
- }
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IConfigurationContributionInfo#getContainers()
- */
- public Map getContainers() {
- return containers;
- }
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IConfigurationContributionInfo#getJavaProject()
- */
- public IJavaProject getJavaProject() {
- return javaProject;
- }
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IConfigurationContributionInfo#getPluginIds()
- */
- public Map getPluginIds() {
- return pluginIds;
- }
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IConfigurationContributionInfo#getProjectPaths()
- */
- public Map getProjectPaths() {
- return projectPaths;
- }
-
- }
-
- /**
- * LaunchInfo for a launch. Stored by key and retrievable by the key.
- * This is only passed to launch delegates. It should not be passed on to
- * others, though the IConfigurationContributionInfo may be.
- *
- * <p>
- * This class is not intended to be subclassed by clients.
- * </p>
- *
- * @see ProxyLaunchSupport#getInfo(String)
- * @see IConfigurationContributionInfo
- * @since 1.0.0
- */
- public static class LaunchInfo {
- /**
- * Contributors for this launch. It will never be <code>null</code>. It may be empty.
- */
- public IConfigurationContributor[] contributors;
-
- /**
- * The registry returned from the launch. The launch needs to set this before it returns.
- */
- public ProxyFactoryRegistry resultRegistry;
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IConfigurationContributionInfo#getJavaProject()
- */
- public IJavaProject getJavaProject() {
- return configInfo.getJavaProject();
- }
-
- /**
- * Return the IConfigurationContributionInfo for this launch.
- * @return
- *
- * @since 1.0.0
- */
- public IConfigurationContributionInfo getConfigInfo() {
- return configInfo;
- }
-
- protected IConfigurationContributionInfo configInfo;
-
- }
-
- /**
- * Start an implementation using the default config for the given project.
- * <p>
- * This will wait for build. If you
- * know the build has been suspended by your thread, then you must use the other method that takes a waitForThread
- * boolean, and you must pass in false. Otherwise it will deadlock.
- *
- * @param project The project. It must be a java project, and it cannot be <code>null</code>.
- * @param vmTitle title for VM. It may be <code>null</code>.
- * @param aContribs The contributions array. It may be <code>null</code>.
- * @param pm
- * @return The created registry.
- * @throws CoreException
- *
- * @see ProxyLaunchSupport#startImplementation(IProject, String, IConfigurationContributor[], boolean, IProgressMonitor)
- * @since 1.0.0
- */
- public static ProxyFactoryRegistry startImplementation(
- IProject project,
- String vmTitle,
- IConfigurationContributor[] aContribs,
- IProgressMonitor pm)
- throws CoreException {
- return startImplementation(project, vmTitle, aContribs, true, pm);
- }
-
- /**
- * Start an implementation using the default config for the given project.
- * <p>
- * If you know the build has been suspended by your thread, then you must use call this with false for waitForThread. Otherwise it will deadlock.
- *
- * @param project The project. It must be a java project, and it cannot be <code>null</code>.
- * @param vmTitle title for VM. It may be <code>null</code>.
- * @param aContribs The contributions array. It may be <code>null</code>.
- * @param waitForBuild wait for the build. If caller knows that the build has been suspended by this thread, then it must call this with false. Otherwise a deadlock will occur.
- * @param pm
- * @return The created registry.
- * @throws CoreException
- *
- * @since 1.0.0
- */
- public static ProxyFactoryRegistry startImplementation(
- IProject project,
- String vmTitle,
- IConfigurationContributor[] aContribs,
- boolean waitForBuild,
- IProgressMonitor pm)
- throws CoreException {
- // First find the appropriate launch configuration to use for this project.
- // The process is:
- // 1) See if the project's persistent property has a setting for "proxyLaunchConfiguration", if it does,
- // get the configuration of that name and create a working copy of it.
- // 2) If not, then get the "org.eclipse.jem.proxy.LocalProxyLaunchConfigurationType"
- // and create a new instance working copy.
-
- IJavaProject javaProject = JavaCore.create(project);
- if (javaProject == null) {
- throw new CoreException(
- new Status(
- IStatus.WARNING,
- ProxyPlugin.getPlugin().getBundle().getSymbolicName(),
- 0,
- MessageFormat.format(
- ProxyMessages.Not_Java_Project_WARN_,
- new Object[] { project.getName()}),
- null));
- }
-
- // First if specific set.
- String launchName = project.getPersistentProperty(ProxyPlugin.PROPERTY_LAUNCH_CONFIGURATION);
- ILaunchConfiguration config = null;
- if (launchName != null && !NOT_SET.equals(launchName)) {
- ILaunchConfiguration[] configs = DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurations();
- for (int i = 0; i < configs.length; i++) {
- if (configs[i].getName().equals(launchName)) {
- config = configs[i];
- break;
- }
- }
- if (config == null || !config.getAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, "").equals(project.getName())) { //$NON-NLS-1$
- project.setPersistentProperty(ProxyPlugin.PROPERTY_LAUNCH_CONFIGURATION, (String) null); // Config not found, or for a different project, so no longer the default.
- config = null;
- }
- }
-
- if (config == null) {
- ILaunchConfigurationWorkingCopy configwc = DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurationType(IProxyConstants.LOCAL_LAUNCH_TYPE).newInstance(null, DebugPlugin.getDefault().getLaunchManager().generateUniqueLaunchConfigurationNameFrom("LocalProxy_"+project.getName())); //$NON-NLS-1$
- configwc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, project.getName());
- config = configwc;
- }
-
- return startImplementation(config, vmTitle, aContribs, waitForBuild, pm);
- }
-
- /**
- * Launch a registry using the given configuration.
- * <p>
- * This will wait for build. If you
- * know the build has been suspended by your thread, then you must use the other method that takes a waitForThread
- * boolean, and you must pass in false. Otherwise it will deadlock.
- *
- * @param config
- * @param vmTitle title for VM. It may be <code>null</code>.
- * @param aContribs The contributions array. It may be <code>null</code>.
- * @param pm
- * @return The registry from this configuration.
- * @throws CoreException
- *
- * @see ProxyLaunchSupport#startImplementation(ILaunchConfiguration, String, IConfigurationContributor[], boolean, IProgressMonitor)
- * @since 1.0.0
- */
- public static ProxyFactoryRegistry startImplementation(
- ILaunchConfiguration config,
- String vmTitle,
- IConfigurationContributor[] aContribs,
- IProgressMonitor pm)
- throws CoreException {
- return startImplementation(config, vmTitle, aContribs, true, pm);
- }
-
- /**
- * Launch a registry using the given configuration.
- * <p>
- * If you know the build has been suspended by your thread, then you must use you must pass in false for waitForThread. Otherwise it will deadlock.
- *
- * @param config
- * @param vmTitle title for VM. It may be <code>null</code>.
- * @param aContribs The contributions array. It may be <code>null</code>.
- * @param waitForBuild wait for the build. If caller knows that the build has been suspended by this thread, then it must call this with false. Otherwise a deadlock will occur.
- * @param pm
- * @return The registry from this configuration.
- * @throws CoreException
- *
- * @since 1.0.0
- */
- public static ProxyFactoryRegistry startImplementation(
- ILaunchConfiguration config,
- String vmTitle,
- IConfigurationContributor[] aContribs,
- boolean waitForBuild,
- IProgressMonitor pm)
- throws CoreException {
-
- if (pm == null)
- pm = new NullProgressMonitor();
- String stepId = "Pre-launch VM ( " + vmTitle + " )"; //$NON-NLS-1$ //$NON-NLS-2$
- TimerTests.basicTest.startStep(stepId);
- if (vmTitle.equals("Beaninfo")) //$NON-NLS-1$
- PerformanceMonitorUtil.getMonitor().snapshot(125);
- final ILaunchConfigurationWorkingCopy configwc = config.getWorkingCopy();
-
- pm.beginTask("", 400); //$NON-NLS-1$
- pm.subTask(ProxyMessages.ProxyLaunch);
- if (waitForBuild) {
- // See if build needed or waiting or inprogress, if so, wait for it to complete. We've
- // decided too difficult to determine if build would affect us or not, so just wait.
- if (UI_RUNNER != null)
- UI_RUNNER.handleBuild(new SubProgressMonitor(pm, 100));
- else
- runBuild(new SubProgressMonitor(pm, 100));
-
- if (pm.isCanceled())
- return null;
- }
-
- if (aContribs != null) {
- IConfigurationContributor[] newContribs = new IConfigurationContributor[aContribs.length+1];
- System.arraycopy(aContribs, 0, newContribs, 1, aContribs.length);
- newContribs[0] = new ProxyContributor();
- aContribs = newContribs;
- } else
- aContribs = new IConfigurationContributor[] {new ProxyContributor()};
-
- String launchKey = String.valueOf(System.currentTimeMillis());
- LaunchInfo launchInfo = new LaunchInfo();
- synchronized (ProxyLaunchSupport.class) {
- while (LAUNCH_INFO.containsKey(launchKey)) {
- launchKey += 'a'; // Just add something on to make it unique.
- }
- LAUNCH_INFO.put(launchKey, launchInfo);
- }
-
- String projectName = configwc.getAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, (String) null);
- aContribs = fillInLaunchInfo(aContribs, launchInfo, projectName);
-
- try {
- configwc.setAttribute(IProxyConstants.ATTRIBUTE_LAUNCH_KEY, launchKey);
- if (vmTitle != null && vmTitle.length()>0)
- configwc.setAttribute(IProxyConstants.ATTRIBUTE_VM_TITLE, vmTitle);
-
- if (ATTR_PRIVATE != null)
- configwc.setAttribute(ATTR_PRIVATE, true);
-
- // Let contributors modify the configuration.
- final IConfigurationContributor[] contribs = aContribs;
- final LaunchInfo linfo = launchInfo;
- for (int i = 0; i < contribs.length; i++) {
- // First run the initialize.
- // Run in safe mode so that anything happens we don't go away.
- final int ii = i;
- Platform.run(new ISafeRunnable() {
- public void handleException(Throwable exception) {
- // Don't need to do anything. Platform.run logs it for me.
- }
-
- public void run() throws Exception {
- contribs[ii].initialize(linfo.getConfigInfo());
- }
- });
-
- // Now run the contribute to configuration.
- // Run in safe mode so that anything happens we don't go away.
- Platform.run(new ISafeRunnable() {
- public void handleException(Throwable exception) {
- // Don't need to do anything. Platform.run logs it for me.
- }
-
- public void run() throws Exception {
- contribs[ii].contributeToConfiguration(configwc);
- }
- });
- }
- pm.worked(100);
-
- configwc.launch(ILaunchManager.RUN_MODE, new SubProgressMonitor(pm, 100));
-
- final ProxyFactoryRegistry reg = launchInfo.resultRegistry;
- if (!pm.isCanceled() && reg == null)
- throw new CoreException(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, ProxyMessages.ProxyLaunchSupport_RegistryCouldNotStartForSomeReason_WARN_, null));
- if (pm.isCanceled()) {
- if (reg != null)
- reg.terminateRegistry();
- return null;
- }
-
- performExtensionRegistrations((BaseProxyFactoryRegistry) reg, launchInfo);
-
-// TimerTests.basicTest.startStep("contribute to registry");
- for (int i = 0; i < contribs.length; i++) {
- final int ii = i;
- // Run in safe mode so that anything happens we don't go away.
- Platform.run(new ISafeRunnable() {
- public void handleException(Throwable exception) {
- // Don't need to do anything. Platform.run logs it for me.
- }
-
- public void run() throws Exception {
-// String stepid = "contribute to registry for " + contribs[ii].getClass();
-// TimerTests.basicTest.startStep(stepid);
- contribs[ii].contributeToRegistry(reg);
-// TimerTests.basicTest.stopStep(stepid);
- }
- });
- }
-// TimerTests.basicTest.stopStep("contribute to registry");
- } finally {
- // Clean up and return.
- LAUNCH_INFO.remove(launchKey);
- }
-
- pm.done();
- if (vmTitle.equals("Beaninfo")) //$NON-NLS-1$
- PerformanceMonitorUtil.getMonitor().snapshot(126);
- TimerTests.basicTest.stopStep(stepId);
- return launchInfo.resultRegistry;
- }
-
- /**
- * Create a default IConfigurationContributionInfo for the given project. This is useful info even when not launching a
- * vm.
- *
- * @param javaProject
- * @return new contrib info.
- * @throws JavaModelException
- *
- * @since 1.1.0
- */
- public static IConfigurationContributionInfo createDefaultConfigurationContributionInfo(IJavaProject javaProject) throws JavaModelException {
- LaunchSupportIConfigurationContributionInfo configInfo = new LaunchSupportIConfigurationContributionInfo();
- configInfo.javaProject = javaProject;
- configInfo.containerIds = new HashMap(5);
- configInfo.containers = new HashMap(5);
- configInfo.pluginIds = new HashMap(5);
- configInfo.projectPaths = new HashMap(5);
- ProxyPlugin.getPlugin().getIDsFound(javaProject, configInfo.containerIds, configInfo.containers, configInfo.pluginIds, configInfo.projectPaths);
- return configInfo;
-
- }
-
- /**
- * Use in calling {@link ProxyLaunchSupport#fillInLaunchInfo(IConfigurationContributor[], LaunchInfo, String)} for the configuration
- * contributors array if there are no incoming contributors.
- *
- * @since 1.1.0
- */
- public static final IConfigurationContributor[] EMPTY_CONFIG_CONTRIBUTORS = new IConfigurationContributor[0];
- /**
- * Fill in the launch info config info and contribs. The contribs sent in may be expanded due to extension
- * points and a new one created. Either the expanded copy or the original (if no change) will be stored in
- * the launchinfo and returned from this call.
- *
- * @param aContribs this should never be <code>null</code>. Pass in {@link ProxyLaunchSupport#EMPTY_CONFIG_CONTRIBUTORS} in that case.
- * @param launchInfo
- * @param projectName
- * @return a modified aContribs if any change was made to it. This will never be <code>null</code>. It will return an empty list if aContribs was null and no changes were made.
- * @throws JavaModelException
- * @throws CoreException
- *
- * @since 1.0.0
- */
- public static IConfigurationContributor[] fillInLaunchInfo(IConfigurationContributor[] aContribs, LaunchInfo launchInfo, String projectName) throws JavaModelException, CoreException {
- if (projectName != null) {
- projectName = projectName.trim();
- if (projectName.length() > 0) {
- IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
- IJavaProject javaProject = JavaCore.create(project);
- if (javaProject != null && javaProject.exists()) {
- launchInfo.configInfo = createDefaultConfigurationContributionInfo(javaProject);
- if (!launchInfo.configInfo.getContainerIds().isEmpty() || !launchInfo.configInfo.getContainers().isEmpty() || !launchInfo.configInfo.getPluginIds().isEmpty()) {
- List computedContributors = new ArrayList(launchInfo.configInfo.getContainerIds().size()+launchInfo.configInfo.getContainers().size()+launchInfo.configInfo.getPluginIds().size());
- // Note: We don't care about the visibility business here. For contributors to proxy it means
- // some classes in the projects/plugins/etc. need configuration whether they are visible or not.
- // This is because even though not visible, some other visible class may instantiate it. So it
- // needs the configuration.
- // First handle explicit classpath containers that implement IConfigurationContributor
- for (Iterator iter = launchInfo.configInfo.getContainers().keySet().iterator(); iter.hasNext();) {
- IClasspathContainer container = (IClasspathContainer) iter.next();
- if (container instanceof IConfigurationContributor)
- computedContributors.add(container);
- }
-
- // Second add in contributors that exist for a container id.
- for (Iterator iter = launchInfo.configInfo.getContainerIds().keySet().iterator(); iter.hasNext();) {
- String containerid = (String) iter.next();
- IConfigurationElement[] contributors = ProxyPlugin.getPlugin().getContainerConfigurations(containerid);
- if (contributors != null)
- for (int i = 0; i < contributors.length; i++) {
- Object contributor = contributors[i].createExecutableExtension(ProxyPlugin.PI_CLASS);
- if (contributor instanceof IConfigurationContributor)
- computedContributors.add(contributor);
- }
- }
-
- // Finally add in contributors that exist for a plugin id.
- for (Iterator iter = launchInfo.configInfo.getPluginIds().keySet().iterator(); iter.hasNext();) {
- String pluginId = (String) iter.next();
- IConfigurationElement[] contributors = ProxyPlugin.getPlugin().getPluginConfigurations(pluginId);
- if (contributors != null)
- for (int i = 0; i < contributors.length; i++) {
- Object contributor = contributors[i].createExecutableExtension(ProxyPlugin.PI_CLASS);
- if (contributor instanceof IConfigurationContributor)
- computedContributors.add(contributor);
- }
- }
-
- // Now turn into array
- if (!computedContributors.isEmpty()) {
- IConfigurationContributor[] newContribs = new IConfigurationContributor[aContribs.length
- + computedContributors.size()];
- System.arraycopy(aContribs, 0, newContribs, 0, aContribs.length);
- IConfigurationContributor[] cContribs = (IConfigurationContributor[]) computedContributors
- .toArray(new IConfigurationContributor[computedContributors.size()]);
- System.arraycopy(cContribs, 0, newContribs, aContribs.length, cContribs.length);
- aContribs = newContribs;
- }
- }
- }
- }
- }
-
- launchInfo.contributors = aContribs;
- return aContribs;
- }
-
- /**
- * Execute the extension registrations that are valid for this type of registry and the launchinfo paths.
- * <p>
- * This is meant to be called only by registry implementations that do not launch through a launch configration after the registry is created but
- * before the {@link IConfigurationContributor#contributeToRegistry(ProxyFactoryRegistry)} is called. This will be called automatically
- * by registries that used a launch configuration to launch.
- *
- * @param baseRegistry
- * @param launchInfo
- * @throws CoreException
- *
- * @since 1.1.0
- */
- public static void performExtensionRegistrations(final BaseProxyFactoryRegistry baseRegistry, LaunchInfo launchInfo) throws CoreException {
- IConfigurationContributionInfo configInfo = launchInfo.configInfo;
- if (configInfo != null && (!configInfo.getContainerIds().isEmpty() || !configInfo.getPluginIds().isEmpty())) {
- String registryID = baseRegistry.getRegistryTypeID();
- // Note: We don't care about the visibility business here. For contributors to proxy it means
- // some classes in the projects/plugins/etc. need configuration whether they are visible or not.
- // This is because even though not visible, some other visible class may instantiate it. So it
- // needs the configuration.
-
- // First call registrations that exist for a container id.
- for (Iterator iter = configInfo.getContainerIds().keySet().iterator(); iter.hasNext();) {
- String containerid = (String) iter.next();
- IConfigurationElement[] contributors = ProxyPlugin.getPlugin().getContainerExtensions(containerid);
- if (contributors != null)
- for (int i = 0; i < contributors.length; i++) {
- if (registryID.equals(contributors[i].getAttributeAsIs(ProxyPlugin.PI_REGISTRY_TYPE))) {
- try {
- final IExtensionRegistration contributor = (IExtensionRegistration) contributors[i].createExecutableExtension(ProxyPlugin.PI_CLASS);
- Platform.run(new ISafeRunnable() {
-
- public void run() throws Exception {
- contributor.register(baseRegistry);
- }
-
- public void handleException(Throwable exception) {
- // Don't need to do anything, Platform logs it for me.
- }
-
- });
- } catch (ClassCastException e) {
- // If not right class, just ignore it.
- }
- }
- }
- }
-
- // Finally add in contributors that exist for a plugin id.
- for (Iterator iter = configInfo.getPluginIds().keySet().iterator(); iter.hasNext();) {
- String pluginId = (String) iter.next();
- IConfigurationElement[] contributors = ProxyPlugin.getPlugin().getPluginExtensions(pluginId);
- if (contributors != null)
- for (int i = 0; i < contributors.length; i++) {
- if (registryID.equals(contributors[i].getAttributeAsIs(ProxyPlugin.PI_REGISTRY_TYPE))) {
- try {
- final IExtensionRegistration contributor = (IExtensionRegistration) contributors[i].createExecutableExtension(ProxyPlugin.PI_CLASS);
- Platform.run(new ISafeRunnable() {
-
- public void run() throws Exception {
- contributor.register(baseRegistry);
- }
-
- public void handleException(Throwable exception) {
- // Don't need to do anything, Platform logs it for me.
- }
-
- });
- } catch (ClassCastException e) {
- // If not right class, just ignore it.
- }
- }
- }
- }
- }
-}
-
-
- /*
- * Run the build. If the original launch was in the UI thread, this will
- * be called under control of an IProgressService so that it is in a separate
- * thread and the UI will remain responsive (in that either a busy cursor comes
- * up or eventually a progress dialog).
- * If the pm is canceled, this will just return, but the caller must check if the pm is canceled.
- *
- * <package-protected> so that only the UI handler will access it.
- */
- static void runBuild(IProgressMonitor pm) throws CoreException {
- boolean autobuilding = ResourcesPlugin.getWorkspace().isAutoBuilding();
- if (!autobuilding) {
- try {
- // We are not autobuilding. So kick off a build right here and
- // wait for it. (If we already within a build on this thread, then this
- // will return immediately without building. We will take that risk. If
- // some other thread is building, we will wait for it finish before we
- // can get it and do our build.
- ResourcesPlugin.getWorkspace().build(IncrementalProjectBuilder.INCREMENTAL_BUILD, pm);
- } catch (OperationCanceledException e) {
- // The pm is already marked canceled, so caller can check that instead.
- }
- } else {
- pm.beginTask("", 200); //$NON-NLS-1$
- IJobManager jobManager = Platform.getJobManager();
- Job currentJob = jobManager.currentJob();
- if (currentJob == null || (!currentJob.belongsTo(ResourcesPlugin.FAMILY_AUTO_BUILD) && !currentJob.belongsTo(ResourcesPlugin.FAMILY_MANUAL_BUILD))) {
- if (jobManager.find(ResourcesPlugin.FAMILY_AUTO_BUILD).length > 0 || jobManager.find(ResourcesPlugin.FAMILY_MANUAL_BUILD).length >0) {
- // We are not within a build job. If we were, then we don't do the build. We will take
- // that risk. The problem is that if within the build, we can't wait for it to finish because
- // we would stop the thread and so the build would not complete.
- pm.subTask(ProxyMessages.ProxyWaitForBuild);
- try {
- while (true) {
- try {
- jobManager.join(ResourcesPlugin.FAMILY_AUTO_BUILD, new SubProgressMonitor(pm, 100));
- jobManager.join(ResourcesPlugin.FAMILY_MANUAL_BUILD, new SubProgressMonitor(pm, 100));
- break;
- } catch (InterruptedException e) {
- }
- }
- } catch (OperationCanceledException e) {
- }
- }
- }
- pm.done();
- }
- }
-
-
- /*
- * This prevents the launch from being shown. However these constants are in UI component, and we don't
- * want to pre-req that. So we will get them reflectively instead.
- * public but only so that launch delegate can get to it.
- */
- public static String ATTR_PRIVATE;
- private static IUIRunner UI_RUNNER = null;
-
- static {
- ATTR_PRIVATE = null;
- try {
- // See if we have a UI bundle and it is active. If it exists but is not active,
- // then we won't do anything. If we were running a UI application, it should already
- // of been active before we got here.
- Bundle uiBundle = Platform.getBundle("org.eclipse.ui"); //$NON-NLS-1$
- if (uiBundle != null && uiBundle.getState() == Bundle.ACTIVE) {
- try {
- // We have a UI bundle, so we can load our UIRunner class and it will load fine.
- UI_RUNNER = (IUIRunner) Class.forName("org.eclipse.jem.internal.proxy.core.UIRunner").newInstance(); //$NON-NLS-1$
- } catch (InstantiationException e1) {
- ProxyPlugin.getPlugin().getLogger().log(e1, Level.WARNING);
- }
-
- // So that we can run headless (w/o ui), need to do class forName for debugui contants
- Bundle debuguiBundle = Platform.getBundle("org.eclipse.debug.ui"); //$NON-NLS-1$
- if (debuguiBundle != null && debuguiBundle.getState() == Bundle.ACTIVE) {
- Class debugUIConstants = debuguiBundle.loadClass("org.eclipse.debug.ui.IDebugUIConstants"); //$NON-NLS-1$
- ATTR_PRIVATE = (String) debugUIConstants.getField("ATTR_PRIVATE").get(null); //$NON-NLS-1$
- }
- }
- } catch (SecurityException e) {
- } catch (ClassNotFoundException e) {
- } catch (NoSuchFieldException e) {
- } catch (IllegalArgumentException e) {
- } catch (IllegalAccessException e) {
- }
- }
-
- /* (non-Javadoc)
- * Only referenced by launch delegates. public because they are in other packages,
- * or even external developers packages. Not meant to be generally available.
- *
- * This is needed because we can't pass the generic info into a launch configuration
- * because a launch configuration can't take objects. Only can take strings and numbers.
- */
- public static synchronized LaunchInfo getInfo(String key) {
- return (LaunchInfo) LAUNCH_INFO.get(key);
- }
-
- /**
- * Convert the string path into a valid url.
- * @param path
- * @return the url or <code>null</code> if not convertable (i.e. not well-formed).
- *
- * @since 1.0.0
- */
- public static URL convertStringPathToURL(String path) {
- try {
- return path != null ? new File(path).toURL() : null;
- } catch (MalformedURLException e) {
- return null;
- }
- }
-
- /**
- * Convert the string paths into a valid urls.
- *
- * @param paths
- * @return the urls or <code>null</code> if paths is null. Any path not convertable (i.e. not well-formed) will not be in the final list.
- * So this means the result length may be smaller than the paths length.
- *
- * @since 1.0.0
- */
- public static URL[] convertStringPathsToURL(String[] paths) {
- if (paths != null) {
- URL[] result = new URL[paths.length];
- int nextURL = 0;
- for (int i = 0; i < paths.length; i++) {
- URL url = convertStringPathToURL(paths[i]);
- if (url != null)
- result[nextURL++] = url;
- }
- if (nextURL == 0)
- return null; // None were found.
-
- if (nextURL != result.length) {
- URL[] nr = new URL[nextURL];
- System.arraycopy(result, 0, nr, 0, nr.length);
- result = nr;
- }
- return result;
- } else
- return null;
- }
-
- /**
- * Convert the urls to string array. It is assumed the urls are in file protocol.
- * @param urls
- * @return string paths or <code>null</code> if urls is <code>null</code>. Any <code>null</code> entry of urls will result in
- * a corresponding <code>null</code> in the strings.
- *
- * @since 1.0.0
- */
- public static String[] convertURLsToStrings(URL[] urls) {
- if (urls != null) {
- String[] strings = new String[urls.length];
- for (int i = 0; i < urls.length; i++) {
- strings[i] = urls[i] != null ? urls[i].getFile() : null;
- }
- return strings;
- } else
- return null;
- }
-
- /* (non-Javadoc)
- * Local contributor used to make sure that certain jars are in the path.
- *
- * @since 1.0.0
- */
- static class ProxyContributor extends ConfigurationContributorAdapter {
- public void contributeClasspaths(IConfigurationContributionController controller) {
- // Add the required jars to the end of the classpath.
- controller.contributeClasspath(ProxyPlugin.getPlugin().getBundle(), "proxycommon.jar", IConfigurationContributionController.APPEND_USER_CLASSPATH, false); //$NON-NLS-1$
- controller.contributeClasspath(ProxyPlugin.getPlugin().getBundle(), "initparser.jar", IConfigurationContributionController.APPEND_USER_CLASSPATH, true); //$NON-NLS-1$
- }
- }
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ProxyMessages.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ProxyMessages.java
deleted file mode 100644
index e3acdb87e..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ProxyMessages.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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.core;
-
-import org.eclipse.osgi.util.NLS;
-
-public final class ProxyMessages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.jem.internal.proxy.core.messages";//$NON-NLS-1$
-
- private ProxyMessages() {
- // Do not instantiate
- }
-
- public static String UnexpectedException_EXC_;
- public static String ClassCast_EXC__IncorrectType;
- public static String ProxyFactory_EXC__NoBeanProxyFactory;
- public static String ProxyFactory_EXC__NoBeanTypeProxyFactory;
- public static String Not_Java_Project_WARN_;
- public static String No_VM_WARN_;
- public static String No_Implementation_WARN_;
- public static String ProxyLaunch;
- public static String ProxyWaitForBuild;
- public static String Expression_InInvalidStateDueTo_EXC_;
- public static String Expression_InInvalidState_EXC_;
- public static String Expression_TypeSentInInvalidOrder_EXC_;
- public static String Expression_ArrayTypeNotAnArray_EXC_;
- public static String Expression_CannotHandleNoReceiveOnFieldAccess_EXC_;
- public static String Expression_MethodsNeedReceiver_EXC_;
- public static String Expression_InvalidMarkNesting;
- public static String ProxyPlugin_CleanupDefaultProxyLaunchConfigurations;
- public static String ProxyLaunchSupport_RegistryCouldNotStartForSomeReason_WARN_;
- public static String Expression_CreateProxyReassignmentExpression_InvalidForReassignment_EXC_;
-
- static {
- NLS.initializeMessages(BUNDLE_NAME, ProxyMessages.class);
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ProxyPlugin.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ProxyPlugin.java
deleted file mode 100644
index a98a0ec48..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ProxyPlugin.java
+++ /dev/null
@@ -1,1133 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.core;
-/*
- * $RCSfile: ProxyPlugin.java,v $
- * $Revision: 1.52 $ $Date: 2005/06/21 19:36:48 $
- */
-
-
-import java.io.*;
-import java.net.URL;
-import java.util.*;
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.debug.core.*;
-import org.eclipse.jdt.core.*;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.osgi.service.resolver.BundleSpecification;
-import org.osgi.framework.*;
-
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jem.util.logger.proxyrender.EclipseLogger;
-
-
-/**
- * The plugin class for the org.eclipse.jem.internal.proxy.core plugin.
- */
-
-public class ProxyPlugin extends Plugin {
-
- /**
- * This interface is for a listener that needs to know if this plugin (ProxyPlugin) is being shutdown.
- * It is needed because there are some extensions that get added dynamically that need to know when the
- * plugin is being shutdown. Can't use new bundle listener for this because it notifies AFTER shutdown.
- *
- * @since 1.0.0
- */
- public interface IProxyPluginShutdownListener {
- /**
- * ProxyPlugin is in shutdown.
- *
- * @since 1.0.0
- */
- public void shutdown();
- }
-
- private static ProxyPlugin PROXY_PLUGIN = null;
- public static final String PREFERENCES_VM_NOVERIFY_KEY = "JEM_PREFERENCES_VM_NOVERIFY_KEY"; // Key for NOVERIFY option of VM //$NON-NLS-1$
- public static final String PDE_NATURE_ID = "org.eclipse.pde.PluginNature" ; //$NON-NLS-1$
-
- // If this is set to true, then in development mode and it will try for proxy jars in directories.
- private boolean devMode;
-
- private ListenerList shutdownListeners;
-
- public ProxyPlugin() {
- super();
- PROXY_PLUGIN = this;
- devMode = Platform.inDevelopmentMode();
- }
-
- /**
- * Access the singleton
- * @return the singleton plugin
- *
- * @since 1.0.0
- */
- public static ProxyPlugin getPlugin() {
- return PROXY_PLUGIN;
- }
-
- private Logger logger;
- public Logger getLogger() {
- if (logger == null)
- logger = EclipseLogger.getEclipseLogger(this);
- return logger;
- }
-
- /**
- * This will take the bundle and file name and make it local and return that
- * fully qualified. It will look in fragments, but only returns first found. If there can be multiples use
- * the one for bundles and it fragments.
- * <p>
- * If we are in development and it will pick it up from the path
- * that is listed in the proxy.jars file located in the bundle passed in. This allows development code to be
- * used in place of the actual runtime jars. If the runtime jars are found,
- * they will be used.
- * <p>
- * For example if looking for file runtime/xyz.jar in bundle abc, then in bundle directory for abc,
- * there should be a file called proxy.jars. This should only be in development, this file should not
- * be distributed for production. It would be distributed in the SDK environment when testing is desired.
- * <p>
- * The format of the file is:
- * runtimefile=/projectname/builddirectory
- * <p>
- * For this to work when the actual jar is not found, the Eclipse must of been started in
- * dev mode (i.e. the bundle location will be a project within the developer Eclipse. That way
- * we can go up one level for the current install location and assume the above projectname
- * will be found relative to the directory.
- * <p>
- * For the above example:
- * runtime/xyz.jar=/xyzproject/bin
- * <p>
- * It will return "." if file can't be found. It means nothing but it won't cause jvm to crash.
- *
- * @param bundle
- * @param filenameWithinBundle
- * @return the path to the file or <code>"."</code> if not found.
- *
- * @since 1.0.0
- */
- public String localizeFromBundleOnly(Bundle bundle, String filenameWithinBundle) {
- URL url = urlLocalizeFromBundleOnly(bundle, filenameWithinBundle);
- return url != null ? getFileFromURL(url) : "."; //$NON-NLS-1$
- }
- public String localizeFromBundleAndFragments(Bundle bundle, String filenameWithinBundle) {
- URL url = urlLocalizeFromBundleAndFragments(bundle, filenameWithinBundle);
- return url != null ? getFileFromURL(url) : "."; //$NON-NLS-1$
- }
-
- /**
- * Just like localizeFromBundle except it will return an array of Strings. It will look for the filename
- * within the bundle and any fragments of the bundle. If none are found, an empty array will be returned.
- * <p>
- * To find the files in the fragments that are in the runtime path (i.e. libraries), it will need to use a suffix,
- * This is because the JDT will get confused if a runtime jar in a fragment has the same name
- * as a runtime jar in the main bundle.
- * NOTE: This is obsolete. JDT no longer has this problem. So we can find libraries in fragments that have the
- * same file path.
- * <p>
- * So we will use the following search pattern:
- * <ol>
- * <li>Find in all of the fragments those that match the name exactly in the same paths if paths are supplied.</li>
- * <li>Find in all of the fragments, in their runtime path (library stmt), those that match the name
- * but have a suffix the same as the uniqueid of the fragment (preceeded by a period). This is so that it can be easily
- * found but yet be unique in the entire list of fragments. For example if looking for "runtime/xyz.jar"
- * and we have fragment "a.b.c.d.frag", then in the runtime path we will look for the file
- * "runtime/xyz.a.b.c.d.frag.jar". Note: This is obsolete. Still here only for possible old code. Will go
- * away in future.</li>
- * <p>
- * If the files in the fragments are not in the fragments library path then it can have the same name. NOTE: Obsolete,
- * JDT can now handle same name.
- * <p>
- * This is useful for nls where the nls for the filename will be in one or more of the fragments of the plugin.
- *
- * @param bundle
- * @param filenameWithinBundle
- * @return
- *
- * @since 1.0.0
- */
- public String[] localizeAllFromBundleAndFragments(Bundle bundle, String filenameWithinBundle) {
- URL[] urls = urlLocalizeAllFromBundleAndFragments(bundle, filenameWithinBundle);
- String[] result = new String[urls.length];
- for (int i = 0; i < urls.length; i++) {
- result[i] = getFileFromURL(urls[i]);
- }
- return result;
- }
-
- private static String getFileFromURL(URL url) {
- // We need to do this in a device independent way. The URL will always put a leading '/' in the
- // file part of the URL, but on Windows we need to have this '/' removed. Some JRE's don't understand it.
- return new File(url.getFile()).getAbsolutePath();
-
- }
-
- public URL urlLocalizeFromBundleAndFragments(Bundle bundle, String filenameWithinBundle) {
- return urlLocalizeFromBundleAndFragments(bundle, new Path(filenameWithinBundle));
- }
- public URL urlLocalizeFromBundleAndFragments(Bundle bundle, IPath filenameWithinBundle) {
- try {
- URL pvm = Platform.find(bundle, filenameWithinBundle);
- if (pvm != null)
- return Platform.asLocalURL(pvm);
- } catch (IOException e) {
- }
- if (devMode) {
- URL[] urls = findDevAllFromBundleAndFragments(bundle, filenameWithinBundle.toString());
- if (urls.length > 0)
- return urls[0];
- else
- return null;
- } else
- return null;
- }
-
- /**
- * Like <code>localizeFromBundleAndFragments</code> except it returns URL's instead.
- *
- * @param bundle
- * @param filenameWithinBundle
- * @return
- *
- * @see ProxyPlugin#localizeFromBundleAndFragments(Bundle, String)
- * @since 1.0.0
- */
- public URL[] urlLocalizeAllFromBundleAndFragments(Bundle bundle, String filenameWithinBundle) {
- return urlLocalizeAllBundleAndFragments(bundle, Platform.getFragments(bundle), filenameWithinBundle);
- }
- public URL[] urlLocalizeAllFromBundleAndFragments(Bundle bundle, IPath filenameWithinBundle) {
- return urlLocalizeAllBundleAndFragments(bundle, Platform.getFragments(bundle), filenameWithinBundle.toString());
- }
-
- /**
- * @param bundle
- * @param filenameWithinBundle
- * @param fragments
- * @return
- *
- * @since 1.0.0
- */
- private URL[] urlLocalizeAllBundleAndFragments(Bundle bundle, Bundle[] fragments, String filenameWithinBundle) {
-
- ArrayList urls = new ArrayList((fragments == null ? 0 : fragments.length) + 1);
- URL url = internalUrlLocalizeFromBundleOnly(bundle, filenameWithinBundle);
- if (url != null)
- urls.add(url);
- if (fragments != null) {
- for (int i = 0; i < fragments.length; i++) {
- Bundle fragment = fragments[i];
- url = internalUrlLocalizeFromBundleOnly(fragment, filenameWithinBundle);
- if (url != null)
- urls.add(url);
- }
- }
- return (URL[]) urls.toArray(new URL[urls.size()]);
- }
-
- private static final String PROXYJARS = "proxy.jars"; //$NON-NLS-1$
-
- /**
- * @see ProxyPlugin#localizeFromBundle(Bundle, String)
- *
- * This is just a helper to return a url instead.
- *
- * @param bundle
- * @param filenameWithinBundle
- * @return
- *
- * @since 1.0.0
- */
- public URL urlLocalizeFromBundleOnly(Bundle bundle, String filenameWithinBundle) {
- // If the filenameWithinBundle begins with one of these special characters,
- // it might be in a fragment.
- if (filenameWithinBundle.charAt(0) == '$'
- && (filenameWithinBundle.regionMatches(true, 0, "$nl$", 0, "$nl$".length()) //$NON-NLS-1$ //$NON-NLS-2$
- || filenameWithinBundle.regionMatches(true, 0, "$os$", 0, "$os$".length()) || filenameWithinBundle.regionMatches(true, 0, //$NON-NLS-1$ //$NON-NLS-2$
- "$ws$", 0, "$ws$".length()))) //$NON-NLS-1$ //$NON-NLS-2$
- return urlLocalizeFromBundleAndFragments(bundle, filenameWithinBundle);
- try {
- URL pvm = new URL(bundle.getEntry("/"), filenameWithinBundle); //$NON-NLS-1$
- pvm = verifyFound(Platform.asLocalURL(pvm));
- if (pvm != null)
- return pvm;
- } catch (IOException e) {
- }
- return findDev(bundle, filenameWithinBundle);
-
- }
-
- protected URL internalUrlLocalizeFromBundleOnly(Bundle bundle, String filenameWithinBundle) {
- try {
- URL pvm = bundle.getEntry(filenameWithinBundle);
- if (pvm != null)
- return Platform.asLocalURL(pvm);
- } catch (IOException e) {
- }
- return findDev(bundle, filenameWithinBundle);
-
- }
-
- private URL verifyFound(URL pvm) throws IOException {
- if (devMode) {
- // Need to test if found in devmode. Otherwise we will just assume it is found. If not found on remote and moved to cache, an IOException would be thrown.
- if (pvm != null) {
- InputStream ios = null;
- try {
- ios = pvm.openStream();
- if (ios != null)
- return pvm; // Found it, so return it.
- } finally {
- if (ios != null)
- ios.close();
- }
- }
- } else
- return pvm;
- return null;
- }
-
- /**
- * @see ProxyPlugin#localizeFromBundle(bundle, String)
- *
- * This is just a helper to return a url instead.
- *
- * @param bundle
- * @param filenameWithinBundle
- * @return
- *
- * @since 1.0.0
- */
- public URL urlLocalizeFromBundleOnly(Bundle bundle, IPath filenameWithinBundle) {
- return urlLocalizeFromBundleOnly(bundle, filenameWithinBundle.toString());
- }
-
- private URL findDev(Bundle bundle, String filenameWithinBundle) {
- if (devMode) {
- // Got this far and in dev mode means it wasn't found, so we'll try for development style.
- // It is assumed that in dev mode, we are running with the IDE as local and any
- // build outputs will be local so local file protocol will be returned
- // from Platform.resolve(). We won't be running in dev mode with our entireplugin being in a jar,
- // or on a separate system.
- try {
- URL pvm = bundle.getEntry(PROXYJARS);
- if (pvm != null) {
- InputStream ios = null;
- try {
- ios = pvm.openStream();
- Properties props = new Properties();
- props.load(ios);
- String pathString = props.getProperty(filenameWithinBundle.toString());
- if (pathString != null) {
- URL url = Platform.resolve(bundle.getEntry("/")); // It is assumed that if in debug mode, then this plugin is an imported plugin within the developement workspace. //$NON-NLS-1$
- if (url.getProtocol().equals("file")) { //$NON-NLS-1$
- File file = new File(url.getFile()).getParentFile(); // This gets us to workspace root of development workspace.
- file = new File(file, pathString);
- return file.toURL();
- }
- }
- } finally {
- if (ios != null)
- ios.close();
- }
- }
- } catch (IOException e) {
- }
- }
-
- return null;
-
- }
- private URL[] findDevAllFromBundleAndFragments(Bundle bundle, String filenameWithinBundle) {
- Bundle [] fragments = Platform.getFragments(bundle);
- ArrayList urls = new ArrayList((fragments == null ? 0 : fragments.length) + 1);
- URL url = findDev(bundle, filenameWithinBundle);
- if (url != null)
- urls.add(url);
- if (fragments != null) {
- for (int i = 0; i < fragments.length; i++) {
- Bundle fragment = fragments[i];
- url = findDev(fragment, filenameWithinBundle);
- if (url != null)
- urls.add(url);
- }
- }
- return (URL[]) urls.toArray(new URL[urls.size()]);
- }
- /**
- * A helper to order the plugins into pre-req order.
- * If A eventually depends on B, then B will be ahead of A in the
- * list of plugins. (I.e. B is a pre-req somewhere of A).
- *
- * @param bundlesToOrder - Bundles of interest. The results will have these in thiee correct order.
- * @return An array of the Bundlers in there order from no prereqs in set to the leaves.
- *
- * @since 1.0.0
- */
- public static Bundle[] orderPlugins(final Set bundlesToOrder) {
- Map prereqsMap = new HashMap(bundlesToOrder.size()*3);
- int ndx = bundlesToOrder.size();
- Bundle[] result = new Bundle[ndx];
- Map dependents = getDependentCounts(false, bundlesToOrder, prereqsMap); // We want the inactive ones too. That way have complete order. They can be ignored later if necessary.
- // keep iterating until all have been visited. This will actually find them in reverse order from what we
- // want, i.e. it will find the leaves first. So we will build result array in reverse order.
- while (!dependents.isEmpty()) {
- // loop over the dependents list. For each entry, if there are no dependents, visit
- // the bundle and remove it from the list. Make a copy of the keys so we don't end up
- // with concurrent accesses (since we are deleting the values as we go)
- Iterator ib = dependents.entrySet().iterator();
- while (ib.hasNext()) {
- Map.Entry entry = (Map.Entry) ib.next();
- Bundle bundle = (Bundle) entry.getKey() ;
- int[] count = (int[]) entry.getValue();
- if (count != null && count[0] <= 0) {
- if (bundlesToOrder.contains(bundle)) {
- result[--ndx] = bundle;
- if (ndx == 0)
- return result; // We've ordered all that we care about. Anything left over is unimportant.
- }
- ib.remove();
- // decrement the dependent count for all of the prerequisites.
- Bundle[] requires = getPrereqs(bundle, prereqsMap);
- for (int j = 0; j < requires.length; j++) {
- Bundle prereq = requires[j];
- int[] countPrereq = (int[]) dependents.get(prereq);
- if (countPrereq != null)
- --countPrereq[0];
- }
- }
- }
- }
- return result;
- }
-
- /**
- * Get all of the prereqs for this bundle, all of the way down to the root.
- * They will be in top-down depth-first order. There won't be duplicates. They will show up
- * only once the first time they are found.
- *
- * @param bundle
- * @return list of all pre-reqs.
- *
- * @since 1.0.0
- */
- public static List getAllPrereqs(Bundle bundle) {
- List prereqs = new ArrayList();
- getAllPrereqs(bundle, prereqs, new HashMap());
- return prereqs;
- }
-
- private static void getAllPrereqs(Bundle bundle, List prereqs, Map prereqsMap) {
- Bundle[] prs = getPrereqs(bundle, prereqsMap);
- for (int i = 0; i < prs.length; i++) {
- Bundle pre = prs[i];
- if (prereqsMap.containsKey(pre))
- continue; // Already processed this one once.
- prereqs.add(pre); // Add to the list of pre-reqs accumulated so far.
- getAllPrereqs(pre, prereqs, prereqsMap);
- }
- }
-
- private static Bundle[] getPrereqs(Bundle bundle, Map prereqsMap) {
- Bundle[] prereqs = (Bundle[]) prereqsMap.get(bundle);
- if (prereqs == null) {
- prereqs = getPrereqs(bundle);
- prereqsMap.put(bundle, prereqs);
- }
- return prereqs;
- }
-
- public static Bundle[] getPrereqs(Bundle bundle) {
- Bundle[] l = (Bundle[]) pluginRequiredMap.get(bundle.getSymbolicName());
- if (l == null) {
- BundleSpecification specs[] = Platform.getPlatformAdmin().getState(false).getBundle(bundle.getBundleId()).getRequiredBundles();
- ArrayList bundles = new ArrayList(specs.length);
- for (int i = 0; i < specs.length; i++) {
- Bundle b = Platform.getBundle(specs[i].getName());
- if (b != null)
- bundles.add(b);
- }
- l = (Bundle[]) bundles.toArray(new Bundle[bundles.size()]);
- pluginRequiredMap.put(bundle.getSymbolicName(), l);
- }
- return l;
- }
-
- private static Map getDependentCounts(boolean activeOnly, Set startingSet, Map prereqsMap) {
- Map dependents = new HashMap(startingSet.size());
- // build a table of all dependent counts. The table is keyed by descriptor and
- // the value the integer number of dependent plugins.
- List processNow = new ArrayList(startingSet);
- List processNext = new ArrayList(processNow.size());
- if (!processNow.isEmpty()) {
- // Go through the first time from the starting set to get an entry into the list.
- // If there is an entry, then it won't be marked for processNext. Only new entries
- // are added to processNext in the following loop.
- int pnSize = processNow.size();
- for (int i = 0; i < pnSize; i++) {
- Bundle bundle = (Bundle) processNow.get(i);
- if (activeOnly && bundle.getState() != Bundle.ACTIVE)
- continue;
- // ensure there is an entry for this descriptor (otherwise it will not be visited)
- int[] entry = (int[]) dependents.get(bundle);
- if (entry == null)
- dependents.put(bundle, new int[1]);
- }
- }
-
- // Now process the processNow to find the requireds, increment them, and add to processNext if never found before.
- while (!processNow.isEmpty()) {
- processNext.clear();
- int pnSize = processNow.size();
- for (int i = 0; i < pnSize; i++) {
- Bundle bundle = (Bundle) processNow.get(i);
- if (activeOnly && bundle.getState() != Bundle.ACTIVE)
- continue;
- Bundle[] requires = getPrereqs(bundle, prereqsMap);
- for (int j = 0; j < requires.length; j++) {
- Bundle prereq = requires[j];
- if (prereq == null || activeOnly
- && bundle.getState() != Bundle.ACTIVE)
- continue;
- int[] entry = (int[]) dependents.get(prereq);
- if (entry == null) {
- dependents.put(prereq, new int[]{1});
- processNext.add(prereq); // Never processed before, so we add it to the next process loop.
- } else
- ++entry[0];
- }
- }
-
- // Now swap the lists so that we processNext will be now and visa-versa.
- List t = processNext;
- processNext = processNow;
- processNow = t;
- }
- return dependents;
- }
-
- /**
- * Add a shutdown listener
- * @param listener
- *
- * @since 1.0.0
- */
- public void addProxyShutdownListener(IProxyPluginShutdownListener listener) {
- if (shutdownListeners == null)
- shutdownListeners = new ListenerList();
- shutdownListeners.add(listener);
- }
-
- /**
- * Remove a shutdown listener
- * @param listener
- *
- * @since 1.0.0
- */
- public void removeProxyShutdownListener(IProxyPluginShutdownListener listener) {
- if (shutdownListeners != null)
- shutdownListeners.remove(listener);
- }
-
- private ILaunchConfigurationListener launchListener = new ILaunchConfigurationListener() {
- public void launchConfigurationAdded(ILaunchConfiguration configuration) {
- try {
- if (!configuration.isWorkingCopy() && IProxyConstants.ID_PROXY_LAUNCH_GROUP.equals(configuration.getCategory()))
- startCleanupJob();
- } catch (Exception e) {
- }
- }
-
- public void launchConfigurationChanged(ILaunchConfiguration configuration) {
- try {
- if (!configuration.isWorkingCopy() && IProxyConstants.ID_PROXY_LAUNCH_GROUP.equals(configuration.getCategory()))
- startCleanupJob();
- } catch (Exception e) {
- }
- }
-
- public void launchConfigurationRemoved(ILaunchConfiguration configuration) {
- try {
- // On delete you can't tell the category or anything because all of that info has already removed.
- if (!configuration.isWorkingCopy())
- startCleanupJob();
- } catch (Exception e) {
- }
- }
- };
-
- private Job cleanupJob = new Job(ProxyMessages.ProxyPlugin_CleanupDefaultProxyLaunchConfigurations) {
- {
- setSystem(true); // So it doesn't show up in progress monitor. No need to interrupt user.
- setPriority(Job.SHORT); // A quick running job.
- }
- protected IStatus run(IProgressMonitor monitor) {
- synchronized (this) {
- if (monitor.isCanceled())
- return Status.CANCEL_STATUS;
- }
- // all we want to do is find out if any launch configurations (from proxy launch group) exist for
- // a project. If they don't, then unset the project's property. If they do, and the property is not
- // set, then set it to NOT_SET to indicate not set, but there are some configs for it.
- // We just gather the project names that have launch configurations.
- try {
- Set projectNames = new HashSet();
- ILaunchConfiguration[] configs = DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurations();
- for (int i = 0; i < configs.length; i++) {
- if (IProxyConstants.ID_PROXY_LAUNCH_GROUP.equals(configs[i].getCategory())
- && (ProxyLaunchSupport.ATTR_PRIVATE == null || !configs[i].getAttribute(ProxyLaunchSupport.ATTR_PRIVATE, false)))
- projectNames.add(configs[i].getAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, "")); //$NON-NLS-1$
- }
-
- IJavaModel model = JavaCore.create(ResourcesPlugin.getWorkspace().getRoot());
- IJavaElement[] children = model.getChildren();
- int cancelCount = 10;
- for (int j = 0; j < children.length; j++) {
- if (children[j].getElementType() == IJavaElement.JAVA_PROJECT) {
- if (--cancelCount <= 0)
- synchronized (this) {
- cancelCount = 10; // Rest for next set of ten.
- // Checking on every 10 projects because they may be many projects, while only few configs.
- // This way it will stop sooner.
- if (monitor.isCanceled())
- return Status.CANCEL_STATUS;
- }
- IProject p = ((IJavaProject) children[j]).getProject();
- if (projectNames.contains(p.getName())) {
- // This project has a launch config. If it has a setting, then do nothing, else need to put on not set.
- if (p.getPersistentProperty(ProxyPlugin.PROPERTY_LAUNCH_CONFIGURATION) == null)
- p.getProject().setPersistentProperty(
- ProxyPlugin.PROPERTY_LAUNCH_CONFIGURATION,
- ProxyLaunchSupport.NOT_SET);
- } else {
- // This project has no launch configs. Remove any setting if it exists.
- p.setPersistentProperty(ProxyPlugin.PROPERTY_LAUNCH_CONFIGURATION, (String) null);
- }
- }
- }
- return Status.OK_STATUS;
- } catch (CoreException e) {
- return e.getStatus();
- }
- }
- };
-
- private void startCleanupJob() {
- cleanupJob.cancel(); // Stop what we are doing.
- cleanupJob.schedule(1000l); // Schedule to start in one second.
- }
-
-
- /* (non-Javadoc)
- * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
- */
- public void start(final BundleContext context) throws Exception {
- super.start(context);
- DebugPlugin.getDefault().getLaunchManager().addLaunchConfigurationListener(launchListener);
- context.addBundleListener(new BundleListener() {
- public void bundleChanged(BundleEvent event) {
- if (event.getBundle() != ProxyPlugin.this.getBundle())
- return; // Not of interest to us.
- switch (event.getType()) {
- case BundleEvent.STARTED:
- context.removeBundleListener(this); // Since we don't care anymore
- startCleanupJob();
- break;
- case BundleEvent.STOPPED:
- case BundleEvent.UNINSTALLED:
- case BundleEvent.UNRESOLVED:
- context.removeBundleListener(this); // We stopped before we started, so remove ourselves.
- break;
- }
- }
- });
- getPluginPreferences().setDefault(PREFERENCES_VM_NOVERIFY_KEY, true);
- }
-
-
- /* (non-Javadoc)
- * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
- */
- public void stop(BundleContext context) throws Exception {
- // Handle case where debug plugin shuts down before we do since order not guarenteed.
- if (DebugPlugin.getDefault() != null)
- DebugPlugin.getDefault().getLaunchManager().removeLaunchConfigurationListener(launchListener);
- cleanupJob.cancel(); // Stop what we are doing.
- if (shutdownListeners != null) {
- Object[] listeners = shutdownListeners.getListeners();
- for (int i = 0; i < listeners.length; i++) {
- ((IProxyPluginShutdownListener) listeners[i]).shutdown();
- }
- }
- super.stop(context);
- }
-
- public static final String PI_CONFIGURATION_CONTRIBUTION_EXTENSION_POINT = "org.eclipse.jem.proxy.contributors"; //$NON-NLS-1$
- public static final String PI_EXTENSION_REGISTRATION_EXTENSION_POINT = "org.eclipse.jem.proxy.extensions"; //$NON-NLS-1$
- public static final String PI_CONTAINER = "container"; //$NON-NLS-1$
- public static final String PI_PLUGIN = "plugin"; //$NON-NLS-1$
- public static final String PI_CLASS = "class"; //$NON-NLS-1$
- public static final String PI_REGISTRY_TYPE = "registryType"; //$NON-NLS-1$
- public static final Map pluginRequiredMap = new HashMap(50);
-
- /*
- * Map of container id's to their ordered array of contribution config elements.
- */
- protected Map containerToContributions = null;
- /*
- * Map of plugin id's to their ordered array of contribution config elements.
- */
- protected Map pluginToContributions = null;
-
- /*
- * Map of container id's to their ordered array of extension config elements.
- */
- protected Map containerToExtensions = null;
- /*
- * Map of plugin id's to their ordered array of contribution config elements.
- */
- protected Map pluginToExtension = null;
-
-
- /**
- * These are public only so that jem.ui can access this constant. Not meant to be accessed by others.
- */
- public static final QualifiedName PROPERTY_LAUNCH_CONFIGURATION = new QualifiedName("org.eclipse.jem.proxy", "proxyLaunchConfiguration"); //$NON-NLS-1$ //$NON-NLS-2$
-
- /**
- * Return the plugin ordered array of configuration elements for the given container, or <code>null</code> if not contributed.
- *
- * @param containerid
- * @return Array of configuration elements or <code>null</code> if this container has no contributions.
- *
- * @since 1.0.0
- */
- public synchronized IConfigurationElement[] getContainerConfigurations(String containerid) {
- if (containerToContributions == null)
- processProxyContributionExtensionPoint();
- return (IConfigurationElement[]) containerToContributions.get(containerid);
- }
-
- /**
- * Return the plugin ordered array of configuration elements for the given plugin, or <code>null</code> if not contributed.
- *
- * @param pluginid
- * @return Array of configuration elements or <code>null</code> if this plugin has no contributions.
- *
- * @since 1.0.0
- */
- public synchronized IConfigurationElement[] getPluginConfigurations(String pluginid) {
- if (pluginToContributions == null)
- processProxyContributionExtensionPoint();
- return (IConfigurationElement[]) pluginToContributions.get(pluginid);
- }
-
- /**
- * Return the plugin ordered array of configuration elements for the given container, or <code>null</code> if not contributed.
- *
- * @param containerid
- * @return Array of extension registration elements or <code>null</code> if this container has no contributions.
- *
- * @since 1.0.0
- */
- public synchronized IConfigurationElement[] getContainerExtensions(String containerid) {
- if (containerToExtensions == null)
- processProxyExtensionExtensionPoint();
- return (IConfigurationElement[]) containerToExtensions.get(containerid);
- }
-
- /**
- * Return the plugin ordered array of configuration elements for the given plugin, or <code>null</code> if not contributed.
- *
- * @param pluginid
- * @return Array of configuration elements or <code>null</code> if this plugin has no contributions.
- *
- * @since 1.0.0
- */
- public synchronized IConfigurationElement[] getPluginExtensions(String pluginid) {
- if (pluginToExtension == null)
- processProxyExtensionExtensionPoint();
- return (IConfigurationElement[]) pluginToExtension.get(pluginid);
- }
-
- protected synchronized void processProxyContributionExtensionPoint() {
- ContributorExtensionPointInfo info = processContributionExtensionPoint(PI_CONFIGURATION_CONTRIBUTION_EXTENSION_POINT);
- containerToContributions = info.containerToContributions;
- pluginToContributions = info.pluginToContributions;
- }
-
- protected synchronized void processProxyExtensionExtensionPoint() {
- ContributorExtensionPointInfo info = processContributionExtensionPoint(PI_EXTENSION_REGISTRATION_EXTENSION_POINT);
- containerToExtensions = info.containerToContributions;
- pluginToExtension = info.pluginToContributions;
- }
-
- /**
- * Result form processContributionExtensionPoint.
- *
- * @see ProxyPlugin#processContributionExtensionPoint(String)
- * @since 1.0.0
- */
- public static class ContributorExtensionPointInfo {
- /**
- * Map of container ids (String) to contributions (IConfigurationElement[]) that was found with that id. For each container,
- * the contributions will be listed in plugin prereq order.
- */
- public Map containerToContributions;
-
- /**
- * Map of plugin ids (String) to contributions (IConfigurationElement[]) that was found with that id. For each plugin,
- * the contributions will be listed in plugin prereq order.
- */
- public Map pluginToContributions;
- }
-
- /**
- * Process the extension point looking contributors. It will find entries that have the "container" or "plugin" attributes
- * set on them.
- *
- * @param extensionPoint fully-qualified extension point id, including plugin id of the extension point.
- * @return the contributor info record.
- *
- * @since 1.0.0
- */
- public static ContributorExtensionPointInfo processContributionExtensionPoint(String extensionPoint) {
- // We are processing this once because it is accessed often (once per vm per project).
- // This can add up so we get it together once here.
- IExtensionPoint extp = Platform.getExtensionRegistry().getExtensionPoint(extensionPoint);
- ContributorExtensionPointInfo result = new ContributorExtensionPointInfo();
- if (extp == null) {
- result.containerToContributions = Collections.EMPTY_MAP;
- result.pluginToContributions = Collections.EMPTY_MAP;
- return result;
- }
-
- IExtension[] extensions = extp.getExtensions();
- // Need to be in plugin order so that first ones processed have no dependencies on others.
- HashMap bundlesToExtensions = new HashMap(extensions.length);
- for (int i = 0; i < extensions.length; i++) {
- Bundle bundle = Platform.getBundle(extensions[i].getNamespace());
- IExtension[] ext = (IExtension[]) bundlesToExtensions.get(bundle);
- if (ext == null)
- bundlesToExtensions.put(bundle, new IExtension[] {extensions[i]});
- else {
- // More than one extension defined in this plugin.
- IExtension[] newExt = new IExtension[ext.length + 1];
- System.arraycopy(ext, 0, newExt, 0, ext.length);
- newExt[newExt.length-1] = extensions[i];
- bundlesToExtensions.put(bundle, newExt);
- }
- }
-
- // Now order them so we process in required order.
- // If it is the first time, we are about to find out many inter-dependencies
- // notify the cache on a start/end of a transaction so that updates (if new
- // dependencies) are updated only once
- Bundle[] ordered = ProxyPlugin.orderPlugins(bundlesToExtensions.keySet());
- result.containerToContributions = new HashMap(ordered.length);
- result.pluginToContributions = new HashMap(ordered.length);
- for (int i = 0; i < ordered.length; i++) {
- IExtension[] exts = (IExtension[]) bundlesToExtensions.get(ordered[i]);
- for (int j = 0; j < exts.length; j++) {
- IConfigurationElement[] configs = exts[j].getConfigurationElements();
- // Technically we expect the config elements to have a name of "contributor", but since that
- // is all that can be there, we will ignore it. The content is what is important.
- for (int k = 0; k < configs.length; k++) {
- String container = configs[k].getAttributeAsIs(PI_CONTAINER);
- if (container != null) {
- List contributions = (List) result.containerToContributions.get(container);
- if (contributions == null) {
- contributions = new ArrayList(1);
- result.containerToContributions.put(container, contributions);
- }
- contributions.add(configs[k]);
- }
- String plugin = configs[k].getAttributeAsIs(PI_PLUGIN);
- if (plugin != null) {
- List contributions = (List) result.pluginToContributions.get(plugin);
- if (contributions == null) {
- contributions = new ArrayList(1);
- result.pluginToContributions.put(plugin, contributions);
- }
- contributions.add(configs[k]);
- }
- }
- }
- }
-
- // Now go through and turn all of the contribution lists into arrays.
- for (Iterator iter = result.containerToContributions.entrySet().iterator(); iter.hasNext();) {
- Map.Entry entry = (Map.Entry) iter.next();
- entry.setValue(((List) entry.getValue()).toArray(new IConfigurationElement[((List) entry.getValue()).size()]));
- }
- for (Iterator iter = result.pluginToContributions.entrySet().iterator(); iter.hasNext();) {
- Map.Entry entry = (Map.Entry) iter.next();
- entry.setValue(((List) entry.getValue()).toArray(new IConfigurationElement[((List) entry.getValue()).size()]));
- }
-
- return result;
- }
-
- /**
- * For the given java project, return the maps of container paths and plugins found. The keys will be of type as specified for the parms
- * while the value will be Boolean, true if it was visible, and false if it wasn't.
- * For example if <code>/SWT_CONTAINER/subpath1</code> is found in the projects path (or from required projects), then
- * the container id will be added to the map. They come from the raw classpath entries of the projects.
- *
- * @param jproject
- * @param containerIds This map will be filled in with container ids as keys (type is <code>java.lang.String</code>) that are found in the projects build path. The value will be a Boolean, true if this container id was visible to the project (i.e. was in the project or was exported from a required project).
- * @param containers This map will be filled in with classpath containers as keys found in the projects build path. The value will be a Boolean as in container ids map.
- * @param pluginIds This map will be filled in with plugin ids as keys (type is <code>java.lang.String</code>) that are found in the projects build path. The value will be a Boolean as in container ids map.
- * @param projects This map will be filled in with project paths (except the top project) as keys (type is <code>org.eclipse.core.runtime.IPath</code>) that are found in the projects build path. The value will be a Boolean as in container ids map.
- *
- * @since 1.0.0
- */
- public void getIDsFound(IJavaProject jproject, Map containerIds, Map containers, Map pluginIds, Map projects) throws JavaModelException {
- IPath projectPath = jproject.getProject().getFullPath();
- projects.put(projectPath, Boolean.TRUE);
- expandProject(projectPath, containerIds, containers, pluginIds, projects, true, true);
- projects.remove(projectPath); // Don't need to include itself now, was needed for testing so if ciruclar we don't get into a loop.
- }
-
- /*
- * The passed in visible flag tells if this project is visible and its contents are visible if they are exported.
- * Only exception is if first is true, then all contents are visible to the top level project.
- */
- private void expandProject(IPath projectPath, Map containerIds, Map containers, Map pluginIds, Map projects, boolean visible, boolean first) throws JavaModelException {
- IResource res = ResourcesPlugin.getWorkspace().getRoot().findMember(projectPath.lastSegment());
- if (res == null)
- return; // Not exist so don't delve into it.
- IJavaProject project = (IJavaProject)JavaCore.create(res);
- if (project == null || !project.exists() || !project.getProject().isOpen())
- return; // Not exist as a java project or not open, so don't delve into it.
-
- IClasspathEntry[] entries = project.getRawClasspath();
- for (int i = 0; i < entries.length; i++) {
- IClasspathEntry entry = entries[i];
- Boolean currentFlag = null; // Current setting value.
- boolean newFlag; // The new setting value.
- switch (entry.getEntryKind()) {
- case IClasspathEntry.CPE_PROJECT:
- // Force true if already true, or this is the first project, or this project is visible and the entry is exported. These override a previous false.
- currentFlag = (Boolean) projects.get(entry.getPath());
- newFlag = (currentFlag != null && currentFlag.booleanValue()) || first || (visible && entry.isExported());
- if (currentFlag == null || currentFlag.booleanValue() != newFlag)
- projects.put(entry.getPath(), newFlag ? Boolean.TRUE : Boolean.FALSE );
- if (currentFlag == null)
- expandProject(entry.getPath(), containerIds, containers, pluginIds, projects, visible && entry.isExported(), false);
- break;
- case IClasspathEntry.CPE_CONTAINER:
- if (!first && "org.eclipse.jdt.launching.JRE_CONTAINER".equals(entry.getPath().segment(0))) //$NON-NLS-1$
- break; // The first project determines the JRE, so any subsequent ones can be ignored.
- currentFlag = (Boolean) containerIds.get(entry.getPath().segment(0));
- newFlag = (currentFlag != null && currentFlag.booleanValue()) || first || (visible && entry.isExported());
- if (currentFlag == null || currentFlag.booleanValue() != newFlag)
- containerIds.put(entry.getPath().segment(0), newFlag ? Boolean.TRUE : Boolean.FALSE );
-
- IClasspathContainer container = JavaCore.getClasspathContainer(entry.getPath(), project);
- // Force true if already true, or this is the first project, or this project is visible and the entry is exported. These override a previous false.
- currentFlag = (Boolean) containers.get(container);
- newFlag = (currentFlag != null && currentFlag.booleanValue()) || first || (visible && entry.isExported());
- if (currentFlag == null || currentFlag.booleanValue() != newFlag)
- containers.put(container, newFlag ? Boolean.TRUE : Boolean.FALSE );
- break;
- case IClasspathEntry.CPE_VARIABLE:
- // We only care about JRE_LIB. If we have that, then we will treat it as JRE_CONTAINER. Only
- // care about first project too, because the first project is the one that determines the JRE type.
- if (first && "JRE_LIB".equals(entry.getPath().segment(0))) { //$NON-NLS-1$
- currentFlag = (Boolean) containerIds.get("org.eclipse.jdt.launching.JRE_CONTAINER"); //$NON-NLS-1$
- if (currentFlag == null || !currentFlag.booleanValue())
- containerIds.put("org.eclipse.jdt.launching.JRE_CONTAINER", Boolean.TRUE); //$NON-NLS-1$
- }
- break;
- default:
- break;
- }
- }
-
- findPlugins(pluginIds, visible, first, project);
- }
-
- /**
- * Find the plugins that the given project references, either directly or indirectly.
- * <p>
- * The map will be of plugin ids to a Boolean. If the boolean is <code>BooleanTRUE</code>,
- * then the plugin is visible to the given project. the visible and first flags
- * will modify this. If first is true, then all direct plugins will be visible,
- * else only exported plugins will be visible. If visible is false and first is false, then it doesn't matter, all of the
- * plugins will not be visible.
- * <p>
- * Visible means that classes in the plugin can be referenced directly from code. Not visible
- * means that they can only be referenced from some other plugin in the list. In other words,
- * visible ones can be directly referenced, but invisible ones can only be referenced from
- * plugins that can see it.
- * <p>
- * For most uses, first and visible should be true. Then it will treat the project as the toplevel
- * project and will return true for those that are visible to it, either directly or indirectly.
- * These flags were added for more special cases where may be calling on a project that is deeper
- * down in the classpath were visibilty has already been decided.
- * <p>
- * Note: PDE must be installed for this to return anything, otherwise it will leave
- * the map alone.
- *
- * @param pluginIds map of pluginIds->Boolean(TRUE is visible)
- * @param visible <code>true</code> means this project is visible, so any plugins visible to it will be visible, else none will be visible.
- * @param first <code>true</code> if this is the top project of interest. This means that all plugins within the project are visible. Else only exported projects will be visible.
- * @param project project to start looking from
- *
- * @since 1.0.2
- */
- public void findPlugins(Map pluginIds, boolean visible, boolean first, IJavaProject project) {
- try {
- // To prevent unnecessary loading of the PDE plugin, find the plugins only if this project is a PDE plugin project.
- if (isPDEProject(project)) {
- IPDEProcessForPlugin pdeprocess = getPDEProcessForPlugin();
- if (pdeprocess != null)
- pdeprocess.findPlugins(project, pluginIds, visible, first); // expand the plugins for this project, if any.
- }
- } catch (CoreException e) {
- }
- }
-
- /**
- *
- * @param project
- *
- * @return true if this is a Plugin project or false if not
- * @throws CoreException
- *
- * @since 1.1.0
- */
- public static boolean isPDEProject(IJavaProject project) throws CoreException {
- return project.getProject().hasNature(PDE_NATURE_ID);
- }
-
-
- /*
- * Interface for processing Plugins. Used when PDE plugin is present in the installation.
- *
- * @since 1.0.2
- */
- interface IPDEProcessForPlugin {
-
- /*
- * Go through the project and find all of the plugins it references, either directly or through
- * the referenced plugins, and mark them as visible or not.
- */
- public abstract void findPlugins(IJavaProject project, Map pluginIds, boolean visible, boolean first);
- }
-
- /*
- * Try to get the pde process for plugin. If already tried once and not found, then forget it.
- * <package-protected> because PDEContributeClasspath needs it too.
- */
- private IPDEProcessForPlugin pdeProcessForPlugin;
- private boolean triedPDEProcess;
- IPDEProcessForPlugin getPDEProcessForPlugin() {
- if (!triedPDEProcess) {
- triedPDEProcess = true;
- if (Platform.getBundle("org.eclipse.pde.core") != null) { //$NON-NLS-1$
- try {
- Class classPDEProcess = Class.forName("org.eclipse.jem.internal.proxy.core.PDEProcessForPlugin"); //$NON-NLS-1$
- pdeProcessForPlugin = (IPDEProcessForPlugin) classPDEProcess.newInstance();
- } catch (ClassNotFoundException e) {
- // Not found, do nothing.
- } catch (InstantiationException e) {
- getLogger().log(e, Level.WARNING);
- } catch (IllegalAccessException e) {
- getLogger().log(e, Level.WARNING);
- }
- }
- }
- return pdeProcessForPlugin;
- }
-
- /**
- * This tries to find a jar in the bundle specified, and the attached source using the
- * PDE source location extension point. The jar must exist for source to be attachable.
- * The source must be in the standard PDE source plugin. I.e. it must be in a directory
- * of the name "bundlename_bundleversion", and in the same path from there as in the
- * jar, plus the name must be "jarnamesrc.zip".
- * <p>
- * The returned URL's will not be Platform.resolve(). They will be in form returned from
- * Platform.find().
- *
- * @param bundle bundle to search, will search fragments too.
- * @param filepath filepath from the root of the bundle/fragment where the jar will be found.
- * @return two URL's. [0] is the URL to the jar, <code>null</code> if not found, [2] is the URL to the source zip, <code>null</code> if not found.
- *
- * @since 1.0.0
- */
- public URL[] findPluginJarAndAttachedSource(Bundle bundle, IPath filepath) {
- // This is a bit kludgy, but the algorithm is to find the file first, and then get the root url of the bundle/fragment
- // that matches the found file. This will be used to calculate the name of the directory under the source. From there
- // all of the source extensions will be searched for the source zip file.
- // This is assuming that find returns a url where the file part of the url is a standard path and doesn't have
- // things like special chars to indicate within a jar. That would appear when it is resolved, but I think that the
- // unresolved ones from find are typically "jarbundle://nnn/path" or something like that. This is a gray area.
- URL jarURL = Platform.find(bundle, filepath);
- if (jarURL == null)
- return new URL[2];
-
- // Found it, so let's try to find which bundle/fragment it was found in.
- String jarString = jarURL.toExternalForm();
- // First the bundle itself.
- String installLoc = bundle.getEntry("/").toExternalForm(); //$NON-NLS-1$
- URL sourceURL = null;
- if (jarString.startsWith(installLoc))
- sourceURL = getSrcFrom(bundle, installLoc, jarString);
- else {
- // Now look in the fragments.
- Bundle[] frags = Platform.getFragments(bundle);
- for (int i = 0; i < frags.length; i++) {
- installLoc = frags[i].getEntry("/").toExternalForm(); //$NON-NLS-1$
- if (jarString.startsWith(installLoc)) {
- sourceURL = getSrcFrom(frags[i], installLoc, jarString);
- break;
- }
- }
- }
- return new URL[] {jarURL, sourceURL};
- }
-
- private URL getSrcFrom(Bundle bundle, String installLoc, String jarString) {
- // format of path in a PDE source plugin is (under the "src" directory from the extension point),
- // "bundlename_bundleversion/pathOfJar/jarnamesrc.zip". However there is no way to know
- // which extension has the source in it, so we need to search them all.
-
- IPath srcPath = new Path(bundle.getSymbolicName()+"_"+ (String) bundle.getHeaders("").get(Constants.BUNDLE_VERSION)); //$NON-NLS-1$ //$NON-NLS-2$ $NON-NLS-2$
- srcPath = srcPath.append(new Path(jarString.substring(installLoc.length())));
- if (srcPath.segmentCount() < 2)
- return null; // Something is not right. No jar name.
- srcPath = srcPath.removeFileExtension(); // Remove the .jar.
- String jarName = srcPath.lastSegment(); // This should be the jar name.
- srcPath = srcPath.removeLastSegments(1).append(jarName+"src.zip"); //$NON-NLS-1$
-
- // Now look through all of the src extensions. Can't tell if the extension is from a fragment or a bundle, so we need to
- // use Platform.find() to look in the bundle and fragment. So we may get a dup search if there is a fragment source
- // (for example platform source and win32 platform source (which is a fragment of platform source).
- IConfigurationElement[] ces = Platform.getExtensionRegistry().getConfigurationElementsFor("org.eclipse.pde.core.source"); //$NON-NLS-1$
- for (int i = 0; i < ces.length; i++) {
- IPath srcsrch = new Path(ces[i].getAttributeAsIs("path")).append(srcPath); //$NON-NLS-1$
- Bundle srcBundle = Platform.getBundle(ces[i].getDeclaringExtension().getNamespace());
- URL srcUrl = Platform.find(srcBundle, srcsrch);
- if (srcUrl != null) {
- return srcUrl;
- }
- }
- return null;
- }
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ThrowableProxy.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ThrowableProxy.java
deleted file mode 100644
index 38af2fa03..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ThrowableProxy.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package org.eclipse.jem.internal.proxy.core;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: ThrowableProxy.java,v $
- * $Revision: 1.3 $ $Date: 2005/05/11 19:01:12 $
- */
-
-
-/**
- * This is a proxy wrapper for an exception being thrown on the
- * remove VM. The standard exception methods refer to this proxy.
- * To refer to the proxied exception itself, the methods defined
- * in here would be used.
- */
-public abstract class ThrowableProxy extends java.lang.Exception implements IBeanProxy {
- /**
- * Constructs an <code>Exception</code> with no specified detail message.
- */
- public ThrowableProxy() {
- super();
- }
-
- /**
- * @param message
- * @param cause
- *
- * @since 1.1.0
- */
- protected ThrowableProxy(String message, Throwable cause) {
- super(message, cause);
- }
- /**
- * @param cause
- *
- * @since 1.1.0
- */
- protected ThrowableProxy(Throwable cause) {
- super(cause);
- }
- /**
- * Constructs an <code>Exception</code> with the specified detail message.
- *
- * @param s the detail message.
- */
- public ThrowableProxy(String s) {
- super(s);
- }
-
-
- public abstract String getProxyLocalizedMessage();
- public abstract String getProxyMessage();
- public abstract void printProxyStackTrace(java.io.PrintWriter writer);
- public abstract void printProxyStackTrace(java.io.PrintStream stream);
- public abstract void printProxyStackTrace();
-
- public String toString() {
- return super.toString() + "Proxy: " + toBeanString(); //$NON-NLS1$ - toString's aren't nls'ed. //$NON-NLS-1$
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/UIRunner.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/UIRunner.java
deleted file mode 100644
index d3da4c996..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/UIRunner.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: UIRunner.java,v $
- * $Revision: 1.3 $ $Date: 2005/02/15 22:53:46 $
- */
-package org.eclipse.jem.internal.proxy.core;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.logging.Level;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PlatformUI;
-
-
-/**
- * The actual implementation of IUIRunner to run the build under
- * IProgressService control if in the UI thread.
- *
- * <package-protected> because should only be used within here.
- *
- * @since 1.0.0
- */
-class UIRunner implements IUIRunner {
-
- /*
- * Special class that takes a progress monitor 1 and only handles isCanceled from it,
- * but everything else is forwarded to progress monitor 2. This allows the pm that
- * is sent into handleBuild to signal a cancel even though the progress service
- * sends in its own pm.
- *
- * @since 1.0.0
- */
- private static class UIRunnerProgressMonitor extends ProgressMonitorWrapper {
- private IProgressMonitor pmcancel;
-
- public UIRunnerProgressMonitor(IProgressMonitor pmcancel, IProgressMonitor pmmain) {
- super(pmmain);
- this.pmcancel = pmcancel;
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.core.runtime.IProgressMonitor#isCanceled()
- */
- public boolean isCanceled() {
- return pmcancel.isCanceled() || super.isCanceled();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.core.runtime.IProgressMonitor#setCanceled(boolean)
- */
- public void setCanceled(boolean value) {
- super.setCanceled(value);
- pmcancel.setCanceled(value); // Cancel it too now.
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IUIRunner#handleBuild(org.eclipse.core.runtime.IProgressMonitor)
- */
- public void handleBuild(final IProgressMonitor pm) throws CoreException {
- if (!PlatformUI.isWorkbenchRunning() || Display.getCurrent() == null) {
- ProxyLaunchSupport.runBuild(pm);
- } else {
- pm.beginTask("", 100); //$NON-NLS-1$
- try {
- PlatformUI.getWorkbench().getProgressService().busyCursorWhile(new IRunnableWithProgress() {
-
- public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
- IProgressMonitor uipm = new UIRunnerProgressMonitor(pm, monitor);
- try {
- ProxyLaunchSupport.runBuild(uipm);
- } catch (CoreException e) {
- throw new InvocationTargetException(e);
- }
- if (uipm.isCanceled()) {
- pm.setCanceled(true); // Make sure that cancel got through (could of come from monitor instead).
- throw new InterruptedException();
- }
- }
- });
- } catch (InvocationTargetException e) {
- if (e.getCause() instanceof CoreException)
- throw (CoreException) e.getCause();
- ProxyPlugin.getPlugin().getLogger().log(e.getCause(), Level.WARNING);
- } catch (InterruptedException e) {
- // It was canceled, launch will be canceled too. pm is already marked canceled and caller can check that
- }
- pm.done();
- }
- }
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/messages.properties b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/messages.properties
deleted file mode 100644
index 9a3946a5a..000000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/messages.properties
+++ /dev/null
@@ -1,48 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/messages.properties,v $
-# $Revision: 1.10 $ $Date: 2005/06/21 19:36:48 $
-#
-
-
-
-#
-# Exception Messages. All of these messages are the text of an java exception.
-#
-UnexpectedException_EXC_ = IWAV0064E Unexpected exception thrown.
-
-# {0} and {1} are java classes (e.g. java.lang.Object)
-ClassCast_EXC__IncorrectType = IWAV0065E "{0}" is neither a subclass of, nor does it implement, class "{1}".
-
-# Standard Bean Proxy Factory and Standard Bean Type Proxy Factory are terms in beaninfo. They are the
-# standard (i.e. base) factories for beans or bean types. Bean types are java classes.
-ProxyFactory_EXC__NoBeanProxyFactory = IWAV0066E No Standard Bean Proxy Factory has been set.
-ProxyFactory_EXC__NoBeanTypeProxyFactory = IWAV0067E No Standard Bean Type Proxy Factory has been set.
-
-
-# {0} is the title of a project.
-Not_Java_Project_WARN_ = IWAV0068W Project "{0}" is not a java project.
-No_VM_WARN_ = IWAV0069W Project "{0}" has no Java JRE defined to use to run programs within this project.
-No_Implementation_WARN_ = IWAV0070W Cannot find a proxy implementation to use for project "{0}."
-
-ProxyLaunch = Launching Local Proxy VM
-ProxyWaitForBuild = Waiting for build to complete
-Expression_InInvalidStateDueTo_EXC_ = IWAV0162E Expression is in invalid state due to "{0}"
-Expression_InInvalidState_EXC_ = IWAV0163E Expression is in invalid state
-Expression_TypeSentInInvalidOrder_EXC_ = IWAV0164E Expression type sent in invalid order, received: {0}, expected {1}.
-Expression_ArrayTypeNotAnArray_EXC_ = IWAV0165E ArrayType "{0}" is not an array.
-Expression_CannotHandleNoReceiveOnFieldAccess_EXC_ = IWAV0166E Access by field name ({0}) (not by proxy) requires a receiver.
-Expression_MethodsNeedReceiver_EXC_ = IWAV0167E Access by method name ({0}) (not by proxy) requires a receiver.
-Expression_InvalidMarkNesting = IWAV0168E Improper nesting of mark statements in Expression. Tried to pop or endMark to before current mark. Tried to go past Mark# {0}.
-ProxyPlugin_CleanupDefaultProxyLaunchConfigurations = Clean up default proxy launch configurations.
-ProxyLaunchSupport_RegistryCouldNotStartForSomeReason_WARN_ = IWAV0168W Registry could not be started for some reason.
-Expression_CreateProxyReassignmentExpression_InvalidForReassignment_EXC_=Invalid expression type for reassignment: {0}
diff --git a/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/AmbiguousMethodException.java b/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/AmbiguousMethodException.java
deleted file mode 100644
index a832ca03c..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/AmbiguousMethodException.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- * $RCSfile: AmbiguousMethodException.java,v $
- * $Revision: 1.3 $ $Date: 2005/06/16 17:46:14 $
- */
-package org.eclipse.jem.internal.proxy.common;
-
-
-/**
- * Ambiguous Method Exception. I.E. There is more than one that could be used.
- */
-public class AmbiguousMethodException extends Exception {
- /**
- * Comment for <code>serialVersionUID</code>
- *
- * @since 1.1.0
- */
- private static final long serialVersionUID = -7084137612344373381L;
- public AmbiguousMethodException() {
- }
- public AmbiguousMethodException(String msg) {
- super(msg);
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/CommandException.java b/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/CommandException.java
deleted file mode 100644
index 6058b23e9..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/CommandException.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package org.eclipse.jem.internal.proxy.common;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: CommandException.java,v $
- * $Revision: 1.3 $ $Date: 2005/06/16 17:46:14 $
- */
-/**
- * An error occurred during command processing.
- *
- */
-
-public class CommandException extends Exception {
- /**
- * Comment for <code>serialVersionUID</code>
- *
- * @since 1.1.0
- */
- private static final long serialVersionUID = -2519238571145682514L;
- protected final Object fExceptionData;
-
- public CommandException() {
- fExceptionData = null;
- }
-
- public CommandException(Object data) {
- fExceptionData = data;
- }
-
- public CommandException(String msg, Object data) {
- super(msg);
- fExceptionData = data;
- }
-
- public Object getExceptionData() {
- return fExceptionData;
- }
-
- public boolean isRecoverable() {
- return false; // By default Command Exceptions are not recoverable.
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/ICallback.java b/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/ICallback.java
deleted file mode 100644
index a30962ce0..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/ICallback.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.eclipse.jem.internal.proxy.common;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: ICallback.java,v $
- * $Revision: 1.3 $ $Date: 2005/07/08 17:51:47 $
- */
-
-/**
- * This interface is to be implemented by any callback.
- * The callback will use the IVMCallbackServer passed in to
- * get callback handlers, and the id passed in is
- * to be passed to these handlers.
- */
-public interface ICallback {
-
- /**
- * Initialize the callback
- */
- public void initializeCallback(IVMCallbackServer vmServer, int callbackID);
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/ICallbackHandler.java b/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/ICallbackHandler.java
deleted file mode 100644
index 6149df205..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/ICallbackHandler.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.common;
-/*
- * $RCSfile: ICallbackHandler.java,v $
- * $Revision: 1.7 $ $Date: 2005/07/08 17:51:47 $
- */
-
-/**
- * This is the interface for a callback handler.
- * Users will talk to this interface to perform
- * callbacks.
- */
-public interface ICallbackHandler {
-
- /**
- * Callback, but send the parm as an object, ie. it must
- * be nothing but constants, e.g. String, Integer, or an
- * array of constants. Constants should not be things like
- * regular objects. This is because only standard java.lang
- * type constants can be assured to be available on the other
- * client. Also you don't want to send big objects. It must
- * be constants that don't need to be sent back for any reason
- * since their identity will be lost in the transfer.
- * <p>
- * This should be used if there are no parms (i.e. it is null).
- * <p>
- * To send big objects, use the callback stream.
- *
- * @param callbackID
- * @param msgID
- * @param parm
- * @return
- * @throws CommandException
- *
- * @see IVMCallbackServer#requestStream(int, int)
- * @since 1.0.0
- */
- public Object callbackAsConstants(int callbackID, int msgID, Object parm) throws CommandException;
-
- /**
- * Callback to registered client.
- * <p>
- * The parms can be <code>null</code> if no parms, or it is an array of parms.
- * The parms
- * will be turned into proxies on the client vm. So the callback
- * will recieve an array of proxies to the values in the parms.
- * If any of the entries in the array is itself an array, a
- * proxy to the array will be created and sent. The array itself
- * will not be sent.
- * <p>
- * If an array entry should go across as an array of proxies and
- * not as one proxy to an array, then the entry needs to be an
- * instance of {@link ICallbackHandler.TransmitableArray transmitableArray}. This will flag
- * that it should transmit the entire entry as proxies. This should
- * be used sparingly, only if there isn't much data in the array and
- * all of the array would be used on the client. That way transmitting
- * the entire array will be faster than accessing individual components.
- * <p>
- * If the array contains only one entry or the parm itself is null, then {@link org.eclipse.jem.internal.proxy.core.ICallback#calledBack(int, IBeanProxy)}
- * will be called. Else {@link org.eclipse.jem.internal.proxy.core.ICallback#calledBack(int, Object[])} will be called with all of the parms
- * turned into proxies as mentioned in the previous paragraph.
- *
- * @param callbackID The id of the callback. This will be given
- * to the callback when it is created, and it must pass
- * on to the handler. That way it is know which callback
- * to call on the client.
- * @param msgID The id of the message for the callback. This is an
- * agreed upon id of the developers of the callback on both
- * sides.
- * @param parms Null if no parms, or an array of objects to send to the client vm. See the comments
- * above for a complete description of the parameter.
- *
- * @see ICallbackHandler.TransmitableArray
- */
- public Object callbackWithParms(int callbackID, int msgID, Object[] parms) throws CommandException;
-
- /**
- * Array wrapper that turns an array for parameters into a transmittable array.
- *
- * @see ICallbackHandler#callbackWithParms(int, int, Object[])
- * @since 1.1.0
- */
- public static class TransmitableArray {
- protected final Object[] fArray;
- public TransmitableArray(Object[] array) {
- fArray = array;
- }
- public Object[] getArray() {
- return fArray;
- }
- }
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/ICallbackRunnable.java b/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/ICallbackRunnable.java
deleted file mode 100644
index 4bfebacdc..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/ICallbackRunnable.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: ICallbackRunnable.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:54:34 $
- */
-package org.eclipse.jem.internal.proxy.common;
-
-/**
- * Users would implement this as a runnable to
- * send a callback request.
- */
-public interface ICallbackRunnable {
-
- /**
- * The actual run code.
- */
- public Object run(ICallbackHandler handler) throws CommandException;
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/ICommandException.java b/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/ICommandException.java
deleted file mode 100644
index 51e784576..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/ICommandException.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package org.eclipse.jem.internal.proxy.common;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: ICommandException.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:54:34 $
- */
-
-
-public class ICommandException {
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/IVMCallbackServer.java b/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/IVMCallbackServer.java
deleted file mode 100644
index 6fef09b9e..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/IVMCallbackServer.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.eclipse.jem.internal.proxy.common;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile$
- * $Revision$ $Date$
- */
-
-import java.io.OutputStream;
-/**
- * This is the interface for accessing the
- * VM callback Server. It will be given to an
- * ICallback so that the callback can access
- * the server to request a callback.
- */
-public interface IVMCallbackServer {
-
- /**
- * Get the IVMServer for this callback server.
- * @return
- *
- * @since 1.1.0
- */
- public IVMServer getIVMServer();
-
-
- /**
- * Process a callback. The runnable contains the
- * actual code.
- */
- public Object doCallback(ICallbackRunnable runnable) throws CommandException;
-
- /**
- * Request a stream for writing a lot of data (suggested for larger
- * than several thousand bytes). The connection will be assigned
- * to this stream until the stream is closed.
- */
- public OutputStream requestStream(int callbackID, int msgID) throws CommandException;
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/IVMServer.java b/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/IVMServer.java
deleted file mode 100644
index 8dd8aa96f..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/IVMServer.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- * $RCSfile: IVMServer.java,v $
- * $Revision: 1.3 $ $Date: 2005/07/08 17:51:47 $
- */
-package org.eclipse.jem.internal.proxy.common;
-
-/**
- * This is the base server for the vm on the vm side (i.e. not the client side).
- * <p>
- * It can be passed to proxies if they need to access the vm server.
- * @since 1.1.0
- */
-public interface IVMServer {
-
- /**
- * Add a runnable that will be called if shutdown is requested. If already added,
- * it will not be added again.
- * <p>
- * The body of the runnable must not do any vm server calls. That is because
- * the server is shutdown at this point. The body must simply do clean up code.
- * The shutdown will not continue until the call to the runnable is returned.
- * <p>
- * Calls to this will be ignored if shutdown has already started.
- * @param runnable
- *
- * @since 1.1.0
- */
- public void addShutdownListener(Runnable runnable);
-
- /**
- * Remove the shutdown runnable from the list. If not added, then not an error to call this.
- * <p>
- * Calls to this will be ignored if shutdown has already started.
- * @param runnable
- *
- * @since 1.1.0
- */
- public void removeShutdownListener(Runnable runnable);
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/MapTypes.java b/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/MapTypes.java
deleted file mode 100644
index 20b3fa5b4..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/MapTypes.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: MapTypes.java,v $
- * $Revision: 1.7 $ $Date: 2005/07/14 15:14:18 $
- */
-package org.eclipse.jem.internal.proxy.common;
-
-import java.util.HashMap;
-
-
-/**
- * This is used for mapping between JNI format and non-JNI format. It also has the
- * maps for primitives.
- * @since 1.0.0
- */
-public class MapTypes {
-
- public final static HashMap MAP_SHORTSIG_TO_TYPE = new HashMap(8);
- public final static HashMap MAP_TYPENAME_TO_SHORTSIG = new HashMap(8);
- static {
- MapTypes.MAP_SHORTSIG_TO_TYPE.put("B", Byte.TYPE); //$NON-NLS-1$
- MapTypes.MAP_SHORTSIG_TO_TYPE.put("C", Character.TYPE); //$NON-NLS-1$
- MapTypes.MAP_SHORTSIG_TO_TYPE.put("D", Double.TYPE); //$NON-NLS-1$
- MapTypes.MAP_SHORTSIG_TO_TYPE.put("F", Float.TYPE); //$NON-NLS-1$
- MapTypes.MAP_SHORTSIG_TO_TYPE.put("I", Integer.TYPE); //$NON-NLS-1$
- MapTypes.MAP_SHORTSIG_TO_TYPE.put("J", Long.TYPE); //$NON-NLS-1$
- MapTypes.MAP_SHORTSIG_TO_TYPE.put("S", Short.TYPE); //$NON-NLS-1$
- MapTypes.MAP_SHORTSIG_TO_TYPE.put("Z", Boolean.TYPE); //$NON-NLS-1$
-
- MapTypes.MAP_TYPENAME_TO_SHORTSIG.put("byte","B"); //$NON-NLS-1$ //$NON-NLS-2$
- MapTypes.MAP_TYPENAME_TO_SHORTSIG.put("char","C"); //$NON-NLS-1$ //$NON-NLS-2$
- MapTypes.MAP_TYPENAME_TO_SHORTSIG.put("double","D"); //$NON-NLS-1$ //$NON-NLS-2$
- MapTypes.MAP_TYPENAME_TO_SHORTSIG.put("float","F"); //$NON-NLS-1$ //$NON-NLS-2$
- MapTypes.MAP_TYPENAME_TO_SHORTSIG.put("int","I"); //$NON-NLS-1$ //$NON-NLS-2$
- MapTypes.MAP_TYPENAME_TO_SHORTSIG.put("long","J"); //$NON-NLS-1$ //$NON-NLS-2$
- MapTypes.MAP_TYPENAME_TO_SHORTSIG.put("short","S"); //$NON-NLS-1$ //$NON-NLS-2$
- MapTypes.MAP_TYPENAME_TO_SHORTSIG.put("boolean","Z"); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
-
-
- /**
- * Convert formal type name for an array (i.e. java.lang.Object[]
- * to the jni format (i.e. [Ljava.lang.Object;)
- * This is used when a name is passed in from the IDE side.
- * The VM side uses the jni format, and all of proxy uses the jni format.
- *
- * @param classname
- * @return string jni form of name.
- *
- * @since 1.0.0
- */
- public static String getJNIFormatName(String classname) {
- if (classname.length() == 0 || !classname.endsWith("]")) //$NON-NLS-1$
- return classname; // Not an array,or invalid
-
- StringBuffer jni = new StringBuffer(classname.length());
- int firstOpenBracket = classname.indexOf('[');
- int ob = firstOpenBracket;
- while (ob > -1) {
- int cb = classname.indexOf(']', ob);
- if (cb == -1)
- break;
- jni.append('[');
- ob = classname.indexOf('[', cb);
- }
-
- String finalType = classname.substring(0, firstOpenBracket).trim();
- if (finalType != null) {
- String shortSig = (String) MapTypes.MAP_TYPENAME_TO_SHORTSIG.get(finalType);
- if (shortSig == null) {
- jni.append('L');
- jni.append(finalType);
- jni.append(';');
- } else {
- jni.append(shortSig);
- }
- }
-
- return jni.toString();
- }
-
- /**
- * This converts from the JNI format to the formal typename.
- *
- * @param jniName
- * @return formal typename
- *
- * @since 1.1.0
- */
- public static String getFormalTypeName(String jniName) {
- if (jniName.charAt(0) == '[') {
- // It is an array
- int dims = jniName.lastIndexOf('[')+1; // Number of dimensions
- int startType = dims;
- StringBuffer fName = new StringBuffer(jniName.length()+(2*dims));
- if (jniName.charAt(startType) == 'L')
- fName.append(jniName.substring(startType+1, jniName.length()-1)); // For "[Ljava.lang.String;" return "java.lang.String"
- else if (jniName.length() == startType+1) {
- // Possible primitive
- Class type = (Class) MAP_SHORTSIG_TO_TYPE.get(jniName.substring(startType, startType+1));
- if (type != null) {
- fName.append(type.getName());
- } else
- return ""; // Invalid if no 'L' and not a primitive. //$NON-NLS-1$
- } else
- return ""; // Invalid, must be either a primitive or 'L' type. //$NON-NLS-1$
- while(dims-- > 0) {
- fName.append("[]"); //$NON-NLS-1$
- }
- return fName.toString();
- } else if (jniName.length() == 1) {
- // Possible primitive.
- Class type = (Class) MAP_SHORTSIG_TO_TYPE.get(jniName);
- if (type != null) {
- return type.getName();
- }
- }
-
- // If got here then just a name as is.
- return jniName;
- }
-
- /**
- * Convert the formal type name, with the given number of dimensions,
- * to an array JNI type.
- * @param finalComponent final component name, should not be an array type.
- * @param dimensions number of dimensions for the array.
- * @return
- *
- * @since 1.1.0
- */
- public static String getJNITypeName(String finalComponent, int dimensions) {
- StringBuffer jni = new StringBuffer(finalComponent.length()+dimensions+2);
- while (dimensions-- > 0) {
- jni.append('[');
- }
-
- String shortSig = (String) MapTypes.MAP_TYPENAME_TO_SHORTSIG.get(finalComponent);
- if (shortSig == null) {
- jni.append('L');
- jni.append(finalComponent);
- jni.append(';');
- } else {
- jni.append(shortSig);
- }
-
- return jni.toString();
- }
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/MethodHelper.java b/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/MethodHelper.java
deleted file mode 100644
index 67aab8770..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/MethodHelper.java
+++ /dev/null
@@ -1,243 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.common;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * This is a class to do message/constructor work.
- * Specifically to find the most appropriate method.
- */
-public class MethodHelper {
-
- /*
- * The class that is used to represent Null class type.
- *
- * @since 1.0.0
- */
- private static class NULL_CLASS {
- }
-
- public static final Class NULL_TYPE = NULL_CLASS.class;
-
- static final ArrayList sPrimitivesOrder;
- static final int sCharPos;
-
- static {
- sPrimitivesOrder = new ArrayList(6);
- sPrimitivesOrder.add(Byte.TYPE);
- sPrimitivesOrder.add(Short.TYPE);
- sPrimitivesOrder.add(Integer.TYPE);
- sPrimitivesOrder.add(Long.TYPE);
- sPrimitivesOrder.add(Float.TYPE);
- sPrimitivesOrder.add(Double.TYPE);
-
- // char can be treated like a short for purposes of ordering.
- sCharPos = sPrimitivesOrder.indexOf(Short.TYPE);
- }
-
- /**
- * Return whether the type2 can be assigned to type1 in
- * method argument conversion.
- */
- public static boolean isAssignableFrom(Class type1, Class type2) {
- if (type1 == type2)
- return true; // They're the same, so assignable.
- if (type1.isPrimitive()) {
- if (type2.isPrimitive()) {
- if (type1 == Boolean.TYPE || type2 == Boolean.TYPE)
- return false; // Since not equal and one is boolean and the other isn't, not assignable
- int type1Pos = (type1 != Character.TYPE) ? sPrimitivesOrder.indexOf(type1) : sCharPos;
- int type2Pos = (type2 != Character.TYPE) ? sPrimitivesOrder.indexOf(type2) : sCharPos;
- return type1Pos > type2Pos; // It can be widened if type1 is higher in the order
- }
- return false; // primitive to non-primitive, not assignable.
- } else
- if (type2 == NULL_TYPE)
- return true; // NULL_TYPE represents null for us, and null can be assigned to any object
- else
- return type1.isAssignableFrom(type2); // Can type2 be assigned to type1
- }
-
-
- /**
- * Every entry in Array2 can be assigned to the corresponding entry in Array1.
- */
- public static boolean isAssignableFrom(Class[] types1, Class[] types2) {
- if (types1.length != types2.length)
- return false; // Not the same size, so not compatible.
- for (int i=0; i<types1.length; i++) {
- if (!isAssignableFrom(types1[i], types2[i]))
- return false;
- }
- return true; // All are assignable
- }
-
- /**
- * Return the index of the most compatible method/constructor from the lists passed in.
- * MethodsList: List of methods (if null then this is for constructors)
- * ParmsList: List of parms for each method (each entry will be Class[]).
- */
- private static int findMostCompatible(List methods, List parms, String ambiguousName) throws AmbiguousMethodException {
- // The algorithm used is from the Java Language Specification 15.12.2.2
- // Find the maximally specific ones
- // This is defined as the one that is more specific then all of the rest.
- // If there are duplicates parms that are maximally specific, then it doesn't matter which choosen
- // because when invoked the JVM will make sure the right thing is done.
- //
- Class[][] parmsCopy = (Class[][]) parms.toArray(new Class[parms.size()][]);
- int size = parmsCopy.length;
- // For each entry see if it is maximally specific, i.e. it is more specific then all of the others.
-nextMethod: for (int i=0; i<size; i++) {
- // For ctors we don't need to test the declaring class because it will always be the same class.
- Class dclClassi = methods != null ? ((Method) methods.get(i)).getDeclaringClass() : null;
- Class[] parmsi = parmsCopy[i];
- for (int j=0; j<size; j++) {
- if (i == j)
- continue;
- // Methodi is more specific if
- // a) Methodi declaring class is assignable to Methodj declaring class
- // b) Methodi parms are assignable to Methodj parms
- //
- // First see if Methodi is more specific, if it is
- // then throw out Methodj and continue
- // If Methodi is not compatible to Methodj, go to the next method for i. Methodi is not the most specific
- // Something else is either more specific or none are ma
- if (dclClassi != null) {
- // Step a
- if (!isAssignableFrom(((Method) methods.get(j)).getDeclaringClass(), dclClassi))
- continue nextMethod; // Methodi is not more specific than Methodj, so try next i.
- }
-
- // Step b
- Class[] parmsj = parmsCopy[j];
- if (!isAssignableFrom(parmsj, parmsi)) {
- // Methodi is not more specific than Methodj, so go to next i.
- continue nextMethod;
- }
- }
- return i; // Methodi is more specific than all of the other ones.
- }
-
- throw new AmbiguousMethodException(ambiguousName); // There was not one more specific than all of the others.
- }
-
- /**
- * Find the most compatible method for the given arguments.
- */
- public static Method findCompatibleMethod(Class receiver, String methodName, Class[] arguments) throws NoSuchMethodException, AmbiguousMethodException {
- try {
- Method mthd = receiver.getMethod(methodName, arguments);
- return mthd; // Found exact match
- } catch (NoSuchMethodException exc) {
- if (arguments != null) {
- // Need to find most compatible one.
- Method mthds[] = receiver.getMethods();
- ArrayList parmsList = new ArrayList(mthds.length); // The parm list from each compatible method.
- ArrayList mthdsList = new ArrayList(mthds.length); // The list of compatible methods, same order as the parms above.
- for (int i = 0; i < mthds.length; i++) {
- Method mthd = mthds[i];
- if (!mthd.getName().equals(methodName))
- continue; // Not compatible, not same name
- Class[] parms = mthd.getParameterTypes();
- if (!isAssignableFrom(parms, arguments))
- continue; // Not compatible, parms
- // It is compatible with the requested method
- parmsList.add(parms);
- mthdsList.add(mthd);
- }
-
- // Now have list of compatible methods.
- if (parmsList.size() == 0)
- throw throwFixedNoSuchMethod(exc, receiver, methodName, arguments); // None found, so rethrow the exception
- if (parmsList.size() == 1)
- return (Method) mthdsList.get(0); // Only one, so return it
-
- // Now find the most compatible method
- int mostCompatible = findMostCompatible(mthdsList, parmsList, methodName);
- return (Method) mthdsList.get(mostCompatible);
- } else
- throw throwFixedNoSuchMethod(exc, receiver, methodName, arguments); // None found, so rethrow the exception
- }
- }
-
- /*
- * NoSuchMEthodExeception doesn't include the signature. Since these are dynamic searches, the exception itself is useless without
- * the signature. So we add it.
- */
- private static NoSuchMethodException throwFixedNoSuchMethod(NoSuchMethodException e, Class declareClass, String methodName, Class[] argClasses) {
-
- // The default trace doesn't show what method was being searched for, so recreate with that.
- StringBuffer s = new StringBuffer();
- s.append(declareClass.getName());
- s.append('.');
- s.append(methodName);
- s.append('(');
- if (argClasses != null) {
- for (int i = 0; i < argClasses.length; i++) {
- if (i > 0)
- s.append(',');
- s.append(argClasses[i].getName());
- }
- }
- s.append(')');
- NoSuchMethodException ne = new NoSuchMethodException(s.toString());
- ne.setStackTrace(e.getStackTrace());
- return ne;
- }
-
- /**
- * Find the most compatible constructor for the given arguments.
- */
- public static Constructor findCompatibleConstructor(Class receiver, Class[] arguments) throws NoSuchMethodException, AmbiguousMethodException {
- try {
- java.lang.reflect.Constructor ctor = receiver.getDeclaredConstructor(arguments);
- ctor.setAccessible(true); // We allow all access, let ide and compiler handle security.
- return ctor; // Found exact match
- } catch (NoSuchMethodException exc) {
- if (arguments != null) {
- // Need to find most compatible one.
- java.lang.reflect.Constructor ctors[] = receiver.getDeclaredConstructors();
- ArrayList parmsList = new ArrayList(ctors.length); // The parm list from each compatible method.
- ArrayList ctorsList = new ArrayList(ctors.length); // The list of compatible methods, same order as the parms above.
- for (int i = 0; i < ctors.length; i++) {
- java.lang.reflect.Constructor ctor = ctors[i];
- Class[] parms = ctor.getParameterTypes();
- if (!isAssignableFrom(parms, arguments))
- continue; // Not compatible, parms
- // It is compatible with the requested method
- parmsList.add(parms);
- ctorsList.add(ctor);
- }
-
- // Now have list of compatible methods.
- if (parmsList.size() == 0)
- throw exc; // None found, so rethrow the exception
- if (parmsList.size() == 1) {
- java.lang.reflect.Constructor ctor = (java.lang.reflect.Constructor) ctorsList.get(0); // Only one, so return it
- ctor.setAccessible(true); // We allow all access, let ide and compilor handle security.
- return ctor;
- }
-
- // Now find the most compatible ctor
- int mostCompatible = findMostCompatible(null, parmsList, receiver.getName());
- java.lang.reflect.Constructor ctor = (java.lang.reflect.Constructor) ctorsList.get(mostCompatible);
- ctor.setAccessible(true); // We allow all access, let ide and compilor handle security.
- return ctor;
- } else
- throw exc; // None found, so rethrow the exception
- }
- }
-
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/BeanProxyValueSender.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/BeanProxyValueSender.java
deleted file mode 100644
index 2631d1386..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/BeanProxyValueSender.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- * $RCSfile: BeanProxyValueSender.java,v $
- * $Revision: 1.3 $ $Date: 2005/05/11 19:01:12 $
- */
-package org.eclipse.jem.internal.proxy.remote;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.jem.internal.proxy.common.CommandException;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-import org.eclipse.jem.internal.proxy.core.ProxyPlugin;
-import org.eclipse.jem.internal.proxy.core.ThrowableProxy;
-
-/**
- * Useful in REM to get the array of BeanProxyValues.
- *
- * @since 1.1.0
- */
-public class BeanProxyValueSender implements Commands.ValueSender {
- protected int index = 0;
- protected Object[] array;
- private Exception exception;
- private final REMStandardBeanProxyFactory factory;
-
- /**
- * See if there was an exception thrown during reading.
- *
- * @return an exception or <code>null</code> if no exception.
- *
- * @since 1.1.0
- */
- public Exception getException() {
- return exception;
- }
-
- public BeanProxyValueSender(REMStandardBeanProxyFactory factory) {
- this.factory = factory;
- }
- public BeanProxyValueSender(REMStandardBeanProxyFactory factory, Commands.ValueObject arrayHeader) {
- this(factory);
- initialize(arrayHeader);
- }
-
- public void initialize(Commands.ValueObject arrayHeader) {
- index = 0;
- // The array type doesn't matter, it will be an array of objects.
- // The values will either be IBeanProxies or an array, or constants.
- array = new Object[arrayHeader.anInt];
- }
-
- public void clear() {
- array = null;
- index = 0;
- }
-
- public Object[] getArray() {
- return array;
- }
-
- // A new value is being sent to the array
- // NOTE: It is important that this has been called within a transaction.
- public void sendValue(Commands.ValueObject value) {
- try {
- array[index++] = factory.getBeanProxy(value); // Add it to the array
- } catch (ThrowableProxy e) {
- // We can't stop it right away because we can't send exception on, however,
- // we can log it and save the exception.
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", e)); //$NON-NLS-1$
- exception = e;
- } catch (CommandException e) {
- // We can't stop it right away because we can't send exception on, however,
- // we can log it and save the exception.
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", e)); //$NON-NLS-1$
- exception = e;
- }
- }
-
- // The next entry is an array too!
- public Commands.ValueSender nestedArray(Commands.ValueObject arrayHeader) {
- BeanProxyValueSender sender = new BeanProxyValueSender(factory, arrayHeader);
- // Take the newly created array and put it into the current array.
- array[index++] = sender.getArray();
- return sender;
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/DebugModeHelper.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/DebugModeHelper.java
deleted file mode 100644
index 202c87395..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/DebugModeHelper.java
+++ /dev/null
@@ -1,365 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: DebugModeHelper.java,v $
- * $Revision: 1.9 $ $Date: 2005/06/21 20:35:07 $
- */
-package org.eclipse.jem.internal.proxy.remote;
-
-
-import java.lang.reflect.*;
-
-import org.eclipse.core.runtime.Platform;
-import org.osgi.framework.Bundle;
-
-import org.eclipse.jem.internal.proxy.core.ProxyPlugin;
-/**
- * This is a helper for debug mode. It allows access to
- * the workbench, if available, or AWT, if available, for
- * the debug prompts. It uses reflection so that nothing is
- * forced to be loaded or pre-reqd. That way it can run headless.
- */
-
-class DebugModeHelper {
- boolean awt = false;
- boolean console = false;
- boolean setup = false;
- java.io.InputStreamReader inReader = null;
-
- // Workbench reflections
- Object display = null;
- Constructor cMB = null;
- Field fAppModel = null;
- Method fasync = null;
- Method fsync = null;
- Method fSetText = null;
- Method fSetMessage = null;
- Method fOpen = null;
- Method fGetWorkbench = null;
- Class cSWT = null;
-
-
- // AWT Reflections
- Class cMessageDialog = null;
- Method fDoit = null;
-
- protected void setupType() {
- if (setup)
- return;
-
- setup = true;
-
- // See if use system console instead. If false or not set, then try to query usage.
- console = "true".equalsIgnoreCase(Platform.getDebugOption(ProxyPlugin.getPlugin().getBundle().getSymbolicName()+ProxyRemoteUtil.IO_CONSOLE)); //$NON-NLS-1$
- if (console)
- return;
-
- try {
- // See if PlatformUI plugin available.
- Bundle uiBundle = Platform.getBundle("org.eclipse.ui"); //$NON-NLS-1$
- if (uiBundle == null) {
- setupAWT(); // UI not available, try through AWT.
- return;
- }
-
- // Setup Eclipse
- Class cPlatformUI = uiBundle.loadClass("org.eclipse.ui.PlatformUI"); //$NON-NLS-1$
- Method isWBRunning = cPlatformUI.getMethod("isWorkbenchRunning", null); //$NON-NLS-1$
- if (!((Boolean) isWBRunning.invoke(null, null)).booleanValue()) {
- setupAWT(); // UI not available, try through AWT.
- return;
- }
-
- fGetWorkbench = cPlatformUI.getMethod("getWorkbench", null); //$NON-NLS-1$
- Object w = fGetWorkbench.invoke(null, null);
-
- if (w != null) {
- Class cDisplay = uiBundle.loadClass("org.eclipse.swt.widgets.Display"); //$NON-NLS-1$
- Method fGetCurrent = cDisplay.getMethod("getCurrent", null); //$NON-NLS-1$
- Method fGetDefault = cDisplay.getMethod("getDefault", null); //$NON-NLS-1$
- fasync = cDisplay.getMethod("asyncExec", new Class[] {Runnable.class}); //$NON-NLS-1$
- fsync = cDisplay.getMethod("syncExec", new Class[] {Runnable.class}); //$NON-NLS-1$
-
- // Get the display
- display = fGetCurrent.invoke(null, null);
- if (display == null)
- display = fGetDefault.invoke(null, null);
- }
-
- if (display != null) {
- Class cShell = uiBundle.loadClass("org.eclipse.swt.widgets.Shell"); //$NON-NLS-1$
- Class cMessageBox = uiBundle.loadClass("org.eclipse.swt.widgets.MessageBox"); //$NON-NLS-1$
- cMB = cMessageBox.getConstructor(new Class[] {cShell, Integer.TYPE});
-
- fSetText = cMessageBox.getMethod("setText", new Class[] {String.class}); //$NON-NLS-1$
- fSetMessage = cMessageBox.getMethod("setMessage", new Class[] {String.class}); //$NON-NLS-1$
- fOpen = cMessageBox.getMethod("open", null); //$NON-NLS-1$
-
- cSWT = uiBundle.loadClass("org.eclipse.swt.SWT"); //$NON-NLS-1$
- fAppModel = cSWT.getField("APPLICATION_MODAL"); //$NON-NLS-1$
- } else {
- setupAWT(); // UI not available, try through AWT.
- }
- } catch (NoSuchMethodException e) {
- } catch (ClassNotFoundException e) {
- } catch (IllegalAccessException e) {
- } catch (InvocationTargetException e) {
- } catch (NoSuchFieldException e) {
- }
-
- return;
-
- }
-
- protected void setupAWT() {
-
- // See if AWT is available.
- try {
- cMessageDialog = Class.forName("org.eclipse.jem.internal.proxy.remote.MessageDialog"); //$NON-NLS-1$
- fDoit = cMessageDialog.getMethod("doit", new Class[] {String.class, String.class, String.class, String.class}); //$NON-NLS-1$
- awt = true;
- return;
- } catch (ClassNotFoundException e) {
- } catch (NoSuchMethodException e) {
- }
- console = true; // No AWT either, i.e. true headless environment
- }
-
- public boolean debugMode(final String name) {
- boolean debugMode = "true".equalsIgnoreCase(Platform.getDebugOption(ProxyPlugin.getPlugin().getBundle().getSymbolicName()+ProxyRemoteUtil.DEBUG_VM)); //$NON-NLS-1$
- if (!debugMode)
- return debugMode;
-
- setupType();
-
- // See if use system console instead. If false or not set, then try to query usage.
- if (console)
- return debugModeConsole(name);
-
- if (awt)
- return debugModeAWT(name);
-
- try {
- final Field fYes = cSWT.getField("YES"); //$NON-NLS-1$
- Field fNo = cSWT.getField("NO"); //$NON-NLS-1$
- Field fIcon = cSWT.getField("ICON_QUESTION"); //$NON-NLS-1$
-
- final int style = fYes.getInt(null) | fNo.getInt(null) | fIcon.getInt(null) | fAppModel.getInt(null);
- final boolean[] db = new boolean[1];
-
- fsync.invoke(display, new Object[] { new Runnable() {
- /**
- * @see java.lang.Runnable#run()
- */
- public void run() {
- try {
- Object shell = getActiveShell();
- Object mb = cMB.newInstance(new Object[] {shell, new Integer(style)});
- fSetText.invoke(mb, new Object[] {"Debug RemoteVM?"}); //$NON-NLS-1$
- fSetMessage.invoke(mb, new Object[] {"Do you want to start the remote vm ("+name+") in debug mode?"}); // Not NLS'd because this is for internal developers only //$NON-NLS-1$ //$NON-NLS-2$
-
- db[0] = fYes.get(null).equals(fOpen.invoke(mb, null));
- } catch (InstantiationException e) {
- } catch (IllegalAccessException e) {
- } catch (InvocationTargetException e) {
- }
- }
- }});
- return db[0];
- } catch (IllegalAccessException e) {
- } catch (InvocationTargetException e) {
- } catch (NoSuchFieldException e) {
- }
-
- return debugModeAWT(name);
- }
-
-
- /*
- * This must be called from within the display thread.
- */
- protected Object getActiveShell() {
- Object shell = null;
- try {
- Object w = fGetWorkbench.invoke(null, null);
- Object ww = null;
- if (w != null) {
- Class cWorkbench = w.getClass();
- Method getWorkbenchWindow = cWorkbench.getMethod("getActiveWorkbenchWindow", null); //$NON-NLS-1$
- ww = getWorkbenchWindow.invoke(w, null);
- }
- if (ww != null) {
- Class cWorkbenchWindow = ww.getClass();
- Method getShell = cWorkbenchWindow.getMethod("getShell", null); //$NON-NLS-1$
- shell = getShell.invoke(ww, null);
- }
- } catch (IllegalAccessException e) {
- } catch (InvocationTargetException e) {
- } catch (NoSuchMethodException e) {
- }
-
- return shell;
- }
-
- protected boolean debugModeAWT(String name) {
-
- // See if AWT is available.
- try {
- Integer r = (Integer) fDoit.invoke(null, new Object[] {"Debug RemoteVM?", "Do you want to start the remote vm ("+name+") in debug mode?", "Yes", "No"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
- return r.intValue() == 1; // i.e. button1 or "yes" was hit.
- } catch (IllegalAccessException e) {
- } catch (InvocationTargetException e) {
- }
-
- return false; // No AWT either, i.e. headless environment, shouldn't of gotton here.
- }
-
- protected boolean debugModeConsole(String name) {
-
- // Debug through the console
- inReader = new java.io.InputStreamReader(System.in);
- System.out.println("Do you want to start the remote vm ("+name+") in debug mode? (Enter Y or N):"); //$NON-NLS-1$ //$NON-NLS-2$
- char r = ' ';
- try {
- r = Character.toLowerCase((char) inReader.read());
- // Need to flush the input reader now.
- while (inReader.ready())
- inReader.read();
- return r == 'y'; // i.e. "y" was entered.
- } catch (java.io.IOException e) {
- }
-
- return false; // Error reading, so no debugging.
- }
-
- /**
- * Return true if continue debugging.
- */
- public boolean promptPort(final int dport) {
- if (awt)
- return promptPortAWT(dport);
- else if (console)
- return promptPortConsole(dport);
-
- try {
- final Field fOK = cSWT.getField("OK"); //$NON-NLS-1$
- Field fCancel = cSWT.getField("CANCEL"); //$NON-NLS-1$
- Field fIcon = cSWT.getField("ICON_WORKING"); //$NON-NLS-1$
-
- final int style = fOK.getInt(null) | fCancel.getInt(null) | fIcon.getInt(null) | fAppModel.getInt(null);
-
- final boolean[] ok = new boolean[1];
- fsync.invoke(display, new Object[] { new Runnable() {
- /**
- * @see java.lang.Runnable#run()
- */
- public void run() {
- try {
- Object shell = getActiveShell();
- Object mb = cMB.newInstance(new Object[] {shell, new Integer(style)});
- fSetText.invoke(mb, new Object[] {"Connect Debugger to RemoteVM!"}); //$NON-NLS-1$
- fSetMessage.invoke(mb, new Object[] {"You must now attach the debugger to port number "+dport+". Press OK when the debugger is attached. The program will not continue properly without the debugger being attached. Press Cancel if you could not connect the debugger. This will still cause an error, but it will clean up better."}); // Not NLS'd because this is for internal developers only //$NON-NLS-1$ //$NON-NLS-2$
- ok[0] = fOK.get(null).equals(fOpen.invoke(mb, null));
- } catch (InstantiationException e) {
- } catch (IllegalAccessException e) {
- } catch (InvocationTargetException e) {
- }
- }
- }});
- return ok[0];
- } catch (NoSuchFieldException e) {
- } catch (InvocationTargetException e) {
- } catch (IllegalAccessException e) {
- }
- return false;
- }
-
- protected boolean promptPortAWT(int dport) {
- try {
- Integer r = (Integer) fDoit.invoke(null, new Object[] {"Connect Debugger to RemoteVM!", "You must now attach the debugger to port number "+dport+". Press OK when the debugger is attached. The program will not continue properly without the debugger being attached. Press Cancel if you could not connect the debugger. This will still cause an error, but it will clean up better.", "OK", "Cancel"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
- return r.intValue() == 1; // i.e. button1 or "OK" was hit.
- } catch (InvocationTargetException e) {
- } catch (IllegalAccessException e) {
- }
-
- return false;
- }
-
- protected boolean promptPortConsole(int dport) {
- System.out.println("You must now attach the debugger to port number "+dport+". Enter 'y' when the debugger is attached. The program will not continue properly without the debugger being attached. Press 'n' if you could not connect the debugger. This will still cause an error, but it will clean up better. Enter 'y' or 'n':"); //$NON-NLS-1$ //$NON-NLS-2$
- char r = ' ';
- try {
- r = Character.toLowerCase((char) inReader.read());
- while (inReader.ready())
- inReader.read();
- return r == 'y'; // i.e. "y" was entered, go on
- } catch (java.io.IOException e) {
- }
-
- return false;
- }
-
- /**
- * Display an error msg. There will only be an OK button.
- * This will always display, debug mode won't be looked at.
- * This is for errors. This will be displayed async, so this
- * may return before the msg has been displayed and answered,
- * but since the only response is OK, it doesn't really matter.
- */
- public void displayErrorMessage(final String title, final String msg) {
- setupType();
- if (console)
- displayErrorMessageConsole(title, msg);
- else if (awt)
- displayErrorMessageAWT(title, msg);
- else {
- try { // This needs to be done in display thread.
- Field fOK = cSWT.getField("OK"); //$NON-NLS-1$
- Field fIcon = cSWT.getField("ICON_ERROR"); //$NON-NLS-1$
-
- final int style = fOK.getInt(null) | fIcon.getInt(null) | fAppModel.getInt(null);
- fasync.invoke(display, new Object[] { new Runnable() {
- /**
- * @see java.lang.Runnable#run()
- */
- public void run() { try { Object shell = getActiveShell();
- Object mb = cMB.newInstance(new Object[] { shell, new Integer(style)});
-
- fSetText.invoke(mb, new Object[] { title });
- fSetMessage.invoke(mb, new Object[] { msg });
- fOpen.invoke(mb, null);
- } catch (InstantiationException e) {
- } catch (IllegalAccessException e) {
- } catch (InvocationTargetException e) {
- }
- }
- }
- });
- } catch (NoSuchFieldException e) {
- } catch (InvocationTargetException e) {
- } catch (IllegalAccessException e) {
- }
- }
- }
-
- protected void displayErrorMessageConsole(String title, String msg) {
- System.out.println("Error: " + title); //$NON-NLS-1$
- System.out.println(" " + msg); //$NON-NLS-1$
- }
-
- protected void displayErrorMessageAWT(String title, String msg) {
- try {
- fDoit.invoke(null, new Object[] {title, msg, ProxyRemoteMessages.OK_7, null});
- } catch (InvocationTargetException e) {
- } catch (IllegalAccessException e) {
- }
- }
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMBeanProxy.java
deleted file mode 100644
index 6163bc9ac..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMBeanProxy.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: IREMBeanProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.IBeanProxy;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * A Remote VM proxy. All IBeanProxy implementations
- * for the Remote VM must also implement this interface.
- * This is necessary for proper functioning.
- *
- * NOTE: This is an internal interface to the Remote VM Proxy.
- * It MUST not be used outside of the proxy factory family.
- */
-
-public interface IREMBeanProxy extends IBeanProxy {
- /**
- * Return the ID of this proxy
- */
- public Integer getID();
-
- /**
- * Proxy is about to be released, MUST mark it invalid.
- * This is required. Resources can also be cleaned up
- * if they are being held and need to be cleaned up.
- *
- * NOTE: This method will only be called when the proxy
- * is explicitly released. If it is simply garbage collected,
- * then this method will not be called. Simple garbage collection
- * means that no one is referencing this proxy. The proxy factory
- * will know what id this proxy was referencing and will release it
- * on the server at GC time.
- *
- * If there are resources
- * that absolutely must be released, then the finalize method
- * should be implemented to do the clean up. However, try not
- * to have this be the case. Finalize methods add overhead that is
- * usually better not to have. The better way is for any users
- * that get this kind of proxy object know to call release on
- * ProxyFactoryRegistry to release it before garbage collection.
- */
- public void release();
-
- /**
- * Render this bean for transport to the server into a Commands.ValueObject.
- * For example, a string may put a string. An id type may put out the id.
- */
- public void renderBean(Commands.ValueObject renderInto);
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMBeanTypeProxy.java
deleted file mode 100644
index bac6f7b8b..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMBeanTypeProxy.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: IREMBeanTypeProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * All bean type proxies in remote vm must implement this interface.
- *
- * NOTE: This is an internal interface to the Remote VM Proxy.
- * It MUST not be used outside of the proxy factory family.
- */
-public interface IREMBeanTypeProxy extends IBeanTypeProxy, IREMBeanProxy {
-
-/**
- * Create a new bean proxy with the specified id.
- */
-public IREMBeanProxy newBeanProxy(Integer anID);
-
-/**
- * newBeanTypeForClass: Create a new beantypeproxy of this kind for the given class.
- * This is used by beantype proxy factory when creating a beantype proxy for a subclass.
- * This is because subclasses, unless explicitly overridden, should use the same kind
- * of beantype proxy. This way if anything special is needed for a specific type, then
- * that can be done.
- */
-public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract);
-
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMBeanTypeProxyFactory.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMBeanTypeProxyFactory.java
deleted file mode 100644
index b81805d0a..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMBeanTypeProxyFactory.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: IREMBeanTypeProxyFactory.java,v $
- * $Revision: 1.3 $ $Date: 2005/05/11 19:01:12 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * Interface for Remote VM Bean Type Proxy Factories.
- * All extension factories for Remote VM must implement this interface.
- */
-
-public interface IREMBeanTypeProxyFactory extends IBeanTypeProxyFactory {
-/**
- * Return a bean type proxy for the class name.
- * Return null if the extension factory doesn't handle this class.
- * Don't register any proxies returned, they will automatically be registered.
- * This should only return bean type proxies where the factory can determine
- * everything it needs, such as supertype and classID.
- * NOTE: This is implemented for the usage of the
- * standard BeanType proxy factory. It should
- * NOT be called by anyone else. They should
- * go through the IStandardBeanTypeFactory
- * instead. The standard bean type factory
- * will call this method on the appropriate
- * extension when it needs to.
- *
- * Creation date: (12/3/99 2:26:12 PM)
- */
-public IREMBeanTypeProxy getExtensionBeanTypeProxy(String typeName);
-
-/**
- * Return a bean type proxy for the class name.
- * Return null if the extension factory doesn't handle this class.
- * Don't register any proxies returned, they will automatically be registered.
- * This should only return bean type proxies where the factory can determine
- * everything it needs, such as supertype and classID.
- * NOTE: This is implemented for the usage of the
- * standard BeanType proxy factory. It should
- * NOT be called by anyone else. They should
- * go through the IStandardBeanTypeFactory
- * instead. The standard bean type factory
- * will call this method on the appropriate
- * extension when it needs to.
-
- * @param typeName
- * @param expression
- * @return
- *
- * @since 1.1.0
- */
-public IProxyBeanType getExtensionBeanTypeProxy(String typeName, IExpression expression);
-
-/**
- * Return a bean type proxy for the class id and class name.
- * Return null if the extension factory doesn't handle this class.
- * Don't register any proxies returned, they will automatically be registered.
- * This will be called in the case that a new class id was returned
- * from the server that we don't have registered yet. Implementers will
- * created a proxy out of the name and the id and return it.
- * The supertype will be passed in so that the extension factory doesn't need to
- * try to find it.
- * NOTE: This is implemented for the usage of the
- * standard BeanType proxy factory. It should
- * NOT be called by anyone else. They should
- * go through the IStandardBeanTypeFactory
- * instead. The standard bean type factory
- * will call this method on the appropriate
- * extension when it needs to.
- *
- * Creation date: (12/3/99 2:26:12 PM)
- */
-public IREMBeanTypeProxy getExtensionBeanTypeProxy(String typeName, Integer classID, IBeanTypeProxy superType);
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMConnection.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMConnection.java
deleted file mode 100644
index 3dea82fa4..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMConnection.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.remote;
-/*
- * $RCSfile: IREMConnection.java,v $
- * $Revision: 1.6 $ $Date: 2005/05/11 19:01:12 $
- */
-
-
-import org.eclipse.jem.internal.proxy.common.CommandException;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * Interface for the Remote VM Connection object.
- */
-
-public interface IREMConnection {
-
- /**
- * Did this construct correctly.
- * This is needed because an exception could be thrown in the ctor and
- * that's not a good thing to do.
- */
- public boolean isConnected();
-
- /**
- * Terminate the server.
- * WARNING: This is only here so that factory can to it. Termination should ONLY
- * be done by the Factory not any one else.
- */
- public void terminateServer();
-
- /**
- * Close the connection.
- */
- public void close();
-
- /**
- * Get the class information. Null return if not found.
- */
- public Commands.GetClassReturn getClass(String className) throws CommandException;
-
- /**
- * Get the class information from the id.
- */
- public Commands.GetClassIDReturn getClassFromID(int classID) throws CommandException;
-
-
-
- /**
- * Get object data from an id.
- */
- public void getObjectData(int objectID, Commands.ValueObject valueReturn) throws CommandException;
-
- /**
- * Get a new instance using the initialization string.
- */
- public void getNewInstance(int classID, String initString, Commands.ValueObject newInstance) throws CommandException;
-
- /**
- * Invoke the get array contents command.
- * @param arrayID
- * @param returnValue
- * @throws CommandException
- *
- * @since 1.1.0
- */
- public void getArrayContents(int arrayID, Commands.ValueObject returnValue) throws CommandException;
-
- /**
- * Invoke the method call.
- * The parms valueObject must represent an Object[] (either through ARRAY_IDS or OBJECT)
- */
- public void invokeMethod(int methodID, Commands.ValueObject invokeOn, Commands.ValueObject parms, Commands.ValueObject returnValue) throws CommandException;
-
- /**
- * Invoke the method call with method passed.
- * The parms valueObject must represent an Object[] (either through ARRAY_IDS or OBJECT)
- */
- public void invokeMethod(Commands.ValueObject classType, String methodName, Commands.ValueObject parmTypes, Commands.ValueObject invokeOn, Commands.ValueObject parms, Commands.ValueObject returnValue) throws CommandException;
-
- /**
- * Release the id. It is no longer needed on the client.
- */
- public void releaseID(int id);
-
- /**
- * Read array values as BeanProxies into valueSender.
- * @param returnValue
- * @param valueSender
- * @param allowFlag <code>true</code> to allow FLAG values, <code>false</code> if not allow flag values.
- *
- * @throws CommandException
- *
- * @since 1.1.0
- */
- public void readProxyArrayValues(Commands.ValueObject returnValue, Commands.ValueSender valueSender, boolean allowFlag) throws CommandException;
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMConstantBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMConstantBeanProxy.java
deleted file mode 100644
index 5cd6ad50a..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMConstantBeanProxy.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: IREMConstantBeanProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-/**
- * Tag interface to indicate this proxy is a constant proxy, i.e. there
- * is no bean on the server representing this (e.g. Strings and Integers).
- */
-
-public interface IREMConstantBeanProxy extends IREMBeanProxy {
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMConstantBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMConstantBeanTypeProxy.java
deleted file mode 100644
index eab586086..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMConstantBeanTypeProxy.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: IREMConstantBeanTypeProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * This interface is used for any BeanType that represents a constant type bean.
- * These are types that are immutable and a copy of the actual value is kept here
- * in the client and not stored as an object id.
- */
-
-public interface IREMConstantBeanTypeProxy extends IBeanTypeProxy {
-
- /**
- * Create a new bean proxy the ValueObject passed in.
- */
- public IBeanProxy newBeanProxy(Commands.ValueObject value);
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMExpressionConnection.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMExpressionConnection.java
deleted file mode 100644
index 8fa3b8780..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMExpressionConnection.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: IREMExpressionConnection.java,v $
- * $Revision: 1.6 $ $Date: 2005/06/15 20:19:11 $
- */
-package org.eclipse.jem.internal.proxy.remote;
-
-import java.io.IOException;
-
-import org.eclipse.jem.internal.proxy.common.CommandException;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-
-/**
- * Additional function on a connection for expression tree processing.
- * Connections returned (IREMConnections) will always also implement IREMExpressionConnection,
- * but they are separated so that expression functions don't pollute the regular
- * connection interface with added commands that shouldn't be called except
- * when processing an expression. If they were called out of order, big problems
- * can occur.
- * <p>
- * To use, simply cast the IREMConnection to be an IREMExpressionConnection.
- *
- * @since 1.0.0
- */
-public interface IREMExpressionConnection extends IREMConnection {
-
- /**
- * Start expression processing.
- * @param expressionID
- * @param trace TODO
- * @throws IOException
- *
- * @since 1.0.0
- */
- public void startExpressionProcessing(int expressionID, byte trace) throws IOException;
-
- /**
- * Transfer the expression. This tells the remote vm to stop processing on the
- * given connection and return the expression processing controller for the expression.
- *
- * @param expressionID
- * @param expController
- * @throws IOException
- *
- * @since 1.1.0
- */
- public void transferExpression(int expressionID, Commands.ValueObject expController) throws CommandException;
-
- /**
- * Resume the expression on this connection.
- * @param expressionID
- * @param expController expression processor controller to use for the expression on this new connection.
- * @throws CommandException
- *
- * @since 1.1.0
- */
- public void resumeExpression(int expressionID, Commands.ValueObject expController) throws CommandException;
-
- /**
- * Push an expression command. This is the common portion of the
- * subcommand. The actual data of the command will be separately done.
- * @param expressionID
- * @param subcommand The subcommand being sent. From IInternalExpressionConstants.
- *
- * @throws IOException
- *
- * @see org.eclipse.jem.internal.proxy.initParser.tree.IInternalExpressionConstants#PUSH_TO_PROXY_EXPRESSION
- * @since 1.0.0
- */
- public void pushExpressionCommand(int expressionID, byte subcommand) throws IOException;
-
- /**
- * Push the value object to the remote side.
- *
- * @param valueObject
- * @throws CommandException
- *
- * @since 1.0.0
- */
- public void pushValueObject(Commands.ValueObject valueObject) throws CommandException;
-
- /**
- * Push just the single byte to the remote side.
- * @param abyte
- * @throws IOException
- *
- * @since 1.0.0
- */
- public void pushByte(byte abyte) throws IOException;
-
- /**
- * Push just the single int to the remote side.
- *
- * @param anInt
- * @throws IOException
- *
- * @since 1.0.0
- */
- public void pushInt(int anInt) throws IOException;
-
-
- /**
- * Push just the singe string to the remote side.
- *
- * @param aString
- * @throws IOException
- *
- * @since 1.0.0
- */
- public void pushString(String aString) throws IOException;
-
- /**
- * Push just the bool to the remote side.
- * @param aBool
- * @throws IOException
- *
- * @since 1.0.0
- */
- public void pushBoolean(boolean aBool) throws IOException;
-
- /**
- * Get the final value. It must be called after processing the proxy id resolutions even for sync (so that we can get
- * any thrown errors).
- *
- * @param result
- * @throws CommandException
- *
- * @since 1.1.0
- */
- public void getFinalValue(Commands.ValueObject result) throws CommandException;
-
- /**
- * Send the pull value command, with the proxyids of intereset. If an error
- * occurs, command exception is thrown.
- * <p>
- * After the pull value call, if no errors, the proxyids must be read, and then getFinalValue call must be sent.
- * @param expressionID
- * @param proxyids expression proxyids that request feedback or <code>null</code> if no proxy ids.
- * @param sender sender to use to process the returned proxy ids, or <code>null</code> if expecting no proxy resolutions.
- *
- * @throws CommandException
- *
- * @since 1.0.0
- */
- public void pullValue(int expressionID, Commands.ValueObject proxyids, Commands.ValueSender sender) throws CommandException;
-
- /**
- * Send the sync command, with the proxyids of intereset. If an error
- * occurs, command exception is thrown.
- * <p>
- * After the sync call, if no errors, the returned proxyids must be processed and then the final endValue call must be sent.
- *
- * @param expressionID
- * @param proxyids expression proxyids that request feedback or <code>null</code> if no proxy ids.
- * @param sender sender to use to process the proxy id resolutions, or <code>null</code> if expecting no proxy ids.
- *
- * @throws CommandException
- *
- * @since 1.0.0
- */
- public void sync(int expressionID, Commands.ValueObject proxyids, Commands.ValueSender sender) throws CommandException;
-
- /**
- * Stop expression processing.
- * @param expressionID
- *
- * @throws IOException
- *
- * @since 1.0.0
- */
- public void stopExpressionProcessing(int expressionID) throws IOException;
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMMethodProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMMethodProxy.java
deleted file mode 100644
index dbf9fe600..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMMethodProxy.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: IREMMethodProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * This interface for REMMethodProxy allows the invokation where
- * the parms are a mixture of constant objects (i.e. can be sent
- * as values to the client) and IBeanProxies. It is only to be
- * used by other factories that want to invoke methods where
- * some of the parms are constants so that there is no need
- * create IBeanProxies for them, e.g. String. This should be
- * used with extreme care.
- */
-
-public interface IREMMethodProxy extends IMethodProxy, IREMBeanProxy {
- public IBeanProxy invokeWithParms(IBeanProxy subject, Object[] parms) throws ThrowableProxy;
-
-
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMSpecialBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMSpecialBeanTypeProxy.java
deleted file mode 100644
index effdba4a4..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMSpecialBeanTypeProxy.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: IREMSpecialBeanTypeProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-import org.eclipse.jem.internal.proxy.core.IBeanTypeProxy;
-/**
- * This is a special interface for allowing abstract
- * types to create the correct subclass types.
- * Only ones that use REMAnAbstractBeanTypeProxy
- * should implement this.
- */
-public interface IREMSpecialBeanTypeProxy {
-
- /**
- * Called by REMAnAbstractBeanTypeProxy to create a subclass of it.
- * This allows correct types to be created depending upon the
- * main super type.
- */
- public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract, IBeanTypeProxy superType);
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/LocalFileConfigurationContributorController.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/LocalFileConfigurationContributorController.java
deleted file mode 100644
index 9aa7b6b6f..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/LocalFileConfigurationContributorController.java
+++ /dev/null
@@ -1,276 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: LocalFileConfigurationContributorController.java,v $
- * $Revision: 1.10 $ $Date: 2005/05/18 23:11:26 $
- */
-package org.eclipse.jem.internal.proxy.remote;
-
-import java.net.URL;
-import java.util.*;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.core.*;
-import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.osgi.framework.Bundle;
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.util.plugin.JEMUtilPlugin;
-
-/**
- * This version works with local files being added to the classpath, and the classpath is strings.
- *
- * @since 1.0.0
- */
-public class LocalFileConfigurationContributorController implements IConfigurationContributionController {
-
- private URL[] classpathInfo;
- private URL[][] bootpathInfo;
- private List classpath;
- private List prependBootpath;
- private List appendBootpath;
- private List javaLibraryPath;
- private ProxyLaunchSupport.LaunchInfo launchInfo;
-
- public LocalFileConfigurationContributorController(URL[] classpathInfo, URL[][] bootpathInfo, ProxyLaunchSupport.LaunchInfo launchInfo) {
- this.classpathInfo = classpathInfo;
- this.bootpathInfo = bootpathInfo;
- this.launchInfo = launchInfo;
- }
-
- public URL[] getFinalClasspath() {
- if (classpath == null)
- return classpathInfo;
- else
- return (URL[]) classpath.toArray(new URL[classpath.size()]);
- }
-
- public URL[] getFinalPrependBootpath() {
- if (prependBootpath == null)
- return bootpathInfo[0];
- else
- return (URL[]) prependBootpath.toArray(new URL[prependBootpath.size()]);
- }
-
- public URL[] getFinalAppendBootpath() {
- if (appendBootpath == null)
- return bootpathInfo[2];
- else
- return (URL[]) prependBootpath.toArray(new URL[appendBootpath.size()]);
- }
-
- public List getFinalJavaLibraryPath() {
- if (javaLibraryPath == null)
- return Collections.EMPTY_LIST;
- else
- return javaLibraryPath;
- }
-
- protected List getClasspath() {
- if (classpath == null) {
- classpath = new ArrayList(classpathInfo.length);
- addAll(classpath, classpathInfo, -1);
- }
- return classpath;
- }
-
- protected List getPrependBootpath() {
- if (prependBootpath == null) {
- if (bootpathInfo[0] != null) {
- prependBootpath = new ArrayList(bootpathInfo[0].length);
- addAll(prependBootpath, bootpathInfo[0], -1);
- } else
- prependBootpath = new ArrayList(1);
- }
- return prependBootpath;
- }
-
- protected List getAppendBootpath() {
- if (appendBootpath == null) {
- if (bootpathInfo[2] != null) {
- appendBootpath = new ArrayList(bootpathInfo[2].length);
- addAll(appendBootpath, bootpathInfo[2], -1);
- } else
- appendBootpath = new ArrayList(1);
- }
- return appendBootpath;
- }
-
- protected List getJavaLibraryPath() {
- if (javaLibraryPath == null) {
- javaLibraryPath = new ArrayList(3);
- }
- return javaLibraryPath;
- }
-
- protected void addAll(List toList, Object[] array, int loc) {
- for (int i = 0; i < array.length; i++) {
- // Need a dup check, sometimes dups come in especially during development
- if (toList.contains(array[i]))
- continue;
- if (loc == -1)
- toList.add(array[i]);
- else
- toList.add(loc++, array[i]);
- }
- }
-
- protected void addLocations(List toList, IRuntimeClasspathEntry[] entries) {
- for (int i = 0; i < entries.length; i++) {
- IRuntimeClasspathEntry entry = entries[i];
- URL location = ProxyLaunchSupport.convertStringPathToURL(entry.getLocation());
- if (location != null && !toList.contains(location))
- toList.add(location);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IConfigurationContributionController#getJavaProject()
- */
- public IJavaProject getJavaProject() {
- return launchInfo.getJavaProject();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IConfigurationContributionController#contributeProject(org.eclipse.core.resources.IProject)
- */
- public void contributeProject(IProject project) throws CoreException {
- IJavaProject jproject = JavaCore.create(project);
- IRuntimeClasspathEntry[] projPath = JavaRuntime.computeUnresolvedRuntimeClasspath(jproject);
- boolean jreContainerFound= false;
- for (int i = 0; i < projPath.length; i++) {
- IRuntimeClasspathEntry entry= projPath[i];
- if (entry.getClasspathProperty() == IRuntimeClasspathEntry.BOOTSTRAP_CLASSES || entry.getClasspathProperty() == IRuntimeClasspathEntry.STANDARD_CLASSES) {
- int entryKind= entry.getClasspathEntry().getEntryKind();
- String segment0= entry.getPath().segment(0);
- if (entryKind == IClasspathEntry.CPE_CONTAINER && JavaRuntime.JRE_CONTAINER.equals(segment0)
- || entryKind == IClasspathEntry.CPE_VARIABLE && JavaRuntime.JRELIB_VARIABLE.equals(segment0)) {
- jreContainerFound= true;
- } else {
- if (jreContainerFound)
- addLocations(getAppendBootpath(), JavaRuntime.resolveRuntimeClasspathEntry(entry, jproject));
- else
- addLocations(getPrependBootpath(), JavaRuntime.resolveRuntimeClasspathEntry(entry, jproject));
- }
- } else {
- addLocations(getClasspath(), JavaRuntime.resolveRuntimeClasspathEntry(entry, jproject));
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IConfigurationContributionController#contributeClasspath(java.lang.String, int)
- */
- public void contributeClasspath(String classpath, int typeFlag) {
- contributeClasspath(ProxyLaunchSupport.convertStringPathToURL(classpath), typeFlag);
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IConfigurationContributionController#contributeClasspath(java.net.URL, int)
- */
- public void contributeClasspath(URL classpathURL, int typeFlag) {
- if (classpathURL == null)
- return;
- switch (typeFlag) {
- case PREPEND_BOOT_CLASSPATH:
- if (!getPrependBootpath().contains(classpathURL))
- getPrependBootpath().add(classpathURL);
- break;
- case PREPEND_USER_CLASSPATH:
- if (!getClasspath().contains(classpathURL))
- getClasspath().add(0, classpathURL);
- break;
- case APPEND_USER_CLASSPATH:
- if (!getClasspath().contains(classpathURL))
- getClasspath().add(classpathURL);
- break;
- case APPEND_BOOT_CLASSPATH:
- if (!getAppendBootpath().contains(classpathURL))
- getAppendBootpath().add(classpathURL);
- break;
- case APPEND_JAVA_LIBRARY_PATH:
- if (!getJavaLibraryPath().contains(classpathURL))
- getJavaLibraryPath().add(classpathURL);
- break;
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IConfigurationContributionController#contributeClasspath(org.osgi.framework.Bundle, java.lang.String, int, boolean)
- */
- public void contributeClasspath(Bundle bundle, String relativePath, int typeFlag, boolean nlsLocalize) {
- // If not nls localize, or if it is java library path, then just find the one in the plugin/fragment and add it.
- if (nlsLocalize)
- contributeClasspath(ProxyPlugin.getPlugin().urlLocalizeAllFromBundleAndFragments(bundle, relativePath), typeFlag);
- else if (typeFlag == IConfigurationContributionController.APPEND_JAVA_LIBRARY_PATH) {
- URL contribution = ProxyPlugin.getPlugin().urlLocalizeFromBundleAndFragments(bundle, relativePath);
- if (contribution == null) {
- // PDE is not here to help us extract that @#$ dll
- JEMUtilPlugin.getLogger().log("No free lunch!"); //$NON-NLS-1$
- }
- contributeClasspath(contribution, typeFlag);
- }
- else
- contributeClasspath(ProxyPlugin.getPlugin().urlLocalizeFromBundleOnly(bundle, relativePath), typeFlag);
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IConfigurationContributionController#contributeClasspath(org.osgi.framework.Bundle, org.eclipse.core.runtime.IPath, int, boolean)
- */
- public void contributeClasspath(Bundle bundle, IPath relativePath, int typeFlag, boolean nlsLocalize) {
- // If not nls localize, or if it is java library path, then just find the one in the plugin/fragment and add it.
- if (nlsLocalize)
- contributeClasspath(ProxyPlugin.getPlugin().urlLocalizeAllFromBundleAndFragments(bundle, relativePath), typeFlag);
- else if (typeFlag == IConfigurationContributionController.APPEND_JAVA_LIBRARY_PATH)
- contributeClasspath(ProxyPlugin.getPlugin().urlLocalizeFromBundleAndFragments(bundle, relativePath), typeFlag);
- else
- contributeClasspath(ProxyPlugin.getPlugin().urlLocalizeFromBundleOnly(bundle, relativePath), typeFlag);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IConfigurationContributionController#contributeClasspath(java.lang.String[], int)
- */
- public void contributeClasspath(String[] classpaths, int typeFlag) {
- contributeClasspath(ProxyLaunchSupport.convertStringPathsToURL(classpaths), typeFlag);
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IConfigurationContributionController#contributeClasspath(java.net.URL[], int)
- */
- public void contributeClasspath(URL[] classpathURLs, int typeFlag) {
- if (classpathURLs == null)
- return;
- switch (typeFlag) {
- case PREPEND_BOOT_CLASSPATH:
- addAll(getPrependBootpath(), classpathURLs, -1);
- break;
- case PREPEND_USER_CLASSPATH:
- addAll(getClasspath(), classpathURLs, 0);
- break;
- case APPEND_USER_CLASSPATH:
- addAll(getClasspath(), classpathURLs, -1);
- break;
- case APPEND_BOOT_CLASSPATH:
- addAll(getAppendBootpath(), classpathURLs, -1);
- break;
- case APPEND_JAVA_LIBRARY_PATH:
- addAll(getJavaLibraryPath(), classpathURLs, -1);
- break;
- }
- }
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/LocalProxyLaunchDelegate.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/LocalProxyLaunchDelegate.java
deleted file mode 100644
index 08229fd9f..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/LocalProxyLaunchDelegate.java
+++ /dev/null
@@ -1,472 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: LocalProxyLaunchDelegate.java,v $ $Revision: 1.29 $ $Date: 2005/07/01 14:09:13 $
- */
-package org.eclipse.jem.internal.proxy.remote;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.*;
-import java.text.MessageFormat;
-import java.util.*;
-import java.util.logging.Level;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.debug.core.*;
-import org.eclipse.debug.core.model.*;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.launching.*;
-
-import org.eclipse.jem.internal.proxy.common.remote.ExpressionCommands;
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.remote.awt.REMRegisterAWT;
-import org.eclipse.jem.util.TimerTests;
-import org.eclipse.jem.util.logger.proxy.Logger;
-
-
-/**
- * Launch Delegate for launching Local (i.e. remote vm is on local system). Here "remote" means the
- * registry is not in the IDE but in a separate VM, and "local" means that is in on the local
- * physical machine and not on a separate machine.
- *
- * @since 1.0.0
- */
-public class LocalProxyLaunchDelegate extends AbstractJavaLaunchConfigurationDelegate {
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate#launch(org.eclipse.debug.core.ILaunchConfiguration,
- * java.lang.String, org.eclipse.debug.core.ILaunch,
- * org.eclipse.core.runtime.IProgressMonitor)
- */
- public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor pm) throws CoreException {
-
- String launchKey = configuration.getAttribute(IProxyConstants.ATTRIBUTE_LAUNCH_KEY, (String) null);
- if (launchKey == null)
- abort(ProxyRemoteMessages.ProxyRemoteNoLaunchKey, null, 0);
-
- // In Eclipse, even if private, a launch will show up in the debug process tree and in the console viewer.
- // To be absolutely private, we need to remove the launch which has already been added.
- if (ProxyLaunchSupport.ATTR_PRIVATE != null && configuration.getAttribute(ProxyLaunchSupport.ATTR_PRIVATE, false))
- DebugPlugin.getDefault().getLaunchManager().removeLaunch(launch);
- if (pm == null) {
- pm = new NullProgressMonitor();
- }
-
- IJavaProject project = getJavaProject(configuration);
- String name = configuration.getAttribute(IProxyConstants.ATTRIBUTE_VM_TITLE, (String) null);
- if (name == null)
- name = MessageFormat.format(ProxyRemoteMessages.ProxyRemoteVMName, new Object[] { project != null ? project.getProject().getName() : "" });
- else
- name = MessageFormat.format(ProxyRemoteMessages.ProxyRemoteVMNameWithComment, new Object[] { project != null ? project.getProject().getName() : "", name });
-
- String stepId = "Launch VM ( " + name + " )"; //$NON-NLS-1$ //$NON-NLS-2$
- TimerTests.basicTest.startStep(stepId);
- // Problem with launch, can't have double-quotes in vmName.
- if (name.indexOf('"') != -1)
- name = name.replace('"', '\'');
-
- pm.beginTask("", 500); //$NON-NLS-1$
- pm.subTask(MessageFormat.format(ProxyRemoteMessages.ProxyRemoteLaunchVM, new Object[] { name }));
- // check for cancellation
- if (pm.isCanceled())
- return;
-
- IVMInstall vm = verifyVMInstall(configuration);
-
- IVMRunner runner = vm.getVMRunner(mode);
- if (runner == null) {
- abort(MessageFormat.format(ProxyRemoteMessages.Proxy_NoRunner_ERROR_, new Object[] { name }), null, 0);
- }
-
- File workingDir = verifyWorkingDirectory(configuration);
- String workingDirName = null;
- if (workingDir != null) {
- workingDirName = workingDir.getAbsolutePath();
- }
-
- // Environment variables
- String[] envp = DebugPlugin.getDefault().getLaunchManager().getEnvironment(configuration);
-
- // Program & VM args
- String pgmArgs = getProgramArguments(configuration);
- String vmArgs = getVMArguments(configuration);
- ExecutionArguments execArgs = new ExecutionArguments(vmArgs, pgmArgs);
-
- // VM-specific attributes
- Map vmAttributesMap = getVMSpecificAttributesMap(configuration);
-
- pm.worked(100);
-
- // Now let's get the classpaths created through the contributors.
- URL[] classpath = ProxyLaunchSupport.convertStringPathsToURL(getClasspath(configuration));
- String[][] bootpathInfoStrings = getBootpathExt(vmAttributesMap);
- URL[][] bootpathInfo = new URL[][]{
- ProxyLaunchSupport.convertStringPathsToURL(bootpathInfoStrings[0]),
- ProxyLaunchSupport.convertStringPathsToURL(bootpathInfoStrings[1]),
- ProxyLaunchSupport.convertStringPathsToURL(bootpathInfoStrings[2]),
- };
- ProxyLaunchSupport.LaunchInfo launchInfo = ProxyLaunchSupport.getInfo(launchKey);
- final IConfigurationContributor[] contributors = launchInfo.contributors;
- final LocalFileConfigurationContributorController controller =
- new LocalFileConfigurationContributorController(classpath, bootpathInfo, launchInfo);
- if (contributors != null) {
- for (int i = 0; i < contributors.length; i++) {
- // Run in safe mode so that anything happens we don't go away.
- final int ii = i;
- Platform.run(new ISafeRunnable() {
- public void handleException(Throwable exception) {
- // Don't need to do anything. Platform.run logs it for me.
- }
-
- public void run() throws Exception {
- contributors[ii].contributeClasspaths(controller);
- }
- });
- }
- }
-
- // Add in the required ones by the Proxy support. These are hard-coded since they are
- // required.
- ProxyRemoteUtil.updateClassPaths(controller);
- addInFragmentLibraries(controller);
-
- classpath = controller.getFinalClasspath();
- if (bootpathInfo[0] != controller.getFinalPrependBootpath()) {
- if (vmAttributesMap == null)
- vmAttributesMap = new HashMap(2);
- vmAttributesMap.put(IJavaLaunchConfigurationConstants.ATTR_BOOTPATH_PREPEND, ProxyLaunchSupport.convertURLsToStrings(bootpathInfo[0]));
- }
- if (bootpathInfo[2] != controller.getFinalAppendBootpath()) {
- if (vmAttributesMap == null)
- vmAttributesMap = new HashMap(2);
- vmAttributesMap.put(IJavaLaunchConfigurationConstants.ATTR_BOOTPATH_APPEND, ProxyLaunchSupport.convertURLsToStrings(bootpathInfo[2]));
- }
-
- // check for cancellation
- if (pm.isCanceled())
- return;
- pm.worked(100);
-
- // Create VM config
- VMRunnerConfiguration runConfig =
- new VMRunnerConfiguration("org.eclipse.jem.internal.proxy.vm.remote.RemoteVMApplication", ProxyLaunchSupport.convertURLsToStrings(classpath)); //$NON-NLS-1$
-
- REMProxyFactoryRegistry registry = new REMProxyFactoryRegistry(ProxyRemoteUtil.getRegistryController(), name);
- Integer registryKey = registry.getRegistryKey();
-
- Integer bufSize = Integer.getInteger("proxyvm.bufsize"); //$NON-NLS-1$
- if (bufSize == null)
- bufSize = new Integer(16000);
-
- int masterServerPort = ProxyRemoteUtil.getRegistryController().getMasterSocketPort();
-
- // See if debug mode is requested.
- DebugModeHelper dh = new DebugModeHelper();
- boolean debugMode = dh.debugMode(name);
- boolean useNoverify = ProxyPlugin.getPlugin().getPluginPreferences().getBoolean(ProxyPlugin.PREFERENCES_VM_NOVERIFY_KEY);
-
- String[] evmArgs = execArgs.getVMArgumentsArray();
-
- int extraArgs = 4; // Number of extra standard args added (if number changes below, this must change)
- if (debugMode)
- extraArgs+=4; // Number of extra args added for debug mode (if number changes below, this must change).
- if(useNoverify)
- extraArgs++; // An extra arg added for '-noverify' flag (if number changes below, this must change).
-
- boolean useExpressionTracing = "true".equalsIgnoreCase(Platform.getDebugOption(ProxyPlugin.getPlugin().getBundle().getSymbolicName() + ProxyLaunchSupport.EXPRESSION_TRACING)); //$NON-NLS-1$
- long expressionTracingThreshold = -1;
- if (useExpressionTracing) {
- extraArgs++;
- String thresholdString = Platform.getDebugOption(ProxyPlugin.getPlugin().getBundle().getSymbolicName() + ProxyLaunchSupport.EXPRESSION_TRACEING_TIMER_THRESHOLD);
- if (thresholdString != null) {
- try {
- expressionTracingThreshold = Long.valueOf(thresholdString).longValue();
- extraArgs++;
- } catch (NumberFormatException e) {
- }
- }
- }
-
- List javaLibPaths = controller.getFinalJavaLibraryPath();
- int existingLibpaths = -1;
- if (!javaLibPaths.isEmpty()) {
- // first need to see if java lib path also specified in standard args by someone configuring the configuration by hand.
- for (int i = 0; i < evmArgs.length; i++) {
- if (evmArgs[i].startsWith("-Djava.library.path")) { //$NON-NLS-1$
- // We found one already here, save the spot so we update it later.
- existingLibpaths = i;
- break;
- }
- }
- if (existingLibpaths == -1)
- ++extraArgs; // Need to have room for one more.
- }
-
- String[] cvmArgs = new String[evmArgs.length + extraArgs];
- System.arraycopy(evmArgs, 0, cvmArgs, extraArgs, evmArgs.length); // Put existing into new list at the end.
-
- int cvmArgsCount=0;
- cvmArgs[cvmArgsCount++] = "-Dproxyvm.registryKey=" + registryKey; //$NON-NLS-1$
- cvmArgs[cvmArgsCount++] = "-Dproxyvm.masterPort=" + String.valueOf(masterServerPort); //$NON-NLS-1$
- cvmArgs[cvmArgsCount++] = "-Dproxyvm.bufsize=" + bufSize; //$NON-NLS-1$
- cvmArgs[cvmArgsCount++] = "-Dproxyvm.servername=" + name; //$NON-NLS-1$
-
- if(useNoverify)
- cvmArgs[cvmArgsCount++] = "-noverify"; //$NON-NLS-1$
-
- if (useExpressionTracing) {
- cvmArgs[cvmArgsCount++] = "-D"+ExpressionCommands.EXPRESSIONTRACE+"=true"; //$NON-NLS-1$ //$NON-NLS-2$
- if (expressionTracingThreshold != -1)
- cvmArgs[cvmArgsCount++] = "-D"+ExpressionCommands.EXPRESSIONTRACE_TIMER_THRESHOLD+'='+String.valueOf(expressionTracingThreshold); //$NON-NLS-1$
- }
-
- // If in debug mode, we need to find a port for it to use.
- int dport = -1;
- if (debugMode) {
- dport = findUnusedLocalPort("localhost", 5000, 15000, new int[0]); //$NON-NLS-1$
- cvmArgs[cvmArgsCount++] = "-Djava.compiler=NONE"; //$NON-NLS-1$
- cvmArgs[cvmArgsCount++] = "-Xdebug"; //$NON-NLS-1$
- cvmArgs[cvmArgsCount++] = "-Xnoagent"; //$NON-NLS-1$
- cvmArgs[cvmArgsCount++] = "-Xrunjdwp:transport=dt_socket,server=y,address=" + dport; //$NON-NLS-1$
- }
-
- if (!javaLibPaths.isEmpty()) {
- StringBuffer appendTo = null;
- if (existingLibpaths != -1) {
- appendTo = new StringBuffer(evmArgs[existingLibpaths]);
- appendTo.append(File.pathSeparatorChar); // Plus a separator so we can append
- } else
- appendTo = new StringBuffer("-Djava.library.path="); //$NON-NLS-1$
- String [] libPaths = ProxyLaunchSupport.convertURLsToStrings((URL[]) javaLibPaths.toArray(new URL[javaLibPaths.size()]));
- for (int i = 0; i < libPaths.length; i++) {
- if (i != 0)
- appendTo.append(File.pathSeparator);
- appendTo.append(libPaths[i]);
- }
- if (existingLibpaths != -1)
- cvmArgs[extraArgs+existingLibpaths] = appendTo.toString();
- else
- cvmArgs[extraArgs-1] = appendTo.toString();
- }
-
- runConfig.setProgramArguments(execArgs.getProgramArgumentsArray());
- runConfig.setEnvironment(envp);
- runConfig.setVMArguments(cvmArgs);
- runConfig.setWorkingDirectory(workingDirName);
- runConfig.setVMSpecificAttributesMap(vmAttributesMap);
-
- // Bootpath
- runConfig.setBootClassPath(getBootpath(configuration));
-
- // check for cancellation
- if (pm.isCanceled())
- return;
- pm.worked(100);
-
- // set the default source locator if required
- setDefaultSourceLocator(launch, configuration);
-
- // Launch the configuration - 1 unit of work
- runner.run(runConfig, launch, new SubProgressMonitor(pm, 100));
-
- // check for cancellation
- if (pm.isCanceled())
- return;
-
- IProcess[] processes = launch.getProcesses();
- IProcess process = processes[0]; // There is only one.
- // Check if it is already terminated. If it is, then there was a bad error, so just
- // print out the results from it.
- if (process.isTerminated()) {
- IStreamsProxy stProxy = process.getStreamsProxy();
- // Using a printWriter for println capability, but it needs to be on another
- // writer, which will be string
- java.io.StringWriter s = new java.io.StringWriter();
- java.io.PrintWriter w = new java.io.PrintWriter(s);
-
- w.println(ProxyRemoteMessages.VM_TERMINATED_INFO_);
- w.println(ProxyRemoteMessages.VM_TERMINATED_LINE1);
- w.println(stProxy.getErrorStreamMonitor().getContents());
- w.println(ProxyRemoteMessages.VM_TERMINATED_LINE2);
- w.println(stProxy.getOutputStreamMonitor().getContents());
- w.println(ProxyRemoteMessages.VM_TERMINATED_LINE3);
- w.close();
-
- String msg = MessageFormat.format(ProxyRemoteMessages.Proxy_Terminated_too_soon_ERROR_, new Object[] { name });
- dh.displayErrorMessage(ProxyRemoteMessages.Proxy_Error_Title, msg);
- throw new CoreException(
- new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, s.toString(), null));
- } else {
- final String traceName = name;
- IStreamsProxy fStreamsProxy = process.getStreamsProxy();
-
- /**
- * StreamListener. Should not be created if ProxyPlugin logger is not logging the requested level.
- *
- * @since 1.1.0
- */
- class StreamListener implements IStreamListener {
- String tracePrefix;
- Level level;
- Job printJob; // Job to try to gather printing together.
- Logger logger;
- StringBuffer gatheredText = new StringBuffer(100);
- {
- logger = ProxyPlugin.getPlugin().getLogger();
- printJob = new Job("") { //$NON-NLS-1$
-
- protected IStatus run(IProgressMonitor monitor) {
- monitor.beginTask(ProxyRemoteMessages.LocalProxyLaunchDelegate_Monitor_PrintRemoteTrace_Text, 1);
- while(true) {
- String output = null;
- synchronized (gatheredText) {
- if (gatheredText.length() <= tracePrefix.length())
- break; // We've reached the end, no more to print.
- output = gatheredText.toString();
- gatheredText.setLength(tracePrefix.length()); // Reset the length to the prefix.
- }
- logger.log(output, level);
- }
- monitor.done();
- return Status.OK_STATUS;
- }
- };
- printJob.setPriority(Job.SHORT);
- printJob.setSystem(true);
- }
-
- public StreamListener(String type, Level level, Logger logger) {
- tracePrefix = traceName + ':' + type + '>' + System.getProperty("line.separator"); //$NON-NLS-1$
- gatheredText.append(tracePrefix);
- this.level = level;
- this.logger = logger;
- }
-
- public void streamAppended(String newText, IStreamMonitor monitor) {
- synchronized(gatheredText) {
- gatheredText.append(newText);
- }
- printJob.schedule(100L); // Wait tenth of second to gather as much as can together.
- }
- };
-
- Logger logger = ProxyPlugin.getPlugin().getLogger();
- if (logger.isLoggingLevel(Level.WARNING)) {
- // Always listen to System.err output if we are at least logging warnings.
- IStreamMonitor monitor = fStreamsProxy.getErrorStreamMonitor();
- if (monitor != null)
- monitor.addListener(new StreamListener("err", Level.WARNING, logger)); //$NON-NLS-1$
- }
-
- // If debug trace is requested, then attach trace listener for System.out
- // Expression tracing requires debug trace too because it prints to sysout. However, it requesting expressionTracing, change logging level to INFO,
- // we want them to show if this true. It is confusing to also have to change logging level in .options file.
- if (useExpressionTracing)
- if (!logger.isLoggingLevel(Level.INFO))
- logger.setLevel(Level.INFO);
- if (useExpressionTracing || "true".equalsIgnoreCase(Platform.getDebugOption(ProxyPlugin.getPlugin().getBundle().getSymbolicName() + ProxyRemoteUtil.DEBUG_VM_TRACEOUT))) { //$NON-NLS-1$
- // Want to trace the output of the remote vm's. And we are logging at least level info.
- if (logger.isLoggingLevel(Level.INFO)) {
- IStreamMonitor monitor = fStreamsProxy.getOutputStreamMonitor();
- if (monitor != null)
- monitor.addListener(new StreamListener("out", Level.INFO, logger)); //$NON-NLS-1$
- }
- }
- }
-
- // If in debug mode, tester must start debugger before going on.
- if (debugMode) {
- if (!dh.promptPort(dport)) {
- process.terminate();
- throw new CoreException(
- new Status(
- IStatus.WARNING,
- ProxyPlugin.getPlugin().getBundle().getSymbolicName(),
- 0,
- "Debugger attach canceled", //$NON-NLS-1$
- null));
- }
- }
-
- // Now set up the registry.
- registry.initializeRegistry(process);
- new REMStandardBeanTypeProxyFactory(registry);
- new REMStandardBeanProxyFactory(registry);
- new REMMethodProxyFactory(registry);
-
- if (debugMode || REMProxyFactoryRegistry.fGlobalNoTimeouts)
- registry.fNoTimeouts = true;
- if (configuration.getAttribute(IProxyConstants.ATTRIBUTE_AWT_SWING, true))
- REMRegisterAWT.registerAWT(registry);
-
- launchInfo.resultRegistry = registry;
-
- pm.done();
- TimerTests.basicTest.stopStep(stepId);
- }
-
- /**
- * @param controller
- * @throws CoreException
- *
- * @since 1.0.2
- */
- private void addInFragmentLibraries(IConfigurationContributionController controller) throws CoreException {
- IPDEContributeClasspath instance = IPDEContributeClasspath.INSTANCE;
- if (instance != null) {
- instance.getPDEContributions(controller);
- }
- }
-
- // Utilities to find the free port
- private static final Random fgRandom = new Random(System.currentTimeMillis());
-
- private static int findUnusedLocalPort(String host, int searchFrom, int searchTo, int[] exclude) {
- for (int i = 0; i < 10; i++) {
- int port = 0;
- newport : while (true) {
- port = getRandomPort(searchFrom, searchTo);
- if (exclude != null)
- for (int e = 0; e < exclude.length; e++)
- if (port == exclude[e])
- continue newport;
- break;
- }
- try {
- new Socket(host, port);
- } catch (ConnectException e) {
- return port;
- } catch (IOException e) {
- }
- }
- return -1;
- }
-
- private static int getRandomPort(int low, int high) {
- return (int) (fgRandom.nextFloat() * (high - low)) + low;
- }
-
- private String[][] getBootpathExt(Map vmMap) {
- String[][] ext = new String[3][];
- if (vmMap != null) {
- ext[0] = (String[]) vmMap.get(IJavaLaunchConfigurationConstants.ATTR_BOOTPATH_PREPEND);
- ext[1] = (String[]) vmMap.get(IJavaLaunchConfigurationConstants.ATTR_BOOTPATH);
- ext[2] = (String[]) vmMap.get(IJavaLaunchConfigurationConstants.ATTR_BOOTPATH_APPEND);
- }
- return ext;
- }
-
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/MessageDialog.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/MessageDialog.java
deleted file mode 100644
index 8e724a34c..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/MessageDialog.java
+++ /dev/null
@@ -1,331 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: MessageDialog.java,v $
- * $Revision: 1.3 $ $Date: 2005/06/16 17:46:14 $
- */
-
-import java.awt.*;
-/**
- * This is an AWT message dialog. It will only be used
- * if not running in the workbench by the debug mode helper.
- * It won't be loaded unless AWT is available, so it can be
- * distributed without causing problems on systems that
- * don't have AWT because it won't be loaded in that case.
- */
-class MessageDialog extends Dialog {
- /**
- * Comment for <code>serialVersionUID</code>
- *
- * @since 1.1.0
- */
- private static final long serialVersionUID = 2547670349372067345L;
- private java.awt.Panel ivjContentsPane = null;
- IvjEventHandler ivjEventHandler = new IvjEventHandler();
- private java.awt.TextArea ivjTextArea1 = null;
- private java.awt.Button ivjButton1 = null;
- public int result = 2; // Nothing hit is the same as button 2.
- private java.awt.Button ivjButton2 = null;
-
-class IvjEventHandler implements java.awt.event.ActionListener, java.awt.event.WindowListener {
- public void actionPerformed(java.awt.event.ActionEvent e) {
- if (e.getSource() == MessageDialog.this.getButton1())
- connEtoC2(e);
- if (e.getSource() == MessageDialog.this.getButton2())
- connEtoC3(e);
- };
- public void windowActivated(java.awt.event.WindowEvent e) {};
- public void windowClosed(java.awt.event.WindowEvent e) {};
- public void windowClosing(java.awt.event.WindowEvent e) {
- if (e.getSource() == MessageDialog.this)
- connEtoC1(e);
- };
- public void windowDeactivated(java.awt.event.WindowEvent e) {};
- public void windowDeiconified(java.awt.event.WindowEvent e) {};
- public void windowIconified(java.awt.event.WindowEvent e) {};
- public void windowOpened(java.awt.event.WindowEvent e) {};
- };
-/**
- * MessageDialog constructor comment.
- * @param owner java.awt.Frame
- * @param title java.lang.String
- * @param modal boolean
- */
-public MessageDialog(Frame owner, String title, boolean modal, String msg, String button1, String button2) {
- super(owner, title, modal);
-
- initialize();
- getTextArea1().setText(msg);
- getButton1().setLabel(button1);
- if (button2 != null)
- getButton2().setLabel(button2);
- else {
- // We only want one button, so remove button2
- getContentsPane().remove(getButton2());
- }
-
-}
-/**
- * Comment
- */
-public void button1_ActionPerformed() {
- result = 1;
- setVisible(false);
- return;
-}
-/**
- * Comment
- */
-public void button2_ActionPerformed() {
- result = 2;
- setVisible(false);
- return;
-}
-/**
- * connEtoC1: (MessageDialog.window.windowClosing(java.awt.event.WindowEvent) --> MessageDialog.dispose()V)
- * @param arg1 java.awt.event.WindowEvent
- */
-/* WARNING: THIS METHOD WILL BE REGENERATED. */
-private void connEtoC1(java.awt.event.WindowEvent arg1) {
- try {
- // user code begin {1}
- // user code end
- this.dispose();
- // user code begin {2}
- // user code end
- } catch (java.lang.Throwable ivjExc) {
- // user code begin {3}
- // user code end
- handleException(ivjExc);
- }
-}
-/**
- * connEtoC2: (Button1.action.actionPerformed(java.awt.event.ActionEvent) --> MessageDialog.button1_ActionPerformed()V)
- * @param arg1 java.awt.event.ActionEvent
- */
-/* WARNING: THIS METHOD WILL BE REGENERATED. */
-private void connEtoC2(java.awt.event.ActionEvent arg1) {
- try {
- // user code begin {1}
- // user code end
- this.button1_ActionPerformed();
- // user code begin {2}
- // user code end
- } catch (java.lang.Throwable ivjExc) {
- // user code begin {3}
- // user code end
- handleException(ivjExc);
- }
-}
-/**
- * connEtoC3: (Button2.action.actionPerformed(java.awt.event.ActionEvent) --> MessageDialog.button2_ActionPerformed()V)
- * @param arg1 java.awt.event.ActionEvent
- */
-/* WARNING: THIS METHOD WILL BE REGENERATED. */
-private void connEtoC3(java.awt.event.ActionEvent arg1) {
- try {
- // user code begin {1}
- // user code end
- this.button2_ActionPerformed();
- // user code begin {2}
- // user code end
- } catch (java.lang.Throwable ivjExc) {
- // user code begin {3}
- // user code end
- handleException(ivjExc);
- }
-}
-/**
- * Display dialog.
- * @param args java.lang.String[]
- */
-public static int doit(String title, String message, String button1, String button2) {
- try {
- Frame f = new java.awt.Frame(title);
- f.setVisible(true);
- // Need to massage the method since AWT doesn't have wordwrap. This is for left to right only.
- String msg = message;
- if (message.length() > 95) {
- msg = ""; //$NON-NLS-1$
-nextSeg: while (message.length() > 95) {
- // Too wide, wrapping should be done. This is just a rough guess.
- for (int i=95; 0<=i; i--) {
- if (message.charAt(i) == ' ') {
- // Break here.
- msg = msg + message.substring(0, i) + '\n';
- if (i+1 < message.length())
- message = message.substring(i+1);
- else
- message = ""; //$NON-NLS-1$
- continue nextSeg;
- }
- }
- // If we got here, then there weren't any spaces in the first 80, so look right for first space.
- for (int i=96; i<message.length(); i++) {
- if (message.charAt(i) == ' ') {
- // Break here
- msg = msg + message.substring(0, i) + '\n';
- if (i+1 < message.length())
- message = message.substring(i+1);
- else
- message = ""; //$NON-NLS-1$
- continue nextSeg;
- }
- }
- }
- msg += message; // Now put on whatever is left.
- }
- MessageDialog aMessageDialog = new MessageDialog(f,title,true, msg, button1, button2);
- aMessageDialog.pack();
- aMessageDialog.getToolkit().beep();
- aMessageDialog.setVisible(true);
- f.dispose();
- aMessageDialog.dispose();
-
- return aMessageDialog.result;
- } catch (Throwable exception) {
- }
-
- return 2;
-}
-/**
- * Return the Button1 property value.
- * @return java.awt.Button
- */
-/* WARNING: THIS METHOD WILL BE REGENERATED. */
-private java.awt.Button getButton1() {
- if (ivjButton1 == null) {
- try {
- ivjButton1 = new java.awt.Button();
- ivjButton1.setName("Button1"); //$NON-NLS-1$
- ivjButton1.setLabel("Button1"); //$NON-NLS-1$
- // user code begin {1}
- // user code end
- } catch (java.lang.Throwable ivjExc) {
- // user code begin {2}
- // user code end
- handleException(ivjExc);
- }
- }
- return ivjButton1;
-}
-/**
- * Return the Button2 property value.
- * @return java.awt.Button
- */
-/* WARNING: THIS METHOD WILL BE REGENERATED. */
-private java.awt.Button getButton2() {
- if (ivjButton2 == null) {
- try {
- ivjButton2 = new java.awt.Button();
- ivjButton2.setName("Button2"); //$NON-NLS-1$
- ivjButton2.setLabel("Button2"); //$NON-NLS-1$
- // user code begin {1}
- // user code end
- } catch (java.lang.Throwable ivjExc) {
- // user code begin {2}
- // user code end
- handleException(ivjExc);
- }
- }
- return ivjButton2;
-}
-/**
- * Return the ContentsPane property value.
- * @return java.awt.Panel
- */
-/* WARNING: THIS METHOD WILL BE REGENERATED. */
-private java.awt.Panel getContentsPane() {
- if (ivjContentsPane == null) {
- try {
- ivjContentsPane = new java.awt.Panel();
- ivjContentsPane.setName("ContentsPane"); //$NON-NLS-1$
- ivjContentsPane.setLayout(new java.awt.FlowLayout());
- getContentsPane().add(getTextArea1(), getTextArea1().getName());
- getContentsPane().add(getButton1(), getButton1().getName());
- getContentsPane().add(getButton2(), getButton2().getName());
- // user code begin {1}
- // user code end
- } catch (java.lang.Throwable ivjExc) {
- // user code begin {2}
- // user code end
- handleException(ivjExc);
- }
- }
- return ivjContentsPane;
-}
-/**
- * Return the TextArea1 property value.
- * @return java.awt.TextArea
- */
-/* WARNING: THIS METHOD WILL BE REGENERATED. */
-private java.awt.TextArea getTextArea1() {
- if (ivjTextArea1 == null) {
- try {
- ivjTextArea1 = new TextArea();
- ivjTextArea1.setName("TextArea1"); //$NON-NLS-1$
- ivjTextArea1.setText("TextArea1"); //$NON-NLS-1$
- ivjTextArea1.setRows(20);
- ivjTextArea1.setColumns(100);
- ivjTextArea1.setEditable(false);
- // user code begin {1}
- // user code end
- } catch (java.lang.Throwable ivjExc) {
- // user code begin {2}
- // user code end
- handleException(ivjExc);
- }
- }
- return ivjTextArea1;
-}
-/**
- * Called whenever the part throws an exception.
- * @param exception java.lang.Throwable
- */
-private void handleException(java.lang.Throwable exception) {
-
- /* Uncomment the following lines to print uncaught exceptions to stdout */
- // ProxyPlugin.getPlugin().getMsgLogger().write(Level.WARNING,"--------- UNCAUGHT EXCEPTION ---------");
- // ProxyPlugin.getPlugin().getMsgLogger().write(Level.WARNING,exception);
-}
-/**
- * Initializes connections
- * @exception java.lang.Exception The exception description.
- */
-/* WARNING: THIS METHOD WILL BE REGENERATED. */
-private void initConnections() throws java.lang.Exception {
- // user code begin {1}
- // user code end
- this.addWindowListener(ivjEventHandler);
- getButton1().addActionListener(ivjEventHandler);
- getButton2().addActionListener(ivjEventHandler);
-}
-/**
- * Initialize the class.
- */
-/* WARNING: THIS METHOD WILL BE REGENERATED. */
-private void initialize() {
- try {
- // user code begin {1}
- // user code end
- setName("MessageDialog"); //$NON-NLS-1$
- setLayout(new java.awt.BorderLayout());
- setSize(426, 240);
- add(getContentsPane(), "Center"); //$NON-NLS-1$
- initConnections();
- } catch (java.lang.Throwable ivjExc) {
- handleException(ivjExc);
- }
- // user code begin {2}
- // user code end
-}
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/ProxyRemoteMessages.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/ProxyRemoteMessages.java
deleted file mode 100644
index f2bf8d484..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/ProxyRemoteMessages.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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.remote;
-
-import org.eclipse.osgi.util.NLS;
-
-public final class ProxyRemoteMessages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.jem.internal.proxy.remote.messages";//$NON-NLS-1$
-
- private ProxyRemoteMessages() {
- // Do not instantiate
- }
-
- public static String NO_OUTPUT_FOLDER_EXC_;
- public static String VM_TERMINATED_INFO_;
- public static String VM_TERMINATED_LINE1;
- public static String VM_TERMINATED_LINE2;
- public static String VM_TERMINATED_LINE3;
- public static String REMOTE_VM_TRACE_INFO_;
- public static String REMOTE_VM_LOCAL_TRACE_INFO_;
- public static String Classcast_EXC_;
- public static String Instantiate_EXC_;
- public static String RemoteCmd_EXC_;
- public static String ExceptionErrorMsg_EXC_;
- public static String OK_7;
- public static String Proxy_NoRunner_ERROR_;
- public static String Proxy_Error_Title;
- public static String Proxy_Terminated_too_soon_ERROR_;
- public static String ProxyRemoteVMName;
- public static String ProxyRemoteVMNameWithComment;
- public static String ProxyRemoteNoLaunchKey;
- public static String ProxyRemoteLaunchVM;
- public static String CleanupJob_title;
- public static String REMProxyFactoryRegistry_CallbackConnectionNotWorking_EXC_;
- public static String REMProxyFactoryRegistry_ConnectionCreationFailed_INFO_;
- public static String REMProxyFactoryRegistry_Job_TerminateProcess_Title;
- public static String REMProxyFactoryRegistry_CouldNotCreateSocketConnectionToRemoteVM_EXC_;
- public static String REMExpression_IOExceptionSeeLog_INFO_;
- public static String REMExpression_CommandExceptionSeeLog_INFO_;
- public static String LocalProxyLaunchDelegate_Monitor_PrintRemoteTrace_Text;
-
- static {
- NLS.initializeMessages(BUNDLE_NAME, ProxyRemoteMessages.class);
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/ProxyRemoteUtil.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/ProxyRemoteUtil.java
deleted file mode 100644
index 47ce3ffea..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/ProxyRemoteUtil.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.remote;
-/*
- * $RCSfile: ProxyRemoteUtil.java,v $
- * $Revision: 1.10 $ $Date: 2005/05/11 19:01:12 $
- */
-
-
-import org.osgi.framework.Bundle;
-
-import org.eclipse.jem.internal.proxy.core.IConfigurationContributionController;
-import org.eclipse.jem.internal.proxy.core.ProxyPlugin;
-
-
-public class ProxyRemoteUtil {
-
- // Debug options
- public static final String DEBUG_VM = "/remote/debug/debugvm", // Bring up debugger on remote vm's. //$NON-NLS-1$
- IO_CONSOLE = "/remote/debug/ioconsole", // IO Through console (system in and out) for asking questions. //$NON-NLS-1$
- DEBUG_VM_TRACEOUT = "/remote/debug/vmtraceout", // Trace the output from the remote vm's. //$NON-NLS-1$
- NO_TIMEOUTS = "/remote/debug/notimeouts"; // No socket timeouts when talking to remote vm. Turn this on when doing callback testing. Not needed otherwise. //$NON-NLS-1$
-
- private static REMRegistryController pluginRegistryController;
-
- /**
- * Return the registry controller.
- */
- public synchronized static REMRegistryController getRegistryController() {
- return pluginRegistryController != null ? pluginRegistryController : (pluginRegistryController = new REMRegistryController());
- }
-
- /**
- * Method to update any class paths with any
- * paths that need to be added to a VM. In this case, it is
- * the remotevm.jar and the remotecommon.jar that need to be added. The first jar contains
- * the code necessary to run the remote vm and listen for commands. The second jar contains
- * the common code that is required to be shared on both the IDE side and remote side. It
- * is the interface code so that they both talk the same language.
- * support.
- */
- public static void updateClassPaths(IConfigurationContributionController controller) {
- Bundle proxyBundle = ProxyPlugin.getPlugin().getBundle();
- // Need to have our jars at the beginning. (Struts causes a problem because
- // they have a jar (commons-fileupload.jar) that if when searching for a class and
- // this jar is reached, it causes the class loader to barf. Our jars used to be at
- // the end, and so it found the fileupload jar first and no remote vm could be started
- // because of this.
- controller.contributeClasspath(proxyBundle, "remotecommon.jar", IConfigurationContributionController.PREPEND_USER_CLASSPATH, false); //$NON-NLS-1$
- controller.contributeClasspath(proxyBundle, "vm/remotevm.jar", IConfigurationContributionController.PREPEND_USER_CLASSPATH, false); //$NON-NLS-1$
- }
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMAbstractBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMAbstractBeanProxy.java
deleted file mode 100644
index 34694853e..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMAbstractBeanProxy.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.remote;
-/*
- * $RCSfile: REMAbstractBeanProxy.java,v $
- * $Revision: 1.6 $ $Date: 2005/05/11 19:01:12 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.*;
-/**
- * An abstract base class of IREMBeanProxy that doesn't
- * have the bean type stored in it. The subclasses will
- * supply it. It does however have an ID because it does
- * exist over on the remote VM.
- */
-public abstract class REMAbstractBeanProxy implements IREMBeanProxy {
- protected final REMProxyFactoryRegistry fFactory;
- private Integer fID;
-
- /**
- * Set the bean we are proxying. We are a proxy for a bean running on the remote VM.
- */
- protected REMAbstractBeanProxy(REMProxyFactoryRegistry aRegistry, Integer anID){
- fFactory = aRegistry;
- fID = anID;
- }
-
- /**
- * equals: Equal if:
- * 1) This proxy == (identity) to the other object
- * 2) Else if other is an IBeanProxy and not a constant one, then if
- * equals on the server.
- * 3) If this is a constant proxy and the other is too or is a constant
- * value (e.g. IStringBeanProxy.equals(String), then true if values are equals.
- */
- public boolean equals(Object anObject) {
- if (super.equals(anObject))
- return true; // Identity
- if (anObject instanceof IBeanProxy && !(anObject instanceof IREMConstantBeanProxy) && fFactory.isValid() && ((IBeanProxy) anObject).getProxyFactoryRegistry() == fFactory)
- try {
- // The other is a bean proxy and is not a constant one, let the server do the check.
- return ((IBooleanBeanProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getObjectEquals().invoke(this, (IBeanProxy) anObject)).booleanValue();
- } catch (ThrowableProxy e) {
- }
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#sameAs(org.eclipse.jem.internal.proxy.core.IBeanProxy)
- */
- public boolean sameAs(IBeanProxy aBeanProxy) {
- return this == aBeanProxy; // We can be assured in Remote Proxy that identity of proxy and identity of object are the same.
- }
-
- public ProxyFactoryRegistry getProxyFactoryRegistry() {
- return fFactory;
- }
-
- /**
- * Get ID. An internal method to be used only within the ProxyFactory family.
- */
- public Integer getID() {
- return fID;
- }
-
- /**
- * isValid.
- */
- public boolean isValid() {
- return fID != null;
- }
-
- /**
- * Proxy is about to be released, MUST mark it invalid.
- * This is required. Resources can also be cleaned up
- * if they are being held and need to be cleaned up.
- *
- * NOTE: This method will only be called when the proxy
- * is explicitly released. If it is simply garbage collected,
- * then this method will not be called. Simple garbage collection
- * means that no one is referencing this proxy. The proxy factory
- * will know what id this proxy was referencing and will release it
- * on the server at GC time.
- *
- * If there are resources
- * that absolutely must be released, then the finalize method
- * should be implemented to do the clean up. However, try not
- * to have this be the case. Finalize methods add overhead that is
- * usually better not to have. The better way is for any users
- * that get this kind of proxy object know to call release on
- * ProxyFactoryRegistry to release it before garbage collection.
- */
- public void release() {
- fID = null;
- }
-
- /**
- * Return the toString of the actual bean on the remote side.
- */
- public String toBeanString() {
- IStringBeanProxy string = (IStringBeanProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getObjectToString().invokeCatchThrowableExceptions(this);
- return (string != null) ? string.stringValue() : null;
- }
-
- /**
- * Render the bean proxy into the value field.
- */
- public void renderBean(Commands.ValueObject value) {
- value.setObjectID(isValid() ? getID().intValue() : Commands.VOID); // No longer exists, so send over null.
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IProxy#isBeanProxy()
- */
- public final boolean isBeanProxy() {
- return true;
- }
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IProxy#isExpressionProxy()
- */
- public final boolean isExpressionProxy() {
- return false;
- }
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMAbstractBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMAbstractBeanTypeProxy.java
deleted file mode 100644
index 4139cc09e..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMAbstractBeanTypeProxy.java
+++ /dev/null
@@ -1,701 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: REMAbstractBeanTypeProxy.java,v $
- * $Revision: 1.14 $ $Date: 2005/05/18 23:11:26 $
- */
-package org.eclipse.jem.internal.proxy.remote;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.AmbiguousMethodException;
-import org.eclipse.jem.internal.proxy.common.CommandException;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-import org.eclipse.jem.internal.proxy.common.remote.TransmitableArray;
-
-/**
- * This implementation of IBeanTypeProxy is for where the Bean is on a different VM then the IDE
- *
- * Creation date: (12/3/99 12:29:26 PM)
- *
- * @author: Joe Winchester
- */
-public abstract class REMAbstractBeanTypeProxy implements IREMBeanTypeProxy {
-
- private Integer fID;
-
- protected final REMProxyFactoryRegistry fRegistry;
-
- protected final String fClassname; // This is cached here so that we don't need to go over the line to get it.
-
- private IBeanTypeProxy fSuperType; // This is cached so as not to have to go over the line for it.
-
- /**
- * Create with a registry and a class. It is protected so that only subclasses and the factory with this REM package can call it.
- */
- protected REMAbstractBeanTypeProxy(REMProxyFactoryRegistry aRegistry, Integer anID, String aClassname, IBeanTypeProxy aSuperType) {
- fRegistry = aRegistry;
- fID = anID;
- fClassname = aClassname;
- fSuperType = aSuperType;
- }
-
- /**
- * equals: Equal if: 1) This proxy == (identity) to the other object This is all that is needed for BeanTypes because we know these are classes,
- * there is only one per class, and Class equals is true only for identity.
- */
- public boolean equals(Object anObject) {
- return super.equals(anObject);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#sameAs(org.eclipse.jem.internal.proxy.core.IBeanProxy)
- */
- public boolean sameAs(IBeanProxy aBeanProxy) {
- return this == aBeanProxy; // We can be assured in Remote Proxy that identity of proxy and identity of object are the same.
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.remote.IREMBeanProxy#getID()
- */
- public Integer getID() {
- return fID;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#isValid()
- */
- public boolean isValid() {
- return fID != null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.remote.IREMBeanProxy#release()
- */
- public void release() {
- // Clear the id and supertype (supertype is cleared so that
- // it won't hold onto it and will let the supertype be GC'd
- // if necessary.
-
- fID = null;
- fSuperType = null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructorProxy(java.lang.String[])
- */
- public IConstructorProxy getConstructorProxy(String[] argumentClassNames) {
- if (isInterface())
- return null; // Interfaces don't have ctor's.
-
- // Turn class names into array of BeanTypes.
- IBeanTypeProxy[] argTypes = null;
- if (argumentClassNames != null) {
- IStandardBeanTypeProxyFactory typeFactory = fRegistry.getBeanTypeProxyFactory();
- argTypes = new IBeanTypeProxy[argumentClassNames.length];
- for (int i = 0; i < argumentClassNames.length; i++) {
- IBeanTypeProxy type = argTypes[i] = typeFactory.getBeanTypeProxy(argumentClassNames[i]);
- if (type == null)
- return null; // Couldn't find the type.
- }
- }
-
- return getConstructorProxy(argTypes);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructorProxy(org.eclipse.jem.internal.proxy.core.IBeanTypeProxy[])
- */
- public IConstructorProxy getConstructorProxy(IBeanTypeProxy[] argumentTypes) {
- if (isInterface())
- return null; // Interfaces don't have ctor's.
-
- IREMMethodProxy getCtorMethod = (IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fRegistry).getClassConstructor();
-
- // Create the argument array
- Object[] getParms = (argumentTypes != null) ? new Object[] { new TransmitableArray(Commands.CLASS_CLASS, argumentTypes)} : // Get Ctor has
- // only one parm,
- // the array of
- // parm types.
- null;
-
- try {
- return (IConstructorProxy) getCtorMethod.invokeWithParms(this, getParms);
- } catch (ThrowableProxy e) {
- fRegistry.releaseProxy(e);
- return null;
- }
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructors()
- */
- public IConstructorProxy[] getConstructors() {
-
- if (isInterface())
- return null; // Interfaces don't have ctor's.
-
- IREMMethodProxy getCtorMethod = (IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fRegistry).getClassConstructors();
-
- try {
- IArrayBeanProxy ctors = (IArrayBeanProxy) getCtorMethod.invokeWithParms(this, null);
- IBeanProxy[] proxies = ctors.getSnapshot();
- IConstructorProxy[] ctorproxies = new IConstructorProxy[proxies.length];
- System.arraycopy(proxies, 0, ctorproxies, 0, proxies.length);
- return ctorproxies;
- } catch (ThrowableProxy e) {
- fRegistry.releaseProxy(e);
- return null;
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructorProxy(java.lang.String[])
- */
- public IConstructorProxy getDeclaredConstructorProxy(String[] argumentClassNames) {
- if (isInterface())
- return null; // Interfaces don't have ctor's.
-
- // Turn class names into array of BeanTypes.
- IBeanTypeProxy[] argTypes = null;
- if (argumentClassNames != null) {
- IStandardBeanTypeProxyFactory typeFactory = fRegistry.getBeanTypeProxyFactory();
- argTypes = new IBeanTypeProxy[argumentClassNames.length];
- for (int i = 0; i < argumentClassNames.length; i++) {
- IBeanTypeProxy type = argTypes[i] = typeFactory.getBeanTypeProxy(argumentClassNames[i]);
- if (type == null)
- return null; // Couldn't find the type.
- }
- }
-
- return getDeclaredConstructorProxy(argTypes);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructorProxy(org.eclipse.jem.internal.proxy.core.IBeanTypeProxy[])
- */
- public IConstructorProxy getDeclaredConstructorProxy(IBeanTypeProxy[] argumentTypes) {
- if (isInterface())
- return null; // Interfaces don't have ctor's.
-
- IREMMethodProxy getCtorMethod = (IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fRegistry).getDeclaredClassConstructor();
-
- // Create the argument array
- Object[] getParms = (argumentTypes != null) ? new Object[] { new TransmitableArray(Commands.CLASS_CLASS, argumentTypes)} : // Get Ctor has
- // only one parm,
- // the array of
- // parm types.
- null;
-
- try {
- return (IConstructorProxy) getCtorMethod.invokeWithParms(this, getParms);
- } catch (ThrowableProxy e) {
- fRegistry.releaseProxy(e);
- return null;
- }
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructors()
- */
- public IConstructorProxy[] getDeclaredConstructors() {
-
- if (isInterface())
- return null; // Interfaces don't have ctor's.
-
- IREMMethodProxy getCtorMethod = (IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fRegistry).getDeclaredClassConstructors();
-
- try {
- IArrayBeanProxy ctors = (IArrayBeanProxy) getCtorMethod.invokeWithParms(this, null);
- IBeanProxy[] proxies = ctors.getSnapshot();
- IConstructorProxy[] ctorproxies = new IConstructorProxy[proxies.length];
- System.arraycopy(proxies, 0, ctorproxies, 0, proxies.length);
- return ctorproxies;
- } catch (ThrowableProxy e) {
- fRegistry.releaseProxy(e);
- return null;
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructors()
- */
- public IFieldProxy[] getFields() {
-
- IREMMethodProxy getFieldsMethod = (IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fRegistry).getClassGetFields();
-
- try {
- IArrayBeanProxy fields = (IArrayBeanProxy) getFieldsMethod.invokeWithParms(this, null);
- IBeanProxy[] proxies = fields.getSnapshot();
- IFieldProxy[] fieldProxies = new IFieldProxy[proxies.length];
- System.arraycopy(proxies, 0, fieldProxies, 0, proxies.length);
- return fieldProxies;
- } catch (ThrowableProxy e) {
- fRegistry.releaseProxy(e);
- return null;
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructors()
- */
- public IFieldProxy[] getDeclaredFields() {
-
- IREMMethodProxy getDeclaredFieldsMethod = (IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fRegistry).getClassGetDeclaredFields();
-
- try {
- IArrayBeanProxy fields = (IArrayBeanProxy) getDeclaredFieldsMethod.invokeWithParms(this, null);
- IBeanProxy[] proxies = fields.getSnapshot();
- IFieldProxy[] fieldProxies = new IFieldProxy[proxies.length];
- System.arraycopy(proxies, 0, fieldProxies, 0, proxies.length);
- return fieldProxies;
- } catch (ThrowableProxy e) {
- fRegistry.releaseProxy(e);
- return null;
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getDeclaredFieldProxy(java.lang.String)
- */
- public IFieldProxy getDeclaredFieldProxy(String fieldName) {
- return (IFieldProxy) REMStandardBeanProxyConstants.getConstants(fRegistry).getClassGetDeclaredField().invokeCatchThrowableExceptions(this,
- fRegistry.getBeanProxyFactory().createBeanProxyWith(fieldName));
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getFieldProxy(java.lang.String)
- */
- public IFieldProxy getFieldProxy(String fieldName) {
- return ((REMStandardBeanTypeProxyFactory) fRegistry.getBeanTypeProxyFactory()).proxyConstants.getFieldProxy(this,fieldName);
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IProxyBeanType#getFieldProxy(org.eclipse.jem.internal.proxy.core.IExpression, java.lang.String)
- */
- public IProxyField getFieldProxy(IExpression expression, String fieldName) {
- REMProxyFactoryRegistry registry = (REMProxyFactoryRegistry) expression.getRegistry();
- return ((REMMethodProxyFactory) registry.getMethodProxyFactory()).getFieldProxy(expression, this, fieldName);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructors()
- */
- public IMethodProxy[] getMethods() {
-
- IREMMethodProxy getMethodsMethod = (IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fRegistry).getClassMethods();
-
- try {
- IArrayBeanProxy methods = (IArrayBeanProxy) getMethodsMethod.invokeWithParms(this, null);
- IBeanProxy[] proxies = methods.getSnapshot();
- IMethodProxy[] methodProxies = new IMethodProxy[proxies.length];
- System.arraycopy(proxies, 0, methodProxies, 0, proxies.length);
- return methodProxies;
- } catch (ThrowableProxy e) {
- fRegistry.releaseProxy(e);
- return null;
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructors()
- */
- public IMethodProxy[] getDeclaredMethods() {
-
- IREMMethodProxy getDeclaredMethodsMethod = (IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fRegistry).getClassDeclaredMethods();
-
- try {
- IArrayBeanProxy methods = (IArrayBeanProxy) getDeclaredMethodsMethod.invokeWithParms(this, null);
- IBeanProxy[] proxies = methods.getSnapshot();
- IMethodProxy[] methodProxies = new IMethodProxy[proxies.length];
- System.arraycopy(proxies, 0, methodProxies, 0, proxies.length);
- return methodProxies;
- } catch (ThrowableProxy e) {
- fRegistry.releaseProxy(e);
- return null;
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getMethodProxy(java.lang.String)
- */
- public IMethodProxy getMethodProxy(String methodName) {
- return ((REMStandardBeanTypeProxyFactory) fRegistry.getBeanTypeProxyFactory()).proxyConstants.getMethodProxy(this,methodName,(String[])null);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getMethodProxy(java.lang.String, java.lang.String[])
- */
- public IMethodProxy getMethodProxy(String methodName, String[] argumentClassNames) {
- return ((REMStandardBeanTypeProxyFactory) fRegistry.getBeanTypeProxyFactory()).proxyConstants.getMethodProxy(this,methodName,argumentClassNames);
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IProxyBeanType#getMethodProxy(org.eclipse.jem.internal.proxy.core.IExpression, java.lang.String, org.eclipse.jem.internal.proxy.core.IProxyBeanType[])
- */
- public IProxyMethod getMethodProxy(IExpression expression, String methodName, IProxyBeanType[] parameterTypes) {
- REMProxyFactoryRegistry registry = (REMProxyFactoryRegistry) expression.getRegistry();
- return ((REMMethodProxyFactory) registry.getMethodProxyFactory()).getMethodProxy(expression, this, methodName, parameterTypes);
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IProxyBeanType#getMethodProxy(org.eclipse.jem.internal.proxy.core.IExpression, java.lang.String, java.lang.String[])
- */
- public IProxyMethod getMethodProxy(IExpression expression, String methodName, String[] parameterTypes) {
- REMProxyFactoryRegistry registry = (REMProxyFactoryRegistry) expression.getRegistry();
- return ((REMMethodProxyFactory) registry.getMethodProxyFactory()).getMethodProxy(expression, this, methodName, parameterTypes);
- }
-
- public IProxyMethod getMethodProxy(IExpression expression, String methodName) {
- return getMethodProxy(expression, methodName, (IProxyBeanType[]) null);
- }
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getMethodProxy(java.lang.String, java.lang.String)
- */
- public IMethodProxy getMethodProxy(String methodName, String argumentQualifiedTypeName) {
- return ((REMStandardBeanTypeProxyFactory) fRegistry.getBeanTypeProxyFactory()).proxyConstants.getMethodProxy(this,methodName,new String[] {argumentQualifiedTypeName});
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getMethodProxy(java.lang.String, org.eclipse.jem.internal.proxy.core.IBeanTypeProxy[])
- */
- public IMethodProxy getMethodProxy(String methodName, IBeanTypeProxy[] argumentTypes) {
- return ((REMStandardBeanTypeProxyFactory) fRegistry.getBeanTypeProxyFactory()).proxyConstants.getMethodProxy(this,methodName,argumentTypes);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructorProxy(java.lang.String[])
- */
- public IMethodProxy getDeclaredMethodProxy(String methodName, String[] argumentClassNames) {
-
- // Turn class names into array of BeanTypes.
- IBeanTypeProxy[] argTypes = null;
- if (argumentClassNames != null) {
- IStandardBeanTypeProxyFactory typeFactory = fRegistry.getBeanTypeProxyFactory();
- argTypes = new IBeanTypeProxy[argumentClassNames.length];
- for (int i = 0; i < argumentClassNames.length; i++) {
- IBeanTypeProxy type = argTypes[i] = typeFactory.getBeanTypeProxy(argumentClassNames[i]);
- if (type == null)
- return null; // Couldn't find the type.
- }
- }
-
- return getDeclaredMethodProxy(methodName, argTypes);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructorProxy(org.eclipse.jem.internal.proxy.core.IBeanTypeProxy[])
- */
- public IMethodProxy getDeclaredMethodProxy(String methodName, IBeanTypeProxy[] argumentTypes) {
- IREMMethodProxy getDeclaredMethodMethod = (IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fRegistry).getClassDeclaredMethod();
- IBeanProxy nameProxy = fRegistry.getBeanProxyFactory().createBeanProxyWith(methodName);
- // Create the argument array
- Object[] getParms = (argumentTypes != null) ? new Object[] { nameProxy, new TransmitableArray(Commands.CLASS_CLASS, argumentTypes)} : new Object[] {nameProxy, null};
-
- try {
- return (IMethodProxy) getDeclaredMethodMethod.invokeWithParms(this, getParms);
- } catch (ThrowableProxy e) {
- fRegistry.releaseProxy(e);
- return null;
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getInvokable(java.lang.String)
- */
- public IInvokable getInvokable(String methodName) {
- return ((REMStandardBeanTypeProxyFactory) fRegistry.getBeanTypeProxyFactory()).proxyConstants.getInvokable(this,methodName,(String[])null);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getInvokable(java.lang.String, java.lang.String[])
- */
- public IInvokable getInvokable(String methodName, String[] argumentClassNames) {
- return ((REMStandardBeanTypeProxyFactory) fRegistry.getBeanTypeProxyFactory()).proxyConstants.getInvokable(this,methodName,argumentClassNames);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getInvokable(java.lang.String, java.lang.String)
- */
- public IInvokable getInvokable(String methodName, String argumentQualifiedTypeName) {
- return getInvokable(methodName, new String[] { argumentQualifiedTypeName});
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getInvokable(java.lang.String, org.eclipse.jem.internal.proxy.core.IBeanTypeProxy[])
- */
- public IInvokable getInvokable(String methodName, IBeanTypeProxy[] argumentTypes) {
- return ((REMStandardBeanTypeProxyFactory) fRegistry.getBeanTypeProxyFactory()).proxyConstants.getInvokable(this,methodName,argumentTypes);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getNullConstructorProxy()
- */
- public IConstructorProxy getNullConstructorProxy() {
- return getConstructorProxy((IBeanTypeProxy[]) null);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#getProxyFactoryRegistry()
- */
- public ProxyFactoryRegistry getProxyFactoryRegistry() {
- return fRegistry;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getSuperBeanTypeProxy()
- */
- public IBeanTypeProxy getSuperBeanTypeProxy() {
- return fSuperType;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getTypeName()
- */
- public String getTypeName() {
- return fClassname;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#isArray()
- */
- public boolean isArray() {
- return false;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#isInterface()
- */
- public boolean isInterface() {
- return false;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#isPrimitive()
- */
- public boolean isPrimitive() {
- return false;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#isKindOf(org.eclipse.jem.internal.proxy.core.IBeanTypeProxy)
- */
- public boolean isKindOf(IBeanTypeProxy aBeanProxyType) {
- return ((IBooleanBeanProxy) REMStandardBeanProxyConstants.getConstants(fRegistry).getClassIsAssignableFrom().invokeCatchThrowableExceptions(
- aBeanProxyType, this)).booleanValue();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#newInstance(java.lang.String)
- */
- public IBeanProxy newInstance(String initializationString) throws ThrowableProxy, ClassCastException, InstantiationException {
- try {
- return ((REMStandardBeanProxyFactory) fRegistry.getBeanProxyFactory()).createBeanProxy(this, initializationString);
- } catch (CommandException e) {
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", e)); //$NON-NLS-1$
- return null;
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.lang.Object#toString()
- */
- public String toString() {
- return super.toString() + "(" + getTypeName() + ")"; //$NON-NLS-2$//$NON-NLS-1$
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#getTypeProxy()
- */
- public IBeanTypeProxy getTypeProxy() {
- return ((REMStandardBeanTypeProxyFactory) fRegistry.getBeanTypeProxyFactory()).classClass;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#toBeanString()
- */
- public String toBeanString() {
- return getTypeName();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#newInstance()
- */
- public IBeanProxy newInstance() throws ThrowableProxy {
- return ((REMStandardBeanProxyFactory) fRegistry.getBeanProxyFactory()).createBeanProxy(this);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.remote.IREMBeanProxy#renderBean(org.eclipse.jem.internal.proxy.common.remote.Commands.ValueObject)
- */
- public void renderBean(Commands.ValueObject value) {
- value.setObjectID(getID().intValue());
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getFormalTypeName()
- */
- public String getFormalTypeName() {
- return getTypeName();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getInitializationError()
- */
- public String getInitializationError() {
- return null; // By default none have an initialization error. There is a special instance for init errors.
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getCompatibleConstructor(org.eclipse.jem.internal.proxy.core.IBeanTypeProxy[])
- */
- public IConstructorProxy getCompatibleConstructor(IBeanTypeProxy[] argumentTypes) throws NoSuchMethodException, AmbiguousMethodException {
- if (isInterface())
- return null; // Interfaces don't have ctor's.
-
- IREMMethodProxy findCompatibleMethod = (IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fRegistry).getFindCompatibleConstructorMethod();
-
- // Create the argument array
- Object[] getParms = (argumentTypes != null) ? new Object[] { this, new TransmitableArray(Commands.CLASS_CLASS, argumentTypes)} : new Object[] {this, null};
-
- try {
- return (IConstructorProxy) findCompatibleMethod.invokeWithParms(this, getParms);
- } catch (ThrowableProxy e) {
- try {
- if (e.getTypeProxy().equals(fRegistry.getBeanTypeProxyFactory().getBeanTypeProxy("java.lang.NoSuchMethodException"))) //$NON-NLS-1$
- throw new NoSuchMethodException(e.getProxyLocalizedMessage());
- else if (e.getTypeProxy().equals(fRegistry.getBeanTypeProxyFactory().getBeanTypeProxy("org.eclipse.jem.internal.proxy.common.AmbiguousMethodException"))) //$NON-NLS-1$
- throw new AmbiguousMethodException(e.getProxyLocalizedMessage());
- ProxyPlugin.getPlugin().getLogger().log(e);
- return null;
- } finally {
- fRegistry.releaseProxy(e);
- }
- }
- }
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getCompatibleMethod(java.lang.String, org.eclipse.jem.internal.proxy.core.IBeanTypeProxy[])
- */
- public IMethodProxy getCompatibleMethod(String methodName, IBeanTypeProxy[] argumentTypes) throws NoSuchMethodException, AmbiguousMethodException {
-
- IREMMethodProxy findCompatibleMethod = (IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fRegistry).getFindCompatibleMethodMethod();
- IBeanProxy methodNameProxy = fRegistry.getBeanProxyFactory().createBeanProxyWith(methodName);
-
- // Create the argument array
- Object[] getParms = (argumentTypes != null) ? new Object[] { this, methodNameProxy, new TransmitableArray(Commands.CLASS_CLASS, argumentTypes)} : new Object[] {this, methodNameProxy, null};
-
- try {
- return (IMethodProxy) findCompatibleMethod.invokeWithParms(this, getParms);
- } catch (ThrowableProxy e) {
- try {
- if (e.getTypeProxy().equals(fRegistry.getBeanTypeProxyFactory().getBeanTypeProxy("java.lang.NoSuchMethodException"))) //$NON-NLS-1$
- throw new NoSuchMethodException(e.getProxyLocalizedMessage());
- else if (e.getTypeProxy().equals(fRegistry.getBeanTypeProxyFactory().getBeanTypeProxy("org.eclipse.jem.internal.proxy.common.AmbiguousMethodException"))) //$NON-NLS-1$
- throw new AmbiguousMethodException(e.getProxyLocalizedMessage());
- ProxyPlugin.getPlugin().getLogger().log(e);
- return null;
- } finally {
- fRegistry.releaseProxy(e);
- }
- }
- }
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IProxy#isBeanProxy()
- */
- public final boolean isBeanProxy() {
- return true;
- }
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IProxy#isExpressionProxy()
- */
- public final boolean isExpressionProxy() {
- return false;
- }
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMAbstractNumberBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMAbstractNumberBeanTypeProxy.java
deleted file mode 100644
index 397d861dc..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMAbstractNumberBeanTypeProxy.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMAbstractNumberBeanTypeProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-/**
- * Abstract class for any of the number bean type subclasses.
- * NOTE: This does not represent the beantype Number. It is a
- * class that provides functions for Number subclass beantypes.
- * The Number beantype itself is simply a REMBeanTypeProxy since
- * Number is abstract and has no necessary extra function.
- * Creation date: (08/31/00 11:49:12 AM)
- * @author: Administrator
- */
-public abstract class REMAbstractNumberBeanTypeProxy extends REMAbstractBeanTypeProxy implements IREMConstantBeanTypeProxy {
-
-protected REMAbstractNumberBeanTypeProxy(REMProxyFactoryRegistry aRegistry, Integer anID, String aClassname, IBeanTypeProxy aSuperType) {
- super(aRegistry, anID, aClassname, aSuperType);
-}
-/**
- * Helper to create a bean proxy
- * protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- */
-protected abstract INumberBeanProxy createNumberBeanProxy(Number aNumber);
-
-/**
- * Create a new bean proxy with the specified id.
- *
- * For all of the Number types, this is an invalid operation. They are created
- * explicitly through the appropriate create method.
- */
-public IREMBeanProxy newBeanProxy(Integer anID) {
- throw new UnsupportedOperationException();
-}
-
-/**
- * newBeanTypeForClass: Create a new beantypeproxy of this kind for the given class.
- * This is used by beantype proxy factory when creating a beantype proxy for a subclass.
- * This is because subclasses, unless explicitly overridden, should use the same kind
- * of beantype proxy. This way if anything special is needed for a specific type, then
- * that can be done.
- *
- * For all of the Number types, they are final classes, so you can't create a newBeanType
- * for subclasses.
- */
-public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract) {
- throw new UnsupportedOperationException();
-}
-
-/**
- * newInstance method. Number's don't have a default ctor, so the standard way won't work.
- * Each beantype will return a default value (usually a value of 0).
- */
-public abstract IBeanProxy newInstance() throws ThrowableProxy;
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMAccessibleObjectProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMAccessibleObjectProxy.java
deleted file mode 100644
index 605f5bbc2..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMAccessibleObjectProxy.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: REMAccessibleObjectProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-package org.eclipse.jem.internal.proxy.remote;
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.core.IAccessibleObjectProxy;
-import org.eclipse.jem.internal.proxy.core.ThrowableProxy;
-
-/**
- * AccessibleObject Proxy.
- *
- * @since 1.0.0
- */
-public class REMAccessibleObjectProxy extends REMAbstractBeanProxy implements IAccessibleObjectProxy {
-
- protected REMAccessibleObjectProxy(REMProxyFactoryRegistry aRegistry, Integer anID) {
- super(aRegistry, anID);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IAccessibleObjectProxy#isAccessible()
- */
- public boolean isAccessible() throws ThrowableProxy {
- return ((IBooleanBeanProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getAccessibleIsAccessible().invoke(this)).booleanValue();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IAccessibleObjectProxy#setAccessible(boolean)
- */
- public void setAccessible(boolean flag) throws ThrowableProxy {
- REMStandardBeanProxyConstants.getConstants(fFactory).getAccessibleSetAccessible().invoke(this, fFactory.getBeanProxyFactory().createBeanProxyWith(flag));
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#getTypeProxy()
- */
- public IBeanTypeProxy getTypeProxy() {
- return ((REMMethodProxyFactory) fFactory.getMethodProxyFactory()).accessibleType;
- }
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMAnAbstractBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMAnAbstractBeanTypeProxy.java
deleted file mode 100644
index cebdd4a70..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMAnAbstractBeanTypeProxy.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMAnAbstractBeanTypeProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-/**
- * This is a proxy for an abstract bean type. I.e. you can't create a new instance of it.
- * It can be used as a general abstract type. It will pass newBeanTypeForClass unto
- * the main super type passed in.
- */
-
-public class REMAnAbstractBeanTypeProxy extends REMAbstractBeanTypeProxy {
-
- protected IREMSpecialBeanTypeProxy fMainSuperType; // The type that this was created from so that
- // any non-abstract subclasses can create the correct
- // type of beantype proxy.
-
- public REMAnAbstractBeanTypeProxy(REMProxyFactoryRegistry aRegistry, Integer anID, String aClassname, IBeanTypeProxy aSuperType, IREMSpecialBeanTypeProxy aType) {
- super(aRegistry, anID, aClassname, aSuperType);
- fMainSuperType = aType;
- }
-
- /**
- * Create a new bean proxy with the specified id.
- *
- * For all of the abstract types, this is an invalid operation.
- */
- public IREMBeanProxy newBeanProxy(Integer anID) {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Note: Since new instances of abstract classes can never be done,
- * this function is not supported.
- */
- public IBeanProxy newInstance() {
- throw new UnsupportedOperationException();
- }
-
- /**
- * newBeanTypeForClass: Create a new beantypeproxy of this kind for the given class.
- * This is used by beantype proxy factory when creating a beantype proxy for a subclass.
- * This is because subclasses, unless explicitly overridden, should use the same kind
- * of beantype proxy. This way if anything special is needed for a specific type, then
- * that can be done.
- */
- public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract) {
- return fMainSuperType.newBeanTypeForClass(anID, aClassname, anAbstract, this);
- }
-
- /**
- * release - BeanType is about to be released.
- * Clear the fMainSupertype (supertype is cleared so that
- * it won't hold onto it and will let the supertype be GC'd
- * if necessary.
- */
- public void release() {
- fMainSuperType = null;
- super.release();
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMArrayBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMArrayBeanProxy.java
deleted file mode 100644
index 2d5cc558f..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMArrayBeanProxy.java
+++ /dev/null
@@ -1,253 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.remote;
-/*
- * $RCSfile: REMArrayBeanProxy.java,v $
- * $Revision: 1.7 $ $Date: 2005/05/11 19:01:12 $
- */
-
-import java.lang.reflect.Array;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.jem.internal.proxy.common.CommandException;
-import org.eclipse.jem.internal.proxy.common.remote.CommandErrorException;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-import org.eclipse.jem.internal.proxy.common.remote.Commands.ValueObject;
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * IDE VM version of the Array proxy
- */
-
-public final class REMArrayBeanProxy extends REMBeanProxy implements IArrayBeanProxy {
- private int fLength = -1;
-
- REMArrayBeanProxy(REMProxyFactoryRegistry aRegistry, Integer anID, IBeanTypeProxy aType) {
- super(aRegistry, anID, aType);
- }
-
-
- /**
- * Get the object at the specified index.
- */
- public IBeanProxy get(int index) throws ThrowableProxy {
- // Format of getter parms is: (Object (array), int (index)).
- Object[] parms = new Object[] {this, new Integer(index)};
- // If the component type is primitive, we need to use the correct getter so that a valid value is returned,
- // if we just used the standard get, if the type was "int" the value returned would be an java.lang.Integer.
- IBeanTypeProxy compType = ((IArrayBeanTypeProxy) getTypeProxy()).getComponentType();
- if (!compType.isPrimitive()) {
- // Use standard getter.
- return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getArrayGet()).invokeWithParms(null, parms);
- } else {
- // Use the correct primitive getter.
- int id = ((IREMBeanProxy) compType).getID().intValue();
- switch (id) {
- case Commands.BYTE_TYPE:
- return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getArrayGetByte()).invokeWithParms(null, parms);
- case Commands.BOOLEAN_TYPE:
- return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getArrayGetBoolean()).invokeWithParms(null, parms);
- case Commands.CHARACTER_TYPE:
- return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getArrayGetChar()).invokeWithParms(null, parms);
- case Commands.DOUBLE_TYPE:
- return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getArrayGetDouble()).invokeWithParms(null, parms);
- case Commands.FLOAT_TYPE:
- return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getArrayGetFloat()).invokeWithParms(null, parms);
- case Commands.INTEGER_TYPE:
- return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getArrayGetInt()).invokeWithParms(null, parms);
- case Commands.LONG_TYPE:
- return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getArrayGetLong()).invokeWithParms(null, parms);
- case Commands.SHORT_TYPE:
- return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getArrayGetShort()).invokeWithParms(null, parms);
- }
- }
-
- return null;
- }
-
- /**
- * Get the object at the specified multi-dimensional index.
- * The array must be at least the number of dimensions specified,
- * and each index along the way must exist.
- * The number of dimensions can't be greater than the number
- * of dimensions of the real object.
- */
- public IBeanProxy get(int [] indexes) throws ThrowableProxy {
- // Format of getter parms is: (Object (array), int[] (indexes)).
- Object[] parms = new Object[] {this, indexes};
- // If the component type at the specified dimension is primitive, we need to use the correct getter so that a valid value is returned,
- // if we just used the standard get, if the type was "int" the value returned would be an java.lang.Integer.
- int dims = ((IArrayBeanTypeProxy) getTypeProxy()).getDimensions();
- if (dims < indexes.length)
- throw new IllegalArgumentException(); // Too many dimensions
- IBeanTypeProxy finalCompType = ((IArrayBeanTypeProxy) getTypeProxy()).getFinalComponentType();
- if (dims == indexes.length && finalCompType.isPrimitive()) {
- // Use the correct primitive getter because we are accessing the final component and it is primitive.
- int id = ((IREMBeanProxy) finalCompType).getID().intValue();
- switch (id) {
- case Commands.BYTE_TYPE:
- return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getArrayHelperGetByte()).invokeWithParms(null, parms);
- case Commands.BOOLEAN_TYPE:
- return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getArrayHelperGetBoolean()).invokeWithParms(null, parms);
- case Commands.CHARACTER_TYPE:
- return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getArrayHelperGetChar()).invokeWithParms(null, parms);
- case Commands.DOUBLE_TYPE:
- return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getArrayHelperGetDouble()).invokeWithParms(null, parms);
- case Commands.FLOAT_TYPE:
- return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getArrayHelperGetFloat()).invokeWithParms(null, parms);
- case Commands.INTEGER_TYPE:
- return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getArrayHelperGetInt()).invokeWithParms(null, parms);
- case Commands.LONG_TYPE:
- return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getArrayHelperGetLong()).invokeWithParms(null, parms);
- case Commands.SHORT_TYPE:
- return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getArrayHelperGetShort()).invokeWithParms(null, parms);
- }
- } else {
- // It is not the final component, or it is not primitive, use the standard accessor.
- return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getArrayHelperGet()).invokeWithParms(null, parms);
- }
-
- return null;
- }
-
- /**
- * Set the object at the specified index.
- */
- public void set(IBeanProxy value, int index) throws ThrowableProxy {
- // Format of setter parms is: (Object (array), int (index), Object (value)).
- Object[] parms = new Object[] {this, new Integer(index), value};
- ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getArraySet()).invokeWithParms(null, parms);
- }
-
- /**
- * Set the object at the specified multi-dimensional index.
- * The array must be at least the number of dimensions specified,
- * and each index along the way must exist.
- * The number of dimensions can't be greater than the number
- * of dimensions of the real object.
- */
- public void set(IBeanProxy value, int [] indexes) throws ThrowableProxy {
- // Format of setter parms is: (Object (array), int[] (indexes), Object (value)).
- Object[] parms = new Object[] {this, indexes, value};
- ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getArrayHelperSet()).invokeWithParms(null, parms);
- }
-
- /**
- * Get the length of the first dimension of this array.
- * If there are multi-dimensions, you must get the appropriate
- * dimension from the get method to see the size of that dimension.
- *
- * e.g.
- * int [3] returns 3
- * int [3][2] returns 3
- *
- * ((IArrayBeanProxy) get(1)).getLength() returns 2
- * Since arrays do not have to be homogenous, there could
- * be a different length array for each of the arrays
- * returned from the first dimension, the returned length
- * from get(2) and get(3) could result in a different value
- * from get(1).
- */
- public int getLength() {
- if (fLength == -1) {
- // It hasn't yet been quiered.
- fLength = ((IIntegerBeanProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getArrayGetLength().invokeCatchThrowableExceptions(null, this)).intValue();
- }
- return fLength;
- }
-
- public IBeanProxy getCatchThrowableException(int index){
- try {
- return get(index);
- } catch (ThrowableProxy e) {
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", e)); //$NON-NLS-1$
- fFactory.releaseProxy(e); // Since it's no longer needed, get rid of now instead of GC time.
- return null;
- }
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IArrayBeanProxy#getSnapshot()
- */
- public IBeanProxy[] getSnapshot() throws ThrowableProxy {
- IREMConnection connect = fFactory.getFreeConnection();
- REMStandardBeanProxyFactory proxyFactory = (REMStandardBeanProxyFactory) fFactory.getBeanProxyFactory();
- proxyFactory.startTransaction(); // This is definately a transaction, so start it.
- try {
- Commands.ValueObject returnValue = new Commands.ValueObject();
- try {
- try {
- connect.getArrayContents(getID().intValue(), returnValue);
- return processReturnValue(connect, returnValue);
- } catch (CommandErrorException e) {
- proxyFactory.processErrorReturn(e);
- }
- } catch (CommandException e) {
- if (!e.isRecoverable()) {
- // Close the connection and try again.
- fFactory.closeConnection(connect);
- connect = null;
- connect = fFactory.getFreeConnection();
- try {
- connect.getArrayContents(getID().intValue(), returnValue);
- return processReturnValue(connect, returnValue);
- } catch (CommandException eAgain) {
- // Failed again. Just close and print trace.
- fFactory.closeConnection(connect);
- connect = null;
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", eAgain)); //$NON-NLS-1$
- return null;
- }
- } else {
- // A recoverable error, print trace and return
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", e)); //$NON-NLS-1$
- return null;
- }
- }
- } finally {
- proxyFactory.stopTransaction();
- if (connect != null)
- fFactory.returnConnection(connect);
- }
- return null;
- }
-
-
- /*
- * @param returnValue
- * @return
- *
- * @since 1.1.0
- */
- private IBeanProxy[] processReturnValue(IREMConnection connection, ValueObject returnValue) throws CommandException, ThrowableProxy {
- // It is an array containing IDs, as it normally would be.
- // However it will become IBeanProxy[]. That is because if ID's
- // they must be proxies over here.
- BeanProxyValueSender valueSender = new BeanProxyValueSender((REMStandardBeanProxyFactory) fFactory.getBeanProxyFactory(), returnValue);
- connection.readProxyArrayValues(returnValue, valueSender, false);
- Exception e = valueSender.getException();
- if (e != null) {
- if (e instanceof ThrowableProxy)
- throw (ThrowableProxy) e;
- else
- throw (CommandException) e;
- }
- Object vals = valueSender.getArray();
- IBeanProxy[] proxyArray = new IBeanProxy[Array.getLength(vals)];
- System.arraycopy(vals, 0, proxyArray, 0, proxyArray.length);
- return proxyArray;
- }
-
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMArrayBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMArrayBeanTypeProxy.java
deleted file mode 100644
index b58f40e5a..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMArrayBeanTypeProxy.java
+++ /dev/null
@@ -1,340 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.remote;
-/*
- * $RCSfile: REMArrayBeanTypeProxy.java,v $
- * $Revision: 1.5 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-
-import org.eclipse.jem.internal.proxy.common.MapTypes;
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * Array Type Proxy for the IDE VM.
- *
- * The class is final because array's are special and shouldn't have
- * any subclasses since the factory would never call it.
- */
-
-public final class REMArrayBeanTypeProxy extends REMAbstractBeanTypeProxy implements IArrayBeanTypeProxy {
-
- /**
- * Create with a registry and a class. It is package so that only
- * the factory with this IDE package can call it.
- */
- protected REMArrayBeanTypeProxy(REMProxyFactoryRegistry aRegistry, Integer anID, String aClassname, IBeanTypeProxy objectType) {
- super(aRegistry, anID, aClassname, objectType);
- }
- /**
- * This is an array type!
- */
- public boolean isArray() {
- return true;
- }
- /**
- * Return the final component type.
- */
- public IBeanTypeProxy getFinalComponentType() {
- // Component type is strip off all '[' and return class name (if we ever add classLoader support, this won't work).
- // However, if the type is a primitive we need to go through the change table).
- int typeStart = getTypeName().lastIndexOf('[')+1;
- if (getTypeName().charAt(typeStart) == 'L') {
- // It is a class.
- // Strip off up to the 'L', and the trailing ';'. That is the class name.
- return fRegistry.getBeanTypeProxyFactory().getBeanTypeProxy(getTypeName().substring(typeStart+1, getTypeName().length()-1));
- } else {
- // It is a type. Need to map it.
- Class aType = (Class) MapTypes.MAP_SHORTSIG_TO_TYPE.get(getTypeName().substring(typeStart, typeStart+1));
- return aType != null ? fRegistry.getBeanTypeProxyFactory().getBeanTypeProxy(aType.getName()) : null;
- }
- }
-
- /**
- * Return the component type.
- */
- public IBeanTypeProxy getComponentType() {
- // Component type is strip off first '[' and return class name (if we ever add classLoader support, this won't work).
- // However, if the type is a primitive we need to go through the change table).
- if (getTypeName().charAt(1) != '[') {
- // It is a one dimensional array, just send to getFinalComponentType to figure out the type.
- return getFinalComponentType();
- } else {
- // It is a multi-dimensional array. Just strip off one '[' and send that to the bean type factory.
- return fRegistry.getBeanTypeProxyFactory().getBeanTypeProxy(getTypeName().substring(1));
- }
- }
- /**
- * Return the number of dimensions.
- */
- public int getDimensions() {
- return getTypeName().lastIndexOf('[')+1;
- }
-
- /**
- * Create a new bean proxy with the specified object
- * Use the constructor that allows the type proxy to be set as well as the bean
- * because we are the type and by setting it now we might avoid it being lookup for in the
- * factory the first time it is asked for.
- */
- public IREMBeanProxy newBeanProxy(Integer anID) {
- return new REMArrayBeanProxy(fRegistry, anID, this);
- }
-
-
- /**
- * newBeanTypeForClass: Create a new beantypeproxy of this kind for the given class.
- * This is used by beantype proxy factory when creating a beantype proxy for a subclass.
- * This is because subclasses, unless explicitly overridden, should use the same kind
- * of beantype proxy. This way if anything special is needed for a specific type, then
- * that can be done.
- *
- * Arrays can't be subclassed.
- */
- public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract) {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Return the null ctor proxy for this method with these arguments.
- * For all of the array types, this is an invalid operation.
- */
- public IConstructorProxy getNullConstructorProxy() {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Return a proxy to the constructor for the target VM being the same as the REM
- * For all of the array types, this is an invalid operation.
- */
- public IConstructorProxy getConstructorProxy(String[] argumentClassNames) {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Return a proxy to the constructor for the target VM being the same as the REM
- * For all of the array types, this is an invalid operation.
- */
- public IConstructorProxy getConstructorProxy(IBeanTypeProxy[] argumentTypes) {
- throw new UnsupportedOperationException();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructors()
- *
- * For all of the array types, this is an invalid operation.
- */
- public IConstructorProxy[] getConstructors() {
- throw new UnsupportedOperationException();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructors()
- *
- * For all of the array types, this is an invalid operation.
- */
- public IConstructorProxy[] getDeclaredConstructors() {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Return a proxy to the constructor for the target VM being the same as the REM
- * For all of the array types, this is an invalid operation.
- */
- public IConstructorProxy getDeclaredConstructorProxy(String[] argumentClassNames) {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Return a proxy to the constructor for the target VM being the same as the REM
- * For all of the array types, this is an invalid operation.
- */
- public IConstructorProxy getDeclaredConstructorProxy(IBeanTypeProxy[] argumentTypes) {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Return a proxy to the field for the target VM being the same as the REM
- * For all of the array types, this is an invalid operation.
- */
- public IFieldProxy getFieldProxy(String fieldName) {
- throw new UnsupportedOperationException();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructors()
- *
- * For all of the array types, this is an invalid operation.
- */
- public IFieldProxy[] getFields() {
- throw new UnsupportedOperationException();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructors()
- *
- * For all of the array types, this is an invalid operation.
- */
- public IFieldProxy[] getDeclaredFields() {
- throw new UnsupportedOperationException();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructors()
- *
- * For all of the array types, this is an invalid operation.
- */
- public IMethodProxy[] getMethods() {
- throw new UnsupportedOperationException();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructors()
- *
- * For all of the array types, this is an invalid operation.
- */
- public IMethodProxy[] getDeclaredMethods() {
- throw new UnsupportedOperationException();
- }
-
-
- /**
- * Return the method proxy for this method with these arguments.
- * For all of the array types, this is an invalid operation.
- */
- public IMethodProxy getMethodProxy(String methodName, IBeanTypeProxy[] argumentTypes) {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Return the method proxy for this method with these arguments.
- * For all of the array types, this is an invalid operation.
- */
- public IMethodProxy getMethodProxy(String methodName, String[] argumentClassNames) {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Return the method proxy for this method with these arguments.
- * For all of the array types, this is an invalid operation.
- */
- public IMethodProxy getDeclaredMethodProxy(String methodName, IBeanTypeProxy[] argumentTypes) {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Return the method proxy for this method with these arguments.
- * For all of the array types, this is an invalid operation.
- */
- public IMethodProxy getDeclaredMethodProxy(String methodName, String[] argumentClassNames) {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Return the method proxy for this method with these arguments.
- * For all of the array types, this is an invalid operation.
- */
- public IMethodProxy getMethodProxy(String methodName, String argumentQualifiedTypeName) {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Return the method proxy for this method with these arguments.
- * For all of the array types, this is an invalid operation.
- */
- public IMethodProxy getMethodProxy(String methodName) {
- throw new UnsupportedOperationException();
- }
-
- /**
- * 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]
- * (int[][], null) or (int[][], new int[0])
- * int[0][]
- * This is because an array instance with no dimensions specified is not valid.
- *
- * - (int[][], new int[1] {3})
- * int[3][]
- *
- * It is package protected so that only the REM Factory can call it.
- */
- REMArrayBeanProxy createBeanProxyWith(int[] dimensions) throws ThrowableProxy {
- // If the dimensions is null or zero length, then create the
- // array as a 0 sized array one dimensional array.
- if (dimensions == null || dimensions.length == 0)
- return createBeanProxyWith(new int[] {0});
-
- // Remove from this type the number of dimensions specified
- // coming in, up to but no further than the final component.
- // From here we can then use the appropriate java.lang.reflect.Array
- // method to create the array.
- IBeanTypeProxy compType = null; // The type of array to create (it may be different number of dimensions).
- int numDims = getDimensions();
- if (numDims <= dimensions.length)
- compType = getFinalComponentType(); // There are the same or more requested dimensions, so use final component type
- else {
- // There are fewer requested dimensions, so strip off that many
- String compClass = getTypeName().substring(dimensions.length);
- compType = fRegistry.getBeanTypeProxyFactory().getBeanTypeProxy(compClass);
- }
-
- if (dimensions.length == 1) {
- // Use the one dimension call
- Object[] parms = new Object[] {compType, new Integer(dimensions[0])};
- return (REMArrayBeanProxy) ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fRegistry).getArrayNewInstanceOneDimension()).invokeWithParms(null, parms);
- } else {
- // Use the multi dimension call
- Object[] parms = new Object[] {compType, dimensions};
- return (REMArrayBeanProxy) ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fRegistry).getArrayNewInstanceMultiDimension()).invokeWithParms(null, parms);
- }
- }
-
- /**
- * @see IBeanTypeProxy#getFormalTypeName()
- */
- public String getFormalTypeName() {
- String name = getTypeName();
- int dims = name.lastIndexOf('[') + 1;
- String type = getFinalComponentType().getTypeName();
- StringBuffer formalType = new StringBuffer(type.length()+("[]".length()*dims)); //$NON-NLS-1$
- formalType.append(type);
- for (int i=0; i<dims; i++)
- formalType.append("[]"); //$NON-NLS-1$
- return formalType.toString();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getCompatibleConstructor(org.eclipse.jem.internal.proxy.core.IBeanTypeProxy[])
- */
- public IConstructorProxy getCompatibleConstructor(IBeanTypeProxy[] argumentTypes) {
- throw new UnsupportedOperationException();
- }
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getCompatibleMethod(java.lang.String, org.eclipse.jem.internal.proxy.core.IBeanTypeProxy[])
- */
- public IMethodProxy getCompatibleMethod(String methodName, IBeanTypeProxy[] argumentTypes) {
- throw new UnsupportedOperationException();
- }
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBeanProxy.java
deleted file mode 100644
index 67fa54a7d..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBeanProxy.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMBeanProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * Standard implementation of IREMBeanProxy
- */
-
-public class REMBeanProxy extends REMAbstractBeanProxy {
- private IBeanTypeProxy fType;
-
- protected REMBeanProxy(REMProxyFactoryRegistry aRegistry, Integer anID, IBeanTypeProxy aType){
- super(aRegistry, anID);
- fType = aType;
- }
-
- public IBeanTypeProxy getTypeProxy() {
- return fType;
- }
-
- public void release() {
- fType = null;
- super.release();
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBeanTypeProxy.java
deleted file mode 100644
index e3bf6444f..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBeanTypeProxy.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMBeanTypeProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.IBeanTypeProxy;
-/**
- * Default implementation for a BeanTypeProxy. This is what is used
- * for regular default beans and beantypes when no special beans or bean types are needed.
- */
-public class REMBeanTypeProxy extends REMAbstractBeanTypeProxy implements IREMSpecialBeanTypeProxy {
-
- /**
- * Create with a registry and a class. It is protected so that only subclasses
- * and the factory with this REM package can call it.
- */
- public REMBeanTypeProxy(REMProxyFactoryRegistry aRegistry, Integer anID, String aClassname, IBeanTypeProxy aSuperType) {
- super(aRegistry, anID, aClassname, aSuperType);
- }
-
- /**
- * newBeanTypeForClass: Create a new beantypeproxy of this kind for the given class.
- * This is used by beantype proxy factory when creating a beantype proxy for a subclass.
- * This is because subclasses, unless explicitly overridden, should use the same kind
- * of beantype proxy. This way if anything special is needed for a specific type, then
- * that can be done.
- *
- * NOTE: All subclasses must override this to return the correct type of BeanTypeProxy.
- */
- public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract) {
- return newBeanTypeForClass(anID, aClassname, anAbstract, this);
- }
-
- /**
- * The special method to handle subclassing from an abstract).
- */
- public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract, IBeanTypeProxy superType) {
- if (!anAbstract)
- return new REMBeanTypeProxy(fRegistry, anID, aClassname, superType);
- else
- return new REMAnAbstractBeanTypeProxy(fRegistry, anID, aClassname, superType, this);
- }
-
- /**
- * Create a new bean proxy with the specified id.
- */
- public IREMBeanProxy newBeanProxy(Integer anID){
-
- return new REMBeanProxy(fRegistry, anID, this);
-
- }
-
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBigDecimalBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBigDecimalBeanProxy.java
deleted file mode 100644
index bc480256d..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBigDecimalBeanProxy.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMBigDecimalBeanProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import java.math.BigDecimal;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * Remote Proxy for BigDecimals.
- */
-class REMBigDecimalBeanProxy extends REMNumberBeanProxy {
-
-REMBigDecimalBeanProxy(REMProxyFactoryRegistry aRegistry, BigDecimal aBigDecimal) {
- super(aRegistry, aBigDecimal);
-}
-
-/**
- * Get the beantype
- */
-public IBeanTypeProxy getTypeProxy() {
- return ((REMStandardBeanTypeProxyFactory) fFactory.getBeanTypeProxyFactory()).bigDecimalClass;
-}
-
-/**
- * Render the bean into value object.
- */
-public void renderBean(Commands.ValueObject value) {
- value.set(numberValue(), ((IREMBeanTypeProxy) getTypeProxy()).getID().intValue());
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBigDecimalBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBigDecimalBeanTypeProxy.java
deleted file mode 100644
index a101cc125..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBigDecimalBeanTypeProxy.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMBigDecimalBeanTypeProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-import java.math.BigDecimal;
-/**
- * Remote Implementation of IBeanTypeProxy for BigDecimal.
- * Creation date: (2/6/00 9:01:40 AM)
- * @author: Joe Winchester
- */
-final class REMBigDecimalBeanTypeProxy extends REMAbstractNumberBeanTypeProxy {
-// Some values are cache'd for speed
- private final INumberBeanProxy zeroProxy;
- private final static BigDecimal zeroValue = new BigDecimal(0D);
-
-REMBigDecimalBeanTypeProxy(REMProxyFactoryRegistry aRegistry, IBeanTypeProxy numberType) {
- super(aRegistry, new Integer(Commands.BIG_DECIMAL_CLASS), BigDecimal.class.getName(), numberType);
-
- // Create the cached values
- zeroProxy = new REMBigDecimalBeanProxy(aRegistry, zeroValue);
-}
-
-/**
- * Helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- */
-INumberBeanProxy createBigDecimalBeanProxy(BigDecimal aBigDecimal) {
- return (!zeroValue.equals(aBigDecimal)) ?
- new REMBigDecimalBeanProxy(fRegistry, aBigDecimal) : zeroProxy;
-}
-
-/**
- * Generic way to create an BigDecimal proxy, however, the Number must be a BigDecimal.
- */
-protected INumberBeanProxy createNumberBeanProxy(Number aNumber) {
- return createBigDecimalBeanProxy((BigDecimal) aNumber);
-}
-
-/**
- * newInstance method. Number's don't have a default ctor, so the standard way won't work.
- * Return the zero proxy for this case.
- */
-public IBeanProxy newInstance() {
- return zeroProxy;
-}
-
-/**
- * Create a new bean proxy the ValueObject passed in.
- * We will assume the object is correct type.
- */
-public IBeanProxy newBeanProxy(Commands.ValueObject value) {
- return createBigDecimalBeanProxy((BigDecimal) value.anObject);
-}
-
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBigIntegerBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBigIntegerBeanProxy.java
deleted file mode 100644
index 59f881e2f..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBigIntegerBeanProxy.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMBigIntegerBeanProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-import java.math.BigInteger;
-/**
- * Remote Proxy for BigIntegers.
- */
-class REMBigIntegerBeanProxy extends REMNumberBeanProxy {
-
-REMBigIntegerBeanProxy(REMProxyFactoryRegistry aRegistry, BigInteger aBigInteger) {
- super(aRegistry, aBigInteger);
-}
-
-/**
- * Get the beantype
- */
-public IBeanTypeProxy getTypeProxy() {
- return ((REMStandardBeanTypeProxyFactory) fFactory.getBeanTypeProxyFactory()).bigIntegerClass;
-}
-
-/**
- * Render the bean into value object.
- */
-public void renderBean(Commands.ValueObject value) {
- value.set(numberValue(), ((IREMBeanTypeProxy) getTypeProxy()).getID().intValue());
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBigIntegerBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBigIntegerBeanTypeProxy.java
deleted file mode 100644
index 935501af6..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBigIntegerBeanTypeProxy.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMBigIntegerBeanTypeProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-import java.math.BigInteger;
-/**
- * Remote Implementation of IBeanTypeProxy for BigInteger.
- * Creation date: (2/6/00 9:01:40 AM)
- * @author: Joe Winchester
- */
-final class REMBigIntegerBeanTypeProxy extends REMAbstractNumberBeanTypeProxy {
-// Some values are cache'd for speed
- private final INumberBeanProxy zeroProxy;
- private final static BigInteger zeroValue = new BigInteger("0"); //$NON-NLS-1$
-/**
- * REMIntegerBeanTypeProxy constructor comment.
- * @param aClass java.lang.Class
- */
-REMBigIntegerBeanTypeProxy(REMProxyFactoryRegistry aRegistry, IBeanTypeProxy numberType) {
- super(aRegistry, new Integer(Commands.BIG_INTEGER_CLASS), BigInteger.class.getName(), numberType);
-
- // Create the cached values
- zeroProxy = new REMBigIntegerBeanProxy(aRegistry, zeroValue);
-}
-
-/**
- * Helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- */
-INumberBeanProxy createBigIntegerBeanProxy(BigInteger aBigInteger) {
- return (!zeroValue.equals(aBigInteger)) ?
- new REMBigIntegerBeanProxy(fRegistry, aBigInteger) : zeroProxy;
-}
-
-/**
- * Generic way to create an BigInteger proxy, however, the Number must be a BigInteger.
- */
-protected INumberBeanProxy createNumberBeanProxy(Number aNumber) {
- return createBigIntegerBeanProxy((BigInteger) aNumber);
-}
-
-/**
- * newInstance method. Number's don't have a default ctor, so the standard way won't work.
- * Return the zero proxy for this case.
- */
-public IBeanProxy newInstance() {
- return zeroProxy;
-}
-
-/**
- * Create a new bean proxy the ValueObject passed in.
- * We will assume the object is correct type.
- */
-public IBeanProxy newBeanProxy(Commands.ValueObject value) {
- return createBigIntegerBeanProxy((BigInteger) value.anObject);
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBooleanClassBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBooleanClassBeanProxy.java
deleted file mode 100644
index 33eb87ce2..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBooleanClassBeanProxy.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMBooleanClassBeanProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * Remote Implementation of IBooleanBeanProxy for Boolean.class.
- * Creation date: (2/6/00 9:02:54 AM)
- * @author: Joe Winchester
- */
-final class REMBooleanClassBeanProxy extends REMConstantBeanProxy implements IBooleanBeanProxy {
- private final Boolean fBooleanValue;
-
-/**
- * Store the boolean value so that we can return the booleanValue faster
- * without the need for going across the line. It is package protected because it is created in
- * special way, so no one else should create these.
- * @param aBean java.lang.Object
- */
-REMBooleanClassBeanProxy(REMProxyFactoryRegistry aRegistry, Boolean value) {
- super(aRegistry);
- fBooleanValue = value;
-}
-
-/**
- * equals: Equal if:
- * 1) This proxy == (identity) to the other object
- * 2) Else if other is an IBeanProxy and not a constant one, then if
- * equals on the server.
- * 3) If this is a constant proxy and the other is too or is a constant
- * value (e.g. IStringBeanProxy.equals(String), then true if values are equals.
- */
-public boolean equals(Object anObject) {
- if (this == anObject)
- return true; // Identity
- if (anObject instanceof REMBooleanClassBeanProxy)
- return fBooleanValue.booleanValue() == ((REMBooleanClassBeanProxy) anObject).booleanValue();
- if (anObject instanceof Boolean)
- return fBooleanValue.booleanValue() == ((Boolean) anObject).booleanValue();
- return false;
-}
-
-/**
- * Return the boolean value
- */
-public boolean booleanValue() {
- return fBooleanValue.booleanValue();
-}
-/**
- * Return the java.lang.Boolean value
- */
-public Boolean getBooleanValue() {
- return fBooleanValue;
-}
-
-/**
- * Return the toString of the bean itself.
- */
-public String toBeanString() {
- return fBooleanValue.toString();
-}
-
-/**
- * Get the beantype
- */
-public IBeanTypeProxy getTypeProxy() {
- return ((REMStandardBeanTypeProxyFactory) fFactory.getBeanTypeProxyFactory()).booleanClass;
-}
-
-/**
- * Render the bean into value object.
- */
-public void renderBean(Commands.ValueObject value) {
- value.set(fBooleanValue);
-}
-}
-
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBooleanClassBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBooleanClassBeanTypeProxy.java
deleted file mode 100644
index c3a513c5d..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBooleanClassBeanTypeProxy.java
+++ /dev/null
@@ -1,93 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMBooleanClassBeanTypeProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * Boolean BeanType Proxy for Boolean.class.
- * Creation date: (2/23/00 1:59:02 PM)
- * @author: Richard Lee Kulp
- */
-final class REMBooleanClassBeanTypeProxy extends REMAbstractBeanTypeProxy implements IREMConstantBeanTypeProxy {
-
- // Cache these instances. Since the BeanType proxies are cached also, only one instance
- // of true/false will be in system.
- protected final IBooleanBeanProxy trueProxy;
- protected final IBooleanBeanProxy falseProxy;
-/**
- * REMBooleanBeanTypeProxy constructor comment.
- */
-protected REMBooleanClassBeanTypeProxy(REMProxyFactoryRegistry aRegistry, IBeanTypeProxy objectType) {
- super(aRegistry, new Integer(Commands.BOOLEAN_CLASS), Boolean.class.getName(), objectType);
-
- trueProxy = new REMBooleanClassBeanProxy( fRegistry, Boolean.TRUE);
- falseProxy = new REMBooleanClassBeanProxy( fRegistry, Boolean.FALSE);
-}
-
-/**
- * Helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- * Use the cache.
- */
-IBooleanBeanProxy createBooleanBeanProxy(Boolean aBoolean) {
- return aBoolean.booleanValue() ? trueProxy : falseProxy;
-}
-
-/**
- * Create a new bean proxy with the specified id.
- *
- * For all of the primitive wrapper types, this is an invalid operation. They are created
- * explicitly through the appropriate create method.
- */
-public IREMBeanProxy newBeanProxy(Integer anID) {
- throw new UnsupportedOperationException();
-}
-
-/**
- * newBeanTypeForClass: Create a new beantypeproxy of this kind for the given class.
- * This is used by beantype proxy factory when creating a beantype proxy for a subclass.
- * This is because subclasses, unless explicitly overridden, should use the same kind
- * of beantype proxy. This way if anything special is needed for a specific type, then
- * that can be done.
- *
- * For all of the primitive wrapper types, they are final classes, so you can't create a newBeanType
- * for subclasses.
- */
-public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract) {
- throw new UnsupportedOperationException();
-}
-
-/**
- * newInstance method. Boolean doesn't have a default ctor, so the standard way won't work.
- * Return the falseProxy for this case because that is the default value.
- */
-public IBeanProxy newInstance() {
- return falseProxy;
-}
-
-/**
- * Create a new bean proxy the ValueObject passed in.
- * We will assume the object is correct type.
- */
-public IBeanProxy newBeanProxy(Commands.ValueObject value) {
- return createBooleanBeanProxy(value.aBool ? Boolean.TRUE : Boolean.FALSE);
-}
-
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBooleanTypeBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBooleanTypeBeanProxy.java
deleted file mode 100644
index f12f499c3..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBooleanTypeBeanProxy.java
+++ /dev/null
@@ -1,104 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMBooleanTypeBeanProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * Remote Implementation of IBooleanBeanProxy for Boolean.TYPE.
- * Creation date: (2/6/00 9:02:54 AM)
- * @author: Joe Winchester
- */
-final class REMBooleanTypeBeanProxy extends REMConstantBeanProxy implements IBooleanBeanProxy {
- private final boolean fBoolean;
-
-/**
- * Store the boolean value so that we can return the booleanValue faster
- * without the need for going across the line. It is package protected because it is created in
- * special way, so no one else should create these.
- * @param aBean java.lang.Object
- */
-REMBooleanTypeBeanProxy(REMProxyFactoryRegistry aRegistry, boolean value) {
- super(aRegistry);
- fBoolean = value;
-}
-
-/**
- * equals: Equal if:
- * 1) This proxy == (identity) to the other object
- * 2) Else if other is an IBeanProxy and not a constant one, then if
- * equals on the server.
- * 3) If this is a constant proxy and the other is too or is a constant
- * value (e.g. IStringBeanProxy.equals(String), then true if values are equals.
- */
-public boolean equals(Object anObject) {
- if (this == anObject)
- return true; // Identity
- if (anObject instanceof REMBooleanTypeBeanProxy)
- return fBoolean == ((REMBooleanTypeBeanProxy) anObject).booleanValue();
- if (anObject instanceof Boolean)
- return fBoolean == ((Boolean) anObject).booleanValue();
- return false;
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#sameAs(org.eclipse.jem.internal.proxy.core.IBeanProxy)
- */
-public boolean sameAs(IBeanProxy aBeanProxy) {
- if (this == aBeanProxy)
- return true; // Identity
- if (aBeanProxy instanceof REMBooleanTypeBeanProxy)
- return fBoolean == ((REMBooleanTypeBeanProxy) aBeanProxy).booleanValue();
- return false;
-}
-
-/**
- * Return the boolean value
- */
-public boolean booleanValue() {
- return fBoolean;
-}
-/**
- * Return the java.lang.Boolean value
- */
-public Boolean getBooleanValue() {
- return fBoolean ? Boolean.TRUE : Boolean.FALSE;
-}
-
-/**
- * Return the toString of the bean itself.
- */
-public String toBeanString() {
- return fBoolean ? Boolean.TRUE.toString() : Boolean.FALSE.toString();
-}
-
-/**
- * Get the beantype
- */
-public IBeanTypeProxy getTypeProxy() {
- return ((REMStandardBeanTypeProxyFactory) fFactory.getBeanTypeProxyFactory()).booleanType;
-}
-
-/**
- * Render the bean into value object.
- */
-public void renderBean(Commands.ValueObject value) {
- value.set(fBoolean);
-}
-
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBooleanTypeBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBooleanTypeBeanTypeProxy.java
deleted file mode 100644
index f7ae77131..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBooleanTypeBeanTypeProxy.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMBooleanTypeBeanTypeProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * Boolean BeanType Proxy for Boolean.TYPE
- * Creation date: (2/23/00 1:59:02 PM)
- * @author: Richard Lee Kulp
- */
-final class REMBooleanTypeBeanTypeProxy extends REMPrimitiveBeanTypeProxy {
-
- // Cache these instances. Since the BeanType proxies are cached also, only one instance
- // of true/false will be in system.
- protected final IBooleanBeanProxy trueProxy;
- protected final IBooleanBeanProxy falseProxy;
-/**
- * REMBooleanBeanTypeProxy constructor comment.
- */
-protected REMBooleanTypeBeanTypeProxy(REMProxyFactoryRegistry aRegistry) {
- super(aRegistry, new Integer(Commands.BOOLEAN_TYPE), Boolean.TYPE.getName());
-
- trueProxy = new REMBooleanTypeBeanProxy( fRegistry, true);
- falseProxy = new REMBooleanTypeBeanProxy( fRegistry, false);
-}
-
-/**
- * Helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- * Use the cache.
- */
-IBooleanBeanProxy createBooleanBeanProxy(boolean aBoolean) {
- return aBoolean ? trueProxy : falseProxy;
-}
-
-
-/**
- * newInstance method. boolean is a primitive, so the standard way won't work.
- * Return the falseProxy for this case because that is the default value.
- */
-public IBeanProxy newInstance() {
- return falseProxy;
-}
-
-/**
- * Create a new bean proxy the ValueObject passed in.
- * We will assume the object is correct type.
- */
-public IBeanProxy newBeanProxy(Commands.ValueObject value) {
- return createBooleanBeanProxy(value.aBool);
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMByteClassBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMByteClassBeanProxy.java
deleted file mode 100644
index 9a6e1cb68..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMByteClassBeanProxy.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMByteClassBeanProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-
-/**
- * Remote Proxy for Byte.class.
- */
-class REMByteClassBeanProxy extends REMNumberBeanProxy {
-
-REMByteClassBeanProxy(REMProxyFactoryRegistry aRegistry, Byte aByte) {
- super(aRegistry, aByte);
-}
-
-/**
- * Get the beantype
- */
-public IBeanTypeProxy getTypeProxy() {
- return ((REMStandardBeanTypeProxyFactory) fFactory.getBeanTypeProxyFactory()).byteClass;
-}
-
-/**
- * Render the bean into value object.
- */
-public void renderBean(Commands.ValueObject value) {
- value.set((Byte) numberValue());
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMByteClassBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMByteClassBeanTypeProxy.java
deleted file mode 100644
index 12d770d7b..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMByteClassBeanTypeProxy.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMByteClassBeanTypeProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * BeanType Proxy for Byte.class.
- * Creation date: (2/6/00 9:01:40 AM)
- * @author: Joe Winchester
- */
-final class REMByteClassBeanTypeProxy extends REMAbstractNumberBeanTypeProxy {
-// Some values are cache'd for speed
- private final INumberBeanProxy zeroProxy;
- private final INumberBeanProxy oneProxy;
- private final INumberBeanProxy twoProxy;
- private final INumberBeanProxy threeProxy;
-/**
- * REMIntegerBeanTypeProxy constructor comment.
- * @param aClass java.lang.Class
- */
-REMByteClassBeanTypeProxy(REMProxyFactoryRegistry aRegistry, IBeanTypeProxy numberType) {
- super(aRegistry, new Integer(Commands.BYTE_CLASS), Byte.class.getName(), numberType);
-
- // Create the cached values
- zeroProxy = new REMByteClassBeanProxy(aRegistry, new Byte((byte)0));
- oneProxy = new REMByteClassBeanProxy(aRegistry, new Byte((byte)1));
- twoProxy = new REMByteClassBeanProxy(aRegistry, new Byte((byte)2));
- threeProxy = new REMByteClassBeanProxy(aRegistry, new Byte((byte)3));
-}
-
-/**
- * Helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- */
-INumberBeanProxy createByteBeanProxy(Byte aByte) {
- switch(aByte.byteValue()) {
- case 0: return zeroProxy;
- case 1: return oneProxy ;
- case 2: return twoProxy ;
- case 3: return threeProxy ;
- default: return new REMByteClassBeanProxy(fRegistry, aByte);
- }
-}
-
-/**
- * Generic way to create an Integer proxy, however, the Number must be an Integer.
- */
-protected INumberBeanProxy createNumberBeanProxy(Number aNumber) {
- return createByteBeanProxy((Byte) aNumber);
-}
-
-/**
- * newInstance method. Number's don't have a default ctor, so the standard way won't work.
- * Return the zero proxy for this case.
- */
-public IBeanProxy newInstance() {
- return zeroProxy;
-}
-
-/**
- * Create a new bean proxy the ValueObject passed in.
- * We will assume the object is correct type.
- */
-public IBeanProxy newBeanProxy(Commands.ValueObject value) {
- return createByteBeanProxy(new Byte(value.aByte));
-}
-
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMByteTypeBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMByteTypeBeanProxy.java
deleted file mode 100644
index 3bf96abf2..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMByteTypeBeanProxy.java
+++ /dev/null
@@ -1,133 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMByteTypeBeanProxy.java,v $
- * $Revision: 1.3 $ $Date: 2005/05/11 22:41:24 $
- */
-
-
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * Remote Implementation of INumberBeanProxy for Byte.TYPE.
- * It can answer all of the primitive number types (int, long, short, byte, double, float).
- * Creation date: (2/6/00 9:02:54 AM)
- * @author: Joe Winchester
- */
-class REMByteTypeBeanProxy extends REMConstantBeanProxy implements INumberBeanProxy {
- private final byte fByte;
-
-/**
- * It is package protected because they are created
- * in a special way and no one else should create them.
- * @param aBean java.lang.Object
- */
-REMByteTypeBeanProxy(REMProxyFactoryRegistry aRegistry, byte aByte) {
- super(aRegistry);
- fByte = aByte;
-}
-
-/**
- * equals: Equal if:
- * 1) This proxy == (identity) to the other object
- * 2) Else if other is an IBeanProxy and not a constant one, then if
- * equals on the server.
- * 3) If this is a constant proxy and the other is too or is a constant
- * value (e.g. IStringBeanProxy.equals(String), then true if values are equals.
- */
-public boolean equals(Object anObject) {
- if (this == anObject)
- return true; // Identity
- if (anObject instanceof REMByteTypeBeanProxy)
- return fByte == ((REMByteTypeBeanProxy) anObject).byteValue();
- if (anObject instanceof Byte)
- return fByte == ((Byte) anObject).byteValue();
- return false;
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#sameAs(org.eclipse.jem.internal.proxy.core.IBeanProxy)
- */
-public boolean sameAs(IBeanProxy aBeanProxy) {
- if (this == aBeanProxy)
- return true; // Identity
- if (aBeanProxy instanceof REMByteTypeBeanProxy)
- return fByte == ((REMByteTypeBeanProxy) aBeanProxy).byteValue();
- return false;
-}
-
-/**
- * byteValue method comment.
- */
-public byte byteValue() {
- return fByte;
-}
-/**
- * doubleValue method comment.
- */
-public double doubleValue() {
- return fByte;
-}
-/**
- * floatValue method comment.
- */
-public float floatValue() {
- return fByte;
-}
-/**
- * Return the int value
- */
-public int intValue() {
- return fByte;
-}
-/**
- * longValue method comment.
- */
-public long longValue() {
- return fByte;
-}
-/**
- * numberValue method comment.
- */
-public Number numberValue() {
- return new Byte(fByte);
-}
-/**
- * shortValue method comment.
- */
-public short shortValue() {
- return fByte;
-}
-
-/**
- * The bean's toString.
- */
-public String toBeanString() {
- return String.valueOf(fByte);
-}
-
-/**
- * Get the beantype
- */
-public IBeanTypeProxy getTypeProxy() {
- return ((REMStandardBeanTypeProxyFactory) fFactory.getBeanTypeProxyFactory()).byteType;
-}
-
-/**
- * Render the bean into value object.
- */
-public void renderBean(Commands.ValueObject value) {
- value.set(fByte);
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMByteTypeBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMByteTypeBeanTypeProxy.java
deleted file mode 100644
index a89404deb..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMByteTypeBeanTypeProxy.java
+++ /dev/null
@@ -1,110 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMByteTypeBeanTypeProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * Remote Implementation of IBeanTypeProxy for Byte.TYPE.
- * Creation date: (2/6/00 9:01:40 AM)
- * @author: Joe Winchester
- */
-final class REMByteTypeBeanTypeProxy extends REMPrimitiveBeanTypeProxy {
-// Some values are cache'd for speed
- private final INumberBeanProxy zeroProxy;
- private final INumberBeanProxy oneProxy;
- private final INumberBeanProxy twoProxy;
- private final INumberBeanProxy threeProxy;
-/**
- * REMIntegerBeanTypeProxy constructor comment.
- * @param aClass java.lang.Class
- */
-REMByteTypeBeanTypeProxy(REMProxyFactoryRegistry aRegistry) {
- super(aRegistry, new Integer(Commands.BYTE_TYPE), Byte.TYPE.getName());
-
- // Create the cached values
- zeroProxy = new REMByteTypeBeanProxy(aRegistry, (byte)0);
- oneProxy = new REMByteTypeBeanProxy(aRegistry, (byte)1);
- twoProxy = new REMByteTypeBeanProxy(aRegistry, (byte)2);
- threeProxy = new REMByteTypeBeanProxy(aRegistry, (byte)3);
-}
-
-/**
- * Helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- */
-INumberBeanProxy createByteBeanProxy(byte aByte) {
- switch(aByte) {
- case 0: return zeroProxy;
- case 1: return oneProxy ;
- case 2: return twoProxy ;
- case 3: return threeProxy ;
- default: return new REMByteTypeBeanProxy(fRegistry, aByte);
- }
-}
-
-/**
- * newInstance method. byte is a primitive, so the standard way won't work.
- * Return the zeroProxy for this case because that is the default value.
- */
-public IBeanProxy newInstance() {
- return zeroProxy;
-}
-
-/**
- * Create a new bean proxy the ValueObject passed in.
- * We will assume the object is correct type.
- */
-public IBeanProxy newBeanProxy(Commands.ValueObject value) {
- return createByteBeanProxy(value.aByte);
-}
-
-/**
- * Short cut for newInstance where the string follows the
- * specific pattern we expect. That way it won't be necessary to ship over to the vm
- * to process it.
- *
- * The pattern it can accept is:
- * 1) (byte) validNumber - number can be any number because (byte) explicitly casts it down.
- * 2) validNumber
- * It will use the decode function of byte to determine the valid number.
- */
-public IBeanProxy newInstance(String initializationString) throws ThrowableProxy, ClassCastException, InstantiationException {
- String trim = initializationString.trim();
- if (trim.length() == 0)
- return super.newInstance(initializationString);
- byte aByte;
- if (trim.startsWith("(byte)")) { //$NON-NLS-1$
- Number v = parseString(trim.substring("(byte)".length()).trim()); //$NON-NLS-1$
- if (v != null)
- aByte = v.byteValue();
- else
- return super.newInstance(initializationString); // Can't decode it, let full parser handle it.
- } else {
- try {
- aByte = Byte.decode(trim).byteValue(); // See if valid byte format.
- } catch (NumberFormatException e) {
- return super.newInstance(initializationString); // Can't decode it, let full parser handle it.
- }
- }
-
- return getProxyFactoryRegistry().getBeanProxyFactory().createBeanProxyWith(aByte);
-}
-
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCallbackInputStream.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCallbackInputStream.java
deleted file mode 100644
index 2f449a3bf..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCallbackInputStream.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.remote;
-/*
- * $RCSfile: REMCallbackInputStream.java,v $
- * $Revision: 1.7 $ $Date: 2005/05/18 23:11:26 $
- */
-
-import java.io.*;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jem.internal.proxy.core.ProxyPlugin;
-import org.eclipse.jem.internal.proxy.common.CommandException;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-import org.eclipse.jem.internal.proxy.common.remote.IOCommandException;
-/**
- * This is the inputstream used to return a lot of data from
- * the server.
- */
-
-public class REMCallbackInputStream extends InputStream {
-
- protected DataInputStream fIn;
- protected DataOutputStream fOut;
- protected byte[] fBuffer;
- protected int fNextByte = 0;
- protected int fLastByte = 0;
-
- public REMCallbackInputStream(DataInputStream in, DataOutputStream out) {
- fIn = in;
- fOut = out;
-
- Integer bufSize = Integer.getInteger("proxyvm.bufsize"); //$NON-NLS-1$
- if (bufSize == null)
- bufSize = new Integer(16000);
- fBuffer = new byte[bufSize.intValue()];
- }
-
- protected void clearStream() {
- fIn = null;
- fOut = null;
- fBuffer = null;
- }
-
- protected void fillBuffer() throws IOException {
- if (fIn == null)
- throw new InterruptedIOException();
- try {
- if (fLastByte != -1) {
- fLastByte = Commands.readBytes(fIn, fBuffer);
- if (fLastByte != -1)
- fNextByte = 0;
- else {
- fNextByte = -1;
- }
- }
- } catch (CommandException e) {
- try {
- close(false);
- } catch (IOException e1) {
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", e1)); // Error during close, just log it. //$NON-NLS-1$
- }
- throw new IOCommandException(e);
- }
- }
-
- public int read() throws IOException {
- if (fNextByte >= fLastByte) {
- fillBuffer();
- }
- if (fLastByte == -1)
- return -1; // We've previously reached the end.
-
- return fBuffer[fNextByte++] & 0xFF; // So that it is in range 0 to 255.
- }
-
- public int read(byte b[], int off, int len) throws IOException {
- if (b == null) {
- throw new NullPointerException();
- } else if ((off < 0) || (off > b.length) || (len < 0) ||
- ((off + len) > b.length) || ((off + len) < 0)) {
- throw new IndexOutOfBoundsException();
- } else if (len == 0) {
- return 0;
- }
-
- int read = 0;
- while (len > 0) {
- if (fNextByte >= fLastByte)
- fillBuffer();
- if (fLastByte == -1)
- return read != 0 ? read : -1; // No more, return amount read, or if none read, then -1
- int move = fLastByte - fNextByte;
- if (move > len)
- move = len;
- System.arraycopy(fBuffer, fNextByte, b, off, move);
- read += move;
- fNextByte += move;
- off += move;
- len -= move;
- }
-
- return read;
- }
-
- public int available() throws IOException {
- return fLastByte != -1 ? fLastByte - fNextByte : 0;
- }
-
- public void close() throws IOException {
- close(true);
- }
-
- protected void close(boolean wait) throws IOException {
- if (fOut == null)
- return; // Already closed.
- try {
- fOut.writeByte(Commands.CALLBACK_STREAM_TERMINATE);
- fOut.flush();
- fOut = null; // So that we know we closed already if error occurs during in read() below.
- if (wait) {
- // Need to read until End of stream because we need to flush out the
- // stream so that next time we use this connection we start fresh.
- // If the server has already finished writing, we will read until then.
- // If the server has not yet finished writing, when it reads the terminate
- // request it will send an end of stream marker for us to read. But either
- // way we can't leave until we've read everything from the stream.
-
- // If called with no wait, then we are closing hard and will be closing the socket too.
- while (read() != -1) {
- }
- }
- } finally {
- clearStream();
- }
- }
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCallbackRegistry.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCallbackRegistry.java
deleted file mode 100644
index e98ad04ec..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCallbackRegistry.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.remote;
-/*
- * $RCSfile: REMCallbackRegistry.java,v $
- * $Revision: 1.5 $ $Date: 2005/07/08 17:51:47 $
- */
-
-import java.net.Socket;
-import java.util.*;
-
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.core.ExpressionProxy.ProxyEvent;
-
-/**
- * This registry will handle callbacks.
- * It is package protected because no one
- * should access it outside.
- */
-class REMCallbackRegistry implements ICallbackRegistry {
- final REMProxyFactoryRegistry fFactory;
- final String fNamePostfix;
- List fThreads = Collections.synchronizedList(new LinkedList()); // List of active callback threads.
-
- Map fIdToCallback = new HashMap(5); // ID to Callback map.
- Map fCallbackProxyToId = new HashMap(5); // Callback to ID map. This will also hold onto the callback proxies so that they don't get GC'd while the callback is registered.
-
- IREMMethodProxy fInitializeCallback;
- IBeanProxy fRemoteServer;
-
- boolean registryOpen = true;
-
- public REMCallbackRegistry(String name, REMProxyFactoryRegistry aFactory) {
-
- fFactory = aFactory;
- fNamePostfix = name;
-
- // Now register common proxies.
- IREMBeanTypeProxy callbackType = new REMInterfaceBeanTypeProxy(fFactory, new Integer(Commands.ICALLBACK_CLASS), "org.eclipse.jem.internal.proxy.vm.remote.ICallback"); //$NON-NLS-1$
-
- fInitializeCallback = (IREMMethodProxy) ((REMMethodProxyFactory) fFactory.getMethodProxyFactory()).methodType.newBeanProxy(new Integer(Commands.INITIALIZECALLBACK_METHOD_ID));
-
- fRemoteServer = aFactory.getBeanProxyFactory().getIVMServerProxy(); // For us, the IVMServer on the remote vm ALSO implements IVMCallbackServer.
-
- ((REMStandardBeanTypeProxyFactory) fFactory.getBeanTypeProxyFactory()).registerBeanTypeProxy(callbackType, true);
- ((REMStandardBeanProxyFactory) fFactory.getBeanProxyFactory()).registerProxy(fInitializeCallback);
-
- }
-
- public boolean createCallback(Socket incoming) {
- if (registryOpen) {
- Thread st = new REMCallbackThread(incoming, this, "Callback Thread-"+fNamePostfix, fFactory, fFactory.fNoTimeouts); //$NON-NLS-1$
- fThreads.add(st);
- st.start();
- return true;
- } else
- return false;
- }
-
- /**
- * Use this to request a shutdown. If the server is already shutdown, this will return false.
- */
- public boolean requestShutdown() {
- if (registryOpen)
- shutdown();
- else
- return false;
- return true;
- }
-
- /**
- * Remove a thread from the list.
- */
- public void removeCallbackThread(REMCallbackThread thread) {
- fThreads.remove(thread);
- }
-
- private void shutdown() {
-
- // Go through each thread and ask it to close. Make a copy of the list so that we
- // won't get into deadlocks.
- REMCallbackThread[] threadsArray = (REMCallbackThread[]) fThreads.toArray(new REMCallbackThread[fThreads.size()]);
- for (int i=0; i<threadsArray.length; i++) {
- // This is a harsh way to shut a connection down, but there's no
- // other way I know of to interrupt the read on a socket.
- threadsArray[i].close();
- }
-
- // Now that they've been told to close, wait on each one to finish.
- for (int i=0; i<threadsArray.length; i++)
- try {
- threadsArray[i].join(10000); // Wait ten seconds, if longer, just go on to next one.
- } catch (InterruptedException e) {
- }
-
- fThreads.clear();
- fIdToCallback.clear();
- fCallbackProxyToId.clear();
- fInitializeCallback = null;
- fRemoteServer = null;
-
- }
-
- public ICallback getRegisteredCallback(int id) {
- synchronized(fIdToCallback) {
- return (ICallback) fIdToCallback.get(new Integer(id));
- }
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.ICallbackRegistry#registerCallback(org.eclipse.jem.internal.proxy.core.IBeanProxy, org.eclipse.jem.internal.proxy.core.ICallback)
- */
- public void registerCallback(IBeanProxy callbackProxy, ICallback cb) {
- synchronized(fIdToCallback) {
- fIdToCallback.put(((IREMBeanProxy) callbackProxy).getID(), cb);
- fCallbackProxyToId.put(callbackProxy, ((IREMBeanProxy) callbackProxy).getID());
- fInitializeCallback.invokeCatchThrowableExceptions(callbackProxy, new IBeanProxy[] {fRemoteServer, fFactory.getBeanProxyFactory().createBeanProxyWith(((IREMBeanProxy) callbackProxy).getID().intValue())});
- }
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.ICallbackRegistry#registerCallback(org.eclipse.jem.internal.proxy.core.IProxy, org.eclipse.jem.internal.proxy.core.ICallback, org.eclipse.jem.internal.proxy.core.IExpression)
- */
- public void registerCallback(IProxy callbackProxy, final ICallback cb, IExpression expression) {
- final Integer id;
- if (callbackProxy.isBeanProxy()) {
- id = ((IREMBeanProxy) callbackProxy).getID();
- synchronized(fIdToCallback) {
- fIdToCallback.put(id, cb);
- fCallbackProxyToId.put(callbackProxy, id);
- }
- } else {
- id = new Integer(callbackProxy.hashCode());
- synchronized (fIdToCallback) {
- fIdToCallback.put(id, cb); // This is so that it is registered in case callback is invoked from remote vm during expression processing.
- }
- ((ExpressionProxy) callbackProxy).addProxyListener(new ExpressionProxy.ProxyListener() {
- public void proxyResolved(ProxyEvent event) {
- synchronized(fIdToCallback) {
- fCallbackProxyToId.put(event.getProxy(), id);
- }
- }
-
- public void proxyNotResolved(ProxyEvent event) {
- // Failed, so remove registration completely.
- synchronized (fIdToCallback) {
- fIdToCallback.remove(id);
- }
- }
-
- public void proxyVoid(ProxyEvent event) {
- // Failed, so remove registration completely.
- synchronized (fIdToCallback) {
- fIdToCallback.remove(id);
- }
- }
-
- });
- }
- expression.createSimpleMethodInvoke(fInitializeCallback, callbackProxy, new IProxy[] {fRemoteServer, fFactory.getBeanProxyFactory().createBeanProxyWith(id.intValue())}, false);
- }
-
- /**
- * The public interface for deregistering callbacks.
- */
- public void deregisterCallback(IBeanProxy callbackProxy) {
- synchronized(fIdToCallback) {
- Integer id = (Integer) fCallbackProxyToId.remove(callbackProxy);
- fIdToCallback.remove(id);
- }
- }
-
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCallbackThread.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCallbackThread.java
deleted file mode 100644
index 61eaa5967..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCallbackThread.java
+++ /dev/null
@@ -1,327 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.remote;
-/*
- * $RCSfile: REMCallbackThread.java,v $
- * $Revision: 1.15 $ $Date: 2005/05/20 16:32:55 $
- */
-
-import java.io.*;
-import java.net.Socket;
-import java.util.logging.Level;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-import org.eclipse.jem.internal.proxy.common.remote.TransmitableArray;
-import org.eclipse.jem.internal.proxy.core.*;
-
-/**
- * This thread handles the actual callback.
- * It is package protected because no one else should access it.
- */
-class REMCallbackThread extends Thread {
- final REMConnection fConnection; // A connection to use
- final REMCallbackRegistry fServer;
- final REMStandardBeanProxyFactory fFactory;
- final REMStandardBeanTypeProxyFactory fTypeFactory;
- final REMProxyFactoryRegistry registry;
- protected boolean shuttingDown;
- protected boolean inTransaction; // Is this thread currently participating in a transaction, (i.e. reading/writing), if so then we can't use it for another transaction.
-
-
- /**
- * Is this callback thread currently participating in a transaction (reading/writing). If so then it can't be used for an
- * independent new transaction. In other words you can't write/read data using this callback thread's
- * connection because it is being used by someone else expecting to have exclusive read/write on this connection.
- *
- * @return
- *
- * @since 1.1.0
- */
- public boolean inTransaction() {
- return inTransaction;
- }
-
- /**
- * Set whether this callback thread is in a transaction or not. If it is in a transaction it cannot be used
- * for an independent new transaction. In other words you can't write/read data using this callback thread's
- * connection because it is being used by someone else expecting to have exclusive read/write on this connection.
- * @param inTransaction
- *
- * @since 1.1.0
- */
- public void setIntransaction(boolean inTransaction) {
- this.inTransaction = inTransaction;
- }
-
- // Kludge: Bug in Linux 1.3.xxx of JVM. Closing a socket while the socket is being read/accept will not interrupt the
- // wait. Need to timeout to the socket read/accept before the socket close will be noticed. This has been fixed
- // in Linux 1.4. So on Linux 1.3 need to put timeouts in on those sockets that can be separately closed while reading/accepting.
- static boolean LINUX_1_3 = "linux".equalsIgnoreCase(System.getProperty("os.name")) && System.getProperty("java.version","").startsWith("1.3"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-
- public REMCallbackThread(Socket socket, REMCallbackRegistry server, String name, REMProxyFactoryRegistry registry, boolean noTimeouts) {
- super(name);
-
- fConnection = new REMConnection(socket, true); // No timeouts since this is a server thread.
- this.registry = registry;
- fServer = server;
- fFactory = (REMStandardBeanProxyFactory) registry.getBeanProxyFactory();
- fTypeFactory = (REMStandardBeanTypeProxyFactory) registry.getBeanTypeProxyFactory();
- }
-
- /**
- * Request the thread to close down.
- */
- public void close() {
- try {
- shuttingDown = true; // So that if this is a forced close then it will know not to print error msgs.
- if (fConnection.fSocket != null)
- fConnection.fSocket.close();
- } catch (Exception e) {
- }
- }
-
-
- /*
- * Return the IREMConnection associated with this callback. Used by
- * the connection server to return this connection for any requests
- * made on this thread.
- * <package-protected> so that only remote proxy can access.
- */
- IREMConnection getConnection() {
- return fConnection;
- }
-
- public void run() {
-
- DataInputStream in = fConnection.in;
- DataOutputStream out = fConnection.out;
- InputStream ins = null;
- boolean shutdown = false;
- Commands.ValueObject valueObject = new Commands.ValueObject(); // Working value object so not continually recreated.
- BeanProxyValueSender valueSender = new BeanProxyValueSender(this.fFactory); // Working valuesender so not continually recreated.
- try {
- boolean doLoop = true;
-
- /**
- * Note: In the cases below you will see a lot of finally clauses that null variables out.
- * This is because this is a long running loop, and variables declared within blocks are not
- * garbage collected until the method is terminated, so these variables once set would never
- * be GC'd. The nulling at the end of the case makes sure that any of those objects set are
- * now available for garbage collection when necessary.
- */
- while(doLoop) {
- byte cmd = 0;
- try {
- if (LINUX_1_3)
- fConnection.fSocket.setSoTimeout(1000); // Linux 1.3 bug, see static LINUX_1_3 above
- cmd = in.readByte();
- if (LINUX_1_3)
- fConnection.fSocket.setSoTimeout(0); // Linux 1.3 bug, see static LINUX_1_3 above
- } catch (InterruptedIOException e) {
- continue; // Timed out, try again
- }
-
- switch (cmd) {
- case Commands.QUIT_CONNECTION:
- doLoop = false;
- break; // Close this connection
-
- case Commands.TERMINATE_SERVER:
- doLoop = false;
- shutdown = true; // Shutdown everything
- break;
-
- case Commands.CALLBACK:
- int callID = in.readInt(); // The id of the registered callback to call.
- int msgID = in.readInt(); // The id of the message to call.
- Object parm = null;
- Object result = null;
- ICallback cb = null;
- try {
- // The register callback handler will know how to handle the parm,
- // it will know if it is an array of proxies, or an object of some kind.
- fFactory.startTransaction(); // Start a transaction.
- setIntransaction(true); // Also tell ourselves that we are in a transaction.
- boolean isProxies = true;
- try {
- Commands.readValue(in, valueObject);
- if (valueObject.type == Commands.ARRAY_IDS) {
- // It is an array containing IDs, as it normally would be.
- // However it will become IBeanProxy[]. That is because if ID's
- // they must be proxies over here.
- valueSender.initialize(valueObject);
- Commands.readArray(in, valueObject.anInt, valueSender, valueObject, false);
- if (valueSender.getException() != null) {
- close(); // Something wrong, close the thread so next time we get a new one.
- }
- parm = valueSender.getArray();
- } else {
- // It is object or null. It could be an array of objects, or one object.
- isProxies = false;
- parm = valueObject.getAsObject();
- }
- } finally {
- setIntransaction(false);
- fFactory.stopTransaction();
- }
- // Now perform the callback.
- cb = fServer.getRegisteredCallback(callID);
- if (cb != null) {
- // Callback still registered. If proxies, then if first entry is just a proxy,
- // then we are sending only one. A convienence factor for callbacks.
- // If not a single entry of IBeanProxy, then send whole array.
- try {
- if (isProxies)
- if (((Object[]) parm).length == 1 && (((Object[]) parm)[0] == null || ((Object[]) parm)[0] instanceof IBeanProxy))
- result = cb.calledBack(msgID, (IBeanProxy) ((Object[]) parm)[0]);
- else
- result = cb.calledBack(msgID, (Object[]) parm);
- else
- result = cb.calledBack(msgID, parm);
- // We only accept null, IREMBeanProxies, and Object[], where
- // contents of Object[] are bean proxies.
- valueObject.set();
- if (result instanceof IREMBeanProxy)
- ((IREMBeanProxy) result).renderBean(valueObject);
- else if (result instanceof Object[]) {
- class Retriever implements Commands.ValueRetrieve {
- int index = 0;
- Object[] array;
- Commands.ValueObject worker = new Commands.ValueObject();
-
- public Retriever(Object[] anArray) {
- array = anArray;
- }
-
- public Commands.ValueObject nextValue() {
- Object retParm = array[index++];
- if (retParm != null)
- if (retParm instanceof IREMBeanProxy)
- ((IREMBeanProxy) retParm).renderBean(worker);
- else if (retParm instanceof TransmitableArray) {
- // It is another array, create a new
- // retriever.
- worker.setArrayIDS(
- new Retriever(((TransmitableArray) retParm).array),
- ((TransmitableArray) retParm).array.length,
- ((TransmitableArray) retParm).componentTypeID);
- } else {
- // It's an object. Need to get bean
- // type so that we can send it.
- IREMBeanProxy type =
- (IREMBeanProxy) fTypeFactory.getBeanTypeProxy(retParm.getClass().getName());
- if (type == null)
- throw new IllegalArgumentException();
- int classID = type.getID().intValue();
- worker.setAsObject(retParm, classID);
- }
- else
- worker.set();
- return worker;
- }
- };
-
- valueObject.setArrayIDS(
- new Retriever((Object[]) result),
- ((Object[]) result).length,
- Commands.OBJECT_CLASS);
- }
-
- Commands.sendCallbackDoneCommand(out, valueObject, Commands.NO_ERROR);
- } catch (RuntimeException e) {
- // Something happened, turn it into an error object
- // to send back.
- valueObject.set(e.getClass().getName() + ':' + e.getLocalizedMessage());
- Commands.sendCallbackDoneCommand(out, valueObject, Commands.CALLBACK_RUNTIME_EXCEPTION);
- ProxyPlugin.getPlugin().getLogger().log(e, Level.INFO); // Just log it, but assume safe enough to just go back and wait for next callback request.
- }
- } else {
- valueObject.set();
- Commands.sendCallbackDoneCommand(out, valueObject, Commands.CALLBACK_NOT_REGISTERED); // Send error msg back to indicate we weren't registered.
- }
- } finally {
- parm = null; // Clear out for GC to work
- result = null;
- cb = null;
- valueObject.set();
- valueSender.clear();
- }
- break;
-
- case Commands.CALLBACK_STREAM:
- // A request for a stream
- callID = in.readInt(); // The id of the registered callback to call.
- msgID = in.readInt(); // The id of the message to call.
- cb = null;
- try {
- // Now perform the callback.
- cb = fServer.getRegisteredCallback(callID);
- if (cb != null) {
- // Callback still registered
- valueObject.set();
- Commands.sendCallbackDoneCommand(out, valueObject, Commands.NO_ERROR); // Send null to let it know we've accepted the stream
- ins = new REMCallbackInputStream(in, out);
- try {
- cb.calledBackStream(msgID, ins);
- } finally {
- try {
- ins.close(); // Make sure it's closed.
- } catch (IOException e) {
- // Exception while closing, just log it and then mark to end the loop so we close connection too.
- doLoop = false;
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "In REMCallbackThread", e)); //$NON-NLS-1$
- }
- }
- } else {
- valueObject.set();
- Commands.sendCallbackDoneCommand(out, valueObject, Commands.CALLBACK_NOT_REGISTERED); // Send error msg back to indicate we weren't registered.
- }
- } finally {
- cb = null; // Clear out for GC to work
- ins = null;
- valueObject.set();
- }
- break;
-
- default:
- // Unknown command. We don't know how long the command is, so we need to close the connection.
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "REMCallback: Invalid cmd sent="+cmd, null)); //$NON-NLS-1$
- doLoop = false;
- break;
- }
- }
- } catch (EOFException e) {
- // This is ok. It means that the connection on the other side was terminated.
- // So just accept this and go down.
- } catch (Throwable e) {
- if (!shuttingDown)
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "In REMCallbackThread", e)); //$NON-NLS-1$
- } finally {
- if (in != null)
- try {
- in.close();
- } catch (Exception e) {
- }
- if (out != null)
- try {
- out.close();
- } catch (Exception e) {
- }
- close();
- }
- fServer.removeCallbackThread(this);
- if (shutdown)
- fServer.requestShutdown();
- }
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCharacterClassBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCharacterClassBeanProxy.java
deleted file mode 100644
index 11f8cda95..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCharacterClassBeanProxy.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.remote;
-/*
- * $RCSfile: REMCharacterClassBeanProxy.java,v $ $Revision: 1.5 $ $Date: 2005/05/11 22:41:24 $
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * IDE Implementation of ICharacterBeanProxy for the Character class. Creation date: (2/6/00
- * 9:02:54 AM) @author: Joe Winchester
- */
-final class REMCharacterClassBeanProxy extends REMConstantBeanProxy implements ICharacterBeanProxy {
- protected Character fCharValue;
-
- /**
- * As well as storing the bean store the char value so that we can return the charValue faster
- * without the need for repeated re-casting. It is package protected because it is created in
- * special way, so no one else should create these.
- *
- * @param aBean
- * java.lang.Object
- */
- REMCharacterClassBeanProxy(REMProxyFactoryRegistry aRegistry, Character value) {
- super(aRegistry);
- fCharValue = value;
- }
-
- /**
- * equals: Equal if: 1) This proxy == (identity) to the other object 2) Else if other is an
- * IBeanProxy and not a constant one, then if equals on the server. 3) If this is a constant
- * proxy and the other is too or is a constant value (e.g. IStringBeanProxy.equals(String),
- * then true if values are equals.
- */
- public boolean equals(Object anObject) {
- if (this == anObject)
- return true; // Identity
- if (anObject instanceof REMCharacterClassBeanProxy)
- return fCharValue.charValue() == ((REMCharacterClassBeanProxy) anObject).charValue();
- if (anObject instanceof Character)
- return fCharValue.charValue() == ((Character) anObject).charValue();
- return false;
- }
-
- /**
- * Return the char value
- */
- public char charValue() {
- return fCharValue.charValue();
- }
- /**
- * Return the java.lang.Character value
- */
- public Character characterValue() {
- return fCharValue;
- }
-
- /**
- * Answer the toString() of the value.
- */
- public String toBeanString() {
- return fCharValue.toString();
- }
-
- /**
- * Get the beantype
- */
- public IBeanTypeProxy getTypeProxy() {
- return ((REMStandardBeanTypeProxyFactory) fFactory.getBeanTypeProxyFactory()).characterClass;
- }
-
- /**
- * Render the bean into value object.
- */
- public void renderBean(Commands.ValueObject value) {
- value.set(fCharValue);
- }
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.INumberBeanProxy#byteValue()
- */
- public byte byteValue() {
- return (byte) fCharValue.charValue();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.INumberBeanProxy#doubleValue()
- */
- public double doubleValue() {
- return fCharValue.charValue();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.INumberBeanProxy#floatValue()
- */
- public float floatValue() {
- return fCharValue.charValue();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.INumberBeanProxy#intValue()
- */
- public int intValue() {
- return fCharValue.charValue();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.INumberBeanProxy#longValue()
- */
- public long longValue() {
- return fCharValue.charValue();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.INumberBeanProxy#numberValue()
- */
- public Number numberValue() {
- return new Integer(charValue()); // Kludge.
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.INumberBeanProxy#shortValue()
- */
- public short shortValue() {
- return (short) fCharValue.charValue();
- }
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCharacterClassBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCharacterClassBeanTypeProxy.java
deleted file mode 100644
index 231336a34..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCharacterClassBeanTypeProxy.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMCharacterClassBeanTypeProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-
-/**
- * Character BeanType Proxy for Character.class.
- * Creation date: (2/23/00 1:59:02 PM)
- * @author: Richard Lee Kulp
- */
-final class REMCharacterClassBeanTypeProxy extends REMAbstractBeanTypeProxy implements IREMConstantBeanTypeProxy {
- final REMCharacterClassBeanProxy nilProxy; // Value of '\0'
-
-REMCharacterClassBeanTypeProxy(REMProxyFactoryRegistry aRegistry, IBeanTypeProxy objectType) {
- super(aRegistry, new Integer(Commands.CHARACTER_CLASS), Character.class.getName(), objectType);
-
- nilProxy = new REMCharacterClassBeanProxy(aRegistry, new Character('\0'));
-}
-/**
- * Static helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- */
-ICharacterBeanProxy createCharacterBeanProxy(Character aCharacter) {
- return (aCharacter.charValue() != '\0') ?
- new REMCharacterClassBeanProxy(fRegistry, aCharacter) : nilProxy;
-}
-
-/**
- * Create a new bean proxy with the specified id.
- *
- * For all of the primitive wrapper types, this is an invalid operation. They are created
- * explicitly through the appropriate create method.
- */
-public IREMBeanProxy newBeanProxy(Integer anID) {
- throw new UnsupportedOperationException();
-}
-
-/**
- * newBeanTypeForClass: Create a new beantypeproxy of this kind for the given class.
- * This is used by beantype proxy factory when creating a beantype proxy for a subclass.
- * This is because subclasses, unless explicitly overridden, should use the same kind
- * of beantype proxy. This way if anything special is needed for a specific type, then
- * that can be done.
- *
- * For all of the primitive wrapper types, they are final classes, so you can't create a newBeanType
- * for subclasses.
- */
-public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract) {
- throw new UnsupportedOperationException();
-}
-
-/**
- * newInstance method. Character doesn't have a default ctor, so the standard way won't work.
- * Return the nilProxy for this case because that is the default value.
- */
-public IBeanProxy newInstance() {
- return nilProxy;
-}
-
-/**
- * Create a new bean proxy the ValueObject passed in.
- * We will assume the object is correct type.
- */
-public IBeanProxy newBeanProxy(Commands.ValueObject value) {
- return createCharacterBeanProxy(new Character(value.aChar));
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCharacterTypeBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCharacterTypeBeanProxy.java
deleted file mode 100644
index 9fddf2d26..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCharacterTypeBeanProxy.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.remote;
-/*
- * $RCSfile: REMCharacterTypeBeanProxy.java,v $ $Revision: 1.5 $ $Date: 2005/05/11 22:41:24 $
- */
-
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * Remote implementation of ICharacterBeanProxy. Creation date: (2/6/00 9:02:54 AM) @author: Joe
- * Winchester
- */
-final class REMCharacterTypeBeanProxy extends REMConstantBeanProxy implements ICharacterBeanProxy {
- protected char fChar;
-
- REMCharacterTypeBeanProxy(REMProxyFactoryRegistry aRegistry, char value) {
- super(aRegistry);
- fChar = value;
- }
-
- /**
- * equals: Equal if: 1) This proxy == (identity) to the other object 2) Else if other is an
- * IBeanProxy and not a constant one, then if equals on the server. 3) If this is a constant
- * proxy and the other is too or is a constant value (e.g. IStringBeanProxy.equals(String),
- * then true if values are equals.
- */
- public boolean equals(Object anObject) {
- if (this == anObject)
- return true; // Identity
- if (anObject instanceof REMCharacterTypeBeanProxy)
- return fChar == ((REMCharacterTypeBeanProxy) anObject).charValue();
- if (anObject instanceof Character)
- return fChar == ((Character) anObject).charValue();
- return false;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#sameAs(org.eclipse.jem.internal.proxy.core.IBeanProxy)
- */
- public boolean sameAs(IBeanProxy aBeanProxy) {
- if (this == aBeanProxy)
- return true; // Identity
- if (aBeanProxy instanceof REMCharacterTypeBeanProxy)
- return fChar == ((REMCharacterTypeBeanProxy) aBeanProxy).charValue();
- return false;
- }
-
- /**
- * Return the char value
- */
- public char charValue() {
- return fChar;
- }
- /**
- * Return the java.lang.Character value
- */
- public Character characterValue() {
- return new Character(fChar);
- }
-
- /**
- * Answer the toString() of the value.
- */
- public String toBeanString() {
- return String.valueOf(fChar);
- }
-
- /**
- * Get the beantype
- */
- public IBeanTypeProxy getTypeProxy() {
- return ((REMStandardBeanTypeProxyFactory) fFactory.getBeanTypeProxyFactory()).charType;
- }
-
- /**
- * Render the bean into value object.
- */
- public void renderBean(Commands.ValueObject value) {
- value.set(fChar);
- }
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.INumberBeanProxy#byteValue()
- */
- public byte byteValue() {
- return (byte) fChar;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.INumberBeanProxy#doubleValue()
- */
- public double doubleValue() {
- return fChar;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.INumberBeanProxy#floatValue()
- */
- public float floatValue() {
- return fChar;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.INumberBeanProxy#intValue()
- */
- public int intValue() {
- return fChar;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.INumberBeanProxy#longValue()
- */
- public long longValue() {
- return fChar;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.INumberBeanProxy#numberValue()
- */
- public Number numberValue() {
- return new Integer(fChar); // Kludge
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.INumberBeanProxy#shortValue()
- */
- public short shortValue() {
- return (short) fChar;
- }
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCharacterTypeBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCharacterTypeBeanTypeProxy.java
deleted file mode 100644
index 0f6f5e829..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCharacterTypeBeanTypeProxy.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMCharacterTypeBeanTypeProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-
-/**
- * Character.TYPE BeanType Proxy.
- * Creation date: (2/23/00 1:59:02 PM)
- * @author: Richard Lee Kulp
- */
-final class REMCharacterTypeBeanTypeProxy extends REMPrimitiveBeanTypeProxy {
-
- final REMCharacterTypeBeanProxy nilProxy; // Value of '\0'
-/**
- * REMCharacterBeanTypeProxy constructor comment.
- * @param aClass java.lang.Class
- */
-REMCharacterTypeBeanTypeProxy(REMProxyFactoryRegistry aRegistry) {
- super(aRegistry, new Integer(Commands.CHARACTER_TYPE), Character.TYPE.getName());
-
- nilProxy = new REMCharacterTypeBeanProxy(aRegistry, '\0');
-}
-
-/**
- * Static helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- * Use the cache.
- */
-ICharacterBeanProxy createCharacterBeanProxy(char aCharacter) {
- return new REMCharacterTypeBeanProxy(fRegistry, aCharacter);
-}
-
-/**
- * newInstance method. Character doesn't have a default ctor, so the standard way won't work.
- * Return the nilProxy for this case because that is the default value.
- */
-public IBeanProxy newInstance() {
- return nilProxy;
-}
-
-/**
- * Create a new bean proxy the ValueObject passed in.
- * We will assume the object is correct type.
- */
-public IBeanProxy newBeanProxy(Commands.ValueObject value) {
- return createCharacterBeanProxy(value.aChar);
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMClassBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMClassBeanTypeProxy.java
deleted file mode 100644
index e32e0ad19..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMClassBeanTypeProxy.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMClassBeanTypeProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * This is a bean type for the Class object. It is needed so that
- * when a new object id comes in that represents a class, it will
- * go through this bean type to create it. We need to do something
- * special so that the correct bean type object is created.
- */
-
-final class REMClassBeanTypeProxy extends REMAbstractBeanTypeProxy {
-
-
-REMClassBeanTypeProxy(REMProxyFactoryRegistry aRegistry, IBeanTypeProxy objectType) {
- super(aRegistry, new Integer(Commands.CLASS_CLASS), Class.class.getName(), objectType);
-}
-
-/**
- * Note: Since new instances of Class are never done through a default ctor,
- * this function is not supported.
- */
-public IBeanProxy newInstance() {
- throw new UnsupportedOperationException();
-}
-
-/**
- * Note: Since new instances of Class are never done through a initialization strings,
- * this function is not supported.
- */
-public IBeanProxy newInstance(String initializationString) {
- throw new UnsupportedOperationException();
-}
-
-/**
- * newBeanTypeForClass: Create a new beantypeproxy of this kind for the given class.
- * This is used by beantype proxy factory when creating a beantype proxy for a subclass.
- * This is because subclasses, unless explicitly overridden, should use the same kind
- * of beantype proxy. This way if anything special is needed for a specific type, then
- * that can be done.
- *
- * NOTE: Since the Class type is final, this function isn't supported.
- */
-public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract) {
- throw new UnsupportedOperationException();
-}
-
-/**
- * Create a new bean proxy with the specified id.
- *
- * In this case it means we need a new IBeanProxyType. We will let the
- * Beantype factory handle this since it knows how to get the information
- * for a specific id.
- */
-public IREMBeanProxy newBeanProxy(Integer anID) {
- return ((REMStandardBeanTypeProxyFactory) fRegistry.getBeanTypeProxyFactory()).createBeanTypeProxy(anID);
-}
-
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMConnection.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMConnection.java
deleted file mode 100644
index a394e9b16..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMConnection.java
+++ /dev/null
@@ -1,342 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.remote;
-/*
- * $RCSfile: REMConnection.java,v $
- * $Revision: 1.19 $ $Date: 2005/06/15 20:19:11 $
- */
-
-
-import java.io.*;
-import java.net.Socket;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.jem.internal.proxy.common.CommandException;
-import org.eclipse.jem.internal.proxy.common.remote.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands.*;
-import org.eclipse.jem.internal.proxy.core.ProxyPlugin;
-import org.eclipse.jem.util.TimerTests;
-/**
- * The default implementation of the connection.
- *
- * It uses the property "proxyvm.bufsize" to determine the buffer size to use. If not specified, it uses the system default
- */
-public class REMConnection implements IREMConnection, IREMExpressionConnection {
-
- public final static String INVOKE_STEP = "Invoke"; //$NON-NLS-1$
- public final static String INVOKE_METHOD_STEP = "Invoke Method"; //$NON-NLS-1$
- protected Socket fSocket = null;
- protected DataInputStream in = null;
- protected DataOutputStream out = null;
- private static final int TIME_OUT = 1000 * 30; // Wait up to half minute before timeout.
-
- public REMConnection(Socket socket, boolean noTimeouts) {
- try {
- fSocket = socket;
- fSocket.setSoLinger(true, 10); // Wait 10 seconds if necessary for the final stuff to go out after closing.
- if (!noTimeouts)
- fSocket.setSoTimeout(TIME_OUT); // Timeout period
- Integer bufSize = Integer.getInteger("proxyvm.bufsize"); //$NON-NLS-1$
- if (bufSize == null)
- bufSize = new Integer(16000);
- out = new DataOutputStream(new BufferedOutputStream(fSocket.getOutputStream(), bufSize.intValue())); // It didn't take the hint, so we will buffer it.
- in = new DataInputStream(new BufferedInputStream(fSocket.getInputStream(), bufSize.intValue())); // It didn't take the hint, so we will buffer it.
- } catch (IOException e) {
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", e)); //$NON-NLS-1$
-
- if (out != null)
- try {
- out.close();
- } catch (IOException e2) {
- }
- if (in != null)
- try {
- in.close();
- } catch (IOException e3) {
- }
- try {
- fSocket.close();
- } catch (IOException e4) {
- }
- fSocket = null;
- in = null;
- out = null;
- }
- }
-
- /**
- * Did this construct correctly.
- * This is needed because an exception could be thrown in the ctor and
- * that's not a good thing to do.
- */
- public boolean isConnected() {
- return fSocket != null;
- }
-
- /**
- * Terminate the server.
- */
- public void terminateServer() {
- if (isConnected()) {
- try {
- Commands.sendTerminateCommand(out);
- } catch (IOException e) {
- }
- close();
- }
- }
-
- /**
- * Close the connection.
- */
- public void close() {
- if (isConnected()) {
- try {
- Commands.sendQuitCommand(out);
- } catch (IOException e) {
- } finally {
- try {
- out.close();
- } catch (IOException e2) {
- }
- try {
- in.close();
- } catch (IOException e3) {
- }
- try {
- fSocket.close();
- } catch (IOException e4) {
- }
- }
- fSocket = null;
- in = null;
- out = null;
- }
- }
-
-
- /**
- * Return the class information.
- */
- public GetClassReturn getClass(String className) throws CommandException {
- if (isConnected())
- try {
- // It's simple, just pass onto Commands.
- return Commands.sendGetClassCommand(out, in, className);
- } catch (CommandErrorException e) {
- if (e.getErrorCode() != Commands.GET_CLASS_NOT_FOUND)
- throw e; // Not class not found, send it on
- }
- return null; // Not found, so return null
- }
-
-
- /**
- * Return the class information given an ID.
- */
- public GetClassIDReturn getClassFromID(int classID) throws CommandException {
- if (isConnected()) {
- // It's simple, just pass onto Commands.
- return Commands.sendGetClassFromIDCommand(out, in, classID);
- }
- return null; // Not found, so return null
- }
-
- /**
- * Get the object data from an id.
- */
- public void getObjectData(int classID, Commands.ValueObject valueReturn) throws CommandException {
- if (isConnected()) {
- // Just pass onto Commands.
- Commands.sendGetObjectData(out, in, classID, valueReturn);
- } else
- valueReturn.set(); // Set it to null since we aren't connected.
- }
-
- /**
- * Get a new instance using an init string
- */
- public void getNewInstance(int classID, String initString, Commands.ValueObject newInstance) throws CommandException {
- if (isConnected()) {
- // Just pass onto Commands.
- Commands.sendNewInstance(out, in, classID, initString, newInstance);
- } else
- newInstance.set(); // Set it to null since we aren't connected.
- }
-
- /**
- * Release the id.
- */
- public void releaseID(int id){
- if (isConnected())
- try {
- // Just pass onto Commands.
- Commands.releaseObjectCommand(out, id);
- } catch (IOException e) {
- // Don't care it didn't work
- }
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.remote.IREMConnection#getArrayContents(int, org.eclipse.jem.internal.proxy.common.remote.Commands.ValueObject)
- */
- public void getArrayContents(int arrayID, Commands.ValueObject returnValue) throws CommandException {
- if (isConnected()) {
- // It's simple, just pass onto Commands.
- Commands.sendGetArrayContentsCommand(out, in, arrayID, returnValue);
- }
- }
-
- /**
- * Invoke the method call
- */
- public void invokeMethod(int methodID, Commands.ValueObject invokeOn, Commands.ValueObject parms, Commands.ValueObject returnValue) throws CommandException {
- if (isConnected()) {
- // It's simple, just pass onto Commands.
- TimerTests.basicTest.startCumulativeStep(INVOKE_METHOD_STEP);
- Commands.sendInvokeMethodCommand(out, in, methodID, invokeOn, parms, returnValue);
- TimerTests.basicTest.stopCumulativeStep(INVOKE_METHOD_STEP);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.remote.IREMConnection#invokeMethod(org.eclipse.jem.internal.proxy.common.remote.Commands.ValueObject, java.lang.String, org.eclipse.jem.internal.proxy.common.remote.Commands.ValueObject, org.eclipse.jem.internal.proxy.common.remote.Commands.ValueObject, org.eclipse.jem.internal.proxy.common.remote.Commands.ValueObject, org.eclipse.jem.internal.proxy.common.remote.Commands.ValueObject)
- */
- public void invokeMethod(ValueObject classType, String methodName, ValueObject parmTypes, ValueObject invokeOn, ValueObject parms,
- ValueObject returnValue) throws CommandException {
- if (isConnected()) {
- // It's simple, just pass onto Commands.
- TimerTests.basicTest.startCumulativeStep(INVOKE_STEP);
- Commands.sendInvokeMethodCommand(out, in, classType, methodName, parmTypes, invokeOn, parms, returnValue);
- TimerTests.basicTest.stopCumulativeStep(INVOKE_STEP);
- }
- }
-
- /* ************************************************************
- * Put the Expression processing commands here.
- *
- * ************************************************************/
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.remote.IREMExpressionConnection#startExpressionProcessing()
- */
- public void startExpressionProcessing(int expressionID, byte trace) throws IOException {
- if (isConnected())
- ExpressionCommands.sendStartExpressionProcessingCommand(expressionID, trace, out);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.remote.IREMExpressionConnection#pushExpressionCommand(byte)
- */
- public void pushExpressionCommand(int expressionID, byte subcommand) throws IOException {
- if (isConnected())
- ExpressionCommands.sendExpressionCommand(expressionID, out, subcommand);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.remote.IREMExpressionConnection#stopExpressionProcessing()
- */
- public void stopExpressionProcessing(int expressionID) throws IOException {
- if (isConnected())
- ExpressionCommands.sendEndExpressionProcessingCommand(expressionID, out);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.remote.IREMExpressionConnection#pushValueObject(org.eclipse.jem.internal.proxy.common.remote.Commands.ValueObject)
- */
- public void pushValueObject(ValueObject valueObject) throws CommandException {
- if (isConnected())
- Commands.writeValue(out, valueObject, false);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.remote.IREMExpressionConnection#pushByte(byte)
- */
- public void pushByte(byte abyte) throws IOException {
- if (isConnected())
- ExpressionCommands.sendByte(out, abyte);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.remote.IREMExpressionConnection#pushInt(int)
- */
- public void pushInt(int anInt) throws IOException {
- if (isConnected())
- ExpressionCommands.sendInt(out, anInt);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.remote.IREMExpressionConnection#pushString(java.lang.String)
- */
- public void pushString(String aString) throws IOException {
- if (isConnected())
- ExpressionCommands.sendString(out, aString);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.remote.IREMExpressionConnection#pushBoolean(boolean)
- */
- public void pushBoolean(boolean aBool) throws IOException {
- if (isConnected())
- ExpressionCommands.sendBoolean(out, aBool);
- }
-
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.remote.IREMExpressionConnection#getFinalValue(org.eclipse.jem.internal.proxy.common.remote.Commands.ValueObject)
- */
- public void getFinalValue(ValueObject result) throws CommandException {
- if (isConnected())
- Commands.readBackValue(in, result, Commands.NO_TYPE_CHECK);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.remote.IREMExpressionConnection#pullValue(int, org.eclipse.jem.internal.proxy.common.remote.Commands.ValueObject)
- */
- public void pullValue(int expressionID, ValueObject proxyids, ValueSender sender) throws CommandException {
- if (isConnected())
- ExpressionCommands.sendPullValueCommand(expressionID, out, in, proxyids, sender);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.remote.IREMExpressionConnection#sync(int, org.eclipse.jem.internal.proxy.common.remote.Commands.ValueObject)
- */
- public void sync(int expressionID, ValueObject proxyids, ValueSender sender) throws CommandException {
- if (isConnected())
- ExpressionCommands.sendSyncCommand(expressionID, out, in, proxyids, sender);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.remote.IREMConnection#readProxyArrayValues(org.eclipse.jem.internal.proxy.common.remote.Commands.ValueObject, org.eclipse.jem.internal.proxy.common.remote.Commands.ValueSender, boolean)
- */
- public void readProxyArrayValues(Commands.ValueObject returnValue, Commands.ValueSender valueSender, boolean allowFlag) throws CommandException {
- if (isConnected())
- Commands.readArray(in, returnValue.anInt, valueSender, returnValue, allowFlag);
- }
-
- public void transferExpression(int expressionID, ValueObject expController) throws CommandException {
- if (isConnected())
- ExpressionCommands.sendTransferExpressionCommand(expressionID, out, in, expController);
- }
-
- public void resumeExpression(int expressionID, ValueObject expController) throws CommandException {
- if (isConnected())
- ExpressionCommands.sendResumeExpressionCommand(expressionID, out, expController);
- }
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMConstantBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMConstantBeanProxy.java
deleted file mode 100644
index 5a04a285b..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMConstantBeanProxy.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.remote;
-/*
- * $RCSfile: REMConstantBeanProxy.java,v $
- * $Revision: 1.5 $ $Date: 2005/05/11 19:01:12 $
- */
-
-
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-import org.eclipse.jem.internal.proxy.core.IBeanProxy;
-import org.eclipse.jem.internal.proxy.core.ProxyFactoryRegistry;
-/**
- * This is a base for bean proxies that are constants and
- * do not have an object on the remote VM side. They are
- * shipped back and forth by value.
- */
-
-public abstract class REMConstantBeanProxy implements IREMConstantBeanProxy {
- protected final REMProxyFactoryRegistry fFactory;
- private final static Integer ID = new Integer(Commands.NOT_AN_ID);
-
- protected REMConstantBeanProxy(REMProxyFactoryRegistry aFactory) {
- fFactory = aFactory;
- }
- /**
- * Return the registry this proxy was created with.
- */
- public ProxyFactoryRegistry getProxyFactoryRegistry() {
- return fFactory;
- }
-
- /**
- * equals: Equal if:
- * 1) This proxy == (identity) to the other object
- * 2) Else if other is an IBeanProxy and not a constant one, then if
- * equals on the server.
- * 3) If this is a constant proxy and the other is too or is a constant
- * value (e.g. IStringBeanProxy.equals(String), then true if values are equals.
- * This is abstract because each type needs to do a unique test for equality.
- */
- public abstract boolean equals(Object anObject);
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#sameAs(org.eclipse.jem.internal.proxy.core.IBeanProxy)
- */
- public boolean sameAs(IBeanProxy aBeanProxy) {
- // We can't be assured that there are not non-identical constants that are actually identical.
- // This is because for constants we do not know the id of the original. That is not sent across from the vm.
- return this == aBeanProxy;
- }
-
- /**
- * Return the ID of this proxy.
- * Constants have no id's, so we return -1.
- */
- public Integer getID() {
- return ID;
- }
-
- /**
- * isValid. Constant ones are always valid unless the registry is terminated, except if an
- * override releases resources. In that case the overriding
- * subclass should also override isValid() to return false
- * if release() was called.
- */
- public boolean isValid() {
- return fFactory.isValid();
- }
-
- /**
- * release. Constant ones don't need to typically be released, however
- * if an override does do something to release, then it MUST also
- * override isValid() to return false.
- */
- public void release() {
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IProxy#isBeanProxy()
- */
- public final boolean isBeanProxy() {
- return true;
- }
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IProxy#isExpressionProxy()
- */
- public final boolean isExpressionProxy() {
- return false;
- }
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMConstructorProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMConstructorProxy.java
deleted file mode 100644
index be4a841a8..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMConstructorProxy.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.remote;
-/*
- * $RCSfile: REMConstructorProxy.java,v $
- * $Revision: 1.7 $ $Date: 2005/05/11 19:01:12 $
- */
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-import org.eclipse.jem.internal.proxy.common.remote.TransmitableArray;
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * Proxy for a constructor.
- */
-
-final class REMConstructorProxy extends REMAccessibleObjectProxy implements IConstructorProxy {
-
- REMConstructorProxy(REMProxyFactoryRegistry aRegistry, Integer anID) {
- super(aRegistry, anID);
- }
-
- /**
- * Using this constructor (assuming it takes no arguments) create a new instance.
- * Exception will be raised if this constructor takes arguments.
- */
- public IBeanProxy newInstance() throws ThrowableProxy {
- return newInstance(null);
- }
-
- /**
- * The type proxy is constant proxy out of the method factory.
- */
- public IBeanTypeProxy getTypeProxy() {
- return ((REMMethodProxyFactory) fFactory.getMethodProxyFactory()).ctorType;
- }
-
- /**
- * Using this constructor (with the arguments) create a new instance.
- * Exception will be raised if arguments don't match the constructor.
- */
- public IBeanProxy newInstance(IBeanProxy[] creationArguments) throws ThrowableProxy {
- IREMMethodProxy newInstanceMethod =
- (IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getConstructorNewInstance();
-
- // Constructor.newInstance takes one parm (Object[]) where [0] is an Object[] of the arguments to the constructor.
- Object[] parms = null;
- if (creationArguments != null)
- parms = new Object[] { new TransmitableArray(Commands.OBJECT_CLASS, creationArguments)};
-
- return newInstanceMethod.invokeWithParms(this, parms);
- }
- public IBeanProxy newInstanceCatchThrowableExceptions() {
- try {
- return newInstance();
- } catch (ThrowableProxy e) {
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", e)); //$NON-NLS-1$
- fFactory.releaseProxy(e); // Since it's no longer needed, get rid of now instead of GC time.
- return null;
- }
- }
- public IBeanProxy newInstanceCatchThrowableExceptions(IBeanProxy[] args) {
- try {
- return newInstance(args);
- } catch (ThrowableProxy e) {
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", e)); //$NON-NLS-1$
- fFactory.releaseProxy(e); // Since it's no longer needed, get rid of now instead of GC time.
- return null;
- }
- }
-
- private IBeanTypeProxy[] fParameterTypes;
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IConstructorProxy#getParameterTypes()
- */
- public synchronized IBeanTypeProxy[] getParameterTypes() {
- if (fParameterTypes == null) {
- IArrayBeanProxy parmTypes = (IArrayBeanProxy) REMStandardBeanProxyConstants.getConstants(fFactory)
- .getConstructorParameterTypesMessage().invokeCatchThrowableExceptions(this);
- if (parmTypes == null)
- fParameterTypes = new IBeanTypeProxy[0]; // There was some error, only way null is returned
- else {
- int len = parmTypes.getLength();
- fParameterTypes = new IBeanTypeProxy[len];
- for (int i = 0; i < len; i++)
- try {
- fParameterTypes[i] = (IBeanTypeProxy) parmTypes.get(i);
- } catch (ThrowableProxy e) {
- }
- fFactory.releaseProxy(parmTypes); // Don't need the array on the server anymore.
- }
- }
-
- return fParameterTypes;
- }
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMConstructorTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMConstructorTypeProxy.java
deleted file mode 100644
index 760007fc2..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMConstructorTypeProxy.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMConstructorTypeProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * BeanType Proxy for Method class.
- */
-
-final class REMConstructorTypeProxy extends REMAbstractBeanTypeProxy {
-
-REMConstructorTypeProxy(REMProxyFactoryRegistry aRegistry, IBeanTypeProxy accessibleTypeProxy) {
- super(aRegistry, new Integer(Commands.CONSTRUCTOR_CLASS), java.lang.reflect.Constructor.class.getName(), accessibleTypeProxy);
-}
-
-/**
- * newBeanTypeForClass: Create a new beantypeproxy of this kind for the given class.
- * This is used by beantype proxy factory when creating a beantype proxy for a subclass.
- * This is because subclasses, unless explicitly overridden, should use the same kind
- * of beantype proxy. This way if anything special is needed for a specific type, then
- * that can be done.
- *
- * For all of the accessible object types, they are final classes, so you can't create a newBeanType
- * for subclasses.
- */
-public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract) {
- throw new UnsupportedOperationException();
-}
-
-/**
- * Specialized from REMAbstractBeanTypeProxy to ensure Constructor proxies are created correctly.
- */
-public IREMBeanProxy newBeanProxy(Integer objectID) {
- return new REMConstructorProxy(fRegistry, objectID);
-}
-
-/**
- * Note: Since new instances of Constructor are never done through a default ctor,
- * this function is not supported.
- */
-public IBeanProxy newInstance() {
- throw new UnsupportedOperationException();
-}
-
-/**
- * Note: Since new instances of Constructor are never done through an initialization string,
- * this function is not supported.
- */
-public IBeanProxy newInstance(String initializationString) {
- throw new UnsupportedOperationException();
-}
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMDoubleClassBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMDoubleClassBeanProxy.java
deleted file mode 100644
index d06300c7d..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMDoubleClassBeanProxy.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMDoubleClassBeanProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * Remote Proxy for Double.class.
- */
-class REMDoubleClassBeanProxy extends REMNumberBeanProxy {
-
-REMDoubleClassBeanProxy(REMProxyFactoryRegistry aRegistry, Double aDouble) {
- super(aRegistry, aDouble);
-}
-
-/**
- * Get the beantype
- */
-public IBeanTypeProxy getTypeProxy() {
- return ((REMStandardBeanTypeProxyFactory) fFactory.getBeanTypeProxyFactory()).doubleClass;
-}
-
-/**
- * Render the bean into value object.
- */
-public void renderBean(Commands.ValueObject value) {
- value.set((Double) numberValue());
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMDoubleClassBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMDoubleClassBeanTypeProxy.java
deleted file mode 100644
index 25420b216..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMDoubleClassBeanTypeProxy.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMDoubleClassBeanTypeProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * Remote Implementation of IBeanTypeProxy for Double.class.
- * Creation date: (2/6/00 9:01:40 AM)
- * @author: Joe Winchester
- */
-final class REMDoubleClassBeanTypeProxy extends REMAbstractNumberBeanTypeProxy {
-// Some values are cache'd for speed
- private final INumberBeanProxy zeroProxy;
-/**
- * REMIntegerBeanTypeProxy constructor comment.
- * @param aClass java.lang.Class
- */
-REMDoubleClassBeanTypeProxy(REMProxyFactoryRegistry aRegistry, IBeanTypeProxy numberType) {
- super(aRegistry, new Integer(Commands.DOUBLE_CLASS), Double.class.getName(), numberType);
-
- // Create the cached values
- zeroProxy = new REMDoubleClassBeanProxy(aRegistry, new Double(0D));
-}
-
-/**
- * Helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- */
-INumberBeanProxy createDoubleBeanProxy(Double aDouble) {
- return (aDouble.doubleValue() != 0D) ?
- new REMDoubleClassBeanProxy(fRegistry, aDouble) : zeroProxy;
-}
-
-/**
- * Generic way to create an Double proxy, however, the Number must be a Double.
- */
-protected INumberBeanProxy createNumberBeanProxy(Number aNumber) {
- return createDoubleBeanProxy((Double) aNumber);
-}
-
-/**
- * newInstance method. Number's don't have a default ctor, so the standard way won't work.
- * Return the zero proxy for this case.
- */
-public IBeanProxy newInstance() {
- return zeroProxy;
-}
-
-/**
- * Create a new bean proxy the ValueObject passed in.
- * We will assume the object is correct type.
- */
-public IBeanProxy newBeanProxy(Commands.ValueObject value) {
- return createDoubleBeanProxy(new Double(value.aDouble));
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMDoubleTypeBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMDoubleTypeBeanProxy.java
deleted file mode 100644
index f86bb1a2b..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMDoubleTypeBeanProxy.java
+++ /dev/null
@@ -1,133 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMDoubleTypeBeanProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * Remote Implementation of INumberProxy for the primitive "double".
- * It can answer all of the primitive number types (int, long, short, byte, double, float).
- * Creation date: (2/6/00 9:02:54 AM)
- * @author: Joe Winchester
- */
-class REMDoubleTypeBeanProxy extends REMConstantBeanProxy implements INumberBeanProxy {
- private final double fDouble;
-
-/**
- * It is package protected because they are created
- * in a special way and no one else should create them.
- * @param aBean java.lang.Object
- */
-REMDoubleTypeBeanProxy(REMProxyFactoryRegistry aRegistry, double aDouble) {
- super(aRegistry);
- fDouble = aDouble;
-}
-
-/**
- * equals: Equal if:
- * 1) This proxy == (identity) to the other object
- * 2) Else if other is an IBeanProxy and not a constant one, then if
- * equals on the server.
- * 3) If this is a constant proxy and the other is too or is a constant
- * value (e.g. IStringBeanProxy.equals(String), then true if values are equals.
- */
-public boolean equals(Object anObject) {
- if (this == anObject)
- return true; // Identity
- if (anObject instanceof REMDoubleTypeBeanProxy)
- return fDouble == ((REMDoubleTypeBeanProxy) anObject).doubleValue();
- if (anObject instanceof Double)
- return fDouble == ((Double) anObject).doubleValue();
- return false;
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#sameAs(org.eclipse.jem.internal.proxy.core.IBeanProxy)
- */
-public boolean sameAs(IBeanProxy aBeanProxy) {
- if (this == aBeanProxy)
- return true; // Identity
- if (aBeanProxy instanceof REMDoubleTypeBeanProxy)
- return fDouble == ((REMDoubleTypeBeanProxy) aBeanProxy).doubleValue();
- return false;
-}
-
-/**
- * byteValue method comment.
- */
-public byte byteValue() {
- return (byte) fDouble;
-}
-/**
- * doubleValue method comment.
- */
-public double doubleValue() {
- return fDouble;
-}
-/**
- * floatValue method comment.
- */
-public float floatValue() {
- return (float) fDouble;
-}
-/**
- * Return the int value
- */
-public int intValue() {
- return (int) fDouble;
-}
-/**
- * longValue method comment.
- */
-public long longValue() {
- return (long) fDouble;
-}
-/**
- * numberValue method comment.
- */
-public Number numberValue() {
- return new Double(fDouble);
-}
-/**
- * shortValue method comment.
- */
-public short shortValue() {
- return (short) fDouble;
-}
-
-/**
- * The bean's toString.
- */
-public String toBeanString() {
- return String.valueOf(fDouble);
-}
-
-/**
- * Get the beantype
- */
-public IBeanTypeProxy getTypeProxy() {
- return ((REMStandardBeanTypeProxyFactory) fFactory.getBeanTypeProxyFactory()).doubleType;
-}
-
-/**
- * Render the bean into value object.
- */
-public void renderBean(Commands.ValueObject value) {
- value.set(fDouble);
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMDoubleTypeBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMDoubleTypeBeanTypeProxy.java
deleted file mode 100644
index d7d56d2b1..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMDoubleTypeBeanTypeProxy.java
+++ /dev/null
@@ -1,98 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMDoubleTypeBeanTypeProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * Remote Implementation of IBeanTypeProxy for Double.TYPE
- * Creation date: (2/6/00 9:01:40 AM)
- * @author: Joe Winchester
- */
-final class REMDoubleTypeBeanTypeProxy extends REMPrimitiveBeanTypeProxy {
-// Some values are cache'd for speed
- private final INumberBeanProxy zeroProxy;
-/**
- * REMIntegerBeanTypeProxy constructor comment.
- * @param aClass java.lang.Class
- */
-REMDoubleTypeBeanTypeProxy(REMProxyFactoryRegistry aRegistry) {
- super(aRegistry, new Integer(Commands.DOUBLE_TYPE), Double.TYPE.getName());
-
- // Create the cached values
- zeroProxy = new REMDoubleTypeBeanProxy(aRegistry, 0D);
-}
-
-/**
- * Helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- */
-INumberBeanProxy createDoubleBeanProxy(double aDouble) {
- return (aDouble != 0D) ?
- new REMDoubleTypeBeanProxy(fRegistry, aDouble) : zeroProxy;
-}
-
-/**
- * newInstance method. double is a primitive, so the standard way won't work.
- * Return the zeroProxy for this case because that is the default value.
- */
-public IBeanProxy newInstance() {
- return zeroProxy;
-}
-
-/**
- * Create a new bean proxy the ValueObject passed in.
- * We will assume the object is correct type.
- */
-public IBeanProxy newBeanProxy(Commands.ValueObject value) {
- return createDoubleBeanProxy(value.aDouble);
-}
-
-/**
- * Short cut for newInstance where the string follows the
- * specific pattern we expect. That way it won't be necessary to ship over to the vm
- * to process it.
- *
- * The pattern it can accept is:
- * 1) (double) validNumber - number can be any number because (double) explicitly casts it down.
- * 2) validNumber
- * It will use the decode function of double to determine the valid number.
- */
-public IBeanProxy newInstance(String initializationString) throws ThrowableProxy, ClassCastException, InstantiationException {
- String trim = initializationString.trim();
- if (trim.length() == 0)
- return super.newInstance(initializationString);
- double aDouble;
- if (trim.startsWith("(double)")) { //$NON-NLS-1$
- Number v = parseString(trim.substring("(double)".length()).trim()); //$NON-NLS-1$
- if (v != null)
- aDouble = v.doubleValue();
- else
- return super.newInstance(initializationString); // Can't decode it, let full parser handle it.
- } else {
- try {
- aDouble = Double.valueOf(initializationString).doubleValue(); // See if valid double format.
- } catch (NumberFormatException e) {
- return super.newInstance(initializationString); // Can't decode it, let full parser handle it.
- }
- }
-
- return getProxyFactoryRegistry().getBeanProxyFactory().createBeanProxyWith(aDouble);
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMExpression.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMExpression.java
deleted file mode 100644
index 78e0d0bf2..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMExpression.java
+++ /dev/null
@@ -1,1864 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: REMExpression.java,v $
- * $Revision: 1.17 $ $Date: 2005/06/22 21:05:17 $
- */
-package org.eclipse.jem.internal.proxy.remote;
-
-import java.io.*;
-import java.util.*;
-import java.util.logging.Level;
-
-import org.eclipse.jem.internal.proxy.common.CommandException;
-import org.eclipse.jem.internal.proxy.common.remote.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands.ValueObject;
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.initParser.tree.*;
-
-/**
- * The Remote proxy version of Expression.
- *
- * @since 1.0.0
- */
-public class REMExpression extends Expression {
-
- private IREMExpressionConnection connection;
- private boolean closed; // Are we closed.
-
- protected Commands.ValueObject workerValue; // A worker object so that we don't need to keep creating one and throwing it away.
-
- protected Map beanTypeCache; // Use to cache pending BeanTypes. Used in conjunction with REMStandardBeanTypeFactory.
- protected Map methodsCache; // Use to cache pending expression method proxies. Used in conjunction with REMProxyConsants.
- protected Map fieldsCache; // Use to cache pending expression field proxies. Used in conjunction with REMProxyConsants.
-
- /*
- * This is very special list. It tries to eliminate unneeded traffic. For example a mark immediately followed by an endmark does
- * not need to be sent. Many expressions can look like: mark, endmark, endtransaction. This is a do nothing and we don't want
- * to create a connection to just send this. So this list is used to queue up these and remove them too when found as not needed.
- *
- * However, this is very tricky because all pushToProxy transactions that actually do something MUST call the processPending() method
- * first to make sure any pending transactions are submitted. Because once a real type transaction, such as assignment occurs, any
- * pending transaction is a valid transaction, and no longer a do-nothing transaction.
- *
- * Each transaction type uses a subclass of PendingTransaction to be an entry on the list.
- *
- * The pendings currently supported are:
- * mark/endmark
- * try/catch/endtry
- * block/endblock
- *
- * See each individual transaction type to see how it is handled.
- */
- protected List pendingTransactions;
-
- /**
- * PendingTransaction entry.
- *
- * @since 1.1.0
- */
- protected abstract static class PendingTransaction {
-
- /**
- * The transaction is now being pushed. The implementation should
- * actually do the push.
- *
- * @param remExpression The REMExpression for this transaction.
- *
- * @since 1.1.0
- */
- public abstract void pushTransaction(REMExpression remExpression);
- }
-
- /**
- * @param registry
- *
- * @since 1.0.0
- */
- public REMExpression(REMProxyFactoryRegistry registry) {
- super(registry);
- }
-
- /**
- * Return the expression id for this REMExpression. This id is used on the remote vm to
- * identify who the request is for.
- * @return
- *
- * @since 1.1.0
- */
- protected int getREMExpressionID() {
- return this.hashCode();
- }
- /**
- * Get the pending transactions list.
- * @return
- *
- * @since 1.1.0
- */
- protected List getPendingTransactions() {
- if (pendingTransactions == null)
- pendingTransactions = new ArrayList();
- return pendingTransactions;
- }
-
- // Use this flag when debugging to test if errors are due to improper pending processing.
- // If true they will be treated as if not pending and will be executed immediately.
- private static final boolean EXECUTE_PENDING_IMMEDIATELY = false;
- protected void addPendingTransaction(PendingTransaction pending) {
- if (!EXECUTE_PENDING_IMMEDIATELY)
- getPendingTransactions().add(pending);
- else
- pending.pushTransaction(this);
- }
-
- private boolean sentData; // Flag to indicate if we have sent anything yet to the remote vm. This is used for the pending optimizations.
-
- /**
- * Have we sent any data in this transaction yet.
- * @return
- *
- * @since 1.1.0
- */
- protected boolean haveSentData() {
- return sentData;
- }
-
- /**
- * @return Returns the connection.
- *
- * @since 1.1.0
- */
- protected IREMExpressionConnection getConnection() {
- if (connection == null) {
- if (!sentData)
- getREMBeanProxyFactory().startTransaction(); // This is the first time we send data, so start transaction.
-
- sentData = true; // If we are getting a transaction, that means we are sending data.
- connection = (IREMExpressionConnection) getREMRegistry().getFreeConnection();
- // This will actually not be stopped until closeproxy. There could be a slight problem if the expression is never closed.
- // But that shouldn't happen. This is to prevent any proxy that was released during the execution but was used by
- // the expression from being released on the remote vm until after the expression is finished.
- try {
- if (workerValue == null)
- workerValue = new Commands.ValueObject();
- if (expressionProcesserController == null) {
- byte trace = !isTraceSet() ? ExpressionCommands.TRACE_DEFAULT : (isTrace() ? ExpressionCommands.TRACE_ON : ExpressionCommands.TRACE_OFF);
- connection.startExpressionProcessing(getREMExpressionID(), trace); // It is a new expression.
- } else {
- fillProxy(expressionProcesserController, workerValue);
- connection.resumeExpression(getREMExpressionID(), workerValue);
- expressionProcesserController = null;
- }
- } catch (IOException e) {
- connection.close();
- ProxyPlugin.getPlugin().getLogger().log(e);
- throwIllegalStateException(IO_EXCEPTION_MSG);
- } catch (CommandException e) {
- ProxyPlugin.getPlugin().getLogger().log(e);
- if (!e.isRecoverable()) {
- connection.close();
- connection = null;
- }
- throwIllegalStateException(COMMAND_EXCEPTION_MSG);
- }
- }
- return connection;
- }
-
- /**
- * General IOException occurred msg.
- */
- protected static final String IO_EXCEPTION_MSG = ProxyRemoteMessages.REMExpression_IOExceptionSeeLog_INFO_;
-
- protected static final String COMMAND_EXCEPTION_MSG = ProxyRemoteMessages.REMExpression_CommandExceptionSeeLog_INFO_;
-
- /**
- * Throw an an illegal state exception if some general error, in particular an I/O or Command Exception
- * occurred so that callers know there is something wrong.
- *
- * @param msg
- * @throws IllegalStateException
- *
- * @since 1.0.0
- */
- protected void throwIllegalStateException(String msg) throws IllegalStateException {
- throw new IllegalStateException(msg);
- }
-
- /**
- * Return the registry as a REMProxyFactoryRegistry
- * @return
- *
- * @since 1.0.0
- */
- protected final REMProxyFactoryRegistry getREMRegistry() {
- return (REMProxyFactoryRegistry) registry;
- }
-
- /**
- * Return the bean proxy factory as a REMStandardBeanProxyFactory.
- * @return
- *
- * @since 1.0.0
- */
- protected final REMStandardBeanProxyFactory getREMBeanProxyFactory() {
- return (REMStandardBeanProxyFactory) beanProxyFactory;
- }
-
- /**
- * Process any pending transactions.
- * <p>
- * <b>Note: </b>It is required that all non-pending-participating transactions must
- * call this method first to make sure pending transactions are sent. If this is
- * not done, there will be errors in the expression.
- *
- *
- * @since 1.1.0
- */
- protected void processPendingTransactions() {
- if (pendingTransactions != null && !pendingTransactions.isEmpty()) {
- try {
- for (int i = 0; i < pendingTransactions.size(); i++) {
- ((PendingTransaction) pendingTransactions.get(i)).pushTransaction(this);
- }
- } finally {
- pendingTransactions.clear();
- }
- }
- }
-
- /**
- * Get the pending entry from top. If top is 1, then get top entry (i.e. last one added), 2 is next one.
- * @param fromTop
- * @return entry requested, or <code>null</code> if no such entry.
- *
- * @since 1.1.0
- */
- protected PendingTransaction getPendingEntryFromTop(int fromTop) {
- if (pendingTransactions != null && pendingTransactions.size() >= fromTop) {
- return (PendingTransaction) pendingTransactions.get(pendingTransactions.size()-fromTop);
- } else
- return null;
- }
-
- /**
- * Pop up the top entry from the pending transactions queue.
- * @param fromTop how many entries to pop from the pending transaction list.
- *
- *
- * @since 1.1.0
- */
- protected void popPendingEntry(int fromTop) {
- if (pendingTransactions != null)
- if (pendingTransactions.size() > fromTop) {
- while(fromTop-- >0)
- pendingTransactions.remove(pendingTransactions.size()-1);
- } else
- pendingTransactions.clear();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushToProxy(org.eclipse.jem.internal.proxy.core.IProxy)
- */
- protected void pushToProxy(IProxy proxy) {
- if (proxy == null || proxy.isBeanProxy())
- pushToProxy((IBeanProxy) proxy);
- else
- pushToExpressionProxy((ExpressionProxy) proxy);
- }
-
- private void pushToProxy(IBeanProxy proxy) {
- processPendingTransactions();
- IREMExpressionConnection connection = getConnection();
- try {
- // Format of push proxy command is:
- // PushExpressionCommand(push to proxy) followed by:
- // ValueObject containing the rendered proxy.
- connection.pushExpressionCommand(getREMExpressionID(), (byte)InternalExpressionTypes.PUSH_TO_PROXY_EXPRESSION_VALUE);
- if (proxy == null)
- workerValue.set();
- else
- ((IREMBeanProxy) proxy).renderBean(workerValue);
- connection.pushValueObject(workerValue);
- } catch (IOException e) {
- connection.close();
- ProxyPlugin.getPlugin().getLogger().log(e);
- markInvalid(e.getLocalizedMessage());
- throwIllegalStateException(IO_EXCEPTION_MSG);
- } catch (CommandException e) {
- ProxyPlugin.getPlugin().getLogger().log(e);
- markInvalid(e.getLocalizedMessage());
- if (!e.isRecoverable()) {
- connection.close();
- throwIllegalStateException(COMMAND_EXCEPTION_MSG);
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#closeProxy()
- */
- protected void closeProxy() {
- if (!closed) {
- try {
- if (connection != null && connection.isConnected()) {
- try {
- connection.stopExpressionProcessing(getREMExpressionID());
- } catch (IOException e) {
- connection.close();
- ProxyPlugin.getPlugin().getLogger().log(e, Level.INFO);
- // Not throwing an illegal state here because we don't care, other than logging and not
- // returning the connection to the registry that there was an error on close.
- } finally {
- getREMRegistry().returnConnection(connection);
- }
- }
- } finally {
- closed = true;
- if (sentData)
- getREMBeanProxyFactory().stopTransaction(); // Resume proxy releases. We've sent data at least once.
- }
- }
- methodsCache = null;
- fieldsCache = null;
- beanTypeCache = null;
- pendingTransactions = null;
- connection = null;
- }
-
- private static final Object VOIDTYPE = new Object(); // A void type was sent in expression proxy resolution.
- private static final Object NOTRESOLVED = new Object(); // A not resolved type was sent in expression proxy resolution.
-
- /*
- * Get the sender to use for pulling the expression proxy resolutions.
- */
- private BeanProxyValueSender getExpressionProxiesSender() {
- return new BeanProxyValueSender(getREMBeanProxyFactory()) {
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.remote.BeanProxyValueSender#sendValue(org.eclipse.jem.internal.proxy.common.remote.Commands.ValueObject)
- */
- public void sendValue(ValueObject value) {
- if (value.getType() == Commands.FLAG) {
- switch (value.anInt) {
- case ExpressionCommands.EXPRESSIONPROXY_NOTRESOLVED:
- array[index++] = NOTRESOLVED;
- break;
- case ExpressionCommands.EXPRESSIONPROXY_VOIDTYPE:
- array[index++] = VOIDTYPE;
- break;
- default:
- // Shouldn't happen.
- break;
- }
- } else
- super.sendValue(value);
- }
- };
- }
-
- /*
- * Process the pulled expression proxy resolutions.
- */
- private void processpulledExpressionProxies(List expressionProxies, BeanProxyValueSender sender) {
-
- // It is expected that each entry will coorespond to the next non-null expression proxy and will be the bean proxy or one of the special
- // types.
- int len = expressionProxies.size();
- int j = 0;
- Object[] resolveds = sender.getArray();
- for (int i = 0; i < len; i++) {
- ExpressionProxy ep = (ExpressionProxy) expressionProxies.get(i);
- if (ep != null) {
- Object resolved = resolveds[j++];
- if (resolved == NOTRESOLVED)
- fireProxyNotResolved(ep);
- else if (resolved == VOIDTYPE)
- fireProxyVoid(ep);
- else
- fireProxyResolved(ep, (IBeanProxy) resolved);
- }
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.Expression#pullProxyValue(int, java.util.List)
- */
- protected IBeanProxy pullProxyValue(int proxycount, List expressionProxies) throws ThrowableProxy, NoExpressionValueException {
- if (!haveSentData()) {
- markAllProxiesNotResolved(expressionProxies);
- return null; // We haven't pushed any commands, so there is nothing to do. Don't create a connection for this.
- }
- // If there are any pending transactions at this point in time, there is no need to send them. They would be do nothings anyway.
-
- boolean processedExpressionProxies = false;
- IREMExpressionConnection lclConnection = getConnection();
- markInTransaction(lclConnection);
- try {
- Commands.ValueObject proxyids = null;
- BeanProxyValueSender sender = null;
- if (proxycount > 0) {
- proxyids = createExpressionProxiesValueObject(proxycount, expressionProxies);
- sender = getExpressionProxiesSender();
- }
-
- lclConnection.pullValue(getREMExpressionID(), proxyids, sender);
- // If we got this far, then if there are proxies, we need to process these too.
- if (proxycount > 0)
- processpulledExpressionProxies(expressionProxies, sender);
- processedExpressionProxies =true;
- lclConnection.getFinalValue(workerValue); // Get the returned value.
- return getREMBeanProxyFactory().getBeanProxy(workerValue);
- } catch (CommandErrorException e) {
- try {
- if (e.getErrorCode() == ExpressionCommands.EXPRESSION_NOEXPRESSIONVALUE_EXCEPTION) {
- // Need to turn it into a Throwable.
- ThrowableProxy t = null;
- try {
- getREMBeanProxyFactory().getBeanProxy(e.getValue()); // This will cause a throw to occur, but we don't want it going out, we want to capture it.
- } catch (ThrowableProxy e1) {
- t = e1;
- }
- throw new REMNoExpressionValueException(t);
- }
- getREMBeanProxyFactory().processErrorReturn(e);
- } catch (CommandException e1) {
- ProxyPlugin.getPlugin().getLogger().log(e);
- if (!e.isRecoverable()) {
- lclConnection.close();
- throwIllegalStateException(COMMAND_EXCEPTION_MSG);
- }
- }
- } catch (CommandException e) {
- ProxyPlugin.getPlugin().getLogger().log(e);
- if (!e.isRecoverable()) {
- lclConnection.close();
- throwIllegalStateException(COMMAND_EXCEPTION_MSG);
- }
- } finally {
- markEndTransaction(lclConnection);
- if (!processedExpressionProxies)
- markAllProxiesNotResolved(expressionProxies); // We failed before we could process the expression proxies. So mark all as not resolved.
- }
- return null;
- }
-
- /**
- * This is called by commands that write some data and will be reading data back immediately
- * (i.e. pull value and invoke expression). If we are on a callback thread and have the
- * used the connection from the callback thread, we need to tell the callback thread that
- * it is in a transaction. This is needed because while reading data back there are
- * sometimes calls back to the vm to get beantype data for new classes. This would
- * normally be through a new connection so that it doesn't get stuck in the middle of the
- * data being sent back. But when running on a callback the same connection is used. So it
- * would stick data in the middle of the return stream of data. To prevent this we need
- * to tell the callback thread that it is in a transaction during this call so that any
- * such new connection requests will get a new connection.
- * <p>
- * This is not nestable (i.e. the first markEndTransaction will set it false, even if several nested
- * markInTransactions are called).
- * <p>
- * markEndTransaction must be called in ALL cases, such use try/finally.
- * @param remConnection the connection to see check against and mark in transaction for.
- *
- *
- * @since 1.1.0
- */
- protected void markInTransaction(IREMExpressionConnection remConnection) {
- Thread thread = Thread.currentThread();
- if (thread instanceof REMCallbackThread) {
- // We are in a callback, and the callback connection is our connection, tell the callback that it is in transaction.
- REMCallbackThread callbackThread = (REMCallbackThread) thread;
- if (callbackThread.getConnection() == remConnection) {
- callbackThread.setIntransaction(true);
- }
- }
- }
-
- /**
- * Mark end of transaction.
- * @param remConn REMConnection to test and mark not in connection for.
- *
- * @see REMExpression#markInTransaction(IREMExpressionConnection)
- * @since 1.1.0
- */
- protected void markEndTransaction(IREMExpressionConnection remConn) {
- Thread thread = Thread.currentThread();
- if (thread instanceof REMCallbackThread) {
- // We are in a callback, and the callback connection is our connection, tell the callback that it is in transaction.
- REMCallbackThread callbackThread = (REMCallbackThread) thread;
- if (callbackThread.getConnection() == remConn) {
- callbackThread.setIntransaction(false);
- }
- }
- }
-
- /**
- * @param expressionProxies
- *
- * @since 1.1.0
- */
- private Commands.ValueObject createExpressionProxiesValueObject(int actualCount, List expressionProxies) {
- class ExpressionProxyRetriever implements Commands.ValueRetrieve {
- Iterator expressionProxiesItr;
- Commands.ValueObject worker = new Commands.ValueObject();
-
- public ExpressionProxyRetriever(List expressionProxies) {
- this.expressionProxiesItr = expressionProxies.iterator();
- }
-
- public Commands.ValueObject nextValue() {
- worker.set(-1);
- while (expressionProxiesItr.hasNext()) {
- Object parm = expressionProxiesItr.next();
- if (parm != null) {
- worker.set(((ExpressionProxy) parm).getProxyID());
- break;
- }
- }
- return worker;
- }
- };
-
- workerValue.setArrayIDS(new ExpressionProxyRetriever(expressionProxies), actualCount, Commands.INT);
- return workerValue;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushCastToProxy(org.eclipse.jem.internal.proxy.core.IProxyBeanType)
- */
- protected void pushCastToProxy(IProxyBeanType type) {
- processPendingTransactions();
- IREMExpressionConnection connection = getConnection();
- try {
- // Format of push cast to proxy command is:
- // PushExpressionCommand(push cast to proxy) followed by:
- connection.pushExpressionCommand(getREMExpressionID(), (byte)InternalExpressionTypes.CAST_EXPRESSION_VALUE);
- fillProxy(type, workerValue);
- connection.pushValueObject(workerValue);
- } catch (IOException e) {
- connection.close();
- ProxyPlugin.getPlugin().getLogger().log(e);
- markInvalid(e.getLocalizedMessage());
- throwIllegalStateException(IO_EXCEPTION_MSG);
- } catch (CommandException e) {
- ProxyPlugin.getPlugin().getLogger().log(e);
- markInvalid(e.getLocalizedMessage());
- if (!e.isRecoverable()) {
- connection.close();
- throwIllegalStateException(COMMAND_EXCEPTION_MSG);
- }
- }
- }
-
- /**
- * Push the proxy bean type in the format depending on expression proxy or beantype proxy.
- * @param type
- * @throws IOException
- *
- * @since 1.1.0
- */
- protected void fillProxy(IProxy type, Commands.ValueObject value) throws IOException {
- // ValueObject containing the rendered bean type proxy if IBeanTypeProxy or int (for expression proxy id) if expression proxy.
- if (type.isBeanProxy()) {
- ((IREMBeanProxy) type).renderBean(value);
- } else {
- ExpressionProxy ep = (ExpressionProxy) type;
- value.set(ep.getProxyID());
- }
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushInstanceofToProxy(org.eclipse.jem.internal.proxy.core.IProxyBeanType)
- */
- protected void pushInstanceofToProxy(IProxyBeanType type) {
- processPendingTransactions();
- IREMExpressionConnection connection = getConnection();
- try {
- // Format of push instanceof to proxy command is:
- // PushExpressionCommand(push instanceof to proxy) followed by:
- // ValueObject containing the rendered bean type proxy or the String representing the name of class.
- connection.pushExpressionCommand(getREMExpressionID(), (byte)InternalExpressionTypes.INSTANCEOF_EXPRESSION_VALUE);
- fillProxy(type, workerValue);
- connection.pushValueObject(workerValue);
- } catch (IOException e) {
- connection.close();
- ProxyPlugin.getPlugin().getLogger().log(e);
- markInvalid(e.getLocalizedMessage());
- throwIllegalStateException(IO_EXCEPTION_MSG);
- } catch (CommandException e) {
- ProxyPlugin.getPlugin().getLogger().log(e);
- markInvalid(e.getLocalizedMessage());
- if (!e.isRecoverable()) {
- connection.close();
- throwIllegalStateException(COMMAND_EXCEPTION_MSG);
- }
- }
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushInfixToProxy(org.eclipse.jem.internal.proxy.initParser.tree.InfixOperator, int)
- */
- protected void pushInfixToProxy(InfixOperator operator, InternalInfixOperandType operandType) {
- processPendingTransactions();
- IREMExpressionConnection connection = getConnection();
- try {
- // Format of push infix to proxy command is:
- // PushExpressionCommand(push infix to proxy) followed by:
- // byte: operator
- // byte: operandType
- connection.pushExpressionCommand(getREMExpressionID(), (byte)InternalExpressionTypes.INFIX_EXPRESSION_VALUE);
- connection.pushByte((byte) operator.getValue());
- connection.pushByte((byte) operandType.getValue());
- } catch (IOException e) {
- connection.close();
- ProxyPlugin.getPlugin().getLogger().log(e);
- markInvalid(e.getLocalizedMessage());
- throwIllegalStateException(IO_EXCEPTION_MSG);
- }
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushPrefixToProxy(org.eclipse.jem.internal.proxy.initParser.tree.PrefixOperator)
- */
- protected void pushPrefixToProxy(PrefixOperator operator) {
- processPendingTransactions();
- IREMExpressionConnection connection = getConnection();
- try {
- // Format of push prefix to proxy command is:
- // PushExpressionCommand(push prefix to proxy) followed by:
- // byte: operator
- connection.pushExpressionCommand(getREMExpressionID(), (byte)InternalExpressionTypes.PREFIX_EXPRESSION_VALUE);
- connection.pushByte((byte) operator.getValue());
- } catch (IOException e) {
- connection.close();
- ProxyPlugin.getPlugin().getLogger().log(e);
- markInvalid(e.getLocalizedMessage());
- throwIllegalStateException(IO_EXCEPTION_MSG);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushArrayAccessToProxy(int)
- */
- protected void pushArrayAccessToProxy(int indexCount) {
- processPendingTransactions();
- IREMExpressionConnection connection = getConnection();
- try {
- // Format of push array access to proxy command is:
- // PushExpressionCommand(push array acces to proxy) followed by:
- // int: indexCount
- connection.pushExpressionCommand(getREMExpressionID(), (byte)InternalExpressionTypes.ARRAY_ACCESS_EXPRESSION_VALUE);
- connection.pushInt(indexCount);
- } catch (IOException e) {
- connection.close();
- ProxyPlugin.getPlugin().getLogger().log(e);
- markInvalid(e.getLocalizedMessage());
- throwIllegalStateException(IO_EXCEPTION_MSG);
- }
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushArrayCreationToProxy(org.eclipse.jem.internal.proxy.core.IProxyBeanType, int)
- */
- protected void pushArrayCreationToProxy(IProxyBeanType type, int dimensionCount) {
- processPendingTransactions();
- IREMExpressionConnection connection = getConnection();
- try {
- // Format of push array creation to proxy command is:
- // PushExpressionCommand(push array creation to proxy) followed by:
- // ValueObject containing the rendered bean type proxy or the expression proxy.
- // int: dimension count
- connection.pushExpressionCommand(getREMExpressionID(), (byte)InternalExpressionTypes.ARRAY_CREATION_EXPRESSION_VALUE);
- fillProxy(type, workerValue);
- connection.pushValueObject(workerValue);
- connection.pushInt(dimensionCount);
- } catch (IOException e) {
- connection.close();
- ProxyPlugin.getPlugin().getLogger().log(e);
- markInvalid(e.getLocalizedMessage());
- throwIllegalStateException(IO_EXCEPTION_MSG);
- } catch (CommandException e) {
- ProxyPlugin.getPlugin().getLogger().log(e);
- markInvalid(e.getLocalizedMessage());
- if (!e.isRecoverable()) {
- connection.close();
- throwIllegalStateException(COMMAND_EXCEPTION_MSG);
- }
- }
- }
-
- protected void pushArrayInitializerToProxy(IProxyBeanType type, int stripCount, int expressionCount) {
- processPendingTransactions();
- IREMExpressionConnection connection = getConnection();
- try {
- // Format of push array initializer to proxy command is:
- // PushExpressionCommand(push array initializer to proxy) followed by:
- // ValueObject containing the rendered bean type proxy or expression proxy.
- // int: strip count
- // int: expression count
- connection.pushExpressionCommand(getREMExpressionID(), (byte)InternalExpressionTypes.ARRAY_INITIALIZER_EXPRESSION_VALUE);
- fillProxy(type, workerValue);
- connection.pushValueObject(workerValue);
- connection.pushInt(stripCount);
- connection.pushInt(expressionCount);
- } catch (IOException e) {
- connection.close();
- ProxyPlugin.getPlugin().getLogger().log(e);
- markInvalid(e.getLocalizedMessage());
- throwIllegalStateException(IO_EXCEPTION_MSG);
- } catch (CommandException e) {
- ProxyPlugin.getPlugin().getLogger().log(e);
- markInvalid(e.getLocalizedMessage());
- if (!e.isRecoverable()) {
- connection.close();
- throwIllegalStateException(COMMAND_EXCEPTION_MSG);
- }
- }
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushClassInstanceCreationToProxy(org.eclipse.jem.internal.proxy.core.IProxyBeanType, int)
- */
- protected void pushClassInstanceCreationToProxy(IProxyBeanType type, int argumentCount) {
- processPendingTransactions();
- IREMExpressionConnection connection = getConnection();
- try {
- // Format of push class instance creation to proxy command is:
- // PushExpressionCommand(push class instance creation to proxy) followed by:
- // ValueObject containing the rendered bean type proxy or the expression proxy
- // int: argument count
- connection.pushExpressionCommand(getREMExpressionID(), (byte)InternalExpressionTypes.CLASS_INSTANCE_CREATION_EXPRESSION_VALUE);
- fillProxy(type, workerValue);
- connection.pushValueObject(workerValue);
- connection.pushInt(argumentCount);
- } catch (IOException e) {
- connection.close();
- ProxyPlugin.getPlugin().getLogger().log(e);
- markInvalid(e.getLocalizedMessage());
- throwIllegalStateException(IO_EXCEPTION_MSG);
- } catch (CommandException e) {
- ProxyPlugin.getPlugin().getLogger().log(e);
- markInvalid(e.getLocalizedMessage());
- if (!e.isRecoverable()) {
- connection.close();
- throwIllegalStateException(COMMAND_EXCEPTION_MSG);
- }
- }
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushTypeReceiverToProxy(org.eclipse.jem.internal.proxy.core.IProxyBeanType)
- */
- protected void pushTypeReceiverToProxy(IProxyBeanType type) {
- processPendingTransactions();
- IREMExpressionConnection connection = getConnection();
- try {
- // Format of push type receiver to proxy command is:
- // PushExpressionCommand(push type receiver to proxy) followed by:
- // ValueObject containing the rendered bean type proxy or the expression proxy.
- connection.pushExpressionCommand(getREMExpressionID(), (byte)InternalExpressionTypes.TYPERECEIVER_EXPRESSION_VALUE);
- fillProxy(type, workerValue);
- connection.pushValueObject(workerValue);
- } catch (IOException e) {
- connection.close();
- ProxyPlugin.getPlugin().getLogger().log(e);
- markInvalid(e.getLocalizedMessage());
- throwIllegalStateException(IO_EXCEPTION_MSG);
- } catch (CommandException e) {
- ProxyPlugin.getPlugin().getLogger().log(e);
- markInvalid(e.getLocalizedMessage());
- if (!e.isRecoverable()) {
- connection.close();
- throwIllegalStateException(COMMAND_EXCEPTION_MSG);
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushFieldAccessToProxy(java.lang.String, boolean)
- */
- protected void pushFieldAccessToProxy(Object field, boolean hasReceiver) {
- processPendingTransactions();
- IREMExpressionConnection connection = getConnection();
- try {
- // Format of push field access to proxy command is:
- // PushExpressionCommand(push field access to proxy) followed by:
- // Commands.Value: fieldName or IProxyField
- // boolean: hasReceiver
- connection.pushExpressionCommand(getREMExpressionID(), (byte)InternalExpressionTypes.FIELD_ACCESS_EXPRESSION_VALUE);
- if (field instanceof String) {
- workerValue.set((String) field);
- } else {
- fillProxy((IProxy) field, workerValue);
- }
- connection.pushValueObject(workerValue);
- connection.pushBoolean(hasReceiver);
- } catch (IOException e) {
- connection.close();
- ProxyPlugin.getPlugin().getLogger().log(e);
- markInvalid(e.getLocalizedMessage());
- throwIllegalStateException(IO_EXCEPTION_MSG);
- } catch (CommandException e) {
- ProxyPlugin.getPlugin().getLogger().log(e);
- markInvalid(e.getLocalizedMessage());
- if (!e.isRecoverable()) {
- connection.close();
- throwIllegalStateException(COMMAND_EXCEPTION_MSG);
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushMethodInvocationToProxy(java.lang.String, boolean, int)
- */
- protected void pushMethodInvocationToProxy(Object method, boolean hasReceiver, int argCount) {
- processPendingTransactions();
- IREMExpressionConnection connection = getConnection();
- try {
- // Format of push method invocation to proxy command is:
- // PushExpressionCommand(push method invocation to proxy) followed by:
- // Commands.ValueObject: methodName or IMethodProxy
- // boolean: hasReceiver
- // int: argCount
- connection.pushExpressionCommand(getREMExpressionID(), (byte)InternalExpressionTypes.METHOD_EXPRESSION_VALUE);
- if (method instanceof String) {
- workerValue.set((String) method);
- } else {
- fillProxy((IProxy) method, workerValue);
- }
- connection.pushValueObject(workerValue);
- connection.pushBoolean(hasReceiver);
- connection.pushInt(argCount);
- } catch (IOException e) {
- connection.close();
- ProxyPlugin.getPlugin().getLogger().log(e);
- markInvalid(e.getLocalizedMessage());
- throwIllegalStateException(IO_EXCEPTION_MSG);
- } catch (CommandException e) {
- ProxyPlugin.getPlugin().getLogger().log(e);
- markInvalid(e.getLocalizedMessage());
- if (!e.isRecoverable()) {
- connection.close();
- throwIllegalStateException(COMMAND_EXCEPTION_MSG);
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushConditionalToProxy(int)
- */
- protected void pushConditionalToProxy(InternalConditionalOperandType expressionType) {
- processPendingTransactions();
- IREMExpressionConnection connection = getConnection();
- try {
- // Format of push conditional to proxy command is:
- // PushExpressionCommand(push conditional to proxy) followed by:
- // byte: expression type
- connection.pushExpressionCommand(getREMExpressionID(), (byte)InternalExpressionTypes.CONDITIONAL_EXPRESSION_VALUE);
- connection.pushByte((byte) expressionType.getValue());
- } catch (IOException e) {
- connection.close();
- ProxyPlugin.getPlugin().getLogger().log(e);
- markInvalid(e.getLocalizedMessage());
- throwIllegalStateException(IO_EXCEPTION_MSG);
- }
- }
-
- /*
- * A special one that takes the ThrowableProxy for no expression value and
- * wrappers it prints its stack trace instead, but still makes it a subclass
- * of NoExpressionValueException.
- *
- * @since 1.1.0
- */
- private static class REMNoExpressionValueException extends NoExpressionValueException {
- /**
- * Comment for <code>serialVersionUID</code>
- *
- * @since 1.1.0
- */
- private static final long serialVersionUID = 1692406777391812694L;
-
-
- public REMNoExpressionValueException(ThrowableProxy e) {
- super(e);
- }
-
-
- /* (non-Javadoc)
- * @see java.lang.Throwable#getLocalizedMessage()
- */
- public String getLocalizedMessage() {
- return ((ThrowableProxy) getCause()).getProxyLocalizedMessage();
- }
-
-
- /* (non-Javadoc)
- * @see java.lang.Throwable#getMessage()
- */
- public String getMessage() {
- return ((ThrowableProxy) getCause()).getProxyMessage();
- }
-
-
- /* (non-Javadoc)
- * @see java.lang.Throwable#printStackTrace()
- */
- public void printStackTrace() {
- getCause().printStackTrace();
- }
-
-
- /* (non-Javadoc)
- * @see java.lang.Throwable#printStackTrace(java.io.PrintStream)
- */
- public void printStackTrace(PrintStream s) {
- getCause().printStackTrace(s);
- }
-
-
- /* (non-Javadoc)
- * @see java.lang.Throwable#printStackTrace(java.io.PrintWriter)
- */
- public void printStackTrace(PrintWriter s) {
- getCause().printStackTrace(s);
- }
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushInvoke(int, java.util.List)
- */
- protected void pushInvoke(int proxycount, List expressionProxies) throws ThrowableProxy, NoExpressionValueException {
- if (!haveSentData()) {
- markAllProxiesNotResolved(expressionProxies);
- return; // We haven't pushed any commands, so there is nothing to do. Don't create a connection for this.
- }
- // If at this point there are pending transactions, there is no need to send them because they would all be do-nothings.
-
- boolean processedExpressionProxies = false;
- IREMExpressionConnection lclConnection = getConnection();
- markInTransaction(lclConnection);
- try {
- Commands.ValueObject proxyids = null;
- BeanProxyValueSender sender = null;
- if (proxycount > 0) {
- proxyids = createExpressionProxiesValueObject(proxycount, expressionProxies);
- sender = getExpressionProxiesSender();
- }
-
- lclConnection.sync(getREMExpressionID(), proxyids, sender);
-
- // If we got this far, then if there are proxies, we need to process these too.
- if (proxycount > 0)
- processpulledExpressionProxies(expressionProxies, sender);
- processedExpressionProxies = true;
- lclConnection.getFinalValue(workerValue); // We don't care what it is, we just need to see if there is an error.
- } catch (CommandErrorException e) {
- try {
- if (e.getErrorCode() == ExpressionCommands.EXPRESSION_NOEXPRESSIONVALUE_EXCEPTION) {
- // Need to turn it into a Throwable.
- ThrowableProxy t = null;
- try {
- getREMBeanProxyFactory().getBeanProxy(e.getValue()); // This will cause a throw to occur, but we don't want it going out, we want to capture it.
- } catch (ThrowableProxy e1) {
- t = e1;
- }
- throw new REMNoExpressionValueException(t);
- }
- getREMBeanProxyFactory().processErrorReturn(e);
- } catch (CommandException e1) {
- ProxyPlugin.getPlugin().getLogger().log(e);
- if (!e.isRecoverable()) {
- lclConnection.close();
- throwIllegalStateException(COMMAND_EXCEPTION_MSG);
- }
- }
- } catch (CommandException e) {
- ProxyPlugin.getPlugin().getLogger().log(e);
- if (!e.isRecoverable()) {
- lclConnection.close();
- throwIllegalStateException(COMMAND_EXCEPTION_MSG);
- }
- } finally {
- markEndTransaction(lclConnection);
- if (!processedExpressionProxies)
- markAllProxiesNotResolved(expressionProxies); // We failed before we could process the expression proxies. So mark all as not resolved.
- }
- }
-
- private static class REMBeanTypeExpressionProxy extends ExpressionProxy implements IBeanTypeExpressionProxy {
-
- private String typeName;
-
- /**
- * @param proxyid
- *
- * @since 1.1.0
- */
- private REMBeanTypeExpressionProxy(int proxyid, Expression expression) {
- super(proxyid, BEANTYPE_EXPRESSION_PROXY, expression);
- }
-
- public void setTypeName(String typeName) {
- this.typeName = typeName;
- }
-
- public String getTypeName() {
- return typeName;
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.ExpressionProxy#toString()
- */
- public String toString() {
- return super.toString()+" - "+getTypeName(); //$NON-NLS-1$
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IProxyBeanType#getMethodProxy(org.eclipse.jem.internal.proxy.core.IExpression, java.lang.String, org.eclipse.jem.internal.proxy.core.IProxyBeanType[])
- */
- public IProxyMethod getMethodProxy(IExpression expression, String methodName, IProxyBeanType[] parameterTypes) {
- REMProxyFactoryRegistry registry = (REMProxyFactoryRegistry) expression.getRegistry();
- return ((REMMethodProxyFactory) registry.getMethodProxyFactory()).getMethodProxy(expression, this, methodName, parameterTypes);
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IProxyBeanType#getMethodProxy(org.eclipse.jem.internal.proxy.core.IExpression, java.lang.String, java.lang.String[])
- */
- public IProxyMethod getMethodProxy(IExpression expression, String methodName, String[] parameterTypes) {
- REMProxyFactoryRegistry registry = (REMProxyFactoryRegistry) expression.getRegistry();
- return ((REMMethodProxyFactory) registry.getMethodProxyFactory()).getMethodProxy(expression, this, methodName, parameterTypes);
- }
-
- public IProxyMethod getMethodProxy(IExpression expression, String methodName) {
- return getMethodProxy(expression, methodName, (IProxyBeanType[]) null);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IProxyBeanType#getFieldProxy(org.eclipse.jem.internal.proxy.core.IExpression, java.lang.String)
- */
- public IProxyField getFieldProxy(IExpression expression, String fieldName) {
- REMProxyFactoryRegistry registry = (REMProxyFactoryRegistry) expression.getRegistry();
- return ((REMMethodProxyFactory) registry.getMethodProxyFactory()).getFieldProxy(expression, this, fieldName);
- }
- }
-
- private static class REMMethodExpressionProxy extends ExpressionProxy implements IProxyMethod {
-
- /**
- * @param proxyid
- * @param proxyType
- * @param expression
- *
- * @since 1.1.0
- */
- private REMMethodExpressionProxy(int proxyid, Expression expression) {
- super(proxyid, METHOD_EXPRESSION_PROXY, expression);
- }
- }
-
- private static class REMFieldExpressionProxy extends ExpressionProxy implements IProxyField {
-
- /**
- * @param proxyid
- * @param proxyType
- * @param expression
- *
- * @since 1.1.0
- */
- private REMFieldExpressionProxy(int proxyid, Expression expression) {
- super(proxyid, FIELD_EXPRESSION_PROXY, expression);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#createExpressionProxy(int)
- */
- protected ExpressionProxy createExpressionProxy(int proxyType, int proxyID) {
- switch (proxyType) {
- case NORMAL_EXPRESSION_PROXY:
- default:
- return new ExpressionProxy(proxyID, NORMAL_EXPRESSION_PROXY, this);
-
- case BEANTYPE_EXPRESSION_PROXY:
- return new REMBeanTypeExpressionProxy(proxyID, this);
-
- case METHOD_EXPRESSION_PROXY:
- return new REMMethodExpressionProxy(proxyID, this);
-
- case FIELD_EXPRESSION_PROXY:
- return new REMFieldExpressionProxy(proxyID, this);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushAssignmentToProxy(org.eclipse.jem.internal.proxy.core.ExpressionProxy)
- */
- protected void pushAssignmentToProxy(ExpressionProxy proxy) {
- processPendingTransactions();
- IREMExpressionConnection connection = getConnection();
- try {
- // Format of push assignment to proxy command is:
- // PushExpressionCommand(push assignment to proxy) followed by:
- // int: proxy id
- connection.pushExpressionCommand(getREMExpressionID(), (byte)InternalExpressionTypes.ASSIGNMENT_PROXY_EXPRESSION_VALUE);
- connection.pushInt(proxy.getProxyID());
- } catch (IOException e) {
- connection.close();
- ProxyPlugin.getPlugin().getLogger().log(e);
- markInvalid(e.getLocalizedMessage());
- throwIllegalStateException(IO_EXCEPTION_MSG);
- }
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushAssignmentToProxy()
- */
- protected void pushAssignmentToProxy() {
- processPendingTransactions();
- IREMExpressionConnection connection = getConnection();
- try {
- // Format of the push assignment command is:
- // PushAssignmentCommand.
- connection.pushExpressionCommand(getREMExpressionID(), (byte) InternalExpressionTypes.ASSIGNMENT_EXPRESSION_VALUE);
- } catch (IOException e) {
- connection.close();
- ProxyPlugin.getPlugin().getLogger().log(e);
- markInvalid(e.getLocalizedMessage());
- throwIllegalStateException(IO_EXCEPTION_MSG);
- }
- }
-
-
- private void pushToExpressionProxy(ExpressionProxy proxy) {
- processPendingTransactions();
- IREMExpressionConnection connection = getConnection();
- try {
- // Format of push to expression proxy command is:
- // PushExpressionCommand(push expression proxy to proxy) followed by:
- // int: proxy id
- connection.pushExpressionCommand(getREMExpressionID(), (byte)InternalExpressionTypes.PUSH_TO_EXPRESSION_PROXY_EXPRESSION_VALUE);
- connection.pushInt(proxy.getProxyID());
- } catch (IOException e) {
- connection.close();
- ProxyPlugin.getPlugin().getLogger().log(e);
- markInvalid(e.getLocalizedMessage());
- throwIllegalStateException(IO_EXCEPTION_MSG);
- }
-
- }
-
- private static class BlockBegin extends PendingTransaction {
- public int blockNumber;
-
- public BlockBegin(int blockNumber) {
- this.blockNumber = blockNumber;
- }
-
- public void pushTransaction(REMExpression remExpression) {
- IREMExpressionConnection connection = remExpression.getConnection();
- try {
- // Format of push to block begin proxy command is:
- // PushExpressionCommand(push block begin proxy to proxy) followed by:
- // int: block id
- connection.pushExpressionCommand(remExpression.getREMExpressionID(), (byte)InternalExpressionTypes.BLOCK_BEGIN_EXPRESSION_VALUE);
- connection.pushInt(blockNumber);
- } catch (IOException e) {
- connection.close();
- ProxyPlugin.getPlugin().getLogger().log(e);
- remExpression.markInvalid(e.getLocalizedMessage());
- remExpression.throwIllegalStateException(IO_EXCEPTION_MSG);
- }
- }
-
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushBlockBeginToProxy(int)
- */
- protected void pushBlockBeginToProxy(int blockNumber) {
- addPendingTransaction(new BlockBegin(blockNumber));
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushBlockEndToProxy(int)
- */
- protected void pushBlockEndToProxy(int blockNumber) {
- // See if the top pending transactions is BreakBlock(blockNumber). If it is then the BreakBlock can be thrown away.
- PendingTransaction topEntry = getPendingEntryFromTop(1);
- if (topEntry instanceof BlockBreak && ((BlockBreak) topEntry).blockNumber == blockNumber) {
- popPendingEntry(1);
- topEntry = getPendingEntryFromTop(1);
- }
- // See if the top pending transaction is now BeginBlock(blockNumber). If it is, then this transaction and the block begin
- // can be thrown away because they are an empty block.
- if (topEntry instanceof BlockBegin && ((BlockBegin) topEntry).blockNumber == blockNumber) {
- popPendingEntry(1);
- return;
- }
- processPendingTransactions();
- IREMExpressionConnection connection = getConnection();
- try {
- // Format of push to block end proxy command is:
- // PushExpressionCommand(push block end proxy to proxy) followed by:
- // int: block id
- connection.pushExpressionCommand(getREMExpressionID(), (byte)InternalExpressionTypes.BLOCK_END_EXPRESSION_VALUE);
- connection.pushInt(blockNumber);
- } catch (IOException e) {
- connection.close();
- ProxyPlugin.getPlugin().getLogger().log(e);
- markInvalid(e.getLocalizedMessage());
- throwIllegalStateException(IO_EXCEPTION_MSG);
- }
- }
-
- private static class BlockBreak extends PendingTransaction {
- public int blockNumber;
-
- public BlockBreak(int blockNumber) {
- this.blockNumber = blockNumber;
- }
-
- public void pushTransaction(REMExpression remExpression) {
- IREMExpressionConnection connection = remExpression.getConnection();
- try {
- // Format of push to block break proxy command is:
- // PushExpressionCommand(push block break proxy to proxy) followed by:
- // int: block id
- connection.pushExpressionCommand(remExpression.getREMExpressionID(), (byte)InternalExpressionTypes.BLOCK_BREAK_EXPRESSION_VALUE);
- connection.pushInt(blockNumber);
- } catch (IOException e) {
- connection.close();
- ProxyPlugin.getPlugin().getLogger().log(e);
- remExpression.markInvalid(e.getLocalizedMessage());
- remExpression.throwIllegalStateException(IO_EXCEPTION_MSG);
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushBlockBreakToProxy(int)
- */
- protected void pushBlockBreakToProxy(int blockNumber) {
- // Even if there is no pending block begin for this block, we will pend the break.
- // This is so that if the break occurred just before the block end, then it can be ignored.
- addPendingTransaction(new BlockBreak(blockNumber));
- }
-
- private static class TryBegin extends PendingTransaction {
-
- public final int tryNumber;
-
- public TryBegin(int tryNumber) {
- this.tryNumber = tryNumber;
-
- }
- public void pushTransaction(REMExpression remExpression) {
- IREMExpressionConnection connection = remExpression.getConnection();
- try {
- // Format of push to try begin proxy command is:
- // PushExpressionCommand(push try begin to proxy) followed by:
- // int: try id
- connection.pushExpressionCommand(remExpression.getREMExpressionID(), (byte)InternalExpressionTypes.TRY_BEGIN_EXPRESSION_VALUE);
- connection.pushInt(tryNumber);
- } catch (IOException e) {
- connection.close();
- ProxyPlugin.getPlugin().getLogger().log(e);
- remExpression.markInvalid(e.getLocalizedMessage());
- remExpression.throwIllegalStateException(IO_EXCEPTION_MSG);
- }
- }
-
- }
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushTryBeginToProxy(int)
- */
- protected void pushTryBeginToProxy(int tryNumber) {
- addPendingTransaction(new TryBegin(tryNumber));
- }
-
- private static class TryCatch extends PendingTransaction {
-
- public final int tryNumber;
- private final IProxyBeanType exceptionType;
- private final ExpressionProxy ep;
-
- public TryCatch(int tryNumber, IProxyBeanType exceptionType, ExpressionProxy ep) {
- this.tryNumber = tryNumber;
- this.exceptionType = exceptionType;
- this.ep = ep;
- }
-
- public void pushTransaction(REMExpression remExpression) {
- IREMExpressionConnection connection = remExpression.getConnection();
- try {
- // Format of push to try begin proxy command is:
- // PushExpressionCommand(push try begin to proxy) followed by:
- // int: try id
- // object: expression type (as beantype or as expression proxy)
- // int: proxy id or (-1 if null).
- connection.pushExpressionCommand(remExpression.getREMExpressionID(), (byte)InternalExpressionTypes.TRY_CATCH_EXPRESSION_VALUE);
- connection.pushInt(tryNumber);
- remExpression.fillProxy(exceptionType, remExpression.workerValue);
- connection.pushValueObject(remExpression.workerValue);
- if (ep != null)
- connection.pushInt(ep.getProxyID());
- else
- connection.pushInt(-1);
- } catch (IOException e) {
- connection.close();
- ProxyPlugin.getPlugin().getLogger().log(e);
- remExpression.markInvalid(e.getLocalizedMessage());
- remExpression.throwIllegalStateException(IO_EXCEPTION_MSG);
- } catch (CommandException e) {
- ProxyPlugin.getPlugin().getLogger().log(e);
- remExpression.markInvalid(e.getLocalizedMessage());
- if (!e.isRecoverable()) {
- connection.close();
- remExpression.throwIllegalStateException(COMMAND_EXCEPTION_MSG);
- }
- }
- }
-
- }
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushTryCatchClauseToProxy(int, org.eclipse.jem.internal.proxy.core.IProxyBeanType, org.eclipse.jem.internal.proxy.core.ExpressionProxy)
- */
- protected void pushTryCatchClauseToProxy(int tryNumber, IProxyBeanType exceptionType, ExpressionProxy ep) {
- addPendingTransaction(new TryCatch(tryNumber, exceptionType, ep));
- }
-
- private static class TryFinally extends PendingTransaction {
-
- public final int tryNumber;
-
- public TryFinally(int tryNumber) {
- this.tryNumber = tryNumber;
-
- }
-
- public void pushTransaction(REMExpression remExpression) {
- IREMExpressionConnection connection = remExpression.getConnection();
- try {
- // Format of push to try begin proxy command is:
- // PushExpressionCommand(push try finally to proxy) followed by:
- // int: try id
- connection.pushExpressionCommand(remExpression.getREMExpressionID(), (byte)InternalExpressionTypes.TRY_FINALLY_EXPRESSION_VALUE);
- connection.pushInt(tryNumber);
- } catch (IOException e) {
- connection.close();
- ProxyPlugin.getPlugin().getLogger().log(e);
- remExpression.markInvalid(e.getLocalizedMessage());
- remExpression.throwIllegalStateException(IO_EXCEPTION_MSG);
- }
- }
-
- }
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushTryFinallyClauseToProxy(int)
- */
- protected void pushTryFinallyClauseToProxy(int tryNumber) {
- addPendingTransaction(new TryFinally(tryNumber));
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushTryEndToProxy(int)
- */
- protected void pushTryEndToProxy(int tryNumber) {
- // This is a little tricky. We need to find if there is nothing but try/catch/finally for this tryNumber on the pending
- // transactions up to the try begin, if there is nothing else, then we can throw the entire try away. That
- // means there was no code at all in any of the try/catch/finally blocks.
- int fromTop = 0;
- while (true) {
- PendingTransaction topEntry = getPendingEntryFromTop(++fromTop);
- if (topEntry instanceof TryFinally) {
- if (((TryFinally) topEntry).tryNumber != tryNumber)
- break; // We met a finally that wasn't ours, so entire try group must be sent.
- } else if (topEntry instanceof TryCatch) {
- if (((TryCatch) topEntry).tryNumber != tryNumber)
- break; // We met a catch that wasn't ours, so entire try group must be sent.
- } else if (topEntry instanceof TryBegin) {
- if (((TryBegin) topEntry).tryNumber == tryNumber) {
- // We've met our try begin, and nothing but empty catch/finally in between, so the entire group can be thrown away
- popPendingEntry(fromTop);
- return;
- } else
- break; // We've hit a try begin that wasn't ours, so the entire try group must be sent.
- } else
- break; // We've hit something other than our try group, so process everything.
- }
- processPendingTransactions();
- IREMExpressionConnection connection = getConnection();
- try {
- // Format of push to try begin proxy command is:
- // PushExpressionCommand(push try end to proxy) followed by:
- // int: try id
- connection.pushExpressionCommand(getREMExpressionID(), (byte)InternalExpressionTypes.TRY_END_EXPRESSION_VALUE);
- connection.pushInt(tryNumber);
- } catch (IOException e) {
- connection.close();
- ProxyPlugin.getPlugin().getLogger().log(e);
- markInvalid(e.getLocalizedMessage());
- throwIllegalStateException(IO_EXCEPTION_MSG);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushThrowToProxy()
- */
- protected void pushThrowToProxy() {
- processPendingTransactions();
- IREMExpressionConnection connection = getConnection();
- try {
- // Format of push to try begin proxy command is:
- // PushExpressionCommand(push throw to proxy)
- connection.pushExpressionCommand(getREMExpressionID(), (byte)InternalExpressionTypes.THROW_EXPRESSION_VALUE);
- } catch (IOException e) {
- connection.close();
- ProxyPlugin.getPlugin().getLogger().log(e);
- markInvalid(e.getLocalizedMessage());
- throwIllegalStateException(IO_EXCEPTION_MSG);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushRethrowToProxy(int)
- */
- protected void pushRethrowToProxy(int tryNumber) {
- processPendingTransactions();
- IREMExpressionConnection connection = getConnection();
- try {
- // Format of push to rethow proxy command is:
- // PushExpressionCommand(push rethrow to proxy)
- // int: try id
- connection.pushExpressionCommand(getREMExpressionID(), (byte)InternalExpressionTypes.RETHROW_EXPRESSION_VALUE);
- connection.pushInt(tryNumber);
- } catch (IOException e) {
- connection.close();
- ProxyPlugin.getPlugin().getLogger().log(e);
- markInvalid(e.getLocalizedMessage());
- throwIllegalStateException(IO_EXCEPTION_MSG);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushBeanTypeToProxy(org.eclipse.jem.internal.proxy.core.IBeanTypeExpressionProxy)
- */
- protected void pushBeanTypeToProxy(IBeanTypeExpressionProxy proxy) {
- // Push beantype to proxy is sent out of sequence without respect to where in expression we are,
- // so no need to handle pending transactions at this point. They would not affect the result
- // of this call.
- IREMExpressionConnection connection = getConnection();
- try {
- // Format of push to beanType proxy command is:
- // PushExpressionCommand(push bean type expression proxy)
- // int: proxy id
- // string: typename
- connection.pushExpressionCommand(getREMExpressionID(), (byte)InternalExpressionTypes.PUSH_BEANTYPE_EXPRESSIONPROXY_EXPRESSION_VALUE);
- REMBeanTypeExpressionProxy ep = (REMBeanTypeExpressionProxy) proxy;
- connection.pushInt(ep.getProxyID());
- connection.pushString(ep.getTypeName());
- } catch (IOException e) {
- connection.close();
- ProxyPlugin.getPlugin().getLogger().log(e);
- markInvalid(e.getLocalizedMessage());
- throwIllegalStateException(IO_EXCEPTION_MSG);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushMethodToProxy(org.eclipse.jem.internal.proxy.core.ExpressionProxy, org.eclipse.jem.internal.proxy.core.IProxyBeanType, java.lang.String, org.eclipse.jem.internal.proxy.core.IProxyBeanType[])
- */
- protected void pushMethodToProxy(ExpressionProxy proxy, IProxyBeanType declaringType, String methodName, IProxyBeanType[] parameterTypes) {
- // Push method to proxy is sent out of sequence without respect to where in expression we are,
- // so no need to handle pending transactions at this point. They would not affect the result
- // of this call.
-
- IREMExpressionConnection connection = getConnection();
- try {
- // Format of push to method proxy command is:
- // PushExpressionCommand(push method type expression proxy)
- // int: proxy id
- // ValueObject: containing the rendered bean type proxy or the expression proxy for the declaring type
- // string: method name
- // int: number of parameter types
- // ValueObject(s): containing the rendered bean type proxy or the expression proxy for the parameter types.
- connection.pushExpressionCommand(getREMExpressionID(), (byte)InternalExpressionTypes.PUSH_METHOD_EXPRESSIONPROXY_EXPRESSION_VALUE);
- connection.pushInt(proxy.getProxyID());
- fillProxy(declaringType, workerValue);
- connection.pushValueObject(workerValue);
- connection.pushString(methodName);
- if (parameterTypes == null || parameterTypes.length == 0)
- connection.pushInt(0);
- else {
- connection.pushInt(parameterTypes.length);
- for (int i = 0; i < parameterTypes.length; i++) {
- fillProxy(parameterTypes[i], workerValue);
- connection.pushValueObject(workerValue);
- }
- }
- } catch (IOException e) {
- connection.close();
- ProxyPlugin.getPlugin().getLogger().log(e);
- markInvalid(e.getLocalizedMessage());
- throwIllegalStateException(IO_EXCEPTION_MSG);
- } catch (CommandException e) {
- ProxyPlugin.getPlugin().getLogger().log(e);
- markInvalid(e.getLocalizedMessage());
- if (!e.isRecoverable()) {
- connection.close();
- throwIllegalStateException(COMMAND_EXCEPTION_MSG);
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushFieldToProxy(org.eclipse.jem.internal.proxy.core.ExpressionProxy, org.eclipse.jem.internal.proxy.core.IProxyBeanType, java.lang.String)
- */
- protected void pushFieldToProxy(ExpressionProxy proxy, IProxyBeanType declaringType, String fieldName) {
- // Push field to proxy is sent out of sequence without respect to where in expression we are,
- // so no need to handle pending transactions at this point. They would not affect the result
- // of this call.
-
- IREMExpressionConnection connection = getConnection();
- try {
- // Format of push to field proxy command is:
- // PushExpressionCommand(push field type expression proxy)
- // int: proxy id
- // ValueObject: containing the rendered bean type proxy or the expression proxy for the declaring type
- // string: field name
- connection.pushExpressionCommand(getREMExpressionID(), (byte)InternalExpressionTypes.PUSH_FIELD_EXPRESSIONPROXY_EXPRESSION_VALUE);
- connection.pushInt(proxy.getProxyID());
- fillProxy(declaringType, workerValue);
- connection.pushValueObject(workerValue);
- connection.pushString(fieldName);
- } catch (IOException e) {
- connection.close();
- ProxyPlugin.getPlugin().getLogger().log(e);
- markInvalid(e.getLocalizedMessage());
- throwIllegalStateException(IO_EXCEPTION_MSG);
- } catch (CommandException e) {
- ProxyPlugin.getPlugin().getLogger().log(e);
- markInvalid(e.getLocalizedMessage());
- if (!e.isRecoverable()) {
- connection.close();
- throwIllegalStateException(COMMAND_EXCEPTION_MSG);
- }
- }
- }
-
- /**
- * Get the map of IProxyMethods for a beantype. Meant to be used only in conjunction with REMProxyConstants.
- * It is here so the REMProxyConstants can store pending proxies per expression.
- *
- * @param beanType
- * @return
- *
- * @since 1.1.0
- */
- public Map getMethods(IProxyBeanType beanType) {
- if (methodsCache == null)
- methodsCache = new HashMap();
- Map methods = (Map) methodsCache.get(beanType.getTypeName());
- if(methods == null){
- methods = new HashMap(20);
- methodsCache.put(beanType.getTypeName(),methods);
- }
- return methods;
- }
-
- /**
- * Get the map of IProxyFields for a beantype. Meant to be used only in conjunction with REMProxyConstants.
- * It is here so the REMProxyConstants can store pending proxies per expression.
- *
- * @param beanType
- * @return
- *
- * @since 1.1.0
- */
- public Map getFields(IProxyBeanType beanType) {
- if (fieldsCache == null)
- fieldsCache = new HashMap();
- Map fields = (Map) fieldsCache.get(beanType.getTypeName());
- if(fields == null){
- fields = new HashMap(20);
- fieldsCache.put(beanType.getTypeName(),fields);
- }
- return fields;
- }
-
- /**
- * Get the map of IProxyBeanTypes for a beantype name. Meant to be used only in conjunction with REMSgtandardBeanTypeFactory.
- * It is here so the REMStandardBeanTypeFactory can store pending proxies per expression.
- *
- * @param beanType
- * @return
- *
- * @since 1.1.0
- */
- public IProxyBeanType getBeanType(String beanTypeName) {
- if (beanTypeCache == null)
- beanTypeCache = new HashMap();
- return (IProxyBeanType) beanTypeCache.get(beanTypeName);
- }
-
- /**
- * Add the beantype expression proxy to the map of bean type expression proxies. Used in conjunction with REMStandardBeanTypeFactory.
- * It is here so the REMStandardBeanTypeFactory can store pending proxies per expression.
- * @param beanTypeName
- * @param beantype
- *
- * @since 1.1.0
- */
- public void addBeanType(String beanTypeName, IProxyBeanType beantype) {
- beanTypeCache.put(beanTypeName, beantype);
- }
-
- /**
- * Remove the beantype expression proxy from the map. This is called because there was a rollback due to an endmark.
- * @param beanTypeName
- *
- * @since 1.1.0
- */
- public void removeBeanType(String beanTypeName) {
- beanTypeCache.remove(beanTypeName);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushIfTestToProxy()
- */
- protected void pushIfTestToProxy() {
- processPendingTransactions();
- IREMExpressionConnection connection = getConnection();
- try {
- // Format of push if test to proxy command is:
- // PushExpressionCommand(push if test to proxy)
- connection.pushExpressionCommand(getREMExpressionID(), (byte)InternalExpressionTypes.IF_TEST_EXPRESSION_VALUE);
- } catch (IOException e) {
- connection.close();
- ProxyPlugin.getPlugin().getLogger().log(e);
- markInvalid(e.getLocalizedMessage());
- throwIllegalStateException(IO_EXCEPTION_MSG);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushIfElseToProxy(org.eclipse.jem.internal.proxy.initParser.tree.InternalIfElseOperandType)
- */
- protected void pushIfElseToProxy(InternalIfElseOperandType clauseType) {
- processPendingTransactions();
- IREMExpressionConnection connection = getConnection();
- try {
- // Format of push conditional to proxy command is:
- // PushExpressionCommand(push if/else clause to proxy) followed by:
- // byte: clause type
- connection.pushExpressionCommand(getREMExpressionID(), (byte)InternalExpressionTypes.IF_ELSE_EXPRESSION_VALUE);
- connection.pushByte((byte) clauseType.getValue());
- } catch (IOException e) {
- connection.close();
- ProxyPlugin.getPlugin().getLogger().log(e);
- markInvalid(e.getLocalizedMessage());
- throwIllegalStateException(IO_EXCEPTION_MSG);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushNewInstanceToProxy(java.lang.String, org.eclipse.jem.internal.proxy.core.IProxyBeanType)
- */
- protected void pushNewInstanceToProxy(String initializationString, IProxyBeanType resultType) {
- processPendingTransactions();
- IREMExpressionConnection connection = getConnection();
- try {
- // Format of push new instance from initstring to proxy command is:
- // PushExpressionCommand(push new instance to proxy) followed by:
- // string: init string
- // ValueObject: containing the rendered bean type proxy or the expression proxy for the declaring type
- connection.pushExpressionCommand(getREMExpressionID(), (byte)InternalExpressionTypes.NEW_INSTANCE_VALUE);
- connection.pushString(initializationString);
- fillProxy(resultType, workerValue);
- connection.pushValueObject(workerValue);
- } catch (IOException e) {
- connection.close();
- ProxyPlugin.getPlugin().getLogger().log(e);
- markInvalid(e.getLocalizedMessage());
- throwIllegalStateException(IO_EXCEPTION_MSG);
- } catch (CommandException e) {
- ProxyPlugin.getPlugin().getLogger().log(e);
- markInvalid(e.getLocalizedMessage());
- if (!e.isRecoverable()) {
- connection.close();
- throwIllegalStateException(COMMAND_EXCEPTION_MSG);
- }
- }
- }
-
- private static class Mark extends PendingTransaction {
- public int markID;
-
- public Mark(int markID) {
- this.markID = markID;
- }
-
- public void pushTransaction(REMExpression remExpression) {
- IREMExpressionConnection connection = remExpression.getConnection();
- try {
- // Format of push mark to proxy command is:
- // PushExpressionCommand(push mark to proxy) followed by:
- // int: markID
- connection.pushExpressionCommand(remExpression.getREMExpressionID(), (byte)InternalExpressionTypes.MARK_VALUE);
- connection.pushInt(markID);
- } catch (IOException e) {
- connection.close();
- ProxyPlugin.getPlugin().getLogger().log(e);
- remExpression.markInvalid(e.getLocalizedMessage());
- remExpression.throwIllegalStateException(IO_EXCEPTION_MSG);
- }
- }
-
- }
-
- protected void pushMarkToProxy(int markID) {
- addPendingTransaction(new Mark(markID));
- }
-
- protected void pushEndmarkToProxy(int markID, boolean restore) {
- // See if the top pending transaction is now Mark(markID). If it is, then this transaction and the mark begin
- // can be thrown away because they are an empty block.
- PendingTransaction topEntry = getPendingEntryFromTop(1);
- if (topEntry instanceof Mark && ((Mark) topEntry).markID == markID) {
- popPendingEntry(1);
- return;
- }
- processPendingTransactions();
- IREMExpressionConnection connection = getConnection();
- try {
- // Format of push end mark to proxy command is:
- // PushExpressionCommand(push end mark to proxy) followed by:
- // int: markID
- // boolean: restore
- connection.pushExpressionCommand(getREMExpressionID(), (byte)InternalExpressionTypes.ENDMARK_VALUE);
- connection.pushInt(markID);
- connection.pushBoolean(restore);
- } catch (IOException e) {
- connection.close();
- ProxyPlugin.getPlugin().getLogger().log(e);
- markInvalid(e.getLocalizedMessage());
- throwIllegalStateException(IO_EXCEPTION_MSG);
- }
- }
-
- // This is the expression processor controller used to transfer.
- // This is the guy that maintains continuity of the transaction as
- // it is passed from one connection to another.
- protected IBeanProxy expressionProcesserController;
- protected void pushBeginTransferThreadToProxy() throws ThrowableProxy {
- // If the controller is not null, that means we had already requested a transfer
- // but had not used it in this thread so there is no need to do anything. It
- // will be handled when switching back to the other thread.
- // If the connection is null, no need to do anything since there is no connection
- // to transfer.
- if (connection != null && expressionProcesserController == null) {
- IREMExpressionConnection lclConnection = getConnection();
- markInTransaction(lclConnection);
- try {
- workerValue.set();
- lclConnection.transferExpression(getREMExpressionID(), workerValue);
- expressionProcesserController = getREMBeanProxyFactory().getBeanProxy(workerValue);
- getREMRegistry().returnConnection(lclConnection);
- this.connection = null;
- } catch (CommandException e) {
- ProxyPlugin.getPlugin().getLogger().log(e);
- if (!e.isRecoverable()) {
- lclConnection.close();
- throwIllegalStateException(COMMAND_EXCEPTION_MSG);
- }
- } finally {
- markEndTransaction(lclConnection);
- }
- }
- }
-
- protected void pushTransferThreadToProxy() {
- // Don't need to do anything. The next time we need to push data across, we will get a connection and the getConnection()
- // will hook up the expression processor controller for us. This way if nothing happens in this thread then we won't
- // waste communication time on it.
- }
-
- private static class SubexpressionBegin extends PendingTransaction {
- public int subexpressionNumber;
-
- public SubexpressionBegin(int subexpressionNumber) {
- this.subexpressionNumber = subexpressionNumber;
- }
-
- public void pushTransaction(REMExpression remExpression) {
- IREMExpressionConnection connection = remExpression.getConnection();
- try {
- // Format of push to subexpression begin proxy command is:
- // PushExpressionCommand(push subexpression begin proxy to proxy) followed by:
- // int: subexpression id
- connection.pushExpressionCommand(remExpression.getREMExpressionID(), (byte)InternalExpressionTypes.SUBEXPRESSION_BEGIN_EXPRESSION_VALUE);
- connection.pushInt(subexpressionNumber);
- } catch (IOException e) {
- connection.close();
- ProxyPlugin.getPlugin().getLogger().log(e);
- remExpression.markInvalid(e.getLocalizedMessage());
- remExpression.throwIllegalStateException(IO_EXCEPTION_MSG);
- }
- }
-
- }
-
- protected void pushSubexpressionBeginToProxy(int subexpressionNumber) {
- addPendingTransaction(new SubexpressionBegin(subexpressionNumber));
- }
-
- protected void pushSubexpressionEndToProxy(int subexpressionNumber) {
- // See if the top pending transactions is SubexpressionBegin(subexpressionNumber). If it is then the SubexpressionBegin can be thrown away.
- PendingTransaction topEntry = getPendingEntryFromTop(1);
- if (topEntry instanceof SubexpressionBegin && ((SubexpressionBegin) topEntry).subexpressionNumber == subexpressionNumber) {
- popPendingEntry(1);
- topEntry = getPendingEntryFromTop(1);
- }
- processPendingTransactions();
- IREMExpressionConnection connection = getConnection();
- try {
- // Format of push to block end proxy command is:
- // PushExpressionCommand(push subexpression end proxy to proxy) followed by:
- // int: subexpression id
- connection.pushExpressionCommand(getREMExpressionID(), (byte)InternalExpressionTypes.SUBEXPRESSION_END_EXPRESSION_VALUE);
- connection.pushInt(subexpressionNumber);
- } catch (IOException e) {
- connection.close();
- ProxyPlugin.getPlugin().getLogger().log(e);
- markInvalid(e.getLocalizedMessage());
- throwIllegalStateException(IO_EXCEPTION_MSG);
- }
- }
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMFieldProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMFieldProxy.java
deleted file mode 100644
index 51c9ec514..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMFieldProxy.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.remote;
-/*
- * $RCSfile: REMFieldProxy.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:56:10 $
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-
-final class REMFieldProxy extends REMAccessibleObjectProxy implements IFieldProxy {
- private IBeanTypeProxy fFieldType;
-
- REMFieldProxy(REMProxyFactoryRegistry aRegistry, Integer anID) {
- super(aRegistry, anID);
- }
-
- /**
- * Return the type of the field.
- */
- public IBeanTypeProxy getFieldType() {
- if (fFieldType == null)
- fFieldType =
- (IBeanTypeProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getFieldGetType().invokeCatchThrowableExceptions(
- this);
-
- return fFieldType;
- }
-
- /**
- * Release the proxy, i.e. mark it invalid.
- */
- public void release() {
- fFieldType = null;
- super.release();
- }
-
- /**
- * Get the value of this field from the subject
- */
- public IBeanProxy get(IBeanProxy subject) throws ThrowableProxy {
- // Format of getter parms is: (Object (subject)).
- // If the component type is primitive, we need to use the correct getter so that a valid value is returned,
- // if we just used the standard get, if the type was "int" the value returned would be an java.lang.Integer.
- IBeanTypeProxy fieldType = getFieldType();
- if (!fieldType.isPrimitive()) {
- // Use standard getter.
- return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getFieldGet()).invoke(this, subject);
- } else {
- // Use the correct primitive getter.
- int id = ((IREMBeanProxy) fieldType).getID().intValue();
- switch (id) {
- case Commands.BYTE_TYPE :
- return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getFieldGetByte()).invoke(this, subject);
- case Commands.BOOLEAN_TYPE :
- return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getFieldGetBoolean()).invoke(
- this,
- subject);
- case Commands.CHARACTER_TYPE :
- return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getFieldGetChar()).invoke(this, subject);
- case Commands.DOUBLE_TYPE :
- return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getFieldGetDouble()).invoke(
- this,
- subject);
- case Commands.FLOAT_TYPE :
- return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getFieldGetFloat()).invoke(
- this,
- subject);
- case Commands.INTEGER_TYPE :
- return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getFieldGetInt()).invoke(this, subject);
- case Commands.LONG_TYPE :
- return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getFieldGetLong()).invoke(this, subject);
- case Commands.SHORT_TYPE :
- return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getFieldGetShort()).invoke(
- this,
- subject);
- }
- }
-
- return null;
- }
-
- /**
- * Set the value of this field in this subject to this value.
- */
- public void set(IBeanProxy subject, IBeanProxy value) throws ThrowableProxy {
- REMStandardBeanProxyConstants.getConstants(fFactory).getFieldSet().invoke(this, new IBeanProxy[] { subject, value });
- }
-
- /**
- * The type proxy is constant proxy out of the method factory.
- */
- public IBeanTypeProxy getTypeProxy() {
- return ((REMMethodProxyFactory) fFactory.getMethodProxyFactory()).fieldType;
- }
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMFieldTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMFieldTypeProxy.java
deleted file mode 100644
index b2ad41a3d..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMFieldTypeProxy.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMFieldTypeProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * BeanType Proxy for Method class.
- */
-
-final class REMFieldTypeProxy extends REMAbstractBeanTypeProxy {
-
-REMFieldTypeProxy(REMProxyFactoryRegistry aRegistry, IBeanTypeProxy accessibleTypeProxy) {
- super(aRegistry, new Integer(Commands.FIELD_CLASS), java.lang.reflect.Field.class.getName(), accessibleTypeProxy);
-}
-
-/**
- * newBeanTypeForClass: Create a new beantypeproxy of this kind for the given class.
- * This is used by beantype proxy factory when creating a beantype proxy for a subclass.
- * This is because subclasses, unless explicitly overridden, should use the same kind
- * of beantype proxy. This way if anything special is needed for a specific type, then
- * that can be done.
- *
- * For all of the accessible object types, they are final classes, so you can't create a newBeanType
- * for subclasses.
- */
-public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract) {
- throw new UnsupportedOperationException();
-}
-
-/**
- * Specialized from REMAbstractBeanTypeProxy to ensure Constructor proxies are created correctly.
- */
-public IREMBeanProxy newBeanProxy(Integer objectID) {
- return new REMFieldProxy(fRegistry, objectID);
-}
-
-/**
- * Note: Since new instances of Constructor are never done through a default ctor,
- * this function is not supported.
- */
-public IBeanProxy newInstance() {
- throw new UnsupportedOperationException();
-}
-
-/**
- * Note: Since new instances of Constructor are never done through an initialization string,
- * this function is not supported.
- */
-public IBeanProxy newInstance(String initializationString) {
- throw new UnsupportedOperationException();
-}
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMFloatClassBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMFloatClassBeanProxy.java
deleted file mode 100644
index 705fdf7df..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMFloatClassBeanProxy.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMFloatClassBeanProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * Remote proxy implementation of INumberBeanProxy for Float.class
- */
-class REMFloatClassBeanProxy extends REMNumberBeanProxy {
-
-REMFloatClassBeanProxy(REMProxyFactoryRegistry aRegistry, Float aFloat) {
- super(aRegistry, aFloat);
-}
-
-/**
- * Get the beantype
- */
-public IBeanTypeProxy getTypeProxy() {
- return ((REMStandardBeanTypeProxyFactory) fFactory.getBeanTypeProxyFactory()).floatClass;
-}
-
-/**
- * Render the bean into value object.
- */
-public void renderBean(Commands.ValueObject value) {
- value.set((Float) numberValue());
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMFloatClassBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMFloatClassBeanTypeProxy.java
deleted file mode 100644
index 150304f85..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMFloatClassBeanTypeProxy.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMFloatClassBeanTypeProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * Remote Implementation of IBeanTypePRoxy for Float.class
- * Creation date: (2/6/00 9:01:40 AM)
- * @author: Joe Winchester
- */
-final class REMFloatClassBeanTypeProxy extends REMAbstractNumberBeanTypeProxy {
-// Some values are cache'd for speed
- private final INumberBeanProxy zeroProxy;
-/**
- * REMIntegerBeanTypeProxy constructor comment.
- * @param aClass java.lang.Class
- */
-REMFloatClassBeanTypeProxy(REMProxyFactoryRegistry aRegistry, IBeanTypeProxy numberType) {
- super(aRegistry, new Integer(Commands.FLOAT_CLASS), Float.class.getName(), numberType);
-
- // Create the cached values
- zeroProxy = new REMFloatClassBeanProxy(aRegistry, new Float(0F));
-}
-
-/**
- * Helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- */
-INumberBeanProxy createFloatBeanProxy(Float aFloat) {
- return (aFloat.floatValue() != 0F) ?
- new REMFloatClassBeanProxy(fRegistry, aFloat) : zeroProxy;
-}
-
-/**
- * Generic way to create an Float proxy, however, the Number must be a Float.
- */
-protected INumberBeanProxy createNumberBeanProxy(Number aNumber) {
- return createFloatBeanProxy((Float) aNumber);
-}
-
-/**
- * newInstance method. Number's don't have a default ctor, so the standard way won't work.
- * Return the zero proxy for this case.
- */
-public IBeanProxy newInstance() {
- return zeroProxy;
-}
-
-/**
- * Create a new bean proxy the ValueObject passed in.
- * We will assume the object is correct type.
- */
-public IBeanProxy newBeanProxy(Commands.ValueObject value) {
- return createFloatBeanProxy(new Float(value.aFloat));
-}
-
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMFloatTypeBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMFloatTypeBeanProxy.java
deleted file mode 100644
index 76307da6c..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMFloatTypeBeanProxy.java
+++ /dev/null
@@ -1,131 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMFloatTypeBeanProxy.java,v $
- * $Revision: 1.3 $ $Date: 2005/05/11 22:41:24 $
- */
-
-
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * Remote Implementation of INumberBeanProxy for the primitive "float".
- * It can answer all of the primitive number types (int, long, short, byte, double, float).
- * Creation date: (2/6/00 9:02:54 AM)
- * @author: Joe Winchester
- */
-class REMFloatTypeBeanProxy extends REMConstantBeanProxy implements INumberBeanProxy {
- private final float fFloat;
-
-/**
- * It is package protected because they are created
- * in a special way and no one else should create them.
- * @param aBean java.lang.Object
- */
-REMFloatTypeBeanProxy(REMProxyFactoryRegistry aRegistry, float aFloat) {
- super(aRegistry);
- fFloat = aFloat;
-}
-/**
- * equals: Equal if:
- * 1) This proxy == (identity) to the other object
- * 2) Else if other is an IBeanProxy and not a constant one, then if
- * equals on the server.
- * 3) If this is a constant proxy and the other is too or is a constant
- * value (e.g. IStringBeanProxy.equals(String), then true if values are equals.
- */
-public boolean equals(Object anObject) {
- if (this == anObject)
- return true; // Identity
- if (anObject instanceof REMFloatTypeBeanProxy)
- return fFloat == ((REMFloatTypeBeanProxy) anObject).floatValue();
- if (anObject instanceof Double)
- return fFloat == ((Float) anObject).floatValue();
- return false;
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#sameAs(org.eclipse.jem.internal.proxy.core.IBeanProxy)
- */
-public boolean sameAs(IBeanProxy aBeanProxy) {
- if (this == aBeanProxy)
- return true; // Identity
- if (aBeanProxy instanceof REMFloatTypeBeanProxy)
- return fFloat == ((REMFloatTypeBeanProxy) aBeanProxy).floatValue();
- return false;
-}
-/**
- * byteValue method comment.
- */
-public byte byteValue() {
- return (byte) fFloat;
-}
-/**
- * doubleValue method comment.
- */
-public double doubleValue() {
- return fFloat;
-}
-/**
- * floatValue method comment.
- */
-public float floatValue() {
- return fFloat;
-}
-/**
- * Return the int value
- */
-public int intValue() {
- return (int) fFloat;
-}
-/**
- * longValue method comment.
- */
-public long longValue() {
- return (long) fFloat;
-}
-/**
- * numberValue method comment.
- */
-public Number numberValue() {
- return new Float(fFloat);
-}
-/**
- * shortValue method comment.
- */
-public short shortValue() {
- return (short) fFloat;
-}
-
-/**
- * The bean's toString.
- */
-public String toBeanString() {
- return String.valueOf(fFloat);
-}
-
-/**
- * Get the beantype
- */
-public IBeanTypeProxy getTypeProxy() {
- return ((REMStandardBeanTypeProxyFactory) fFactory.getBeanTypeProxyFactory()).floatType;
-}
-
-/**
- * Render the bean into value object.
- */
-public void renderBean(Commands.ValueObject value) {
- value.set(fFloat);
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMFloatTypeBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMFloatTypeBeanTypeProxy.java
deleted file mode 100644
index 2603d2f38..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMFloatTypeBeanTypeProxy.java
+++ /dev/null
@@ -1,98 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMFloatTypeBeanTypeProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * Remote Implementation of IBeanTypeProxy for Float.TYPE.
- * Creation date: (2/6/00 9:01:40 AM)
- * @author: Joe Winchester
- */
-final class REMFloatTypeBeanTypeProxy extends REMPrimitiveBeanTypeProxy {
-// Some values are cache'd for speed
- private final INumberBeanProxy zeroProxy;
-/**
- * REMIntegerBeanTypeProxy constructor comment.
- * @param aClass java.lang.Class
- */
-REMFloatTypeBeanTypeProxy(REMProxyFactoryRegistry aRegistry) {
- super(aRegistry, new Integer(Commands.FLOAT_TYPE), Float.TYPE.getName());
-
- // Create the cached values
- zeroProxy = new REMFloatTypeBeanProxy(aRegistry, 0F);
-}
-
-/**
- * Helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- */
-INumberBeanProxy createFloatBeanProxy(float aFloat) {
- return (aFloat != 0F) ?
- new REMFloatTypeBeanProxy(fRegistry, aFloat) : zeroProxy;
-}
-
-/**
- * newInstance method. float is a primitive, so the standard way won't work.
- * Return the zeroProxy for this case because that is the default value.
- */
-public IBeanProxy newInstance() {
- return zeroProxy;
-}
-
-/**
- * Create a new bean proxy the ValueObject passed in.
- * We will assume the object is correct type.
- */
-public IBeanProxy newBeanProxy(Commands.ValueObject value) {
- return createFloatBeanProxy(value.aFloat);
-}
-
-/**
- * Short cut for newInstance where the string follows the
- * specific pattern we expect. That way it won't be necessary to ship over to the vm
- * to process it.
- *
- * The pattern it can accept is:
- * 1) (float) validNumber - number can be any number because (float) explicitly casts it down.
- * 2) validNumber
- * It will use the decode function of float to determine the valid number.
- */
-public IBeanProxy newInstance(String initializationString) throws ThrowableProxy, ClassCastException, InstantiationException {
- String trim = initializationString.trim();
- if (trim.length() == 0)
- return super.newInstance(initializationString);
- float aFloat;
- if (trim.startsWith("(float)")) { //$NON-NLS-1$
- Number v = parseString(trim.substring("(float)".length()).trim()); //$NON-NLS-1$
- if (v != null)
- aFloat = v.floatValue();
- else
- return super.newInstance(initializationString); // Can't decode it, let full parser handle it.
- } else {
- try {
- aFloat = Float.valueOf(initializationString).floatValue(); // See if valid float format.
- } catch (NumberFormatException e) {
- return super.newInstance(initializationString); // Can't decode it, let full parser handle it.
- }
- }
-
- return getProxyFactoryRegistry().getBeanProxyFactory().createBeanProxyWith(aFloat);
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMInitErrorBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMInitErrorBeanTypeProxy.java
deleted file mode 100644
index 81187e3f5..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMInitErrorBeanTypeProxy.java
+++ /dev/null
@@ -1,469 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: REMInitErrorBeanTypeProxy.java,v $
- * $Revision: 1.9 $ $Date: 2005/05/18 18:41:20 $
- */package org.eclipse.jem.internal.proxy.remote;
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-
-/**
- * A special bean type proxy. It is for those bean types that had an instantiation error while being initialized. It is so we have the message. All
- * other actions against it will fail.
- *
- * @author richkulp
- */
-public class REMInitErrorBeanTypeProxy implements IREMBeanTypeProxy {
-
- protected final String initializationError;
-
- protected final REMProxyFactoryRegistry registry;
-
- protected final String classname;
-
- /**
- * Constructor for REMInitErrorBeanTypeProxy.
- */
- public REMInitErrorBeanTypeProxy(REMProxyFactoryRegistry registry, String initializationError, String classname) {
- super();
- this.registry = registry;
- this.initializationError = initializationError;
- this.classname = classname;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.remote.IREMBeanTypeProxy#newBeanProxy(java.lang.Integer)
- */
- public IREMBeanProxy newBeanProxy(Integer anID) {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.remote.IREMBeanTypeProxy#newBeanTypeForClass(java.lang.Integer, java.lang.String, boolean)
- */
- public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract) {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructorProxy(java.lang.String[])
- */
- public IConstructorProxy getConstructorProxy(String[] argumentClassNames) {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructorProxy(org.eclipse.jem.internal.proxy.core.IBeanTypeProxy[])
- */
- public IConstructorProxy getConstructorProxy(IBeanTypeProxy[] argumentTypes) {
- return null;
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructors()
- */
- public IConstructorProxy[] getConstructors() {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructorProxy(java.lang.String[])
- */
- public IConstructorProxy getDeclaredConstructorProxy(String[] argumentClassNames) {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructorProxy(org.eclipse.jem.internal.proxy.core.IBeanTypeProxy[])
- */
- public IConstructorProxy getDeclaredConstructorProxy(IBeanTypeProxy[] argumentTypes) {
- return null;
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructors()
- */
- public IConstructorProxy[] getDeclaredConstructors() {
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructors()
- */
- public IFieldProxy[] getFields() {
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructors()
- */
- public IFieldProxy[] getDeclaredFields() {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getFieldProxy(java.lang.String)
- */
- public IFieldProxy getFieldProxy(String fieldName) {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getDeclaredFieldProxy(java.lang.String)
- */
- public IFieldProxy getDeclaredFieldProxy(String fieldName) {
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructors()
- */
- public IMethodProxy[] getMethods() {
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructors()
- */
- public IMethodProxy[] getDeclaredMethods() {
- return null;
- }
-
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getMethodProxy(java.lang.String)
- */
- public IMethodProxy getMethodProxy(String methodName) {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getMethodProxy(java.lang.String, java.lang.String[])
- */
- public IMethodProxy getMethodProxy(String methodName, String[] argumentClassNames) {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getMethodProxy(java.lang.String, java.lang.String)
- */
- public IMethodProxy getMethodProxy(String methodName, String argumentClassName) {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getMethodProxy(java.lang.String, org.eclipse.jem.internal.proxy.core.IBeanTypeProxy[])
- */
- public IMethodProxy getMethodProxy(String methodName, IBeanTypeProxy[] argumentTypes) {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getMethodProxy(java.lang.String, org.eclipse.jem.internal.proxy.core.IBeanTypeProxy[])
- */
- public IMethodProxy getDeclaredMethodProxy(String methodName, IBeanTypeProxy[] argumentTypes) {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getMethodProxy(java.lang.String, java.lang.String[])
- */
- public IMethodProxy getDeclaredMethodProxy(String methodName, String[] argumentClassNames) {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getNullConstructorProxy()
- */
- public IConstructorProxy getNullConstructorProxy() {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#getProxyFactoryRegistry()
- */
- public ProxyFactoryRegistry getProxyFactoryRegistry() {
- return registry;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getSuperBeanTypeProxy()
- */
- public IBeanTypeProxy getSuperBeanTypeProxy() {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getTypeName()
- */
- public String getTypeName() {
- return classname;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getFormalTypeName()
- */
- public String getFormalTypeName() {
- return getTypeName();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#isArray()
- */
- public boolean isArray() {
- return false;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#isInterface()
- */
- public boolean isInterface() {
- return false;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#isPrimitive()
- */
- public boolean isPrimitive() {
- return false;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#isKindOf(org.eclipse.jem.internal.proxy.core.IBeanTypeProxy)
- */
- public boolean isKindOf(IBeanTypeProxy aBeanProxyType) {
- return false;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#newInstance()
- */
- public IBeanProxy newInstance() throws ThrowableProxy {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#newInstance(java.lang.String)
- */
- public IBeanProxy newInstance(String initializationString) throws ThrowableProxy, ClassCastException, InstantiationException {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getInitializationError()
- */
- public String getInitializationError() {
- return initializationError;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.remote.IREMBeanProxy#getID()
- */
- public Integer getID() {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.remote.IREMBeanProxy#release()
- */
- public void release() {
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.remote.IREMBeanProxy#renderBean(org.eclipse.jem.internal.proxy.common.remote.Commands.ValueObject)
- */
- public void renderBean(Commands.ValueObject renderInto) {
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#getTypeProxy()
- */
- public IBeanTypeProxy getTypeProxy() {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#toBeanString()
- */
- public String toBeanString() {
- return ""; //$NON-NLS-1$
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#isValid()
- */
- public boolean isValid() {
- return false;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#sameAs(org.eclipse.jem.internal.proxy.core.IBeanProxy)
- */
- public boolean sameAs(IBeanProxy aBeanProxy) {
- return this == aBeanProxy; // This is place holder anyway. So only identical if same proxy.
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getInvokable(java.lang.String, org.eclipse.jem.internal.proxy.core.IBeanTypeProxy[])
- */
- public IInvokable getInvokable(String methodName, IBeanTypeProxy[] argumentTypes) {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getInvokable(java.lang.String, java.lang.String)
- */
- public IInvokable getInvokable(String methodName, String argumentClassName) {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getInvokable(java.lang.String, java.lang.String[])
- */
- public IInvokable getInvokable(String methodName, String[] argumentClassNames) {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getInvokable(java.lang.String)
- */
- public IInvokable getInvokable(String methodName) {
- return null;
- }
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getCompatibleConstructor(org.eclipse.jem.internal.proxy.core.IBeanTypeProxy[])
- */
- public IConstructorProxy getCompatibleConstructor(IBeanTypeProxy[] argumentTypes) {
- return null;
- }
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getCompatibleMethod(java.lang.String, org.eclipse.jem.internal.proxy.core.IBeanTypeProxy[])
- */
- public IMethodProxy getCompatibleMethod(String methodName, IBeanTypeProxy[] argumentTypes) {
- return null;
- }
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IProxy#isBeanProxy()
- */
- public final boolean isBeanProxy() {
- return true;
- }
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IProxy#isExpressionProxy()
- */
- public final boolean isExpressionProxy() {
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IProxyBeanType#getMethodProxy(org.eclipse.jem.internal.proxy.core.IExpression, java.lang.String, org.eclipse.jem.internal.proxy.core.IProxyBeanType[])
- */
- public IProxyMethod getMethodProxy(IExpression expression, String methodName, IProxyBeanType[] parameters) {
- return null; // Since this guy is invalid, we can't return a method.
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IProxyBeanType#getMethodProxy(org.eclipse.jem.internal.proxy.core.IExpression, java.lang.String, java.lang.String[])
- */
- public IProxyMethod getMethodProxy(IExpression expression, String methodName, String[] parameterTypes) {
- return null;
- }
-
- public IProxyMethod getMethodProxy(IExpression expression, String methodName) {
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IProxyBeanType#getFieldProxy(org.eclipse.jem.internal.proxy.core.IExpression, java.lang.String)
- */
- public IProxyField getFieldProxy(IExpression expression, String fieldName) {
- return null;
- }
-
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMIntegerClassBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMIntegerClassBeanProxy.java
deleted file mode 100644
index bbd1efcbe..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMIntegerClassBeanProxy.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMIntegerClassBeanProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * Remote Proxy for Integers. Since Integers were first implemented
- * in the VCE, and because they are often referenced, we've created
- * a subclass to handle them. That way we wouldn't need to change
- * everyone that was using the IIntegerProxy interface.
- * Creation date: (08/31/00 11:28:48 AM)
- * @author: Administrator
- */
-class REMIntegerClassBeanProxy extends REMNumberBeanProxy implements IIntegerBeanProxy {
-
-REMIntegerClassBeanProxy(REMProxyFactoryRegistry aRegistry, Integer anInteger) {
- super(aRegistry, anInteger);
-}
-
-/**
- * Get the beantype
- */
-public IBeanTypeProxy getTypeProxy() {
- return ((REMStandardBeanTypeProxyFactory) fFactory.getBeanTypeProxyFactory()).integerClass;
-}
-
-/**
- * Render the bean into value object.
- */
-public void renderBean(Commands.ValueObject value) {
- value.set((Integer) numberValue());
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMIntegerClassBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMIntegerClassBeanTypeProxy.java
deleted file mode 100644
index 1616a6c72..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMIntegerClassBeanTypeProxy.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMIntegerClassBeanTypeProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * Remote Implementation of INumberBeanProxy for Integer.class.
- * Creation date: (2/6/00 9:01:40 AM)
- * @author: Joe Winchester
- */
-final class REMIntegerClassBeanTypeProxy extends REMAbstractNumberBeanTypeProxy {
-// Some values are cache'd for speed
- private final IIntegerBeanProxy zeroProxy;
- private final IIntegerBeanProxy oneProxy;
- private final IIntegerBeanProxy twoProxy;
- private final IIntegerBeanProxy threeProxy;
-/**
- * REMIntegerBeanTypeProxy constructor comment.
- * @param aClass java.lang.Class
- */
-REMIntegerClassBeanTypeProxy(REMProxyFactoryRegistry aRegistry, IBeanTypeProxy numberType) {
- super(aRegistry, new Integer(Commands.INTEGER_CLASS), Integer.class.getName(), numberType);
-
- // Create the cached values
- zeroProxy = new REMIntegerClassBeanProxy(aRegistry, new Integer(0));
- oneProxy = new REMIntegerClassBeanProxy(aRegistry, new Integer(1));
- twoProxy = new REMIntegerClassBeanProxy(aRegistry, new Integer(2));
- threeProxy = new REMIntegerClassBeanProxy(aRegistry, new Integer(3));
-
-}
-
-/**
- * Helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- */
-IIntegerBeanProxy createIntegerBeanProxy(Integer anInteger) {
- switch(anInteger.intValue()) {
- case 0: return zeroProxy;
- case 1: return oneProxy ;
- case 2: return twoProxy ;
- case 3: return threeProxy ;
- default: return new REMIntegerClassBeanProxy(fRegistry, anInteger);
- }
-}
-
-/**
- * Generic way to create an Integer proxy, however, the Number must be an Integer.
- */
-protected INumberBeanProxy createNumberBeanProxy(Number aNumber) {
- return createIntegerBeanProxy((Integer) aNumber);
-}
-
-/**
- * newInstance method. Number's don't have a default ctor, so the standard way won't work.
- * Return the zero proxy for this case.
- */
-public IBeanProxy newInstance() {
- return zeroProxy;
-}
-
-/**
- * Create a new bean proxy the ValueObject passed in.
- * We will assume the object is correct type.
- */
-public IBeanProxy newBeanProxy(Commands.ValueObject value) {
- return createIntegerBeanProxy(new Integer(value.anInt));
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMIntegerTypeBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMIntegerTypeBeanProxy.java
deleted file mode 100644
index c0990bb3a..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMIntegerTypeBeanProxy.java
+++ /dev/null
@@ -1,132 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMIntegerTypeBeanProxy.java,v $
- * $Revision: 1.3 $ $Date: 2005/05/11 22:41:24 $
- */
-
-
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * Remote Implementation of IIntegerBeanProxy for the primitive "int".
- * It can answer all of the primitive number types (int, long, short, byte, double, float).
- * Creation date: (2/6/00 9:02:54 AM)
- * @author: Joe Winchester
- */
-class REMIntegerTypeBeanProxy extends REMConstantBeanProxy implements IIntegerBeanProxy {
- private final int fInt;
-
-/**
- * It is package protected because they are created
- * in a special way and no one else should create them.
- * @param aBean java.lang.Object
- */
-REMIntegerTypeBeanProxy(REMProxyFactoryRegistry aRegistry, int anInt) {
- super(aRegistry);
- fInt = anInt;
-}
-/**
- * equals: Equal if:
- * 1) This proxy == (identity) to the other object
- * 2) Else if other is an IBeanProxy and not a constant one, then if
- * equals on the server.
- * 3) If this is a constant proxy and the other is too or is a constant
- * value (e.g. IStringBeanProxy.equals(String), then true if values are equals.
- */
-public boolean equals(Object anObject) {
- if (this == anObject)
- return true; // Identity
- if (anObject instanceof REMIntegerTypeBeanProxy)
- return fInt == ((REMIntegerTypeBeanProxy) anObject).intValue();
- if (anObject instanceof Integer)
- return fInt == ((Integer) anObject).intValue();
- return false;
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#sameAs(org.eclipse.jem.internal.proxy.core.IBeanProxy)
- */
-public boolean sameAs(IBeanProxy aBeanProxy) {
- if (this == aBeanProxy)
- return true; // Identity
- if (aBeanProxy instanceof REMIntegerTypeBeanProxy)
- return fInt == ((REMIntegerTypeBeanProxy) aBeanProxy).intValue();
- return false;
-}
-
-/**
- * byteValue method comment.
- */
-public byte byteValue() {
- return (byte) fInt;
-}
-/**
- * doubleValue method comment.
- */
-public double doubleValue() {
- return fInt;
-}
-/**
- * floatValue method comment.
- */
-public float floatValue() {
- return fInt;
-}
-/**
- * Return the int value
- */
-public int intValue() {
- return fInt;
-}
-/**
- * longValue method comment.
- */
-public long longValue() {
- return fInt;
-}
-/**
- * numberValue method comment.
- */
-public Number numberValue() {
- return new Integer(fInt);
-}
-/**
- * shortValue method comment.
- */
-public short shortValue() {
- return (short) fInt;
-}
-
-/**
- * The bean's toString.
- */
-public String toBeanString() {
- return String.valueOf(fInt);
-}
-
-/**
- * Get the beantype
- */
-public IBeanTypeProxy getTypeProxy() {
- return ((REMStandardBeanTypeProxyFactory) fFactory.getBeanTypeProxyFactory()).intType;
-}
-
-/**
- * Render the bean into value object.
- */
-public void renderBean(Commands.ValueObject value) {
- value.set(fInt);
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMIntegerTypeBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMIntegerTypeBeanTypeProxy.java
deleted file mode 100644
index 9a3b23a47..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMIntegerTypeBeanTypeProxy.java
+++ /dev/null
@@ -1,111 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMIntegerTypeBeanTypeProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * Remote Implementation of IBeanTypeProxy for Integer.TYPE.
- * Creation date: (2/6/00 9:01:40 AM)
- * @author: Joe Winchester
- */
-final class REMIntegerTypeBeanTypeProxy extends REMPrimitiveBeanTypeProxy {
-// Some values are cache'd for speed
- private final IIntegerBeanProxy zeroProxy;
- private final IIntegerBeanProxy oneProxy;
- private final IIntegerBeanProxy twoProxy;
- private final IIntegerBeanProxy threeProxy;
-/**
- * REMIntegerBeanTypeProxy constructor comment.
- * @param aClass java.lang.Class
- */
-REMIntegerTypeBeanTypeProxy(REMProxyFactoryRegistry aRegistry) {
- super(aRegistry, new Integer(Commands.INTEGER_TYPE), Integer.TYPE.getName());
-
- // Create the cached values
- zeroProxy = new REMIntegerTypeBeanProxy(aRegistry, 0);
- oneProxy = new REMIntegerTypeBeanProxy(aRegistry, 1);
- twoProxy = new REMIntegerTypeBeanProxy(aRegistry, 2);
- threeProxy = new REMIntegerTypeBeanProxy(aRegistry, 3);
-
-}
-/**
- * Helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- * Use the cache to see if the value is being held before creating a new one
- */
-IIntegerBeanProxy createIntegerBeanProxy(int anInt) {
-
- switch(anInt) {
- case 0: return zeroProxy;
- case 1: return oneProxy ;
- case 2: return twoProxy ;
- case 3: return threeProxy ;
- default: return new REMIntegerTypeBeanProxy(fRegistry, anInt);
- }
-}
-
-/**
- * newInstance method. integer is a primitive, so the standard way won't work.
- * Return the zeroProxy for this case because that is the default value.
- */
-public IBeanProxy newInstance() {
- return zeroProxy;
-}
-
-/**
- * Create a new bean proxy the ValueObject passed in.
- * We will assume the object is correct type.
- */
-public IBeanProxy newBeanProxy(Commands.ValueObject value) {
- return createIntegerBeanProxy(value.anInt);
-}
-
-/**
- * Short cut for newInstance where the string follows the
- * specific pattern we expect. That way it won't be necessary to ship over to the vm
- * to process it.
- *
- * The pattern it can accept is:
- * 1) (int) validNumber - number can be any number because (byte) explicitly casts it down.
- * 2) validNumber
- * It will use the decode function of int to determine the valid number.
- */
-public IBeanProxy newInstance(String initializationString) throws ThrowableProxy, ClassCastException, InstantiationException {
- String trim = initializationString.trim();
- if (trim.length() == 0)
- return super.newInstance(initializationString);
- int anInt;
- if (trim.startsWith("(int)")) { //$NON-NLS-1$
- Number v = parseString(trim.substring("(int)".length()).trim()); //$NON-NLS-1$
- if (v != null)
- anInt = v.intValue();
- else
- return super.newInstance(initializationString); // Can't decode it, let full parser handle it.
- } else {
- try {
- anInt = Integer.decode(trim).intValue(); // See if valid int format.
- } catch (NumberFormatException e) {
- return super.newInstance(initializationString); // Can't decode it, let full parser handle it.
- }
- }
-
- return getProxyFactoryRegistry().getBeanProxyFactory().createBeanProxyWith(anInt);
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMInterfaceBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMInterfaceBeanTypeProxy.java
deleted file mode 100644
index 74f136640..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMInterfaceBeanTypeProxy.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMInterfaceBeanTypeProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * Default beantype proxy for an interface.
- */
-
-public class REMInterfaceBeanTypeProxy extends REMAbstractBeanTypeProxy {
-
- protected REMInterfaceBeanTypeProxy(REMProxyFactoryRegistry aRegistry, Integer anID, String aClassname) {
- super(aRegistry, anID, aClassname, null);
- }
-
- /**
- * Interfaces are interfaces.
- */
- public boolean isInterface() {
- return true;
- }
-
- /**
- * Create a new bean proxy with the specified id.
- *
- * For all of the interface types, this is an invalid operation.
- */
- public IREMBeanProxy newBeanProxy(Integer anID) {
- throw new UnsupportedOperationException();
- }
-
- /**
- * newBeanTypeForClass: Create a new beantypeproxy of this kind for the given class.
- * This is used by beantype proxy factory when creating a beantype proxy for a subclass.
- * This is because subclasses, unless explicitly overridden, should use the same kind
- * of beantype proxy. This way if anything special is needed for a specific type, then
- * that can be done.
- *
- * For all of the interface types, you can't create a newBeanType for subclasses since
- * interface aren't subclassable, only extendable.
- */
- public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstact) {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Note: Since new instances of interfaces can never be done,
- * this function is not supported.
- */
- public IBeanProxy newInstance() {
- throw new UnsupportedOperationException();
- }
-
- /**
- * newInstance(initializationString) is valid because it can be used to create
- * an instance of an implementation of the interface.
- */
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMInvokable.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMInvokable.java
deleted file mode 100644
index 9f5945c13..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMInvokable.java
+++ /dev/null
@@ -1,233 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: REMInvokable.java,v $
- * $Revision: 1.3 $ $Date: 2005/05/11 19:01:12 $
- */
-package org.eclipse.jem.internal.proxy.remote;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.jem.internal.proxy.common.CommandException;
-import org.eclipse.jem.internal.proxy.common.remote.*;
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.core.IInvokable;
-
-
-/**
- * Remote Invokable. This invokes on the remote vm, but it doesn't use a method proxy. Instead
- * it sends the information to get the method to the remote vm along with the parms. That way
- * it will do the lookup on the remote vm and we don't have the overhead of two calls, one to
- * get the methodproxy and the other to actually do the invoke. This should typically be used
- * only for infrequent calls so that cache of the method proxy is not needed.
- *
- * @since 1.0.0
- */
-class REMInvokable implements IInvokable {
-
- protected final IREMBeanTypeProxy beanType; // Beantype to get method from.
- protected final String methodName; // Method name
- protected final IBeanTypeProxy[] methodArgTypes; // Argument types (or null if no arguments).
- protected final REMProxyFactoryRegistry factory; // Factory for this invokable
-
-
- REMInvokable(IREMBeanTypeProxy beanType, String methodName, IBeanTypeProxy[] methodArgTypes) {
- this.beanType = beanType;
- this.methodName = methodName;
- this.methodArgTypes = methodArgTypes;
- this.factory = (REMProxyFactoryRegistry) beanType.getProxyFactoryRegistry();
- }
-
- public IBeanProxy invoke(IBeanProxy subject) throws ThrowableProxy {
- return invoke(subject, (IBeanProxy[]) null);
- }
-
- public IBeanProxy invoke(IBeanProxy subject, IBeanProxy[] parms) throws ThrowableProxy {
- return invokeWithParms(subject, parms);
- }
-
- /**
- * The internal method that allows mixture of constants (e.g. String) with bean proxies.
- * A parm value can be a REMMethodProxy.ParmArray. This means this parm is an array that
- * needs to have a ValueRetriever created for it. This is used if the array has ID's in
- * it and is not an existing array on the server or all constant values.
- *
- * NOTE: It is assumed that all IBeanTypeProxies of the parms have already been retrieved.
- * It should still work, but it could be asking for them in the middle of the request
- * if they are not first gotton.
- *
- */
- public IBeanProxy invokeWithParms(IBeanProxy subject, final Object[] parms) throws ThrowableProxy {
- IREMConnection connect = factory.getFreeConnection();
- REMStandardBeanProxyFactory proxyFactory = (REMStandardBeanProxyFactory) factory.getBeanProxyFactory();
- proxyFactory.startTransaction(); // This is definately a transaction, so start it.
- try {
- // First need to send the method info.
- Commands.ValueObject classValue = new Commands.ValueObject();
- beanType.renderBean(classValue);
-
- Commands.ValueObject parmTypesValue = new Commands.ValueObject();
- if (methodArgTypes != null) {
- class Retriever implements Commands.ValueRetrieve {
- int index = 0;
- Object[] array;
- Commands.ValueObject worker = new Commands.ValueObject();
-
- public Retriever(Object[] anArray) {
- array = anArray;
- }
-
- public Commands.ValueObject nextValue() {
- Object parm = array[index++];
- ((IREMBeanTypeProxy) parm).renderBean(worker);
- return worker;
- }
- };
-
- parmTypesValue.setArrayIDS(new Retriever(methodArgTypes), methodArgTypes.length, Commands.CLASS_CLASS); // Create Class[].
- }
-
-
- // Now we start building the actual invocation.
-
- Commands.ValueObject subjectValue = new Commands.ValueObject();
- if (subject != null)
- ((IREMBeanProxy) subject).renderBean(subjectValue);
-
- Commands.ValueObject parmsValue = new Commands.ValueObject();
-
- if (parms != null) {
- // Have a local definition of the retriever so that the retriever can create
- // another one of itself if necessary.
- final IStandardBeanTypeProxyFactory typeFactory = factory.getBeanTypeProxyFactory();
-
- class Retriever implements Commands.ValueRetrieve {
- int index = 0;
- Object[] array;
- Commands.ValueObject worker = new Commands.ValueObject();
-
- public Retriever(Object[] anArray) {
- array = anArray;
- }
-
- public Commands.ValueObject nextValue() {
- Object parm = array[index++];
- if (parm != null)
- if (parm instanceof IREMBeanProxy)
- ((IREMBeanProxy) parm).renderBean(worker);
- else if (parm instanceof TransmitableArray) {
- // It is another array, create a new retriever.
- worker.setArrayIDS(
- new Retriever(((TransmitableArray) parm).array),
- ((TransmitableArray) parm).array.length,
- ((TransmitableArray) parm).componentTypeID);
- } else {
- // It's an object. Need to get bean type so that we can send it.
- IREMBeanProxy type = (IREMBeanProxy) typeFactory.getBeanTypeProxy(parm.getClass().getName());
- if (type == null)
- throw new IllegalArgumentException();
- int classID = type.getID().intValue();
- worker.setAsObject(parm, classID);
- }
- else
- worker.set();
- return worker;
- }
- };
-
- parmsValue.setArrayIDS(new Retriever(parms), parms.length, Commands.OBJECT_CLASS); // Create Object[].
- }
-
- Commands.ValueObject returnValue = new Commands.ValueObject();
- try {
- invoke(connect, proxyFactory, classValue, parmTypesValue, subjectValue, parmsValue, returnValue);
- return proxyFactory.getBeanProxy(returnValue);
- } catch (CommandException e) {
- if (!e.isRecoverable()) {
- // Close the connection and try again.
- factory.closeConnection(connect);
- connect = null;
- connect = factory.getFreeConnection();
- try {
- invoke(connect, proxyFactory, classValue, parmTypesValue, subjectValue, parmsValue, returnValue);
- return proxyFactory.getBeanProxy(returnValue);
- } catch (CommandException eAgain) {
- // Failed again. Just close and print trace.
- factory.closeConnection(connect);
- connect = null;
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", eAgain)); //$NON-NLS-1$
- return null;
- }
- } else {
- // A recoverable error, print trace and return
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", e)); //$NON-NLS-1$
- return null;
- }
- }
- } finally {
- proxyFactory.stopTransaction();
- if (connect != null)
- factory.returnConnection(connect);
- }
- }
-
-private void invoke(
- IREMConnection connect,
- REMStandardBeanProxyFactory proxyFactory,
- Commands.ValueObject classTypeValue,
- Commands.ValueObject parmTypesValue,
- Commands.ValueObject subjectValue,
- Commands.ValueObject parmsValue,
- Commands.ValueObject returnValue)
- throws ThrowableProxy, CommandException {
- try {
- connect.invokeMethod(classTypeValue, methodName, parmTypesValue, subjectValue, parmsValue, returnValue);
- } catch (CommandErrorException e) {
- proxyFactory.processErrorReturn(e);
- }
- }
-
- public IBeanProxy invoke(IBeanProxy subject, IBeanProxy parm) throws ThrowableProxy {
- return invoke(subject, new IBeanProxy[] { parm });
- }
-
- public IBeanProxy invokeCatchThrowableExceptions(IBeanProxy subject) {
- try {
- return invoke(subject);
- } catch (ThrowableProxy e) {
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", e)); //$NON-NLS-1$
- factory.releaseProxy(e); // Since it's no longer needed, get rid of now instead of GC time.
- return null;
- }
- }
-
- public IBeanProxy invokeCatchThrowableExceptions(IBeanProxy subject, IBeanProxy[] parms) {
- try {
- return invoke(subject, parms);
- } catch (ThrowableProxy e) {
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", e)); //$NON-NLS-1$
- factory.releaseProxy(e); // Since it's no longer needed, get rid of now instead of GC time.
- return null;
- }
- }
-
- public IBeanProxy invokeCatchThrowableExceptions(IBeanProxy subject, IBeanProxy parm) {
- try {
- return invoke(subject, parm);
- } catch (ThrowableProxy e) {
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", e)); //$NON-NLS-1$
- factory.releaseProxy(e); // Since it's no longer needed, get rid of now instead of GC time.
- return null;
- }
- }
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMLongClassBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMLongClassBeanProxy.java
deleted file mode 100644
index 12def07d7..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMLongClassBeanProxy.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMLongClassBeanProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * Remote Proxy for Long.class.
- */
-class REMLongClassBeanProxy extends REMNumberBeanProxy {
-
-REMLongClassBeanProxy(REMProxyFactoryRegistry aRegistry, Long aLong) {
- super(aRegistry, aLong);
-}
-
-/**
- * Get the beantype
- */
-public IBeanTypeProxy getTypeProxy() {
- return ((REMStandardBeanTypeProxyFactory) fFactory.getBeanTypeProxyFactory()).longClass;
-}
-
-/**
- * Render the bean into value object.
- */
-public void renderBean(Commands.ValueObject value) {
- value.set((Long) numberValue());
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMLongClassBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMLongClassBeanTypeProxy.java
deleted file mode 100644
index 7848eee18..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMLongClassBeanTypeProxy.java
+++ /dev/null
@@ -1,87 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMLongClassBeanTypeProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * Remote Implementation of IBeanTypeProxy Long.class.
- * Creation date: (2/6/00 9:01:40 AM)
- * @author: Joe Winchester
- */
-final class REMLongClassBeanTypeProxy extends REMAbstractNumberBeanTypeProxy {
-// Some values are cache'd for speed
- private final INumberBeanProxy zeroProxy;
- private final INumberBeanProxy oneProxy;
- private final INumberBeanProxy twoProxy;
- private final INumberBeanProxy threeProxy;
-/**
- * REMIntegerBeanTypeProxy constructor comment.
- * @param aClass java.lang.Class
- */
-REMLongClassBeanTypeProxy(REMProxyFactoryRegistry aRegistry, IBeanTypeProxy numberType) {
- super(aRegistry, new Integer(Commands.LONG_CLASS), Long.class.getName(), numberType);
-
- // Create the cached values
- zeroProxy = new REMLongClassBeanProxy(aRegistry, new Long(0));
- oneProxy = new REMLongClassBeanProxy(aRegistry, new Long(1));
- twoProxy = new REMLongClassBeanProxy(aRegistry, new Long(2));
- threeProxy = new REMLongClassBeanProxy(aRegistry, new Long(3));
-}
-
-/**
- * Helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- */
-INumberBeanProxy createLongBeanProxy(Long aLong) {
- if (aLong.longValue() >= 0 && aLong.longValue() < 4) {
- // Switch statements don't work with longs.
- switch(aLong.intValue()) {
- case 0: return zeroProxy;
- case 1: return oneProxy ;
- case 2: return twoProxy ;
- case 3: return threeProxy ;
- }
- }
- return new REMLongClassBeanProxy(fRegistry, aLong);
-}
-
-/**
- * Generic way to create a Long proxy, however, the Number must be a Long.
- */
-protected INumberBeanProxy createNumberBeanProxy(Number aNumber) {
- return createLongBeanProxy((Long) aNumber);
-}
-
-/**
- * newInstance method. Number's don't have a default ctor, so the standard way won't work.
- * Return the zero proxy for this case.
- */
-public IBeanProxy newInstance() {
- return zeroProxy;
-}
-
-/**
- * Create a new bean proxy the ValueObject passed in.
- * We will assume the object is correct type.
- */
-public IBeanProxy newBeanProxy(Commands.ValueObject value) {
- return createLongBeanProxy(new Long(value.aLong));
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMLongTypeBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMLongTypeBeanProxy.java
deleted file mode 100644
index bbe5720a8..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMLongTypeBeanProxy.java
+++ /dev/null
@@ -1,131 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMLongTypeBeanProxy.java,v $
- * $Revision: 1.3 $ $Date: 2005/05/11 22:41:24 $
- */
-
-
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * Remote Implementation of INumberBeanProxy for the primitive "long".
- * It can answer all of the primitive number types (int, long, short, byte, double, float).
- * Creation date: (2/6/00 9:02:54 AM)
- * @author: Joe Winchester
- */
-class REMLongTypeBeanProxy extends REMConstantBeanProxy implements INumberBeanProxy {
- private final long fLong;
-
-/**
- * It is package protected because they are created
- * in a special way and no one else should create them.
- * @param aBean java.lang.Object
- */
-REMLongTypeBeanProxy(REMProxyFactoryRegistry aRegistry, long aLong) {
- super(aRegistry);
- fLong = aLong;
-}
-/**
- * equals: Equal if:
- * 1) This proxy == (identity) to the other object
- * 2) Else if other is an IBeanProxy and not a constant one, then if
- * equals on the server.
- * 3) If this is a constant proxy and the other is too or is a constant
- * value (e.g. IStringBeanProxy.equals(String), then true if values are equals.
- */
-public boolean equals(Object anObject) {
- if (this == anObject)
- return true; // Identity
- if (anObject instanceof REMLongTypeBeanProxy)
- return fLong == ((REMLongTypeBeanProxy) anObject).longValue();
- if (anObject instanceof Long)
- return fLong == ((Long) anObject).longValue();
- return false;
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#sameAs(org.eclipse.jem.internal.proxy.core.IBeanProxy)
- */
-public boolean sameAs(IBeanProxy aBeanProxy) {
- if (this == aBeanProxy)
- return true; // Identity
- if (aBeanProxy instanceof REMLongTypeBeanProxy)
- return fLong == ((REMLongTypeBeanProxy) aBeanProxy).longValue();
- return false;
-}
-/**
- * byteValue method comment.
- */
-public byte byteValue() {
- return (byte) fLong;
-}
-/**
- * doubleValue method comment.
- */
-public double doubleValue() {
- return fLong;
-}
-/**
- * floatValue method comment.
- */
-public float floatValue() {
- return fLong;
-}
-/**
- * Return the int value
- */
-public int intValue() {
- return (int) fLong;
-}
-/**
- * longValue method comment.
- */
-public long longValue() {
- return fLong;
-}
-/**
- * numberValue method comment.
- */
-public Number numberValue() {
- return new Long(fLong);
-}
-/**
- * shortValue method comment.
- */
-public short shortValue() {
- return (short) fLong;
-}
-
-/**
- * The bean's toString.
- */
-public String toBeanString() {
- return String.valueOf(fLong);
-}
-
-/**
- * Get the beantype
- */
-public IBeanTypeProxy getTypeProxy() {
- return ((REMStandardBeanTypeProxyFactory) fFactory.getBeanTypeProxyFactory()).longType;
-}
-
-/**
- * Render the bean into value object.
- */
-public void renderBean(Commands.ValueObject value) {
- value.set(fLong);
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMLongTypeBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMLongTypeBeanTypeProxy.java
deleted file mode 100644
index 5a7e2a012..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMLongTypeBeanTypeProxy.java
+++ /dev/null
@@ -1,115 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMLongTypeBeanTypeProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * Remote Implementation of IBeanTypeProxy for Long.TYPE/
- * Creation date: (2/6/00 9:01:40 AM)
- * @author: Joe Winchester
- */
-final class REMLongTypeBeanTypeProxy extends REMPrimitiveBeanTypeProxy {
-// Some values are cache'd for speed
- private final INumberBeanProxy zeroProxy;
- private final INumberBeanProxy oneProxy;
- private final INumberBeanProxy twoProxy;
- private final INumberBeanProxy threeProxy;
-/**
- * REMIntegerBeanTypeProxy constructor comment.
- * @param aClass java.lang.Class
- */
-REMLongTypeBeanTypeProxy(REMProxyFactoryRegistry aRegistry) {
- super(aRegistry, new Integer(Commands.LONG_TYPE), Long.TYPE.getName());
-
- // Create the cached values
- zeroProxy = new REMLongTypeBeanProxy(aRegistry, 0);
- oneProxy = new REMLongTypeBeanProxy(aRegistry, 1);
- twoProxy = new REMLongTypeBeanProxy(aRegistry, 2);
- threeProxy = new REMLongTypeBeanProxy(aRegistry, 3);
-}
-
-/**
- * Helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- */
-INumberBeanProxy createLongBeanProxy(long aLong) {
- if (aLong >= 0 && aLong < 4) {
- // Switch statements don't work with longs.
- switch((int) aLong) {
- case 0: return zeroProxy;
- case 1: return oneProxy ;
- case 2: return twoProxy ;
- case 3: return threeProxy ;
- }
- }
- return new REMLongTypeBeanProxy(fRegistry, aLong);
-}
-
-/**
- * newInstance method. long is a primitive, so the standard way won't work.
- * Return the zeroProxy for this case because that is the default value.
- */
-public IBeanProxy newInstance() {
- return zeroProxy;
-}
-
-/**
- * Create a new bean proxy the ValueObject passed in.
- * We will assume the object is correct type.
- */
-public IBeanProxy newBeanProxy(Commands.ValueObject value) {
- return createLongBeanProxy(value.aLong);
-}
-
-/**
- * Short cut for newInstance where the string follows the
- * specific pattern we expect. That way it won't be necessary to ship over to the vm
- * to process it.
- *
- * The pattern it can accept is:
- * 1) (long) validNumber - number can be any number because (byte) explicitly casts it down.
- * 2) validNumber
- * It will use the decode function of long to determine the valid number.
- */
-public IBeanProxy newInstance(String initializationString) throws ThrowableProxy, ClassCastException, InstantiationException {
- String trim = initializationString.trim();
- if (trim.length() == 0)
- return super.newInstance(initializationString);
- long aLong;
- if (trim.startsWith("(long)")) { //$NON-NLS-1$
- Number v = parseString(trim.substring("(long)".length()).trim()); //$NON-NLS-1$
- if (v != null)
- aLong = v.longValue();
- else
- return super.newInstance(initializationString); // Can't decode it, let full parser handle it.
- } else {
- if (trim.charAt(trim.length()-1) == 'L' || trim.charAt(trim.length()-1) == 'l')
- trim = trim.substring(0, trim.length()-1);
- try {
- aLong = Long.decode(trim).longValue(); // See if valid long format.
- } catch (NumberFormatException e) {
- return super.newInstance(initializationString); // Can't decode it, let full parser handle it.
- }
- }
-
- return getProxyFactoryRegistry().getBeanProxyFactory().createBeanProxyWith(aLong);
-}
-
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMMasterServerThread.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMMasterServerThread.java
deleted file mode 100644
index bc4e4d1e7..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMMasterServerThread.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.remote;
-/*
- * $RCSfile: REMMasterServerThread.java,v $
- * $Revision: 1.7 $ $Date: 2005/05/18 23:11:26 $
- */
-
-import java.io.*;
-import java.net.*;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jem.internal.proxy.core.ProxyPlugin;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-
-/**
- * Master Server thread for the Remote VMs.
- *
- * It responds to the remote vm requests to this IDE.
- *
- * It is package-protected because only ProxyRemotePluguin should access it.
- * @author richkulp
- */
-class REMMasterServerThread extends Thread {
-
- protected ServerSocket masterServerSocket;
- protected REMRegistryController registryController;
- protected boolean shuttingDown = false;
-
- // Kludge: Bug in Linux 1.3.xxx of JVM. Closing a socket while the socket is being read/accept will not interrupt the
- // wait. Need to timeout to the socket read/accept before the socket close will be noticed. This has been fixed
- // in Linux 1.4. So on Linux 1.3 need to put timeouts in on those sockets that can be separately closed while reading/accepting.
- static boolean LINUX_1_3 = "linux".equalsIgnoreCase(System.getProperty("os.name")) && System.getProperty("java.version","").startsWith("1.3"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-
-
- public REMMasterServerThread(REMRegistryController registryController) {
- super("Remote Proxy Master Server Thread"); //$NON-NLS-1$
- this.registryController = registryController;
-
- try {
- masterServerSocket = new ServerSocket(0, 50, InetAddress.getByName("localhost")); // Any available port //$NON-NLS-1$
- if (LINUX_1_3)
- masterServerSocket.setSoTimeout(1000); // Linux 1.3 bug, see comment on LINUX_1_3
- } catch (SocketException e) {
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", e)); // This is bad. Should be no exceptions creating a socket. //$NON-NLS-1$
- } catch (IOException e) {
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", e)); // This is bad. Should be no exceptions creating a socket. //$NON-NLS-1$
- }
- }
-
- public ServerSocket getMasterSocket() {
- return masterServerSocket;
- }
-
- /**
- * @see java.lang.Thread#run()
- */
- public void run() {
- try {
- while (masterServerSocket != null) {
- Socket incoming = null;
- try {
- incoming = masterServerSocket.accept();
- } catch (InterruptedIOException e) {
- continue; // Timeout, try again
- } catch (NullPointerException e) {
- continue; // In Linux 1.3 case masterServerSocket could of gone null between loop test and try block.
- }
- boolean close = false; // process request will tell if socket should be closed. it may be passed onto callback thread instead.
- try {
- close = processRequest(incoming);
- } finally {
- if (close) {
- try {
- incoming.close();
- } catch (IOException e) {
- }
- }
-}
- incoming = null;
- }
- } catch (Exception e) {
- if (!shuttingDown)
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", e)); //$NON-NLS-1$
- }
-
- shutdown(); // Either a bad exception or we were closed. Either way is shutdown.
- }
-
- /**
- * Use this to request a shutdown.
- */
- public void requestShutdown() {
- if (masterServerSocket == null)
- return;
- // Closing the server socket should cause a break.
- try {
- shuttingDown = true;
- masterServerSocket.close();
- } catch (Exception e) {
- }
- return;
- }
-
- protected boolean processRequest(Socket remote) throws IOException {
- DataInputStream in = new DataInputStream(remote.getInputStream());
- DataOutputStream out = new DataOutputStream(remote.getOutputStream());
- boolean close = true; // flag indicating socket not given over to callback. Don't close the socket when done because callback has it.
- try {
- byte cmd = in.readByte();
- switch (cmd) {
- case Commands.ALIVE:
- int registryID = in.readInt();
- out.writeBoolean(registryController.getRegistry(new Integer(registryID)) != null); // Return if registry still alive
- out.flush();
- break;
-
- case Commands.REMOTE_STARTED:
- registryID = in.readInt();
- int remoteServerPort = in.readInt();
- REMProxyFactoryRegistry registry = registryController.getRegistry(new Integer(registryID));
- if (registry != null) {
- registry.setServerPort(remoteServerPort);
- out.writeBoolean(true);
- } else
- out.writeBoolean(false); // No registry
- out.flush();
- break;
-
- case Commands.ATTACH_CALLBACK:
- registryID = in.readInt();
- registry = registryController.getRegistry(new Integer(registryID));
- if (registry != null) {
- close = !((REMCallbackRegistry) registry.getCallbackRegistry()).createCallback(remote); // close if failed, don't close if good.
- out.writeBoolean(!close); // if not close, then return it worked.
- } else
- out.writeBoolean(false);
- out.flush();
- break;
- }
- } catch (Exception e) {
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", e)); //$NON-NLS-1$
- } finally {
- if (close) {
- try {
- in.close();
- } catch (IOException e) {
- }
- try {
- out.close();
- } catch (IOException e) {
- }
- }
- }
- return close;
- }
-
- private void shutdown() {
- requestShutdown();
- masterServerSocket = null;
- }
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMMethodProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMMethodProxy.java
deleted file mode 100644
index 45b1b3631..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMMethodProxy.java
+++ /dev/null
@@ -1,276 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.remote;
-/*
- * $RCSfile: REMMethodProxy.java,v $
- * $Revision: 1.11 $ $Date: 2005/06/15 20:19:11 $
- */
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.jem.internal.proxy.common.CommandException;
-import org.eclipse.jem.internal.proxy.common.remote.*;
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * Remote VM implementation of the MethodProxy
- */
-
-final class REMMethodProxy extends REMAccessibleObjectProxy implements IREMMethodProxy {
-
- private IBeanTypeProxy fDeclaringType;
- private String fMethodName;
- private IBeanTypeProxy[] fParameterTypes;
- private IBeanTypeProxy fReturnType;
-
- REMMethodProxy(REMProxyFactoryRegistry aRegistry, Integer anID) {
- super(aRegistry, anID);
- }
-
- public IBeanTypeProxy getClassType() {
- if (fDeclaringType == null)
- fDeclaringType =
- (IBeanTypeProxy) REMStandardBeanProxyConstants
- .getConstants(fFactory)
- .getMethodDeclaringClassMessage()
- .invokeCatchThrowableExceptions(
- this);
- return fDeclaringType;
- }
-
- public String getName() {
- if (fMethodName == null) {
- IStringBeanProxy proxy =
- (IStringBeanProxy) REMStandardBeanProxyConstants
- .getConstants(fFactory)
- .getMethodMethodNameMessage()
- .invokeCatchThrowableExceptions(
- this);
- if (proxy != null)
- fMethodName = proxy.stringValue();
- else
- fMethodName = ""; //$NON-NLS-1$
- }
- return fMethodName;
- }
-
- public synchronized IBeanTypeProxy[] getParameterTypes() {
- if (fParameterTypes == null) {
- IArrayBeanProxy parmTypes = (IArrayBeanProxy) REMStandardBeanProxyConstants.getConstants(fFactory)
- .getMethodParameterTypesMessage().invokeCatchThrowableExceptions(this);
- if (parmTypes == null)
- fParameterTypes = new IBeanTypeProxy[0]; // There was some error, only way null is returned
- else {
- int len = parmTypes.getLength();
- fParameterTypes = new IBeanTypeProxy[len];
- for (int i = 0; i < len; i++)
- try {
- fParameterTypes[i] = (IBeanTypeProxy) parmTypes.get(i);
- } catch (ThrowableProxy e) {
- }
- fFactory.releaseProxy(parmTypes); // Don't need the array on the server anymore.
- }
- }
-
- return fParameterTypes;
- }
-
- public IBeanTypeProxy getReturnType() {
- if (fReturnType == null)
- fReturnType =
- (IBeanTypeProxy) REMStandardBeanProxyConstants
- .getConstants(fFactory)
- .getMethodReturnTypeMessage()
- .invokeCatchThrowableExceptions(
- this);
- return fReturnType;
- }
-
- public IBeanProxy invoke(IBeanProxy subject) throws ThrowableProxy {
- return invoke(subject, (IBeanProxy[]) null);
- }
-
- public IBeanProxy invoke(IBeanProxy subject, IBeanProxy[] parms) throws ThrowableProxy {
- return invokeWithParms(subject, parms);
- }
-
- /**
- * The internal method that allows mixture of constants (e.g. String) with bean proxies.
- * A parm value can be a REMMethodProxy.ParmArray. This means this parm is an array that
- * needs to have a ValueRetriever created for it. This is used if the array has ID's in
- * it and is not an existing array on the server or all constant values.
- *
- * NOTE: It is assumed that all IBeanTypeProxies of the parms have already been retrieved.
- * It should still work, but it could be asking for them in the middle of the request
- * if they are not first gotton.
- *
- * NOTE: This is in IREMMethodProxy only so that other REM proxy implementations can access it.
- */
-
- public IBeanProxy invokeWithParms(IBeanProxy subject, final Object[] parms) throws ThrowableProxy {
- IREMConnection connect = fFactory.getFreeConnection();
- REMStandardBeanProxyFactory proxyFactory = (REMStandardBeanProxyFactory) fFactory.getBeanProxyFactory();
- proxyFactory.startTransaction(); // This is definately a transaction, so start it.
- try {
- Commands.ValueObject subjectValue = new Commands.ValueObject();
- if (subject != null)
- ((IREMBeanProxy) subject).renderBean(subjectValue);
-
- Commands.ValueObject parmsValue = new Commands.ValueObject();
-
- class Retriever implements Commands.ValueRetrieve {
- int index = 0;
- Object[] array;
- Commands.ValueObject worker = new Commands.ValueObject();
- IStandardBeanTypeProxyFactory typeFactory = fFactory.getBeanTypeProxyFactory();
-
- public Retriever(Object[] anArray) {
- array = anArray;
- }
-
- public void reset() {
- index = 0;
- }
-
- public Commands.ValueObject nextValue() {
- Object parm = array[index++];
- if (parm != null)
- if (parm instanceof IREMBeanProxy)
- ((IREMBeanProxy) parm).renderBean(worker);
- else if (parm instanceof TransmitableArray) {
- // It is another array, create a new retriever.
- worker.setArrayIDS(
- new Retriever(((TransmitableArray) parm).array),
- ((TransmitableArray) parm).array.length,
- ((TransmitableArray) parm).componentTypeID);
- } else {
- // It's an object. Need to get bean type so that we can send it.
- IREMBeanProxy type = (IREMBeanProxy) typeFactory.getBeanTypeProxy(parm.getClass().getName());
- if (type == null)
- throw new IllegalArgumentException();
- int classID = type.getID().intValue();
- worker.setAsObject(parm, classID);
- }
- else
- worker.set();
- return worker;
- }
- };
-
- Retriever retriever = null;
-
- if (parms != null) {
- // Have a local definition of the retriever so that the retriever can create
- // another one of itself if necessary.
- parmsValue.setArrayIDS(retriever = new Retriever(parms), parms.length, Commands.OBJECT_CLASS); // Create Object[].
- }
-
- Commands.ValueObject returnValue = new Commands.ValueObject();
- try {
- invoke(connect, proxyFactory, subjectValue, parmsValue, returnValue);
- return proxyFactory.getBeanProxy(returnValue);
- } catch (CommandException e) {
- if (!e.isRecoverable()) {
- // Close the connection and try again.
- fFactory.closeConnection(connect);
- connect = null;
- connect = fFactory.getFreeConnection();
- try {
- if (retriever != null)
- retriever.reset();
- invoke(connect, proxyFactory, subjectValue, parmsValue, returnValue);
- return proxyFactory.getBeanProxy(returnValue);
- } catch (CommandException eAgain) {
- // Failed again. Just close and print trace.
- fFactory.closeConnection(connect);
- connect = null;
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", eAgain)); //$NON-NLS-1$
- return null;
- }
- } else {
- // A recoverable error, print trace and return
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", e)); //$NON-NLS-1$
- return null;
- }
- }
- } finally {
- proxyFactory.stopTransaction();
- if (connect != null)
- fFactory.returnConnection(connect);
- }
- }
-
-private void invoke(
- IREMConnection connect,
- REMStandardBeanProxyFactory proxyFactory,
- Commands.ValueObject subjectValue,
- Commands.ValueObject parmsValue,
- Commands.ValueObject returnValue)
- throws ThrowableProxy, CommandException {
- try {
- connect.invokeMethod(getID().intValue(), subjectValue, parmsValue, returnValue);
- } catch (CommandErrorException e) {
- proxyFactory.processErrorReturn(e);
- }
- }
-
- public IBeanProxy invoke(IBeanProxy subject, IBeanProxy parm) throws ThrowableProxy {
- return invoke(subject, new IBeanProxy[] { parm });
- }
-
- public IBeanProxy invokeCatchThrowableExceptions(IBeanProxy subject) {
- try {
- return invoke(subject);
- } catch (ThrowableProxy e) {
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", e)); //$NON-NLS-1$
- fFactory.releaseProxy(e); // Since it's no longer needed, get rid of now instead of GC time.
- return null;
- }
- }
-
- public IBeanProxy invokeCatchThrowableExceptions(IBeanProxy subject, IBeanProxy[] parms) {
- try {
- return invoke(subject, parms);
- } catch (ThrowableProxy e) {
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", e)); //$NON-NLS-1$
- fFactory.releaseProxy(e); // Since it's no longer needed, get rid of now instead of GC time.
- return null;
- }
- }
-
- public IBeanProxy invokeCatchThrowableExceptions(IBeanProxy subject, IBeanProxy parm) {
- try {
- return invoke(subject, parm);
- } catch (ThrowableProxy e) {
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", e)); //$NON-NLS-1$
- fFactory.releaseProxy(e); // Since it's no longer needed, get rid of now instead of GC time.
- return null;
- }
- }
-
- /**
- * The type proxy is constant proxy out of the method factory.
- */
- public IBeanTypeProxy getTypeProxy() {
- return ((REMMethodProxyFactory) fFactory.getMethodProxyFactory()).methodType;
- }
-
- /**
- * The bean is being released, clear out the fields so they can be GC'd if necessary.
- * Usually only big objects and proxy fields need to be cleared.
- */
- public void release() {
- fDeclaringType = null;
- fParameterTypes = null;
- fReturnType = null;
- super.release();
- }
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMMethodProxyFactory.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMMethodProxyFactory.java
deleted file mode 100644
index 75bdc5fd9..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMMethodProxyFactory.java
+++ /dev/null
@@ -1,305 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: REMMethodProxyFactory.java,v $
- * $Revision: 1.9 $ $Date: 2005/05/11 19:01:12 $
- */
-package org.eclipse.jem.internal.proxy.remote;
-
-import java.lang.reflect.AccessibleObject;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-import org.eclipse.jem.internal.proxy.common.remote.TransmitableArray;
-
-/**
- * Factory for creating method proxies. Creation date: (12/3/99 6:29:40 PM)
- *
- * @author: Joe Winchester
- */
-public class REMMethodProxyFactory implements IMethodProxyFactory {
-
- final protected REMProxyFactoryRegistry fFactoryRegistry;
-
- // Cached copy of a few typical method type proxies.
- IREMBeanTypeProxy accessibleType;
-
- REMMethodTypeProxy methodType;
-
- REMFieldTypeProxy fieldType;
-
- REMConstructorTypeProxy ctorType;
-
- REMMethodProxy getMethodProxy;
-
- REMMethodProxyFactory(REMProxyFactoryRegistry aRegistry) {
- fFactoryRegistry = aRegistry;
- aRegistry.registerMethodProxyFactory(this);
- REMStandardBeanTypeProxyFactory typeFactory = (REMStandardBeanTypeProxyFactory) aRegistry.getBeanTypeProxyFactory();
-
- accessibleType = typeFactory.objectClass.newBeanTypeForClass(new Integer(Commands.ACCESSIBLEOBJECT_CLASS), AccessibleObject.class.getName(),
- false);
- methodType = new REMMethodTypeProxy(aRegistry, accessibleType);
- fieldType = new REMFieldTypeProxy(aRegistry, accessibleType);
- ctorType = new REMConstructorTypeProxy(aRegistry, accessibleType);
- aRegistry.getBeanTypeProxyFactory().registerBeanTypeProxy(accessibleType, true);
- aRegistry.getBeanTypeProxyFactory().registerBeanTypeProxy(methodType, true);
- aRegistry.getBeanTypeProxyFactory().registerBeanTypeProxy(fieldType, true);
- aRegistry.getBeanTypeProxyFactory().registerBeanTypeProxy(ctorType, true);
-
- getMethodProxy = (REMMethodProxy) methodType.newBeanProxy(new Integer(Commands.GET_METHOD_ID));
- ((REMStandardBeanProxyFactory) aRegistry.getBeanProxyFactory()).registerProxy(getMethodProxy);
-
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IMethodProxyFactory#getMethodProxy(java.lang.String, java.lang.String, java.lang.String[])
- */
- public IMethodProxy getMethodProxy(String className, String methodName, String[] parameterTypes) {
- IStandardBeanTypeProxyFactory typeFactory = fFactoryRegistry.getBeanTypeProxyFactory();
- IBeanTypeProxy clsProxy = typeFactory.getBeanTypeProxy(className);
- if (clsProxy == null)
- return null;
- // This will redirect to the beantype, which will go through the method cache.
- return clsProxy.getMethodProxy(methodName, parameterTypes);
- }
-
- /**
- * A helper method to get the method proxy for the expression. This is used by registries and beantype proxies. It will go through
- * the method cache to make sure we get only one.
- *
- * @param expression
- * @param aBeanTypeProxy
- * @param methodName
- * @param parmTypes
- * @return
- *
- * @since 1.1.0
- */
- public IProxyMethod getMethodProxy(IExpression expression, IProxyBeanType aBeanTypeProxy, String methodName, IProxyBeanType[] parmTypes){
- return ((REMStandardBeanTypeProxyFactory) fFactoryRegistry.getBeanTypeProxyFactory()).proxyConstants.getMethodProxy(expression, aBeanTypeProxy, methodName, parmTypes);
- }
-
- /**
- * A helper method to get the field proxy for the expression. This is used by registries and beantype proxies. It will go through
- * the method cache to make sure we get only one.
- * @param expression
- * @param aBeanTypeProxy
- * @param fieldName
- *
- * @return
- *
- * @since 1.1.0
- */
- public IProxyField getFieldProxy(IExpression expression, IProxyBeanType aBeanTypeProxy, String fieldName){
- return ((REMStandardBeanTypeProxyFactory) fFactoryRegistry.getBeanTypeProxyFactory()).proxyConstants.getFieldProxy(expression, aBeanTypeProxy, fieldName);
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IMethodProxyFactory#getFieldProxy(org.eclipse.jem.internal.proxy.core.IExpression, java.lang.String, java.lang.String)
- */
- public IProxyField getFieldProxy(IExpression expression, String className, String fieldName) {
- // We are getting the class resolved through the expression. Might as well because it probably will
- // be needed again and this way when the expression is finished it will be resolved for later usage.
- IStandardBeanTypeProxyFactory beanTypeProxyFactory = fFactoryRegistry.getBeanTypeProxyFactory();
- IProxyBeanType beanType = beanTypeProxyFactory.getBeanTypeProxy(expression, className);
- return beanType.getFieldProxy(expression, fieldName);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IMethodProxyFactory#getMethodProxy(org.eclipse.jem.internal.proxy.core.IExpression, java.lang.String, java.lang.String, java.lang.String[])
- */
- public IProxyMethod getMethodProxy(IExpression expression, String className, String methodName, String[] parameterTypes) {
- // We are getting the class and parmtypes resolved through the expression. Might as well because they probably will
- // be needed again and this way when the expression is finished they will be resolved for later usage.
- IStandardBeanTypeProxyFactory beanTypeProxyFactory = fFactoryRegistry.getBeanTypeProxyFactory();
- IProxyBeanType beanType = beanTypeProxyFactory.getBeanTypeProxy(expression, className);
- IProxyBeanType[] parmTypes = getParameterTypes(expression, parameterTypes, beanTypeProxyFactory);
- return beanType.getMethodProxy(expression, methodName, parmTypes);
- }
-
- /**
- * Helper method for BeanTypes and proxy Beantypes. So they don't need to have common code to convert string to proxy bean type.
- * @param expression
- * @param classType
- * @param methodName
- * @param parameterTypes
- * @return
- *
- * @since 1.1.0
- */
- public IProxyMethod getMethodProxy(IExpression expression, IProxyBeanType classType, String methodName, String[] parameterTypes) {
- // We are getting the class and parmtypes resolved through the expression. Might as well because they probably will
- // be needed again and this way when the expression is finished they will be resolved for later usage.
- IStandardBeanTypeProxyFactory beanTypeProxyFactory = fFactoryRegistry.getBeanTypeProxyFactory();
- IProxyBeanType[] parmTypes = getParameterTypes(expression, parameterTypes, beanTypeProxyFactory);
- return classType.getMethodProxy(expression, methodName, parmTypes);
- }
-
- /**
- * @param expression
- * @param parameterTypes
- * @param beanTypeProxyFactory
- * @return
- *
- * @since 1.1.0
- */
- protected IProxyBeanType[] getParameterTypes(IExpression expression, String[] parameterTypes, IStandardBeanTypeProxyFactory beanTypeProxyFactory) {
- IProxyBeanType[] parmTypes;
- if (parameterTypes == null || parameterTypes.length == 0)
- parmTypes = null;
- else {
- parmTypes = new IProxyBeanType[parameterTypes.length];
- for (int i = 0; i < parameterTypes.length; i++) {
- parmTypes[i] = beanTypeProxyFactory.getBeanTypeProxy(expression, parameterTypes[i]);
- }
- }
- return parmTypes;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IMethodProxyFactory#getInvokable(java.lang.String, java.lang.String, java.lang.String[])
- */
- public IInvokable getInvokable(String className, String methodName, String[] parameterTypes) {
- IStandardBeanTypeProxyFactory typeFactory = fFactoryRegistry.getBeanTypeProxyFactory();
- IBeanTypeProxy clsProxy = typeFactory.getBeanTypeProxy(className);
- if (clsProxy == null)
- return null;
- return clsProxy.getInvokable(methodName, parameterTypes);
- }
-
- /**
- * Get the method id from the remote system and create the method proxy.
- *
- * NOTE: It is public ONLY so that IBeanTypeProxy implementations can call it. It must not be used by anyone else.
- *
- * @param beanType
- * @param methodName
- * @param parameterTypes
- * @return
- *
- * @since 1.0.0
- */
- public IInvokable getInvokable(IREMBeanTypeProxy beanType, String methodName, String[] parameterTypes) {
- // First convert the parameter types into IBeanTypeProxy[].
- IREMBeanTypeProxy[] types = null;
- if (parameterTypes != null) {
- IStandardBeanTypeProxyFactory typeFactory = fFactoryRegistry.getBeanTypeProxyFactory();
- types = new IREMBeanTypeProxy[parameterTypes.length];
- for (int i = 0; i < parameterTypes.length; i++) {
- IBeanTypeProxy type = types[i] = (IREMBeanTypeProxy) typeFactory.getBeanTypeProxy(parameterTypes[i]);
- if (type == null)
- return null; // One of the parm types doesn't exist.
- }
- }
-
- return getInvokable(beanType, methodName, types);
- }
-
- /**
- * Get the method id from the remote system and create the method proxy.
- * This does not go through the method cache. It goes direct to the remote vm.
- *
- * NOTE: It is public ONLY so that IBeanTypeProxy implementations can call it. It must not be used by anyone else.
- */
- public IMethodProxy getMethodProxy(IREMBeanTypeProxy beanType, String methodName, String[] parameterTypes) {
- // First convert the parameter types into IBeanTypeProxy[].
- IBeanTypeProxy[] types = null;
- if (parameterTypes != null) {
- IStandardBeanTypeProxyFactory typeFactory = fFactoryRegistry.getBeanTypeProxyFactory();
- types = new IBeanTypeProxy[parameterTypes.length];
- for (int i = 0; i < parameterTypes.length; i++) {
- IBeanTypeProxy type = types[i] = typeFactory.getBeanTypeProxy(parameterTypes[i]);
- if (type == null)
- return null; // One of the parm types doesn't exist.
- }
- }
-
- return getMethodProxy(beanType, methodName, types);
- }
-
-
- /**
- * Get the invokable.
- *
- * NOTE: It is public ONLY so that IBeanTypeProxy implementations can call it. It must not be used by anyone else.
- * @param beanType
- * @param methodName
- * @param parameterTypes
- * @return
- *
- * @since 1.0.0
- */
- public IInvokable getInvokable(IREMBeanTypeProxy beanType, String methodName, IBeanTypeProxy[] parameterTypes) {
- return new REMInvokable(beanType, methodName, parameterTypes);
- }
-
- /**
- * Get the method id from the remote system and create the method proxy.
- * <p>
- * This does not go through the method cache. It goes direct to the remote vm.
- *
- * NOTE: It is public ONLY so that IBeanTypeProxy implementations can call it. It must not be used by anyone else.
- */
- public IMethodProxy getMethodProxy(IREMBeanTypeProxy beanType, String methodName, IBeanTypeProxy[] parameterTypes) {
- // The parms to getMethod are:
- // parm[0] = String - method name
- // parm[1] = Class[] - Parameter Classes.
- Object[] parms = new Object[] { methodName, parameterTypes != null ? (new TransmitableArray(Commands.CLASS_CLASS, parameterTypes)) : null};
- IBeanProxy result = null;
- try {
- result = getMethodProxy.invokeWithParms(beanType, parms);
- return (IMethodProxy) result;
- } catch (ThrowableProxy e) {
- fFactoryRegistry.releaseProxy(e); // Since it's not needed, get rid of now instead of GC time.
- return null;
- } catch (ClassCastException e) {
- // Some trace msgs because we keep getting into a mode after awhile (though not reproducible) that returns non-method proxies and we need
- // more info.
- StringBuffer buf = new StringBuffer("Method requested is \"" + methodName + "("); //$NON-NLS-1$ //$NON-NLS-2$
- for (int i = 0; i < parameterTypes.length; i++) {
- if (i > 0)
- buf.append(','); //$NON-NLS-1$
- buf.append(parameterTypes[i].getTypeName());
- }
- buf.append(")\""); //$NON-NLS-1$
- ProxyPlugin.getPlugin().getLogger().log(
- new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, buf.toString(), null));
- try {
- if (result != null) {
- ProxyPlugin.getPlugin().getLogger().log(
- new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0,
- "ClassCastException of result. Return type is \"" + result.getTypeProxy().getTypeName() + "\"\n" + //$NON-NLS-1$ //$NON-NLS-2$
- "Return type bean type proxy class=\"" + result.getTypeProxy().getClass().getName() + "\"\n" + //$NON-NLS-1$ //$NON-NLS-2$
- "GetMethodProxy valid=" + getMethodProxy.isValid() + "\n" + //$NON-NLS-1$ //$NON-NLS-2$
- "GetMethodProxy real name is \"" + getMethodProxy.getName() + "\"\n", null)); //$NON-NLS-1$ //$NON-NLS-2$
- }
- } catch (Exception e2) {
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", e2)); //$NON-NLS-1$
- }
- throw e; // Rethrow it.
- }
- }
-
- /*
- * Terminate the factory. Don't need to do anything because of the proxies being held onto are registered any will be cleaned up themselves.
- */
- public void terminateFactory(boolean wait) {
- }
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMMethodTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMMethodTypeProxy.java
deleted file mode 100644
index 5e74f6d21..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMMethodTypeProxy.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMMethodTypeProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * BeanType Proxy for Method class.
- */
-
-final class REMMethodTypeProxy extends REMAbstractBeanTypeProxy {
-
-REMMethodTypeProxy(REMProxyFactoryRegistry aRegistry, IBeanTypeProxy accessibleTypeProxy) {
- super(aRegistry, new Integer(Commands.METHOD_CLASS), java.lang.reflect.Method.class.getName(), accessibleTypeProxy);
-}
-
-/**
- * newBeanTypeForClass: Create a new beantypeproxy of this kind for the given class.
- * This is used by beantype proxy factory when creating a beantype proxy for a subclass.
- * This is because subclasses, unless explicitly overridden, should use the same kind
- * of beantype proxy. This way if anything special is needed for a specific type, then
- * that can be done.
- *
- * For all of the accessible object types, they are final classes, so you can't create a newBeanType
- * for subclasses.
- */
-public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract) {
- throw new UnsupportedOperationException();
-}
-
-/**
- * Specialized from REMAbstractBeanTypeProxy to ensure Constructor proxies are created correctly.
- */
-public IREMBeanProxy newBeanProxy(Integer objectID) {
- return new REMMethodProxy(fRegistry, objectID);
-}
-
-/**
- * Note: Since new instances of Constructor are never done through a default ctor,
- * this function is not supported.
- */
-public IBeanProxy newInstance() {
- throw new UnsupportedOperationException();
-}
-
-/**
- * Note: Since new instances of Constructor are never done through an initialization string,
- * this function is not supported.
- */
-public IBeanProxy newInstance(String initializationString) {
- throw new UnsupportedOperationException();
-}
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMNumberBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMNumberBeanProxy.java
deleted file mode 100644
index 268ac32db..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMNumberBeanProxy.java
+++ /dev/null
@@ -1,106 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMNumberBeanProxy.java,v $
- * $Revision: 1.3 $ $Date: 2005/05/11 22:41:24 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-/**
- * Remote Implementation of INumberBeanProxy for any Number (i.e. the non-primitives)
- * It can answer all of the primitive number types (int, long, short, byte, double, float).
- * Creation date: (2/6/00 9:02:54 AM)
- * @author: Joe Winchester
- */
-abstract class REMNumberBeanProxy extends REMConstantBeanProxy implements INumberBeanProxy {
- private final Number fNumberValue;
-
-/**
- * It is package protected because they are created
- * in a special way and no one else should create them.
- * @param aBean java.lang.Object
- */
-REMNumberBeanProxy(REMProxyFactoryRegistry aRegistry, Number aNumber) {
- super(aRegistry);
- fNumberValue = aNumber;
-}
-/**
- * equals: Equal if:
- * 1) This proxy == (identity) to the other object
- * 2) Else if other is an IBeanProxy and not a constant one, then if
- * equals on the server.
- * 3) If this is a constant proxy and the other is too or is a constant
- * value (e.g. IStringBeanProxy.equals(String), then true if values are equals.
- */
-public boolean equals(Object anObject) {
- if (this == anObject)
- return true; // Identity
- if (anObject instanceof REMNumberBeanProxy)
- return fNumberValue.equals(((REMNumberBeanProxy) anObject).numberValue());
- if (anObject instanceof Number)
- return fNumberValue.equals(anObject);
- return false;
-}
-/**
- * byteValue method comment.
- */
-public byte byteValue() {
- return fNumberValue.byteValue();
-}
-/**
- * doubleValue method comment.
- */
-public double doubleValue() {
- return fNumberValue.doubleValue();
-}
-/**
- * floatValue method comment.
- */
-public float floatValue() {
- return fNumberValue.floatValue();
-}
-/**
- * Return the int value
- */
-public int intValue() {
- return fNumberValue.intValue();
-}
-/**
- * longValue method comment.
- */
-public long longValue() {
- return fNumberValue.longValue();
-}
-/**
- * numberValue method comment.
- */
-public Number numberValue() {
- return fNumberValue;
-}
-/**
- * shortValue method comment.
- */
-public short shortValue() {
- return fNumberValue.shortValue();
-}
-
-/**
- * The bean's toString.
- */
-public String toBeanString() {
- return fNumberValue.toString();
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMPrimitiveBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMPrimitiveBeanTypeProxy.java
deleted file mode 100644
index ca8b7dff3..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMPrimitiveBeanTypeProxy.java
+++ /dev/null
@@ -1,234 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMPrimitiveBeanTypeProxy.java,v $
- * $Revision: 1.3 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * Primitive BeanType Proxies
- */
-public abstract class REMPrimitiveBeanTypeProxy extends REMAbstractBeanTypeProxy implements IREMConstantBeanTypeProxy {
-
- protected REMPrimitiveBeanTypeProxy(REMProxyFactoryRegistry aRegistry, Integer anID, String aClassname) {
- super(aRegistry, anID, aClassname, null);
- }
-
- /**
- * Return whether this is the primitive Byte.TYPE or Byte.class
- */
- public boolean isPrimitive() {
- return true;
- }
-
- /**
- * Return the null ctor proxy for this method with these arguments.
- * For all of the primitive types, this is an invalid operation.
- */
- public IConstructorProxy getNullConstructorProxy() {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Return a proxy to the constructor for the target VM being the same as the REM
- * For all of the primitive types, this is an invalid operation.
- */
- public IConstructorProxy getConstructorProxy(String[] argumentClassNames) {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Return a proxy to the constructor for the target VM being the same as the REM
- * For all of the primitive types, this is an invalid operation.
- */
- public IConstructorProxy getConstructorProxy(IBeanTypeProxy[] argumentTypes) {
- throw new UnsupportedOperationException();
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructors()
- *
- * For all of the primitive types, this is an invalid operation.
- */
- public IConstructorProxy[] getConstructors() {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Return a proxy to the constructor for the target VM being the same as the REM
- * For all of the primitive types, this is an invalid operation.
- */
- public IConstructorProxy getDeclaredConstructorProxy(String[] argumentClassNames) {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Return a proxy to the constructor for the target VM being the same as the REM
- * For all of the primitive types, this is an invalid operation.
- */
- public IConstructorProxy getDeclaredConstructorProxy(IBeanTypeProxy[] argumentTypes) {
- throw new UnsupportedOperationException();
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructors()
- *
- * For all of the primitive types, this is an invalid operation.
- */
- public IConstructorProxy[] getDeclaredConstructors() {
- throw new UnsupportedOperationException();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructors()
- *
- * For all of the primitive types, this is an invalid operation.
- */
- public IFieldProxy[] getFields() {
- throw new UnsupportedOperationException();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructors()
- *
- * For all of the primitive types, this is an invalid operation.
- */
- public IFieldProxy[] getDeclaredFields() {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Return a proxy to the field for the target VM being the same as the REM
- * For all of the primitive types, this is an invalid operation.
- */
- public IFieldProxy getFieldProxy(String fieldName) {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Return the method proxy for this method with these arguments.
- * For all of the primitive types, this is an invalid operation.
- */
- public IMethodProxy getMethodProxy(String methodName, IBeanTypeProxy[] argumentTypes) {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Return the method proxy for this method with these arguments.
- * For all of the primitive types, this is an invalid operation.
- */
- public IMethodProxy getMethodProxy(String methodName, String[] argumentClassNames) {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Return the method proxy for this method with these arguments.
- * For all of the primitive types, this is an invalid operation.
- */
- public IMethodProxy getMethodProxy(String methodName, String argumentQualifiedTypeName) {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Return the method proxy for this method with these arguments.
- * For all of the primitive types, this is an invalid operation.
- */
- public IMethodProxy getMethodProxy(String methodName) {
- throw new UnsupportedOperationException();
- }
-
-
- /**
- * Create a new bean proxy with the specified id.
- *
- * For all of the primitive types, this is an invalid operation. They are created
- * explicitly through the appropriate create method.
- */
- public IREMBeanProxy newBeanProxy(Integer anID) {
- throw new UnsupportedOperationException();
- }
-
- /**
- * newBeanTypeForClass: Create a new beantypeproxy of this kind for the given class.
- * This is used by beantype proxy factory when creating a beantype proxy for a subclass.
- * This is because subclasses, unless explicitly overridden, should use the same kind
- * of beantype proxy. This way if anything special is needed for a specific type, then
- * that can be done.
- *
- * For all of the primitive types, they aren't classes, so you can't create a newBeanType
- * for subclasses.
- */
- public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract) {
- throw new UnsupportedOperationException();
- }
-
- /**
- * release - BeanType is about to be released.
- * primitives don't need to be released, they don't hold onto any ids or resources.
- */
- public void release() {
- }
-
- /**
- * Have a string that should represent a number.
- * See if it ends in a type letter, if so parse as such.
- * See if there is an 'E' in it, then parse as a double.
- * If neither condition, then try parse as long, if that
- * fails try as double.
- */
- protected static Number parseString(String v) {
- if (v.length() == 0)
- return null;
- char last = v.charAt(v.length()-1);
- try {
- switch (last) {
- case 'd':
- case 'D':
- return Double.valueOf(v);
- case 'f':
- case 'F':
- return Float.valueOf(v);
- case 'l':
- case 'L':
- return Long.decode(v.substring(0, v.length()-1));
- }
- } catch (NumberFormatException e) {
- return null;
- }
-
- try {
- return Long.decode(v);
- } catch (NumberFormatException e) {
- try {
- return Double.valueOf(v);
- } catch (NumberFormatException e1) {
- return null;
- }
- }
- }
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getCompatibleConstructor(org.eclipse.jem.internal.proxy.core.IBeanTypeProxy[])
- */
- public IConstructorProxy getCompatibleConstructor(IBeanTypeProxy[] argumentTypes) {
- throw new UnsupportedOperationException();
- }
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getCompatibleMethod(java.lang.String, org.eclipse.jem.internal.proxy.core.IBeanTypeProxy[])
- */
- public IMethodProxy getCompatibleMethod(String methodName, IBeanTypeProxy[] argumentTypes) {
- throw new UnsupportedOperationException();
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMProxyConstants.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMProxyConstants.java
deleted file mode 100644
index 449d4fc40..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMProxyConstants.java
+++ /dev/null
@@ -1,679 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- * $RCSfile: REMProxyConstants.java,v $
- * $Revision: 1.6 $ $Date: 2005/05/18 23:11:26 $
- */
-package org.eclipse.jem.internal.proxy.remote;
-
-import java.util.*;
-import java.util.Map.Entry;
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.core.ExpressionProxy.ProxyEvent;
-
-
-
-
-/**
- * MethodProxyConstants is a cache of IMethodProxies to avoid repeated lookup
- * and thereby avoid the relatively expensive java.lang.reflect calls to repeatedly
- * lookup method by name
- *
- * @since 1.1.0
- */
-public class REMProxyConstants {
-
- private Map methodsCache = new HashMap(80);
- private Map invokablesCache = new HashMap(80);
- private Map fieldsCache = new HashMap(80);
-
- private REMProxyFactoryRegistry registry;
-
- public REMProxyConstants(REMProxyFactoryRegistry registry) {
- this.registry = registry;
- }
-
- /*
- * Used as the key to the methodCache and invokablesCache when there are parms.
- * It allows the parms to be either strings or IBeanTypeProxies without the
- * overhead of creating complicated strings.
- *
- * It will compare method name and each individual parm name without fluffing
- * up a string and building it up.
- *
- * For no parm methods, just the name of the method as a string will be the key.
- *
- * @since 1.1.0
- */
- private abstract static class MethodKey {
- public String methodName;
- public MethodKey(String methodName) {
- this.methodName = methodName;
- }
-
- protected abstract boolean compareParms(IProxyBeanType[] parms);
- protected abstract boolean compareParms(String[] parms);
-
-
- /* (non-Javadoc)
- * @see java.lang.Object#hashCode()
- */
- public int hashCode() {
- return methodName.hashCode();
- }
- }
-
- private static class MethodKeyStringParms extends MethodKey {
- public String[] parmNames;
-
- public MethodKeyStringParms(String methodName, String[] parmNames) {
- super(methodName);
- this.parmNames = parmNames;
- }
-
- /* (non-Javadoc)
- * @see java.lang.Object#equals(java.lang.Object)
- */
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- try {
- return ((MethodKey) obj).compareParms(parmNames);
- } catch (ClassCastException e) {
- return false;
- }
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.remote.REMProxyConstants.MethodKey#hashCode()
- */
- public int hashCode() {
- int h = super.hashCode();
- for (int i = 0; i < parmNames.length; i++) {
- h += parmNames[i].hashCode();
- }
- return h;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.remote.REMProxyConstants.MethodKey#compareParms(org.eclipse.jem.internal.proxy.core.IBeanTypeProxy[])
- */
- protected boolean compareParms(IProxyBeanType[] parms) {
- if (parms.length != parmNames.length)
- return false;
- for (int i = 0; i < parms.length; i++) {
- if (!parms[i].getTypeName().equals(parmNames[i]))
- return false;
- }
- return true;
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.remote.REMProxyConstants.MethodKey#compareParms(java.lang.String[])
- */
- protected boolean compareParms(String[] parms) {
- return Arrays.equals(parms, parmNames);
- }
- }
-
- private static class MethodKeyProxyParms extends MethodKey {
- public IProxyBeanType[] parmTypes;
-
- public MethodKeyProxyParms(String methodName, IProxyBeanType[] parmTypes) {
- super(methodName);
- this.parmTypes = parmTypes;
- }
-
- public Object toMethodKeyStringParms() {
- String[] parms = new String[parmTypes.length];
- for (int i = 0; i < parmTypes.length; i++) {
- parms[i] = parmTypes[i].getTypeName();
- }
- return new MethodKeyStringParms(methodName, parms);
- }
-
- /* (non-Javadoc)
- * @see java.lang.Object#equals(java.lang.Object)
- */
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- try {
- return ((MethodKey) obj).compareParms(parmTypes);
- } catch (ClassCastException e) {
- return false;
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.remote.REMProxyConstants.MethodKey#hashCode()
- */
- public int hashCode() {
- int h = super.hashCode();
- for (int i = 0; i < parmTypes.length; i++) {
- h += parmTypes[i].getTypeName().hashCode();
- }
- return h;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.remote.REMProxyConstants.MethodKey#compareParms(org.eclipse.jem.internal.proxy.core.IBeanTypeProxy[])
- */
- protected boolean compareParms(String[] parms) {
- if (parms.length != parmTypes.length)
- return false;
- for (int i = 0; i < parms.length; i++) {
- if (!parmTypes[i].getTypeName().equals(parms[i]))
- return false;
- }
- return true;
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.remote.REMProxyConstants.MethodKey#compareParms(java.lang.String[])
- */
- protected boolean compareParms(IProxyBeanType[] parms) {
- if (parms.length != parmTypes.length)
- return false;
- for (int i = 0; i < parms.length; i++) {
- if (!parmTypes[i].getTypeName().equals(parms[i].getTypeName()))
- return false;
- }
- return true;
- }
- }
-
- static int REMMETHODCOUNT = 0;
- static int UNIQUEMETHODCOUNT = 0;
- static int REMINVOKABLECOUNT = 0;
- static int UNIQUEINVOKABLECOUNT = 0;
- static int INVOKEINVOKECOUNT = 0;
- static int METHODPROXYINVOKECOUNT = 0;
- static int REMFIELDCOUNT = 0;
- static int UNIQUEFIELDCOUNT = 0;
- static int REMCONSTRUCTORCALLED = 0;
- static HashMap METHODCOUNTMAP;
- static HashMap FIELDCOUNTMAP;
- static HashMap FIELDSETCOUNTMAP;
- static boolean GATHER_COUNTS;
-
- /**
- * Set if counts should be gathered.
- *
- * @param gatherCounts
- *
- * @since 1.1.0
- */
- public static void setGatherCounts(boolean gatherCounts) {
- if (gatherCounts != GATHER_COUNTS) {
- reset();
- if (gatherCounts) {
- if (METHODCOUNTMAP == null) {
- METHODCOUNTMAP = new HashMap();
- FIELDCOUNTMAP = new HashMap();
- FIELDSETCOUNTMAP = new HashMap();
- }
- }
- GATHER_COUNTS = gatherCounts;
- }
- }
-
-
- public static void reset(){
- REMMETHODCOUNT = UNIQUEMETHODCOUNT = REMINVOKABLECOUNT = UNIQUEINVOKABLECOUNT = REMCONSTRUCTORCALLED = METHODPROXYINVOKECOUNT = INVOKEINVOKECOUNT = REMFIELDCOUNT = UNIQUEFIELDCOUNT = 0;
- if (GATHER_COUNTS) {
- METHODCOUNTMAP.clear();
- FIELDCOUNTMAP.clear();
- FIELDSETCOUNTMAP.clear();
- }
- }
-
- public static void println(){
-
- if (GATHER_COUNTS) {
- System.out.println("--------------------------------------------------"); //$NON-NLS-1$
- System.out.println("Method proxies invokes = " + METHODPROXYINVOKECOUNT); //$NON-NLS-1$
- System.out.println("Invoke invokes = " + INVOKEINVOKECOUNT); //$NON-NLS-1$
- System.out.println(".................................................."); //$NON-NLS-1$
- System.out.println("Methods retrieved = " + REMMETHODCOUNT + "(" + UNIQUEMETHODCOUNT + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- System.out.println("Invokes retrieved = " + REMINVOKABLECOUNT + "(" + UNIQUEINVOKABLECOUNT + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- System.out.println("Fields retrieved = " + REMFIELDCOUNT + "(" + UNIQUEFIELDCOUNT + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- System.out.println("Constructor calls = " + REMCONSTRUCTORCALLED); //$NON-NLS-1$
- System.out.println("--------------------------------------------------"); //$NON-NLS-1$
- System.out.println("-Count of methods invoked-------------------------"); //$NON-NLS-1$
- System.out.println("--------------------------------------------------"); //$NON-NLS-1$
-
- // Collate the methods called
- Iterator entries = METHODCOUNTMAP.entrySet().iterator();
- while (entries.hasNext()) {
- Map.Entry entry = (Entry) entries.next();
- REMMethodProxy methodProxy = (REMMethodProxy) entry.getKey();
- System.out.println(methodProxy.getClassType().getTypeName() + "," + methodProxy.getName() + "," + entry.getValue()); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- System.out.println("--------------------------------------------------"); //$NON-NLS-1$
- System.out.println("-Count of fields get called ----------------------"); //$NON-NLS-1$
- System.out.println("--------------------------------------------------"); //$NON-NLS-1$
-
- // Collate the fields accessed
- entries = FIELDCOUNTMAP.entrySet().iterator();
- while (entries.hasNext()) {
- Map.Entry entry = (Entry) entries.next();
- REMFieldProxy fieldProxy = (REMFieldProxy) entry.getKey();
- System.out.println(fieldProxy.toBeanString() + "," + entry.getValue()); //$NON-NLS-1$
- }
-
- System.out.println("--------------------------------------------------"); //$NON-NLS-1$
- System.out.println("-Count of fields set called ----------------------"); //$NON-NLS-1$
- System.out.println("--------------------------------------------------"); //$NON-NLS-1$
-
- // Collate the fields set
- entries = FIELDSETCOUNTMAP.entrySet().iterator();
- while (entries.hasNext()) {
- Map.Entry entry = (Entry) entries.next();
- REMFieldProxy fieldProxy = (REMFieldProxy) entry.getKey();
- System.out.println(fieldProxy.toBeanString() + "," + entry.getValue()); //$NON-NLS-1$
- }
- }
-
- }
-
-/**
- * @param aBeanTypeProxy = BeanTypeProxy for the method
- * @param methodName = methodName to be looked for
- * @param parmTypes = array of qualified type names for the method arguments, null if no methods
- */
- public IMethodProxy getMethodProxy(IBeanTypeProxy aBeanTypeProxy, String methodName, String[] parmTypes){
- if (!registry.isValid())
- return null;
-
- REMMETHODCOUNT++;
- Map methods;
- Object key;
- synchronized (this) {
- // The classCache map is keyed by the BeanTypeProxy and holds a further map of cache'd methods
- methods = getMethods(aBeanTypeProxy);
-
- // The syntax of the key is methodName(parmType1,parmType2)
- if (parmTypes == null || parmTypes.length == 0) {
- key = methodName;
- } else {
- key = new MethodKeyStringParms(methodName, parmTypes);
- }
-
- IMethodProxy result = (IMethodProxy) methods.get(key);
- if (result != null)
- return result;
- }
-
- UNIQUEMETHODCOUNT++;
- // Get the method proxy and cache this before returning it
- // Get the method proxy and cache this before returning it
- REMMethodProxyFactory proxyFactory = (REMMethodProxyFactory) registry.getMethodProxyFactory();
- IMethodProxy result = proxyFactory.getMethodProxy((IREMBeanTypeProxy)aBeanTypeProxy,methodName,parmTypes);
- synchronized (this) {
- // Get it again to make sure it hasn't changed due to a race condition. We don't sync for the getMethodProxy because that goes to the remote vm and could deadlock.
- IMethodProxy mValue = (IMethodProxy) methods.get(key);
- if (mValue != null && mValue != result) {
- registry.releaseProxy(result); // Don't need the result now, got it through a race condition.
- return mValue; // We have a real value now.
- }
- methods.put(key, result);
- }
- return result;
- }
-/**
- * @param aBeanTypeProxy
- * @return Map of cache'd methods
- */
-private Map getMethods(IProxyBeanType aBeanTypeProxy) {
- Map methods = (Map) methodsCache.get(aBeanTypeProxy.getTypeName());
- if(methods == null){
- methods = new HashMap(20);
- methodsCache.put(aBeanTypeProxy.getTypeName(),methods);
- }
- return methods;
-}
-/**
- * @param aBeanTypeProxy
- * @return Map of cache'd invokables
- */
-private Map getInvokables(IBeanTypeProxy aBeanTypeProxy) {
- Map invokables = (Map) invokablesCache.get(aBeanTypeProxy);
- if(invokables == null){
- invokables = new HashMap(20);
- invokablesCache.put(aBeanTypeProxy,invokables);
- }
- return invokables;
-}
-/**
- * @param aBeanTypeProxy
- * @return Map of cache'd fields
- */
-private Map getFields(IProxyBeanType aBeanTypeProxy) {
- Map fields = (Map) fieldsCache.get(aBeanTypeProxy.getTypeName());
- if(fields == null){
- fields = new HashMap(20);
- fieldsCache.put(aBeanTypeProxy.getTypeName(),fields);
- }
- return fields;
-}
-/**
- * @param aBeanTypeProxy = BeanTypeProxy for the method
- * @param methodName = methodName to be looked for
- * @param parmTypes = array of qualified type names for the method arguments, null if no arguments
- */
- public IInvokable getInvokable(IBeanTypeProxy aBeanTypeProxy, String invokableName, String[] parmTypeNames){
-
- REMINVOKABLECOUNT++;
- // The classCache map is keyed by the BeanTypeProxy and holds a further map of cache'd methods
- Map invokables = getInvokables(aBeanTypeProxy);
-
- Object key = null;
- if(parmTypeNames == null || parmTypeNames.length == 0){
- key = invokableName;
- } else {
- key = new MethodKeyStringParms(invokableName, parmTypeNames);
- }
-
- IInvokable result = (IInvokable) invokables.get(key);
- if(result != null) return result;
-
- UNIQUEINVOKABLECOUNT++;
- // Get the method proxy and cache this before returning it
- // Get the method proxy and cache this before returning it
- REMMethodProxyFactory proxyFactory = (REMMethodProxyFactory) aBeanTypeProxy.getProxyFactoryRegistry().getMethodProxyFactory();
- result = proxyFactory.getInvokable((IREMBeanTypeProxy)aBeanTypeProxy,invokableName,parmTypeNames);
- invokables.put(key,result);
- return result;
-
- }
- /**
- * @param aBeanTypeProxy = BeanTypeProxy for the method
- * @param methodName = methodName to be looked for
- * @param parmTypes = array of IBeanTypeProxy types for the method arguments, null if no arguments
- */
- public IInvokable getInvokable(IBeanTypeProxy aBeanTypeProxy, String invokableName, IBeanTypeProxy[] parmTypes){
-
- REMINVOKABLECOUNT++;
- // The classCache map is keyed by the BeanTypeProxy and holds a further map of cache'd methods
- Map invokables = getInvokables(aBeanTypeProxy);
-
- Object key = null;
- if(parmTypes == null || parmTypes.length == 0){
- key = invokableName;
- } else {
- key = new MethodKeyProxyParms(invokableName, parmTypes);
- }
-
- IInvokable result = (IInvokable) invokables.get(key);
- if(result != null) return result;
-
- UNIQUEINVOKABLECOUNT++;
- // Get the method proxy and cache this before returning it
- // Get the method proxy and cache this before returning it
- REMMethodProxyFactory proxyFactory = (REMMethodProxyFactory) aBeanTypeProxy.getProxyFactoryRegistry().getMethodProxyFactory();
- result = proxyFactory.getInvokable((IREMBeanTypeProxy)aBeanTypeProxy,invokableName,parmTypes);
- invokables.put(key,result);
- return result;
-
- }
-/**
- * @param aBeanTypeProxy = BeanTypeProxy for the method
- * @param methodName = methodName to be looked for
- * @param parmTypes = array of qualified type names for the method arguments, null if no methods
- */
- public IMethodProxy getMethodProxy(IBeanTypeProxy aBeanTypeProxy, String methodName, IBeanTypeProxy[] parmTypes){
- if (!registry.isValid())
- return null;
-
- REMMETHODCOUNT++;
- // The classCache map is keyed by the BeanTypeProxy and holds a further map of cache'd methods
- Map methods;
- Object key;
- synchronized (this) {
- methods = getMethods(aBeanTypeProxy);
-
- key = null;
- if (parmTypes == null || parmTypes.length == 0) {
- key = methodName;
- } else {
- key = new MethodKeyProxyParms(methodName, parmTypes);
- }
-
- IMethodProxy result = (IMethodProxy) methods.get(key);
- if (result != null)
- return result;
- }
-
- UNIQUEMETHODCOUNT++;
- // Get the method proxy and cache this before returning it
- // Get the method proxy and cache this before returning it
- REMMethodProxyFactory proxyFactory = (REMMethodProxyFactory) registry.getMethodProxyFactory();
- IMethodProxy result = proxyFactory.getMethodProxy((IREMBeanTypeProxy)aBeanTypeProxy,methodName,parmTypes);
- synchronized (this) {
- // Get it again to make sure it hasn't changed due to a race condition. We don't sync for the getMethodProxy because that goes to the remote vm and could deadlock.
- IMethodProxy mValue = (IMethodProxy) methods.get(key);
- if (mValue != null && mValue != result) {
- registry.releaseProxy(result); // Don't need result now, got it already through a race condition.
- return mValue; // We have a real value now.
- }
- methods.put(key, result);
- }
-
- return result;
- }
-
- /**
- * Return the proxy method for the method through the expression.
- * @param expression
- * @param aBeanTypeProxy
- * @param methodName
- * @param parmTypes
- * @return either the IMethodProxy if already resolved or an ExpressionProxy if not yet resolved.
- *
- * @since 1.1.0
- */
- public IProxyMethod getMethodProxy(IExpression expression, IProxyBeanType aBeanTypeProxy, String methodName, IProxyBeanType[] parmTypes){
- if (!registry.isValid())
- return null;
-
- REMMETHODCOUNT++;
- Map methods;
- Map epMethods;
- Object key;
- boolean isKey;
- synchronized (this) {
- // The classCache map is keyed by the BeanTypeProxy name and holds a further map of cache'd methods
- methods = getMethods(aBeanTypeProxy);
-
- if (parmTypes == null || parmTypes.length == 0) {
- key = methodName;
- isKey = false;
- } else {
- key = new MethodKeyProxyParms(methodName, parmTypes);
- isKey = true;
- }
-
- IProxyMethod result = (IProxyMethod) methods.get(key);
- if (result != null)
- return result;
-
- // See if stored in the expression.
- epMethods = ((REMExpression) expression).getMethods(aBeanTypeProxy);
- result = (IProxyMethod) epMethods.get(key);
- if (result != null)
- return result;
- }
-
- UNIQUEMETHODCOUNT++;
- // Get the method expression proxy and cache this before returning it
- IProxyMethod result = ((Expression) expression).createMethodExpressionProxy(aBeanTypeProxy,methodName,parmTypes);
- epMethods.put(key, result);
- final Object epKey = key;
- final Map rMethods = methods;
- final Map fepMethods = epMethods;
- final boolean isKeyType = isKey;
- ((ExpressionProxy) result).addProxyListener(new ExpressionProxy.ProxyAdapter() {
- public void proxyResolved(ProxyEvent event) {
- synchronized (REMProxyConstants.this) {
- if (rMethods.containsKey(epKey))
- return; // We already have a true method proxy in there. A race condition occurred.
-
- // Now put this resolved guy into the methods.
- // We don't want the key to contain expression proxies in the final map, so if it is a key type
- // we will turn it into a string type key.
- Object key;
- if (isKeyType) {
- key = ((MethodKeyProxyParms) epKey).toMethodKeyStringParms(); // So that we don't put a ket that contains expression proxy parm types into the main map.
- } else
- key = epKey;
-
- rMethods.put(key, event.getProxy());
- }
- }
-
- public void proxyNotResolved(ExpressionProxy.ProxyEvent event) {
- synchronized (REMProxyConstants.this) {
- fepMethods.remove(epKey);
- }
- }
-
- });
- return result;
- }
-
- /**
- * @param proxy
- */
- static void methodInvoked(REMMethodProxy proxy) {
-
- if (GATHER_COUNTS) {
- Integer count = (Integer) METHODCOUNTMAP.get(proxy);
- if (count == null) {
- METHODCOUNTMAP.put(proxy, new Integer(1));
- } else {
- METHODCOUNTMAP.put(proxy, new Integer(count.intValue() + 1));
- }
- }
- }
-
- static void fieldGetInvoked(IBeanProxy proxy) {
-
- if (GATHER_COUNTS) {
- Integer count = (Integer) FIELDCOUNTMAP.get(proxy);
- if (count == null) {
- FIELDCOUNTMAP.put(proxy, new Integer(1));
- } else {
- FIELDCOUNTMAP.put(proxy, new Integer(count.intValue() + 1));
- }
- }
- }
-
- static void fieldSetInvoked(IBeanProxy proxy, IBeanProxy value) {
-
- if (GATHER_COUNTS) {
- Integer count = (Integer) FIELDSETCOUNTMAP.get(proxy);
- if (count == null) {
- FIELDSETCOUNTMAP.put(proxy, new Integer(1));
- } else {
- FIELDSETCOUNTMAP.put(proxy, new Integer(count.intValue() + 1));
- }
- }
- }
-
- /**
- * @param proxy for the BeanType of the field
- * @param fieldName of the field, e.g. (java.awt.Dimension, width) for the "width" field on Dimension
- * @return The field proxy that is cache'd for performance
- */
- public IFieldProxy getFieldProxy(REMAbstractBeanTypeProxy aBeanTypeProxy, String fieldName) {
- if (!registry.isValid())
- return null;
-
- REMFIELDCOUNT++;
- Map fields;
- synchronized (this) {
- // The field map is keyed by the BeanTypeProxy and holds a further map of cache'd fields
- fields = getFields(aBeanTypeProxy);
-
- // Lookup the cache'd Field proxy
- IFieldProxy result = (IFieldProxy) fields.get(fieldName);
- if (result != null)
- return result;
- }
-
- UNIQUEFIELDCOUNT++;
- IFieldProxy result = (IFieldProxy) REMStandardBeanProxyConstants.getConstants(aBeanTypeProxy.getProxyFactoryRegistry()).getClassGetField().invokeCatchThrowableExceptions(
- aBeanTypeProxy,
- registry.getBeanProxyFactory().createBeanProxyWith(fieldName));
- synchronized (this) {
- IFieldProxy fValue = (IFieldProxy) fields.get(fieldName);
- if (fValue != null) {
- registry.releaseProxy(result); // Don't need it now. A race had put another one in.
- return fValue;
- }
- fields.put(fieldName,result);
- }
- return result;
- }
-
- public IProxyField getFieldProxy(IExpression expression, IProxyBeanType aBeanTypeProxy, final String fieldName){
- if (!registry.isValid())
- return null;
-
- REMFIELDCOUNT++;
- Map fields;
- Map epFields;
- synchronized (this) {
- // The classCache map is keyed by the BeanTypeProxy name and holds a further map of cache'd methods
- fields = getFields(aBeanTypeProxy);
-
- IProxyField result = (IProxyField) fields.get(fieldName);
- if (result != null)
- return result;
-
- // See if stored in the expression.
- epFields = ((REMExpression) expression).getFields(aBeanTypeProxy);
- result = (IProxyField) epFields.get(fieldName);
- if (result != null)
- return result;
- }
-
- UNIQUEFIELDCOUNT++;
- // Get the field expression proxy and cache this before returning it
- IProxyField result = ((REMExpression) expression).createFieldExpressionProxy(aBeanTypeProxy, fieldName);
- epFields.put(fieldName, result);
- final Map fpFields = fields;
- final Map fepFields = epFields;
- ((ExpressionProxy) result).addProxyListener(new ExpressionProxy.ProxyAdapter() {
-
- public void proxyResolved(ProxyEvent event) {
- synchronized (REMProxyConstants.this) {
- if (fpFields.containsKey(fieldName))
- return; // Already set to resolved value by someone else.
- fpFields.put(fieldName, event.getProxy());
- }
- }
- public void proxyNotResolved(ExpressionProxy.ProxyEvent event) {
- synchronized (REMProxyConstants.this) {
- fepFields.remove(fieldName);
- }
- }
- });
-
- return result;
- }
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMProxyFactoryRegistry.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMProxyFactoryRegistry.java
deleted file mode 100644
index 50fc4b850..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMProxyFactoryRegistry.java
+++ /dev/null
@@ -1,475 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.remote;
-/*
- * $RCSfile: REMProxyFactoryRegistry.java,v $
- * $Revision: 1.23 $ $Date: 2005/06/21 20:35:07 $
- */
-
-
-import java.io.IOException;
-import java.net.Socket;
-import java.text.MessageFormat;
-import java.util.Iterator;
-import java.util.Stack;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.IJobManager;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.debug.core.*;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.model.IStreamsProxy;
-
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * This is the factory registry to use for Remote VM.
- * It adds to the standard registry, connection specific information.
- *
- * This will always hold onto one connection open until termination is requested.
- * That way while the IDE is up, the remove vm won't time out.
- */
-
-public class REMProxyFactoryRegistry extends BaseProxyFactoryRegistry {
-
- public static final String REMOTE_REGISTRY_TYPE_ID = "org.eclipse.jem.REMOTE"; //$NON-NLS-1$
-
- protected int fServerPort = 0; // The server port to use when making connections.
- protected REMCallbackRegistry fCallbackServer; // The callback server thread for this remote vm.
- protected Stack fConnectionPool = new Stack(); // Stack of free connections.
- protected static int NUMBER_FREE_CONNECTIONS = 5; // Number of free connections to keep open.
- protected IProcess fProcess; // The process that is the server. If null and fServerPort is not zero,
- // then this registry is in test mode
- // and the server is in same the process.
- protected String fName;
- protected int fCallbackServerPort;
- protected Integer fRegistryKey;
- protected REMRegistryController fRegistryController;
-
- protected final static Object TERMINATE_JOB_FAMILY = new Object();
-
- // Package protected because only the ProxyVMStarter should set this flag. It would set it if
- // working with a debugger because we don't how long it will be to respond to requests when
- // someone is working with a debugger.
- boolean fNoTimeouts = false;
-
- // This is set via the static setGlobalNoTimeouts() method, or via debug options flag. It is here so that
- // when debugging callbacks, but not debugging remote vm, that no timeouts for any registry will occur.
- // Or it can be set through the debug .options flag.
- static boolean fGlobalNoTimeouts = "true".equalsIgnoreCase(Platform.getDebugOption(ProxyPlugin.getPlugin().getBundle().getSymbolicName()+ProxyRemoteUtil.NO_TIMEOUTS)); //$NON-NLS-1$;
-
- /**
- * Typicall set through the "expression" evaluation of the debugger.
- * @param noTimeouts
- *
- * @since 1.0.0
- */
- public static void setGlobalNoTimeouts(boolean noTimeouts) {
- fGlobalNoTimeouts = noTimeouts;
- }
-
- // An internal thread that locks and waits for the remote vm to register itself.
- private WaitForRegistrationThread waitRegistrationThread;
-
- private class WaitForRegistrationThread extends Thread {
- public WaitForRegistrationThread() {
- super("Wait for remote vm registration thread"); //$NON-NLS-1$
- }
-
- /**
- * @see java.lang.Thread#run()
- */
- public void run() {
- // Wait for registration. Put it into a thread so this
- // can occur while other stuff goes on. It locks the fConnectionPool
- // until done so that the first request for a connection by anyone
- // else will wait until this thread is finished.
-
- synchronized(fConnectionPool) {
- synchronized(REMProxyFactoryRegistry.this) {
- // Notify the main thread that we have the
- // connection pool locked.
- REMProxyFactoryRegistry.this.notifyAll();
- }
- synchronized (this) {
- // sync on self so that it can be notified when finally receive the registration
- long stopTime = System.currentTimeMillis()+60000;
- while (waitRegistrationThread != null && (fNoTimeouts || System.currentTimeMillis() < stopTime)) {
- try {
- Thread.currentThread().wait(60000);
- } catch (InterruptedException e) {
- }
- }
- }
- }
-
- waitRegistrationThread = null; // No longer exists.
- }
- }
-
-
- public REMProxyFactoryRegistry(REMRegistryController registryController, String name) {
- super(REMOTE_REGISTRY_TYPE_ID);
- fRegistryController = registryController;
- fRegistryKey = fRegistryController.registerRegistry(this); // Register the registry with the plugin.
- fName = name;
-
- // Get the waitRegistrationThread started before we actually launch remote vm so
- // that it is waiting when the callback comes in.
- synchronized (this) {
- waitRegistrationThread = new WaitForRegistrationThread();
- waitRegistrationThread.start();
-
- // Now we will wait until the registration callback has been done. The thread will
- // signal us when that is done. This is so that we don't continue on and let
- // a work connection be requested before we even got a chance to start waiting
- // for the registration.
- while(true) {
- try {
- wait();
- break;
- } catch (InterruptedException e) {
- }
- };
- }
- }
-
- public Integer getRegistryKey() {
- return fRegistryKey;
- }
-
- public void initializeRegistry(IProcess process) {
- fProcess = process;
- processListener = new IDebugEventSetListener() {
- /**
- * @see org.eclipse.debug.core.IDebugEventSetListener#handleDebugEvents(DebugEvent[])
- */
- public void handleDebugEvents(DebugEvent[] events) {
- for (int i = 0; i < events.length; i++) {
- DebugEvent e = events[i];
- if (e.getSource() == fProcess && e.getKind() == DebugEvent.TERMINATE) {
- // We terminating too soon. Pop up a msg.
- IStreamsProxy stProxy = fProcess.getStreamsProxy();
- java.io.StringWriter s = new java.io.StringWriter();
- java.io.PrintWriter w = new java.io.PrintWriter(s);
-
- String msg = MessageFormat.format(ProxyRemoteMessages.Proxy_Terminated_too_soon_ERROR_, new Object[] {fName});
- w.println(msg);
- w.println(ProxyRemoteMessages.VM_TERMINATED_INFO_);
- w.println(ProxyRemoteMessages.VM_TERMINATED_LINE1);
- w.println(stProxy.getErrorStreamMonitor().getContents());
- w.println(ProxyRemoteMessages.VM_TERMINATED_LINE2);
- w.println(stProxy.getOutputStreamMonitor().getContents());
- w.println(ProxyRemoteMessages.VM_TERMINATED_LINE3);
- w.close();
-
- DebugModeHelper dh = new DebugModeHelper();
- dh.displayErrorMessage(ProxyRemoteMessages.Proxy_Error_Title, msg);
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, s.toString(), null));
- processListener = null;
- DebugPlugin.getDefault().removeDebugEventListener(this);
- terminateRegistry();
- break;
- }
- }
- }
- };
-
- DebugPlugin.getDefault().addDebugEventListener(processListener);
- }
-
- private IDebugEventSetListener processListener = null;
-
- /**
- * Get the CallbackRegistry
- */
- public ICallbackRegistry getCallbackRegistry() {
- if (fCallbackServer == null)
- fCallbackServer = new REMCallbackRegistry(fName, this);
- return fCallbackServer;
- }
-
- /**
- * This is called by the registry controller to tell
- * the registry to terminate with prejudice all
- * pending TerminateJobs.
- *
- *
- * @since 1.1.0
- */
- public static void cancelAllTerminateJobs() {
- IJobManager jobManager = Platform.getJobManager();
- jobManager.cancel(TERMINATE_JOB_FAMILY);
- try {
- jobManager.join(TERMINATE_JOB_FAMILY, null);
- } catch (OperationCanceledException e) {
- } catch (InterruptedException e) {
- }
- }
-
- private static class TerminateProcess extends Job {
- private IProcess process;
-
- public TerminateProcess(IProcess process) {
- super(ProxyRemoteMessages.REMProxyFactoryRegistry_Job_TerminateProcess_Title);
- this.process = process;
- }
-
- public boolean belongsTo(Object family) {
- return family == TERMINATE_JOB_FAMILY || super.belongsTo(family);
- }
-
-
- /* (non-Javadoc)
- * @see java.lang.Thread#run()
- */
- public IStatus run(IProgressMonitor mon) {
- try {
- // There is no join on a process available, so we will have to
- // busy wait. Give it 10 seconds in 1/10 second intervals.
- for (int i=0; !process.isTerminated() && i<100; i++) {
- try {
- Thread.sleep(100);
- } catch (InterruptedException e) {
- }
- }
- if (!process.isTerminated()) {
- process.terminate();
- }
- } catch (DebugException e) {
- }
- return Status.OK_STATUS;
- }
- }
-
- protected void registryTerminated(boolean wait) {
- if (processListener != null) {
- // Remove listener cause we are now going to terminate process and don't want premature terminate notice.
- // Sometimes in shutdown we are called and the debug plugin may of already been shutdown. In that case the db
- // will be null and there is nothing remove listener from.
- DebugPlugin db = DebugPlugin.getDefault();
- if (db != null)
- db.removeDebugEventListener(processListener);
- processListener = null;
- }
-
- Job tjob = null;
- if (fServerPort != 0) {
- if (waitRegistrationThread != null) {
- synchronized (waitRegistrationThread) {
- // Still waiting. close it out.
- WaitForRegistrationThread wThread = waitRegistrationThread;
- waitRegistrationThread = null;
- wThread.notifyAll();
- }
- }
-
- IREMConnection closeCon = null; // The connection we will use to close the remote vm.
- synchronized(fConnectionPool) {
- // Now we walk through all of the free connections and close them properly.
- Iterator itr = fConnectionPool.iterator();
- if (itr.hasNext())
- closeCon = (IREMConnection) itr.next();
- while (itr.hasNext()) {
- IREMConnection con = (IREMConnection) itr.next();
- con.close();
- }
- }
-
- // Now we terminate the server.
- if (closeCon == null)
- try {
- closeCon = getFreeConnection(); // There weren't any free connections, so get a new one so that we can close it.
- } catch (IllegalStateException e) {
- // Do nothing, don't want to stop termination just because we can't get a connection.
- }
- if (closeCon != null) {
- closeCon.terminateServer(); // We got a connection to terminate (process may of terminated early, so we would not have a conn then).
- }
- fConnectionPool.clear();
- fServerPort = 0;
-
- if (fProcess != null && fRegistryController.inShutDown()) {
- tjob = new TerminateProcess(fProcess);
- tjob.setSystem(true);
- tjob.schedule();
- fProcess = null;
- }
- }
-
- if (fCallbackServer != null) {
- fCallbackServer.requestShutdown();
- fCallbackServer = null;
- }
-
- fConnectionPool.clear();
- fRegistryController.deregisterRegistry(fRegistryKey); // De-register this registry.
-
- if (wait && tjob != null) {
- try {
- tjob.join();
- } catch (InterruptedException e) {
- // It timed out, so we'll just go on.
- }
- }
- }
-
- /**
- * Return the server port number.
- */
- public int getServerPort() {
- return fServerPort;
- }
-
- /*
- * set the server port.
- */
- void setServerPort(int serverport) {
- fServerPort = serverport;
- if (waitRegistrationThread != null) {
- synchronized (waitRegistrationThread) {
- // Close it out, we are now registered
- WaitForRegistrationThread wThread = waitRegistrationThread;
- waitRegistrationThread = null;
- wThread.notifyAll();
- }
- }
- }
-
- /**
- * Get a free connection
- * @return
- * @throws IllegalStateException - Thrown if a connection cannot be created.
- *
- * @since 1.0.0
- */
- public IREMConnection getFreeConnection() throws IllegalStateException {
- Thread thread = Thread.currentThread();
- if (thread instanceof REMCallbackThread) {
- // The current thread is a call back thread, so just reuse the connection.
- // But this thread could actually be trying to access another registry.
- // So if this thread is for this registry, use it, if not for this registry, create a new connection.
- // But if for this registry AND is already in a transaction, we need a fresh connection.
- REMCallbackThread callbackThread = (REMCallbackThread) thread;
- if (callbackThread.registry == this && !callbackThread.inTransaction()) {
- // This way any calls out to the remote vm will be on same thread as callback caller
- // on remote vm because that thread is waiting on this connection for commands.
- IREMConnection c = (callbackThread).getConnection();
- if (c.isConnected())
- return c;
- else
- throw new IllegalStateException(ProxyRemoteMessages.REMProxyFactoryRegistry_CallbackConnectionNotWorking_EXC_);
- }
- }
- synchronized(fConnectionPool) {
- if (!fConnectionPool.isEmpty())
- return (IREMConnection) fConnectionPool.pop();
- // else we need to allocate one.
- return createConnection();
- }
- }
-
-
- /**
- * Make a new connection.
- * @return
- * @throws IllegalStateException - Thrown if connection cannot be created.
- *
- * @since 1.0.0
- */
- protected IREMConnection createConnection() throws IllegalStateException {
- // If we have a server port, then the server is probably open. If we don't then there is no server.
- if (fServerPort != 0) {
- // We are putting it off into a thread because there are no timeout capabilities on getting a socket.
- // So we need to allow for that.
- final Socket[] scArray = new Socket[1];
- final boolean[] waiting = new boolean[] {true};
- Thread doIt = new Thread(new Runnable() {
- public void run() {
- try {
- Socket sc = new Socket("localhost", fServerPort); //$NON-NLS-1$
- synchronized (this) {
- if (waiting[0])
- scArray[0] = sc;
- else
- sc.close(); // We are no longer waiting on this thread so close the socket since no one will use it.
- }
- } catch (IOException e) {
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", e)); //$NON-NLS-1$
- }
- }
- });
-
- doIt.start();
- while (true) {
- try {
- doIt.join(!fNoTimeouts ? 60000 : 0);
- synchronized (doIt) {
- waiting[0] = false; // To let it know we are no longer waiting
- }
- break;
- } catch (InterruptedException e) {
- }
- }
-
- if (scArray[0] == null) {
- // Log where we are at so we can know where it was we down.
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", new IllegalStateException(ProxyRemoteMessages.REMProxyFactoryRegistry_ConnectionCreationFailed_INFO_)));
- throw new IllegalStateException(ProxyRemoteMessages.REMProxyFactoryRegistry_CouldNotCreateSocketConnectionToRemoteVM_EXC_); // Couldn't get one, probably server is down. //$NON-NLS-1$
- }
-
- REMConnection connection = new REMConnection(scArray[0], fNoTimeouts);
- if (connection.isConnected())
- return connection;
-
- // Failed, close the socket.
- try {
- scArray[0].close();
- } catch (IOException e) {
- }
- } else
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "No Server to retrieve a connection.", null)); ///$NON-NLS-1$
-
- throw new IllegalStateException(ProxyRemoteMessages.REMProxyFactoryRegistry_CouldNotCreateSocketConnectionToRemoteVM_EXC_);
- }
-
- /**
- * Free the connection
- */
- public void returnConnection(IREMConnection connection) {
- if (connection.isConnected()) {
- Thread thread = Thread.currentThread();
- if (!(thread instanceof REMCallbackThread) || ((REMCallbackThread) thread).getConnection() != connection) {
- // We are not a callback thread, or we are but the connection is not for the thread, then the connection
- // can be returned.
- synchronized (fConnectionPool) {
- if (fConnectionPool.size() < NUMBER_FREE_CONNECTIONS)
- fConnectionPool.push(connection);
- else
- connection.close(); // We don't need to maintain more than five free connections.
- }
- }
- }
- }
-
- /**
- * Release this connection. This means close it out.
- */
- public void closeConnection(IREMConnection connection) {
- connection.close();
- }
-
-
- public int connectionCount() {
- synchronized (fConnectionPool) {
- return fConnectionPool.size();
- }
- }
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMRegistryController.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMRegistryController.java
deleted file mode 100644
index a753b72b4..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMRegistryController.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.remote;
-/*
- * $RCSfile: REMRegistryController.java,v $
- * $Revision: 1.11 $ $Date: 2005/06/21 20:35:08 $
- */
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.jobs.Job;
-
-import org.eclipse.jem.internal.proxy.core.ProxyPlugin;
-
-/**
- * This class is a controller for all of the registries.
- * @author richkulp
- */
-public class REMRegistryController {
-
- private Map fActiveRegistries = new HashMap(); // Access to this must be sync(REMRegistryController)
- private static final long CLEANUP_INTERVAL = 60000l; // The interval between clean up job execution.
-
- protected boolean inShutdown; // Are we in shutdown mode. Terminate registries runs differently in shutdown mode.
-
- // Thread to clean up GC'd proxies. Runs as a daemon at the lowest priority
- private Job processQueueJob= new Job(ProxyRemoteMessages.CleanupJob_title) {
- public IStatus run(IProgressMonitor m) {
- REMProxyFactoryRegistry[] registries = null;
- synchronized (REMRegistryController.this) {
- // This list may be updated by others, so we need to make a copy
- // or else we could get a failure.
- registries =
- (REMProxyFactoryRegistry[]) fActiveRegistries.values().toArray(
- new REMProxyFactoryRegistry[fActiveRegistries.size()]);
- }
- for (int i = 0; i < registries.length; i++) {
- try {
- ((REMStandardBeanProxyFactory) registries[i].getBeanProxyFactory()).processQueue();
- } catch (RuntimeException e) {
- // When debugging, getBeanProxyFactory can throw exception because it hasn't been initialized
- // yet when the thread wakes up, though the registry has been registered. It has to do with it
- // can take significant time for the user to start up the debugger, and during that time this
- // thread could kick in.
- }
- }
- synchronized(this) {
- if (!m.isCanceled())
- this.schedule(CLEANUP_INTERVAL); // Schedule to start again in one minute.
- }
- return Status.OK_STATUS;
- }
-
- }; //$NON-NLS-1$
-
- public REMRegistryController() {
-
- ProxyPlugin.getPlugin().addProxyShutdownListener(new ProxyPlugin.IProxyPluginShutdownListener() {
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.ProxyPlugin.IProxyPluginShutdownListener#shutdown()
- */
- public void shutdown() {
- REMRegistryController.this.shutdown();
- }
- });
-
- masterThread = new REMMasterServerThread(this);
- masterThread.start();
-
- processQueueJob.setSystem(true); // So that it won't show processing in process view. Not of interest to general users.
- processQueueJob.setPriority(Job.SHORT);
- processQueueJob.schedule(CLEANUP_INTERVAL);
-
- }
-
- /**
- * Answer whether we are shutting down or not.
- * @return
- *
- * @since 1.1.0
- */
- public boolean inShutDown() {
- return inShutdown;
- }
-
- /*
- * Add registry to list of active. Return a unique number to be the key.
- * Package-protected so that only locals can access it.
- */
- synchronized Integer registerRegistry(REMProxyFactoryRegistry registry) {
-
- Integer hashcode = new Integer(registry.hashCode());
- while (true) {
- REMProxyFactoryRegistry existing = (REMProxyFactoryRegistry) fActiveRegistries.get(hashcode);
- if (existing == null)
- break; // Not yet registered, use use the hashcode
- else if (existing != registry)
- hashcode = new Integer(hashcode.intValue()+1);
- else
- return hashcode; // Same guy, use the hashcode.
- }
-
- fActiveRegistries.put(hashcode, registry);
- return hashcode;
- }
-
- /*
- * deregister the registry.
- */
- synchronized void deregisterRegistry(Integer key) {
- fActiveRegistries.remove(key);
- }
-
- /*
- * Return the registry for the given key
- */
- synchronized REMProxyFactoryRegistry getRegistry(Integer key) {
- return (REMProxyFactoryRegistry) fActiveRegistries.get(key);
- }
-
- /**
- * Master server thread. Handles keep-alive requests and register remote server threads.
- * It will be created when needed.
- */
- protected REMMasterServerThread masterThread;
-
- /*
- * Shuts down this plug-in and discards all plug-in state.
- *
- * In this case, terminate all of the active registries so that they can be shutdown.
- * Don't want them hanging around after termination of the desktop.
- */
- void shutdown() {
-
- synchronized(processQueueJob) {
- processQueueJob.cancel();
- }
-
- REMProxyFactoryRegistry[] registries = null;
- synchronized (this) {
- // This list will be updated in the terminateRegistry, so we need to make a copy
- // or else we get a failure.
- registries =
- (REMProxyFactoryRegistry[]) fActiveRegistries.values().toArray(
- new REMProxyFactoryRegistry[fActiveRegistries.size()]);
- }
-
- inShutdown = true; // We are now in shutdown mode.
- // In shutdown mode the registries will not create the job that waits for the process
- // to terminate, and if it doesn't in 1.5 secs it does a force.
- // Instead what we will do is shutdown all of the registries. If they don't
- // shutdown on their own then they stay out there. But they do have an
- // internal timer that checks every five minutes to see if the host is
- // still there, and if it isn't they will shut themselves down. They
- // would have to be really hosed if the suicide timer wasn't working.
-
- for (int i = 0; i < registries.length; i++)
- registries[i].terminateRegistry();
-
- if (masterThread != null) {
- try {
- masterThread.requestShutdown();
- masterThread.join(20000); // Wait 20 seconds for everything to go down.
- masterThread = null;
- } catch (InterruptedException e) {
- }
- }
-
- try {
- processQueueJob.join();
- } catch(InterruptedException e) {
- }
-
- REMProxyFactoryRegistry.cancelAllTerminateJobs();
- }
-
- /**
- * Return the master socket port number.
- */
- public int getMasterSocketPort() {
- return masterThread != null ? masterThread.getMasterSocket().getLocalPort() : -1;
- }
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMShortClassBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMShortClassBeanProxy.java
deleted file mode 100644
index b34f27dab..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMShortClassBeanProxy.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMShortClassBeanProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * Remote Proxy for Short.class.
- */
-class REMShortClassBeanProxy extends REMNumberBeanProxy {
-
-REMShortClassBeanProxy(REMProxyFactoryRegistry aRegistry, Short aShort) {
- super(aRegistry, aShort);
-}
-
-/**
- * Get the beantype
- */
-public IBeanTypeProxy getTypeProxy() {
- return ((REMStandardBeanTypeProxyFactory) fFactory.getBeanTypeProxyFactory()).shortClass;
-}
-
-/**
- * Render the bean into value object.
- */
-public void renderBean(Commands.ValueObject value) {
- value.set((Short) numberValue());
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMShortClassBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMShortClassBeanTypeProxy.java
deleted file mode 100644
index ece16a7eb..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMShortClassBeanTypeProxy.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMShortClassBeanTypeProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * Remote Implementation of IBeanTypeProxy for Short.class.
- * Creation date: (2/6/00 9:01:40 AM)
- * @author: Joe Winchester
- */
-final class REMShortClassBeanTypeProxy extends REMAbstractNumberBeanTypeProxy {
-// Some values are cache'd for speed
- private final INumberBeanProxy zeroProxy;
- private final INumberBeanProxy oneProxy;
- private final INumberBeanProxy twoProxy;
- private final INumberBeanProxy threeProxy;
-/**
- * REMIntegerBeanTypeProxy constructor comment.
- * @param aClass java.lang.Class
- */
-REMShortClassBeanTypeProxy(REMProxyFactoryRegistry aRegistry, IBeanTypeProxy numberType) {
- super(aRegistry, new Integer(Commands.SHORT_CLASS), Short.class.getName(), numberType);
-
- // Create the cached values
- zeroProxy = new REMShortClassBeanProxy(aRegistry, new Short((short)0));
- oneProxy = new REMShortClassBeanProxy(aRegistry, new Short((short)1));
- twoProxy = new REMShortClassBeanProxy(aRegistry, new Short((short)2));
- threeProxy = new REMShortClassBeanProxy(aRegistry, new Short((short)3));
-}
-
-/**
- * Helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- */
-INumberBeanProxy createShortBeanProxy(Short aShort) {
- switch(aShort.shortValue()) {
- case 0: return zeroProxy;
- case 1: return oneProxy ;
- case 2: return twoProxy ;
- case 3: return threeProxy ;
- default: return new REMShortClassBeanProxy(fRegistry, aShort);
- }
-}
-
-/**
- * Generic way to create a Short proxy, however, the Number must be a Short.
- */
-protected INumberBeanProxy createNumberBeanProxy(Number aNumber) {
- return createShortBeanProxy((Short) aNumber);
-}
-
-/**
- * newInstance method. Number's don't have a default ctor, so the standard way won't work.
- * Return the zero proxy for this case.
- */
-public IBeanProxy newInstance() {
- return zeroProxy;
-}
-
-/**
- * Create a new bean proxy the ValueObject passed in.
- * We will assume the object is correct type.
- */
-public IBeanProxy newBeanProxy(Commands.ValueObject value) {
- return createShortBeanProxy(new Short(value.aShort));
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMShortTypeBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMShortTypeBeanProxy.java
deleted file mode 100644
index b25a8e5f3..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMShortTypeBeanProxy.java
+++ /dev/null
@@ -1,132 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMShortTypeBeanProxy.java,v $
- * $Revision: 1.3 $ $Date: 2005/05/11 22:41:24 $
- */
-
-
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * Remote Implementation of INumberBeanProxy for the primitive "short".
- * It can answer all of the primitive number types (int, long, short, byte, double, float).
- * Creation date: (2/6/00 9:02:54 AM)
- * @author: Joe Winchester
- */
-class REMShortTypeBeanProxy extends REMConstantBeanProxy implements INumberBeanProxy {
- private final short fShort;
-
-/**
- * It is package protected because they are created
- * in a special way and no one else should create them.
- * @param aBean java.lang.Object
- */
-REMShortTypeBeanProxy(REMProxyFactoryRegistry aRegistry, short aShort) {
- super(aRegistry);
- fShort = aShort;
-}
-/**
- * equals: Equal if:
- * 1) This proxy == (identity) to the other object
- * 2) Else if other is an IBeanProxy and not a constant one, then if
- * equals on the server.
- * 3) If this is a constant proxy and the other is too or is a constant
- * value (e.g. IStringBeanProxy.equals(String), then true if values are equals.
- */
-public boolean equals(Object anObject) {
- if (this == anObject)
- return true; // Identity
- if (anObject instanceof REMShortTypeBeanProxy)
- return fShort == ((REMShortTypeBeanProxy) anObject).shortValue();
- if (anObject instanceof Short)
- return fShort == ((Short) anObject).shortValue();
- return false;
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#sameAs(org.eclipse.jem.internal.proxy.core.IBeanProxy)
- */
-public boolean sameAs(IBeanProxy aBeanProxy) {
- if (this == aBeanProxy)
- return true; // Identity
- if (aBeanProxy instanceof REMShortTypeBeanProxy)
- return fShort == ((REMShortTypeBeanProxy) aBeanProxy).shortValue();
- return false;
-}
-
-/**
- * byteValue method comment.
- */
-public byte byteValue() {
- return (byte) fShort;
-}
-/**
- * doubleValue method comment.
- */
-public double doubleValue() {
- return fShort;
-}
-/**
- * floatValue method comment.
- */
-public float floatValue() {
- return fShort;
-}
-/**
- * Return the int value
- */
-public int intValue() {
- return fShort;
-}
-/**
- * longValue method comment.
- */
-public long longValue() {
- return fShort;
-}
-/**
- * numberValue method comment.
- */
-public Number numberValue() {
- return new Short(fShort);
-}
-/**
- * shortValue method comment.
- */
-public short shortValue() {
- return fShort;
-}
-
-/**
- * The bean's toString.
- */
-public String toBeanString() {
- return String.valueOf(fShort);
-}
-
-/**
- * Get the beantype
- */
-public IBeanTypeProxy getTypeProxy() {
- return ((REMStandardBeanTypeProxyFactory) fFactory.getBeanTypeProxyFactory()).shortType;
-}
-
-/**
- * Render the bean into value object.
- */
-public void renderBean(Commands.ValueObject value) {
- value.set(fShort);
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMShortTypeBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMShortTypeBeanTypeProxy.java
deleted file mode 100644
index d019ae9d9..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMShortTypeBeanTypeProxy.java
+++ /dev/null
@@ -1,109 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMShortTypeBeanTypeProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * Remote Implementation of IBeanTypeProxy for Short.TYPE.
- * Creation date: (2/6/00 9:01:40 AM)
- * @author: Joe Winchester
- */
-final class REMShortTypeBeanTypeProxy extends REMPrimitiveBeanTypeProxy {
-// Some values are cache'd for speed
- private final INumberBeanProxy zeroProxy;
- private final INumberBeanProxy oneProxy;
- private final INumberBeanProxy twoProxy;
- private final INumberBeanProxy threeProxy;
-/**
- * REMIntegerBeanTypeProxy constructor comment.
- * @param aClass java.lang.Class
- */
-REMShortTypeBeanTypeProxy(REMProxyFactoryRegistry aRegistry) {
- super(aRegistry, new Integer(Commands.SHORT_TYPE), Short.TYPE.getName());
-
- // Create the cached values
- zeroProxy = new REMShortTypeBeanProxy(aRegistry, (short) 0);
- oneProxy = new REMShortTypeBeanProxy(aRegistry, (short) 1);
- twoProxy = new REMShortTypeBeanProxy(aRegistry, (short) 2);
- threeProxy = new REMShortTypeBeanProxy(aRegistry, (short) 3);
-}
-
-/**
- * Helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- */
-INumberBeanProxy createShortBeanProxy(short aShort) {
- switch(aShort) {
- case 0: return zeroProxy;
- case 1: return oneProxy ;
- case 2: return twoProxy ;
- case 3: return threeProxy ;
- default: return new REMShortTypeBeanProxy(fRegistry, aShort);
- }
-}
-
-/**
- * newInstance method. short is a primitive, so the standard way won't work.
- * Return the zeroProxy for this case because that is the default value.
- */
-public IBeanProxy newInstance() {
- return zeroProxy;
-}
-
-/**
- * Create a new bean proxy the ValueObject passed in.
- * We will assume the object is correct type.
- */
-public IBeanProxy newBeanProxy(Commands.ValueObject value) {
- return createShortBeanProxy(value.aShort);
-}
-
-/**
- * Short cut for newInstance where the string follows the
- * specific pattern we expect. That way it won't be necessary to ship over to the vm
- * to process it.
- *
- * The pattern it can accept is:
- * 1) (short) validNumber - number can be any number because (byte) explicitly casts it down.
- * 2) validNumber
- * It will use the decode function of short to determine the valid number.
- */
-public IBeanProxy newInstance(String initializationString) throws ThrowableProxy, ClassCastException, InstantiationException {
- String trim = initializationString.trim();
- if (trim.length() == 0)
- return super.newInstance(initializationString);
- short aShort;
- if (trim.startsWith("(short)")) { //$NON-NLS-1$
- Number v = parseString(trim.substring("(short)".length()).trim()); //$NON-NLS-1$
- if (v != null)
- aShort = v.shortValue();
- else
- return super.newInstance(initializationString); // Can't decode it, let full parser handle it.
- } else {
- try {
- aShort = Short.decode(trim).shortValue(); // See if valid short format.
- } catch (NumberFormatException e) {
- return super.newInstance(initializationString); // Can't decode it, let full parser handle it.
- }
- }
-
- return getProxyFactoryRegistry().getBeanProxyFactory().createBeanProxyWith(aShort);
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMStandardBeanProxyConstants.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMStandardBeanProxyConstants.java
deleted file mode 100644
index 1b125dc60..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMStandardBeanProxyConstants.java
+++ /dev/null
@@ -1,508 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.remote;
-/*
- * $RCSfile: REMStandardBeanProxyConstants.java,v $
- * $Revision: 1.8 $ $Date: 2005/05/18 23:11:26 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.IMethodProxy;
-import org.eclipse.jem.internal.proxy.core.ProxyFactoryRegistry;
-/**
- * REM Standard Proxy 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.
- *
- * There are some standard utility functions too.
- *
- * 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 REMStandardBeanProxyConstants {
- public static final Object REGISTRY_KEY = new Object();
-
- private final ProxyFactoryRegistry fRegistry;
-
- private IMethodProxy fClassNewInstance;
- private IMethodProxy fClassGetField;
- private IMethodProxy fClassGetDeclaredField;
- private IMethodProxy fClassGetDeclaredFields;
- private IMethodProxy fClassGetFields;
- private IMethodProxy fClassGetConstructor;
- private IMethodProxy fClassGetConstructors;
- private IMethodProxy fClassGetDeclaredConstructor;
- private IMethodProxy fClassGetDeclaredConstructors;
- private IMethodProxy fClassGetMethods;
- private IMethodProxy fClassGetDeclaredMethods;
- private IMethodProxy fClassGetDeclaredMethod;
-
- private IMethodProxy fMethodHelperFindCompatibleConstructor;
- private IMethodProxy fMethodHelperFindCompatibleMethod;
-
- private IMethodProxy fClassIsAssignableFrom;
-
- private IMethodProxy fObjectToString;
- private IMethodProxy fObjectEquals;
-
- private IMethodProxy fThrowableLocalizedMessage;
- private IMethodProxy fThrowableMessage;
-
- private IMethodProxy fMethodDeclaringClassMessage;
- private IMethodProxy fMethodMethodNameMessage;
- private IMethodProxy fMethodParameterTypesMessage;
- private IMethodProxy fMethodReturnTypeMessage;
-
- private IMethodProxy fAccessibleIsAccessible;
- private IMethodProxy fAccessibleSetAccessible;
-
- private IMethodProxy fFieldGet;
- private IMethodProxy fFieldGetType;
- private IMethodProxy fFieldGetByte;
- private IMethodProxy fFieldGetBoolean;
- private IMethodProxy fFieldGetChar;
- private IMethodProxy fFieldGetDouble;
- private IMethodProxy fFieldGetFloat;
- private IMethodProxy fFieldGetInt;
- private IMethodProxy fFieldGetShort;
- private IMethodProxy fFieldGetLong;
- private IMethodProxy fFieldSet;
-
- private IMethodProxy fConstructorNewInstance;
- private IMethodProxy fConstructorParameterTypesMessage;
-
- private IMethodProxy fArrayNewInstanceOneDimension;
- private IMethodProxy fArrayNewInstanceMultiDimensions;
- private IMethodProxy fArrayGetLength;
- private IMethodProxy fArrayGet;
- private IMethodProxy fArrayGetByte;
- private IMethodProxy fArrayGetBoolean;
- private IMethodProxy fArrayGetChar;
- private IMethodProxy fArrayGetDouble;
- private IMethodProxy fArrayGetFloat;
- private IMethodProxy fArrayGetInt;
- private IMethodProxy fArrayGetShort;
- private IMethodProxy fArrayGetLong;
- private IMethodProxy fArraySet;
-
- private IMethodProxy fArrayHelperGet;
- private IMethodProxy fArrayHelperGetByte;
- private IMethodProxy fArrayHelperGetBoolean;
- private IMethodProxy fArrayHelperGetChar;
- private IMethodProxy fArrayHelperGetDouble;
- private IMethodProxy fArrayHelperGetFloat;
- private IMethodProxy fArrayHelperGetInt;
- private IMethodProxy fArrayHelperGetShort;
- private IMethodProxy fArrayHelperGetLong;
- private IMethodProxy fArrayHelperSet;
-
-/**
- * Get the constants instance for the specified registry.
- */
-public static REMStandardBeanProxyConstants getConstants(ProxyFactoryRegistry registry) {
- REMStandardBeanProxyConstants constants = (REMStandardBeanProxyConstants) registry.getConstants(REGISTRY_KEY);
- if (constants == null)
- registry.registerConstants(REGISTRY_KEY, constants = new REMStandardBeanProxyConstants(registry));
- return constants;
-}
-
-
-private REMStandardBeanProxyConstants(ProxyFactoryRegistry registry) {
- super();
- fRegistry = registry;
-}
-
-public IMethodProxy getClassNewInstance() {
- // We actually need a special new instance because we want to be able to access outside of security. For our purposes security doesn't matter for construction.
- if (fClassNewInstance == null)
- fClassNewInstance = fRegistry.getMethodProxyFactory().getMethodProxy("org.eclipse.jem.internal.proxy.vm.remote.ClassHelper", "newInstance", new String[] {"java.lang.Class"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- return fClassNewInstance;
-}
-
-public IMethodProxy getClassGetField() {
- if (fClassGetField == null)
- fClassGetField = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.Class", "getField", new String[] {"java.lang.String"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- return fClassGetField;
-}
-
-public IMethodProxy getClassConstructor() {
- if (fClassGetConstructor == null)
- fClassGetConstructor = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.Class", "getConstructor", new String[] {"[Ljava.lang.Class;"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- return fClassGetConstructor;
-}
-
-public IMethodProxy getClassConstructors() {
- if (fClassGetConstructors == null)
- fClassGetConstructors = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.Class", "getConstructors", null); //$NON-NLS-1$ //$NON-NLS-2$
- return fClassGetConstructors;
-}
-
-public IMethodProxy getDeclaredClassConstructor() {
- if (fClassGetDeclaredConstructor == null)
- fClassGetDeclaredConstructor = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.Class", "getDeclaredConstructor", new String[] {"[Ljava.lang.Class;"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- return fClassGetDeclaredConstructor;
-}
-
-public IMethodProxy getDeclaredClassConstructors() {
- if (fClassGetDeclaredConstructors == null)
- fClassGetDeclaredConstructors = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.Class", "getDeclaredConstructors", null); //$NON-NLS-1$ //$NON-NLS-2$
- return fClassGetDeclaredConstructors;
-}
-
-public IMethodProxy getClassIsAssignableFrom() {
- if (fClassIsAssignableFrom == null)
- fClassIsAssignableFrom = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.Class", "isAssignableFrom", new String[] {"java.lang.Class"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- return fClassIsAssignableFrom;
-}
-
-public IMethodProxy getObjectToString() {
- if (fObjectToString == null)
- fObjectToString = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.Object", "toString", null); //$NON-NLS-1$ //$NON-NLS-2$
- return fObjectToString;
-}
-
-public IMethodProxy getObjectEquals() {
- if (fObjectEquals == null)
- fObjectEquals = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.Object", "equals", new String[] {"java.lang.Object"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- return fObjectEquals;
-}
-public IMethodProxy getThrowableLocalizedMessage() {
- if (fThrowableLocalizedMessage == null)
- fThrowableLocalizedMessage = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.Throwable", "getLocalizedMessage", null); //$NON-NLS-1$ //$NON-NLS-2$
- return fThrowableLocalizedMessage;
-}
-
-public IMethodProxy getThrowableMessage() {
- if (fThrowableMessage == null)
- fThrowableMessage = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.Throwable", "getMessage", null); //$NON-NLS-1$ //$NON-NLS-2$
- return fThrowableMessage;
-}
-
-public IMethodProxy getMethodDeclaringClassMessage() {
- if (fMethodDeclaringClassMessage == null)
- fMethodDeclaringClassMessage = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Method", "getDeclaringClass", null); //$NON-NLS-1$ //$NON-NLS-2$
- return fMethodDeclaringClassMessage;
-}
-
-public IMethodProxy getMethodMethodNameMessage() {
- if (fMethodMethodNameMessage == null)
- fMethodMethodNameMessage = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Method", "getName", null); //$NON-NLS-1$ //$NON-NLS-2$
- return fMethodMethodNameMessage;
-}
-
-public IMethodProxy getMethodParameterTypesMessage() {
- if (fMethodParameterTypesMessage == null)
- fMethodParameterTypesMessage = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Method", "getParameterTypes", null); //$NON-NLS-1$ //$NON-NLS-2$
- return fMethodParameterTypesMessage;
-}
-
-public IMethodProxy getMethodReturnTypeMessage() {
- if (fMethodReturnTypeMessage == null)
- fMethodReturnTypeMessage = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Method", "getReturnType", null); //$NON-NLS-1$ //$NON-NLS-2$
- return fMethodReturnTypeMessage;
-}
-
-public IMethodProxy getAccessibleIsAccessible() {
- if (fAccessibleIsAccessible == null)
- fAccessibleIsAccessible = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.AccessibleObject", "isAccessible", null); //$NON-NLS-1$ //$NON-NLS-2$
- return fAccessibleIsAccessible;
-}
-
-public IMethodProxy getAccessibleSetAccessible() {
- if (fAccessibleSetAccessible == null)
- fAccessibleSetAccessible = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.AccessibleObject", "setAccessible", new String[] {"boolean"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- return fAccessibleSetAccessible;
-}
-
-public IMethodProxy getFieldGetType() {
- if (fFieldGetType == null)
- fFieldGetType = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Field", "getType", null); //$NON-NLS-1$ //$NON-NLS-2$
- return fFieldGetType;
-}
-
-public IMethodProxy getFieldGet() {
- if (fFieldGet == null)
- fFieldGet = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Field", "get", new String[] {"java.lang.Object"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- return fFieldGet;
-}
-
-public IMethodProxy getFieldGetByte() {
- if (fFieldGetByte == null)
- fFieldGetByte = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Field", "getByte", new String[] {"java.lang.Object"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- return fFieldGetByte;
-}
-
-public IMethodProxy getFieldGetBoolean() {
- if (fFieldGetBoolean == null)
- fFieldGetBoolean = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Field", "getBoolean", new String[] {"java.lang.Object"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- return fFieldGetBoolean;
-}
-
-public IMethodProxy getFieldGetChar() {
- if (fFieldGetChar == null)
- fFieldGetChar = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Field", "getChar", new String[] {"java.lang.Object"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- return fFieldGetChar;
-}
-
-public IMethodProxy getFieldGetDouble() {
- if (fFieldGetDouble == null)
- fFieldGetDouble = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Field", "getDouble", new String[] {"java.lang.Object"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- return fFieldGetDouble;
-}
-
-public IMethodProxy getFieldGetFloat() {
- if (fFieldGetFloat == null)
- fFieldGetFloat = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Field", "getFloat", new String[] {"java.lang.Object"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- return fFieldGetFloat;
-}
-
-public IMethodProxy getFieldGetInt() {
- if (fFieldGetInt == null)
- fFieldGetInt = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Field", "getInt", new String[] {"java.lang.Object"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- return fFieldGetInt;
-}
-
-public IMethodProxy getFieldGetLong() {
- if (fFieldGetLong == null)
- fFieldGetLong = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Field", "getLong", new String[] {"java.lang.Object"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- return fFieldGetLong;
-}
-
-public IMethodProxy getFieldGetShort() {
- if (fFieldGetShort == null)
- fFieldGetShort = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Field", "getShort", new String[] {"java.lang.Object"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- return fFieldGetShort;
-}
-
-public IMethodProxy getFieldSet() {
- if (fFieldSet == null)
- fFieldSet = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Field", "set", new String[] {"java.lang.Object", "java.lang.Object"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- return fFieldSet;
-}
-
-public IMethodProxy getConstructorNewInstance() {
- if (fConstructorNewInstance == null)
- fConstructorNewInstance = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Constructor", "newInstance", new String[] {"[Ljava.lang.Object;"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- return fConstructorNewInstance;
-}
-
-public IMethodProxy getConstructorParameterTypesMessage() {
- if (fConstructorParameterTypesMessage == null)
- fConstructorParameterTypesMessage = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Constructor", "getParameterTypes", null); //$NON-NLS-1$ //$NON-NLS-2$
- return fConstructorParameterTypesMessage;
-}
-
-public IMethodProxy getArrayNewInstanceOneDimension() {
- if (fArrayNewInstanceOneDimension == null)
- fArrayNewInstanceOneDimension = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Array", "newInstance", new String[] {"java.lang.Class", "int"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- return fArrayNewInstanceOneDimension;
-}
-
-public IMethodProxy getArrayNewInstanceMultiDimension() {
- if (fArrayNewInstanceMultiDimensions == null)
- fArrayNewInstanceMultiDimensions = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Array", "newInstance", new String[] {"java.lang.Class", "[I"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- return fArrayNewInstanceMultiDimensions;
-}
-
-public IMethodProxy getArrayGetLength() {
- if (fArrayGetLength == null)
- fArrayGetLength = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Array", "getLength", new String[] {"java.lang.Object"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- return fArrayGetLength;
-}
-
-public IMethodProxy getArrayGet() {
- if (fArrayGet == null)
- fArrayGet = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Array", "get", new String[] {"java.lang.Object", "int"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- return fArrayGet;
-}
-
-public IMethodProxy getArrayGetByte() {
- if (fArrayGetByte == null)
- fArrayGetByte = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Array", "getByte", new String[] {"java.lang.Object", "int"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- return fArrayGetByte;
-}
-
-public IMethodProxy getArrayGetBoolean() {
- if (fArrayGetBoolean == null)
- fArrayGetBoolean = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Array", "getBoolean", new String[] {"java.lang.Object", "int"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- return fArrayGetBoolean;
-}
-
-public IMethodProxy getArrayGetChar() {
- if (fArrayGetChar == null)
- fArrayGetChar = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Array", "getChar", new String[] {"java.lang.Object", "int"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- return fArrayGetChar;
-}
-
-public IMethodProxy getArrayGetDouble() {
- if (fArrayGetDouble == null)
- fArrayGetDouble = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Array", "getDouble", new String[] {"java.lang.Object", "int"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- return fArrayGetDouble;
-}
-
-public IMethodProxy getArrayGetFloat() {
- if (fArrayGetFloat == null)
- fArrayGetFloat = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Array", "getFloat", new String[] {"java.lang.Object", "int"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- return fArrayGetFloat;
-}
-
-public IMethodProxy getArrayGetInt() {
- if (fArrayGetInt == null)
- fArrayGetInt = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Array", "getInt", new String[] {"java.lang.Object", "int"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- return fArrayGetInt;
-}
-
-public IMethodProxy getArrayGetLong() {
- if (fArrayGetLong == null)
- fArrayGetLong = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Array", "getLong", new String[] {"java.lang.Object", "int"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- return fArrayGetLong;
-}
-
-public IMethodProxy getArrayGetShort() {
- if (fArrayGetShort == null)
- fArrayGetShort = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Array", "getShort", new String[] {"java.lang.Object", "int"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- return fArrayGetShort;
-}
-
-public IMethodProxy getArraySet() {
- if (fArraySet == null)
- fArraySet = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Array", "set", new String[] {"java.lang.Object", "int", "java.lang.Object"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
- return fArraySet;
-}
-
-public IMethodProxy getArrayHelperGet() {
- if (fArrayHelperGet == null)
- fArrayHelperGet = fRegistry.getMethodProxyFactory().getMethodProxy("org.eclipse.jem.internal.proxy.vm.remote.ArrayHelper", "get", new String[] {"java.lang.Object", "[I"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- return fArrayHelperGet;
-}
-
-public IMethodProxy getArrayHelperGetByte() {
- if (fArrayHelperGetByte == null)
- fArrayHelperGetByte = fRegistry.getMethodProxyFactory().getMethodProxy("org.eclipse.jem.internal.proxy.vm.remote.ArrayHelper", "getByte", new String[] {"java.lang.Object", "[I"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- return fArrayHelperGetByte;
-}
-
-public IMethodProxy getArrayHelperGetBoolean() {
- if (fArrayHelperGetBoolean == null)
- fArrayHelperGetBoolean = fRegistry.getMethodProxyFactory().getMethodProxy("org.eclipse.jem.internal.proxy.vm.remote.ArrayHelper", "getBoolean", new String[] {"java.lang.Object", "[I"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- return fArrayHelperGetBoolean;
-}
-
-public IMethodProxy getArrayHelperGetChar() {
- if (fArrayHelperGetChar == null)
- fArrayHelperGetChar = fRegistry.getMethodProxyFactory().getMethodProxy("org.eclipse.jem.internal.proxy.vm.remote.ArrayHelper", "getChar", new String[] {"java.lang.Object", "[I"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- return fArrayHelperGetChar;
-}
-
-public IMethodProxy getArrayHelperGetDouble() {
- if (fArrayHelperGetDouble == null)
- fArrayHelperGetDouble = fRegistry.getMethodProxyFactory().getMethodProxy("org.eclipse.jem.internal.proxy.vm.remote.ArrayHelper", "getDouble", new String[] {"java.lang.Object", "[I"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- return fArrayHelperGetDouble;
-}
-
-public IMethodProxy getArrayHelperGetFloat() {
- if (fArrayHelperGetFloat == null)
- fArrayHelperGetFloat = fRegistry.getMethodProxyFactory().getMethodProxy("org.eclipse.jem.internal.proxy.vm.remote.ArrayHelper", "getFloat", new String[] {"java.lang.Object", "[I"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- return fArrayHelperGetFloat;
-}
-
-public IMethodProxy getArrayHelperGetInt() {
- if (fArrayHelperGetInt == null)
- fArrayHelperGetInt = fRegistry.getMethodProxyFactory().getMethodProxy("org.eclipse.jem.internal.proxy.vm.remote.ArrayHelper", "getInt", new String[] {"java.lang.Object", "[I"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- return fArrayHelperGetInt;
-}
-
-public IMethodProxy getArrayHelperGetLong() {
- if (fArrayHelperGetLong == null)
- fArrayHelperGetLong = fRegistry.getMethodProxyFactory().getMethodProxy("org.eclipse.jem.internal.proxy.vm.remote.ArrayHelper", "getLong", new String[] {"java.lang.Object", "[I"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- return fArrayHelperGetLong;
-}
-
-public IMethodProxy getArrayHelperGetShort() {
- if (fArrayHelperGetShort == null)
- fArrayHelperGetShort = fRegistry.getMethodProxyFactory().getMethodProxy("org.eclipse.jem.internal.proxy.vm.remote.ArrayHelper", "getShort", new String[] {"java.lang.Object", "[I"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- return fArrayHelperGetShort;
-}
-
-public IMethodProxy getArrayHelperSet() {
- if (fArrayHelperSet == null)
- fArrayHelperSet = fRegistry.getMethodProxyFactory().getMethodProxy("org.eclipse.jem.internal.proxy.vm.remote.ArrayHelper", "set", new String[] {"java.lang.Object", "[I", "java.lang.Object"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
- return fArrayHelperSet;
-}
-
-
-public IMethodProxy getClassGetDeclaredField() {
-
- if (fClassGetDeclaredField == null)
- fClassGetDeclaredField = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.Class", "getDeclaredField", new String[] {"java.lang.String"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- return fClassGetDeclaredField;
-}
-
-public IMethodProxy getClassGetDeclaredFields() {
-
- if (fClassGetDeclaredFields == null)
- fClassGetDeclaredFields = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.Class", "getDeclaredFields", null); //$NON-NLS-1$ //$NON-NLS-2$
- return fClassGetDeclaredFields;
-}
-public IMethodProxy getClassGetFields() {
-
- if (fClassGetFields == null)
- fClassGetFields = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.Class", "getFields", null); //$NON-NLS-1$ //$NON-NLS-2$
- return fClassGetFields;
-}
-
-
-/**
- * @return
- *
- * @since 1.1.0
- */
-public IMethodProxy getClassMethods() {
- if (fClassGetMethods == null)
- fClassGetMethods = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.Class", "getMethods", null); //$NON-NLS-1$ //$NON-NLS-2$
- return fClassGetMethods;
-}
-
-/**
- * @return
- *
- * @since 1.1.0
- */
-public IMethodProxy getClassDeclaredMethods() {
- if (fClassGetDeclaredMethods == null)
- fClassGetDeclaredMethods = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.Class", "getDeclaredMethods", null); //$NON-NLS-1$ //$NON-NLS-2$
- return fClassGetDeclaredMethods;
-}
-
-public IMethodProxy getClassDeclaredMethod() {
- if (fClassGetDeclaredMethod == null)
- fClassGetDeclaredMethod = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.Class", "getDeclaredMethod", new String[] {"java.lang.String", "[Ljava.lang.Class;"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- return fClassGetDeclaredMethod;
-}
-
-public IMethodProxy getFindCompatibleConstructorMethod() {
- if (fMethodHelperFindCompatibleConstructor == null)
- fMethodHelperFindCompatibleConstructor = fRegistry.getMethodProxyFactory().getMethodProxy("org.eclipse.jem.internal.proxy.common.MethodHelper", "findCompatibleConstructor", new String[] {"java.lang.Class", "[Ljava.lang.Class;"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- return fMethodHelperFindCompatibleConstructor;
-}
-
-public IMethodProxy getFindCompatibleMethodMethod() {
- if (fMethodHelperFindCompatibleMethod == null)
- fMethodHelperFindCompatibleMethod = fRegistry.getMethodProxyFactory().getMethodProxy("org.eclipse.jem.internal.proxy.common.MethodHelper", "findCompatibleMethod", new String[] {"java.lang.Class", "java.lang.String", "[Ljava.lang.Class;"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
- return fMethodHelperFindCompatibleMethod;
-}
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMStandardBeanProxyFactory.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMStandardBeanProxyFactory.java
deleted file mode 100644
index 96b691c25..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMStandardBeanProxyFactory.java
+++ /dev/null
@@ -1,854 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.remote;
-/*
- * $RCSfile: REMStandardBeanProxyFactory.java,v $
- * $Revision: 1.15 $ $Date: 2005/07/08 17:51:47 $
- */
-
-
-import java.text.MessageFormat;
-import java.util.*;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.CommandException;
-import org.eclipse.jem.internal.proxy.common.remote.CommandErrorException;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-
-/**
- * The Remote VM Standard Bean Proxy Factory.
- * Creation date: (12/3/99 12:01:45 PM)
- * @author: Joe Winchester
- */
-public final class REMStandardBeanProxyFactory implements IStandardBeanProxyFactory {
- protected final REMProxyFactoryRegistry fRegistry;
- protected final REMStandardBeanTypeProxyFactory fBeanTypeProxyFactory; // Convenience field.
- protected final IREMBeanProxy vmServerProxy;
-
-
- // We need a map for mapping object id's to the proxy. The entry will actually be
- // a REMStandardBeanProxyFactory.WeakProxyReference. This is so that the
- // proxy will not be held tightly by this map and can be GC'd if not referenced.
- // Periodically, the reference queue will be processed to remove any of the
- // entries that have been GC'd and the server will be told that it can release
- // the ID on its side.
- //
- // This map will be used as synchronize object also for access to it.
- //
- // There will be a low priority job that will occasionally process the GC'd objects
- // and remove them from the queue and the remote vm. It will not remove during lockedTransactions.
- //
- // NOTE: Certain proxies never get added to the map. They are the
- // standard types/class (i.e. null, byte, int, long, short, double, float, byte, string). These
- // always have the value saved in the proxy so that it can be retrieved without going back
- // to the server.
- private final HashMap fIDToProxiesMap = new HashMap(1000); // Map ID's to proxies. The proxies have their id's so we don't need a reverse map
- private int transactionLockCount = 0; // Count of transactions that have locked access. It is changed under sync control of fIDToProxies map.
-
- /**
- * The Weak reference used for the id to proxies map for the proxy
- * so that we can clean it up when the proxy has been garbage collected.
- *
- * It is important that all changes to the ProxyRef are done through sync on fIDToProxiesMap.
- */
- private static class ProxyRef extends java.lang.ref.WeakReference {
- private Integer id; // We need the id because this reference will be on the value side
- // and not the key side of the map, so we need to know the key
- // so that the object can be removed from the map.
- //
- // If the ID is null, then this means this entry has been processed
- // in some way and should not be released or removed from the table.
- private int useCnt = 1; // Usage/Ref count. Needed so that we don't get rid of too soon. Since we don't
- // create a ProxyRef without a usage, we start it off with one. It will be incremented
- // then on retrievals when needed by users outside of the remote factories themselves.
- // It won't be physically released until either GC got rid of it, or it goes to 0 or less
- // on a release request.
-
- public ProxyRef(Integer anID, Object proxy, java.lang.ref.ReferenceQueue q) {
- super(proxy, q);
- id = anID;
- }
-
- public Integer getID() {
- return id;
- }
-
- public void clear() {
- super.clear();
- id = null;
- }
-
- public synchronized int useCnt() {
- return useCnt;
- }
-
- public synchronized void incrUseCnt() {
- useCnt++;
- }
-
- public synchronized int decrUseCnt() {
- if (--useCnt < 0)
- useCnt = 0;
- return useCnt;
- }
- }
-
- /* Reference queue for cleared Proxies */
- private java.lang.ref.ReferenceQueue queue = new java.lang.ref.ReferenceQueue();
-
- /**
- * Process the entries on the id to proxies map that have been garbage collected.
- * It is package-protected because only REMRegistryController should call it.
- */
- void processQueue() {
- ProxyRef pr;
- while (true) {
- if (Thread.interrupted())
- return; // Maybe going down. (This actually a kludge because the thread happens to be the master thread from the registry controller).
-
- synchronized (fIDToProxiesMap) {
- if (queue == null || transactionLockCount > 0)
- break; // Either no queue (we are cleaning up) or in a transaction, stop processing and retry on next time slice.
- if ((pr = (ProxyRef) queue.poll()) != null) {
- if (pr.getID() != null) {
- // It hasn't been processed by some other means.
- fIDToProxiesMap.remove(pr.getID());
- releaseID(pr.getID().intValue());
- }
- } else
- break; // There are no more waiting, so leave.
- }
- }
- }
-
-
-/**
- * REMBeanProxyFactory constructor comment.
- *
- * Note: It assumes the beantype factory has already been registered.
- */
-REMStandardBeanProxyFactory(REMProxyFactoryRegistry aRegistry) {
- fRegistry = aRegistry;
- aRegistry.registerBeanProxyFactory(this);
- fBeanTypeProxyFactory = (REMStandardBeanTypeProxyFactory) aRegistry.getBeanTypeProxyFactory();
- fBeanTypeProxyFactory.initialize(this); // Now we're ready for the beantype factory to be initialized.
-
- IREMBeanTypeProxy serverType = fBeanTypeProxyFactory.objectClass.newBeanTypeForClass(new Integer(Commands.REMOTEVMSERVER_CLASS), "org.eclipse.jem.internal.proxy.vm.remote.RemoteVMServerThread", false); //$NON-NLS-1$
- fBeanTypeProxyFactory.registerBeanTypeProxy(serverType, true);
- vmServerProxy = serverType.newBeanProxy(new Integer(Commands.REMOTESERVER_ID));
- registerProxy(vmServerProxy);
-}
-
-
-/**
- * Register a collection of Proxies
- */
-public void registerProxies(Collection proxies) {
- synchronized(fIDToProxiesMap) {
- Iterator itr = proxies.iterator();
- while (itr.hasNext()) {
- IREMBeanProxy proxy = (IREMBeanProxy) itr.next();
- if (proxy instanceof IBeanTypeProxy || !(proxy.getTypeProxy() instanceof IREMConstantBeanTypeProxy)) {
- ProxyRef oldRef = (ProxyRef) fIDToProxiesMap.put(proxy.getID(), new ProxyRef(proxy.getID(), proxy, queue));
- if (oldRef != null) {
- // We've replaced it with a new one, so we will clear out the ref so that it won't later try to remove itself
- oldRef.clear();
- }
- }
- }
- }
-}
-
-/**
- * Register a single proxy
- */
-public void registerProxy(IREMBeanProxy proxy) {
- if (proxy instanceof IBeanTypeProxy || !(proxy.getTypeProxy() instanceof IREMConstantBeanTypeProxy))
- synchronized(fIDToProxiesMap) {
- ProxyRef oldRef = (ProxyRef) fIDToProxiesMap.put(proxy.getID(), new ProxyRef(proxy.getID(), proxy, queue));
- if (oldRef != null) {
- // We've replaced it with a new one, so we will clear out the ref so that it won't later try to remove itself
- oldRef.clear();
- }
- }
-}
-
-/**
- * Release a proxy because no longer needed.
- */
-public void releaseProxy(IBeanProxy proxy) {
- if (!proxy.isValid())
- return;
- if (proxy instanceof IBeanTypeProxy && !fBeanTypeProxyFactory.releaseProxy((IBeanTypeProxy) proxy))
- return; // BeanType and type factory won't allow release of it.
- Integer id = ((IREMBeanProxy) proxy).getID();
- synchronized(fIDToProxiesMap) {
- // Synced in here so that we will remove it before some one else from a different thread may try
- // to access it again.
- if (id.intValue() != Commands.NOT_AN_ID) {
- ProxyRef ref = (ProxyRef) fIDToProxiesMap.get(id);
- if (ref == null || ref.decrUseCnt() <= 0) {
- // No usage, so do actual release.
- fIDToProxiesMap.remove(id);
- ((IREMBeanProxy) proxy).release();
- if (ref != null)
- ref.enqueue(); // Queue it up so that on next release cycle it will go away.
- }
- } else {
- ((IREMBeanProxy) proxy).release();
- }
- }
-}
-
-/**
- * Release a specific ID. This is used in case an ID has been sent
- * but we couldn't proxy it. In that case we only have an ID. It is
- * also used when a proxy has been released explicitly or through GC.
- * In that case it has already been de-registered.
- */
-private void releaseID(int anID) {
- try {
- IREMConnection connect = fRegistry.getFreeConnection();
- try {
- connect.releaseID(anID);
- } finally {
- fRegistry.returnConnection(connect);
- }
- } catch (IllegalStateException e) {
- // Couldn't get connection, don't bother with a release.
- }
-}
-
-/**
- * For the Remote Factory we will create an REMBeanProxy using the null constructor
- * Package protected so only REMBeanTypeProxies can create instances.
- */
-
-IBeanProxy createBeanProxy(IREMBeanTypeProxy aTypeProxy) throws ThrowableProxy {
- return REMStandardBeanProxyConstants.getConstants(fRegistry).getClassNewInstance().invoke(null, aTypeProxy);
-}
-
-/**
- * For the Remote Factory we will create a REMBeanProxy using the initializationString.
- * Package protected so only REMBeanTypeProxies can create instances.
- */
-IBeanProxy createBeanProxy(IREMBeanTypeProxy aTypeProxy, String initializationString)
- throws ThrowableProxy, CommandException, ClassCastException, InstantiationException, IllegalStateException {
- IREMConnection connect = fRegistry.getFreeConnection();
- startTransaction();
- // Starting a transaction, we will be getting id's back and need to get data in a separate step, so we need to group it in a transaction.
- try {
- Commands.ValueObject newInstanceData = null;
- try {
- newInstanceData = getNewInstanceData(aTypeProxy, initializationString, connect);
- } catch (CommandErrorException e) {
- switch (e.getErrorCode()) {
- case Commands.CLASS_CAST_EXCEPTION:
- // The result was not of the correct type.
- throw new ClassCastException(
- MessageFormat.format(ProxyRemoteMessages.Classcast_EXC_, new Object[] {extractFirstLine(initializationString), aTypeProxy.getTypeName()}));
- case Commands.CANNOT_EVALUATE_STRING:
- // Want to log the exception that caused it to not evaluate.
- // Don't need to log this side, just log the RemoteVM side of the trace.
- java.io.StringWriter s = new java.io.StringWriter();
- java.io.PrintWriter w = new java.io.PrintWriter(s);
- ((ThrowableProxy) e.getErrorObject()).printProxyStackTrace(w);
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, s.toString(), null));
- throw new InstantiationException(
- MessageFormat.format(ProxyRemoteMessages.Instantiate_EXC_, new Object[] {extractFirstLine(initializationString)}));
- default:
- throw e; //$NON-NLS-1$
- }
- } catch (CommandException e) {
- if (e.isRecoverable()) {
- ProxyPlugin.getPlugin().getLogger().log(
- new Status(
- IStatus.WARNING,
- ProxyPlugin.getPlugin().getBundle().getSymbolicName(),
- 0,
- "", //$NON-NLS-1$
- e));
- } else {
- // It failed in the command, try again.
- fRegistry.closeConnection(connect);
- connect = null;
- connect = fRegistry.getFreeConnection();
- try {
- newInstanceData = getNewInstanceData(aTypeProxy, initializationString, connect);
- } catch (CommandException eAgain) {
- // It failed again. Close this connection and don't let it be returned.
- fRegistry.closeConnection(connect);
- connect = null; // This is so that it won't be returned.
- }
- }
- } finally {
- if (connect != null)
- fRegistry.returnConnection(connect);
- }
-
- if (newInstanceData != null)
- return getBeanProxy(newInstanceData); // Turn it into a proxy
- } finally {
- stopTransaction(); // Now we can release the transaction.
- }
-
-return null;
-}
-
-private String extractFirstLine(String initString) {
- // Need to extract the first line for the messageFormat not to barf.
- int cr = initString.indexOf('\r');
- int lf = initString.indexOf('\n');
- if (cr != -1 || lf != -1) {
- if (cr == -1 || (lf != -1 && lf < cr))
- return initString.substring(0, lf);
- else
- return initString.substring(0, cr);
- } else
- return initString;
-}
-
-
-/**
- * actually create it using a passed in connection. This allows retry capability.
- *
- * This will send the request over to the connection.
- *
- * If we get an OBJECT back, then the beantypeproxy that the classID in the
- * value points to must be of type IREMConstantBeanTypeProxy so that we can
- * send this new object to the correct beantype to create the correct proxy.
- *
- * If we get an OBJECT_ID back, then the beantypeproxy that the classID in
- * the value points to must be able to handle creating a proxy of that type.
- */
-private Commands.ValueObject getNewInstanceData(IREMBeanTypeProxy aTypeProxy, String initializationString, IREMConnection connect) throws ThrowableProxy, CommandException {
- try {
- Commands.ValueObject newInstanceData = new Commands.ValueObject();
- connect.getNewInstance(aTypeProxy.getID().intValue(), initializationString, newInstanceData);
- return newInstanceData;
- } catch (CommandErrorException e) {
- // TBD - Needs to handle error of not evaluatable and send over to the compilor.
- processErrorReturn(e); // Process this
- }
- return null;
-}
-
-/**
- * actually create it using a passed in connection. This allows retry capability.
- */
-private void getObjectInstanceData(IREMConnection connect, int objectID, Commands.ValueObject valueReturn) throws ThrowableProxy, CommandException {
- try {
- connect.getObjectData(objectID, valueReturn);
- } catch (CommandErrorException e) {
- processErrorReturn(e); // Process this
- }
-}
-
-/**
- * Get a bean proxy from the value object passed in. If not yet created, create one.
- * NOTE: NULL type actually returns a true null. This is so that if people are casting
- * the returned proxy to a specific type (e.g IIntegerBeanProxy), then they won't get
- * a ClassCastException, they will get a null. This is easier for them to handle.
- *
- * NOTE: This is public ONLY so that extension factories can create correct types of
- * proxies in consistent manner from a value object.
- *
- * It is important that this is called
- * from within a transaction only because otherwise the value could have invalid data
- * by the time we try to get the data out of it.
- */
-public IBeanProxy getBeanProxy(Commands.ValueObject value) throws ThrowableProxy, CommandException {
- switch (value.type) {
- // Null result.
- case (byte) Commands.VOID_TYPE:
- return null;
- // A constant object was received.
- case Commands.OBJECT:
- IREMConstantBeanTypeProxy constantBeanType = null;
- try {
- constantBeanType = (IREMConstantBeanTypeProxy) getBeanType(value.classID);
- if (constantBeanType == null)
- return null; // Cannot find the type to create it.
- } catch (ClassCastException e) {
- // It wasn't a constant type, so we can't create it. Return null.
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", e)); //$NON-NLS-1$
- return null;
- }
-
- return constantBeanType.newBeanProxy(value);
-
- // An existing object_id was returned, the object should exist. If it doesn't
- // then submit the info command to try to recreate it correctly.
- case Commands.OBJECT_ID:
- Integer objectID = new Integer(value.objectID);
- IBeanProxy proxy = retrieveProxy(objectID, true);
- if (proxy != null)
- return proxy;
-
- // Not found, need to try to recreate it.
- IREMConnection connect = fRegistry.getFreeConnection();
- try {
- getObjectInstanceData(connect, value.objectID, value); // Go and get the data
- } catch (CommandErrorException e) {
- if (e.isRecoverable()) {
- ProxyPlugin.getPlugin().getLogger().log(
- new Status(
- IStatus.WARNING,
- ProxyPlugin.getPlugin().getBundle().getSymbolicName(),
- 0,
- "", //$NON-NLS-1$
- e));
- return null;
- } else {
- // Try one more time.
- fRegistry.closeConnection(connect);
- connect = null;
- connect = fRegistry.getFreeConnection();
- try {
- getObjectInstanceData(connect, value.objectID, value); // Go and get the data
- } catch (CommandErrorException eAgain) {
- fRegistry.closeConnection(connect);
- connect = null;
- throw eAgain;
- }
- }
- } finally {
- if (connect != null)
- fRegistry.returnConnection(connect);
- }
-
- return getBeanProxy(value); // Now process it to create the new data.
-
- // An new object id. Need to get the class type and let it create it.
- case Commands.NEW_OBJECT_ID:
- try {
- IREMBeanTypeProxy newBeanType = getBeanType(value.classID);
- IREMBeanProxy newProxy = newBeanType.newBeanProxy(new Integer(value.objectID));
- if (newProxy != null)
- registerProxy(newProxy);
- return newProxy;
- } catch (CommandException e) {
- // The server has created a new object, but we couldn't create/register a proxy for it.
- // We need to release it so that the server can get rid of it. Otherwise it would hang
- // around over there forever.
- releaseID(value.objectID);
- throw e;
- } catch (RuntimeException e) {
- // The server has created a new object, but we couldn't create/register a proxy for it.
- // We need to release it so that the server can get rid of it. Otherwise it would hang
- // around over there forever.
- releaseID(value.objectID);
- throw e;
- }
-
- // An exception was thrown, create the ThrowableProxy and then throw it.
- case Commands.THROW:
- IREMBeanProxy newThrowProxy = null;
- try {
- IREMBeanTypeProxy newThrowType = newThrowType = getBeanType(value.classID);
- newThrowProxy = newThrowType.newBeanProxy(new Integer(value.objectID));
- if (newThrowProxy != null)
- registerProxy(newThrowProxy);
- } catch (CommandException e) {
- // The server has created a new object, but we couldn't create/register a proxy for it.
- // We need to release it so that the server can get rid of it. Otherwise it would hang
- // around over there forever.
- releaseID(value.objectID);
- throw e;
- } catch (RuntimeException e) {
- // The server has created a new object, but we couldn't create/register a proxy for it.
- // We need to release it so that the server can get rid of it. Otherwise it would hang
- // around over there forever.
- releaseID(value.objectID);
- throw e;
- }
- // It really should be a throwable, but if not, just return it.
- if (newThrowProxy instanceof ThrowableProxy)
- throw (ThrowableProxy) newThrowProxy;
- else
- return newThrowProxy;
-
- // It is one of the standard kinds, which are Constant types
- default:
- IREMConstantBeanTypeProxy standardBeanType = null;
- try {
- standardBeanType = (IREMConstantBeanTypeProxy) getBeanType(value.type);
- if (standardBeanType == null)
- return null; // Cannot find the type to create it.
- } catch (ClassCastException e) {
- // It wasn't a standard type, so we can't create it. Return null.
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", e)); //$NON-NLS-1$
- return null;
- }
- return standardBeanType.newBeanProxy(value);
- }
-}
-
-/**
- * Process the error exception. Get the data from it and turn it into proxy data.
- * If it is a THROW, then it will throw the Throwable instead.
- *
- * NOTE: It is public ONLY so that extension factories can process errors in
- * an consistent manner.
- *
- * It is important that this be called only within a transaction.
- */
-public void processErrorReturn(CommandErrorException e) throws CommandException, ThrowableProxy {
- int code = e.getErrorCode();
- Object data = null;
- if (code == Commands.THROWABLE_SENT)
- data = getBeanProxy(e.getValue()); // It is Throw sent, so let the throw from getBeanProxy continue on out. (But as a safety, we still try to get the data.
- else {
- try {
- data = getBeanProxy(e.getValue());
- } catch (ThrowableProxy t) {
- // But we want to keep throwables in this case. They are just data for the command error.
- data = t;
- }
- }
- throw new CommandErrorException(MessageFormat.format(ProxyRemoteMessages.RemoteCmd_EXC_, new Object[] {new Integer(code)}), code, e.getValue(), data); // Create a new one and throw it containing the proxied data. //$NON-NLS-1$
-}
-
-
-/**
- * Get a beantype where the id passed in is the classID of the beantype.
- * If not found, then go get it loaded. If it can't be found, then we will
- * release the id because it means we have an id from the server, but we
- * can't create a proxy for it, so don't keep the server holding it.
- * NOTE: This is public ONLY so that extension factories can create correct types
- * in a consistent manner from the id.
- *
- * It is important that this be called only from within a transaction.
- */
-public IREMBeanTypeProxy getBeanType(int id) throws CommandException {
- IREMBeanTypeProxy beanType = null;
- try {
- Integer classID = new Integer(id);
- beanType = (IREMBeanTypeProxy) retrieveProxy(classID, false);
- if (beanType == null)
- beanType = fBeanTypeProxyFactory.createBeanTypeProxy(classID); // We don't have it, need to go to the factory so that it can go query what it needs
- if (beanType == null)
- return null; // Cannot find the type to create it.
- } catch (ClassCastException e) {
- // It wasn't a bean type, so we can't create it. Return null.
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", e)); //$NON-NLS-1$
- } finally {
- if (beanType == null)
- releaseID(id); // Couldn't create a proxy, so release the id.
- }
- return beanType;
-}
-
-
-/**
- * Return a proxy wrapping the primitive integer
- */
-public IIntegerBeanProxy createBeanProxyWith(int aPrimitiveInteger) {
-
- return fBeanTypeProxyFactory.intType.createIntegerBeanProxy(aPrimitiveInteger);
-}
-
-/**
- * Return a proxy wrapping the primitive byte
- */
-public INumberBeanProxy createBeanProxyWith(byte aPrimitiveByte) {
-
- return fBeanTypeProxyFactory.byteType.createByteBeanProxy(aPrimitiveByte);
-}
-
-/**
- * Return a proxy wrapping the primitive char
- */
-public ICharacterBeanProxy createBeanProxyWith(char aPrimitiveChar) {
-
- return fBeanTypeProxyFactory.charType.createCharacterBeanProxy(aPrimitiveChar);
-}
-
-/**
- * Return a proxy wrapping the primitive short
- */
-public INumberBeanProxy createBeanProxyWith(short aPrimitiveShort) {
-
- return fBeanTypeProxyFactory.shortType.createShortBeanProxy(aPrimitiveShort);
-}
-
-/**
- * Return a proxy wrapping the primitive long
- */
-public INumberBeanProxy createBeanProxyWith(long aPrimitiveLong) {
-
- return fBeanTypeProxyFactory.longType.createLongBeanProxy(aPrimitiveLong);
-}
-/**
- * Return a proxy wrapping the primitive double
- */
-public INumberBeanProxy createBeanProxyWith(double aPrimitiveDouble) {
-
- return fBeanTypeProxyFactory.doubleType.createDoubleBeanProxy(aPrimitiveDouble);
-}
-/**
- * Return a proxy wrapping the primitive float
- */
-public INumberBeanProxy createBeanProxyWith(float aPrimitiveFloat) {
-
- return fBeanTypeProxyFactory.floatType.createFloatBeanProxy(aPrimitiveFloat);
-}
-
-/**
- * createBeanProxyWith method comment.
- */
-public IBooleanBeanProxy createBeanProxyWith(Boolean aBoolean) {
- return fBeanTypeProxyFactory.booleanClass.createBooleanBeanProxy(aBoolean);
-}
-/**
- * Return a proxy that wraps the Integer argument
- */
-public IIntegerBeanProxy createBeanProxyWith(Integer anInteger) {
-
- return fBeanTypeProxyFactory.integerClass.createIntegerBeanProxy(anInteger);
-}
-/**
- * createBeanProxyWith method comment.
- */
-public INumberBeanProxy createBeanProxyWith(Number aNumber) {
- REMAbstractNumberBeanTypeProxy type = (REMAbstractNumberBeanTypeProxy) fBeanTypeProxyFactory.getBeanTypeProxy(aNumber.getClass().getName());
- return type.createNumberBeanProxy(aNumber);
-}
-/**
- * Return a proxy for the argument
- */
-public IStringBeanProxy createBeanProxyWith(String aString) {
-
- return fBeanTypeProxyFactory.stringClass.createStringBeanProxy(aString);
-
-}
-/**
- * Return a proxy for the argument
- */
-public ICharacterBeanProxy createBeanProxyWith(Character aCharacter) {
-
- return fBeanTypeProxyFactory.characterClass.createCharacterBeanProxy(aCharacter);
-
-}
-/**
- * createBeanProxyWith method comment.
- */
-public IBooleanBeanProxy createBeanProxyWith(boolean aPrimitiveBoolean) {
- return fBeanTypeProxyFactory.booleanType.createBooleanBeanProxy(aPrimitiveBoolean);
-}
-
-/**
- * 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 ((REMArrayBeanTypeProxy) 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.
- REMArrayBeanTypeProxy arrayType = (REMArrayBeanTypeProxy) fBeanTypeProxyFactory.getBeanTypeProxy(type.getTypeName(), dimensions.length);
- return arrayType.createBeanProxyWith(dimensions);
- }
-}
-/**
- * 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});
-}
-
-/**
- * Retrieve the proxy from the mapping table. Handle already GC'd.
- * If this returns null, it is important that the caller tries to recreate
- * it since the id is still valid on the server.
- */
-private IBeanProxy retrieveProxy(Integer objectID, boolean incrementUseCnt) {
- synchronized (fIDToProxiesMap) {
- ProxyRef ref = (ProxyRef) fIDToProxiesMap.get(objectID);
- if (ref != null) {
- Object bp = ref.get();
- if (ref.isEnqueued() || bp == null) {
- // It's waiting to be removed, or has been removed. i.e. GC'd, so just remove it from the map, next processQueue will remove it from the queue.
- fIDToProxiesMap.remove(objectID);
- ref.clear(); // This is so that when the processQueue see's it,
- // it won't send a release request to the server
- // since it will be recreated when this method returns.
- return null;
- } else {
- if (incrementUseCnt)
- ref.incrUseCnt();
- return (IBeanProxy) bp;
- }
- } else
- return null;
- }
-}
-
-/**
- * Start Transaction: During the time between start/stop transaction,
- * proxies will not be cleaned up. This prevents the case of a two step
- * transaction where the returned ID from the remote vm is for a proxy
- * that is about to be cleaned up, and then having that proxy disappear
- * when going for the data for it.
- *
- * Note: It is IMPERITIVE that the start/stop is used in the following way:
- * factory.startTransaction();
- * try {
- * do your stuff...
- * } finally {
- * factory.stopTransaction();
- * }
- *
- * This way it can never accidently leave it in a locked state.
- */
-public void startTransaction() {
- synchronized (fIDToProxiesMap) {
- transactionLockCount++;
- }
-}
-
-public boolean inTransaction() {
- synchronized (fIDToProxiesMap) {
- return transactionLockCount != 0;
- }
-}
-
-/**
- * Stop Transaction: During the time between start/stop transaction,
- * proxies will not be cleaned up. This prevents the case of a two step
- * transaction where the returned ID from the remote vm is for a proxy
- * that is about to be cleaned up, and then having that proxy disappear
- * when going for the data for it.
- *
- * Note: It is IMPERITIVE that the start/stop is used in the following way:
- * factory.startTransaction();
- * try {
- * do your stuff...
- * } finally {
- * factory.stopTransaction();
- * }
- *
- * This way it can never accidently leave it in a locked state.
- */
-public void stopTransaction() {
- synchronized (fIDToProxiesMap) {
- if (--transactionLockCount < 0)
- transactionLockCount = 0; // Shouldn't occur, but just in case.
- }
-}
-
-/**
- * Terminate the factory. If this is being terminated, then the server is being terminated too.
- * So just go through all of the proxies and release them, but don't send any notification to
- * the server since the server is subsequently just going to throw them away when it terminates.
- * <p>
- * This can't run async, so wait is a suggestion here.
- */
-public void terminateFactory(boolean wait) {
- synchronized (fIDToProxiesMap) {
- Iterator itr = fIDToProxiesMap.values().iterator();
- while (itr.hasNext()) {
- ProxyRef ref = (ProxyRef) itr.next();
- if (ref != null) {
- Object bp = ref.get();
- // If not cleaned up and not enqueued, release it.
- if (bp != null && !ref.isEnqueued())
- ((IREMBeanProxy) bp).release();
- }
- }
-
- fIDToProxiesMap.clear();
- queue = null; // Don't bother processing the queue, don't need to now.
- }
-}
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IStandardBeanProxyFactory#createExpression()
- */
- public IExpression createExpression() {
- return new REMExpression(this.fRegistry);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IStandardBeanProxyFactory#createBeanProxyFrom(java.lang.String)
- */
- public IBeanProxy createBeanProxyFrom(String initializationString) throws ThrowableProxy, ClassCastException, InstantiationException {
- try {
- return createBeanProxy(fBeanTypeProxyFactory.voidType, initializationString);
- } catch (CommandException e) {
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", e)); //$NON-NLS-1$ }
- }
- return null;
- }
-
- /*
- * (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;
- IREMBeanTypeProxy type = (IREMBeanTypeProxy) nonPrimitiveProxy.getTypeProxy();
- // Step into the internals. The ID is a constant int, so we can use a switch stmt.
- switch (type.getID().intValue()) {
- case Commands.BOOLEAN_CLASS:
- return this.createBeanProxyWith(((IBooleanBeanProxy) nonPrimitiveProxy).booleanValue());
- case Commands.BYTE_CLASS:
- return this.createBeanProxyWith(((INumberBeanProxy) nonPrimitiveProxy).byteValue());
- case Commands.CHARACTER_CLASS:
- return this.createBeanProxyWith(((ICharacterBeanProxy) nonPrimitiveProxy).charValue());
- case Commands.DOUBLE_CLASS:
- return this.createBeanProxyWith(((INumberBeanProxy) nonPrimitiveProxy).doubleValue());
- case Commands.FLOAT_CLASS:
- return this.createBeanProxyWith(((INumberBeanProxy) nonPrimitiveProxy).floatValue());
- case Commands.INTEGER_CLASS:
- return this.createBeanProxyWith(((INumberBeanProxy) nonPrimitiveProxy).intValue());
- case Commands.LONG_CLASS:
- return this.createBeanProxyWith(((INumberBeanProxy) nonPrimitiveProxy).longValue());
- case Commands.SHORT_CLASS:
- return this.createBeanProxyWith(((INumberBeanProxy) nonPrimitiveProxy).shortValue());
- default:
- return nonPrimitiveProxy;
- }
- }
-
-
- public IBeanProxy getIVMServerProxy() {
- return vmServerProxy;
- }
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMStandardBeanTypeProxyFactory.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMStandardBeanTypeProxyFactory.java
deleted file mode 100644
index 1c66df271..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMStandardBeanTypeProxyFactory.java
+++ /dev/null
@@ -1,690 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.remote;
-
-/*
- * $RCSfile: REMStandardBeanTypeProxyFactory.java,v $
- * $Revision: 1.15 $ $Date: 2005/06/21 20:35:07 $
- */
-
-import java.text.MessageFormat;
-import java.util.*;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.core.ExpressionProxy.ProxyEvent;
-import org.eclipse.jem.internal.proxy.common.CommandException;
-import org.eclipse.jem.internal.proxy.common.MapTypes;
-import org.eclipse.jem.internal.proxy.common.remote.CommandErrorException;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-
-/**
- * We are a beanTypeProxyFactory for creating REMBeanTypeProxy objects Primitive types as well as common types like String are cached for speed of
- * lookup. We are the standard one that the VCE uses. Creation date: (12/3/99 2:32:48 PM)
- *
- * @author: Joe Winchester
- */
-public final class REMStandardBeanTypeProxyFactory implements IStandardBeanTypeProxyFactory {
-
- protected final REMProxyFactoryRegistry fFactoryRegistry;
-
- protected REMStandardBeanProxyFactory fBeanFactory;
-
- // Hashtable to cache proxies for classes so they are found on second and subsequent lookups
- protected Map fBeanProxies = new HashMap(1000);
-
- // A Cache of bean type proxies that should not ever be released. These are the standard ones
- // that we create here. They are never released because they wouldn't be correctly re-created
- // if they were. Also they are standard ones with standard ID's that don't change so they
- // don't need to be re-created later.
- protected Set fPermanentProxies = new HashSet(30);
-
- // Cache of requested but not found bean types. If not maintaining the list, this variable will be null.
- // The values are strings (classnames in JNI format).
- protected Set fNotFoundTypes = null;
-
- // Cached copy of a few typical bean type proxies.
- REMBeanTypeProxy objectClass;
-
- REMClassBeanTypeProxy classClass;
-
- REMVoidBeanTypeProxy voidType;
-
- REMBooleanTypeBeanTypeProxy booleanType;
-
- REMBooleanClassBeanTypeProxy booleanClass;
-
- REMIntegerTypeBeanTypeProxy intType;
-
- REMIntegerClassBeanTypeProxy integerClass;
-
- REMByteTypeBeanTypeProxy byteType;
-
- REMByteClassBeanTypeProxy byteClass;
-
- REMShortClassBeanTypeProxy shortClass;
-
- REMShortTypeBeanTypeProxy shortType;
-
- REMLongClassBeanTypeProxy longClass;
-
- REMLongTypeBeanTypeProxy longType;
-
- REMDoubleClassBeanTypeProxy doubleClass;
-
- REMDoubleTypeBeanTypeProxy doubleType;
-
- REMFloatClassBeanTypeProxy floatClass;
-
- REMFloatTypeBeanTypeProxy floatType;
-
- REMBigDecimalBeanTypeProxy bigDecimalClass;
-
- REMBigIntegerBeanTypeProxy bigIntegerClass;
-
- REMCharacterTypeBeanTypeProxy charType;
-
- REMCharacterClassBeanTypeProxy characterClass;
-
- REMStringBeanTypeProxy stringClass;
-
- /**
- * Available to all REM beantypes.
- */
- public REMProxyConstants proxyConstants;
-
- /**
- * IDEBeanTypeProxyFactory constructor comment.
- */
- REMStandardBeanTypeProxyFactory(REMProxyFactoryRegistry aRegistry) {
- fFactoryRegistry = aRegistry;
- aRegistry.registerBeanTypeProxyFactory(this);
-
- proxyConstants = new REMProxyConstants(aRegistry);
-
- // Now initialize the cache.
- objectClass = new REMBeanTypeProxy(fFactoryRegistry, new Integer(Commands.OBJECT_CLASS), Object.class.getName(), null);
- classClass = new REMClassBeanTypeProxy(fFactoryRegistry, objectClass);
- voidType = new REMVoidBeanTypeProxy(fFactoryRegistry);
- booleanType = new REMBooleanTypeBeanTypeProxy(fFactoryRegistry);
- booleanClass = new REMBooleanClassBeanTypeProxy(fFactoryRegistry, objectClass);
- IBeanTypeProxy numberClass = objectClass.newBeanTypeForClass(new Integer(Commands.NUMBER_CLASS), Number.class.getName(), true);
- intType = new REMIntegerTypeBeanTypeProxy(fFactoryRegistry);
- integerClass = new REMIntegerClassBeanTypeProxy(fFactoryRegistry, numberClass);
- byteType = new REMByteTypeBeanTypeProxy(fFactoryRegistry);
- byteClass = new REMByteClassBeanTypeProxy(fFactoryRegistry, numberClass);
- shortType = new REMShortTypeBeanTypeProxy(fFactoryRegistry);
- shortClass = new REMShortClassBeanTypeProxy(fFactoryRegistry, numberClass);
- longType = new REMLongTypeBeanTypeProxy(fFactoryRegistry);
- longClass = new REMLongClassBeanTypeProxy(fFactoryRegistry, numberClass);
- doubleType = new REMDoubleTypeBeanTypeProxy(fFactoryRegistry);
- doubleClass = new REMDoubleClassBeanTypeProxy(fFactoryRegistry, numberClass);
- floatType = new REMFloatTypeBeanTypeProxy(fFactoryRegistry);
- floatClass = new REMFloatClassBeanTypeProxy(fFactoryRegistry, numberClass);
- bigDecimalClass = new REMBigDecimalBeanTypeProxy(fFactoryRegistry, numberClass);
- bigIntegerClass = new REMBigIntegerBeanTypeProxy(fFactoryRegistry, numberClass);
- charType = new REMCharacterTypeBeanTypeProxy(fFactoryRegistry);
- characterClass = new REMCharacterClassBeanTypeProxy(fFactoryRegistry, objectClass);
- stringClass = new REMStringBeanTypeProxy(fFactoryRegistry, objectClass);
- IBeanTypeProxy throwableClass = new REMThrowableBeanTypeProxy(fFactoryRegistry, new Integer(Commands.THROWABLE_CLASS), Throwable.class
- .getName(), objectClass);
- IBeanTypeProxy threadClass = objectClass.newBeanTypeForClass(new Integer(Commands.THREAD_CLASS), Thread.class.getName(), false);
- IBeanTypeProxy expressionProcessorControllerClass = objectClass.newBeanTypeForClass(new Integer(Commands.EXPRESSIONPROCESSERCONTROLLER_CLASS), "org.eclipse.jem.internal.proxy.vm.remote.ExpressionProcesserController", false); //$NON-NLS-1$
-
- // Initialize the hashtable with the primitives, their lang equivalents, and also common classes like String
-
- // Primitives
- fBeanProxies.put(voidType.getTypeName(), voidType);
- fBeanProxies.put(intType.getTypeName(), intType);
- fBeanProxies.put(booleanType.getTypeName(), booleanType);
- fBeanProxies.put(charType.getTypeName(), charType);
- fBeanProxies.put(byteType.getTypeName(), byteType);
- fBeanProxies.put(shortType.getTypeName(), shortType);
- fBeanProxies.put(longType.getTypeName(), longType);
- fBeanProxies.put(floatType.getTypeName(), floatType);
- fBeanProxies.put(doubleType.getTypeName(), doubleType);
-
- // java.lang primitive peers
- // Note that special classes are used for some of these which allow the IDE to get the
- // lang objects from the objects that are holding proxies
- fBeanProxies.put(integerClass.getTypeName(), integerClass);
- fBeanProxies.put(booleanClass.getTypeName(), booleanClass);
- fBeanProxies.put(characterClass.getTypeName(), characterClass);
- fBeanProxies.put(byteClass.getTypeName(), byteClass);
- fBeanProxies.put(shortClass.getTypeName(), shortClass);
- fBeanProxies.put(longClass.getTypeName(), longClass);
- fBeanProxies.put(floatClass.getTypeName(), floatClass);
- fBeanProxies.put(doubleClass.getTypeName(), doubleClass);
- fBeanProxies.put(bigDecimalClass.getTypeName(), bigDecimalClass);
- fBeanProxies.put(bigIntegerClass.getTypeName(), bigIntegerClass);
- fBeanProxies.put(stringClass.getTypeName(), stringClass);
- fBeanProxies.put(throwableClass.getTypeName(), throwableClass);
- fBeanProxies.put(objectClass.getTypeName(), objectClass);
- fBeanProxies.put(classClass.getTypeName(), classClass);
- fBeanProxies.put(numberClass.getTypeName(), numberClass);
- fBeanProxies.put(threadClass.getTypeName(), threadClass);
- fBeanProxies.put(expressionProcessorControllerClass.getTypeName(), expressionProcessorControllerClass);
-
- // Mark these as permanent.
- fPermanentProxies.addAll(fBeanProxies.values());
- }
-
- /**
- * Initialize AFTER BeanProxyFactory has been created. This is REQUIRED! NOTE: It is package protected so that only REMStandardBeanProxyFactory
- * can call it when ready.
- */
- synchronized void initialize(REMStandardBeanProxyFactory proxyFactory) {
- fBeanFactory = proxyFactory;
- fBeanFactory.registerProxies(fBeanProxies.values());
- }
-
- /*
- * This is called when we know we don't have the class registered, so we need to create the proxy. We have a connection passed in and will reuse
- * it as necessary
- *
- * It is important that this be called only from within a transaction.
- */
- private synchronized IREMBeanTypeProxy createBeanTypeProxy(String typeName, IREMConnection connection) throws CommandException {
-
- // We don't have the beantype proxy, so create it.
- IREMBeanTypeProxy beanTypeProxy = null;
- Commands.GetClassReturn ret = null;
- try {
- ret = getClassReturn(connection, typeName);
- } catch (ThrowableProxy ep) {
- // Print out the trace and return proxy with init error.
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", ep)); //$NON-NLS-1$
- IREMBeanTypeProxy proxy = new REMInitErrorBeanTypeProxy(fFactoryRegistry, MessageFormat.format(ProxyRemoteMessages.ExceptionErrorMsg_EXC_, new Object[] { ep.getTypeProxy().getTypeName(), ep.getProxyLocalizedMessage()}), typeName); //$NON-NLS-1$
- registerBeanTypeProxy(proxy, false);
- return proxy;
- }
- if (ret == null) {
- if (fNotFoundTypes != null)
- fNotFoundTypes.add(typeName);
- return null; // The class doesn't even exist on the server.
- }
-
- if (typeName.charAt(0) != '[') {
- // It is not an array.
- IREMBeanTypeProxy superTypeProxy = null;
- if (!ret.isInterface && ret.superClassname.length() != 0) {
- // Get the beantype proxy of the superclass.
- superTypeProxy = getBeanTypeProxy(ret.superClassname, connection);
- }
-
- // First check with the factory for the package of the class.
- // Inner classes have to use the dollar notation since if they didn't we couldn't tell where
- // the package ended and the class started. This check is here in case the
- // extension factory can handle this class but needs the id from the server to
- // create it.
- int packageIndex = typeName.lastIndexOf('.');
- if (packageIndex != -1) {
- String packageName = typeName.substring(0, packageIndex);
- IREMBeanTypeProxyFactory packageFactory = (IREMBeanTypeProxyFactory) fFactoryRegistry.getBeanTypeProxyFactoryExtension(packageName);
- if (packageFactory != null) {
- beanTypeProxy = packageFactory.getExtensionBeanTypeProxy(typeName, new Integer(ret.classID), superTypeProxy);
- if (beanTypeProxy != null) {
- registerBeanTypeProxy(beanTypeProxy, false);
- return beanTypeProxy;
- }
- }
- }
-
- if (ret.isInterface) {
- // Interface never have a super type, so we will create a specific type.
- beanTypeProxy = new REMInterfaceBeanTypeProxy(fFactoryRegistry, new Integer(ret.classID), typeName);
- } else {
- // Ask the supertype
- // to create a beantype proxy of the same beantype proxy class.
- // This is so that any subclasses will get the same beantype proxy class
- // for it if it is special.
- if (superTypeProxy != null)
- beanTypeProxy = superTypeProxy.newBeanTypeForClass(new Integer(ret.classID), typeName, ret.isAbstract);
- }
- } else
- beanTypeProxy = new REMArrayBeanTypeProxy(fFactoryRegistry, new Integer(ret.classID), typeName, objectClass);
-
- // Cache the instance so we can re-use it again
- if (beanTypeProxy != null)
- registerBeanTypeProxy(beanTypeProxy, false);
- return beanTypeProxy;
- }
-
- /**
- * Using the helper class to find a class by name, then create the proxy.
- */
- public IBeanTypeProxy getBeanTypeProxy(String typeName) {
- try {
- return getBeanTypeProxy(MapTypes.getJNIFormatName(typeName), (IREMConnection) null);
- } catch (CommandException e) {
- // Try once more (we won't have received recoverable exceptions here, they were already caught and handled)
- try {
- return getBeanTypeProxy(typeName, (IREMConnection) null);
- } catch (CommandException eAgain) {
- // Failed again.
- ProxyPlugin.getPlugin().getLogger().log(
- new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", eAgain)); //$NON-NLS-1$
- }
- }
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IStandardBeanTypeProxyFactory#getBeanTypeProxy(org.eclipse.jem.internal.proxy.core.IExpression,
- * java.lang.String)
- */
- public synchronized IProxyBeanType getBeanTypeProxy(IExpression expression, String typeName) {
- typeName = MapTypes.getJNIFormatName(typeName);
- // See whether we already have the proxy for the argument name
- IProxyBeanType beanTypeProxy = (IProxyBeanType) fBeanProxies.get(typeName);
- if (beanTypeProxy != null)
- return beanTypeProxy;
-
- // Now see if an expression proxy cached.
- beanTypeProxy = ((REMExpression) expression).getBeanType(typeName);
- if (beanTypeProxy != null)
- return beanTypeProxy;
-
- // If not an array, then see if the package extension mechanism can find it.
- // Do this here so that if it is found in the package extension we won't necessarily create an
- // extra connection when not needed.
- if (typeName.charAt(0) != '[') {
- // It is not an array
- // First check with the factory for the package of the class.
- // Inner classes have to use the dollar notation since if they didn't we couldn't tell where
- // the package ended and the class started.
- int packageIndex = typeName.lastIndexOf('.');
- if (packageIndex != -1) {
- String packageName = typeName.substring(0, packageIndex);
- IREMBeanTypeProxyFactory packageFactory = (IREMBeanTypeProxyFactory) fFactoryRegistry.getBeanTypeProxyFactoryExtension(packageName);
- if (packageFactory != null) {
- beanTypeProxy = packageFactory.getExtensionBeanTypeProxy(typeName, expression);
- if (beanTypeProxy != null) {
- registerBeanTypeProxy(beanTypeProxy, false);
- return beanTypeProxy;
- }
- }
- }
- }
-
- // Need to create the expression proxy for it.
- beanTypeProxy = ((Expression) expression).createBeanTypeExpressionProxy(typeName);
- registerBeanTypeProxy(beanTypeProxy, false);
- return beanTypeProxy;
-
- }
-
- /**
- * One that internally allows that we already have a connection to work with. If the connection is null, then one will be created.
- *
- * It is important that if the connection is not null, then we are in a transaction.
- */
- private synchronized IREMBeanTypeProxy getBeanTypeProxy(String typeName, IREMConnection inConnect) throws CommandException {
-
- // See whether we already have the proxy for the argument name
- IProxyBeanType beanTypeProxy = (IProxyBeanType) fBeanProxies.get(typeName);
- // See if there and resolved, if so, return it. If not resolved, that means we need it NOW
- // so we must go for it. When finally resolved the original ExpressionProxy will be deregistered and
- // the resolved beantypeproxy will be in its place.
- if (beanTypeProxy != null && beanTypeProxy.isBeanProxy()) { return (IREMBeanTypeProxy) beanTypeProxy; }
-
- // If not an array, then see if the package extension mechanism can find it.
- // Do this here so that if it is found in the package extension we won't necessarily create an
- // extra connection when not needed.
- if (typeName.charAt(0) != '[') {
- // It is not an array
- // First check with the factory for the package of the class.
- // Inner classes have to use the dollar notation since if they didn't we couldn't tell where
- // the package ended and the class started.
- int packageIndex = typeName.lastIndexOf('.');
- if (packageIndex != -1) {
- String packageName = typeName.substring(0, packageIndex);
- IREMBeanTypeProxyFactory packageFactory = (IREMBeanTypeProxyFactory) fFactoryRegistry.getBeanTypeProxyFactoryExtension(packageName);
- if (packageFactory != null) {
- beanTypeProxy = packageFactory.getExtensionBeanTypeProxy(typeName);
- if (beanTypeProxy != null) {
- registerBeanTypeProxy((IREMBeanTypeProxy) beanTypeProxy, false);
- return (IREMBeanTypeProxy) beanTypeProxy;
- }
- }
- }
- }
-
- IREMConnection connect = inConnect != null ? inConnect : fFactoryRegistry.getFreeConnection();
- if (inConnect == null)
- fBeanFactory.startTransaction(); // Start a transation.
- try {
- return createBeanTypeProxy(typeName, connect);
- } catch (CommandException e) {
- if (inConnect == null) {
- // Need to close the connection, not return it.
- fFactoryRegistry.closeConnection(connect);
- connect = null; // So that it won't be returned.
- }
- throw e; // Pass it on up
- } finally {
- if (inConnect == null)
- fBeanFactory.stopTransaction();
- if (inConnect == null && connect != null)
- fFactoryRegistry.returnConnection(connect);
- }
- }
-
- /*
- * It is important this be called only from within a transaction.
- */
- private Commands.GetClassReturn getClassReturn(IREMConnection connection, String className) throws CommandException, ThrowableProxy {
- try {
- return connection.getClass(className);
- } catch (CommandErrorException e) {
- fBeanFactory.processErrorReturn(e); // Let proxy factory handle the error return
- }
- return null;
- }
-
- /**
- * Return an Array type proxy for the given class name of the specified dimensions. This is a helper method. The same result can be gotton from
- * getBeanTypeProxy. e.g. getBeanTypeProxy("java.lang.Object", 3) is the same as: getBeanTypeProxy("[[[Ljava.lang.Object;")
- *
- * They both result in a type of: Object [][][]
- *
- * or getBeanTypeProxy("[Ljava.langObject;", 3) becomes Object [][][][]
- */
- public IBeanTypeProxy getBeanTypeProxy(String componentClassName, int dimensions) {
- return getBeanTypeProxy(getArrayClassName(componentClassName, dimensions));
- }
-
- /**
- * @param componentClassName
- * @param dimensions
- * @return
- *
- * @since 1.1.0
- */
- private String getArrayClassName(String componentClassName, int dimensions) {
- String jniComponentClassName = MapTypes.getJNIFormatName(componentClassName);
- String compType = jniComponentClassName;
- if (jniComponentClassName.charAt(0) != '[') {
- // We're not already an array, so create correct template.
- compType = (String) MapTypes.MAP_TYPENAME_TO_SHORTSIG.get(jniComponentClassName);
- if (compType == null) {
- // It is a class, and not a type.
- compType = "L" + jniComponentClassName + ";"; //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
- // Now create it with the appropriate number of '[' in front.
- StringBuffer buffer = new StringBuffer(dimensions + compType.length());
- for (int i = 0; i < dimensions; i++)
- buffer.append('[');
- buffer.append(compType);
- return buffer.toString();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IStandardBeanTypeProxyFactory#getBeanTypeProxy(org.eclipse.jem.internal.proxy.core.IExpression,
- * java.lang.String, int)
- */
- public IProxyBeanType getBeanTypeProxy(IExpression expression, String componentClassName, int dimensions) {
- return getBeanTypeProxy(expression, getArrayClassName(componentClassName, dimensions));
- }
-
- /**
- * Get the bean type proxy from a class id. This means that a new class id was sent back from the server that we don't have yet. We need to go ask
- * the server for information on this type so that we can create it.
- *
- * NOTE: This is package protected so that only the standard bean proxy factory can call it.
- *
- * It is important that this has been called within a transaction.
- */
- IREMBeanTypeProxy createBeanTypeProxy(Integer classID) {
- IREMConnection connect = fFactoryRegistry.getFreeConnection();
- try {
- return createBeanTypeProxy(classID, connect);
- } catch (CommandException e) {
- if (e.isRecoverable()) {
- // It is recoverable, print message, keep connection live and return it.
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", e)); //$NON-NLS-1$
- } else {
- // Try again, close connection, get a new one.
- fFactoryRegistry.closeConnection(connect);
- connect = null;
- connect = fFactoryRegistry.getFreeConnection();
- try {
- return createBeanTypeProxy(classID, connect);
- } catch (CommandException eAgain) {
- // Failed again. Close connection, don't return it.
- ProxyPlugin.getPlugin().getLogger().log(
- new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", eAgain)); //$NON-NLS-1$
- fFactoryRegistry.closeConnection(connect);
- connect = null;
- }
- }
- } finally {
- if (connect != null)
- fFactoryRegistry.returnConnection(connect);
- }
- return null;
- }
-
- /*
- * One that internally allows that we already have a connection to work with. If the connection is null, then one will be created.
- *
- * It is important this be called only from within a transaction.
- */
- private synchronized IREMBeanTypeProxy createBeanTypeProxy(Integer classID, IREMConnection connect) throws CommandException {
- // We don't have the beantype proxy, so create it.
- IREMBeanTypeProxy beanTypeProxy = null;
-
- Commands.GetClassIDReturn ret = null;
- try {
- ret = getClassIDReturn(connect, classID);
- } catch (ThrowableProxy ep) {
- // Just print out the trace and return proxy not found.
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", ep)); //$NON-NLS-1$
- return null;
- }
-
- // If the signature is that of a class.
- if (ret.className.charAt(0) != '[') {
- // It is not an array.
- IREMBeanTypeProxy superTypeProxy = null;
- if (!ret.isInterface && ret.superClassname.length() != 0) {
- // Get the beantype proxy of the superclass.
- superTypeProxy = getBeanTypeProxy(ret.superClassname, connect);
- }
-
- // First check with the factory for the package of the class.
- // Inner classes have to use the dollar notation since if they didn't we couldn't tell where
- // the package ended and the class started.
- int packageIndex = ret.className.lastIndexOf('.');
- if (packageIndex != -1) {
- String packageName = ret.className.substring(0, packageIndex);
- IREMBeanTypeProxyFactory packageFactory = (IREMBeanTypeProxyFactory) fFactoryRegistry.getBeanTypeProxyFactoryExtension(packageName);
- if (packageFactory != null) {
- beanTypeProxy = packageFactory.getExtensionBeanTypeProxy(ret.className, classID, superTypeProxy);
- if (beanTypeProxy != null) {
- registerBeanTypeProxy(beanTypeProxy, false);
- return beanTypeProxy;
- }
- }
- }
-
- if (ret.isInterface) {
- // Interface never have a super type, so we will let the object class do it for us.
- beanTypeProxy = new REMInterfaceBeanTypeProxy(fFactoryRegistry, classID, ret.className);
- } else {
- // Ask the beantype proxy of the superclass
- // to create a beantype proxy of the same beantype proxy class.
- // This is so that any subclasses will get the same beantype proxy class
- // for it if it is special.
- if (superTypeProxy != null)
- beanTypeProxy = superTypeProxy.newBeanTypeForClass(classID, ret.className, ret.isAbstract);
- }
-
- // Cache the instance so we can re-use it again
- if (beanTypeProxy != null)
- registerBeanTypeProxy(beanTypeProxy, false);
- return beanTypeProxy;
- } else {
- // It is an array.
- beanTypeProxy = new REMArrayBeanTypeProxy(fFactoryRegistry, classID, ret.className, objectClass);
- registerBeanTypeProxy(beanTypeProxy, false);
- return beanTypeProxy;
- }
- }
-
- /*
- * It is important that this be called only from within a transaction.
- */
- private Commands.GetClassIDReturn getClassIDReturn(IREMConnection connection, Integer classID) throws CommandException, ThrowableProxy {
- try {
- return connection.getClassFromID(classID.intValue());
- } catch (CommandErrorException e) {
- fBeanFactory.processErrorReturn(e); // Let proxy factory handle the error return
- }
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IStandardBeanTypeProxyFactory#registerBeanTypeProxy(org.eclipse.jem.internal.proxy.core.IBeanTypeProxy,
- * boolean)
- */
- public synchronized void registerBeanTypeProxy(IBeanTypeProxy aBeanTypeProxy, boolean permanent) {
- fBeanProxies.put(aBeanTypeProxy.getTypeName(), aBeanTypeProxy);
- fBeanFactory.registerProxy((IREMBeanProxy) aBeanTypeProxy);
- if (permanent)
- fPermanentProxies.add(aBeanTypeProxy);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IStandardBeanTypeProxyFactory#registerBeanTypeProxy(org.eclipse.jem.internal.proxy.core.IProxyBeanType,
- * boolean)
- */
- public void registerBeanTypeProxy(IProxyBeanType aProxyBeanType, final boolean permanent) {
- if (aProxyBeanType.isBeanProxy())
- registerBeanTypeProxy((IBeanTypeProxy) aProxyBeanType, permanent); // A regular kind, do regular registration.
- else {
- ExpressionProxy beanExpressionProxy = ((ExpressionProxy) aProxyBeanType);
- final String typeName = aProxyBeanType.getTypeName();
- ((REMExpression) beanExpressionProxy.getExpression()).addBeanType(typeName, aProxyBeanType);
- beanExpressionProxy.addProxyListener(new ExpressionProxy.ProxyAdapter() {
-
- public void proxyResolved(ProxyEvent event) {
- String typeName = ((IProxyBeanType) event.getSource()).getTypeName();
- synchronized (REMStandardBeanTypeProxyFactory.this) {
- if (!fBeanProxies.containsKey(typeName)) {
- // It hasn't been resolved through some other means. So this is good. Actually this should never
- // occur because upon resolution we've already registered the bean type proxy through the
- // normal mechanisms. But to be safe, we'll do it here.
- fBeanProxies.put(typeName, event.getProxy());
- if (permanent)
- fPermanentProxies.add(event.getProxy());
- }
- }
- }
-
- public void proxyNotResolved(ExpressionProxy.ProxyEvent event) {
- ((REMExpression) ((ExpressionProxy) event.getSource()).getExpression()).removeBeanType(typeName);
- }
- });
- }
-
- }
-
- /**
- * A beantype proxy is asked to be released. We can only release ones that were not in the permanent set that we initialized with. Those in the
- * permanent set can't be changed so we can't release them.
- *
- * Answer whether it can be released from the server too.
- *
- * NOTE: Package protected since only REMStandardBeanProxyFactory should call it.
- */
- boolean releaseProxy(IBeanTypeProxy proxy) {
- /**
- * Currently we won't allow any bean type proxies to be released. We don't have a good strategy for handling that there may be hard refs from
- * subtypes. One thought is that beanproxies table should store SoftReferences so that only when space is needed, that any beantype that
- * doesn't have a subtype (since subtypes hold a strong ref) or, is in the permanent table (since that is hardref) could be GC'd. Then what
- * would happen is on releaseProxy we don't actually release, we change it to a WeakRef so that it would definitely be released on a GC. These
- * are complicated arch. and we're not sure if it should be allowed or not. So for now, we don't allow them to be released. if
- * (!fPermanentProxies.contains(proxy)) { // We can release it. It is not one of the permanent ones. synchronized(this) {
- * fBeanProxies.remove(proxy.getTypeName()); return true; } }
- */
- return false;
- }
-
- /*
- * Terminate this factory. Since all of the proxies are registered in the proxy factory, there is no need to release them here. There is no need
- * to clear out any fields since this factory will not be held onto by anything and so it will be GC'd.
- */
- public void terminateFactory(boolean wait) {
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IStandardBeanTypeProxyFactory#isBeanTypeRegistered(String)
- */
- public synchronized boolean isBeanTypeRegistered(String className) {
- return fBeanProxies.containsKey(MapTypes.getJNIFormatName(className));
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IStandardBeanTypeProxyFactory#registeredTypes()
- */
- public Set registeredTypes() {
- return fBeanProxies.keySet();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IStandardBeanTypeProxyFactory#isBeanTypeNotFound(String)
- */
- public synchronized boolean isBeanTypeNotFound(String className) {
- return fNotFoundTypes != null && fNotFoundTypes.contains(MapTypes.getJNIFormatName(className));
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IStandardBeanTypeProxyFactory#isMaintainNotFoundTypes()
- */
- public synchronized boolean isMaintainNotFoundTypes() {
- return fNotFoundTypes != null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IStandardBeanTypeProxyFactory#setMaintainNotFoundTypes(boolean)
- */
- public synchronized void setMaintainNotFoundTypes(boolean maintain) {
- if (maintain) {
- if (fNotFoundTypes == null)
- fNotFoundTypes = new HashSet();
- } else
- fNotFoundTypes = null;
- }
-
-}
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMStringBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMStringBeanProxy.java
deleted file mode 100644
index 93d8eff7f..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMStringBeanProxy.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMStringBeanProxy.java,v $
- * $Revision: 1.3 $ $Date: 2005/05/11 22:41:24 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-
-/**
- * Remote VM Implementation of IStringBeanProxy
- * Creation date: (2/6/00 9:02:42 AM)
- * @author: Joe Winchester
- */
-final class REMStringBeanProxy extends REMConstantBeanProxy implements IStringBeanProxy {
- private final String fString;
-
-/**
- * Store the bean in the string field to save re-casting each time it is asked for.
- * It is package protected because they are created
- * in a special way and no one else should create them.
- */
-REMStringBeanProxy(REMProxyFactoryRegistry aRegistry, String value) {
- super(aRegistry);
- fString = value;
-}
-/**
- * equals: Equal if:
- * 1) This proxy == (identity) to the other object
- * 2) Else if other is an IBeanProxy and not a constant one, then if
- * equals on the server.
- * 3) If this is a constant proxy and the other is too or is a constant
- * value (e.g. IStringBeanProxy.equals(String), then true if values are equals.
- */
-public boolean equals(Object anObject) {
- if (this == anObject)
- return true; // Identity
- if (anObject instanceof IStringBeanProxy)
- return fString.equals(((IStringBeanProxy) anObject).stringValue());
- else
- return fString.equals(anObject);
-}
-/**
- * Return the cache'd string that is a java.lang.String that the IDE can use
- */
-public String stringValue() {
- return fString;
-}
-
-/**
- * Return the toString value from the bean.
- */
-public String toBeanString() {
- return fString.toString();
-}
-
-/**
- * Get the beantype
- */
-public IBeanTypeProxy getTypeProxy() {
- return ((REMStandardBeanTypeProxyFactory) fFactory.getBeanTypeProxyFactory()).stringClass;
-}
-
-/**
- * Render the bean into value object.
- */
-public void renderBean(Commands.ValueObject value) {
- value.set(fString);
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMStringBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMStringBeanTypeProxy.java
deleted file mode 100644
index 7f5e894df..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMStringBeanTypeProxy.java
+++ /dev/null
@@ -1,124 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMStringBeanTypeProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-import org.eclipse.jem.internal.proxy.core.*;
-
-/**
- * Remote Implementation of the BeanType proxy for java.lang.String
- * Creation date: (2/6/00 9:01:23 AM)
- * @author: Joe Winchester
- */
-final class REMStringBeanTypeProxy extends REMAbstractBeanTypeProxy implements IREMConstantBeanTypeProxy {
- // Cache a proxy to an empty string for speed
- protected final IStringBeanProxy emptyStringProxy;
-/**
- * IDEStringBeanTypeProxy constructor comment.
- * @param aClass java.lang.Class
- */
-REMStringBeanTypeProxy(REMProxyFactoryRegistry aRegistry, IBeanTypeProxy objectTypeProxy) {
- super(aRegistry, new Integer(Commands.STRING_CLASS), String.class.getName(), objectTypeProxy);
-
- // Cache a proxy to an empty string for speed
- emptyStringProxy = new REMStringBeanProxy(aRegistry, ""); //$NON-NLS-1$
-}
-/**
- * Helper to create string beans
- * Package protected because no-one else outside the package should use this, they
- * must go through the API where you look up a factory first.
- */
-IStringBeanProxy createStringBeanProxy(String aString){
- if ( aString.equals("") ) {//$NON-NLS-1$
- return emptyStringProxy;
- } else {
- return new REMStringBeanProxy(fRegistry, aString);
- }
-}
-
-/**
- * Create a new bean proxy with the specified id.
- *
- * For all of the primitive wrapper types, this is an invalid operation. They are created
- * explicitly through the appropriate create method.
- */
-public IREMBeanProxy newBeanProxy(Integer anID) {
- throw new UnsupportedOperationException();
-}
-
-/**
- * newBeanTypeForClass: Create a new beantypeproxy of this kind for the given class.
- * This is used by beantype proxy factory when creating a beantype proxy for a subclass.
- * This is because subclasses, unless explicitly overridden, should use the same kind
- * of beantype proxy. This way if anything special is needed for a specific type, then
- * that can be done.
- *
- * For all of the primitive wrapper types, they are final classes, so you can't create a newBeanType
- * for subclasses.
- */
-public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract) {
- throw new UnsupportedOperationException();
-}
-
-/**
- * newInstance method. String has a default ctor, but it results in the emptyStringProxy,
- * so return the zeroProxy for this case because that is the default value.
- */
-public IBeanProxy newInstance() {
- return emptyStringProxy;
-}
-
-/**
- * newInstance method comment. Put a short cut in for strings so we don't need to go to the remote
- * vm just to create a string.
- */
-public IBeanProxy newInstance(String initializationString) throws ThrowableProxy, ClassCastException, InstantiationException {
- if (initializationString.length() <= 1)
- return super.newInstance(initializationString); // Not large enough for two quotes, so let default handle it.
- // Need a quick check that it is only one quoted string. Anything else needs to be passed on up.
- String s = initializationString.trim();
- int sl = s.length()-1;
- if (s.charAt(0) != '"' || s.charAt(sl) != '"')
- return super.newInstance(initializationString); // No leading and trailing quote.
-
- StringBuffer sb = new StringBuffer(sl);
- boolean escape = false;
- for (int i=1; i<sl; i++) {
- char c = s.charAt(i);
- if (c == '\\') {
- escape = true;
- continue;
- }
- if (!escape && c == '"')
- return super.newInstance(initializationString); // Had a quote in the middle without an escape. This means an expression, send on up.
- escape = false;
- sb.append(c);
- }
-
- return getProxyFactoryRegistry().getBeanProxyFactory().createBeanProxyWith(sb.toString());
-}
-
-/**
- * Create a new bean proxy the ValueObject passed in.
- * We will assume the object is correct type.
- */
-public IBeanProxy newBeanProxy(Commands.ValueObject value) {
- return createStringBeanProxy((String) value.anObject);
-}
-
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMThrowableBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMThrowableBeanProxy.java
deleted file mode 100644
index 40a12cbfb..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMThrowableBeanProxy.java
+++ /dev/null
@@ -1,214 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.remote;
-/*
- * $RCSfile: REMThrowableBeanProxy.java,v $
- * $Revision: 1.11 $ $Date: 2005/06/21 20:35:07 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.*;
-/**
- * Exception Proxy for exception on Remote.
- * NOTE: This one is unusual in that it doesn't inherit from
- * IDEBeanProxy because it needs to be an exception, and
- * exceptions are not an interface.
- */
-public class REMThrowableBeanProxy extends ThrowableProxy implements IREMBeanProxy {
-
- /**
- * Comment for <code>serialVersionUID</code>
- *
- * @since 1.1.0
- */
- private static final long serialVersionUID = 2076777336810215206L;
- private Integer fID;
- protected final REMProxyFactoryRegistry fFactory;
- private IBeanTypeProxy fTypeProxy;
-
- /**
- * Set the bean we are proxying. We are a proxy for a bean running on the remote VM.
- */
- protected REMThrowableBeanProxy(REMProxyFactoryRegistry aRegistry, Integer anID, IBeanTypeProxy aType){
- fFactory = aRegistry;
- fID = anID;
- fTypeProxy = aType;
- }
-
- /**
- * equals: Equal if:
- * 1) This proxy == (identity) to the other object
- * 2) Else if other is an IBeanProxy and not a constant one, then if
- * equals on the server.
- * 3) If this is a constant proxy and the other is too or is a constant
- * value (e.g. IStringBeanProxy.equals(String), then true if values are equals.
- */
- public boolean equals(Object anObject) {
- if (super.equals(anObject))
- return true; // Identity
- if (anObject instanceof IBeanProxy && !(anObject instanceof IREMConstantBeanProxy) && fFactory.isValid() && ((IBeanProxy) anObject).getProxyFactoryRegistry() == fFactory)
- try {
- // The other is a bean proxy and is not a constant one, let the server do the check.
- return ((IBooleanBeanProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getObjectEquals().invoke(this, (IBeanProxy) anObject)).booleanValue();
- } catch (ThrowableProxy e) {
- }
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#sameAs(org.eclipse.jem.internal.proxy.core.IBeanProxy)
- */
- public boolean sameAs(IBeanProxy aBeanProxy) {
- return this == aBeanProxy; // We can be assured in Remote Proxy that identity of proxy and identity of object are the same.
- }
-
-
- /**
- * Get ID. An internal method to be used only within the ProxyFactory family.
- */
- public Integer getID() {
- return fID;
- }
-
- /**
- * isValid - has this bean been released.
- */
- public boolean isValid() {
- return fID != null;
- }
-
- /**
- * release - The bean is being released.
- */
- public void release() {
- fID = null;
- fTypeProxy = null;
- }
-
- /**
- * Return the registry this proxy was created with.
- */
- public ProxyFactoryRegistry getProxyFactoryRegistry() {
- return fFactory;
- }
-
- /**
- * Return the proxied class of the bean
- * Creation date: (12/3/99 11:37:01 AM)
- * @author: Joe Winchester
- */
- public IBeanTypeProxy getTypeProxy() {
- return fTypeProxy;
- }
-
- /**
- * Return the toString of the actual bean on the remote side.
- */
- public String toBeanString() {
- IStringBeanProxy string = (IStringBeanProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getObjectToString().invokeCatchThrowableExceptions(this);
- return (string != null) ? string.stringValue() : null;
- }
-
- public String getProxyLocalizedMessage() {
- IStringBeanProxy msg = (IStringBeanProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getThrowableLocalizedMessage().invokeCatchThrowableExceptions(this);
- return msg != null ? msg.stringValue() : null;
- }
-
- public String getProxyMessage() {
- IStringBeanProxy msg = (IStringBeanProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getThrowableMessage().invokeCatchThrowableExceptions(this);
- return msg != null ? msg.stringValue() : null;
- }
-
- /**
- * Temporary way to get the string value of the stacktrace.
- */
- private String getProxyStackTrace() {
- IMethodProxy tempGetStackTrace = fFactory.getMethodProxyFactory().getMethodProxy("org.eclipse.jem.internal.proxy.vm.remote.StackTraceUtility", "printStackTrace", new String[] {"java.lang.Throwable"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- IStringBeanProxy trace = (IStringBeanProxy) tempGetStackTrace.invokeCatchThrowableExceptions(null, this);
- return trace != null ? trace.stringValue() : ""; //$NON-NLS-1$
- }
-
- public void printProxyStackTrace(java.io.PrintWriter writer) {
- String trace = getProxyStackTrace();
- synchronized(writer) {
- writer.print(trace);
- }
- }
-
- public void printProxyStackTrace(java.io.PrintStream stream) {
- String trace = getProxyStackTrace();
- synchronized(stream) {
- stream.print(trace);
- }
-
- }
-
- public void printProxyStackTrace() {
- String trace = getProxyStackTrace();
- synchronized(System.err) {
- System.err.print(trace);
- }
- }
-
-
- /**
- * Below are the actual printStackTrace. They are set up to first call
- * the proxy trace so that it can show where it occurred on the server,
- * and then it will do a super to show where it occurred on this side.
- */
- public void printStackTrace() {
- synchronized (System.err) {
- System.err.println(ProxyRemoteMessages.REMOTE_VM_TRACE_INFO_);
- printProxyStackTrace();
- System.err.println(ProxyRemoteMessages.REMOTE_VM_LOCAL_TRACE_INFO_);
- super.printStackTrace();
- }
- }
-
- public void printStackTrace(java.io.PrintWriter s) {
- synchronized (s) {
- s.println(ProxyRemoteMessages.REMOTE_VM_TRACE_INFO_);
- printProxyStackTrace(s);
- s.println(ProxyRemoteMessages.REMOTE_VM_LOCAL_TRACE_INFO_);
- super.printStackTrace(s);
- }
- }
-
- public void printStackTrace(java.io.PrintStream s) {
- synchronized (s) {
- s.println(ProxyRemoteMessages.REMOTE_VM_TRACE_INFO_);
- printProxyStackTrace(s);
- s.println(ProxyRemoteMessages.REMOTE_VM_LOCAL_TRACE_INFO_);
- super.printStackTrace(s);
- }
- }
-
- /**
- * Render the bean into value object.
- */
- public void renderBean(Commands.ValueObject value) {
- value.setObjectID(getID().intValue());
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IProxy#isBeanProxy()
- */
- public final boolean isBeanProxy() {
- return true;
- }
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IProxy#isExpressionProxy()
- */
- public final boolean isExpressionProxy() {
- return false;
- }
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMThrowableBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMThrowableBeanTypeProxy.java
deleted file mode 100644
index 3ed1818a0..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMThrowableBeanTypeProxy.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMThrowableBeanTypeProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * The Remote implementation of a Throwable bean type.
- */
-public class REMThrowableBeanTypeProxy extends REMAbstractBeanTypeProxy implements IREMSpecialBeanTypeProxy {
-
- protected REMThrowableBeanTypeProxy(REMProxyFactoryRegistry aRegistry, Integer anID, String aClassname, IBeanTypeProxy aSuperType) {
- super(aRegistry, anID, aClassname, aSuperType);
- }
-
- /**
- * Helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- */
- REMThrowableBeanProxy createThrowableBeanProxy(Integer objectID) {
- return new REMThrowableBeanProxy(fRegistry, objectID, this);
- }
-
- /**
- * newBeanTypeForClass: Create a new beantypeproxy of this kind for the given class.
- * This is used by beantype proxy factory when creating a beantype proxy for a subclass.
- * This is because subclasses, unless explicitly overridden, should use the same kind
- * of beantype proxy. This way if anything special is needed for a specific type, then
- * that can be done.
- *
- * NOTE: All subclasses must override this to return the correct type of BeanTypeProxy.
- */
- public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract) {
- return newBeanTypeForClass(anID, aClassname, anAbstract, this);
- }
-
- /**
- * The special method to handle subclassing from an abstract).
- */
- public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract, IBeanTypeProxy superType) {
- // We can never have an interface of type Throwable since that doesn't exist.
- if (!anAbstract)
- return new REMThrowableBeanTypeProxy(fRegistry, anID, aClassname, superType);
- else
- return new REMAnAbstractBeanTypeProxy(fRegistry, anID, aClassname, superType, this);
- }
-
- /**
- * Specialized from REMAbstractBeanTypeProxy to ensure ExceptionBeanProxies are created correctly.
- */
- public IREMBeanProxy newBeanProxy(Integer objectID) {
- return createThrowableBeanProxy(objectID);
- }
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMVoidBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMVoidBeanTypeProxy.java
deleted file mode 100644
index 66ebbf8d3..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMVoidBeanTypeProxy.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMVoidBeanTypeProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * BeanTypeProxy for representing the "void" type value, and a value of this type is "null".
- * Creation date: (2/11/00 2:26:47 PM)
- * @author: Richard Lee Kulp
- */
-final class REMVoidBeanTypeProxy extends REMAbstractBeanTypeProxy implements IREMConstantBeanTypeProxy {
-
-
-protected REMVoidBeanTypeProxy(REMProxyFactoryRegistry aRegistry) {
- super(aRegistry, new Integer(Commands.VOID_TYPE), Void.TYPE.getName(), null);
-}
-
-/**
- * Return the supertype for us
- * null/void has no superclass.
- * This is required as part of the interface
- */
-public IBeanTypeProxy getSuperBeanTypeProxy() {
- return null;
-}
-
-/**
- * Create a new bean proxy with the specified id.
- *
- * For void, this is an invalid operation. They are created
- * explicitly through the appropriate create method.
- */
-public IREMBeanProxy newBeanProxy(Integer anID) {
- throw new UnsupportedOperationException();
-}
-
-/**
- * newBeanTypeForClass: Create a new beantypeproxy of this kind for the given class.
- * This is used by beantype proxy factory when creating a beantype proxy for a subclass.
- * This is because subclasses, unless explicitly overridden, should use the same kind
- * of beantype proxy. This way if anything special is needed for a specific type, then
- * that can be done.
- *
- * For void is a final class, so you can't create a newBeanType
- * for subclasses.
- */
-public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract) {
- throw new UnsupportedOperationException();
-}
-
-/**
- * newInstance method. void represents "null",
- * so return the null for this case because that is the default value.
- */
-public IBeanProxy newInstance() {
- return null;
-}
-
-/**
- * Create a new bean proxy the ValueObject passed in.
- * We will assume the object is correct type.
- */
-public IBeanProxy newBeanProxy(Commands.ValueObject value) {
- return newInstance();
-}
-
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMDimensionBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMDimensionBeanProxy.java
deleted file mode 100644
index 52fa87b75..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMDimensionBeanProxy.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote.awt;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMDimensionBeanProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-import org.eclipse.jem.internal.proxy.remote.*;
-import org.eclipse.jem.internal.proxy.awt.*;
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * The REM Bean Proxy for java.awt.Dimension.
- */
-public class REMDimensionBeanProxy extends REMBeanProxy implements IDimensionBeanProxy {
-
- protected REMDimensionBeanProxy(REMProxyFactoryRegistry aRegistry, Integer anID, IBeanTypeProxy aType) {
- super(aRegistry, anID, aType);
- }
-
- public int getHeight() {
- try {
- IIntegerBeanProxy h = (IIntegerBeanProxy) JavaStandardAwtBeanConstants.getConstants(fFactory).getDimensionHeightFieldProxy().get(this);
- return h.intValue();
- } catch (ThrowableProxy e) {
- return 0;
- }
- }
-
- public int getWidth() {
- try {
- IIntegerBeanProxy h = (IIntegerBeanProxy) JavaStandardAwtBeanConstants.getConstants(fFactory).getDimensionWidthFieldProxy().get(this);
- return h.intValue();
- } catch (ThrowableProxy e) {
- return 0;
- }
- }
-
- public void setHeight(int height) {
- try {
- JavaStandardAwtBeanConstants.getConstants(fFactory).getDimensionHeightFieldProxy().set(this, fFactory.getBeanProxyFactory().createBeanProxyWith(height));
- } catch (ThrowableProxy e) {
- }
- }
-
- public void setWidth(int width) {
- try {
- JavaStandardAwtBeanConstants.getConstants(fFactory).getDimensionWidthFieldProxy().set(this, fFactory.getBeanProxyFactory().createBeanProxyWith(width));
- } catch (ThrowableProxy e) {
- }
- }
-
- public void setSize(int width, int height) {
- JavaStandardAwtBeanConstants.getConstants(fFactory).getDimensionSetSizeHWProxy().invokeCatchThrowableExceptions(this, new IBeanProxy[] {fFactory.getBeanProxyFactory().createBeanProxyWith(width), fFactory.getBeanProxyFactory().createBeanProxyWith(height)});
- }
-
- public void setSize(IDimensionBeanProxy fromDimensionProxy) {
- JavaStandardAwtBeanConstants.getConstants(fFactory).getDimensionSetSizeDProxy().invokeCatchThrowableExceptions(this, fromDimensionProxy);
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMDimensionBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMDimensionBeanTypeProxy.java
deleted file mode 100644
index 0d0544e1a..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMDimensionBeanTypeProxy.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote.awt;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMDimensionBeanTypeProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-import org.eclipse.jem.internal.proxy.remote.*;
-import org.eclipse.jem.internal.proxy.core.IBeanTypeProxy;
-/**
- * Beantype proxy for java.awt.Dimension
- */
-public class REMDimensionBeanTypeProxy extends REMAbstractBeanTypeProxy implements IREMSpecialBeanTypeProxy {
-
- protected REMDimensionBeanTypeProxy(REMProxyFactoryRegistry aRegistry, Integer anID, String aClassname, IBeanTypeProxy aSuperType) {
- super(aRegistry, anID, aClassname, aSuperType);
- }
-
- /**
- * Helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- */
- REMDimensionBeanProxy createDimensionBeanProxy(Integer objectID) {
- return new REMDimensionBeanProxy(fRegistry, objectID, this);
- }
-
- /**
- * newBeanTypeForClass: Create a new beantypeproxy of this kind for the given class.
- * This is used by beantype proxy factory when creating a beantype proxy for a subclass.
- * This is because subclasses, unless explicitly overridden, should use the same kind
- * of beantype proxy. This way if anything special is needed for a specific type, then
- * that can be done.
- *
- * NOTE: All subclasses must override this to return the correct type of BeanTypeProxy.
- */
- public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract) {
- return newBeanTypeForClass(anID, aClassname, anAbstract, this);
- }
-
- /**
- * The special method to handle subclassing from an abstract).
- */
- public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract, IBeanTypeProxy superType) {
- if (!anAbstract)
- return new REMDimensionBeanTypeProxy(fRegistry, anID, aClassname, superType);
- else
- return new REMAnAbstractBeanTypeProxy(fRegistry, anID, aClassname, superType, this);
- }
-
- /**
- * Specialized from REMAbstractBeanTypeProxy to ensure ExceptionBeanProxies are created correctly.
- */
- public IREMBeanProxy newBeanProxy(Integer objectID) {
- return createDimensionBeanProxy(objectID);
- }
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMPointBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMPointBeanProxy.java
deleted file mode 100644
index 9cd92d428..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMPointBeanProxy.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote.awt;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMPointBeanProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-import org.eclipse.jem.internal.proxy.remote.*;
-import org.eclipse.jem.internal.proxy.awt.*;
-import org.eclipse.jem.internal.proxy.core.*;
-
-/**
- * The REM Bean Proxy for java.awt.Point.
- */
-public class REMPointBeanProxy extends REMBeanProxy implements IPointBeanProxy {
-
- protected REMPointBeanProxy(REMProxyFactoryRegistry aRegistry, Integer anID, IBeanTypeProxy aType) {
- super(aRegistry, anID, aType);
- }
-
- public int getX() {
- try {
- IIntegerBeanProxy h = (IIntegerBeanProxy) JavaStandardAwtBeanConstants.getConstants(fFactory).getPointXFieldProxy().get(this);
- return h.intValue();
- } catch (ThrowableProxy e) {
- return 0;
- }
- }
-
- public int getY() {
- try {
- IIntegerBeanProxy h = (IIntegerBeanProxy) JavaStandardAwtBeanConstants.getConstants(fFactory).getPointYFieldProxy().get(this);
- return h.intValue();
- } catch (ThrowableProxy e) {
- return 0;
- }
- }
-
- public void setX(int x) {
- try {
- JavaStandardAwtBeanConstants.getConstants(fFactory).getPointXFieldProxy().set(this, fFactory.getBeanProxyFactory().createBeanProxyWith(x));
- } catch (ThrowableProxy e) {
- }
- }
-
- public void setY(int y) {
- try {
- JavaStandardAwtBeanConstants.getConstants(fFactory).getPointYFieldProxy().set(this, fFactory.getBeanProxyFactory().createBeanProxyWith(y));
- } catch (ThrowableProxy e) {
- }
- }
-
- public void setLocation(int x, int y) {
- JavaStandardAwtBeanConstants.getConstants(fFactory).getPointSetLocationXYProxy().invokeCatchThrowableExceptions(this, new IBeanProxy[] {fFactory.getBeanProxyFactory().createBeanProxyWith(x), fFactory.getBeanProxyFactory().createBeanProxyWith(y)});
- }
-
- public void setLocation(IPointBeanProxy fromPointProxy) {
- JavaStandardAwtBeanConstants.getConstants(fFactory).getPointSetLocationPProxy().invokeCatchThrowableExceptions(this, fromPointProxy);
- }
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMPointBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMPointBeanTypeProxy.java
deleted file mode 100644
index 3f777bda5..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMPointBeanTypeProxy.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote.awt;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMPointBeanTypeProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-import org.eclipse.jem.internal.proxy.remote.*;
-import org.eclipse.jem.internal.proxy.core.IBeanTypeProxy;
-/**
- * Beantype proxy for java.awt.Dimension
- */
-public class REMPointBeanTypeProxy extends REMAbstractBeanTypeProxy implements IREMSpecialBeanTypeProxy {
-
- protected REMPointBeanTypeProxy(REMProxyFactoryRegistry aRegistry, Integer anID, String aClassname, IBeanTypeProxy aSuperType) {
- super(aRegistry, anID, aClassname, aSuperType);
- }
-
- /**
- * Helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- */
- REMPointBeanProxy createPointBeanProxy(Integer objectID) {
- return new REMPointBeanProxy(fRegistry, objectID, this);
- }
-
- /**
- * newBeanTypeForClass: Create a new beantypeproxy of this kind for the given class.
- * This is used by beantype proxy factory when creating a beantype proxy for a subclass.
- * This is because subclasses, unless explicitly overridden, should use the same kind
- * of beantype proxy. This way if anything special is needed for a specific type, then
- * that can be done.
- *
- * NOTE: All subclasses must override this to return the correct type of BeanTypeProxy.
- */
- public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract) {
- return newBeanTypeForClass(anID, aClassname, anAbstract, this);
- }
-
- /**
- * The special method to handle subclassing from an abstract).
- */
- public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract, IBeanTypeProxy superType) {
- if (!anAbstract)
- return new REMPointBeanTypeProxy(fRegistry, anID, aClassname, superType);
- else
- return new REMAnAbstractBeanTypeProxy(fRegistry, anID, aClassname, superType, this);
- }
-
- /**
- * Specialized from REMAbstractBeanTypeProxy to ensure ExceptionBeanProxies are created correctly.
- */
- public IREMBeanProxy newBeanProxy(Integer objectID) {
- return createPointBeanProxy(objectID);
- }
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMRectangleBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMRectangleBeanProxy.java
deleted file mode 100644
index 0c0f3f4a0..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMRectangleBeanProxy.java
+++ /dev/null
@@ -1,120 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote.awt;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMRectangleBeanProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-
-import org.eclipse.jem.internal.proxy.remote.*;
-import org.eclipse.jem.internal.proxy.awt.*;
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * The REM Bean Proxy for java.awt.Rectangle.
- */
-public class REMRectangleBeanProxy extends REMBeanProxy implements IRectangleBeanProxy {
-
- protected REMRectangleBeanProxy(REMProxyFactoryRegistry aRegistry, Integer anID, IBeanTypeProxy aType) {
- super(aRegistry, anID, aType);
- }
-
- public int getX() {
- try {
- IIntegerBeanProxy h = (IIntegerBeanProxy) JavaStandardAwtBeanConstants.getConstants(fFactory).getRectangleXFieldProxy().get(this);
- return h.intValue();
- } catch (ThrowableProxy e) {
- return 0;
- }
- }
-
- public int getY() {
- try {
- IIntegerBeanProxy h = (IIntegerBeanProxy) JavaStandardAwtBeanConstants.getConstants(fFactory).getRectangleYFieldProxy().get(this);
- return h.intValue();
- } catch (ThrowableProxy e) {
- return 0;
- }
- }
-
- public void setX(int x) {
- try {
- JavaStandardAwtBeanConstants.getConstants(fFactory).getRectangleXFieldProxy().set(this, fFactory.getBeanProxyFactory().createBeanProxyWith(x));
- } catch (ThrowableProxy e) {
- }
- }
-
- public void setY(int y) {
- try {
- JavaStandardAwtBeanConstants.getConstants(fFactory).getRectangleYFieldProxy().set(this, fFactory.getBeanProxyFactory().createBeanProxyWith(y));
- } catch (ThrowableProxy e) {
- }
- }
-
- public void setLocation(int x, int y) {
- JavaStandardAwtBeanConstants.getConstants(fFactory).getRectangleSetLocationXYProxy().invokeCatchThrowableExceptions(this, new IBeanProxy[] {fFactory.getBeanProxyFactory().createBeanProxyWith(x), fFactory.getBeanProxyFactory().createBeanProxyWith(y)});
- }
-
- public void setLocation(IPointBeanProxy fromPointProxy) {
- JavaStandardAwtBeanConstants.getConstants(fFactory).getRectangleSetLocationPProxy().invokeCatchThrowableExceptions(this, fromPointProxy);
- }
-
-
- public int getHeight() {
- try {
- IIntegerBeanProxy h = (IIntegerBeanProxy) JavaStandardAwtBeanConstants.getConstants(fFactory).getRectangleHeightFieldProxy().get(this);
- return h.intValue();
- } catch (ThrowableProxy e) {
- return 0;
- }
- }
-
- public int getWidth() {
- try {
- IIntegerBeanProxy h = (IIntegerBeanProxy) JavaStandardAwtBeanConstants.getConstants(fFactory).getRectangleWidthFieldProxy().get(this);
- return h.intValue();
- } catch (ThrowableProxy e) {
- return 0;
- }
- }
-
- public void setHeight(int height) {
- try {
- JavaStandardAwtBeanConstants.getConstants(fFactory).getRectangleHeightFieldProxy().set(this, fFactory.getBeanProxyFactory().createBeanProxyWith(height));
- } catch (ThrowableProxy e) {
- }
- }
-
- public void setWidth(int width) {
- try {
- JavaStandardAwtBeanConstants.getConstants(fFactory).getRectangleWidthFieldProxy().set(this, fFactory.getBeanProxyFactory().createBeanProxyWith(width));
- } catch (ThrowableProxy e) {
- }
- }
-
- public void setSize(int width, int height) {
- JavaStandardAwtBeanConstants.getConstants(fFactory).getRectangleSetSizeHWProxy().invokeCatchThrowableExceptions(this, new IBeanProxy[] {fFactory.getBeanProxyFactory().createBeanProxyWith(width), fFactory.getBeanProxyFactory().createBeanProxyWith(height)});
- }
-
- public void setSize(IDimensionBeanProxy fromDimensionProxy) {
- JavaStandardAwtBeanConstants.getConstants(fFactory).getRectangleSetSizeDProxy().invokeCatchThrowableExceptions(this, fromDimensionProxy);
- }
-
- public void setBounds(int x, int y, int width, int height) {
- JavaStandardAwtBeanConstants.getConstants(fFactory).getRectangleSetBoundsXYHWProxy().invokeCatchThrowableExceptions(this, new IBeanProxy[] {fFactory.getBeanProxyFactory().createBeanProxyWith(x), fFactory.getBeanProxyFactory().createBeanProxyWith(y), fFactory.getBeanProxyFactory().createBeanProxyWith(width), fFactory.getBeanProxyFactory().createBeanProxyWith(height)});
- }
-
- public void setBounds(IRectangleBeanProxy fromRectangleProxy) {
- JavaStandardAwtBeanConstants.getConstants(fFactory).getRectangleSetBoundsRProxy().invokeCatchThrowableExceptions(this, fromRectangleProxy);
- }
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMRectangleBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMRectangleBeanTypeProxy.java
deleted file mode 100644
index 5752e580a..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMRectangleBeanTypeProxy.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote.awt;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMRectangleBeanTypeProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:10 $
- */
-
-import org.eclipse.jem.internal.proxy.remote.*;
-import org.eclipse.jem.internal.proxy.core.IBeanTypeProxy;
-/**
- * Beantype proxy for java.awt.Dimension
- */
-public class REMRectangleBeanTypeProxy extends REMAbstractBeanTypeProxy implements IREMSpecialBeanTypeProxy {
-
- protected REMRectangleBeanTypeProxy(REMProxyFactoryRegistry aRegistry, Integer anID, String aClassname, IBeanTypeProxy aSuperType) {
- super(aRegistry, anID, aClassname, aSuperType);
- }
-
- /**
- * Helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- */
- REMRectangleBeanProxy createRectangleBeanProxy(Integer objectID) {
- return new REMRectangleBeanProxy(fRegistry, objectID, this);
- }
-
- /**
- * newBeanTypeForClass: Create a new beantypeproxy of this kind for the given class.
- * This is used by beantype proxy factory when creating a beantype proxy for a subclass.
- * This is because subclasses, unless explicitly overridden, should use the same kind
- * of beantype proxy. This way if anything special is needed for a specific type, then
- * that can be done.
- *
- * NOTE: All subclasses must override this to return the correct type of BeanTypeProxy.
- */
- public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract) {
- return newBeanTypeForClass(anID, aClassname, anAbstract, this);
- }
-
- /**
- * The special method to handle subclassing from an abstract).
- */
- public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract, IBeanTypeProxy superType) {
- if (!anAbstract)
- return new REMRectangleBeanTypeProxy(fRegistry, anID, aClassname, superType);
- else
- return new REMAnAbstractBeanTypeProxy(fRegistry, anID, aClassname, superType, this);
- }
-
- /**
- * Specialized from REMAbstractBeanTypeProxy to ensure ExceptionBeanProxies are created correctly.
- */
- public IREMBeanProxy newBeanProxy(Integer objectID) {
- return createRectangleBeanProxy(objectID);
- }
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMRegisterAWT.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMRegisterAWT.java
deleted file mode 100644
index e1fdfb6cd..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMRegisterAWT.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote.awt;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: REMRegisterAWT.java,v $
- * $Revision: 1.4 $ $Date: 2005/05/18 23:11:27 $
- */
-
-import org.eclipse.jem.internal.proxy.core.IBeanTypeProxy;
-import org.eclipse.jem.internal.proxy.core.IMethodProxy;
-import org.eclipse.jem.internal.proxy.remote.REMProxyFactoryRegistry;
-/**
- * This class is used to register the AWT factories. It is not
- * meant to be called by anyone other than ProxyVMStarter.
- */
-public final class REMRegisterAWT {
- public static void registerAWT(REMProxyFactoryRegistry registry) {
- new REMStandardAWTBeanTypeProxyFactory(registry);
- new REMStandardAWTBeanProxyFactory(registry);
-
- // If we are doing AWT, get the AWT event queue going. This is trying to be a time-saver
- // by having it up right away.
- IBeanTypeProxy starterBeanType = registry.getBeanTypeProxyFactory().getBeanTypeProxy("org.eclipse.jem.internal.proxy.vm.remote.AWTStarter"); //$NON-NLS-1$
- if (starterBeanType != null) {
- IMethodProxy starter = starterBeanType.getMethodProxy("startAWT"); //$NON-NLS-1$
- if (starter != null)
- starter.invokeCatchThrowableExceptions(null);
- }
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMStandardAWTBeanProxyFactory.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMStandardAWTBeanProxyFactory.java
deleted file mode 100644
index 70f3be832..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMStandardAWTBeanProxyFactory.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote.awt;
-/*******************************************************************************
- * Copyright (c) 2001, 2003, 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: REMStandardAWTBeanProxyFactory.java,v $
- * $Revision: 1.4 $ $Date: 2005/06/15 20:19:11 $
- */
-
-import org.eclipse.jem.internal.proxy.awt.*;
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.remote.REMProxyFactoryRegistry;
-
-/**
- * Standard AWT Bean Proxy Factory.
- * Package protected because it should not referenced
- * outside of the package other than through the interface.
- */
-class REMStandardAWTBeanProxyFactory implements IStandardAwtBeanProxyFactory {
-
- final IStandardBeanTypeProxyFactory fBeanTypeFactory;
-
- public REMStandardAWTBeanProxyFactory(REMProxyFactoryRegistry factory) {
- factory.registerBeanProxyFactory(IStandardAwtBeanProxyFactory.REGISTRY_KEY, this);
- fBeanTypeFactory = factory.getBeanTypeProxyFactory();
- }
-
- public IDimensionBeanProxy createDimensionBeanProxyWith(int width, int height){
- try {
- return (IDimensionBeanProxy) fBeanTypeFactory.getBeanTypeProxy("java.awt.Dimension").newInstance("new java.awt.Dimension("+width+","+height+")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- } catch (ThrowableProxy e) {
- return null;
- } catch (InstantiationException e) {
- return null; // Shouldn't occur
- }
- }
-
- public IPointBeanProxy createPointBeanProxyWith(int x, int y){
- try {
- return (IPointBeanProxy) fBeanTypeFactory.getBeanTypeProxy("java.awt.Point").newInstance("new java.awt.Point("+x+","+y+")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- } catch (ThrowableProxy e) {
- return null;
- } catch (InstantiationException e) {
- return null; // Shouldn't occur
- }
-
- }
-
- public IRectangleBeanProxy createBeanProxyWith(int x, int y, int width, int height){
- try {
- return (IRectangleBeanProxy) fBeanTypeFactory.getBeanTypeProxy("java.awt.Rectangle").newInstance("new java.awt.Rectangle("+x+","+y+","+width+","+height+")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
- } catch (ThrowableProxy e) {
- return null;
- } catch (InstantiationException e) {
- return null; // Shouldn't occur
- }
-
- }
-
- /*
- * Terminate this factory. Since it doesn't hold onto anything other than the beantype factory,
- * and nothing will be holding onto this factory, nothing needs to be done. It will be GC'd.
- */
- public void terminateFactory(boolean wait) {
- }
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMStandardAWTBeanTypeProxyFactory.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMStandardAWTBeanTypeProxyFactory.java
deleted file mode 100644
index 263068d70..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMStandardAWTBeanTypeProxyFactory.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2003, 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: REMStandardAWTBeanTypeProxyFactory.java,v $
- * $Revision: 1.4 $ $Date: 2005/05/11 19:01:12 $
- */
-package org.eclipse.jem.internal.proxy.remote.awt;
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.core.IBeanTypeProxy;
-import org.eclipse.jem.internal.proxy.remote.*;
-
-/**
- * BeanType factory standard AWT bean types. This is package protected because it shouldn't be referenced outside the package. It should only be
- * accessed through the interface.
- */
-class REMStandardAWTBeanTypeProxyFactory implements IREMBeanTypeProxyFactory {
-
- static final String BEAN_TYPE_FACTORY_KEY = "java.awt"; //$NON-NLS-1$
-
- protected final REMProxyFactoryRegistry fFactoryRegistry;
-
- REMStandardAWTBeanTypeProxyFactory(REMProxyFactoryRegistry aRegistry) {
- fFactoryRegistry = aRegistry;
- fFactoryRegistry.registerBeanTypeProxyFactory(BEAN_TYPE_FACTORY_KEY, this);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.remote.IREMBeanTypeProxyFactory#getExtensionBeanTypeProxy(java.lang.String)
- */
- public IREMBeanTypeProxy getExtensionBeanTypeProxy(String className) {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.remote.IREMBeanTypeProxyFactory#getExtensionBeanTypeProxy(java.lang.String, java.lang.Integer,
- * org.eclipse.jem.internal.proxy.core.IBeanTypeProxy)
- */
- public IREMBeanTypeProxy getExtensionBeanTypeProxy(String className, Integer classID, IBeanTypeProxy superType) {
-
- if ("java.awt.Dimension".equals(className)) //$NON-NLS-1$
- return new REMDimensionBeanTypeProxy(fFactoryRegistry, classID, className, superType);
- else if ("java.awt.Point".equals(className)) //$NON-NLS-1$
- return new REMPointBeanTypeProxy(fFactoryRegistry, classID, className, superType);
- else if ("java.awt.Rectangle".equals(className)) //$NON-NLS-1$
- return new REMRectangleBeanTypeProxy(fFactoryRegistry, classID, className, superType);
- else
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.remote.IREMBeanTypeProxyFactory#getExtensionBeanTypeProxy(java.lang.String,
- * org.eclipse.jem.internal.proxy.core.IExpression)
- */
- public IProxyBeanType getExtensionBeanTypeProxy(String typeName, IExpression expression) {
- return getExtensionBeanTypeProxy(typeName);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanProxyFactory#terminateFactory(boolean)
- */
- public void terminateFactory(boolean wait) {
- }
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/messages.properties b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/messages.properties
deleted file mode 100644
index fa97e45be..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/messages.properties
+++ /dev/null
@@ -1,66 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/messages.properties,v $
-# $Revision: 1.14 $ $Date: 2005/06/21 20:35:07 $
-#
-
-
-
-# Exception message - {0} is the name of a project within Eclipse.
-NO_OUTPUT_FOLDER_EXC_ = IWAV0071E No output folder for project "{0}."
-
-# These are lines that are placed into a log file listing the outputs from the two different streams.
-VM_TERMINATED_INFO_ = IWAV0072I Remote VM terminated before any commands can be sent. Following are the error and output streams.
-VM_TERMINATED_LINE1 = -- Error Stream --
-VM_TERMINATED_LINE2 = -- Output Stream --
-VM_TERMINATED_LINE3 = -- End of Stream Output --
-
-# These are the headers for two parts of a stack trace of an exception. The first one is the trace from the remote system.
-# The second is the trace from the local system.
-REMOTE_VM_TRACE_INFO_ = IWAV0073I *** RemoteVM Exception - Trace from Remote VM:
-REMOTE_VM_LOCAL_TRACE_INFO_ = IWAV0074I *** Local StackTrace:
-
-# In the two below, {0} is a string that is a java creation string, e.g. "new Integer(3)", so they don't participate in translation.
-# In Classcast, {1} is a java type name, e.g. java.lang.Integer.
-Classcast_EXC_ = IWAV0124E "{0}" does not evaluate to an object of type {1}
-Instantiate_EXC_ = IWAV0125E "{0}" is too complicated to be evaluated
-
-# {0} is a number, e.g. 1, 2, ...
-RemoteCmd_EXC_ = IWAV0126E Remote command error {0}
-
-# The following is an exception error where {0} is the name of the class of the exception and {1} is the message from the exception
-# The message {1} has already been localized (if it supplied it localized). It comes from somewhere outside of our project.
-ExceptionErrorMsg_EXC_ = IWAV0135E {0}({1})
-OK_7 = OK
-Proxy_NoRunner_ERROR_ = IWAV0137E Could not find a Run type runner to launch for \"{0}\".
-Proxy_Error_Title = Error:
-Proxy_Terminated_too_soon_ERROR_ = IWAV0138E Remote VM terminated too soon. See .log file for trace of output. For VM \"{0}\".
-# This is a launch name for a given project name ({0}).
-# WARNING for the ProxyRemoteVMName and ProxyRemoteVMNameWithComment do not use double-quote ("). It will cause problems.
-ProxyRemoteVMName = Project ({0})
-# This is a launch name that has a comment ({0} is project name, {1} is the comment for this project launch)
-ProxyRemoteVMNameWithComment = Project ({0})-{1}
-
-ProxyRemoteNoLaunchKey = Cannot launch local proxy registry. Not launched from valid launcher.
-
-# {0} is the appropriate VMName from the above two entries.
-ProxyRemoteLaunchVM = Launching remote vm "{0}"
-
-CleanupJob_title = Remote VM Cleanup GC'd Proxies Job
-
-REMProxyFactoryRegistry_CallbackConnectionNotWorking_EXC_ = IWAV0169E Callback connection is not working.
-REMProxyFactoryRegistry_ConnectionCreationFailed_INFO_ = IWAV0170I Connection creation failed.
-REMProxyFactoryRegistry_Job_TerminateProcess_Title=Terminate the remote vm process.
-REMProxyFactoryRegistry_CouldNotCreateSocketConnectionToRemoteVM_EXC_ = IWAV0171E Could not create a socket connection to remote vm.
-REMExpression_IOExceptionSeeLog_INFO_ = IWAV0172I I/O Exception occurred. See .log file for details.
-REMExpression_CommandExceptionSeeLog_INFO_ = IWAV0173I Command Exception occurred. See .log file for details.
-LocalProxyLaunchDelegate_Monitor_PrintRemoteTrace_Text=Print remote vm trace output
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEAccessibleObjectProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEAccessibleObjectProxy.java
deleted file mode 100644
index 749d57410..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEAccessibleObjectProxy.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: IDEAccessibleObjectProxy.java,v $
- * $Revision: 1.3 $ $Date: 2005/02/15 22:57:26 $
- */
-package org.eclipse.jem.internal.proxy.ide;
-
-import java.lang.reflect.AccessibleObject;
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-/**
- *
- * @since 1.0.0
- */
-public class IDEAccessibleObjectProxy extends IDEBeanProxy implements IAccessibleObjectProxy {
-
- protected IDEAccessibleObjectProxy(IDEProxyFactoryRegistry aProxyFactoryRegistry) {
- super(aProxyFactoryRegistry);
- }
-
- protected IDEAccessibleObjectProxy(IDEProxyFactoryRegistry aProxyFactoryRegistry, Object anObject) {
- super(aProxyFactoryRegistry, anObject);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IAccessibleObjectProxy#isAccessible()
- */
- public boolean isAccessible() throws ThrowableProxy {
- return ((AccessibleObject) getBean()).isAccessible();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IAccessibleObjectProxy#setAccessible(boolean)
- */
- public void setAccessible(boolean flag) throws ThrowableProxy {
- ((AccessibleObject) getBean()).setAccessible(flag);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#getTypeProxy()
- */
- public IBeanTypeProxy getTypeProxy() {
- return ((IDEMethodProxyFactory) fProxyFactoryRegistry.getMethodProxyFactory()).accessibleType;
- }
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEArrayBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEArrayBeanProxy.java
deleted file mode 100644
index 6928efb30..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEArrayBeanProxy.java
+++ /dev/null
@@ -1,279 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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: IDEArrayBeanProxy.java,v $
- * $Revision: 1.8 $ $Date: 2005/05/18 23:11:26 $
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-import java.lang.reflect.*;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-/**
- * IDE VM version of the Array proxy
- */
-
-public final class IDEArrayBeanProxy extends IDEObjectBeanProxy implements IArrayBeanProxy {
-
- private IDEStandardBeanTypeProxyFactory fBeanTypeProxyFactory;
-
-IDEArrayBeanProxy(IDEProxyFactoryRegistry aRegistry, Object array,IBeanTypeProxy aType) {
- super(aRegistry, array ,aType);
- fBeanTypeProxyFactory = (IDEStandardBeanTypeProxyFactory)aRegistry.getBeanTypeProxyFactory();
-}
-/**
- * Get the object at the specified index.
- */
-public IBeanProxy get(int index) throws ThrowableProxy {
- // If the component type is primitive, we need to use the correct getter so that a valid value is returned,
- // if we just used the standard get, if the type was "int" the value returned would be an java.lang.Integer.
- IBeanTypeProxy compType = ((IArrayBeanTypeProxy) getTypeProxy()).getComponentType();
- if (!compType.isPrimitive()) {
- // Use standard getter.
- Object result = Array.get(fBean,index);
- if ( result == null ) return null;
- return ((IDEBeanTypeProxy)fBeanTypeProxyFactory.getBeanTypeProxy(result.getClass())).newBeanProxy(result);
- } else {
- // Use the correct primitive getter.
- int id = ((IDEPrimitiveBeanTypeProxy)compType).getPrimitiveType();
- switch (id) {
- case IDEPrimitiveBeanTypeProxy.BYTE:
- return fBeanTypeProxyFactory.byteType.createByteBeanProxy(Array.getByte(fBean,index));
- case IDEPrimitiveBeanTypeProxy.BOOLEAN:
- return fBeanTypeProxyFactory.booleanType.createBooleanBeanProxy(Array.getBoolean(fBean,index));
- case IDEPrimitiveBeanTypeProxy.CHAR:
- return fBeanTypeProxyFactory.charType.createCharBeanProxy(Array.getChar(fBean,index));
- case IDEPrimitiveBeanTypeProxy.DOUBLE:
- return fBeanTypeProxyFactory.doubleType.createDoubleBeanProxy(Array.getDouble(fBean,index));
- case IDEPrimitiveBeanTypeProxy.FLOAT:
- return fBeanTypeProxyFactory.floatType.createFloatBeanProxy(Array.getFloat(fBean,index));
- case IDEPrimitiveBeanTypeProxy.INTEGER:
- return fBeanTypeProxyFactory.intType.createIntegerBeanProxy(Array.getInt(fBean,index));
- case IDEPrimitiveBeanTypeProxy.LONG:
- return fBeanTypeProxyFactory.longType.createLongBeanProxy(Array.getLong(fBean,index));
- case IDEPrimitiveBeanTypeProxy.SHORT:
- return fBeanTypeProxyFactory.shortType.createShortBeanProxy(Array.getShort(fBean,index));
- default :
- return null; // Shouldn't get here, said it was primitive, but not one we understand
- }
- }
-}
-/**
- * Get the object at the specified multi-dimensional index.
- * The array must be at least the number of dimensions specified,
- * and each index along the way must exist.
- * The number of dimensions can't be greater than the number
- * of dimensions of the real object.
- */
-public IBeanProxy get(int[] indexes) throws ThrowableProxy {
- if (indexes.length == 1)
- return get(indexes[0]);
- int dims = ((IArrayBeanTypeProxy) getTypeProxy()).getDimensions();
- if (dims < indexes.length)
- throw new IllegalArgumentException(); // Too many dimensions
- // Get up to the next to last dimension so that we can do the appropriate final get depending upon primitive or not.
- Object array = fBean;
- int lastArrayDim = indexes.length - 1;
- for (int i = 0; i < lastArrayDim; i++)
- array = Array.get(array, indexes[i]);
-
- int index = indexes[lastArrayDim]; // Final array dim to retrieve
-
- if (dims == indexes.length) {
- IBeanTypeProxy finalCompType = ((IArrayBeanTypeProxy) getTypeProxy()).getFinalComponentType();
- if (finalCompType.isPrimitive()) {
- // If the component type at the specified dimension is primitive, we need to use the correct getter so that a valid value is returned,
- // if we just used the standard get, if the type was "int" the value returned would be an java.lang.Integer.
- int id = ((IDEPrimitiveBeanTypeProxy) finalCompType).getPrimitiveType();
- switch (id) {
- case IDEPrimitiveBeanTypeProxy.BYTE :
- return fBeanTypeProxyFactory.byteType.createByteBeanProxy(Array.getByte(array, index));
- case IDEPrimitiveBeanTypeProxy.BOOLEAN :
- return fBeanTypeProxyFactory.booleanType.createBooleanBeanProxy(Array.getBoolean(array, index));
- case IDEPrimitiveBeanTypeProxy.CHAR :
- return fBeanTypeProxyFactory.charType.createCharBeanProxy(Array.getChar(array, index));
- case IDEPrimitiveBeanTypeProxy.DOUBLE :
- return fBeanTypeProxyFactory.doubleType.createDoubleBeanProxy(Array.getDouble(array, index));
- case IDEPrimitiveBeanTypeProxy.FLOAT :
- return fBeanTypeProxyFactory.floatType.createFloatBeanProxy(Array.getFloat(array, index));
- case IDEPrimitiveBeanTypeProxy.INTEGER :
- return fBeanTypeProxyFactory.intType.createIntegerBeanProxy(Array.getInt(array, index));
- case IDEPrimitiveBeanTypeProxy.LONG :
- return fBeanTypeProxyFactory.longType.createLongBeanProxy(Array.getLong(array, index));
- case IDEPrimitiveBeanTypeProxy.SHORT :
- return fBeanTypeProxyFactory.shortType.createShortBeanProxy(Array.getShort(array, index));
- default :
- return null; // Shouldn't get here, said it was primitive, but not one we understand
- }
- }
- }
-
- // Won't be returning a primitive, so use standard accessor
- Object result = Array.get(array, index);
- if (result == null)
- return null;
- return ((IDEBeanTypeProxy) fBeanTypeProxyFactory.getBeanTypeProxy(result.getClass())).newBeanProxy(
- result);
-}
-
-/**
- * Set the object at the specified index.
- */
-public void set(IBeanProxy valueProxy, int index) throws ThrowableProxy {
- // If the component type is primitive, we need to use the correct getter so that a valid value is returned,
- // if we just used the standard get, if the type was "int" the value returned would be an java.lang.Integer.
- Object value = ((IIDEBeanProxy)valueProxy).getBean();
- Class valueClass = value.getClass();
- if (!valueClass.isPrimitive()) {
- // Use standard getter.
- Array.set(fBean,index,value);
- } else if (valueClass == Byte.TYPE ) {
- Array.setByte(fBean,index,((Byte)value).byteValue());
- } else if (valueClass == Boolean.TYPE ){
- Array.setBoolean(fBean,index,((Boolean)value).booleanValue());
- } else if (valueClass == Character.TYPE) {
- Array.setChar(fBean,index,((Character)value).charValue());
- } else if (valueClass == Double.TYPE) {
- Array.setDouble(fBean,index,((Double)value).doubleValue());
- } else if (valueClass == Float.TYPE) {
- Array.setFloat(fBean,index,((Float)value).floatValue());
- } else if (valueClass == Integer.TYPE) {
- Array.setInt(fBean,index,((Integer)value).intValue());
- } else if (valueClass == Long.TYPE ) {
- Array.setLong(fBean,index,((Long)value).longValue());
- } else if (valueClass == Short.TYPE ) {
- Array.setShort(fBean,index,((Short)value).shortValue());
- }
-}
-/**
- * Set the object at the specified multi-dimensional index.
- * The array must be at least the number of dimensions specified,
- * and each index along the way must exist.
- * The number of dimensions can't be greater than the number
- * of dimensions of the real object.
- */
-public void set(IBeanProxy valueProxy, int[] indexes) throws ThrowableProxy {
-
- Object subArray = fBean;
- int upTo = indexes.length - 1;
- for (int i = 0; i < upTo; i++)
- subArray = Array.get(subArray, indexes[i]);
- int index = indexes[upTo];
-
- // Now set the appropriate value in
- // If the component type is primitive, we need to use the correct getter so that a valid value is returned,
- // if we just used the standard get, if the type was "int" the value returned would be an java.lang.Integer.
- Object value = ((IIDEBeanProxy) valueProxy).getBean();
- Class valueClass = value.getClass();
- if (!valueClass.isPrimitive()) {
- // Use standard getter.
- Array.set(subArray, index, value);
- } else if (valueClass == Byte.TYPE) {
- Array.setByte(subArray, index, ((Byte) value).byteValue());
- } else if (valueClass == Boolean.TYPE) {
- Array.setBoolean(subArray, index, ((Boolean) value).booleanValue());
- } else if (valueClass == Character.TYPE) {
- Array.setChar(subArray, index, ((Character) value).charValue());
- } else if (valueClass == Double.TYPE) {
- Array.setDouble(subArray, index, ((Double) value).doubleValue());
- } else if (valueClass == Float.TYPE) {
- Array.setFloat(subArray, index, ((Float) value).floatValue());
- } else if (valueClass == Integer.TYPE) {
- Array.setInt(subArray, index, ((Integer) value).intValue());
- } else if (valueClass == Long.TYPE) {
- Array.setLong(subArray, index, ((Long) value).longValue());
- } else if (valueClass == Short.TYPE) {
- Array.setShort(subArray, index, ((Short) value).shortValue());
- }
-
-}
-/**
- * Get the length of the first dimension of this array.
- * If there are multi-dimensions, you must get the appropriate
- * dimension from the get method to see the size of that dimension.
- *
- * e.g.
- * int [3] returns 3
- * int [3][2] returns 3
- *
- * ((IArrayBeanProxy) get(1)).getLength() returns 2
- * Since arrays do not have to be homogenous, there could
- * be a different length array for each of the arrays
- * returned from the first dimension, the returned length
- * from get(2) and get(3) could result in a different value
- * from get(1).
- */
-public int getLength() {
- return Array.getLength(fBean);
-}
- /**
- * @see org.eclipse.jem.internal.proxy.core.IArrayBeanProxy#getCatchThrowableException(int)
- */
- public IBeanProxy getCatchThrowableException(int index) {
- try {
- return get(index);
- } catch ( ThrowableProxy exc ) {
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", exc)); //$NON-NLS-1$
- return null;
- }
- }
-
-
- public IBeanProxy[] getSnapshot() throws ThrowableProxy {
- // If the component type is primitive, we need to use the correct getter so that a valid value is returned,
- // if we just used the standard get, if the type was "int" the value returned would be an java.lang.Integer.
- IBeanTypeProxy compType = ((IArrayBeanTypeProxy) getTypeProxy()).getComponentType();
- int id = compType.isPrimitive() ? ((IDEPrimitiveBeanTypeProxy)compType).getPrimitiveType() : -1;
- IBeanProxy[] result = new IBeanProxy[Array.getLength(fBean)];
- for (int i = 0; i < result.length; i++) {
- if (id == -1) {
- // Use standard getter.
- Object val = Array.get(fBean,i);
- if ( val != null )
- result[i] = ((IDEBeanTypeProxy)fBeanTypeProxyFactory.getBeanTypeProxy(val.getClass())).newBeanProxy(val);
- } else {
- // Use the correct primitive getter.
- switch (id) {
- case IDEPrimitiveBeanTypeProxy.BYTE:
- result[i] = fBeanTypeProxyFactory.byteType.createByteBeanProxy(Array.getByte(fBean,i));
- break;
- case IDEPrimitiveBeanTypeProxy.BOOLEAN:
- result[i] = fBeanTypeProxyFactory.booleanType.createBooleanBeanProxy(Array.getBoolean(fBean,i));
- break;
- case IDEPrimitiveBeanTypeProxy.CHAR:
- result[i] = fBeanTypeProxyFactory.charType.createCharBeanProxy(Array.getChar(fBean,i));
- break;
- case IDEPrimitiveBeanTypeProxy.DOUBLE:
- result[i] = fBeanTypeProxyFactory.doubleType.createDoubleBeanProxy(Array.getDouble(fBean,i));
- break;
- case IDEPrimitiveBeanTypeProxy.FLOAT:
- result[i] = fBeanTypeProxyFactory.floatType.createFloatBeanProxy(Array.getFloat(fBean,i));
- break;
- case IDEPrimitiveBeanTypeProxy.INTEGER:
- result[i] = fBeanTypeProxyFactory.intType.createIntegerBeanProxy(Array.getInt(fBean,i));
- break;
- case IDEPrimitiveBeanTypeProxy.LONG:
- result[i] = fBeanTypeProxyFactory.longType.createLongBeanProxy(Array.getLong(fBean,i));
- break;
- case IDEPrimitiveBeanTypeProxy.SHORT:
- result[i] = fBeanTypeProxyFactory.shortType.createShortBeanProxy(Array.getShort(fBean,i));
- break;
- default :
- break; // Shouldn't get here, said it was primitive, but not one we understand
- }
- }
- }
- return result;
- }
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEArrayBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEArrayBeanTypeProxy.java
deleted file mode 100644
index 9d3ec8f50..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEArrayBeanTypeProxy.java
+++ /dev/null
@@ -1,326 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: IDEArrayBeanTypeProxy.java,v $
- * $Revision: 1.3 $ $Date: 2005/02/15 22:57:26 $
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-import java.lang.reflect.*;
-
-/**
- * Array Type Proxy for the IDE VM.
- *
- * The class is final because array's are special and shouldn't have any subclasses since the factory would never call it.
- */
-
-public final class IDEArrayBeanTypeProxy extends IDEBeanTypeProxy implements IArrayBeanTypeProxy {
-
- IBeanTypeProxy fFinalComponentType;
-
- IBeanTypeProxy fComponentType;
-
- String fTypeName;
-
- /**
- * Create with a registry and a class. It is package so that only the factory with this IDE package can call it.
- */
- IDEArrayBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, String aTypeName, Class aClass) {
- // The class of an Array is always Object
- super(aRegistry, aClass);
- fTypeName = aTypeName;
- }
-
- /**
- * This is an array type!
- */
- public boolean isArray() {
- return true;
- }
-
- public String getTypeName() {
- return fTypeName;
- }
-
- /**
- * Return the final component type.
- */
- public IBeanTypeProxy getFinalComponentType() {
- if (fFinalComponentType == null) {
- // Component type is strip off all '[' and return class name (if we ever add classLoader support, this won't work).
- // However, if the type is a primitive we need to go through the change table).
- int typeStart = getTypeName().lastIndexOf('[') + 1;
- if (getTypeName().charAt(typeStart) == 'L') {
- // It is a class.
- // Strip off up to the 'L', and the trailing ';'. That is the class name.
- fFinalComponentType = fProxyFactoryRegistry.getBeanTypeProxyFactory().getBeanTypeProxy(
- getTypeName().substring(typeStart + 1, getTypeName().length() - 1));
- } else {
- // It is a type. Need to map it.
- Class aType = (Class) IDEStandardBeanTypeProxyFactory.MAP_SHORTSIG_TO_TYPE.get(getTypeName().substring(typeStart, typeStart + 1));
- fFinalComponentType = aType != null ? fProxyFactoryRegistry.getBeanTypeProxyFactory().getBeanTypeProxy(aType.getName()) : null;
- }
- }
- return fFinalComponentType;
- }
-
- /**
- * Return the component type.
- */
- public IBeanTypeProxy getComponentType() {
- if (fComponentType == null) {
- // Component type is strip off first '[' and return class name (if we ever add classLoader support, this won't work).
- // However, if the type is a primitive we need to go through the change table).
- if (getTypeName().charAt(1) != '[') {
- // It is a one dimensional array, just send to getFinalComponentType to figure out the type.
- fComponentType = getFinalComponentType();
- } else {
- // It is a multi-dimensional array. Just strip off one '[' and send that to the bean type factory.
- fComponentType = fProxyFactoryRegistry.getBeanTypeProxyFactory().getBeanTypeProxy(getTypeName().substring(1));
- }
- }
- return fComponentType;
- }
-
- /**
- * Return the number of dimensions.
- */
- public int getDimensions() {
- return getTypeName().lastIndexOf('[') + 1;
- }
-
- /**
- * Return the null ctor proxy for this method with these arguments. For all of the array types, this is an invalid operation.
- */
- public IConstructorProxy getNullConstructorProxy() {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Return a proxy to the constructor for the target VM being the same as the REM For all of the array types, this is an invalid operation.
- */
- public IConstructorProxy getConstructorProxy(String[] argumentClassNames) {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Return a proxy to the constructor for the target VM being the same as the REM For all of the array types, this is an invalid operation.
- */
- public IConstructorProxy getConstructorProxy(IBeanTypeProxy[] argumentTypes) {
- throw new UnsupportedOperationException();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructors() For all of the array types, this is an invalid operation.
- */
- public IConstructorProxy[] getConstructors() {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Return a proxy to the constructor for the target VM being the same as the REM For all of the array types, this is an invalid operation.
- */
- public IConstructorProxy getDeclaredConstructorProxy(String[] argumentClassNames) {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Return a proxy to the constructor for the target VM being the same as the REM For all of the array types, this is an invalid operation.
- */
- public IConstructorProxy getDeclaredConstructorProxy(IBeanTypeProxy[] argumentTypes) {
- throw new UnsupportedOperationException();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructors() For all of the array types, this is an invalid operation.
- */
- public IConstructorProxy[] getDeclaredConstructors() {
- throw new UnsupportedOperationException();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructors() For all of the array types, this is an invalid operation.
- */
- public IFieldProxy[] getFields() {
- throw new UnsupportedOperationException();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getCompatibleConstructor(org.eclipse.jem.internal.proxy.core.IBeanTypeProxy[])
- */
- public IConstructorProxy getCompatibleConstructor(IBeanTypeProxy[] argumentTypes) {
- throw new UnsupportedOperationException();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getCompatibleMethod(java.lang.String,
- * org.eclipse.jem.internal.proxy.core.IBeanTypeProxy[])
- */
- public IMethodProxy getCompatibleMethod(String methodName, IBeanTypeProxy[] argumentTypes) {
- throw new UnsupportedOperationException();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructors() For all of the array types, this is an invalid operation.
- */
- public IFieldProxy[] getDeclaredFields() {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Return a proxy to the field for the target VM being the same as the REM For all of the array types, this is an invalid operation.
- */
- public IFieldProxy getFieldProxy(String fieldName) {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Return the method proxy for this method with these arguments. For all of the array types, this is an invalid operation.
- */
- public IMethodProxy getMethodProxy(String methodName, IBeanTypeProxy[] argumentTypes) {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Return the method proxy for this method with these arguments. For all of the array types, this is an invalid operation.
- */
- public IMethodProxy getMethodProxy(String methodName, String[] argumentClassNames) {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Return the method proxy for this method with these arguments. For all of the array types, this is an invalid operation.
- */
- public IMethodProxy getMethodProxy(String methodName, String argumentQualifiedTypeName) {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Return the method proxy for this method with these arguments. For all of the array types, this is an invalid operation.
- */
- public IMethodProxy getMethodProxy(String methodName) {
- throw new UnsupportedOperationException();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructors() For all of the array types, this is an invalid operation.
- */
- public IMethodProxy[] getMethods() {
- throw new UnsupportedOperationException();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructors() For all of the array types, this is an invalid operation.
- */
- public IMethodProxy[] getDeclaredMethods() {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Return the method proxy for this method with these arguments. For all of the array types, this is an invalid operation.
- */
- public IMethodProxy getDeclaredMethodProxy(String methodName, IBeanTypeProxy[] argumentTypes) {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Return the method proxy for this method with these arguments. For all of the array types, this is an invalid operation.
- */
- public IMethodProxy getDeclaredMethodProxy(String methodName, String[] argumentClassNames) {
- throw new UnsupportedOperationException();
- }
-
- /**
- * 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] (int[][], null) or (int[][], new int[0]) int[0][] This is
- * because an array instance with no dimensions specified is not valid.
- * - (int[][], new int[1] {3}) int[3][]
- *
- * It is package protected so that only the REM Factory can call it.
- */
- IDEArrayBeanProxy createBeanProxyWith(int[] dimensions) throws ThrowableProxy {
- // If the dimensions is null or zero length, then create the
- // array as a 0 sized array one dimensional array.
- if (dimensions == null || dimensions.length == 0)
- return createBeanProxyWith(new int[] { 0});
-
- // Remove from this type the number of dimensions specified
- // coming in, up to but no further than the final component.
- // From here we can then use the appropriate java.lang.reflect.Array
- // method to create the array.
- IBeanTypeProxy compType = null; // The type of array to create (it may be different number of dimensions).
- int numDims = getDimensions();
- if (numDims <= dimensions.length)
- compType = getFinalComponentType(); // There are the same or more requested dimensions, so use final component type
- else {
- // There are fewer requested dimensions, so strip off that many
- String compClass = getTypeName().substring(dimensions.length);
- compType = fProxyFactoryRegistry.getBeanTypeProxyFactory().getBeanTypeProxy(compClass);
- }
-
- if (dimensions.length == 1) {
- // Use the one dimension call
- Object array = Array.newInstance(((IDEBeanTypeProxy) compType).fClass, dimensions[0]);
- return new IDEArrayBeanProxy(fProxyFactoryRegistry, array, null);
- } else {
- // Use the multi dimension call
- Object array = Array.newInstance(((IDEBeanTypeProxy) compType).fClass, dimensions);
- return new IDEArrayBeanProxy(fProxyFactoryRegistry, array, null);
- }
- }
-
- /**
- * Create a new bean proxy with the specified object
- */
- protected IIDEBeanProxy newBeanProxy(Object anObject) {
-
- return new IDEArrayBeanProxy(fProxyFactoryRegistry, anObject, this);
-
- }
-
- /**
- * @see IBeanTypeProxy#getFormalTypeName()
- */
- public String getFormalTypeName() {
- String name = getTypeName();
- int dims = name.lastIndexOf('[') + 1;
- String type = getFinalComponentType().getTypeName();
- StringBuffer formalType = new StringBuffer(type.length() + ("[]".length() * dims)); //$NON-NLS-1$
- formalType.append(type);
- for (int i = 0; i < dims; i++)
- formalType.append("[]"); //$NON-NLS-1$
- return formalType.toString();
- }
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBeanProxy.java
deleted file mode 100644
index 6e8f88676..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBeanProxy.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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: IDEBeanProxy.java,v $
- * $Revision: 1.6 $ $Date: 2005/05/11 19:01:12 $
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-public abstract class IDEBeanProxy implements IBeanProxy, IIDEBeanProxy {
-
- protected Object fBean;
- protected final IDEProxyFactoryRegistry fProxyFactoryRegistry;
-
- protected IDEBeanProxy(IDEProxyFactoryRegistry aProxyFactoryRegistry) {
- fProxyFactoryRegistry = aProxyFactoryRegistry;
- }
- protected IDEBeanProxy(IDEProxyFactoryRegistry aProxyFactoryRegistry, Object anObject) {
- fProxyFactoryRegistry = aProxyFactoryRegistry;
- fBean = anObject;
- }
- public boolean isValid() {
- return true;
- }
- public ProxyFactoryRegistry getProxyFactoryRegistry() {
- return fProxyFactoryRegistry;
- }
- /**
- * USE with extreme care
- */
- public final Object getBean() {
- return fBean;
- }
- /**
- * Return the toString() of the bean
- */
- public String toBeanString() {
- return (fBean != null ? fBean.toString() : "null"); //$NON-NLS-1$
- }
- /**
- Append the bean's to string to our own name if we have one
- */
- public String toString() {
-
- if (fBean == null)
- return super.toString();
- else
- return super.toString() + "(" + fBean.toString() + ")"; //$NON-NLS-2$//$NON-NLS-1$
-
- }
- /**
- * equals: If there are identical or if they wrapper the same bean. In the IDE VM this
- * can happen if bean proxies are created from a Bean, since proxies aren't cached in
- * the beanproxy factory, more than one proxy can be created for the same bean.
- */
- public boolean equals(Object obj) {
- if (super.equals(obj))
- return true;
- if (obj instanceof IIDEBeanProxy) {
- return fBean.equals(((IIDEBeanProxy) obj).getBean());
- }
- return false;
- }
-
- public int hashCode() {
- return 12345 + (getBean() != null ? getBean().hashCode() : 0);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#sameAs(org.eclipse.jem.internal.proxy.core.IBeanProxy)
- */
- public boolean sameAs(IBeanProxy aBeanProxy) {
- if (this == aBeanProxy)
- return true;
- if (aBeanProxy instanceof IIDEBeanProxy)
- return getBean() == ((IIDEBeanProxy) aBeanProxy).getBean();
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IProxy#isBeanProxy()
- */
- public final boolean isBeanProxy() {
- return true;
- }
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IProxy#isExpressionProxy()
- */
- public final boolean isExpressionProxy() {
- return false;
- }
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBeanTypeProxy.java
deleted file mode 100644
index 997d3c403..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBeanTypeProxy.java
+++ /dev/null
@@ -1,451 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: IDEBeanTypeProxy.java,v $ $Revision: 1.13 $ $Date: 2005/05/18 23:11:26 $
- */
-package org.eclipse.jem.internal.proxy.ide;
-
-import org.eclipse.jem.internal.proxy.common.AmbiguousMethodException;
-import org.eclipse.jem.internal.proxy.core.*;
-
-import java.lang.reflect.*;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-public class IDEBeanTypeProxy extends IDEBeanProxy implements IBeanTypeProxy {
-
- protected IDEProxyFactoryRegistry fProxyFactoryRegistry;
-
- Class fClass;
-
- protected IDEBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class aClass) {
- super(aRegistry, aClass);
- fProxyFactoryRegistry = aRegistry;
- fClass = aClass;
- }
-
- /**
- * Get Type Proxy. The type proxy of a BeanType is Class.
- */
- public IBeanTypeProxy getTypeProxy() {
- return ((IDEStandardBeanTypeProxyFactory) fProxyFactoryRegistry.getBeanTypeProxyFactory()).classClass;
- }
-
- public Class getTypeClass() {
- return fClass;
- }
-
- public String toBeanString() {
- return fClass.toString();
- }
-
- public ProxyFactoryRegistry getProxyFactoryRegistry() {
- return fProxyFactoryRegistry;
- }
-
- public String getTypeName() {
- return fClass.getName();
- }
-
- public boolean isKindOf(IBeanTypeProxy aBeanTypeProxy) {
- return ((IDEBeanTypeProxy) aBeanTypeProxy).fClass.isAssignableFrom(fClass);
- }
-
- public boolean isInterface() {
- return fClass.isInterface();
- }
-
- public boolean isPrimitive() {
- return fClass.isPrimitive();
- }
-
- public boolean isArray() {
- return fClass.isArray();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructors()
- */
- public IMethodProxy[] getMethods() {
- return ((IDEMethodProxyFactory) fProxyFactoryRegistry.getMethodProxyFactory()).getMethods(fClass);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructors()
- */
- public IMethodProxy[] getDeclaredMethods() {
- return ((IDEMethodProxyFactory) fProxyFactoryRegistry.getMethodProxyFactory()).getDeclaredMethods(fClass);
- }
-
- /**
- * We can use reflection on our class to find the java.reflect.Method instance and create the IDEMethodProxy directly
- */
- public IMethodProxy getMethodProxy(String methodName) {
-
- try {
- Method aMethod = fClass.getMethod(methodName, new Class[0]);
- return ((IDEMethodProxyFactory) fProxyFactoryRegistry.getMethodProxyFactory()).getMethodProxy(aMethod);
- } catch (Exception exc) {
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", exc)); //$NON-NLS-1$
- }
- return null;
-
- }
-
- public IMethodProxy getMethodProxy(String methodName, String[] argumentClassNames) {
- return ((IDEMethodProxyFactory) fProxyFactoryRegistry.getMethodProxyFactory()).getMethodProxy(this, methodName, argumentClassNames);
- }
-
- public IMethodProxy getMethodProxy(String methodName, String firstArgClass) {
- return getMethodProxy(methodName, new String[] { firstArgClass});
- }
-
- public IMethodProxy getMethodProxy(String methodName, IBeanTypeProxy[] args) {
- Class[] argClasses = new Class[args.length];
- for (int i = 0; i < args.length; i++) {
- argClasses[i] = ((IDEBeanTypeProxy) args[i]).fClass;
- }
- return ((IDEMethodProxyFactory) fProxyFactoryRegistry.getMethodProxyFactory()).getMethodProxy(fClass, methodName, argClasses);
- }
-
- public IMethodProxy getDeclaredMethodProxy(String methodName, String[] argumentClassNames) {
- return ((IDEMethodProxyFactory) fProxyFactoryRegistry.getMethodProxyFactory()).getDeclaredMethodProxy(fClass, methodName, argumentClassNames);
- }
-
- public IMethodProxy getDeclaredMethodProxy(String methodName, IBeanTypeProxy[] args) {
- Class[] argClasses = null;
- if (args != null) {
- argClasses = new Class[args.length];
- for (int i = 0; i < args.length; i++) {
- argClasses[i] = ((IDEBeanTypeProxy) args[i]).fClass;
- }
- }
- return ((IDEMethodProxyFactory) fProxyFactoryRegistry.getMethodProxyFactory()).getDeclaredMethodProxy(fClass, methodName, argClasses);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getInvokable(java.lang.String, org.eclipse.jem.internal.proxy.core.IBeanTypeProxy[])
- */
- public IInvokable getInvokable(String methodName, IBeanTypeProxy[] argumentTypes) {
- return getMethodProxy(methodName, argumentTypes);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getInvokable(java.lang.String, java.lang.String)
- */
- public IInvokable getInvokable(String methodName, String argumentClassName) {
- return getMethodProxy(methodName, argumentClassName);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getInvokable(java.lang.String, java.lang.String[])
- */
- public IInvokable getInvokable(String methodName, String[] argumentClassNames) {
- return getMethodProxy(methodName, argumentClassNames);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getInvokable(java.lang.String)
- */
- public IInvokable getInvokable(String methodName) {
- return getMethodProxy(methodName);
- }
-
- public IConstructorProxy getConstructorProxy(String[] argTypeNames) {
- IBeanTypeProxy[] argClasses = new IBeanTypeProxy[argTypeNames.length];
- IStandardBeanTypeProxyFactory btFactory = fProxyFactoryRegistry.getBeanTypeProxyFactory();
- for (int i = 0; i < argTypeNames.length; i++) {
- argClasses[i] = btFactory.getBeanTypeProxy(argTypeNames[i]);
- if (argClasses[i] == null) {
- ProxyPlugin.getPlugin().getLogger().log(
- new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "Constructor not found - " //$NON-NLS-1$
- + fClass.getName() + " args=" + argTypeNames, null)); //$NON-NLS-1$
- return null;
- }
- }
- return getConstructorProxy(argClasses);
- }
-
- public IConstructorProxy getConstructorProxy(IBeanTypeProxy[] args) {
- Class[] argClasses = new Class[args.length];
- for (int i = 0; i < args.length; i++) {
- argClasses[i] = ((IDEBeanTypeProxy) args[i]).fClass;
- }
- return ((IDEMethodProxyFactory) fProxyFactoryRegistry.getMethodProxyFactory()).getConstructorProxy(fClass, argClasses);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructors()
- */
- public IConstructorProxy[] getConstructors() {
- return ((IDEMethodProxyFactory) fProxyFactoryRegistry.getMethodProxyFactory()).getConstructors(fClass);
- }
-
- public IConstructorProxy getDeclaredConstructorProxy(String[] argTypeNames) {
- IBeanTypeProxy[] argClasses = new IBeanTypeProxy[argTypeNames.length];
- IStandardBeanTypeProxyFactory btFactory = fProxyFactoryRegistry.getBeanTypeProxyFactory();
- for (int i = 0; i < argTypeNames.length; i++) {
- argClasses[i] = btFactory.getBeanTypeProxy(argTypeNames[i]);
- if (argClasses[i] == null) {
- ProxyPlugin.getPlugin().getLogger().log(
- new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "Constructor not found - " //$NON-NLS-1$
- + fClass.getName() + " args=" + argTypeNames, null)); //$NON-NLS-1$
- return null;
- }
- }
- return getDeclaredConstructorProxy(argClasses);
- }
-
- public IConstructorProxy getDeclaredConstructorProxy(IBeanTypeProxy[] args) {
- Class[] argClasses = new Class[args.length];
- for (int i = 0; i < args.length; i++) {
- argClasses[i] = ((IDEBeanTypeProxy) args[i]).fClass;
- }
- return ((IDEMethodProxyFactory) fProxyFactoryRegistry.getMethodProxyFactory()).getDeclaredConstructorProxy(fClass, argClasses);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructors()
- */
- public IConstructorProxy[] getDeclaredConstructors() {
- return ((IDEMethodProxyFactory) fProxyFactoryRegistry.getMethodProxyFactory()).getDeclaredConstructors(fClass);
- }
-
- /**
- * Return the supertype for us Use the factory to get it rather than create it directly so that the factory has the chance to cache classes if
- * required This is required as part of the interface
- */
- public IBeanTypeProxy getSuperBeanTypeProxy() {
-
- if (fClass.isInterface())
- return null;
- else
- return fProxyFactoryRegistry.getBeanTypeProxyFactory().getBeanTypeProxy(fClass.getSuperclass().getName());
-
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructors()
- */
- public IFieldProxy[] getFields() {
- return ((IDEMethodProxyFactory) fProxyFactoryRegistry.getMethodProxyFactory()).getFields(fClass);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructors()
- */
- public IFieldProxy[] getDeclaredFields() {
- return ((IDEMethodProxyFactory) fProxyFactoryRegistry.getMethodProxyFactory()).getDeclaredFields(fClass);
- }
-
- public IFieldProxy getFieldProxy(String fieldName) {
- try {
- Field field = fClass.getField(fieldName);
- return ((IDEMethodProxyFactory) fProxyFactoryRegistry.getMethodProxyFactory()).getFieldProxy(field);
- } catch (NoSuchFieldException exc) {
- ProxyPlugin.getPlugin().getLogger().log(
- new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "Field not found " + fClass.getName() //$NON-NLS-1$
- + " - " + fieldName, exc)); //$NON-NLS-1$
- return null;
- }
- }
-
- public IFieldProxy getDeclaredFieldProxy(String fieldName) {
- try {
- Field field = fClass.getDeclaredField(fieldName);
- return ((IDEMethodProxyFactory) fProxyFactoryRegistry.getMethodProxyFactory()).getFieldProxy(field);
- } catch (NoSuchFieldException exc) {
- ProxyPlugin.getPlugin().getLogger().log(
- new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "Field not found " + fClass.getName() //$NON-NLS-1$
- + " - " + fieldName, exc)); //$NON-NLS-1$
- return null;
- }
- }
-
- /**
- * Return a proxy to the constructor for the target VM being the same as the IDE We can use the package protected contstructor on
- * IDEConstructorProxy
- */
- IConstructorProxy getConstructorProxy(Class[] parameterTypes) {
-
- Constructor aConstructor = null;
-
- // Use reflection to try and find a constructor. The argumentClassNames must be converted to classes
- try {
- aConstructor = fClass.getConstructor(parameterTypes);
- } catch (Exception e) {
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", e)); //$NON-NLS-1$
- }
- // If we have a constructor return it
- if (aConstructor != null) {
- return getNewConstructorProxy(aConstructor);
- } else {
- return null;
- }
-
- }
-
- /**
- * Factored into its own method so subclass can override
- */
- protected IConstructorProxy getNewConstructorProxy(Constructor aConstructor) {
-
- return ((IDEMethodProxyFactory) fProxyFactoryRegistry.getMethodProxyFactory()).getConstructorProxy(aConstructor);
-
- }
-
- /**
- * Return a proxy to the null constructor for the target VM being the same as the IDE We can use the package protected contstructor on
- * IDEConstructorProxy
- */
- public IConstructorProxy getNullConstructorProxy() {
-
- Constructor aConstructor = null;
-
- // Use reflection to try and find a constructor. The argumentClassNames must be converted to classes
- try {
- aConstructor = fClass.getConstructor(null);
- return ((IDEMethodProxyFactory) fProxyFactoryRegistry.getMethodProxyFactory()).getConstructorProxy(aConstructor);
- } catch (Exception e) {
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", e)); //$NON-NLS-1$
- return null;
- }
-
- }
-
- public IBeanProxy newInstance(String initializationString) {
- return ((IDEStandardBeanProxyFactory) fProxyFactoryRegistry.getBeanProxyFactory()).createBeanProxy(this, initializationString);
- }
-
- public IBeanProxy newInstance() {
- return ((IDEStandardBeanProxyFactory) fProxyFactoryRegistry.getBeanProxyFactory()).createBeanProxy(this);
- }
-
- /**
- * Create a new bean proxy with the specified object Use the constructor that allows the type proxy to be set as well as the bean because we are
- * the type and by setting it now we might avoid it being lookup for in the factory the first time it is asked for
- *
- * NOTE: All subclasses need to override this to return the appropriate IDEBeanProxy.
- */
- protected IIDEBeanProxy newBeanProxy(Object anObject) {
-
- return new IDEObjectBeanProxy(fProxyFactoryRegistry, anObject, this);
-
- }
-
- /**
- * Create a subclass beantype proxy.
- */
- public IDEBeanTypeProxy newBeanTypeForClass(Class type) {
- // Default is just another instance of this same class.
- return new IDEBeanTypeProxy(fProxyFactoryRegistry, type);
- }
-
- /**
- * @see IBeanTypeProxy#getFormalTypeName()
- */
- public String getFormalTypeName() {
- return getTypeName();
- }
-
- /**
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getInitializationError()
- */
- public String getInitializationError() {
- return null; // By default none have an initialization error. There is a special instance for init errors.
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getCompatibleConstructor(org.eclipse.jem.internal.proxy.core.IBeanTypeProxy[])
- */
- public IConstructorProxy getCompatibleConstructor(IBeanTypeProxy[] argumentTypes) throws AmbiguousMethodException, NoSuchMethodException {
-
- Class[] argClasses = new Class[argumentTypes.length];
- for (int i = 0; i < argumentTypes.length; i++) {
- argClasses[i] = ((IDEBeanTypeProxy) argumentTypes[i]).fClass;
- }
- return ((IDEMethodProxyFactory) fProxyFactoryRegistry.getMethodProxyFactory()).getCompatibleConstructor(fClass, argClasses);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getCompatibleMethod(java.lang.String,
- * org.eclipse.jem.internal.proxy.core.IBeanTypeProxy[])
- */
- public IMethodProxy getCompatibleMethod(String methodName, IBeanTypeProxy[] argumentTypes) throws NoSuchMethodException, AmbiguousMethodException {
- Class[] argClasses = new Class[argumentTypes.length];
- for (int i = 0; i < argumentTypes.length; i++) {
- argClasses[i] = ((IDEBeanTypeProxy) argumentTypes[i]).fClass;
- }
- return ((IDEMethodProxyFactory) fProxyFactoryRegistry.getMethodProxyFactory()).getCompatibleMethod(fClass, methodName, argClasses);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IProxyBeanType#getMethodProxy(org.eclipse.jem.internal.proxy.core.IExpression, java.lang.String, org.eclipse.jem.internal.proxy.core.IProxyBeanType[])
- */
- public IProxyMethod getMethodProxy(IExpression expression, String methodName, IProxyBeanType[] parameterTypes) {
- IProxyMethod method = ((IDEExpression) expression).getMethodExpressionProxy(this, methodName, parameterTypes);
- if (method == null) {
- // Need to go to the expression and create it.
- method = ((Expression) expression).createMethodExpressionProxy(this, methodName, parameterTypes);
- }
- return method;
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IProxyBeanType#getMethodProxy(org.eclipse.jem.internal.proxy.core.IExpression, java.lang.String, java.lang.String[])
- */
- public IProxyMethod getMethodProxy(IExpression expression, String methodName, String[] parameterTypes) {
- return ((IDEMethodProxyFactory) fProxyFactoryRegistry.getMethodProxyFactory()).getMethodProxy(expression, this, methodName, parameterTypes);
- }
-
- public IProxyMethod getMethodProxy(IExpression expression, String methodName) {
- return getMethodProxy(expression, methodName, (IProxyBeanType[]) null);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IProxyBeanType#getFieldProxy(org.eclipse.jem.internal.proxy.core.IExpression, java.lang.String)
- */
- public IProxyField getFieldProxy(IExpression expression, String fieldName) {
- IProxyField field = ((IDEExpression) expression).getFieldExpressionProxy(this, fieldName);
- if (field == null) {
- // Need to go to the expression and create it.
- field = ((Expression) expression).createFieldExpressionProxy(this, fieldName);
- }
- return field;
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBigDecimalBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBigDecimalBeanTypeProxy.java
deleted file mode 100644
index 98bfd6daa..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBigDecimalBeanTypeProxy.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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: IDEBigDecimalBeanTypeProxy.java,v $
- * $Revision: 1.5 $ $Date: 2005/05/11 22:41:24 $
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-import java.math.*;
-
-final class IDEBigDecimalBeanTypeProxy extends IDENumberBeanTypeProxy {
-// Some values are cache'd for speed
-IDEBigDecimalBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class aClass) {
- super(aRegistry, aClass,new BigDecimal(0));
-}
-/**
- * Static helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- */
-INumberBeanProxy createBigDecimalBeanProxy(BigDecimal aBigDecimal) {
- if ( aBigDecimal == null || aBigDecimal.intValue() == 0 ) {
- return zeroProxy;
- } else {
- return new IDENumberBeanProxy(fProxyFactoryRegistry,aBigDecimal,this);
- }
-}
-}
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBigIntegerBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBigIntegerBeanTypeProxy.java
deleted file mode 100644
index 39f1b4191..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBigIntegerBeanTypeProxy.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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: IDEBigIntegerBeanTypeProxy.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:57:26 $
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-import java.math.*;
-/**
- * IDE Implementation of IIntegerBeanTypeProxy
- */
-final class IDEBigIntegerBeanTypeProxy extends IDENumberBeanTypeProxy {
-// Some values are cache'd for speed
-IDEBigIntegerBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class aClass) {
- super(aRegistry, aClass, new BigInteger("0")); //$NON-NLS-1$
-}
-/**
- * Static helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- */
-INumberBeanProxy createBigIntegerBeanProxy(BigInteger aBigInteger) {
- if ( aBigInteger == null || aBigInteger.intValue() == 0 ) {
- return zeroProxy;
- } else {
- return new IDENumberBeanProxy(fProxyFactoryRegistry,aBigInteger,this);
- }
-}
-}
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBooleanBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBooleanBeanProxy.java
deleted file mode 100644
index b99d714a3..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBooleanBeanProxy.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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: IDEBooleanBeanProxy.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:57:26 $
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * IDE Implementation of IBooleanBeanProxy..
- * Creation date: (2/6/00 9:02:54 AM)
- * @author: Joe Winchester
- */
-class IDEBooleanBeanProxy extends IDEObjectBeanProxy implements IBooleanBeanProxy {
- protected Boolean fBooleanValue;
-/**
- * As well as storing the bean store the boolean value so that we can return the booleanValue faster
- * without the need for repeated re-casting. It is package protected because it is created in
- * special way, so no one else should create these.
- * @param aBean java.lang.Object
- */
-IDEBooleanBeanProxy(IDEProxyFactoryRegistry aRegistry, Object aBean, IBeanTypeProxy aBeanTypeProxy) {
- super(aRegistry, aBean,aBeanTypeProxy);
- fBooleanValue = (Boolean)aBean;
-}
-public boolean booleanValue() {
- return fBooleanValue.booleanValue();
-}
-public Boolean getBooleanValue() {
- return fBooleanValue;
-}
-}
-
-
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBooleanBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBooleanBeanTypeProxy.java
deleted file mode 100644
index 912025153..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBooleanBeanTypeProxy.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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
- *******************************************************************************/
-/*
- * Created on Sep 15, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.jem.internal.proxy.ide;
-
-import org.eclipse.jem.internal.proxy.core.IBeanProxy;
-import org.eclipse.jem.internal.proxy.core.IBeanTypeProxy;
-
-/**
- * @author richkulp
- *
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public class IDEBooleanBeanTypeProxy extends IDEBooleanBeanProxy {
-
- /**
- * @param aRegistry
- * @param aBean
- * @param aBeanTypeProxy
- */
- public IDEBooleanBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Object aBean, IBeanTypeProxy aBeanTypeProxy) {
- super(aRegistry, aBean, aBeanTypeProxy);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#sameAs(org.eclipse.jem.internal.proxy.core.IBeanProxy)
- */
- public boolean sameAs(IBeanProxy aBeanProxy) {
- return (aBeanProxy instanceof IDEBooleanBeanTypeProxy) ? getBooleanValue() == ((IDEBooleanBeanTypeProxy) aBeanProxy).getBooleanValue() : false;
- }
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBooleanClassBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBooleanClassBeanTypeProxy.java
deleted file mode 100644
index dd5070301..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBooleanClassBeanTypeProxy.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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: IDEBooleanClassBeanTypeProxy.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:57:26 $
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-final public class IDEBooleanClassBeanTypeProxy extends IDEBeanTypeProxy {
-
- // Cache these instances. Since the BeanType proxies are cached also, only one instance
- // of true/false will be in system.
- protected final IDEBooleanBeanProxy trueProxy;
- protected final IDEBooleanBeanProxy falseProxy;
-
-IDEBooleanClassBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class aClass) {
-
- super(aRegistry, aClass);
- trueProxy = new IDEBooleanBeanProxy( fProxyFactoryRegistry, Boolean.TRUE, this );
- falseProxy = new IDEBooleanBeanProxy( fProxyFactoryRegistry, Boolean.FALSE, this);
-}
-IBooleanBeanProxy createBooleanBeanProxy(Boolean aBoolean) {
- if ( aBoolean.booleanValue() ){
- return trueProxy;
- } else {
- return falseProxy;
- }
-}
-/* Specialized from IDEBeanTypeProxy to ensure IBooleanBeanProxies are created correctly
- */
-protected IIDEBeanProxy newBeanProxy(Object anObject){
-
- if ( anObject == null || anObject == Boolean.FALSE ) {
- return falseProxy;
- } else {
- return trueProxy;
- }
-}
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBooleanTypeBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBooleanTypeBeanTypeProxy.java
deleted file mode 100644
index 792112b95..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBooleanTypeBeanTypeProxy.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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: IDEBooleanTypeBeanTypeProxy.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:57:26 $
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-final public class IDEBooleanTypeBeanTypeProxy extends IDEPrimitiveBeanTypeProxy {
-
- // Cache these instances. Since the BeanType proxies are cached also, only one instance
- // of true/false will be in system.
- protected final IDEBooleanBeanProxy trueProxy;
- protected final IDEBooleanBeanProxy falseProxy;
-
-IDEBooleanTypeBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class aClass) {
-
- super(aRegistry, aClass);
- trueProxy = new IDEBooleanBeanTypeProxy( fProxyFactoryRegistry, Boolean.TRUE, this );
- falseProxy = new IDEBooleanBeanTypeProxy( fProxyFactoryRegistry, Boolean.FALSE, this );
-
- // TODO Need to go through all of the primitives, separate them out into a separate classes so
- // that sameAs can work with them correctly. Currently only boolean type will do sameAs correctly.
- // Should also look into storing the primitive in the proxy instead of creating a new wrapper object
- // for each for the non-boolean primitives.
-}
-/**
- * Static helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- */
-IBooleanBeanProxy createBooleanBeanProxy(boolean aBoolean) {
- if ( aBoolean ){
- return trueProxy;
- } else {
- return falseProxy;
- }
-}
-/* Specialized from IDEBeanTypeProxy to ensure IBooleanBeanProxies are created correctly
- */
-protected IIDEBeanProxy newBeanProxy(Object anObject){
-
- return (IIDEBeanProxy)createBooleanBeanProxy( anObject != null ? ((Boolean)anObject).booleanValue() : false );
-
-}
-int getPrimitiveType(){
- return BOOLEAN;
-}
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEByteClassBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEByteClassBeanTypeProxy.java
deleted file mode 100644
index c4fe041cc..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEByteClassBeanTypeProxy.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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: IDEByteClassBeanTypeProxy.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:57:26 $
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-/**
- * Byte BeanType Proxy.
- */
-final class IDEByteClassBeanTypeProxy extends IDENumberBeanTypeProxy {
-
-protected IDEByteClassBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class aClass) {
- super(aRegistry, aClass, new Byte((byte)0));
-}
-INumberBeanProxy createByteBeanProxy(Byte aByte){
- return new IDENumberBeanProxy(fProxyFactoryRegistry,aByte,this);
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEByteTypeBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEByteTypeBeanTypeProxy.java
deleted file mode 100644
index 9b4b3ee4f..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEByteTypeBeanTypeProxy.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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: IDEByteTypeBeanTypeProxy.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:57:26 $
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * Byte BeanType Proxy.
- */
-final class IDEByteTypeBeanTypeProxy extends IDEPrimitiveBeanTypeProxy {
-protected IDEByteTypeBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class aClass) {
- super(aRegistry, aClass);
-}
-INumberBeanProxy createByteBeanProxy(byte aByte){
- return new IDENumberBeanProxy(fProxyFactoryRegistry,new Byte(aByte),this);
-}
-int getPrimitiveType(){
- return BYTE;
-}
-protected IIDEBeanProxy newBeanProxy(Object anObject){
- Number n = anObject instanceof Character ? new Byte((byte)((Character) anObject).charValue()) : (Number) anObject;
- return new IDENumberBeanProxy(fProxyFactoryRegistry, n, this);
-}
-}
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDECallbackRegistry.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDECallbackRegistry.java
deleted file mode 100644
index f84f4ce48..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDECallbackRegistry.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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: IDECallbackRegistry.java,v $
- * $Revision: 1.9 $ $Date: 2005/07/08 17:51:47 $
- */
-
-import java.io.*;
-import java.lang.reflect.Method;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.core.ExpressionProxy.ProxyEvent;
-
-public class IDECallbackRegistry implements ICallbackRegistry {
-
- IDEVMServer fVMServer;
- int fNextCallbackID;
- IDEProxyFactoryRegistry fProxyFactoryRegistry;
- Map fCallbackIDToCallback = new HashMap(25);
- Map fBeanProxyToCallbackID = new HashMap(25);
- Map fCallbackIDToStream = new HashMap(25);
- private IProxyMethod initializeCallbackMethodProxy;
- private IBeanProxy vmServerProxy;
-
-IDECallbackRegistry(IDEProxyFactoryRegistry aRegistry){
- fProxyFactoryRegistry = aRegistry;
- fVMServer = new IDEVMServer(this);
-
- vmServerProxy = aRegistry.getBeanProxy(fVMServer.getClass(), fVMServer);
-
- try {
- Method initializeCallbackMethod = org.eclipse.jem.internal.proxy.common.ICallback.class.getMethod("initializeCallback", new Class[] {org.eclipse.jem.internal.proxy.common.IVMCallbackServer.class, Integer.TYPE}); //$NON-NLS-1$
- initializeCallbackMethodProxy = (IProxyMethod) aRegistry.getBeanProxy(Method.class, initializeCallbackMethod);
- } catch (SecurityException e) {
- e.printStackTrace();
- } catch (NoSuchMethodException e) {
- e.printStackTrace();
- }
-
-}
-
-
-/**
- * Add a callback. aBeanProxy is running on the target VM and ICallback runs on our VM
- * aBeanProxy will implement ICallback on the target side
- */
-public void registerCallback(IBeanProxy aBeanProxy, ICallback aCallback){
-
- // Get a handle to the remote VM callback
- org.eclipse.jem.internal.proxy.common.ICallback vmCallback = (org.eclipse.jem.internal.proxy.common.ICallback) ((IIDEBeanProxy)aBeanProxy).getBean();
- fNextCallbackID = fNextCallbackID + 1;
- int callbackID = fNextCallbackID;
- vmCallback.initializeCallback(
- fVMServer,
- callbackID);
- Integer callbackIntegerID = new Integer(callbackID);
- fCallbackIDToCallback.put(callbackIntegerID,aCallback);
- fBeanProxyToCallbackID.put(aBeanProxy,callbackIntegerID);
-
-}
-
-
-/* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.ICallbackRegistry#registerCallback(org.eclipse.jem.internal.proxy.core.IProxy, org.eclipse.jem.internal.proxy.core.ICallback, org.eclipse.jem.internal.proxy.core.IExpression)
- */
-public void registerCallback(IProxy callbackProxy, final ICallback cb, IExpression expression) {
- final Integer callbackID = new Integer(++fNextCallbackID);
- fCallbackIDToCallback.put(callbackID, cb);
- if (callbackProxy.isBeanProxy()) {
- fBeanProxyToCallbackID.put(callbackProxy, callbackID);
- } else {
- ((ExpressionProxy) callbackProxy).addProxyListener(new ExpressionProxy.ProxyAdapter() {
- public void proxyResolved(ProxyEvent event) {
- fBeanProxyToCallbackID.put(event.getProxy(), callbackID);
- }
- });
- }
- expression.createSimpleMethodInvoke(initializeCallbackMethodProxy, callbackProxy, new IProxy[] {vmServerProxy, fProxyFactoryRegistry.getBeanProxyFactory().createBeanProxyWith(callbackID.intValue())}, false);
-
-}
-
-OutputStream requestStream(final int aCallbackID, final int aMsgID){
- final PipedOutputStream result = new PipedOutputStream();
- PipedInputStream tempStream = null;
- try {
- tempStream = new PipedInputStream(result);
- } catch ( IOException exc ) {
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", exc)); //$NON-NLS-1$
- return null;
- }
- final PipedInputStream inputStream = tempStream;
- Thread streamProcessor = new Thread(){
- public void run(){
- ICallback ideCallback = (ICallback)fCallbackIDToCallback.get(new Integer(aCallbackID));
- if (ideCallback != null) {
- try {
- ideCallback.calledBackStream(aMsgID, inputStream);
- } finally {
- try {
- inputStream.close(); // Make sure it's closed.
- } catch ( IOException exc ){
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", exc)); //$NON-NLS-1$
- }
- }
- }
- }
- };
- streamProcessor.start();
- return result;
-}
-
-Object vmCallback(int aCallbackID ,int aMsgID, Object[] parms){
- // Find the bean proxy that registered with the ID
- ICallback ideCallback = (ICallback) fCallbackIDToCallback.get(new Integer(aCallbackID));
- Object callbackResult = null;
- if ( parms.length == 1 ) {
- callbackResult = ideCallback.calledBack(aMsgID,(IBeanProxy)parms[0]);
- } else {
- callbackResult = ideCallback.calledBack(aMsgID,parms);
- }
- return callbackResult;
-}
-
-Object vmCallback(int aCallbackID ,int aMsgID, Object parm){
- // Find the bean proxy that registered with the ID
- ICallback ideCallback = (ICallback) fCallbackIDToCallback.get(new Integer(aCallbackID));
- return ideCallback.calledBack(aMsgID,parm);
-}
-
-public void deregisterCallback(IBeanProxy aBeanProxy){
- // Remove the callback from both maps. The actual unregistering of the callback
- // on the target VM is done separately by the object that added the event handler on the target VM
- Integer callbackID = (Integer) fBeanProxyToCallbackID.remove(aBeanProxy);
- fCallbackIDToCallback.remove(callbackID);
-}
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDECharTypeBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDECharTypeBeanTypeProxy.java
deleted file mode 100644
index 5b32d2f3d..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDECharTypeBeanTypeProxy.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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: IDECharTypeBeanTypeProxy.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:57:26 $
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-/**
- * char BeanType Proxy.
- */
-final class IDECharTypeBeanTypeProxy extends IDEPrimitiveBeanTypeProxy {
-protected IDECharTypeBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class aClass) {
- super(aRegistry, aClass);
-}
-ICharacterBeanProxy createCharBeanProxy(char aChar){
- return new IDECharacterBeanProxy(fProxyFactoryRegistry,new Character(aChar),this);
-}
-int getPrimitiveType(){
- return CHAR;
-}
-protected IIDEBeanProxy newBeanProxy(Object anObject){
- Character c = anObject instanceof Character ? (Character) anObject : new Character((char)((Number) anObject).intValue());
- return new IDECharacterBeanProxy(fProxyFactoryRegistry, c, this);
-
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDECharacterBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDECharacterBeanProxy.java
deleted file mode 100644
index 4f9c75490..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDECharacterBeanProxy.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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: IDECharacterBeanProxy.java,v $ $Revision: 1.5 $ $Date: 2005/05/11 22:41:24 $
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * IDE Implementation of ICharacterBeanBeanProxy..
- */
-class IDECharacterBeanProxy extends IDEObjectBeanProxy implements ICharacterBeanProxy {
- protected Character fCharacterValue;
- IDECharacterBeanProxy(IDEProxyFactoryRegistry aRegistry, Object aBean, IBeanTypeProxy aBeanTypeProxy) {
- super(aRegistry, aBean, aBeanTypeProxy);
- fCharacterValue = (Character) aBean;
- }
- public char charValue() {
- return fCharacterValue.charValue();
- }
- public Character characterValue() {
- return fCharacterValue;
- }
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IIntegerBeanProxy#intValue()
- */
- public int intValue() {
- return charValue();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.INumberBeanProxy#byteValue()
- */
- public byte byteValue() {
- return (byte) charValue();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.INumberBeanProxy#doubleValue()
- */
- public double doubleValue() {
- return charValue();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.INumberBeanProxy#floatValue()
- */
- public float floatValue() {
- return charValue();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.INumberBeanProxy#longValue()
- */
- public long longValue() {
- return charValue();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.INumberBeanProxy#numberValue()
- */
- public Number numberValue() {
- // This is a kludge. Need to new one up.
- return new Integer(charValue());
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.INumberBeanProxy#shortValue()
- */
- public short shortValue() {
- return (short) charValue();
- }
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDECharacterClassBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDECharacterClassBeanTypeProxy.java
deleted file mode 100644
index 4b93d1e2b..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDECharacterClassBeanTypeProxy.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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: IDECharacterClassBeanTypeProxy.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:57:26 $
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-/**
- * Char BeanType Proxy.
- */
-final class IDECharacterClassBeanTypeProxy extends IDEBeanTypeProxy {
-
-protected IDECharacterClassBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class aClass) {
- super(aRegistry, aClass);
-}
-ICharacterBeanProxy createCharacterBeanProxy(Character aChar){
- return new IDECharacterBeanProxy(fProxyFactoryRegistry,aChar,this);
-}
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEClassBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEClassBeanTypeProxy.java
deleted file mode 100644
index 3253e1deb..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEClassBeanTypeProxy.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: IDEClassBeanTypeProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:57:26 $
- */
-package org.eclipse.jem.internal.proxy.ide;
-
-import org.eclipse.jem.internal.proxy.core.IBeanProxy;
-
-/**
- * For java.lang.Class type.
- * @since 1.0.0
- */
-public class IDEClassBeanTypeProxy extends IDEBeanTypeProxy {
-
- /**
- * @param aRegistry
- * @param aClass
- *
- * @since 1.0.0
- */
- public IDEClassBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class aClass) {
- super(aRegistry, aClass);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.ide.IDEBeanTypeProxy#newBeanProxy(java.lang.Object)
- */
- protected IIDEBeanProxy newBeanProxy(Object anObject) {
- return (IIDEBeanProxy) ((IDEStandardBeanTypeProxyFactory) fProxyFactoryRegistry.getBeanTypeProxyFactory()).getBeanTypeProxy((Class) anObject);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.ide.IDEBeanTypeProxy#newBeanTypeForClass(java.lang.Class)
- */
- public IDEBeanTypeProxy newBeanTypeForClass(Class type) {
- throw new UnsupportedOperationException();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#newInstance()
- */
- public IBeanProxy newInstance() {
- throw new UnsupportedOperationException();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#newInstance(java.lang.String)
- */
- public IBeanProxy newInstance(String initializationString) {
- throw new UnsupportedOperationException();
- }
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEConstructorProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEConstructorProxy.java
deleted file mode 100644
index 0cd8fabf2..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEConstructorProxy.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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: IDEConstructorProxy.java,v $
- * $Revision: 1.9 $ $Date: 2005/05/18 23:11:26 $
- */
-
-import java.lang.reflect.Constructor;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-/**
- * This is an implementation of IConstructorProxy where the target VM is the same as
- * the IDE. The java.lang.reflect.Constructor instance is held in a field
- */
-class IDEConstructorProxy extends IDEAccessibleObjectProxy implements IConstructorProxy {
-
- /**
- * package protected constructor where the instance of java.lang.reflect.Constructor
- * can be passed in directly
- */
- IDEConstructorProxy(IDEProxyFactoryRegistry aRegistry, Constructor aConstructor) {
- super(aRegistry, aConstructor);
- }
- /**
- * The type proxy is constant proxy out of the method factory.
- */
- public IBeanTypeProxy getTypeProxy() {
- return ((IDEMethodProxyFactory) fProxyFactoryRegistry.getMethodProxyFactory()).constructorType;
- }
-
- /**
- * This is factored into a special method so that subclasses can override
- * if they wish.
- */
- protected IBeanProxy getNewIDEBeanProxy(Object aBean) {
-
- return IDEStandardBeanProxyFactory.createBeanProxy(fProxyFactoryRegistry, aBean); // Use local helper method to do this.
- }
- /**
- * Invoke the constructor and return an IDEBeanProxy with the result
- */
- public IBeanProxy newInstance() {
-
- // Invoke the constructor
- try {
- Object result = ((Constructor) getBean()).newInstance(null);
- return getNewIDEBeanProxy(result);
- } catch (Exception e) {
- ProxyPlugin.getPlugin().getLogger().log(
- new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", e)); //$NON-NLS-1$
- return null;
- }
-
- }
- public IBeanProxy newInstanceCatchThrowableExceptions() {
- return newInstance();
- }
- public IBeanProxy newInstanceCatchThrowableExceptions(IBeanProxy[] args) {
- return newInstance(args);
- }
- /**
- * Invoke the constructor and return an IDEBeanProxy with the result
- */
- public IBeanProxy newInstance(IBeanProxy[] creationArguments) {
-
- // Get an array of bean objects from the bean proxy arguments
- Object result = null;
- Object[] creationObjects = new Object[creationArguments.length];
- for (int i = 0; i < creationArguments.length; i++) {
- // It is possible the arguments are null which is perfectly valid
- if (creationArguments[i] != null)
- creationObjects[i] = ((IIDEBeanProxy) creationArguments[i]).getBean();
- }
-
- // Invoke the constructor
- try {
- result = ((Constructor) getBean()).newInstance(creationObjects);
- } catch (Exception e) {
- ProxyPlugin.getPlugin().getLogger().log(
- new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", e)); //$NON-NLS-1$
- }
-
- // If we have a non-null result create an IDEBeanProxy and return it
- if (result != null) {
- return getNewIDEBeanProxy(result);
- } else {
- return null;
- }
-
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IConstructorProxy#getParameterTypes()
- */
- public IBeanTypeProxy[] getParameterTypes() {
- Class[] parmClasses = ((Constructor) getBean()).getParameterTypes();
- IBeanTypeProxy[] parmTypes = new IBeanTypeProxy[parmClasses.length];
- IDEStandardBeanTypeProxyFactory factory = (IDEStandardBeanTypeProxyFactory) fProxyFactoryRegistry.getBeanTypeProxyFactory();
- for (int i = 0; i < parmClasses.length; i++) {
- parmTypes[i] = factory.getBeanTypeProxy(parmClasses[i]);
- }
- return parmTypes;
- }
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEConstructorTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEConstructorTypeProxy.java
deleted file mode 100644
index 4e5394122..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEConstructorTypeProxy.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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: IDEConstructorTypeProxy.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:57:26 $
- */
-
-
-/**
- * @version 1.0
- * @author
- */
-public class IDEConstructorTypeProxy extends IDEBeanTypeProxy {
-
- IDEConstructorTypeProxy(IDEProxyFactoryRegistry registry) {
- super(registry, java.lang.reflect.Constructor.class);
- }
-
- /*
- * @see IDEBeanTypeProxy#newBeanProxy(Object)
- */
- protected IIDEBeanProxy newBeanProxy(Object anObject) {
- return new IDEConstructorProxy(fProxyFactoryRegistry, (java.lang.reflect.Constructor) anObject);
- }
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEDoubleClassBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEDoubleClassBeanTypeProxy.java
deleted file mode 100644
index a30678a0d..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEDoubleClassBeanTypeProxy.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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: IDEDoubleClassBeanTypeProxy.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:57:26 $
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-/**
- * Double BeanType Proxy.
- */
-final class IDEDoubleClassBeanTypeProxy extends IDENumberBeanTypeProxy {
-
-protected IDEDoubleClassBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class aClass) {
- super(aRegistry, aClass, new Double(0));
-}
-INumberBeanProxy createDoubleBeanProxy(Double aDouble){
- return new IDENumberBeanProxy(fProxyFactoryRegistry,aDouble,this);
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEDoubleTypeBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEDoubleTypeBeanTypeProxy.java
deleted file mode 100644
index f9ee10687..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEDoubleTypeBeanTypeProxy.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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: IDEDoubleTypeBeanTypeProxy.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:57:26 $
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-/**
- * double BeanType Proxy.
- */
-final class IDEDoubleTypeBeanTypeProxy extends IDEPrimitiveBeanTypeProxy {
-protected IDEDoubleTypeBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class aClass) {
- super(aRegistry, aClass);
-}
-INumberBeanProxy createDoubleBeanProxy(double aDouble){
- return new IDENumberBeanProxy(fProxyFactoryRegistry,new Double(aDouble),this);
-}
-int getPrimitiveType(){
- return DOUBLE;
-}
-
-protected IIDEBeanProxy newBeanProxy(Object anObject){
- Number n = anObject instanceof Character ? new Double(((Character) anObject).charValue()) : (Number) anObject;
- return new IDENumberBeanProxy(fProxyFactoryRegistry, n, this);
-}
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEExpression.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEExpression.java
deleted file mode 100644
index 736d2fc91..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEExpression.java
+++ /dev/null
@@ -1,1070 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: IDEExpression.java,v $ $Revision: 1.10 $ $Date: 2005/06/22 21:05:17 $
- */
-package org.eclipse.jem.internal.proxy.ide;
-
-import java.util.*;
-
-import org.eclipse.core.runtime.Platform;
-
-import org.eclipse.jem.internal.proxy.common.MethodHelper;
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.core.ExpressionProxy.ProxyEvent;
-import org.eclipse.jem.internal.proxy.initParser.tree.*;
-
-/**
- * IDE expression processing.
- *
- * @since 1.0.0
- */
-public class IDEExpression extends Expression {
-
- private final IDEStandardBeanTypeProxyFactory beantypefactory;
- protected final ExpressionProcesser eproc;
- {
- boolean useTracing = !isTraceSet() ?
- "true".equalsIgnoreCase(Platform.getDebugOption(ProxyPlugin.getPlugin().getBundle().getSymbolicName() + ProxyLaunchSupport.EXPRESSION_TRACING)) : //$NON-NLS-1$
- isTrace();
- long threshold = Long.getLong(Platform.getDebugOption(ProxyPlugin.getPlugin().getBundle().getSymbolicName() + ProxyLaunchSupport.EXPRESSION_TRACEING_TIMER_THRESHOLD), -1L).longValue();
- eproc = new ExpressionProcesser(useTracing, threshold);
- }
-
-
- private void processExpressionError() throws ThrowableProxy, NoExpressionValueException {
- if (!eproc.noErrors())
- if (eproc.isNoExpressionValue())
- throw (NoExpressionValueException) eproc.getErrorThrowable();
- else {
- Throwable t = eproc.getErrorThrowable();
- if (t instanceof ThrowableProxy)
- throw (ThrowableProxy) t;
- else
- throw new IDEThrowableProxy(eproc.getErrorThrowable(), beantypefactory.getBeanTypeProxy(t.getClass()));
- }
- }
-
- /**
- * Create the IDEExpression
- *
- * @param registry
- *
- * @since 1.0.0
- */
- public IDEExpression(ProxyFactoryRegistry registry) {
- super(registry);
- beantypefactory = (IDEStandardBeanTypeProxyFactory) registry.getBeanTypeProxyFactory();
- }
-
- protected final IDEProxyFactoryRegistry getIDERegistry() {
- return (IDEProxyFactoryRegistry) registry;
- }
-
- protected final IDEStandardBeanTypeProxyFactory getIDEBeanTypeFactory() {
- return beantypefactory;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushToProxy(org.eclipse.jem.internal.proxy.core.IProxy)
- */
- protected void pushToProxy(IProxy proxy) {
- if (proxy == null)
- eproc.pushExpression(null, MethodHelper.NULL_TYPE);
- else if (proxy.isBeanProxy())
- eproc.pushExpression(((IDEBeanProxy) proxy).getBean(), ((IDEBeanTypeProxy) ((IBeanProxy) proxy).getTypeProxy()).getTypeClass());
- else
- eproc.pushExpressionProxy(((ExpressionProxy) proxy).getProxyID());
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.Expression#closeProxy()
- */
- protected void closeProxy() {
- methodExpressionProxies = fieldExpressionProxies = null;
- eproc.close();
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pullProxyValue(int, java.util.List)
- */
- protected IBeanProxy pullProxyValue(int proxycount, List expressionProxies) throws ThrowableProxy, NoExpressionValueException {
- processExtensionProxies(proxycount, expressionProxies);
- processExpressionError();
- Object result[] = new Object[2];
- eproc.pullValue(result);
- IBeanProxy resultProxy = getIDERegistry().getBeanProxy((Class) result[1], result[0]);
- return resultProxy;
- }
-
- private void processExtensionProxies(int proxycount, List expressionProxies) {
- if (proxycount > 0) {
- int len = expressionProxies.size();
- Object[] proxyResolution = new Object[2];
- for (int i = 0; i < len; i++) {
- ExpressionProxy ep = (ExpressionProxy) expressionProxies.get(i);
- if (ep != null) {
- try {
- eproc.pullExpressionProxyValue(ep.getProxyID(), proxyResolution);
- if (proxyResolution[1] != Void.TYPE)
- fireProxyResolved(ep, getIDERegistry().getBeanProxy((Class) proxyResolution[1], proxyResolution[0]));
- else
- fireProxyVoid(ep);
- } catch (NoExpressionValueException e) {
- fireProxyNotResolved(ep);
- }
- }
- }
- }
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushCastToProxy(org.eclipse.jem.internal.proxy.core.IProxyBeanType)
- */
- protected void pushCastToProxy(IProxyBeanType type) {
- try {
- eproc.pushCast(getIDEBeanTypeProxy(type).getTypeClass());
- } catch (ThrowableProxy e) {
- eproc.processException(e);
- }
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushInstanceofToProxy(org.eclipse.jem.internal.proxy.core.IProxyBeanType)
- */
- protected void pushInstanceofToProxy(IProxyBeanType type) {
- try {
- eproc.pushInstanceof(getIDEBeanTypeProxy(type).getTypeClass());
- } catch (ThrowableProxy e) {
- eproc.processException(e);
- }
- }
-
- /**
- * Get the BeanType proxy and test if valid. Throw ThrowableProxy if not valid.
- *
- * @param type
- * @return
- * @throws ThrowableProxy
- *
- * @since 1.0.0
- */
- protected IDEBeanTypeProxy getIDEBeanTypeProxy(IProxyBeanType type) throws ThrowableProxy {
- IDEBeanTypeProxy typeProxy;
- if (type.isExpressionProxy()) {
- // It should already be resolved at this point.
- typeProxy = ((IDEBeanTypeExpressionProxy) type).getBeanTypeProxy();
- } else
- typeProxy = (IDEBeanTypeProxy) type;
- if (!typeProxy.isValid()) {
- throw new IDEThrowableProxy(
- new Exception(typeProxy.getInitializationError()),
- getIDEBeanTypeFactory().getBeanTypeProxy(Exception.class));
- } else
- return typeProxy;
- }
-
-
- /**
- * Get the BeanType proxy and test if valid. Throw ThrowableProxy if not valid.
- * @param type
- * @return
- * @throws ThrowableProxy
- *
- * @since 1.1.0
- */
- protected IDEBeanTypeProxy getIDEBeanTypeProxy(String type) throws ThrowableProxy {
- return (IDEBeanTypeProxy) registry.getBeanTypeProxyFactory().getBeanTypeProxy(type);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushPrefixToProxy(org.eclipse.jem.internal.proxy.initParser.tree.PrefixOperator)
- */
- protected void pushPrefixToProxy(PrefixOperator operator) {
- eproc.pushPrefix(operator);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushInfixToProxy(org.eclipse.jem.internal.proxy.initParser.tree.InfixOperator, org.eclipse.jem.internal.proxy.initParser.tree.InternalInfixOperandType)
- */
- protected void pushInfixToProxy(InfixOperator operator, InternalInfixOperandType operandType) {
- eproc.pushInfix(operator, operandType);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushArrayAccessToProxy(int)
- */
- protected void pushArrayAccessToProxy(int indexCount) {
- eproc.pushArrayAccess(indexCount);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushArrayCreationToProxy(org.eclipse.jem.internal.proxy.core.IProxyBeanType, int)
- */
- protected void pushArrayCreationToProxy(IProxyBeanType type, int dimensionCount) {
- try {
- eproc.pushArrayCreation(getIDEBeanTypeProxy(type).getTypeClass(), dimensionCount);
- } catch (ThrowableProxy e) {
- eproc.processException(e);
- }
- }
-
- protected void pushArrayInitializerToProxy(IProxyBeanType type, int stripCount, int expressionCount) {
- try {
- eproc.pushArrayInitializer(getIDEBeanTypeProxy(type).getTypeClass(), stripCount, expressionCount);
- } catch (ThrowableProxy e) {
- eproc.processException(e);
- }
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushClassInstanceCreationToProxy(org.eclipse.jem.internal.proxy.core.IProxyBeanType, int)
- */
- protected void pushClassInstanceCreationToProxy(IProxyBeanType type, int argumentCount) {
- try {
- eproc.pushClassInstanceCreation(getIDEBeanTypeProxy(type).getTypeClass(), argumentCount);
- } catch (ThrowableProxy e) {
- eproc.processException(e);
- }
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushTypeReceiverToProxy(org.eclipse.jem.internal.proxy.core.IProxyBeanType)
- */
- protected void pushTypeReceiverToProxy(IProxyBeanType type) {
- try {
- Class c = getIDEBeanTypeProxy(type).getTypeClass();
- eproc.pushExpression(c, c); // When as a receiver, the type is the same as the receiver.
- } catch (ThrowableProxy e) {
- eproc.processException(e);
- } catch (RuntimeException e) {
- eproc.processException(e);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushFieldAccessToProxy(java.lang.Object, boolean)
- */
- protected void pushFieldAccessToProxy(Object field, boolean hasReceiver) {
- boolean isString = field instanceof String;
- try {
- eproc.pushFieldAccess(isString ? field : getIDEFieldProxy((IProxyField) field).getBean(), isString, hasReceiver);
- } catch (ThrowableProxy e) {
- eproc.processException(e);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushMethodInvocationToProxy(java.lang.Object, boolean, int)
- */
- protected void pushMethodInvocationToProxy(Object method, boolean hasReceiver, int argCount) {
- boolean isString = method instanceof String;
- try {
- eproc.pushMethodInvocation(isString ? method : getIDEMethodProxy((IProxyMethod) method).getBean(), isString, hasReceiver, argCount);
- } catch (ThrowableProxy e) {
- eproc.processException(e);
- }
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushConditionalToProxy(org.eclipse.jem.internal.proxy.initParser.tree.InternalConditionalOperandType)
- */
- protected void pushConditionalToProxy(InternalConditionalOperandType expressionType) {
- eproc.pushConditional(expressionType);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushInvoke()
- */
- protected void pushInvoke(int proxycount, List expressionProxies) throws ThrowableProxy, NoExpressionValueException {
- // In the IDE case do nothing. Nothing is pending. But still need to handle proxy resolution.
- processExtensionProxies(proxycount, expressionProxies);
- processExpressionError();
- }
-
- /**
- * This is used as both an ExpressionProxy (i.e. IDE side) and the Expressions expression proxy result on the other side.
- * This makes it easier to just use same instance on both sides.
- *
- * @since 1.1.0
- */
- protected static class IDEExpressionProxy extends ExpressionProxy implements InternalExpressionProxy {
-
- protected IDEExpressionProxy(int proxyid, int proxyType, Expression expression) {
- super(proxyid, proxyType, expression);
- }
-
- private Object value;
- private Class type;
- private boolean set;
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.ExpressionProxy#dispose()
- */
- protected void dispose() {
- super.dispose();
- value = null;
- type = null;
- set = false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.initParser.tree.InternalExpressionProxy#getType()
- */
- public Class getType() {
- return type;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.initParser.tree.InternalExpressionProxy#getValue()
- */
- public Object getValue() {
- return value;
- }
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.initParser.tree.InternalExpressionProxy#setProxy(java.lang.Object, java.lang.Class)
- */
- public void setProxy(Object value, Class type) {
- this.value = value;
- this.type = type;
- set = true;
- }
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.initParser.tree.InternalExpressionProxy#isSet()
- */
- public boolean isSet() {
- return set;
- }
- }
-
- /**
- * The Expression proxy for IDE BeanTypes.
- *
- * @since 1.1.0
- */
- protected static class IDEBeanTypeExpressionProxy extends IDEExpressionProxy implements IBeanTypeExpressionProxy {
-
- private String typeName;
- private IDEBeanTypeProxy resolvedProxy;
-
- /**
- * @param proxyid
- *
- * @since 1.1.0
- */
- public IDEBeanTypeExpressionProxy(int proxyid, Expression expression) {
- super(proxyid, BEANTYPE_EXPRESSION_PROXY, expression);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeExpressionProxy#setTypeName(java.lang.String)
- */
- public void setTypeName(String typeName) {
- this.typeName = typeName;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IProxyBeanType#getTypeName()
- */
- public String getTypeName() {
- return typeName;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.ExpressionProxy#toString()
- */
- public String toString() {
- return super.toString()+" - "+getTypeName(); //$NON-NLS-1$
- }
-
- /**
- * Called by IDEExpression to resolve the beantype.
- * @param beantypeProxy
- *
- * @since 1.1.0
- */
- void setProxy(IDEBeanTypeProxy beantypeProxy) {
- this.resolvedProxy = beantypeProxy;
- setProxy(resolvedProxy.getTypeClass(), Class.class);
- }
-
- /**
- * Called by IDEExpression to get the resolved beantype proxy.
- * @return
- *
- * @since 1.1.0
- */
- IDEBeanTypeProxy getBeanTypeProxy() {
- return resolvedProxy;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IProxyBeanType#getMethodProxy(org.eclipse.jem.internal.proxy.core.IExpression, java.lang.String, org.eclipse.jem.internal.proxy.core.IProxyBeanType[])
- */
- public IProxyMethod getMethodProxy(IExpression expression, String methodName, IProxyBeanType[] parameterTypes) {
- IProxyMethod method = ((IDEExpression) expression).getMethodExpressionProxy(this, methodName, parameterTypes);
- if (method == null) {
- // Need to go to the expression and create it.
- method = ((Expression) expression).createMethodExpressionProxy(this, methodName, parameterTypes);
- }
- return method;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IProxyBeanType#getMethodProxy(org.eclipse.jem.internal.proxy.core.IExpression, java.lang.String, java.lang.String[])
- */
- public IProxyMethod getMethodProxy(IExpression expression, String methodName, String[] parameterTypes) {
- return ((IDEMethodProxyFactory) expression.getRegistry().getMethodProxyFactory()).getMethodProxy(expression, this, methodName, parameterTypes);
- }
-
- public IProxyMethod getMethodProxy(IExpression expression, String methodName) {
- return getMethodProxy(expression, methodName, (IProxyBeanType[]) null);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IProxyBeanType#getFieldProxy(org.eclipse.jem.internal.proxy.core.IExpression, java.lang.String)
- */
- public IProxyField getFieldProxy(IExpression expression, String fieldName) {
- IProxyField field = ((IDEExpression) expression).getFieldExpressionProxy(this, fieldName);
- if (field == null) {
- // Need to go to the expression and create it.
- field = ((Expression) expression).createFieldExpressionProxy(this, fieldName);
- }
- return field;
- }
- }
-
- /**
- * The Expression proxy for IDE BeanTypes.
- *
- * @since 1.1.0
- */
- protected static class IDEMethodExpressionProxy extends IDEExpressionProxy implements IProxyMethod {
-
- private String methodName;
- private IDEMethodProxy resolvedProxy;
- private ThrowableProxy errorThrowable;
-
- /**
- * @param proxyid
- *
- * @since 1.1.0
- */
- public IDEMethodExpressionProxy(int proxyid, Expression expression) {
- super(proxyid, METHOD_EXPRESSION_PROXY, expression);
- }
-
- /**
- * Set by IDEExpression with the method name.
- * @param methodName
- *
- * @since 1.1.0
- */
- void setMethodName(String methodName) {
- this.methodName = methodName;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.ExpressionProxy#toString()
- */
- public String toString() {
- return super.toString()+" - "+methodName; //$NON-NLS-1$
- }
-
- /**
- * Called by IDEExpression to resolve the beantype.
- * @param methodProxy
- *
- * @since 1.1.0
- */
- void setProxy(IDEMethodProxy methodProxy) {
- this.resolvedProxy = methodProxy;
- setProxy(resolvedProxy.getBean(), Class.class);
- }
-
- /**
- * Called by IDEExpression to say there was error in creating the proxy.
- * @param errorThrowable
- *
- * @since 1.1.0
- */
- void setThrowable(ThrowableProxy errorThrowable) {
- this.errorThrowable = errorThrowable;
- }
-
- /**
- * Called by IDEExpression to get the resolved method proxy.
- * @return
- * @throws ThrowableProxy
- *
- * @since 1.1.0
- */
- IDEMethodProxy getMethodProxy() throws ThrowableProxy {
- if (errorThrowable != null)
- throw errorThrowable;
- return resolvedProxy;
- }
- }
-
- protected static class IDEFieldExpressionProxy extends IDEExpressionProxy implements IProxyField {
-
- private String fieldName;
- private IDEFieldProxy resolvedProxy;
- private ThrowableProxy errorThrowable;
-
- /**
- * @param proxyid
- *
- * @since 1.1.0
- */
- public IDEFieldExpressionProxy(int proxyid, Expression expression) {
- super(proxyid, FIELD_EXPRESSION_PROXY, expression);
- }
-
- /**
- * Set by IDEExpression with the method name.
- * @param fieldName
- *
- * @since 1.1.0
- */
- void setField(String fieldName) {
- this.fieldName = fieldName;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.ExpressionProxy#toString()
- */
- public String toString() {
- return super.toString()+" - "+fieldName; //$NON-NLS-1$
- }
-
- /**
- * Called by IDEExpression to resolve the beantype.
- * @param fieldProxy
- *
- * @since 1.1.0
- */
- void setProxy(IDEFieldProxy fieldProxy) {
- this.resolvedProxy = fieldProxy;
- setProxy(resolvedProxy.getBean(), Class.class);
- }
-
- /**
- * Called by IDEExpression to say there was error in creating the proxy.
- * @param errorThrowable
- *
- * @since 1.1.0
- */
- void setThrowable(ThrowableProxy errorThrowable) {
- this.errorThrowable = errorThrowable;
- }
-
- /**
- * Called by IDEExpression to get the resolved field proxy.
- * @return
- * @throws ThrowableProxy
- *
- * @since 1.1.0
- */
- IDEFieldProxy getFieldProxy() throws ThrowableProxy {
- if (errorThrowable != null)
- throw errorThrowable;
- return resolvedProxy;
- }
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#createExpressionProxy(int, int)
- */
- protected ExpressionProxy createExpressionProxy(int proxyType, int proxyID) {
- switch (proxyType) {
- case NORMAL_EXPRESSION_PROXY:
- default:
- return new IDEExpressionProxy(proxyID, NORMAL_EXPRESSION_PROXY, this);
-
- case BEANTYPE_EXPRESSION_PROXY:
- return new IDEBeanTypeExpressionProxy(proxyID, this);
-
- case METHOD_EXPRESSION_PROXY:
- return new IDEMethodExpressionProxy(proxyID, this);
-
- case FIELD_EXPRESSION_PROXY:
- return new IDEFieldExpressionProxy(proxyID, this);
- }
-
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushAssignmentToProxy(org.eclipse.jem.internal.proxy.core.ExpressionProxy)
- */
- protected void pushAssignmentToProxy(ExpressionProxy proxy) {
- eproc.pushAssignment((InternalExpressionProxy) proxy);
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushAssignmentToProxy()
- */
- protected void pushAssignmentToProxy() {
- eproc.pushAssignment();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushBlockBeginToProxy(int)
- */
- protected void pushBlockBeginToProxy(int blockNumber) {
- eproc.pushBlockBegin(blockNumber);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushBlockEndToProxy(int)
- */
- protected void pushBlockEndToProxy(int blockNumber) {
- eproc.pushBlockEnd(blockNumber);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushBlockBreakToProxy(int)
- */
- protected void pushBlockBreakToProxy(int blockNumber) {
- eproc.pushBlockBreak(blockNumber);
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushTryBeginToProxy(int)
- */
- protected void pushTryBeginToProxy(int tryNumber) {
- eproc.pushTryBegin(tryNumber);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushTryCatchClauseToProxy(int, org.eclipse.jem.internal.proxy.core.IProxyBeanType, org.eclipse.jem.internal.proxy.core.ExpressionProxy)
- */
- protected void pushTryCatchClauseToProxy(int tryNumber, IProxyBeanType exceptionType, ExpressionProxy ep) {
- try {
- eproc.pushTryCatchClause(tryNumber, getIDEBeanTypeProxy(exceptionType).getTypeClass(), (InternalExpressionProxy) ep);
- } catch (ThrowableProxy e) {
- eproc.processException(e);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushTryFinallyClauseToProxy(int)
- */
- protected void pushTryFinallyClauseToProxy(int tryNumber) {
- eproc.pushTryFinallyClause(tryNumber);
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushTryEndToProxy(int)
- */
- protected void pushTryEndToProxy(int tryNumber) {
- eproc.pushTryEnd(tryNumber);
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushThrowToProxy()
- */
- protected void pushThrowToProxy() {
- eproc.pushThrowException();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushRethrowToProxy(int)
- */
- protected void pushRethrowToProxy(int tryNumber) {
- eproc.pushTryRethrow(tryNumber);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushBeanTypeToProxy(org.eclipse.jem.internal.proxy.core.IBeanTypeExpressionProxy)
- */
- protected void pushBeanTypeToProxy(IBeanTypeExpressionProxy proxy) {
- try {
- IDEBeanTypeExpressionProxy ep = (IDEBeanTypeExpressionProxy) proxy;
- IDEBeanTypeProxy typeProxy = getIDEBeanTypeProxy(proxy.getTypeName());
- ep.setProxy(typeProxy);
- eproc.allocateExpressionProxy(ep);
- if (!typeProxy.isValid()) {
- throw new IDEThrowableProxy(
- new Exception(typeProxy.getInitializationError()),
- getIDEBeanTypeFactory().getBeanTypeProxy(Exception.class));
- }
- } catch (ThrowableProxy e) {
- eproc.processException(e);
- }
- }
-
- /**
- * Get the map of IProxyBeanTypes for a beantype name. Meant to be used only in conjunction with IDEStandardBeanTypeFactory.
- * It is here so the IDDEStandardBeanTypeFactory can store pending proxies per expression.
- *
- * @param beanType
- * @return
- *
- * @since 1.1.0
- */
- public IProxyBeanType getBeanType(String beanTypeName) {
- if (beanTypeCache == null)
- beanTypeCache = new HashMap();
- return (IProxyBeanType) beanTypeCache.get(beanTypeName);
- }
-
- /**
- * Add the beantype expression proxy to the map of bean type expression proxies. Used in conjunction with IDEStandardBeanTypeFactory.
- * It is here so the IDEStandardBeanTypeFactory can store pending proxies per expression.
- * @param beanTypeName
- * @param beantype
- *
- * @since 1.1.0
- */
- public void addBeanType(String beanTypeName, IProxyBeanType beantype) {
- beanTypeCache.put(beanTypeName, beantype);
- }
-
- /**
- * Remove the beantype expression proxy from the map. This is called because there was a rollback due to an endmark.
- * @param beanTypeName
- *
- * @since 1.1.0
- */
- public void removeBeanType(String beanTypeName) {
- beanTypeCache.remove(beanTypeName);
- }
-
- /**
- * Keeping a local map of Method Expression Proxies so that we don't keep recreating them for each request from within this expression.
- * The map will be: declaringTypeName->(Map) methodName or IDEMethodKey -> method expression proxy.
- * @see IDEExpression#pushMethodToProxy(ExpressionProxy, IProxyBeanType, String, IProxyBeanType[]) for the actual implementation.
- */
- protected Map methodExpressionProxies;
-
- /**
- * Keeping a local map of Field Expression Proxies so that we don't keep recreating them for each request from within this expression.
- * The map will be: declaringTypeName->(Map) fieldname -> field expression proxy.
- * @see IDEExpression#pushFieldToProxy(ExpressionProxy, IProxyBeanType, String)
- */
- protected Map fieldExpressionProxies;
-
- /**
- * Keeping a local map of BeanType expression proxies so that we don't keep recreating them for each request from within this expression.
- * The map will be: typename->beanTypeExpressionProxy
- */
- protected Map beanTypeCache; // Use to cache pending BeanTypes. Used in conjunction with IDEStandardBeanTypeFactory.
-
- /*
- * Used as the key to the methodCache when there are parms.
- * It allows the parms to be either IProxyBeanType without the
- * overhead of creating complicated strings.
- *
- * It will compare method name and each individual parm name without fluffing
- * up a string and building it up.
- *
- * For no parm methods, just the name of the method as a string will be the key.
- *
- * @since 1.1.0
- */
- private static class MethodKey {
- public String methodName;
- public IProxyBeanType[] parmTypes;
- public MethodKey(String methodName, IProxyBeanType[] parmTypes) {
- this.methodName = methodName;
- this.parmTypes = parmTypes;
- }
-
-
- /* (non-Javadoc)
- * @see java.lang.Object#equals(java.lang.Object)
- */
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- try {
- return ((MethodKey) obj).compareParms(parmTypes);
- } catch (ClassCastException e) {
- return false;
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.remote.REMProxyConstants.MethodKey#hashCode()
- */
- public int hashCode() {
- int h = methodName.hashCode();;
- for (int i = 0; i < parmTypes.length; i++) {
- h += parmTypes[i].getTypeName().hashCode();
- }
- return h;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.remote.REMProxyConstants.MethodKey#compareParms(java.lang.String[])
- */
- protected boolean compareParms(IProxyBeanType[] parms) {
- if (parms.length != parmTypes.length)
- return false;
- for (int i = 0; i < parms.length; i++) {
- if (!parmTypes[i].getTypeName().equals(parms[i].getTypeName()))
- return false;
- }
- return true;
- }
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushMethodToProxy(org.eclipse.jem.internal.proxy.core.ExpressionProxy, org.eclipse.jem.internal.proxy.core.IProxyBeanType, java.lang.String, org.eclipse.jem.internal.proxy.core.IProxyBeanType[])
- */
- protected void pushMethodToProxy(ExpressionProxy proxy, IProxyBeanType declaringType, String methodName, IProxyBeanType[] parameterTypes) {
- try {
- final Map methods = getMethods(declaringType);
- final Object key = getMethodKey(methodName, parameterTypes);
- methods.put(key, proxy);
- proxy.addProxyListener(new ExpressionProxy.ProxyAdapter() {
-
- public void proxyNotResolved(ProxyEvent event) {
- methods.remove(key); // Back it out. tis could happen due to endmark rollback.
- }
-
- });
-
- IDEMethodExpressionProxy ep = (IDEMethodExpressionProxy) proxy;
- ep.setMethodName(methodName);
- // We resolve immediately. Any expression proxies should also be resolved at this point too.
- Class declaringClass = getIDEBeanTypeProxy(declaringType).getTypeClass();
- Class[] parameterClasses;
- if (parameterTypes == null || parameterTypes.length == 0)
- parameterClasses = null;
- else {
- parameterClasses = new Class[parameterTypes.length];
- for (int i = 0; i < parameterClasses.length; i++) {
- parameterClasses[i] = getIDEBeanTypeProxy(parameterTypes[i]).getTypeClass();
- }
- }
- IDEMethodProxy methodProxy = ((IDEMethodProxyFactory) registry.getMethodProxyFactory()).getMethodProxy(declaringClass, methodName, parameterClasses);
- if (methodProxy == null) {
- String parms = ""; //$NON-NLS-1$
- if (parameterTypes != null || parameterTypes.length > 0) {
- StringBuffer st = new StringBuffer(100);
- for (int i = 0; i < parameterClasses.length; i++) {
- if (i > 0)
- st.append(',');
- st.append(parameterTypes[i].getTypeName());
- }
- parms = st.toString();
- }
- throw new IDEThrowableProxy(new NoSuchMethodException("No method: "+declaringType+'.'+methodName+"("+parms+')'), //$NON-NLS-1$ //$NON-NLS-2$
- getIDEBeanTypeFactory().getBeanTypeProxy(NoSuchMethodException.class));
- }
-
- ep.setProxy(methodProxy);
- eproc.allocateExpressionProxy(ep);
- } catch (ThrowableProxy e) {
- ((IDEMethodExpressionProxy) proxy).setThrowable(e); // So we don't recreate throwable all of the time.
- eproc.processException(e);
- }
- }
-
- private Map getMethods(IProxyBeanType classtype) {
- if (methodExpressionProxies == null)
- methodExpressionProxies = new HashMap();
- Map methods = (Map) methodExpressionProxies.get(classtype.getTypeName());
- if (methods == null)
- methodExpressionProxies.put(classtype.getTypeName(), methods = new HashMap());
- return methods;
- }
-
- private Object getMethodKey(String methodName, IProxyBeanType[] parameterTypes) {
- if (parameterTypes == null || parameterTypes.length == 0)
- return methodName;
- else
- return new MethodKey(methodName, parameterTypes);
- }
-
- private Map getFields(IProxyBeanType classtype) {
- if (fieldExpressionProxies == null)
- fieldExpressionProxies = new HashMap();
- Map fields = (Map) fieldExpressionProxies.get(classtype.getTypeName());
- if (fields == null)
- fieldExpressionProxies.put(classtype.getTypeName(), fields = new HashMap());
- return fields;
- }
-
- /**
- * This is used by IDEBeanTypes and IDEBeanTypeExpressionProxy to access any already created Method Expression Proxies.
- *
- * @param declaringType
- * @param methodName
- * @param parameterTypes
- * @return IProxyMethod or <code>null</code> if not yet created.
- *
- * @since 1.1.0
- */
- IProxyMethod getMethodExpressionProxy(IProxyBeanType declaringType, String methodName, IProxyBeanType[] parameterTypes) {
- Map methods = getMethods(declaringType);
- Object key = getMethodKey(methodName, parameterTypes);
- return (IProxyMethod) methods.get(key);
- }
-
- /**
- * This is used by IDEBeanTypes and IDEBeanTypeExpressionProxy to access any already created Field Expression Proxies.
- * @param declaringType
- * @param fieldName
- * @return
- *
- * @since 1.1.0
- */
- IProxyField getFieldExpressionProxy(IProxyBeanType declaringType, String fieldName) {
- Map fields = getFields(declaringType);
- return (IProxyField) fields.get(fieldName);
- }
-
- /**
- * Get the IDEMethodProxy out of the already resolved Expression Proxy or IDEMethodProxy itself.
- * @param method
- * @return
- * @throws ThrowableProxy
- *
- * @since 1.1.0
- */
- protected IDEMethodProxy getIDEMethodProxy(IProxyMethod method) throws ThrowableProxy {
- IDEMethodProxy methodProxy;
- if (method.isExpressionProxy()) {
- // It should already be resolved at this point.
- methodProxy = ((IDEMethodExpressionProxy) method).getMethodProxy();
- } else
- methodProxy = (IDEMethodProxy) method;
- return methodProxy;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushFieldToProxy(org.eclipse.jem.internal.proxy.core.ExpressionProxy, org.eclipse.jem.internal.proxy.core.IProxyBeanType, java.lang.String)
- */
- protected void pushFieldToProxy(ExpressionProxy proxy, IProxyBeanType declaringType, final String fieldName) {
-
- try {
- final Map fields = getFields(declaringType);
- fields.put(fieldName, proxy);
- proxy.addProxyListener(new ExpressionProxy.ProxyAdapter(){
- public void proxyNotResolved(ExpressionProxy.ProxyEvent event) {
- fields.remove(fieldName); // this can happen due to an endmark. It could be one of the ones that are rolled back.
- }
- });
-
-
- IDEFieldExpressionProxy ep = (IDEFieldExpressionProxy) proxy;
- // We resolve immediately. Any expression proxies should also be resolved at this point too.
- IDEFieldProxy fieldProxy = (IDEFieldProxy) getIDEBeanTypeProxy(declaringType).getFieldProxy(fieldName);
- if (fieldProxy == null) {
- throw new IDEThrowableProxy(new NoSuchFieldException("No field: "+declaringType+'.'+fieldName), //$NON-NLS-1$
- getIDEBeanTypeFactory().getBeanTypeProxy(NoSuchFieldException.class));
- }
-
- ep.setProxy(fieldProxy);
- eproc.allocateExpressionProxy(ep);
- } catch (ThrowableProxy e) {
- ((IDEFieldExpressionProxy) proxy).setThrowable(e); // So we don't recreate throwable all of the time.
- eproc.processException(e);
- }
-
- }
-
- /**
- * Get the IDEFieldProxy out of the already resolved Expression Proxy or IDEFieldProxy itself.
- * @param field
- * @return
- * @throws ThrowableProxy
- *
- * @since 1.1.0
- */
- protected IDEFieldProxy getIDEFieldProxy(IProxyField field) throws ThrowableProxy {
- IDEFieldProxy fieldProxy;
- if (field.isExpressionProxy()) {
- // It should already be resolved at this point.
- fieldProxy = ((IDEFieldExpressionProxy) field).getFieldProxy();
- } else
- fieldProxy = (IDEFieldProxy) field;
- return fieldProxy;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushIfTestToProxy()
- */
- protected void pushIfTestToProxy() {
- eproc.pushIfElse();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushIfElseToProxy(org.eclipse.jem.internal.proxy.initParser.tree.InternalIfElseOperandType)
- */
- protected void pushIfElseToProxy(InternalIfElseOperandType clauseType) {
- eproc.pushIfElse(clauseType);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.Expression#pushNewInstanceToProxy(java.lang.String, org.eclipse.jem.internal.proxy.core.IProxyBeanType)
- */
- protected void pushNewInstanceToProxy(String initializationString, IProxyBeanType resultType) {
- try {
- eproc.pushNewInstanceFromString(initializationString, getIDEBeanTypeProxy(resultType).getTypeClass(), getIDERegistry().fClassLoader);
- } catch (ThrowableProxy e) {
- eproc.processException(e);
- }
- }
-
- protected void pushMarkToProxy(int markID) {
- eproc.pushMark(markID);
- }
-
- protected void pushEndmarkToProxy(int markID, boolean restore) {
- eproc.pushEndmark(markID, restore);
- }
-
- protected void pushBeginTransferThreadToProxy() {
- // For IDE it doesn't matter. Just go ahead and continue processing.
- }
-
- protected void pushTransferThreadToProxy() {
- // For IDE it doesn't matter. Just go ahead and continue processing.
- }
-
- protected void pushSubexpressionBeginToProxy(int subexpressionNumber) {
- eproc.pushSubexpressionBegin(subexpressionNumber);
- }
-
- protected void pushSubexpressionEndToProxy(int subexpressionNumber) {
- eproc.pushSubexpressionEnd(subexpressionNumber);
- }
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEExtensionBeanTypeProxyFactory.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEExtensionBeanTypeProxyFactory.java
deleted file mode 100644
index c4a28ca04..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEExtensionBeanTypeProxyFactory.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: IDEExtensionBeanTypeProxyFactory.java,v $
- * $Revision: 1.3 $ $Date: 2005/05/11 19:01:12 $
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-public interface IDEExtensionBeanTypeProxyFactory extends IBeanTypeProxyFactory {
-
-public IDEBeanTypeProxy getExtensionBeanTypeProxy(String className);
-
-public IDEBeanTypeProxy getExtensionBeanTypeProxy(String typeName, IBeanTypeProxy superType);
-
-public IProxyBeanType getExtensionBeanTypeProxy(String typeName, IExpression expression);
-
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEFieldProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEFieldProxy.java
deleted file mode 100644
index 1cd7c5eef..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEFieldProxy.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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: IDEFieldProxy.java,v $
- * $Revision: 1.8 $ $Date: 2005/05/18 23:11:26 $
- */
-
-import java.lang.reflect.Field;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-/**
- * Implementation of IFieldProxy where the bean vm is the same as the IDE
- * Therefore we hold the instance of a java.lang.reflect.Field in a field
- * directly and have a package protected constructor to set this
- * Creation date: (1/17/00 12:32:24 PM)
- * @author: Joe Winchester
- */
-public class IDEFieldProxy extends IDEAccessibleObjectProxy implements IFieldProxy {
- protected IBeanTypeProxy fFieldType;
- /**
- * Package protected constructor that takes the field directly
- * This is package protected because only classes in the IDE package can construct
- * this. Everyone else must go via the typeProxy
- */
- IDEFieldProxy(IDEProxyFactoryRegistry aRegistry, Field aField) {
- super(aRegistry, aField);
- }
- /**
- * Get the value of the field and return it wrapped in a bean proxy
- */
- public IBeanProxy get(IBeanProxy aSubject) {
-
- Object result = null;
- // Get the field value and catch any errors
- try {
- result = ((Field) getBean()).get(aSubject != null ? ((IIDEBeanProxy) aSubject).getBean() : null);
- } catch (Exception e) {
- ProxyPlugin.getPlugin().getLogger().log(
- new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", e)); //$NON-NLS-1$
- }
-
- // If we have a non null result wrap it in an IBeanProxy and return it
- if (result != null) {
- return fProxyFactoryRegistry.getBeanProxy(((Field) getBean()).getType(), result);
- } else {
- return null;
- }
-
- }
- /**
- * Get the beans from both of the proxies and invoke the field set method
- * Cast to IDEBeanProxy and use package protected method
- */
- public void set(IBeanProxy aSubject, IBeanProxy argument) {
-
- // Set the field value and catch any errors
- try {
- ((Field) getBean()).set(
- aSubject != null ? ((IIDEBeanProxy) aSubject).getBean() : null,
- argument != null ? ((IIDEBeanProxy) argument).getBean() : null);
- } catch (Exception e) {
- ProxyPlugin.getPlugin().getLogger().log(
- new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", e)); //$NON-NLS-1$
- }
- }
- /**
- * The type proxy is constant proxy out of the method factory.
- */
- public IBeanTypeProxy getTypeProxy() {
- return ((IDEMethodProxyFactory) fProxyFactoryRegistry.getMethodProxyFactory()).fieldType;
- }
- /**
- * Return the type of the field.
- */
- public IBeanTypeProxy getFieldType() {
- if (fFieldType == null) {
- fFieldType =
- ((IDEStandardBeanTypeProxyFactory) fProxyFactoryRegistry.getBeanTypeProxyFactory()).getBeanTypeProxy(
- ((Field) getBean()).getType());
- }
- return fFieldType;
- }
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEFieldTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEFieldTypeProxy.java
deleted file mode 100644
index b69bf9e9b..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEFieldTypeProxy.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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: IDEFieldTypeProxy.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:57:26 $
- */
-
-/**
- * @version 1.0
- * @author
- */
-public class IDEFieldTypeProxy extends IDEBeanTypeProxy {
-
- IDEFieldTypeProxy(IDEProxyFactoryRegistry registry) {
- super(registry, java.lang.reflect.Field.class);
- }
-
- /*
- * @see IDEBeanTypeProxy#newBeanProxy(Object)
- */
- protected IIDEBeanProxy newBeanProxy(Object anObject) {
- return new IDEFieldProxy(fProxyFactoryRegistry, (java.lang.reflect.Field) anObject);
- }
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEFloatClassBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEFloatClassBeanTypeProxy.java
deleted file mode 100644
index 97bc3f6ef..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEFloatClassBeanTypeProxy.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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: IDEFloatClassBeanTypeProxy.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:57:26 $
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * Float BeanType Proxy.
- */
-final class IDEFloatClassBeanTypeProxy extends IDENumberBeanTypeProxy {
-
-protected IDEFloatClassBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class aClass) {
- super(aRegistry, aClass, new Float(0));
-}
-INumberBeanProxy createFloatBeanProxy(Float aFloat){
- return new IDENumberBeanProxy(fProxyFactoryRegistry,aFloat,this);
-}
-}
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEFloatTypeBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEFloatTypeBeanTypeProxy.java
deleted file mode 100644
index 7e28d8bd1..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEFloatTypeBeanTypeProxy.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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: IDEFloatTypeBeanTypeProxy.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:57:26 $
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-/**
- * Float BeanType Proxy.
- */
-final class IDEFloatTypeBeanTypeProxy extends IDEPrimitiveBeanTypeProxy {
-protected IDEFloatTypeBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class aClass) {
- super(aRegistry, aClass);
-}
-INumberBeanProxy createFloatBeanProxy(float aFloat){
- return new IDENumberBeanProxy(fProxyFactoryRegistry,new Float(aFloat),this);
-}
-int getPrimitiveType(){
- return FLOAT;
-}
-
-protected IIDEBeanProxy newBeanProxy(Object anObject){
- Number n = anObject instanceof Character ? new Float(((Character) anObject).charValue()) : (Number) anObject;
- return new IDENumberBeanProxy(fProxyFactoryRegistry, n, this);
-
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEInitErrorBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEInitErrorBeanTypeProxy.java
deleted file mode 100644
index 3b04ea927..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEInitErrorBeanTypeProxy.java
+++ /dev/null
@@ -1,248 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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: IDEInitErrorBeanTypeProxy.java,v $
- * $Revision: 1.5 $ $Date: 2005/02/15 22:57:26 $
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-/**
- * @author richkulp
- *
- * To change this generated comment edit the template variable "typecomment": Window>Preferences>Java>Templates. To enable and disable the creation of
- * type comments go to Window>Preferences>Java>Code Generation.
- */
-public class IDEInitErrorBeanTypeProxy extends IDEBeanTypeProxy {
-
- protected String classname;
-
- protected String initializationError;
-
- protected IDEInitErrorBeanTypeProxy(IDEProxyFactoryRegistry registry, String classname, String initializationError) {
- super(registry, null);
- this.classname = classname;
- this.initializationError = initializationError;
- }
-
- /**
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructorProxy(String[])
- */
- public IConstructorProxy getConstructorProxy(String[] argumentClassNames) {
- return null;
- }
-
- /**
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructorProxy(IBeanTypeProxy[])
- */
- public IConstructorProxy getConstructorProxy(IBeanTypeProxy[] argumentTypes) {
- return null;
- }
-
- public IConstructorProxy[] getConstructors() {
- return null;
- }
-
- /**
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructorProxy(String[])
- */
- public IConstructorProxy getDeclaredConstructorProxy(String[] argumentClassNames) {
- return null;
- }
-
- /**
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructorProxy(IBeanTypeProxy[])
- */
- public IConstructorProxy getDeclaredConstructorProxy(IBeanTypeProxy[] argumentTypes) {
- return null;
- }
-
- public IConstructorProxy[] getDeclaredConstructors() {
- return null;
- }
-
- public IFieldProxy[] getFields() {
- return null;
- }
-
- public IFieldProxy[] getDeclaredFields() {
- return null;
- }
-
- /**
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getFieldProxy(String)
- */
- public IFieldProxy getFieldProxy(String fieldName) {
- return null;
- }
-
- public IMethodProxy[] getMethods() {
- return null;
- }
-
- public IMethodProxy[] getDeclaredMethods() {
- return null;
- }
-
- /**
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getMethodProxy(String)
- */
- public IMethodProxy getMethodProxy(String methodName) {
- return null;
- }
-
- /**
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getMethodProxy(String, String[])
- */
- public IMethodProxy getMethodProxy(String methodName, String[] argumentClassNames) {
- return null;
- }
-
- /**
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getMethodProxy(String, String)
- */
- public IMethodProxy getMethodProxy(String methodName, String argumentClassName) {
- return null;
- }
-
- /**
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getMethodProxy(String, IBeanTypeProxy[])
- */
- public IMethodProxy getMethodProxy(String methodName, IBeanTypeProxy[] argumentTypes) {
- return null;
- }
-
- /**
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getMethodProxy(String, String[])
- */
- public IMethodProxy getDeclaredMethodProxy(String methodName, String[] argumentClassNames) {
- return null;
- }
-
- /**
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getMethodProxy(String, IBeanTypeProxy[])
- */
- public IMethodProxy getDeclaredMethodProxy(String methodName, IBeanTypeProxy[] argumentTypes) {
- return null;
- }
-
- /**
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getNullConstructorProxy()
- */
- public IConstructorProxy getNullConstructorProxy() {
- return null;
- }
-
- /**
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getSuperBeanTypeProxy()
- */
- public IBeanTypeProxy getSuperBeanTypeProxy() {
- return null;
- }
-
- /**
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getTypeName()
- */
- public String getTypeName() {
- return classname;
- }
-
- /**
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getFormalTypeName()
- */
- public String getFormalTypeName() {
- return getTypeName();
- }
-
- /**
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#isArray()
- */
- public boolean isArray() {
- return false;
- }
-
- /**
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#isInterface()
- */
- public boolean isInterface() {
- return false;
- }
-
- /**
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#isPrimitive()
- */
- public boolean isPrimitive() {
- return false;
- }
-
- /**
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#isKindOf(IBeanTypeProxy)
- */
- public boolean isKindOf(IBeanTypeProxy aBeanProxyType) {
- return false;
- }
-
- /**
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#newInstance()
- */
- public IBeanProxy newInstance() {
- return null;
- }
-
- /**
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#newInstance(String)
- */
- public IBeanProxy newInstance(String initializationString) {
- return null;
- }
-
- /**
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getInitializationError()
- */
- public String getInitializationError() {
- return initializationError;
- }
-
- /**
- * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#toBeanString()
- */
- public String toBeanString() {
- return classname;
- }
-
- /**
- * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#isValid()
- */
- public boolean isValid() {
- return false;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getCompatibleConstructor(org.eclipse.jem.internal.proxy.core.IBeanTypeProxy[])
- */
- public IConstructorProxy getCompatibleConstructor(IBeanTypeProxy[] argumentTypes) {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getCompatibleMethod(java.lang.String,
- * org.eclipse.jem.internal.proxy.core.IBeanTypeProxy[])
- */
- public IMethodProxy getCompatibleMethod(String methodName, IBeanTypeProxy[] argumentTypes) {
- return null;
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEIntegerBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEIntegerBeanProxy.java
deleted file mode 100644
index 1b31a1f87..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEIntegerBeanProxy.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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: IDEIntegerBeanProxy.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:57:26 $
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-/**
- * IDE Proxy for Integers. Since Integers were first implemented
- * in the VCE, and because they are often referenced, we've created
- * a subclass to handle them. That way we wouldn't need to change
- * everyone that was using the IIntegerProxy interface and we
- * can store the int value to speed up access.
- */
-public class IDEIntegerBeanProxy extends IDENumberBeanProxy implements IIntegerBeanProxy {
- protected int fIntValue;
-IDEIntegerBeanProxy(IDEProxyFactoryRegistry aRegistry, Number anInteger, IBeanTypeProxy aBeanTypeProxy) {
- super(aRegistry, anInteger , aBeanTypeProxy);
- fIntValue = anInteger.intValue();
-}
-/**
- * Return the int value
- */
-public int intValue() {
- return fIntValue;
-}
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEIntegerClassBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEIntegerClassBeanTypeProxy.java
deleted file mode 100644
index 6c0fc08a8..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEIntegerClassBeanTypeProxy.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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: IDEIntegerClassBeanTypeProxy.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:57:26 $
- */
-
-import org.eclipse.jem.internal.proxy.core.IIntegerBeanProxy;
-
-/**
- * IDE Implementation of IIntegerBeanTypeProxy
- */
-final class IDEIntegerClassBeanTypeProxy extends IDENumberBeanTypeProxy {
-// Some values are cache'd for speed
- private final IDEIntegerBeanProxy zeroIntProxy;
- private final IDEIntegerBeanProxy oneIntProxy;
- private final IDEIntegerBeanProxy twoIntProxy;
- private final IDEIntegerBeanProxy threeIntProxy;
-IDEIntegerClassBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class aClass) {
- super(aRegistry, aClass, new Integer(0));
- // Create the cached values
- zeroIntProxy = new IDEIntegerBeanProxy(aRegistry, new Integer(0), this );
- oneIntProxy = new IDEIntegerBeanProxy(aRegistry, new Integer(1), this );
- twoIntProxy = new IDEIntegerBeanProxy(aRegistry, new Integer(2), this );
- threeIntProxy = new IDEIntegerBeanProxy(aRegistry, new Integer(3), this );
-
-}
-/**
- * Static helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- */
-IIntegerBeanProxy createIntegerBeanProxy(Integer anInteger) {
- switch(anInteger.intValue()){
- case 0: return zeroIntProxy ;
- case 1: return oneIntProxy ;
- case 2: return twoIntProxy ;
- case 3: return threeIntProxy ;
- default: return new IDEIntegerBeanProxy(fProxyFactoryRegistry,anInteger,this);
- }
-}
-protected IIDEBeanProxy newBeanProxy(Object anObject){
-
- return (IIDEBeanProxy)createIntegerBeanProxy((Integer)anObject);
-
-}
-}
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEIntegerTypeBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEIntegerTypeBeanTypeProxy.java
deleted file mode 100644
index 22f81f1e6..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEIntegerTypeBeanTypeProxy.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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: IDEIntegerTypeBeanTypeProxy.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:57:26 $
- */
-
-import org.eclipse.jem.internal.proxy.core.IIntegerBeanProxy;
-
-/**
- * IDE Implementation of IIntegerBeanTypeProxy
- */
-final class IDEIntegerTypeBeanTypeProxy extends IDEPrimitiveBeanTypeProxy {
-// Some values are cache'd for speed
- private final IDEIntegerBeanProxy zeroProxy;
- private final IDEIntegerBeanProxy oneProxy;
- private final IDEIntegerBeanProxy twoProxy;
- private final IDEIntegerBeanProxy threeProxy;
-IDEIntegerTypeBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class aClass) {
- super(aRegistry, aClass);
- // Create the cached values
- zeroProxy = new IDEIntegerBeanProxy(aRegistry, new Integer(0), this );
- oneProxy = new IDEIntegerBeanProxy(aRegistry, new Integer(1), this );
- twoProxy = new IDEIntegerBeanProxy(aRegistry, new Integer(2), this );
- threeProxy = new IDEIntegerBeanProxy(aRegistry, new Integer(3), this );
-
-}
-/**
- * Static helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- */
-IIntegerBeanProxy createIntegerBeanProxy(int anInt) {
- switch(anInt){
- case 0: return zeroProxy ;
- case 1: return oneProxy ;
- case 2: return twoProxy ;
- case 3: return threeProxy ;
- default: return new IDEIntegerBeanProxy(fProxyFactoryRegistry,new Integer(anInt),this);
- }
-}
-/* Specialized from IDEBeanTypeProxy to ensure IIntegerBeanProxies are created correctly
- */
-protected IIDEBeanProxy newBeanProxy(Object anObject){
- Number n = anObject instanceof Character ? new Integer(((Character) anObject).charValue()) : (Number) anObject;
- switch(n.intValue()){
- case 0: return zeroProxy ;
- case 1: return oneProxy ;
- case 2: return twoProxy ;
- case 3: return threeProxy ;
- default: return new IDEIntegerBeanProxy(fProxyFactoryRegistry, n, this);
- }
-
-
-}
-int getPrimitiveType(){
- return INTEGER;
-}
-}
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDELongClassBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDELongClassBeanTypeProxy.java
deleted file mode 100644
index b3aea93ae..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDELongClassBeanTypeProxy.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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: IDELongClassBeanTypeProxy.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:57:26 $
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-/**
- * Long BeanType Proxy.
- */
-final class IDELongClassBeanTypeProxy extends IDENumberBeanTypeProxy {
-
-protected IDELongClassBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class aClass) {
- super(aRegistry, aClass, new Long(0));
-}
-INumberBeanProxy createLongBeanProxy(Long aLong){
- return new IDENumberBeanProxy(fProxyFactoryRegistry,aLong,this);
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDELongTypeBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDELongTypeBeanTypeProxy.java
deleted file mode 100644
index eb86b3a3a..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDELongTypeBeanTypeProxy.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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: IDELongTypeBeanTypeProxy.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:57:26 $
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * Long BeanType Proxy.
- */
-final class IDELongTypeBeanTypeProxy extends IDEPrimitiveBeanTypeProxy {
-
-protected IDELongTypeBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class aClass) {
- super(aRegistry, aClass);
-}
-INumberBeanProxy createLongBeanProxy(long aLong){
- return new IDENumberBeanProxy(fProxyFactoryRegistry,new Long(aLong),this);
-}
-int getPrimitiveType(){
- return LONG;
-}
-
-protected IIDEBeanProxy newBeanProxy(Object anObject){
- Number n = anObject instanceof Character ? new Long(((Character) anObject).charValue()) : (Number) anObject;
- return new IDENumberBeanProxy(fProxyFactoryRegistry, n, this);
-}
-}
-
-
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEMethodProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEMethodProxy.java
deleted file mode 100644
index 71482bef7..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEMethodProxy.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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: IDEMethodProxy.java,v $
- * $Revision: 1.8 $ $Date: 2005/05/18 23:11:26 $
- */
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-public class IDEMethodProxy extends IDEAccessibleObjectProxy implements IMethodProxy {
-
- protected IDEMethodProxy(IDEProxyFactoryRegistry aRegistry, Method aMethod) {
- super(aRegistry, aMethod);
- }
-
- public IBeanTypeProxy getClassType() {
- return ((IDEStandardBeanTypeProxyFactory) fProxyFactoryRegistry.getBeanTypeProxyFactory()).getBeanTypeProxy(
- ((Method) getBean()).getDeclaringClass());
- }
- public IBeanTypeProxy getReturnType() {
- return ((IDEStandardBeanTypeProxyFactory) fProxyFactoryRegistry.getBeanTypeProxyFactory()).getBeanTypeProxy(
- ((Method) getBean()).getReturnType());
- }
- public IBeanTypeProxy[] getParameterTypes() {
- Class[] parmClasses = ((Method) getBean()).getParameterTypes();
- IBeanTypeProxy[] parmTypes = new IBeanTypeProxy[parmClasses.length];
- IDEStandardBeanTypeProxyFactory factory = (IDEStandardBeanTypeProxyFactory) fProxyFactoryRegistry.getBeanTypeProxyFactory();
- for (int i = 0; i < parmClasses.length; i++) {
- parmTypes[i] = factory.getBeanTypeProxy(parmClasses[i]);
- }
- return parmTypes;
- }
- public String getName() {
- return ((Method) getBean()).getName();
- }
-
- /**
- * The type proxy is constant proxy out of the method factory.
- */
- public IBeanTypeProxy getTypeProxy() {
- return ((IDEMethodProxyFactory) fProxyFactoryRegistry.getMethodProxyFactory()).methodType;
- }
-
- /**
- * Invoke the method directly. Because we are an IDEMethodProxy we can assume that IBeanProxy
- * is an IDEBeanProxy and we can get its bean directly
- */
- public IBeanProxy invoke(IBeanProxy subject) throws ThrowableProxy {
- try {
- Object result = ((Method) getBean()).invoke(subject != null ? ((IIDEBeanProxy) subject).getBean() : null, new Object[0]);
- if (result == null) {
- return null;
- } else {
- // The result may be a java.lang.Integer when we really want to create an int
- // Reflection always give you the big object
- Class returnType = ((Method) getBean()).getReturnType();
- return getBeanProxy(returnType, result);
- }
- } catch (InvocationTargetException e) {
- // This is a wrappered exception. Return the wrappered one so it looks like
- // it was the real one.
- IBeanTypeProxy exceptionTypeProxy =
- ((IDEStandardBeanTypeProxyFactory) fProxyFactoryRegistry.getBeanTypeProxyFactory()).getBeanTypeProxy(
- e.getTargetException().getClass());
- throw new IDEThrowableProxy(e.getTargetException(), exceptionTypeProxy);
- } catch (Exception exc) {
- IBeanTypeProxy exceptionTypeProxy =
- ((IDEStandardBeanTypeProxyFactory) fProxyFactoryRegistry.getBeanTypeProxyFactory()).getBeanTypeProxy(exc.getClass());
- throw new IDEThrowableProxy(exc, exceptionTypeProxy);
- }
- }
- /**
- * Do not throw an exception
- */
- public IBeanProxy invokeCatchThrowableExceptions(IBeanProxy subject) {
- try {
- return invoke(subject);
- } catch (ThrowableProxy exc) {
- ProxyPlugin.getPlugin().getLogger().log(
- new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", exc)); //$NON-NLS-1$
- }
- return null;
- }
- /**
- * Invoke the method with argument. The argument will be an IDEBeanProxy
- * ( because we are an IDEMethodProxy ) so we can cast to it and get the actual bean
- * itself and use this to invoke against method which is the actual
- * java.lang.Reflect instance
- */
- public IBeanProxy invoke(IBeanProxy subject, IBeanProxy argument) throws ThrowableProxy {
- try {
- Object result =
- ((Method) getBean()).invoke(
- subject != null ? ((IIDEBeanProxy) subject).getBean() : null,
- new Object[] { argument != null ? ((IIDEBeanProxy) argument).getBean() : null });
- if (result == null) {
- return null;
- } else {
- Class returnType = ((Method) getBean()).getReturnType();
- return getBeanProxy(returnType, result);
- }
- } catch (InvocationTargetException e) {
- // This is a wrappered exception. Return the wrappered one so it looks like
- // it was the real one.
- IBeanTypeProxy exceptionTypeProxy =
- ((IDEStandardBeanTypeProxyFactory) fProxyFactoryRegistry.getBeanTypeProxyFactory()).getBeanTypeProxy(
- e.getTargetException().getClass());
- throw new IDEThrowableProxy(e.getTargetException(), exceptionTypeProxy);
- } catch (Exception exc) {
- IBeanTypeProxy exceptionTypeProxy =
- ((IDEStandardBeanTypeProxyFactory) fProxyFactoryRegistry.getBeanTypeProxyFactory()).getBeanTypeProxy(exc.getClass());
- throw new IDEThrowableProxy(exc, exceptionTypeProxy);
- }
- }
- /**
- * Invoke without throwing an exception
- */
- public IBeanProxy invokeCatchThrowableExceptions(IBeanProxy subject, IBeanProxy argument) {
- try {
- return invoke(subject, argument);
- } catch (ThrowableProxy exc) {
- ProxyPlugin.getPlugin().getLogger().log(
- new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", exc)); //$NON-NLS-1$
- }
- return null;
- }
- /**
- * Invoke the method with arguments. The arguments will be IDEBeanProxy objects
- * ( because we are an IDEMethodProxy ) so we can cast to them and get the actual bean
- * objects themselves and use these to invoke against method which is the actual
- * java.lang.Reflect instance
- */
- public IBeanProxy invoke(IBeanProxy subject, IBeanProxy[] arguments) throws ThrowableProxy {
- Object[] beanArguments = new Object[arguments.length];
- for (int i = 0; i < arguments.length; i++) {
- if (arguments[i] != null) {
- beanArguments[i] = ((IIDEBeanProxy) arguments[i]).getBean();
- }
- }
- try {
- Object result = ((Method) getBean()).invoke(subject != null ? ((IIDEBeanProxy) subject).getBean() : null, beanArguments);
- if (result == null) {
- return null;
- } else {
- Class returnType = ((Method) getBean()).getReturnType();
- return getBeanProxy(returnType, result);
- }
- } catch (InvocationTargetException e) {
- // This is a wrappered exception. Return the wrappered one so it looks like
- // it was the real one.
- IBeanTypeProxy exceptionTypeProxy =
- ((IDEStandardBeanTypeProxyFactory) fProxyFactoryRegistry.getBeanTypeProxyFactory()).getBeanTypeProxy(
- e.getTargetException().getClass());
- throw new IDEThrowableProxy(e.getTargetException(), exceptionTypeProxy);
- } catch (Exception exc) {
- IBeanTypeProxy exceptionTypeProxy =
- ((IDEStandardBeanTypeProxyFactory) fProxyFactoryRegistry.getBeanTypeProxyFactory()).getBeanTypeProxy(exc.getClass());
- throw new IDEThrowableProxy(exc, exceptionTypeProxy);
- }
- }
- /**
- * Invoke without throwing an exception
- */
- public IBeanProxy invokeCatchThrowableExceptions(IBeanProxy subject, IBeanProxy[] arguments) {
- try {
- return invoke(subject, arguments);
- } catch (ThrowableProxy exc) {
- ProxyPlugin.getPlugin().getLogger().log(
- new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", exc)); //$NON-NLS-1$
- }
- return null;
- }
- IBeanProxy getBeanProxy(Class returnType, Object bean) {
- return fProxyFactoryRegistry.getBeanProxy(returnType, bean);
- }
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEMethodProxyFactory.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEMethodProxyFactory.java
deleted file mode 100644
index 1164ec0e7..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEMethodProxyFactory.java
+++ /dev/null
@@ -1,337 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: IDEMethodProxyFactory.java,v $ $Revision: 1.11 $ $Date: 2005/05/18 23:11:26 $
- */
-package org.eclipse.jem.internal.proxy.ide;
-
-import java.lang.reflect.*;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.jem.internal.proxy.common.AmbiguousMethodException;
-import org.eclipse.jem.internal.proxy.common.MethodHelper;
-import org.eclipse.jem.internal.proxy.core.*;
-
-public class IDEMethodProxyFactory implements IMethodProxyFactory {
-
- final protected IDEProxyFactoryRegistry fProxyFactoryRegistry;
-
- final protected static Map primLookup = new HashMap();
-
- IDEBeanTypeProxy accessibleType, fieldType, methodType, constructorType;
- // Cached copy of a few typical method type proxies.
- static {
- primLookup.put("int", Integer.TYPE); //$NON-NLS-1$
- primLookup.put("char", Character.TYPE); //$NON-NLS-1$
- primLookup.put("long", Long.TYPE); //$NON-NLS-1$
- primLookup.put("short", Short.TYPE); //$NON-NLS-1$
- primLookup.put("double", Double.TYPE); //$NON-NLS-1$
- primLookup.put("boolean", Boolean.TYPE); //$NON-NLS-1$
- primLookup.put("byte", Byte.TYPE); //$NON-NLS-1$
- primLookup.put("float", Float.TYPE); //$NON-NLS-1$
- }
-
- IDEMethodProxyFactory(IDEProxyFactoryRegistry aRegistry) {
- fProxyFactoryRegistry = aRegistry;
- fProxyFactoryRegistry.registerMethodProxyFactory(this);
- accessibleType = new IDEBeanTypeProxy(aRegistry, AccessibleObject.class);
- fieldType = new IDEFieldTypeProxy(aRegistry);
- methodType = new IDEMethodTypeProxy(aRegistry);
- constructorType = new IDEConstructorTypeProxy(aRegistry);
- fProxyFactoryRegistry.getBeanTypeProxyFactory().registerBeanTypeProxy(accessibleType, true);
- fProxyFactoryRegistry.getBeanTypeProxyFactory().registerBeanTypeProxy(fieldType, true);
- fProxyFactoryRegistry.getBeanTypeProxyFactory().registerBeanTypeProxy(methodType, true);
- fProxyFactoryRegistry.getBeanTypeProxyFactory().registerBeanTypeProxy(constructorType, true);
- }
-
- /**
- * Return an instance of an IDEConstructorProxy This is package protected because the only people who can use this are priveledge objects that
- * have the aMethod instance. These are part of the idevm package only. If you have to make this method public you are doing things incorrectly.
- * To get a method proxy you must use the interface methods on IMethodProxyFactory to do lookup by string or else on IBeanTypeProxy that has
- * getMethod(String) as well
- */
- IConstructorProxy getConstructorProxy(Constructor aConstructor) {
-
- return (IConstructorProxy) constructorType.newBeanProxy(aConstructor);
-
- }
-
- IConstructorProxy[] getConstructors(Class aClass) {
- Constructor[] ctors = aClass.getConstructors();
- IConstructorProxy[] ctorProxies = new IConstructorProxy[ctors.length];
- for (int i = 0; i < ctors.length; i++) {
- ctorProxies[i] = getConstructorProxy(ctors[i]);
- }
- return ctorProxies;
- }
-
- IConstructorProxy[] getDeclaredConstructors(Class aClass) {
- Constructor[] ctors = aClass.getDeclaredConstructors();
- IConstructorProxy[] ctorProxies = new IConstructorProxy[ctors.length];
- for (int i = 0; i < ctors.length; i++) {
- ctorProxies[i] = getConstructorProxy(ctors[i]);
- }
- return ctorProxies;
- }
-
- IConstructorProxy getConstructorProxy(Class aClass, Class[] args) {
-
- try {
- Constructor ctor = aClass.getConstructor(args);
- return getConstructorProxy(ctor);
- } catch (NoSuchMethodException exc) {
- return null;
- }
- }
-
- IConstructorProxy getDeclaredConstructorProxy(Class aClass, Class[] args) {
-
- try {
- Constructor ctor = aClass.getDeclaredConstructor(args);
- return getConstructorProxy(ctor);
- } catch (NoSuchMethodException exc) {
- return null;
- }
- }
-
- IFieldProxy[] getFields(Class aClass) {
- Field[] fields = aClass.getFields();
- IFieldProxy[] fieldProxies = new IFieldProxy[fields.length];
- for (int i = 0; i < fields.length; i++) {
- fieldProxies[i] = getFieldProxy(fields[i]);
- }
- return fieldProxies;
- }
-
- IFieldProxy[] getDeclaredFields(Class aClass) {
- Field[] fields = aClass.getDeclaredFields();
- IFieldProxy[] fieldProxies = new IFieldProxy[fields.length];
- for (int i = 0; i < fields.length; i++) {
- fieldProxies[i] = getFieldProxy(fields[i]);
- }
- return fieldProxies;
- }
-
- /**
- * Return an instance of an IDEFieldProxy This is package protected because the only people who can use this are priveledge objects that have the
- * aField instance. These are part of the idevm package only. If you have to make this method public you are doing things incorrectly. To get a
- * field proxy you must use the interface methods on IBeanTypeProxy that has getField(String) as well
- */
- IFieldProxy getFieldProxy(Field aField) {
-
- return (IFieldProxy) fieldType.newBeanProxy(aField);
-
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IMethodProxyFactory#getFieldProxy(org.eclipse.jem.internal.proxy.core.IExpression, java.lang.String, java.lang.String)
- */
- public IProxyField getFieldProxy(IExpression expression, String className, String fieldName) {
- // We are getting the class resolved through the expression. Might as well because it probably will
- // be needed again and this way when the expression is finished they will be resolved for later usage.
- IStandardBeanTypeProxyFactory beanTypeProxyFactory = fProxyFactoryRegistry.getBeanTypeProxyFactory();
- IProxyBeanType beanType = beanTypeProxyFactory.getBeanTypeProxy(expression, className);
- return beanType.getFieldProxy(expression, fieldName);
- }
-
- /**
- * Return an instance of an IDEMethodProxy This is package protected because the only people who can use this are priveledge objects that have the
- * aMethod instance. These are part of the idevm package only. If you have to make this method public you are doing things incorrectly. To get a
- * method proxy you must use the interface methods on IMethodProxyFactory to do lookup by string or else on IBeanTypeProxy that has
- * getMethod(String) as well
- */
- IDEMethodProxy getMethodProxy(Method aMethod) {
-
- return (IDEMethodProxy) methodType.newBeanProxy(aMethod);
-
- }
-
- public IMethodProxy getMethodProxy(String className, String methodName, String[] parameterTypes) {
- try {
- Class aClass = fProxyFactoryRegistry.loadClass(className);
- return getMethodProxy(aClass, methodName, parameterTypes);
- } catch (ClassNotFoundException 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.IMethodProxyFactory#getMethodProxy(org.eclipse.jem.internal.proxy.core.IExpression, java.lang.String, java.lang.String, java.lang.String[])
- */
- public IProxyMethod getMethodProxy(IExpression expression, String className, String methodName, String[] parameterTypes) {
- // We are getting the class and parmtypes resolved through the expression. Might as well because they probably will
- // be needed again and this way when the expression is finished they will be resolved for later usage.
- IStandardBeanTypeProxyFactory beanTypeProxyFactory = fProxyFactoryRegistry.getBeanTypeProxyFactory();
- IProxyBeanType beanType = beanTypeProxyFactory.getBeanTypeProxy(expression, className);
- IProxyBeanType[] parmTypes = getParameterTypes(expression, parameterTypes, beanTypeProxyFactory);
- return beanType.getMethodProxy(expression, methodName, parmTypes);
- }
-
- /**
- * Helper method for Beantypes and Proxy bean types to get the proxy.
- * @param expression
- * @param classType
- * @param methodName
- * @param parameterTypes
- * @return
- *
- * @since 1.1.0
- */
- public IProxyMethod getMethodProxy(IExpression expression, IProxyBeanType classType, String methodName, String[] parameterTypes) {
- // We are getting the parmtypes resolved through the expression. Might as well because they probably will
- // be needed again and this way when the expression is finished they will be resolved for later usage.
- IStandardBeanTypeProxyFactory beanTypeProxyFactory = fProxyFactoryRegistry.getBeanTypeProxyFactory();
- IProxyBeanType[] parmTypes = getParameterTypes(expression, parameterTypes, beanTypeProxyFactory);
- return classType.getMethodProxy(expression, methodName, parmTypes);
- }
-
- /**
- * @param expression
- * @param parameterTypes
- * @param beanTypeProxyFactory
- * @return
- *
- * @since 1.1.0
- */
- protected IProxyBeanType[] getParameterTypes(IExpression expression, String[] parameterTypes, IStandardBeanTypeProxyFactory beanTypeProxyFactory) {
- IProxyBeanType[] parmTypes;
- if (parameterTypes == null || parameterTypes.length == 0)
- parmTypes = null;
- else {
- parmTypes = new IProxyBeanType[parameterTypes.length];
- for (int i = 0; i < parameterTypes.length; i++) {
- parmTypes[i] = beanTypeProxyFactory.getBeanTypeProxy(expression, parameterTypes[i]);
- }
- }
- return parmTypes;
- }
-
- public IMethodProxy getMethodProxy(Class cls, String methodName, String[] parameterTypes) {
- try {
- Class[] parmClasses = null;
- if (parameterTypes != null) {
- parmClasses = new Class[parameterTypes.length];
- for (int i = 0; i < parmClasses.length; i++) {
- Class temp = (Class) primLookup.get(parameterTypes[i]);
- if (temp == null)
- temp = fProxyFactoryRegistry.loadClass(parameterTypes[i]);
- parmClasses[i] = temp;
- }
- }
- return getMethodProxy(cls.getMethod(methodName, parmClasses));
- } catch (ClassNotFoundException e) {
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", e)); //$NON-NLS-1$
- } catch (NoSuchMethodException e) {
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", e)); //$NON-NLS-1$
- }
- return null;
- }
-
- IMethodProxy getDeclaredMethodProxy(Class cls, String methodName, String[] parameterTypes) {
- try {
- Class[] parmClasses = null;
- if (parameterTypes != null) {
- parmClasses = new Class[parameterTypes.length];
- for (int i = 0; i < parmClasses.length; i++) {
- Class temp = (Class) primLookup.get(parameterTypes[i]);
- if (temp == null)
- temp = fProxyFactoryRegistry.loadClass(parameterTypes[i]);
- parmClasses[i] = temp;
- }
- }
- return getMethodProxy(cls.getDeclaredMethod(methodName, parmClasses));
- } catch (ClassNotFoundException e) {
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", e)); //$NON-NLS-1$
- } catch (NoSuchMethodException e) {
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", e)); //$NON-NLS-1$
- }
- return null;
- }
-
- IDEMethodProxy getMethodProxy(Class aClass, String methodName, Class[] args) {
- try {
- Method method = aClass.getMethod(methodName, args);
- return getMethodProxy(method);
- } catch (NoSuchMethodException exc) {
- ProxyPlugin.getPlugin().getLogger().log(
- new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "Unable to find method " + aClass.getName() //$NON-NLS-1$
- + ":" + methodName + " args=" + args, exc)); //$NON-NLS-1$ //$NON-NLS-2$
- return null;
- }
- }
-
- IMethodProxy getDeclaredMethodProxy(Class aClass, String methodName, Class[] args) {
- try {
- Method method = aClass.getDeclaredMethod(methodName, args);
- return getMethodProxy(method);
- } catch (NoSuchMethodException exc) {
- ProxyPlugin.getPlugin().getLogger().log(
- new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "Unable to find method " + aClass.getName() //$NON-NLS-1$
- + ":" + methodName + " args=" + args, exc)); //$NON-NLS-1$ //$NON-NLS-2$
- return null;
- }
- }
-
- IMethodProxy getMethodProxy(IDEBeanTypeProxy aTypeProxy, String methodName, String[] parameterTypes) {
- return getMethodProxy(aTypeProxy.fClass, methodName, parameterTypes);
- }
-
- IMethodProxy[] getMethods(Class aClass) {
- Method[] methods = aClass.getMethods();
- IMethodProxy[] methodProxies = new IMethodProxy[methods.length];
- for (int i = 0; i < methods.length; i++) {
- methodProxies[i] = getMethodProxy(methods[i]);
- }
- return methodProxies;
- }
-
- IMethodProxy getCompatibleMethod(Class aClass, String methodName, Class[] parmTypes) throws NoSuchMethodException, AmbiguousMethodException {
- Method method = MethodHelper.findCompatibleMethod(aClass, methodName, parmTypes);
- return getMethodProxy(method);
- }
-
- IConstructorProxy getCompatibleConstructor(Class aClass, Class[] parmTypes) throws AmbiguousMethodException, NoSuchMethodException {
- Constructor method = MethodHelper.findCompatibleConstructor(aClass, parmTypes);
- return getConstructorProxy(method);
- }
-
-
- IMethodProxy[] getDeclaredMethods(Class aClass) {
- Method[] methods = aClass.getDeclaredMethods();
- IMethodProxy[] methodProxies = new IMethodProxy[methods.length];
- for (int i = 0; i < methods.length; i++) {
- methodProxies[i] = getMethodProxy(methods[i]);
- }
- return methodProxies;
- }
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IMethodProxyFactory#getInvokable(java.lang.String, java.lang.String, java.lang.String[])
- */
- public IInvokable getInvokable(String className, String methodName, String[] parameterTypes) {
- return getMethodProxy(className, methodName, parameterTypes);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanProxyFactory#terminateFactory(boolean)
- */
- public void terminateFactory(boolean wait) {
- }
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEMethodTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEMethodTypeProxy.java
deleted file mode 100644
index bf651ed7d..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEMethodTypeProxy.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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: IDEMethodTypeProxy.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:57:26 $
- */
-
-
-/**
- * @version 1.0
- * @author
- */
-public class IDEMethodTypeProxy extends IDEBeanTypeProxy {
-
- IDEMethodTypeProxy(IDEProxyFactoryRegistry registry) {
- super(registry, java.lang.reflect.Method.class);
- }
-
- /*
- * @see IDEBeanTypeProxy#newBeanProxy(Object)
- */
- protected IIDEBeanProxy newBeanProxy(Object anObject) {
- return new IDEMethodProxy(fProxyFactoryRegistry, (java.lang.reflect.Method) anObject);
- }
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDENumberBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDENumberBeanProxy.java
deleted file mode 100644
index 124892532..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDENumberBeanProxy.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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: IDENumberBeanProxy.java,v $
- * $Revision: 1.5 $ $Date: 2005/05/11 22:41:24 $
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * IDE Implementation of INumberBeanProxy for any Number (i.e. the non-primitives)
- * It can answer all of the primitive number types (int, long, short, byte, double, float).
- * Creation date: (2/6/00 9:02:54 AM)
- * @author: Joe Winchester
- */
-public class IDENumberBeanProxy extends IDEBeanProxy implements INumberBeanProxy {
- private final Number fNumberValue;
- protected IBeanTypeProxy fBeanTypeProxy;
-
-/**
- * It is package protected because they are created
- * in a special way and no one else should create them.
- * @param aBean java.lang.Object
- */
-IDENumberBeanProxy(IDEProxyFactoryRegistry aRegistry, Number aNumber , IBeanTypeProxy aBeanTypeProxy) {
- super(aRegistry,aNumber);
- fNumberValue = aNumber;
- fBeanTypeProxy = aBeanTypeProxy;
-}
-/**
- * equals: Equal if:
- * 1) This proxy == (identity) to the other object
- * 2) Else if other is an IBeanProxy and not a constant one, then if
- * equals on the server.
- * 3) If this is a constant proxy and the other is too or is a constant
- * value (e.g. IStringBeanProxy.equals(String), then true if values are equals.
- */
-public boolean equals(Object anObject) {
- if (this == anObject)
- return true; // Identity
- if (anObject instanceof IDENumberBeanProxy)
- return fNumberValue.equals(((IDENumberBeanProxy) anObject).numberValue());
- if (anObject instanceof Number)
- return fNumberValue.equals(anObject);
- return false;
-}
-/**
- * byteValue method comment.
- */
-public byte byteValue() {
- return fNumberValue.byteValue();
-}
-/**
- * doubleValue method comment.
- */
-public double doubleValue() {
- return fNumberValue.doubleValue();
-}
-/**
- * floatValue method comment.
- */
-public float floatValue() {
- return fNumberValue.floatValue();
-}
-/**
- * Return the int value
- */
-public int intValue() {
- return fNumberValue.intValue();
-}
-/**
- * longValue method comment.
- */
-public long longValue() {
- return fNumberValue.longValue();
-}
-/**
- * numberValue method comment.
- */
-public Number numberValue() {
- return fNumberValue;
-}
-/**
- * shortValue method comment.
- */
-public short shortValue() {
- return fNumberValue.shortValue();
-}
-
-/**
- * The bean's toString.
- */
-public String toBeanString() {
- return fNumberValue.toString();
-}
-public IBeanTypeProxy getTypeProxy(){
- return fBeanTypeProxy;
-}
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDENumberBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDENumberBeanTypeProxy.java
deleted file mode 100644
index 0bb36f61a..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDENumberBeanTypeProxy.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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: IDENumberBeanTypeProxy.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:57:26 $
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * Number BeanType Proxy.
- */
-public abstract class IDENumberBeanTypeProxy extends IDEBeanTypeProxy {
- protected final IDENumberBeanProxy zeroProxy;
-/**
- * IDENumberBeanTypeProxy constructor comment.
- * @param aRegistry com.ibm.etools.vce.proxy.ProxyFactoryRegistry
- * @param aClass java.lang.Class
- */
-protected IDENumberBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class aClass, Number zeroNumber) {
- super(aRegistry, aClass);
- // Cache a zero proxy of this type (though the number will be Long).
- zeroProxy = new IDENumberBeanProxy(aRegistry, zeroNumber , this);
-}
-/**
- * Helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- */
-INumberBeanProxy createNumberBeanProxy(Number aNumber) {
- if (aNumber == null || zeroProxy.fBean.equals(aNumber))
- return zeroProxy;
- return new IDENumberBeanProxy(fProxyFactoryRegistry, aNumber, this);
-}
-/**
- * Specialized from IDEBeanTypeProxy to ensure INumberBeanProxies are created correctly.
- */
-protected IIDEBeanProxy newBeanProxy(Object anObject){
-
- return (IIDEBeanProxy)createNumberBeanProxy((Number) anObject);
-
-}
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEObjectBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEObjectBeanProxy.java
deleted file mode 100644
index 6f578e1e4..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEObjectBeanProxy.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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: IDEObjectBeanProxy.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:57:26 $
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-public class IDEObjectBeanProxy extends IDEBeanProxy {
-
- protected IBeanTypeProxy fBeanTypeProxy; // Cache the type proxy for speed
-
-protected IDEObjectBeanProxy(IDEProxyFactoryRegistry aRegistry){
- super(aRegistry);
-}
-/**
- * Constructor that lets the bean type be set on creation.
- * This saves the overhead of it being looked up the first time it is asked for.
- *
- * This is protected because the only person
- * who should use it is the IDEBeanTypeProxy or a subclass. Making it package protected stops people from
- * writing bogus code and doing casts and slamming new beans in without going through the proper API
- * that is based around any kind of VM artifact being proxied to support target VMs and pluggable JDK
- * levels
- */
-protected IDEObjectBeanProxy(IDEProxyFactoryRegistry aRegistry, Object aBean, IBeanTypeProxy aBeanTypeProxy){
-
- this(aRegistry, aBean);
- fBeanTypeProxy = aBeanTypeProxy;
-
-}
-/**
- * Set the bean we are proxying. We are a proxy for a bean running on the same IDE
- * so we hold the bean directly and can return it.
- */
-protected IDEObjectBeanProxy(IDEProxyFactoryRegistry aRegistry, Object aBean){
- this(aRegistry);
-
- fBean = aBean;
-
-}
-/**
- * The type proxy is got from our class name
- * If we have the type return it, otherwise go the factory for it
- * Don't new it up because the factory must be responsible for creating type proxies as it
- * has to perform instance management on them
- */
-public IBeanTypeProxy getTypeProxy() {
-
- if ( fBeanTypeProxy == null ) {
- fBeanTypeProxy = fProxyFactoryRegistry.getBeanTypeProxyFactory().getBeanTypeProxy( fBean.getClass().getName() );
- }
- return fBeanTypeProxy;
-}
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEPrimitiveBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEPrimitiveBeanTypeProxy.java
deleted file mode 100644
index 566ccc5d2..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEPrimitiveBeanTypeProxy.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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: IDEPrimitiveBeanTypeProxy.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:57:26 $
- */
-
-
-public abstract class IDEPrimitiveBeanTypeProxy extends IDEBeanTypeProxy {
-
- static final int BOOLEAN = 1;
- static final int BYTE = 2;
- static final int CHAR = 3;
- static final int DOUBLE = 4;
- static final int FLOAT = 5;
- static final int INTEGER = 6;
- static final int LONG = 7;
- static final int SHORT = 8;
-
-public IDEPrimitiveBeanTypeProxy(IDEProxyFactoryRegistry aRegistry,Class aClass){
- super(aRegistry,aClass);
-}
-public boolean isPrimitive() {
- return true;
-}
-abstract int getPrimitiveType();
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEProxyFactoryRegistry.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEProxyFactoryRegistry.java
deleted file mode 100644
index e16751159..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEProxyFactoryRegistry.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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: IDEProxyFactoryRegistry.java,v $
- * $Revision: 1.11 $ $Date: 2005/07/08 17:51:47 $
- */
-
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.util.*;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.Platform;
-import org.osgi.framework.Bundle;
-
-import org.eclipse.jem.internal.proxy.common.IVMServer;
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * This implementation runs the Beans inside the Eclipse IDE
- * It should only be used by plugins that can guarantee their their beans do
- * not change during the lifetime of the IDE and can run at the same JDK level
- * that the Eclipse IDE is running
- */
-
-public class IDEProxyFactoryRegistry extends BaseProxyFactoryRegistry implements IVMServer {
-
- public static final String IDE_REGISTRY_TYPE_ID = "org.eclipse.jem.IDE"; //$NON-NLS-1$
- protected String fName;
- protected ClassLoader fClassLoader;
- protected IDECallbackRegistry fCallbackRegistry;
-
- /*
- * Special classloader that firsts tries to load from bundle then tries from url paths so
- * that bundle is treated as being at the head of the url paths.
- *
- * @since 1.0.0
- */
- private static class IDESpecialClassLoader extends URLClassLoader {
-
- private Bundle bundle;
- // This is the bundle that contains the IDE Eclipse code.
- // This must be checked first because there are IDE specific stuff that is used on the "remote vm" too and
- // so must be common.
- private Bundle ideBundle;
-
- public IDESpecialClassLoader(URL[] urls, Bundle bundle) {
- super(urls, null);
- ideBundle = ProxyPlugin.getPlugin().getBundle();
- this.bundle = bundle;
- }
-
- public IDESpecialClassLoader(URL[] urls) {
- this(urls, null);
- }
-
- /* (non-Javadoc)
- * @see java.lang.ClassLoader#findClass(java.lang.String)
- */
- protected Class findClass(String name) throws ClassNotFoundException {
- try {
- return ideBundle.loadClass(name);
- } catch (ClassNotFoundException e) {
- if (bundle != null) {
- try {
- return bundle.loadClass(name);
- } catch (ClassNotFoundException e1) {
- }
- }
- return super.findClass(name);
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.lang.ClassLoader#findResource(java.lang.String)
- */
- public URL findResource(String name) {
- URL r = ideBundle.getResource(name);
- if (r == null && bundle != null)
- r = bundle.getResource(name);
- return r != null ? r : super.findResource(name);
- }
-}
-
-/**
- * Create a special loader that has the plugin classloader of the passed in plugin
- * as the parent loader, plus all of the urls, plus the remotevm.jar file that is
- * needed by IDE Proxy to work.
- */
-public static ClassLoader createSpecialLoader(String pluginName, URL[] otherURLs) {
- Bundle bundle = pluginName != null ? Platform.getBundle(pluginName) : null;
-
- URL[] mustHaveUrls = ProxyPlugin.getPlugin().urlLocalizeAllFromBundleAndFragments(ProxyPlugin.getPlugin().getBundle(), "vm/remotevm.jar"); //$NON-NLS-1$
-
- URL[] urls = null;
- if (otherURLs != null) {
- urls = new URL[otherURLs.length+mustHaveUrls.length];
- System.arraycopy(mustHaveUrls, 0, urls, 0, mustHaveUrls.length);
- System.arraycopy(otherURLs, 0, urls, mustHaveUrls.length, otherURLs.length);
- } else
- urls = mustHaveUrls;
-
- return bundle != null ? new IDESpecialClassLoader(urls, bundle) : new IDESpecialClassLoader(urls);
-}
-
-public IDEProxyFactoryRegistry(String aName, ClassLoader loader) {
- super(IDE_REGISTRY_TYPE_ID);
- fName = aName;
- fClassLoader = loader;
-}
-
-ClassLoader getPluginClassLoader(){
- return fClassLoader;
-}
-
-protected void registryTerminated(boolean wait){
- List runnables = null;
- synchronized (this) {
- runnables = shutdownRunnables;
- shutdownRunnables = null;
- }
- if (runnables != null) {
- for (Iterator itr = runnables.iterator(); itr.hasNext();) {
- try {
- ((Runnable) itr.next()).run();
- } catch (RuntimeException e) {
- e.printStackTrace();
- }
- }
- }
-}
-
-Class loadClass(String aClassName) throws ClassNotFoundException, ExceptionInInitializerError, LinkageError {
- return fClassLoader.loadClass(aClassName);
-}
-
-public ICallbackRegistry getCallbackRegistry(){
- if ( fCallbackRegistry == null ){
- fCallbackRegistry = new IDECallbackRegistry(this);
- }
- return fCallbackRegistry;
-}
-
-
-/**
- * Get a bean proxy from the bean of the correct type.
- *
- * @param returnType
- * @param bean
- * @return
- *
- * @since 1.0.0
- */
-IBeanProxy getBeanProxy(Class returnType, Object bean) {
- IDEStandardBeanTypeProxyFactory proxyFactory = (IDEStandardBeanTypeProxyFactory) this.getBeanTypeProxyFactory();
- if (!returnType.isPrimitive()) {
- return IDEStandardBeanProxyFactory.createBeanProxy(this, bean);
- } else if (returnType == Integer.TYPE) {
- return proxyFactory.intType.newBeanProxy(bean);
- } else if (returnType == Boolean.TYPE) {
- return proxyFactory.booleanType.newBeanProxy(bean);
- } else if (returnType == Float.TYPE) {
- return proxyFactory.floatType.newBeanProxy(bean);
- } else if (returnType == Long.TYPE) {
- return proxyFactory.longType.newBeanProxy(bean);
- } else if (returnType == Short.TYPE) {
- return proxyFactory.shortType.newBeanProxy(bean);
- } else if (returnType == Double.TYPE) {
- return proxyFactory.doubleType.newBeanProxy(bean);
- } else if (returnType == Byte.TYPE) {
- return proxyFactory.byteType.newBeanProxy(bean);
- } else if (returnType == Character.TYPE) {
- return proxyFactory.charType.newBeanProxy(bean);
- } else {
- throw new RuntimeException("Unknown primitive type " + returnType.getName()); //$NON-NLS-1$
- }
-}
-
-List shutdownRunnables;
-
-public synchronized void addShutdownListener(Runnable runnable) {
- if (shutdownRunnables == null) {
- shutdownRunnables = new ArrayList();
- } else if (shutdownRunnables.contains(runnable))
- return;
- shutdownRunnables.add(runnable);
-}
-
-public synchronized void removeShutdownListener(Runnable runnable) {
- if (shutdownRunnables != null)
- shutdownRunnables.remove(runnable);
-}
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDERegistration.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDERegistration.java
deleted file mode 100644
index 79eb17e36..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDERegistration.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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: IDERegistration.java,v $
- * $Revision: 1.10 $ $Date: 2005/06/15 20:19:11 $
- */
-
-import java.net.URL;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.launching.JavaRuntime;
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.ide.awt.IDERegisterAWT;
-import org.eclipse.jem.internal.proxy.remote.LocalFileConfigurationContributorController;
-/**
- * This is the registration class for starting an IDERemote VM.
- */
-
-public class IDERegistration {
-
- public static ProxyFactoryRegistry startAnImplementation(
- IConfigurationContributor[] contributors,
- boolean attachAWT,
- IProject project,
- String vmName,
- String pluginName,
- IProgressMonitor pm) throws CoreException {
- IDERegistration idereg = new IDERegistration(pluginName);
- return idereg.startImplementation(contributors, attachAWT, project, vmName, pm);
- }
-
- public IDERegistration() {
- }
-
- private IDERegistration(String pluginName) {
- this.pluginName = pluginName;
- }
- private String pluginName;
-
- /**
- * This will create a remote VM and return an initialized REMProxyFactoryRegistry.
- * Passed in are:
- * project: The project this is being started on. Must not be null and must be a JavaProject. (Currently ignored for IDE).
- * attachAWT: Should AWT be attached to this implementation.
- * contributors: Contributors to the configuration. Can be null.
- * pm: ProgressMonitor to use. Must not be null.
- * vmName: Name for the vm. Can be null.
- */
- public ProxyFactoryRegistry startImplementation(
- IConfigurationContributor[] contributors,
- boolean attachAWT,
- IProject project,
- String vmName,
- IProgressMonitor pm)
- throws CoreException {
-
- URL[] classPaths = null;
- IJavaProject javaProject = null;
- if (project != null) {
- javaProject = JavaCore.create(project);
- // Add in the paths for the project
- classPaths = ProxyLaunchSupport.convertStringPathsToURL(JavaRuntime.computeDefaultRuntimeClassPath(javaProject));
- } else
- classPaths = new URL[0];
-
- final IJavaProject jp = javaProject;
-
- final ProxyLaunchSupport.LaunchInfo launchInfo = new ProxyLaunchSupport.LaunchInfo();
- contributors = ProxyLaunchSupport.fillInLaunchInfo(contributors == null ? ProxyLaunchSupport.EMPTY_CONFIG_CONTRIBUTORS : contributors, launchInfo, jp != null ? jp.getElementName() : null);
- final LocalFileConfigurationContributorController controller = new LocalFileConfigurationContributorController(classPaths, new URL[3][], launchInfo);
- final IConfigurationContributor[] contribs = contributors;
- for (int i = 0; i < contributors.length; i++) {
- final int ii = i;
- // Run in safe mode so that anything happens we don't go away.
- Platform.run(new ISafeRunnable() {
- public void handleException(Throwable exception) {
- // Don't need to do anything. Platform.run logs it for me.
- }
-
- public void run() throws Exception {
- contribs[ii].initialize(launchInfo.getConfigInfo());
- }
- });
- }
- for (int i = 0; i < contributors.length; i++) {
- final int ii = i;
- // Run in safe mode so that anything happens we don't go away.
- Platform.run(new ISafeRunnable() {
- public void handleException(Throwable exception) {
- // Don't need to do anything. Platform.run logs it for me.
- }
-
- public void run() throws Exception {
- contribs[ii].contributeClasspaths(controller);
- }
- });
- }
- classPaths = controller.getFinalClasspath();
-
- final BaseProxyFactoryRegistry registry = (BaseProxyFactoryRegistry) createIDEProxyFactoryRegistry(vmName, pluginName, classPaths);
- ProxyLaunchSupport.performExtensionRegistrations(registry, launchInfo);
- for (int i = 0; i < contribs.length; i++) {
- final int ii = i;
- // Run in safe mode so that anything happens we don't go away.
- Platform.run(new ISafeRunnable() {
- public void handleException(Throwable exception) {
- // Don't need to do anything. Platform.run logs it for me.
- }
-
- public void run() throws Exception {
- contribs[ii].contributeToRegistry(registry);
- }
- });
- }
-
- return registry;
- }
-
- public static ProxyFactoryRegistry createIDEProxyFactoryRegistry(String aName, String aPluginName, URL[] otherURLs) {
- // Create the registry.
- IDEProxyFactoryRegistry registry =
- new IDEProxyFactoryRegistry(aName, IDEProxyFactoryRegistry.createSpecialLoader(aPluginName, otherURLs));
- initRegistry(registry);
- return registry;
- }
-
- public static ProxyFactoryRegistry createIDEProxyFactoryRegistry(String aName, ClassLoader loader) {
- // Create the registry.
- IDEProxyFactoryRegistry registry = new IDEProxyFactoryRegistry(aName, loader);
- initRegistry(registry);
- return registry;
- }
-
- private static void initRegistry(IDEProxyFactoryRegistry registry) {
- new IDEStandardBeanTypeProxyFactory(registry);
- new IDEStandardBeanProxyFactory(registry);
- new IDEMethodProxyFactory(registry);
- // Always support AWT for now
- IDERegisterAWT.registerAWT(registry);
- }
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEShortClassBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEShortClassBeanTypeProxy.java
deleted file mode 100644
index e483d1c85..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEShortClassBeanTypeProxy.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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: IDEShortClassBeanTypeProxy.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:57:26 $
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * Short BeanType Proxy.
- */
-final class IDEShortClassBeanTypeProxy extends IDENumberBeanTypeProxy {
-protected IDEShortClassBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class aClass) {
- super(aRegistry, aClass, new Short((short)0));
-}
-INumberBeanProxy createShortBeanProxy(Short aShort){
- return new IDENumberBeanProxy(fProxyFactoryRegistry,aShort,this);
-}
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEShortTypeBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEShortTypeBeanTypeProxy.java
deleted file mode 100644
index 9d33a8e09..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEShortTypeBeanTypeProxy.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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: IDEShortTypeBeanTypeProxy.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:57:26 $
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-/**
- * Short BeanType Proxy.
- */
-final class IDEShortTypeBeanTypeProxy extends IDEPrimitiveBeanTypeProxy {
-protected IDEShortTypeBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class aClass) {
- super(aRegistry, aClass);
-}
-INumberBeanProxy createShortBeanProxy(short aShort){
- return new IDENumberBeanProxy(fProxyFactoryRegistry,new Short(aShort),this);
-}
-int getPrimitiveType(){
- return SHORT;
-}
-protected IIDEBeanProxy newBeanProxy(Object anObject){
- Number n = anObject instanceof Character ? new Short((short) ((Character) anObject).charValue()) : (Number) anObject;
- return new IDENumberBeanProxy(fProxyFactoryRegistry, n, this);
-}
-}
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 0763b779a..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, 2004 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.10 $ $Date: 2005/07/08 17:51:47 $
- */
-
-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;
- }
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEStandardBeanTypeProxyFactory.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEStandardBeanTypeProxyFactory.java
deleted file mode 100644
index ad885debf..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEStandardBeanTypeProxyFactory.java
+++ /dev/null
@@ -1,461 +0,0 @@
-/*****************************************************************************************************************************************************
- * Copyright (c) 2001, 2004 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: IDEStandardBeanTypeProxyFactory.java,v $ $Revision: 1.10 $ $Date: 2005/05/18 23:11:26 $
- */
-
-import java.lang.reflect.Array;
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.text.MessageFormat;
-import java.util.*;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.jem.internal.proxy.common.MapTypes;
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.core.ExpressionProxy.ProxyEvent;
-
-public class IDEStandardBeanTypeProxyFactory implements IStandardBeanTypeProxyFactory {
-
- protected final IDEProxyFactoryRegistry fFactoryRegistry;
-
- // Hashtable to cache proxies for classes so they are found on second and subsequent lookups
- protected Map beanProxies;
-
- public static Map MAP_SHORTSIG_TO_TYPE = new HashMap(8);
-
- public static Map MAP_TYPENAME_TO_SHORTSIG = new HashMap(8);
-
- static {
- MAP_SHORTSIG_TO_TYPE.put("B", Byte.TYPE); //$NON-NLS-1$
- MAP_SHORTSIG_TO_TYPE.put("C", Character.TYPE); //$NON-NLS-1$
- MAP_SHORTSIG_TO_TYPE.put("D", Double.TYPE); //$NON-NLS-1$
- MAP_SHORTSIG_TO_TYPE.put("F", Float.TYPE); //$NON-NLS-1$
- MAP_SHORTSIG_TO_TYPE.put("I", Integer.TYPE); //$NON-NLS-1$
- MAP_SHORTSIG_TO_TYPE.put("J", Long.TYPE); //$NON-NLS-1$
- MAP_SHORTSIG_TO_TYPE.put("S", Short.TYPE); //$NON-NLS-1$
- MAP_SHORTSIG_TO_TYPE.put("Z", Boolean.TYPE); //$NON-NLS-1$
-
- MAP_TYPENAME_TO_SHORTSIG.put("byte", "B"); //$NON-NLS-1$ //$NON-NLS-2$
- MAP_TYPENAME_TO_SHORTSIG.put("char", "C"); //$NON-NLS-1$ //$NON-NLS-2$
- MAP_TYPENAME_TO_SHORTSIG.put("double", "D"); //$NON-NLS-1$ //$NON-NLS-2$
- MAP_TYPENAME_TO_SHORTSIG.put("float", "F"); //$NON-NLS-1$ //$NON-NLS-2$
- MAP_TYPENAME_TO_SHORTSIG.put("int", "I"); //$NON-NLS-1$ //$NON-NLS-2$
- MAP_TYPENAME_TO_SHORTSIG.put("long", "J"); //$NON-NLS-1$ //$NON-NLS-2$
- MAP_TYPENAME_TO_SHORTSIG.put("short", "S"); //$NON-NLS-1$ //$NON-NLS-2$
- MAP_TYPENAME_TO_SHORTSIG.put("boolean", "Z"); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- // Cached copy of a few typical bean type proxies.
- IDEBeanTypeProxy objectClass;
-
- IDEBooleanTypeBeanTypeProxy booleanType;
-
- IDEBooleanClassBeanTypeProxy booleanClass;
-
- IDEIntegerTypeBeanTypeProxy intType;
-
- IDEIntegerClassBeanTypeProxy integerClass;
-
- IDEFloatTypeBeanTypeProxy floatType;
-
- IDEFloatClassBeanTypeProxy floatClass;
-
- IDELongTypeBeanTypeProxy longType;
-
- IDELongClassBeanTypeProxy longClass;
-
- IDEShortTypeBeanTypeProxy shortType;
-
- IDEShortClassBeanTypeProxy shortClass;
-
- IDEByteTypeBeanTypeProxy byteType;
-
- IDEByteClassBeanTypeProxy byteClass;
-
- IDECharTypeBeanTypeProxy charType;
-
- IDECharacterClassBeanTypeProxy charClass;
-
- IDEDoubleTypeBeanTypeProxy doubleType;
-
- IDEDoubleClassBeanTypeProxy doubleClass;
-
- IDEStringBeanTypeProxy stringClass;
-
- IDEClassBeanTypeProxy classClass;
-
- IDEBeanTypeProxy voidType;
-
- public IDEStandardBeanTypeProxyFactory(IDEProxyFactoryRegistry aRegistry) {
- fFactoryRegistry = aRegistry;
- aRegistry.registerBeanTypeProxyFactory(this);
-
- // Now initialize the cache.
- objectClass = new IDEBeanTypeProxy(fFactoryRegistry, Object.class);
- booleanType = new IDEBooleanTypeBeanTypeProxy(fFactoryRegistry, Boolean.TYPE);
- booleanClass = new IDEBooleanClassBeanTypeProxy(fFactoryRegistry, Boolean.class);
- intType = new IDEIntegerTypeBeanTypeProxy(fFactoryRegistry, Integer.TYPE);
- integerClass = new IDEIntegerClassBeanTypeProxy(fFactoryRegistry, Integer.class);
- floatType = new IDEFloatTypeBeanTypeProxy(fFactoryRegistry, Float.TYPE);
- floatClass = new IDEFloatClassBeanTypeProxy(fFactoryRegistry, Float.class);
- longType = new IDELongTypeBeanTypeProxy(fFactoryRegistry, Long.TYPE);
- longClass = new IDELongClassBeanTypeProxy(fFactoryRegistry, Long.class);
- shortType = new IDEShortTypeBeanTypeProxy(fFactoryRegistry, Short.TYPE);
- shortClass = new IDEShortClassBeanTypeProxy(fFactoryRegistry, Short.class);
- byteType = new IDEByteTypeBeanTypeProxy(fFactoryRegistry, Byte.TYPE);
- byteClass = new IDEByteClassBeanTypeProxy(fFactoryRegistry, Byte.class);
- charType = new IDECharTypeBeanTypeProxy(fFactoryRegistry, Character.TYPE);
- charClass = new IDECharacterClassBeanTypeProxy(fFactoryRegistry, Character.class);
- doubleType = new IDEDoubleTypeBeanTypeProxy(fFactoryRegistry, Double.TYPE);
- doubleClass = new IDEDoubleClassBeanTypeProxy(fFactoryRegistry, Double.class);
- stringClass = new IDEStringBeanTypeProxy(fFactoryRegistry, String.class);
- classClass = new IDEClassBeanTypeProxy(fFactoryRegistry, java.lang.Class.class);
- voidType = new IDEBeanTypeProxy(fFactoryRegistry, Void.TYPE);
-
- // Initialize the hashtable with the primitives, their lang equivalents, and also common classes like String
- beanProxies = new HashMap(20);
-
- // Primitives
- beanProxies.put(intType.getTypeName(), intType);
- beanProxies.put(booleanType.getTypeName(), booleanType);
- beanProxies.put(charType.getTypeName(), charType);
- beanProxies.put(byteType.getTypeName(), byteType);
- beanProxies.put(shortType.getTypeName(), shortType);
- beanProxies.put(longType.getTypeName(), longType);
- beanProxies.put(floatType.getTypeName(), floatType);
- beanProxies.put(doubleType.getTypeName(), doubleType);
-
- // java.lang primitive peers
- // Note that special classes are used for some of these which allow the IDE to get the
- // lang objects from the objects that are holding proxies
- beanProxies.put(integerClass.getTypeName(), integerClass);
- beanProxies.put(booleanClass.getTypeName(), booleanClass);
- beanProxies.put(charClass.getTypeName(), charClass);
- beanProxies.put(byteClass.getTypeName(), byteClass);
- beanProxies.put(shortClass.getTypeName(), shortClass);
- beanProxies.put(longClass.getTypeName(), longClass);
- beanProxies.put(floatClass.getTypeName(), floatClass);
- beanProxies.put(doubleClass.getTypeName(), doubleClass);
- beanProxies.put(BigDecimal.class.getName(), new IDEBigDecimalBeanTypeProxy(fFactoryRegistry, BigDecimal.class));//$NON-NLS-1$
- beanProxies.put(BigInteger.class.getName(), new IDEBigIntegerBeanTypeProxy(fFactoryRegistry, BigInteger.class));//$NON-NLS-1$
- beanProxies.put(stringClass.getTypeName(), stringClass);
-
- beanProxies.put(classClass.getTypeName(), classClass);
- beanProxies.put(voidType.getTypeName(), voidType);
- }
-
- /**
- * We are an IDE proxy and know that the type is in the same VM as the IDE. the IDEBeanTypeProxy object NOTE This is package protected because the
- * only person who can call it are priveledged classes that are also creating things in an IDEProxy environment. If anyone needs to make this
- * method public they are doing the wrong thing as they should use the public method getBeanTypeProxy(String) that is on the interface. The only
- * other object that can guarantee that they have the class for the argument are those that are part of the idevm package
- */
- IBeanTypeProxy getBeanTypeProxy(Class anIDEClass) {
- return getBeanTypeProxy(anIDEClass.getName());
-
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IStandardBeanTypeProxyFactory#getBeanTypeProxy(java.lang.String)
- */
- public synchronized IBeanTypeProxy getBeanTypeProxy(String typeName) {
- typeName = MapTypes.getJNIFormatName(typeName);
-
- // See whether we already have the proxy for the argument name
- IProxyBeanType beanTypeProxy = (IProxyBeanType) beanProxies.get(typeName);
- // See if there and resolved, if so, return it. If not resolved, that means we need it NOW
- // so we must go for it. When finally resolved the original ExpressionProxy will be deregistered and
- // the resolved beantypeproxy will be in its place.
- if (beanTypeProxy != null && beanTypeProxy.isBeanProxy()) {
- return (IBeanTypeProxy) beanTypeProxy;
- }
-
- // If not an array, then see if the package extension mechanism can find it.
- // Do this here so that if it is found in the package extension we won't necessarily create an
- // extra connection when not needed.
- if (typeName.charAt(0) != '[') {
- // It is not an array
- // First check with the factory for the package of the class.
- // Inner classes have to use the dollar notation since if they didn't we couldn't tell where
- // the package ended and the class started.
- int packageIndex = typeName.lastIndexOf('.');
- if (packageIndex != -1) {
- String packageName = typeName.substring(0, packageIndex);
- IDEExtensionBeanTypeProxyFactory packageFactory = (IDEExtensionBeanTypeProxyFactory) fFactoryRegistry
- .getBeanTypeProxyFactoryExtension(packageName);
- if (packageFactory != null) {
- beanTypeProxy = packageFactory.getExtensionBeanTypeProxy(typeName);
- if (beanTypeProxy != null) {
- registerBeanTypeProxy((IBeanTypeProxy) beanTypeProxy, false);
- return (IBeanTypeProxy) beanTypeProxy;
- }
- }
- }
- // There was not a registered factory that dealt with the class. Load it using the factory
- // registry which has the plugin's class loader
- try {
- Class ideClass = fFactoryRegistry.loadClass(typeName);
- IDEBeanTypeProxy superTypeProxy = null;
- if (ideClass.getSuperclass() != null) {
- // Get the beantype proxy of the superclass.
- superTypeProxy = (IDEBeanTypeProxy) getBeanTypeProxy(ideClass.getSuperclass());
- }
-
- // Ask the supertype
- // to create a beantype proxy of the same beantype proxy class.
- // This is so that any subclasses will get the same beantype proxy class
- // for it if it is special.
- if (superTypeProxy != null)
- beanTypeProxy = superTypeProxy.newBeanTypeForClass(ideClass);
-
- if (beanTypeProxy == null)
- beanTypeProxy = new IDEBeanTypeProxy(fFactoryRegistry, ideClass);
- } catch (ClassNotFoundException e) {
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.INFO, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", e)); //$NON-NLS-1$
- String msg = MessageFormat.format("{0}({1})", new Object[] { e.getClass(), e.getMessage()}); //$NON-NLS-1$
- beanTypeProxy = new IDEInitErrorBeanTypeProxy(fFactoryRegistry, typeName, msg);
- } catch (ExceptionInInitializerError e) {
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", e)); //$NON-NLS-1$
- String msg = MessageFormat.format("{0}({1})", new Object[] { e.getClass(), e.getMessage()}); //$NON-NLS-1$
- beanTypeProxy = new IDEInitErrorBeanTypeProxy(fFactoryRegistry, typeName, msg);
- } catch (LinkageError e) {
- ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", e)); //$NON-NLS-1$
- String msg = MessageFormat.format("{0}({1})", new Object[] { e.getClass(), e.getMessage()}); //$NON-NLS-1$
- beanTypeProxy = new IDEInitErrorBeanTypeProxy(fFactoryRegistry, typeName, msg);
- }
-
- // Cache the instance so we can re-use it again
- beanProxies.put(typeName, beanTypeProxy);
- return (IBeanTypeProxy) beanTypeProxy;
- } else {
- // need to create a array of this many dimensions so that we can get the appropriate class for it.
- int dims = typeName.lastIndexOf('[') + 1;
- Class finalComponentType = null;
- if (typeName.charAt(dims) == 'L') {
- // It is a class.
- // Strip off up to the 'L', and the trailing ';'. That is the class name.
- IDEBeanTypeProxy finalType = (IDEBeanTypeProxy) getBeanTypeProxy(typeName.substring(dims + 1, typeName.length() - 1));
- if (finalType != null)
- finalComponentType = finalType.fClass;
- } else {
- // It is a type. Need to map it.
- finalComponentType = (Class) IDEStandardBeanTypeProxyFactory.MAP_SHORTSIG_TO_TYPE.get(typeName.substring(dims, dims + 1));
- }
-
- if (finalComponentType != null) {
- Object dummyArray = Array.newInstance(finalComponentType, new int[dims]);
- beanTypeProxy = new IDEArrayBeanTypeProxy(fFactoryRegistry, typeName, dummyArray.getClass());
- beanProxies.put(typeName, beanTypeProxy);
- }
- return (IBeanTypeProxy) beanTypeProxy;
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IStandardBeanTypeProxyFactory#getBeanTypeProxy(org.eclipse.jem.internal.proxy.core.IExpression,
- * java.lang.String)
- */
- public synchronized IProxyBeanType getBeanTypeProxy(IExpression expression, String typeName) {
- typeName = MapTypes.getJNIFormatName(typeName);
-
- // See whether we already have the proxy for the argument name
- IProxyBeanType beanTypeProxy = (IProxyBeanType) beanProxies.get(typeName);
- if (beanTypeProxy != null) { return beanTypeProxy; }
-
- // Now see if an expression proxy cached.
- beanTypeProxy = ((IDEExpression) expression).getBeanType(typeName);
- if (beanTypeProxy != null)
- return beanTypeProxy;
-
-
- // If not an array, then see if the package extension mechanism can find it.
- // Do this here so that if it is found in the package extension we won't necessarily create an
- // extra connection when not needed.
- if (typeName.charAt(0) != '[') {
- // It is not an array
- // First check with the factory for the package of the class.
- // Inner classes have to use the dollar notation since if they didn't we couldn't tell where
- // the package ended and the class started.
- int packageIndex = typeName.lastIndexOf('.');
- if (packageIndex != -1) {
- String packageName = typeName.substring(0, packageIndex);
- IDEExtensionBeanTypeProxyFactory packageFactory = (IDEExtensionBeanTypeProxyFactory) fFactoryRegistry
- .getBeanTypeProxyFactoryExtension(packageName);
- if (packageFactory != null) {
- beanTypeProxy = packageFactory.getExtensionBeanTypeProxy(typeName, expression);
- if (beanTypeProxy != null) {
- registerBeanTypeProxy(beanTypeProxy, false);
- return beanTypeProxy;
- }
- }
- }
- }
-
- // There was not a registered factory that dealt with the class. So create the expression proxy.
- beanTypeProxy = ((Expression) expression).createBeanTypeExpressionProxy(typeName);
- registerBeanTypeProxy(beanTypeProxy, false);
- return beanTypeProxy;
-
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IStandardBeanTypeProxyFactory#getBeanTypeProxy(java.lang.String, int)
- */
- public IBeanTypeProxy getBeanTypeProxy(String componentClassName, int dimensions) {
- return getBeanTypeProxy(getArrayClassname(componentClassName, dimensions));
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IStandardBeanTypeProxyFactory#getBeanTypeProxy(org.eclipse.jem.internal.proxy.core.IExpression,
- * java.lang.String, int)
- */
- public IProxyBeanType getBeanTypeProxy(IExpression expression, String componentClassName, int dimensions) {
- return getBeanTypeProxy(expression, getArrayClassname(componentClassName, dimensions));
- }
-
- /**
- * @param componentClassName
- * @param dimensions
- * @return
- *
- * @since 1.1.0
- */
- protected String getArrayClassname(String componentClassName, int dimensions) {
- String jniComponentTypeName = MapTypes.getJNIFormatName(componentClassName);
- String compType = jniComponentTypeName;
- if (jniComponentTypeName.charAt(0) != '[') {
- // We're not already an array, so create correct template.
- compType = (String) MAP_TYPENAME_TO_SHORTSIG.get(componentClassName);
- if (compType == null) {
- // It is a class, and not a type.
- compType = "L" + jniComponentTypeName + ";"; //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
- // Now create it with the appropriate number of '[' in front.
- StringBuffer buffer = new StringBuffer(dimensions + compType.length());
- for (int i = 0; i < dimensions; i++)
- buffer.append('[');
- buffer.append(compType);
- return buffer.toString();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IBeanProxyFactory#terminateFactory(boolean)
- */
- public void terminateFactory(boolean wait) {
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IStandardBeanTypeProxyFactory#registerBeanTypeProxy(org.eclipse.jem.internal.proxy.core.IBeanTypeProxy,
- * boolean)
- */
- public synchronized void registerBeanTypeProxy(IBeanTypeProxy aBeanTypeProxy, boolean permanent) {
- beanProxies.put(aBeanTypeProxy.getTypeName(), aBeanTypeProxy);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IStandardBeanTypeProxyFactory#registerBeanTypeProxy(org.eclipse.jem.internal.proxy.core.IProxyBeanType,
- * boolean)
- */
- public void registerBeanTypeProxy(IProxyBeanType aProxyBeanType, boolean permanent) {
- if (aProxyBeanType.isBeanProxy())
- registerBeanTypeProxy((IBeanTypeProxy) aProxyBeanType, permanent); // A regular kind, do regular registration.
- else {
- ExpressionProxy beanExpressionProxy = ((ExpressionProxy) aProxyBeanType);
- final String typeName = aProxyBeanType.getTypeName();
- ((IDEExpression) beanExpressionProxy.getExpression()).addBeanType(typeName, aProxyBeanType);
- beanExpressionProxy.addProxyListener(new ExpressionProxy.ProxyAdapter() {
-
- public void proxyResolved(ProxyEvent event) {
- String typeName = ((IProxyBeanType) event.getSource()).getTypeName();
- synchronized (IDEStandardBeanTypeProxyFactory.this) {
- if (!beanProxies.containsKey(typeName)) {
- // It hasn't been resolved through some other means. So this is good. Actually this should never
- // occur because upon resolution we've already registered the bean type proxy through the
- // normal mechanisms. But to be safe, we'll do it here.
- beanProxies.put(typeName, event.getProxy());
- }
- }
- }
-
- public void proxyNotResolved(ExpressionProxy.ProxyEvent event) {
- ((IDEExpression) ((ExpressionProxy) event.getSource()).getExpression()).removeBeanType(typeName);
- }
- });
- }
-
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IStandardBeanTypeProxyFactory#isBeanTypeRegistered(String)
- */
- public synchronized boolean isBeanTypeRegistered(String className) {
- return beanProxies.containsKey(MapTypes.getJNIFormatName(className));
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IStandardBeanTypeProxyFactory#registeredTypes()
- */
- public Set registeredTypes() {
- return beanProxies.keySet();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IStandardBeanTypeProxyFactory#isBeanTypeNotFound(String)
- */
- public boolean isBeanTypeNotFound(String className) {
- // Do nothing. No need for it in IDE system because there will always be a proxy, even when not found.
- // In that case an IDEInitErrorBeanTypeProxy will be created.
- return false;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IStandardBeanTypeProxyFactory#isMaintainNotFoundTypes()
- */
- public boolean isMaintainNotFoundTypes() {
- // Do nothing. No need for it in IDE system because there will always be a proxy, even when not found.
- // In that case an IDEInitErrorBeanTypeProxy will be created.
- return false;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IStandardBeanTypeProxyFactory#setMaintainNotFoundTypes(boolean)
- */
- public void setMaintainNotFoundTypes(boolean maintain) {
- // Do nothing. No need for it in IDE system because there will always be a proxy, even when not found.
- // In that case an IDEInitErrorBeanTypeProxy will be created.
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEStringBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEStringBeanProxy.java
deleted file mode 100644
index 9f5fceed4..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEStringBeanProxy.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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: IDEStringBeanProxy.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:57:26 $
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * IDE Implementation of IStringBeanProxy
- * Creation date: (2/6/00 9:02:42 AM)
- * @author: Joe Winchester
- */
-final class IDEStringBeanProxy extends IDEObjectBeanProxy implements IStringBeanProxy {
- protected String fString;
-/**
- * Store the bean in the string field to save re-casting each time it is asked for.
- * It is package protected because they are created
- * in a special way and no one else should create them.
- */
-IDEStringBeanProxy(IDEProxyFactoryRegistry aRegistry, Object aBean, IBeanTypeProxy aBeanTypeProxy) {
- super(aRegistry, aBean,aBeanTypeProxy);
- fString = (String)aBean;
-}
-/**
- * Return the cache'd string that is a java.lang.String that the IDE can use
- */
-public String stringValue() {
- return fString;
-}
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEStringBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEStringBeanTypeProxy.java
deleted file mode 100644
index 49ebf748f..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEStringBeanTypeProxy.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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: IDEStringBeanTypeProxy.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:57:26 $
- */
-
-import org.eclipse.jem.internal.proxy.core.IStringBeanProxy;
-/**
- * IDE Implementation of the BeanType proxy for java.lang.String
- */
-final class IDEStringBeanTypeProxy extends IDEBeanTypeProxy {
- // Cache a proxy to an empty string for speed
- protected final IDEStringBeanProxy emptyStringProxy;
-
-IDEStringBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class aClass) {
- super(aRegistry, aClass);
- // Cache a proxy to an empty string for speed
- emptyStringProxy = new IDEStringBeanProxy(aRegistry, "",this); //$NON-NLS-1$
-}
-/**
- * Helper to create string beans
- * Package protected because no-one else outside the package should use this, they
- * must go through the API where you look up a factory first.
- */
-IStringBeanProxy createStringBeanProxy(String aString){
- if ( aString.equals("") ) {//$NON-NLS-1$
- return emptyStringProxy;
- } else {
- return new IDEStringBeanProxy(fProxyFactoryRegistry,aString,this);
- }
-}
-/* Specialized from IDEBeanTypeProxy to ensure IStringBeanProxies are created correctly
- */
-protected IIDEBeanProxy newBeanProxy(Object anObject){
-
- return (IIDEBeanProxy)createStringBeanProxy( (String)anObject );
-
-}
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEThrowableProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEThrowableProxy.java
deleted file mode 100644
index 6f0af5129..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEThrowableProxy.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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: IDEThrowableProxy.java,v $
- * $Revision: 1.6 $ $Date: 2005/06/16 17:46:14 $
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-public class IDEThrowableProxy extends ThrowableProxy implements IIDEBeanProxy {
-
- /**
- * Comment for <code>serialVersionUID</code>
- *
- * @since 1.1.0
- */
- private static final long serialVersionUID = 7162757961175978338L;
- protected IBeanTypeProxy fBeanTypeProxy;
-
- protected IDEThrowableProxy(Throwable exc, IBeanTypeProxy aBeanTypeProxy) {
- super(exc);
- fBeanTypeProxy = aBeanTypeProxy;
- }
-
- public boolean equals(Object obj) {
- if (super.equals(obj))
- return true;
- if (obj instanceof IIDEBeanProxy) {
- return getCause().equals(((IIDEBeanProxy) obj).getBean());
- }
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#sameAs(org.eclipse.jem.internal.proxy.core.IBeanProxy)
- */
- public boolean sameAs(IBeanProxy aBeanProxy) {
- if (this == aBeanProxy)
- return true;
- if (aBeanProxy instanceof IIDEBeanProxy)
- return getCause() == ((IIDEBeanProxy) aBeanProxy).getBean();
- return false;
- }
-
- public String getProxyLocalizedMessage() {
- return getCause().getLocalizedMessage();
- }
- public String getProxyMessage() {
- return getCause().getMessage();
- }
- public void printProxyStackTrace(java.io.PrintWriter writer) {
- getCause().printStackTrace(writer);
- }
- public void printProxyStackTrace(java.io.PrintStream stream) {
- getCause().printStackTrace(stream);
- }
- public void printProxyStackTrace() {
- getCause().printStackTrace();
- }
- public IBeanTypeProxy getTypeProxy() {
- return fBeanTypeProxy;
- }
- public ProxyFactoryRegistry getProxyFactoryRegistry() {
- return fBeanTypeProxy.getProxyFactoryRegistry();
- }
- public String toBeanString() {
- return getCause().toString();
- }
- public boolean isValid() {
- return true;
- }
- /**
- * Return the exception which is the live bean
- */
- public Object getBean() {
- return getCause();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IProxy#isBeanProxy()
- */
- public final boolean isBeanProxy() {
- return true;
- }
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IProxy#isExpressionProxy()
- */
- public final boolean isExpressionProxy() {
- return false;
- }
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEVMServer.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEVMServer.java
deleted file mode 100644
index 5454f7425..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEVMServer.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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: IDEVMServer.java,v $
- * $Revision: 1.5 $ $Date: 2005/07/08 17:51:47 $
- */
-
-import java.io.OutputStream;
-
-import org.eclipse.jem.internal.proxy.common.*;
-
-public class IDEVMServer implements IVMCallbackServer {
-
- IDECallbackRegistry fCallbackRegistry;
- IDEStandardBeanProxyFactory fBeanProxyFactory;
-
-IDEVMServer(IDECallbackRegistry aCallbackRegistry){
- fCallbackRegistry = aCallbackRegistry;
- fBeanProxyFactory = (IDEStandardBeanProxyFactory)fCallbackRegistry.fProxyFactoryRegistry.getBeanProxyFactory();
-
-}
-public Object doCallback(ICallbackRunnable aRunnable){
- try {
- return aRunnable.run(new ICallbackHandler(){
- public Object callbackWithParms(int callbackID, int msgID, Object[] parms){
- // We are running in the same IDE so just call the registry directly
- // although we must convert the parms to bean proxies
- Object[] proxyParms = null;
- // If we have any parms then convert them to bean proxies
- if ( parms != null ) {
- proxyParms = new Object[parms.length];
- for ( int i=0;i<parms.length;i++){
- Object p = parms[i];
- proxyParms[i] = createNextParm(p);
- }
- }
- return fCallbackRegistry.vmCallback(callbackID,msgID,proxyParms);
- }
-
- private Object createNextParm(Object p) {
- if (!(p instanceof ICallbackHandler.TransmitableArray)) {
- return fBeanProxyFactory.createIDEBeanProxyWith(p);
- } else {
- Object[] array = ((ICallbackHandler.TransmitableArray) p).getArray();
- Object[] parm = new Object[array.length];
- for (int i = 0; i < array.length; i++) {
- parm[i] = createNextParm(array[i]);
- }
- return parm;
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.common.ICallbackHandler#callbackAsConstants(int, int, java.lang.Object)
- */
- public Object callbackAsConstants(int callbackID, int msgID, Object parm) throws CommandException {
- return fCallbackRegistry.vmCallback(callbackID,msgID,parm);
- }
- });
-
- } catch ( CommandException exc ) {
- return null;
- }
-}
-
-public OutputStream requestStream(int callbackID, int msgID) throws CommandException {
- return fCallbackRegistry.requestStream(callbackID,msgID);
-}
-public IVMServer getIVMServer() {
- return fCallbackRegistry.fProxyFactoryRegistry;
-}
-
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IIDEBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IIDEBeanProxy.java
deleted file mode 100644
index 3cbff571a..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IIDEBeanProxy.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: IIDEBeanProxy.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:57:26 $
- */
-
-import org.eclipse.jem.internal.proxy.core.IBeanProxy;
-
-
-/**
- * Interface that allows the IDE VM to get the actual bean.
- */
-public interface IIDEBeanProxy extends IBeanProxy {
-/**
- * Get the actual live bean.
- * USE with extreme care.
- */
-public Object getBean();
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDEDimensionBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDEDimensionBeanProxy.java
deleted file mode 100644
index 8d039a86a..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDEDimensionBeanProxy.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.awt;
-/*
- * $RCSfile: IDEDimensionBeanProxy.java,v $
- * $Revision: 1.5 $ $Date: 2005/05/11 19:01:12 $
- */
-
-import java.awt.Dimension;
-
-import org.eclipse.jem.internal.proxy.core.IBeanTypeProxy;
-import org.eclipse.jem.internal.proxy.core.IDimensionBeanProxy;
-import org.eclipse.jem.internal.proxy.ide.IDEObjectBeanProxy;
-import org.eclipse.jem.internal.proxy.ide.IDEProxyFactoryRegistry;
-
-public class IDEDimensionBeanProxy extends IDEObjectBeanProxy implements IDimensionBeanProxy {
-
- protected Dimension fDimension;
-
-IDEDimensionBeanProxy(IDEProxyFactoryRegistry aRegistry,Object aDimension, IBeanTypeProxy aBeanTypeProxy){
- super(aRegistry,aDimension,aBeanTypeProxy);
- fDimension = (Dimension)aDimension;
-}
-public int getWidth(){
- return fDimension.width;
-}
-public void setWidth(int aWidth){
- fDimension.width = aWidth;
-}
-public int getHeight(){
- return fDimension.height;
-}
-public void setHeight(int aHeight){
- fDimension.height = aHeight;
-}
-public void setSize(IDimensionBeanProxy aBeanProxy){
- fDimension.setSize(new Dimension(aBeanProxy.getWidth(),aBeanProxy.getHeight()));
-}
-public void setSize(int width, int height){
- fDimension.width = width;
- fDimension.height = height;
-}
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDEDimensionBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDEDimensionBeanTypeProxy.java
deleted file mode 100644
index 71615f400..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDEDimensionBeanTypeProxy.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.awt;
-/*
- * $RCSfile: IDEDimensionBeanTypeProxy.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:57:26 $
- */
-
-import java.awt.Dimension;
-
-import org.eclipse.jem.internal.proxy.ide.*;
-
-public class IDEDimensionBeanTypeProxy extends IDEBeanTypeProxy {
-
-IDEDimensionBeanTypeProxy(IDEProxyFactoryRegistry aRegistry){
- this(aRegistry,Dimension.class);
-}
-
-private IDEDimensionBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class type){
- super(aRegistry, type);
-}
-
-protected IIDEBeanProxy newBeanProxy(Object anObject){
-
- return new IDEDimensionBeanProxy(fProxyFactoryRegistry, anObject, this);
-
-}
-IDEDimensionBeanProxy createDimensionBeanProxy(int width, int height){
- return new IDEDimensionBeanProxy(fProxyFactoryRegistry,new Dimension(width,height),this);
-}
- /*
- * @see IDEBeanTypeProxy#newBeanTypeForClass(Class)
- */
- public IDEBeanTypeProxy newBeanTypeForClass(Class type) {
- return new IDEDimensionBeanTypeProxy(fProxyFactoryRegistry, type);
- }
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDEPointBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDEPointBeanProxy.java
deleted file mode 100644
index 149ad2130..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDEPointBeanProxy.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.awt;
-/*
- * $RCSfile: IDEPointBeanProxy.java,v $
- * $Revision: 1.5 $ $Date: 2005/05/11 19:01:12 $
- */
-
-import java.awt.Point;
-
-import org.eclipse.jem.internal.proxy.core.IBeanTypeProxy;
-import org.eclipse.jem.internal.proxy.core.IPointBeanProxy;
-import org.eclipse.jem.internal.proxy.ide.IDEObjectBeanProxy;
-import org.eclipse.jem.internal.proxy.ide.IDEProxyFactoryRegistry;
-
-public class IDEPointBeanProxy extends IDEObjectBeanProxy implements IPointBeanProxy {
-
- protected Point fPoint;
-
-IDEPointBeanProxy(IDEProxyFactoryRegistry aRegistry,Object aPoint, IBeanTypeProxy aBeanTypeProxy){
- super(aRegistry,aPoint,aBeanTypeProxy);
- fPoint = (Point)aPoint;
-}
-public int getX(){
- return fPoint.x;
-}
-public void setX(int anX){
- fPoint.x = anX;
-}
-public int getY(){
- return fPoint.y;
-}
-public void setY(int aY){
- fPoint.y = aY;
-}
-public void setLocation(IPointBeanProxy aBeanProxy){
- fPoint.setLocation(new Point(aBeanProxy.getX(),aBeanProxy.getY()));
-}
-public void setLocation(int anX, int aY){
- fPoint.x = anX;
- fPoint.y = aY;
-}
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDEPointBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDEPointBeanTypeProxy.java
deleted file mode 100644
index cc63f5c29..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDEPointBeanTypeProxy.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.awt;
-/*
- * $RCSfile: IDEPointBeanTypeProxy.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:57:26 $
- */
-
-import java.awt.Point;
-
-import org.eclipse.jem.internal.proxy.ide.*;
-
-public class IDEPointBeanTypeProxy extends IDEBeanTypeProxy {
-
-IDEPointBeanTypeProxy(IDEProxyFactoryRegistry aRegistry){
- this(aRegistry,Point.class);
-}
-private IDEPointBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class type){
- super(aRegistry,type);
-}
-protected IIDEBeanProxy newBeanProxy(Object anObject){
-
- return new IDEPointBeanProxy(fProxyFactoryRegistry, anObject, this);
-
-}
-IDEPointBeanProxy createPointBeanProxy(int x, int y){
- return new IDEPointBeanProxy(fProxyFactoryRegistry,new Point(x,y),this);
-}
- /*
- * @see IDEBeanTypeProxy#newBeanTypeForClass(Class)
- */
- public IDEBeanTypeProxy newBeanTypeForClass(Class type) {
- return new IDEPointBeanTypeProxy(fProxyFactoryRegistry, type);
- }
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDERectangleBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDERectangleBeanProxy.java
deleted file mode 100644
index b5663912e..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDERectangleBeanProxy.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.awt;
-/*
- * $RCSfile: IDERectangleBeanProxy.java,v $
- * $Revision: 1.5 $ $Date: 2005/05/11 19:01:12 $
- */
-
-import java.awt.Rectangle;
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.ide.IDEObjectBeanProxy;
-import org.eclipse.jem.internal.proxy.ide.IDEProxyFactoryRegistry;
-
-public class IDERectangleBeanProxy extends IDEObjectBeanProxy implements IRectangleBeanProxy {
-
- protected Rectangle fRectangle;
-
-IDERectangleBeanProxy(IDEProxyFactoryRegistry aRegistry,Object aRectangle, IBeanTypeProxy aBeanTypeProxy){
- super(aRegistry,aRectangle,aBeanTypeProxy);
- fRectangle = (Rectangle)aRectangle;
-}
-public int getX(){
- return fRectangle.x;
-}
-public void setX(int anX){
- fRectangle.x = anX;
-}
-public int getY(){
- return fRectangle.y;
-}
-public void setY(int aY){
- fRectangle.y = aY;
-}
-public int getHeight(){
- return fRectangle.height;
-}
-public void setHeight(int aHeight){
- fRectangle.height = aHeight;
-}
-public void setWidth(int aWidth){
- fRectangle.width = aWidth;
-}
-public int getWidth(){
- return fRectangle.width;
-}
-public void setBounds(IRectangleBeanProxy aBeanProxy){
- fRectangle.setBounds(aBeanProxy.getX(),aBeanProxy.getY(),aBeanProxy.getWidth(),aBeanProxy.getHeight());
-}
-public void setBounds(int x, int y, int width, int height){
- fRectangle.setBounds(x,y,width,height);
-}
-public void setSize(IDimensionBeanProxy aBeanProxy){
- fRectangle.setSize(aBeanProxy.getWidth(),aBeanProxy.getWidth());
-}
-public void setLocation(IPointBeanProxy aBeanProxy){
- fRectangle.setLocation(aBeanProxy.getX(),aBeanProxy.getY());
-}
-public void setLocation(int x, int y){
- fRectangle.setLocation(x,y);
-}
-public void setSize(int width, int height){
- fRectangle.setSize(width,height);
-}
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDERectangleBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDERectangleBeanTypeProxy.java
deleted file mode 100644
index beeef7ea0..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDERectangleBeanTypeProxy.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.awt;
-/*
- * $RCSfile: IDERectangleBeanTypeProxy.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:57:26 $
- */
-
-import java.awt.Rectangle;
-
-import org.eclipse.jem.internal.proxy.ide.*;
-
-public class IDERectangleBeanTypeProxy extends IDEBeanTypeProxy {
-
-IDERectangleBeanTypeProxy(IDEProxyFactoryRegistry aRegistry){
- this(aRegistry,Rectangle.class);
-}
-
-private IDERectangleBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class type){
- super(aRegistry,type);
-}
-protected IIDEBeanProxy newBeanProxy(Object anObject){
-
- return new IDERectangleBeanProxy(fProxyFactoryRegistry, anObject, this);
-
-}
-IDERectangleBeanProxy createRectangleBeanProxy(int x, int y, int width, int height){
- return new IDERectangleBeanProxy(fProxyFactoryRegistry,new Rectangle(x,y,width,height),this);
-}
- /*
- * @see IDEBeanTypeProxy#newBeanTypeForClass(Class)
- */
- public IDEBeanTypeProxy newBeanTypeForClass(Class type) {
- return new IDERectangleBeanTypeProxy(fProxyFactoryRegistry, type);
- }
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDERegisterAWT.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDERegisterAWT.java
deleted file mode 100644
index 35c1a4788..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDERegisterAWT.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide.awt;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: IDERegisterAWT.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:57:26 $
- */
-
-
-import org.eclipse.jem.internal.proxy.ide.IDEProxyFactoryRegistry;
-/**
- * This class is used to register the AWT factories.
- */
-public final class IDERegisterAWT {
- public static void registerAWT(IDEProxyFactoryRegistry registry) {
- new IDEStandardAWTBeanTypeProxyFactory(registry);
- new IDEStandardAWTBeanProxyFactory(registry);
- }
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDEStandardAWTBeanProxyFactory.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDEStandardAWTBeanProxyFactory.java
deleted file mode 100644
index d5f344604..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDEStandardAWTBeanProxyFactory.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide.awt;
-/*******************************************************************************
- * Copyright (c) 2001, 2003, 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: IDEStandardAWTBeanProxyFactory.java,v $
- * $Revision: 1.4 $ $Date: 2005/06/15 20:19:11 $
- */
-
-
-import org.eclipse.jem.internal.proxy.awt.*;
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.ide.IDEProxyFactoryRegistry;
-/**
- * Standard AWT Bean Proxy Factory.
- * Package protected because it should not referenced
- * outside of the package other than through the interface.
- */
-class IDEStandardAWTBeanProxyFactory implements IStandardAwtBeanProxyFactory {
-
- final IDEStandardAWTBeanTypeProxyFactory fAWTBeanTypeFactory;
-
-public IDEStandardAWTBeanProxyFactory(IDEProxyFactoryRegistry factory) {
- factory.registerBeanProxyFactory(IStandardAwtBeanProxyFactory.REGISTRY_KEY, this);
- fAWTBeanTypeFactory = (IDEStandardAWTBeanTypeProxyFactory)factory.getBeanTypeProxyFactoryExtension(IDEStandardAWTBeanTypeProxyFactory.BEAN_TYPE_FACTORY_KEY);
-}
-public IDimensionBeanProxy createDimensionBeanProxyWith(int width, int height){
- return fAWTBeanTypeFactory.dimensionType.createDimensionBeanProxy(width,height);
-}
-
-public IPointBeanProxy createPointBeanProxyWith(int x, int y){
- return fAWTBeanTypeFactory.pointType.createPointBeanProxy(x,y);
-}
-public IRectangleBeanProxy createBeanProxyWith(int x, int y, int width, int height){
- return fAWTBeanTypeFactory.rectangleType.createRectangleBeanProxy(x,y,width,height);
-}
-public void terminateFactory(boolean wait) {
-}
-}
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDEStandardAWTBeanTypeProxyFactory.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDEStandardAWTBeanTypeProxyFactory.java
deleted file mode 100644
index 53707b940..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDEStandardAWTBeanTypeProxyFactory.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2003, 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: IDEStandardAWTBeanTypeProxyFactory.java,v $
- * $Revision: 1.4 $ $Date: 2005/05/11 19:01:12 $
- */
-package org.eclipse.jem.internal.proxy.ide.awt;
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.ide.*;
-
-/**
- * BeanType factory standard AWT bean types. This is package protected because it shouldn't be referenced outside the package. It should only be
- * accessed through the interface.
- */
-class IDEStandardAWTBeanTypeProxyFactory implements IDEExtensionBeanTypeProxyFactory {
-
- static final String BEAN_TYPE_FACTORY_KEY = "java.awt"; //$NON-NLS-1$
-
- protected final IDEProxyFactoryRegistry fFactoryRegistry;
-
- protected final IDEDimensionBeanTypeProxy dimensionType;
-
- protected final IDEPointBeanTypeProxy pointType;
-
- protected final IDERectangleBeanTypeProxy rectangleType;
-
- IDEStandardAWTBeanTypeProxyFactory(IDEProxyFactoryRegistry aRegistry) {
- fFactoryRegistry = aRegistry;
- fFactoryRegistry.registerBeanTypeProxyFactory(BEAN_TYPE_FACTORY_KEY, this);
- dimensionType = new IDEDimensionBeanTypeProxy(fFactoryRegistry);
- pointType = new IDEPointBeanTypeProxy(fFactoryRegistry);
- rectangleType = new IDERectangleBeanTypeProxy(fFactoryRegistry);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.ide.IDEExtensionBeanTypeProxyFactory#getExtensionBeanTypeProxy(java.lang.String)
- */
- public IDEBeanTypeProxy getExtensionBeanTypeProxy(String className) {
-
- if ("java.awt.Dimension".equals(className)) //$NON-NLS-1$
- return dimensionType;
- else if ("java.awt.Point".equals(className)) //$NON-NLS-1$
- return pointType;
- else if ("java.awt.Rectangle".equals(className)) //$NON-NLS-1$
- return rectangleType;
- else
- return null;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.ide.IDEExtensionBeanTypeProxyFactory#getExtensionBeanTypeProxy(java.lang.String, org.eclipse.jem.internal.proxy.core.IBeanTypeProxy)
- */
- public IDEBeanTypeProxy getExtensionBeanTypeProxy(String className, IBeanTypeProxy beanTypeProxy) {
-
- return getExtensionBeanTypeProxy(className);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.ide.IDEExtensionBeanTypeProxyFactory#getExtensionBeanTypeProxy(java.lang.String,
- * org.eclipse.jem.internal.proxy.core.IExpression)
- */
- public IProxyBeanType getExtensionBeanTypeProxy(String typeName, IExpression expression) {
- return getExtensionBeanTypeProxy(typeName);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanProxyFactory#terminateFactory(boolean)
- */
- public void terminateFactory(boolean wait) {
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/CommandErrorException.java b/plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/CommandErrorException.java
deleted file mode 100644
index 210a3a78a..000000000
--- a/plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/CommandErrorException.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.common.remote;
-/*
- * $RCSfile: CommandErrorException.java,v $
- * $Revision: 1.7 $ $Date: 2005/06/16 17:46:14 $
- */
-
-import org.eclipse.jem.internal.proxy.common.CommandException;
-/**
- * An error return from a command. This is clean return in that
- * the connection is still valid and alive.
- * After it has been processed the data will be the value retrieved
- * out of the valueobject and made into a proxy.
- */
-public class CommandErrorException extends CommandException {
- /**
- * Comment for <code>serialVersionUID</code>
- *
- * @since 1.1.0
- */
- private static final long serialVersionUID = 1701752035606593305L;
- private final Object fErrorObject;
- private final int fErrorCode;
-
- public CommandErrorException(int errorCode, Commands.ValueObject errorData) {
- super(errorData.clone()); // Clone it because typically these get reused and cleared out. This way we have our own.
- fErrorObject = null;
- fErrorCode = errorCode;
- }
-
- public CommandErrorException(String msg, int errorCode, Commands.ValueObject errorData, Object errorObject) {
- super(msg, errorData.clone());
- fErrorObject = errorObject;
- fErrorCode = errorCode;
- }
-
- public Commands.ValueObject getValue() {
- return (Commands.ValueObject) getExceptionData();
- }
-
- public boolean isRecoverable() {
- return true; // Command errors are recoverable.
- }
-
- /**
- * Return the error code.
- */
- public int getErrorCode() {
- return fErrorCode;
- }
-
- /**
- * Return the error object after conversion to proxy format.
- */
- public Object getErrorObject() {
- return fErrorObject;
- }
-
-
- /* (non-Javadoc)
- * @see java.lang.Object#toString()
- */
- public String toString() {
- return super.toString() + "-- Error code:"+getErrorCode() + (getValue() != null ? " Value data:\"" + getValue().getAsObject() + "\"" : " ") + (fErrorObject != null ? " Error object:\""+fErrorObject.toString()+"\"" : " "); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$
- }
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/Commands.java b/plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/Commands.java
deleted file mode 100644
index be8cdd3c2..000000000
--- a/plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/Commands.java
+++ /dev/null
@@ -1,1450 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.common.remote;
-/*
- * $RCSfile: Commands.java,v $
- * $Revision: 1.14 $ $Date: 2005/05/16 19:11:24 $
- */
-
-import java.io.*;
-
-import org.eclipse.jem.internal.proxy.common.CommandException;
-/**
- * The commands that can be passed back and forth between
- * client and server. And other constants.
- *
- * - Contains helper methods for reading/writing commands.
- */
-public class Commands {
- // The commands will be written in writeByte format .
- public final static byte
- GET_CLASS = 1, // Get the class object,
- VALUE = 2, // Returning a value
- QUIT_CONNECTION = 4, // Close this connection
- TERMINATE_SERVER = 5, // Terminate the entire server.
- ERROR = 6, // Returning an error
- RELEASE_OBJECT = 7, // An object is no longer needed on the client side, so
- // it can be removed from the server id table and released.
- GET_CLASS_RETURN = 8, // The return command from GET_CLASS
- // Obsolete, not used anymore GET_METHOD = 9, // Return the id for a method
- // Obsolete, not used anymore GET_CTOR = 10, // Return the id for a constructor
- NEW_INIT_STRING = 11, // Create a new bean using the init string
- GET_CLASS_FROM_ID = 12, // We have an ID, return the class info for this id.
- GET_CLASS_ID_RETURN = 13, // The return command from GET_CLASS_FROM_ID
- GET_OBJECT_DATA = 14, // We have an ID, but we don't have the info, return it. This is a
- // corrective command only. This would happen if for some strange
- // reason the proxy has been removed but has not been released. This
- // really shouldn't happen except as a possible race condition between
- // GC and returning id from the server.
- INVOKE = 15, // Invoke a method.
-
-
- // These commands are to the Master Server thread in the IDE.
- ALIVE = 16, // Are you alive?
- REMOTE_STARTED = 17, // Remote VM has started.
- ATTACH_CALLBACK = 18, // Attach to a callback thread on the IDE side. The remote vm will use its socket as the callback socket.
- // it will return boolean <code>true</code> if attach worked or <code>false</code> if it failed.
-
- // These are more regular commands. They were historically added after the master server thread commands, so
- // they are shown here after them and with numbers greater than them.
- EXPRESSION_TREE_COMMAND = 19, // An expression tree subcommand has come in.
- INVOKE_WITH_METHOD_PASSED = 20, // Invoke where the description of the method is passed in with the command.
- GET_ARRAY_CONTENTS = 21; // Get the first dimension contents as an array of ids and send them back.
-
-
- // Callback commands
- public final static byte
- CALLBACK = (byte) 255, // A callback has come in.
- CALLBACK_DONE = (byte) 254, // A callback done command, sent to the remote vm upon callback completion.
- CALLBACK_STREAM = (byte) 253, // A callback for a byte stream has come in.
- // This is a special callback. When this comes in a special
- // input stream will be created that will take over control of
- // the connection until the stream is terminated on the remote
- // side. At this time the connection will be returned.
- CALLBACK_STREAM_TERMINATE = (byte) 252; // A callback stream is asked to terminate early.
-
- // The error values from the command on the server.
- public final static int
- NO_ERROR = 0, // No error status.
- UNKNOWN_COMMAND_SENT = 1, // An unknown command was sent to the server. Value is void.
- GET_CLASS_NOT_FOUND = 2, // The class was not found in GetClass. Value is void.
- CANNOT_EVALUATE_STRING = 3, // Evaluator couldn't evaluate the init string. Too complicated. Value is a throwable of the wrappered Init string error.
- CLASS_CAST_EXCEPTION = 4, // The result is not assignable to the expected type. Value is void.
- GET_METHOD_NOT_FOUND = 5, // Method requested wasn't found. Value is void.
- THROWABLE_SENT = 6, // A Throwable is being sent back as the error, not as just data for the error. Value is the Throwable.
- CALLBACK_RUNTIME_EXCEPTION = 7, // A runtime exception occurred during a callback. The data is the message.
- CALLBACK_NOT_REGISTERED = 8,
- MAX_ERROR_CODE = CALLBACK_NOT_REGISTERED; // This is just the max code. Not actually sent. Used as a flag.
-
- // Predefined standard id's for standard classes/objects. Both sides will assume these id's have been assigned
- // to these classes/types/objects
- public final static int
- NOT_AN_ID = -1, // This value means it is not an id. It is never a valid id.
- VOID_TYPE = 0,
- BOOLEAN_TYPE = 1,
- BOOLEAN_CLASS = 2,
- INTEGER_TYPE = 3,
- INTEGER_CLASS = 4,
- BYTE_TYPE = 5,
- BYTE_CLASS = 6,
- CHARACTER_TYPE = 7,
- CHARACTER_CLASS = 8,
- DOUBLE_TYPE = 9,
- DOUBLE_CLASS = 10,
- FLOAT_TYPE = 11,
- FLOAT_CLASS = 12,
- SHORT_TYPE = 13,
- SHORT_CLASS = 14,
- LONG_TYPE = 15,
- LONG_CLASS = 16,
- STRING_CLASS = 17,
- BIG_DECIMAL_CLASS = 18,
- BIG_INTEGER_CLASS = 19,
- NUMBER_CLASS = 20,
- THROWABLE_CLASS = 21,
- CLASS_CLASS = 22,
- OBJECT_CLASS = 23,
- ACCESSIBLEOBJECT_CLASS = 24,
- METHOD_CLASS = 25,
- FIELD_CLASS = 26,
- CONSTRUCTOR_CLASS = 27,
- GET_METHOD_ID = 28, // Class.getMethod(...) predefined id.
- IVMSERVER_CLASS = 29, // IVMServer.class
- ICALLBACK_CLASS = 30, // ICallback.class
- REMOTESERVER_ID = 31, // id of RemoteVMServerThread instance.
- REMOTEVMSERVER_CLASS = 32, // RemoteVMServer.class
- INITIALIZECALLBACK_METHOD_ID = 33, // ICallback.initializeCallback method.
- THREAD_CLASS = 34,
- EXPRESSIONPROCESSERCONTROLLER_CLASS = 35,
- FIRST_FREE_ID = 36;
-
- // The type flags written in writeByte format
- public final static byte
- VOID = VOID_TYPE, // null - nothing follows
- BYTE = BYTE_TYPE, // byte - writeByte
- L_BYTE = BYTE_CLASS, // java.lang.Byte - writeByte
- CHAR = CHARACTER_TYPE, // char - writeChar
- L_CHAR = CHARACTER_CLASS, // java.lang.Character - writeChar
- DOUBLE = DOUBLE_TYPE, // double - writeDouble
- L_DOUBLE = DOUBLE_CLASS, // java.lang.Double - writeDouble
- FLOAT = FLOAT_TYPE, // float - writeFloat
- L_FLOAT = FLOAT_CLASS, // java.lang.Float - writeFloat
- INT = INTEGER_TYPE, // int - writeInt
- L_INT = INTEGER_CLASS, // java.lang.Integer - writeInt
- LONG = LONG_TYPE, // long - writeLong
- L_LONG = LONG_CLASS, // java.lang.Long - writeLong
- SHORT = SHORT_TYPE, // short - writeShort
- L_SHORT = SHORT_CLASS, // java.lang.Short - writeShort
- BOOL = BOOLEAN_TYPE, // boolean - writeBoolean
- L_BOOL = BOOLEAN_CLASS, // java.lang.Boolean - writeBoolean
- STRING = STRING_CLASS, // java.lang.String - writeUTF
- OBJECT = OBJECT_CLASS, // Object - special, see below (Object can be used to return an array (except if the array contains any object_ids, that has a special type)
- OBJECT_ID = 50, // Object identity key - writeInt
- NEW_OBJECT_ID = 51, // New Object identity (this is a new object that didn't exist before)
- THROW = 52, // An exception occured. The value is a throwable, it is of the same format as NEW_OBJECT_ID.
- ARRAY_IDS = 53, // An array of values, where there are at least one ID in the array. If there were no
- // ID's (i.e. all just values), then use OBJECT type intead and have it written as
- // writeObject.
- FLAG = 54; // The value is a flag int. If this is allowed on a read, the anInt field will contain the flag value.
-
-
-
- // Unless specified below, the commands are one byte long.
- // Also, unless specified below, the commands do not return a confirmation response.
- //
- // NOTE: VERY IMPORTANT, after every command, flush() should be used so that the
- // the data is immediately sent to the server.
- //
- // n means int (e.g. 1)
- // nb means byte (e.g. 1b)
- // 'x' means Unicode char (i.e. writeChar())
- // "xxx" means UTF8 string (i.e. writeUTF)
- // bool means a one byte boolean value
- //
- // The commas aren't actually written, they are used as separaters in the comments below
- //
- // GET_CLASS: 1b, "classname"
- // Will return on the output stream GET_CLASS_RETURN command:
- // 8b, n1, bool1, bool2, "superclassname"
- // The "n1" is the class id.
- // The bool1 is whether this class is an interface (true if it is).
- // The bool2 is whether this class is abstract (true if it is).
- // The "superclassname" is the class name of the super class (0 length if no superclass)
- // If the class is not found, then it will return an error with a value for the error.
- //
- // GET_CLASS_FROM_ID: 12b, n
- // Where "n" is the class id.
- // Will return on the output stream GET_CLASS_ID_RETURN command:
- // 13b, "classname", bool1, bool2, "superclassname"
- // The bool1 is whether this class is an interface (true if it is).
- // The bool2 is whether this class is abstract (true if it is).
- //
- // VALUE: 2b, tb, value
- // Where tb is the type in byte, and value is the appropriate value shown in
- // table above.
- // OBJECT_ID: 50b, n
- // Where "n" is the object id.
- // NEW_OBJECT_ID: 51b, n1, n2
- // Where "n1" is class ObjectID of the object that the object_id ("n2") is made of.
- // OBJECT: 19b, n, writeObject
- // Where "n" is the classObjectID of the class of the type of the object.
- // NOTE: Object should be used only very rarely. Identity is lost, i.e.
- // a copy is made each time and it can't be referenced back on the remote
- // VM.
- // ARRAY_IDS: 52b, id, n, [tb, value, ...]
- // This is a very special array. It contains at least one ID. Therefor all of the
- // First level entries are value objects.
- // "id" is the id of the component type of the array(e.g. id for Object, or if multi-dimensional String[] (this will produce String[][]).
- // "n" is the number of entries in the array. Followed by the values, one of the
- // values could be an ARRAY_IDS too. The reading/writing of these are special because
- // there is a callback mechanism to process the individual entries. This is so that
- // temp arrays of ValueObjects won't need to be created to handle this, so it can
- // go directly from the array to/from the stream.
- //
- // RELEASE_OBJECT: 7b, n
- // Where the n is the object id to release. There is no confirmation to read back.
- //
- // ERROR: 6b, n, tb, ...
- // n is the error code for this error.
- // tb is a type flag, followed by the value. The value is dependent upon
- // the command that this is error is from. If a THROW, then the THROW is ALWAYS a new
- // ID, it can never be an existing id.
- //
- //
- // TO_BEAN_STRING: 9b, n
- // Where n is the object id to produce the bean string for.
- // It will return a VALUE command where the type is String.
- //
- // NEW_INSTANCE: 10b, n
- // Where n is the class object id of the class to create a new instance of using the default ctor.
- // It will return either a VALUE command containing the new value (of type OBJECT_ID/NEW_OBJECT_ID if not
- // one of the constant types with the true classID in it) or an ERROR command. (The ERROR could
- // be a THROW type). If the object created is not assignable to the type passed in, then
- // an ERROR is returned with CLASS_CAST_EXCEPTION flag.
- //
- // NEW_INIT_STRING: 11b, n, "initstring"
- // Where n is the class object id of the class this initstring is supposed to create for.
- // It will return either a VALUE command containing the new value (of type OBJECT_ID/NEW_OBJECT_ID if not
- // one of the constant types with the true classID in it) or an ERROR command. (The ERROR could
- // be a THROW type). The error could also be CANNOT_EVALUATE_STRING. This means that the string was too
- // complicated for the evaluator and needs to be compiled and tried again. (TBD)
- // If the object created is not assignable to the type passed in, then
- // an ERROR is returned with CLASS_CAST_EXCEPTION flag.
- //
- // GET_OBJECT_DATA: 14b, n
- // Where n is the id of the object being requested. It will return a NEW_OBJECT_ID value with the info.
- //
- // GET_METHOD: 9b, classId, "methodName", n1, [n2]...
- // Where classID is the id of the class the method should be found in.
- // Where n1 is the number of parm types following, and n2 is replicated that many times,
- // each entry is the id of class for the parm type. (0 is valid which means there are no parms).
- // The return will be a VALUE command containing the OBJECT_ID of the method.
- //
- // GET_CTOR: 10b, classId, n1, [n2]...
- // Where classID is the id of the class the method should be found in.
- // Where n1 is the number of parm types following, and n2 is replicated that many times,
- // each entry is the id of class for the parm type. (0 is valid which means there are no parms).
- // The return will be a VALUE command containing the OBJECT_ID of the method.
- //
- // GET_FIELD:
- //
- // GET_CTOR:
- //
- // INVOKE: 15b, n1, tb, value1, value2
- // Where "n1" is the id of the method to invoke.
- // tb, value1 is the value of who to invoke against (it is usually an OBJECT_ID for tb)
- // value2 is an ARRAY_IDS type or an OBJECT array of values if all constants.
- // What is returned is a VALUE command containing the return value, (the value will be null (VOID) if
- // there is no return type (i.e. the method was void). So null can be returned either if the value
- // was null or if the return type was void.
- //
- // EXPRESSION_TREE_COMMAND: 20b, n, b
- // Receiving an expression tree subcommand. Where "n" is a unique id number of the
- // expression being processed. Where "b" is byte code, defined in ExpressionCommands, that
- // determines the type of expression tree commands.
- // There can be more data following, but it is read by the
- // ExpressionProcesserController, not by the connection. See the controller for the subcommands.
- //
- // The id number is the id of the expression being processed. This allows more than one expression
- // to be processed at a time from this connection.
- //
- // @see ExpressionCommands
- // @see ExpressionProcessController
- //
- // INVOKE_WITH_METHOD_PASSED: 20b, classId, "methodName", value0, tb, value1, value2
- // Where classID is the id of the class the method should be found in.
- // value0 is an ARRAY_IDS type for the type of the parms, or null type for no parms.
- // tb, value1 is the value of who to invoke against (it is usually an OBJECT_ID for tb)
- // value2 is an ARRAY_IDS type or an OBJECT array of values if all constants.
- // What is returned is a VALUE command containing the return value, (the value will be null (VOID) if
- // there is no return type (i.e. the method was void). So null can be returned either if the value
- // was null or if the return type was void.
- //
- // GET_ARRAY_CONTENTS: 21b, arrayId
- // Where arrayID is the id of the array to get the contents of. What is returned is a value command
- // containing an array of ids of the first dimension contents.
- //
- // Callback commands:
- //
- // CALLBACK: 255b, n1, n2, value1
- // Where
- // "n1" is the id of callback type (these are registered with the callback server)
- // "n2" is the msgId for the callback (These are entirely callback dependent and are maintained by the callback developer)
- // value1 is an ARRAY_IDS type or an OBJECT array of values if all constants. These are
- // parms to send to the callback msg.
- // It will return a CALLBACK_DONE.
- //
- // CALLBACK_DONE: 254b, value command.
- // What comes back is a value command (i.e. Commands.VALUE followed by value). This allows
- // ERRORS to be sent back too.
- //
- // CALLBACK_STREAM: 253b, n1, n2
- // Where
- // "n1" is the id of callback type (these are registered with the callback server)
- // "n2" is the msgId for the callback (These are entirely callback dependent and are maintained by the callback developer)
- // It will create a CallbackInputStream and notify the registered callback that the
- // stream is available. It will send a callback_done when it has accepted the request
- // but before it notifies the registered callback with the stream. This lets the remote
- // vm know that it can start sending data.
-
-
- // To the MasterServer socket:
- // The MasterServer socket will expect input in DataInputStream format, and DataOutputStream for return.
- // The socket will be short-lived. It will be for one transaction only. Each request will return a new socket.
- //
- // ALIVE: 16b, n1
- // Where
- // "n1" is the id of the registry this is asking to test for aliveness
- // Will return bool, where false if registry is not alive, true if it is alive.
- // REMOTE_STARTED: 17b, n1, n2
- // Where
- // "n1" is the id of the registry this is telling that it is started
- // "n2" is the serversocket port number of the server socket in this remote vm.
- // Will return bool, where false if registry is not alive, true if it is alive. If false, then terminate the server because nothing to talk to.
- // GET_CALLBACK_PORT: 18b, n1
- // Where
- // "n1" is the id of the registry this is asking for the callback server port.
- // Will return int, where the value is the callback server port number. -1 if there is no callback server port.
-
- /**
- * This class is the return from a read value. It contains the
- * type of the value and the value itself. Since primitives can be
- * returned also, there is a slot for each one and the type should
- * be checked to see which one is set.
- *
- * Also, if the type is OBJECT, then the anObject has the object in it, AND
- * the classID field has the object_id of the class of the object so that the
- * appropriate beantypeproxy can be found to use that object. Also, only
- * IREMConstantBeanTypeProxies can be of type OBJECT. That is because those
- * are the only ones that know how to take the value object and interpret it.
- *
- * If the type is OBJECT_ID or NEW_OBJECT_ID, then the objectID field will be set with
- * the id.
- * If the type is NEW_OBJECT_ID, then the classID field will
- * have the class objectID of the class of the object for which object_id proxies.
- *
- * THROW is treated like NEW_OBJECT_ID in what fields are set since it is a new object.
- *
- * Note: so as not to create unnecessary objects, if the Object type of the primitive is being
- * sent, then the primitive field will be set instead, though the type
- * will still be the Object type (i.e. if type = L_BYTE, the aByte will
- * have the value in it).
- *
- * Note: Also flags can be send back. The type will be FLAG and the anInt field will be the
- * flag value. This is used to indicate special things that aren't values. Most useful in
- * arrays where one of the entries is not a value. This can only be used if readValue
- * is passed a flag indicating flags are valid, otherwise it will be treated as not valie.
- */
- public static class ValueObject implements Cloneable {
- public byte type; // Same as the types above
- public byte aByte;
- public char aChar;
- public double aDouble;
- public float aFloat;
- public int anInt;
- public short aShort;
- public long aLong;
- public boolean aBool;
- public int objectID; // The object id for either OBJECT_ID or NEW_OBJECT_ID.
- public int classID; // The class object id of the value in Object if the type is Object
- public Object anObject; // String also will be in here
-
- public ValueObject() {
- type = VOID;
- }
-
- public Object clone() {
- try {
- return (ValueObject) super.clone();
- } catch (CloneNotSupportedException e) {
- return null;
- }
- }
-
- /**
- * Return whether the value stored here is a primitive.
- *
- * @return <code>true</code> if value is a primitive type.
- *
- * @since 1.0.0
- */
- public boolean isPrimitive() {
- return getPrimitiveType().isPrimitive();
- }
-
- /**
- * Get the primitive type of the value.
- * @return The primitive type, or if not primitive, it returns simply <code>Object.class</code>.
- *
- * @since 1.0.0
- */
- public Class getPrimitiveType() {
- switch (type) {
- case BYTE:
- return Byte.TYPE;
- case CHAR:
- return Character.TYPE;
- case DOUBLE:
- return Double.TYPE;
- case FLOAT:
- return Float.TYPE;
- case INT:
- return Integer.TYPE;
- case SHORT:
- return Short.TYPE;
- case LONG:
- return Long.TYPE;
- case BOOL:
- return Boolean.TYPE;
- default:
- return Object.class;
- }
-
- }
-
- /**
- * Get the type as one of the valid Commands.Types. VOID, BYTE, L_BYTE, etc.
- * @return
- *
- * @since 1.1.0
- */
- public int getType() {
- return type;
- }
-
- /**
- * Special getter to get the type as an Object, this is used by invoke for example.
- */
- public Object getAsObject() {
- switch (type) {
- case VOID:
- return null;
- case BYTE:
- case L_BYTE:
- return new Byte(aByte);
- case CHAR:
- case L_CHAR:
- return new Character(aChar);
- case DOUBLE:
- case L_DOUBLE:
- return new Double(aDouble);
- case FLOAT:
- case L_FLOAT:
- return new Float(aFloat);
- case INT:
- case L_INT:
- return new Integer(anInt);
- case SHORT:
- case L_SHORT:
- return new Short(aShort);
- case LONG:
- case L_LONG:
- return new Long(aLong);
- case BOOL:
- case L_BOOL:
- return aBool ? Boolean.TRUE : Boolean.FALSE;
- case STRING:
- return (String) anObject;
- case OBJECT:
- return anObject;
-
- default:
- return null; // Can't handle others. Those need to be checked before calling.
- }
- }
-
- /**
- * Special setter to set the value depending upon the type.
- */
- public void setAsObject(Object value, int valueClassID) {
- switch (valueClassID) {
- case VOID:
- set();
- break;
- case BYTE_CLASS:
- set((Byte) value);
- break;
- case CHARACTER_CLASS:
- set((Character) value);
- break;
- case DOUBLE_CLASS:
- set((Double) value);
- break;
- case FLOAT_CLASS:
- set((Float) value);
- break;
- case INTEGER_CLASS:
- set((Integer) value);
- break;
- case SHORT_CLASS:
- set((Short) value);
- break;
- case LONG_CLASS:
- set((Long) value);
- break;
- case BOOLEAN_CLASS:
- set((Boolean) value);
- break;
- case STRING_CLASS:
- set((String) value);
- break;
- default:
- set(value, valueClassID);
- break;
- }
- }
-
- public void set() {
- type = VOID;
- anObject = null;
- }
-
- public void setFlag(int flag) {
- type = FLAG;
- anInt = flag;
- }
-
- public void set(byte value) {
- type = BYTE;
- aByte = value;
- anObject = null;
- }
- public void set(Byte value) {
- if (value != null) {
- type = L_BYTE;
- aByte = value.byteValue();
- anObject = null;
- } else
- set();
- }
- public void set(char value) {
- type = CHAR;
- aChar = value;
- anObject = null;
- }
- public void set(Character value) {
- if (value != null) {
- type = L_CHAR;
- aChar = value.charValue();
- anObject = null;
- } else
- set();
- }
- public void set(double value) {
- type = DOUBLE;
- aDouble = value;
- anObject = null;
- }
- public void set(Double value) {
- if (value != null) {
- type = L_DOUBLE;
- aDouble = value.doubleValue();
- anObject = null;
- } else
- set();
- }
- public void set(float value) {
- type = FLOAT;
- aFloat = value;
- anObject = null;
- }
- public void set(Float value) {
- if (value != null) {
- type = L_FLOAT;
- aFloat = value.floatValue();
- anObject = null;
- } else
- set();
- }
- public void set(int value) {
- type = INT;
- anInt = value;
- anObject = null;
- }
- public void set(Integer value) {
- if (value != null) {
- type = L_INT;
- anInt = value.intValue();
- anObject = null;
- } else
- set();
- }
- public void set(short value) {
- type = SHORT;
- aShort = value;
- anObject = null;
- }
- public void set(Short value) {
- if (value != null) {
- type = L_SHORT;
- aShort = value.shortValue();
- anObject = null;
- } else
- set();
- }
- public void set(long value) {
- type = LONG;
- aLong = value;
- anObject = null;
- }
- public void set(Long value) {
- type = L_LONG;
- aLong = value.longValue();
- anObject = null;
- }
- public void set(boolean value) {
- type = BOOL;
- aBool = value;
- anObject = null;
- }
- public void set(Boolean value) {
- if (value != null) {
- type = L_BOOL;
- aBool = value.booleanValue();
- anObject = null;
- } else
- set();
- }
- public void set(String value) {
- if (value != null) {
- type = STRING;
- anObject = value;
- } else
- set();
- }
- public void set(Object value, int classObjectID) {
- if (value != null) {
- type = OBJECT;
- classID = classObjectID;
- anObject = value;
- } else
- set();
- }
- public void setObjectID(int value) {
- type = OBJECT_ID;
- objectID = value;
- anObject = null;
- }
-
- // Use this if the object is an array containing IDs. The retriever
- // will be used to get the next value to write to the stream.
- public void setArrayIDS(ValueRetrieve retriever, int arraySize, int componentType) {
- type = ARRAY_IDS;
- classID = componentType;
- anInt = arraySize;
- anObject = retriever;
- }
-
-
- // Use this if this is a new object so that we can get the correct class type.
- public void setObjectID(int value, int classObjectID) {
- type = NEW_OBJECT_ID;
- objectID = value;
- classID = classObjectID;
- anObject = null;
- }
-
- // Use this to indicate an exception occured.
- public void setException(int throwID, int throwClassID) {
- type = THROW;
- objectID = throwID;
- classID = throwClassID;
- anObject = null;
- }
- }
-
- /************************
- * Helpful commands.
- * - If a command throws any exception except CommandErrorException, or
- * UnexpectedCommandException with recoverable true, then the connection is in a bad state
- * and needs to be closed.
- ************************/
-
- /**
- * Use this to read a value (inputstream should be pointing to the type byte as the next byte to read).
- * The primitive fields of "value" will not be changed if they are not the
- * type of the value being read. However, anObject will be set to null.
- */
-
- /**
- * Error flags for UnexpectedCommandExceptions that can be thrown.
- */
- public static final Object UNKNOWN_READ_TYPE = "UNKNOWN_READ_TYPE"; // The read type byte was not a valid type //$NON-NLS-1$
- public static final Object UNKNOWN_WRITE_TYPE = "UNKNOWN_WRITE_TYPE"; // The write type byte was not a valid type //$NON-NLS-1$
- public static final Object TYPE_INVALID_FOR_COMMAND = "TYPE_INVALID_FOR_COMMAND"; // The data type read is not valid for this command //$NON-NLS-1$
- public static final Object UNKNOWN_COMMAND = "UNKNOWN_COMMAND"; // The command flag is unknown //$NON-NLS-1$
- public static final Object SOME_UNEXPECTED_EXCEPTION = "SOME_UNEXPECTED_EXCEPTION"; // There was some kind of exception that wasn't expected. The data will be the exception. //$NON-NLS-1$
- public static final Object TOO_MANY_BYTES = "TOO_MANY_BYTES"; // Too many bytes were sent on a writeBytes. It was //$NON-NLS-1$
- // more than could be read into the buffer. The data will be the size sent.
-
- /**
- * Read a value from the stream into the value object. It will not allow values of type FLAG.
- *
- * @param is
- * @param value
- * @param allowFlag
- * @return the value object sent in. This allows <code>value = Commands.readValue(is, new Commands.ValueObject());</code>
- * @throws CommandException
- *
- *
- * @since 1.0.0
- */
- public static ValueObject readValue(DataInputStream is, ValueObject value) throws CommandException {
- readValue(is, value, false);
- return value;
- }
-
- /**
- * Read a value from the stream into the value object. It will allow values of type FLAG if allowFlag is true.
- * @param is
- * @param value
- * @param allowFlag <code>true</code> if values of type flag are allow.
- * @throws CommandException
- *
- * @since 1.1.0
- */
- public static void readValue(DataInputStream is, ValueObject value, boolean allowFlag) throws CommandException {
- try {
- value.anObject = null;
- value.type = is.readByte();
- switch (value.type) {
- case BYTE:
- case L_BYTE:
- value.aByte = is.readByte();
- break;
- case CHAR:
- case L_CHAR:
- value.aChar = is.readChar();
- break;
- case DOUBLE:
- case L_DOUBLE:
- value.aDouble = is.readDouble();
- break;
- case FLOAT:
- case L_FLOAT:
- value.aFloat = is.readFloat();
- break;
- case INT:
- case L_INT:
- value.anInt = is.readInt();
- break;
- case OBJECT_ID:
- value.objectID = is.readInt();
- break;
- case NEW_OBJECT_ID:
- value.classID = is.readInt();
- value.objectID = is.readInt();
- break;
- case THROW:
- value.classID = is.readInt();
- value.objectID = is.readInt();
- break;
- case SHORT:
- case L_SHORT:
- value.aShort = is.readShort();
- break;
- case LONG:
- case L_LONG:
- value.aLong = is.readLong();
- break;
- case BOOL:
- case L_BOOL:
- value.aBool = is.readBoolean();
- break;
- case STRING:
- value.anObject = readStringData(is);
- break;
- case OBJECT:
- value.classID = is.readInt(); // Read the class id
- ObjectInputStream oi = new ObjectInputStream(is);
- value.anObject = oi.readObject(); // Read the object itself
- oi = null; // Don't close it, that would close the stream itself.
- break;
- case ARRAY_IDS:
- // The header for an array of ids.
- value.classID = is.readInt(); // The component type of the array
- value.anInt = is.readInt(); // The size of the array.
- // At this point, it is the responsibility of the caller to use readArray to read in the array.
- break;
- case VOID:
- break;
- case FLAG:
- if (allowFlag) {
- value.anInt = is.readInt();
- break;
- }
- // Flags not allowed, so drop into default.
- default:
- throw new UnexpectedCommandException(UNKNOWN_READ_TYPE, false, new Byte(value.type));
- }
- } catch (CommandException e) {
- // rethrow this exception since we want these to go on out.
- throw e;
- } catch (Exception e) {
- // Wrapper this one.
- throw new UnexpectedExceptionCommandException(false, e);
- }
- }
-
- /**
- * Special interface used to read back arrays. It will be called when
- */
- public static interface ValueSender {
- /**
- * This is called for each entry from the array. It is assumed that the ValueSender has
- * the array that is being built.
- * @param value
- *
- * @since 1.1.0
- */
- public void sendValue(ValueObject value);
-
- /**
- * This is called when an ARRAY_IDS is found within the reading of the array (i.e. nested arrays)
- * It is asking for a new ValueSender to use while this nested array. The arrayValue contains
- * the valueobject for the array header (i.e. the class id of the array and the number of elements).
- * It is the responsibility of the ValueSender to store this array in the array that is being built.
- * @param arrayValue
- * @return
- *
- * @since 1.1.0
- */
- public ValueSender nestedArray(ValueObject arrayValue);
-
- /**
- * Called to initialize the sender with the given array header. This is not always called, each usage
- * knows whether it can be called or not. For example the implementation of nestedArray may not need to call initialize.
- * @param arrayHeader
- *
- * @since 1.1.0
- */
- public void initialize(ValueObject arrayHeader);
-
- }
-
- /*
- * NOTE: It is important that on the IDE side that this is called within a transaction.
- * If not, there could be some corruption if proxy cleanup occurs in the middle.
- */
- public static void readArray(DataInputStream is, int arraySize, ValueSender valueSender, ValueObject value, boolean allowFlag) throws CommandException {
- // Anything exception other than a CommandException, we will try to flush the input so that
- // it can continue with the next command and not close the connection.
- RuntimeException exception = null;
- for (int i=0; i<arraySize; i++) {
- readValue(is, value, allowFlag);
- if (exception == null)
- try {
- if (value.type != ARRAY_IDS)
- valueSender.sendValue(value);
- else {
- // We have a nested array.
- ValueSender nestedSender = null;
- try {
- nestedSender = valueSender.nestedArray(value);
- } catch (RuntimeException e) {
- // We still need to read in the array to flush. Create
- // a dummy sender that accepts everything sent to it.
- exception = e;
- nestedSender = new ValueSender() {
- public void sendValue(ValueObject value) {
- }
- public ValueSender nestedArray(ValueObject arrayValue) {
- return this;
- }
- public void initialize(ValueObject arrayHeader) {
- }
- };
- }
- readArray(is, value.anInt, nestedSender, value, allowFlag);
- if (exception != null)
- throw exception; // An exception ocurred in new sender request.
- }
- } catch (RuntimeException e) {
- // We want to flush the queue, so save the exception for later.
- exception = e;
- }
- }
- if (exception != null)
- throw exception;
- }
-
-
- /**
- * Special interface to handle writing the ARRAY_IDS type.
- * An instance of this object will be in the valueObject sent to writeValue when the type of the value
- * is ARRAY_IDS. Then write value will know to call this interface to write out the values.
- *
- * @since 1.1.0
- */
- public static interface ValueRetrieve {
- /**
- * Returns the next value object to send. It will be called the number of times that the size of
- * the array was set to be send.
- * @return The value object to send.
- * @throws EOFException
- *
- * @since 1.1.0
- */
- public ValueObject nextValue() throws EOFException;
- }
-
- public static void writeValue(DataOutputStream os, ValueObject value, boolean asValueCommand) throws CommandException {
- writeValue(os, value, asValueCommand, asValueCommand ? true : false);
- }
-
- public static void writeValue(DataOutputStream os, ValueObject value, boolean asValueCommand, boolean flush) throws CommandException {
- try {
- if (asValueCommand)
- os.writeByte(VALUE);
- switch (value.type) {
- case BYTE:
- case L_BYTE:
- os.writeByte(value.type);
- os.writeByte(value.aByte);
- break;
- case CHAR:
- case L_CHAR:
- os.writeByte(value.type);
- os.writeChar(value.aChar);
- break;
- case DOUBLE:
- case L_DOUBLE:
- os.writeByte(value.type);
- os.writeDouble(value.aDouble);
- break;
- case FLOAT:
- case L_FLOAT:
- os.writeByte(value.type);
- os.writeFloat(value.aFloat);
- break;
- case INT:
- case L_INT:
- os.writeByte(value.type);
- os.writeInt(value.anInt);
- break;
- case OBJECT_ID:
- os.writeByte(value.type);
- os.writeInt(value.objectID);
- break;
- case NEW_OBJECT_ID:
- os.writeByte(value.type);
- os.writeInt(value.classID);
- os.writeInt(value.objectID);
- break;
- case THROW:
- os.writeByte(value.type);
- os.writeInt(value.classID);
- os.writeInt(value.objectID);
- break;
- case SHORT:
- case L_SHORT:
- os.writeByte(value.type);
- os.writeShort(value.aShort);
- break;
- case LONG:
- case L_LONG:
- os.writeByte(value.type);
- os.writeLong(value.aLong);
- break;
- case BOOL:
- case L_BOOL:
- os.writeByte(value.type);
- os.writeBoolean(value.aBool);
- break;
- case STRING:
- os.writeByte(value.type);
- sendStringData(os, (String) value.anObject);
- break;
- case OBJECT:
- os.writeByte(value.type);
- os.writeInt(value.classID); // Write the class ID.
- ObjectOutputStream oos = new ObjectOutputStream(os);
- oos.writeObject(value.anObject);
- oos.flush();
- oos = null; // Don't close it, that would close the stream itself.
- break;
- case ARRAY_IDS:
- // We are writing out an array with ID's in it. The fields of the vale object will be:
- // classID: The class id of the component type of the array.
- // anObject: Contains the ValueRetriever to get the next value.
- os.writeByte(ARRAY_IDS);
- os.writeInt(value.classID);
- os.writeInt(value.anInt); // The size of the array.
- // Now comes the kludgy part, writing the values.
- ValueRetrieve retriever = (ValueRetrieve) value.anObject;
- int len = value.anInt;
- while (len-- > 0)
- writeValue(os, retriever.nextValue(), false);
- break;
- case VOID:
- os.writeByte(value.type);
- break;
- case FLAG:
- os.writeByte(FLAG);
- os.writeInt(value.anInt);
- break;
- default:
- os.writeByte(VOID);
- throw new UnexpectedCommandException(UNKNOWN_WRITE_TYPE, true, value);
- }
- if (flush)
- os.flush();
- } catch (CommandException e) {
- // rethrow this exception since we want these to go on out.
- throw e;
- } catch (Exception e) {
- // Wrapper this one.
- throw new UnexpectedExceptionCommandException(false, e);
- }
- }
-
- /**
- * For reading a large number of bytes. This is a value type, not a command. The command
- * needs to be handled separately. It returns the number of bytes read. -1 if there
- * is no more data to send and the stream should closed. If read something but not all,
- * then just what it could read will be returned. The next read will return -1 for EOF.
- *
- * It will read from the format:
- * int - number of bytes to read (retrieved from the stream).
- * bytes - the actual bytes.
- *
- * Note: A command exception will be thrown if the number of bytes to read
- * is larger than the size of the byte array.
- */
- public static int readBytes(DataInputStream is, byte[] bytes) throws CommandException {
- try {
- int bytesToRead = -1;
- try {
- bytesToRead = is.readInt();
- } catch (EOFException e) {
- }
- if (bytesToRead == -1)
- return -1;
- if (bytesToRead > bytes.length)
- throw new UnexpectedCommandException(TOO_MANY_BYTES, false, new Integer(bytesToRead));
- int start = 0;
- int toRead = bytesToRead;
- while (toRead > 0) {
- int bytesRead = is.read(bytes, start, toRead);
- if (bytesRead == -1)
- return bytesToRead != toRead ? bytesToRead-toRead : -1; // Actual number read, or if none read, then EOF
- start+=bytesRead;
- toRead-=bytesRead;
- }
- return bytesToRead;
- } catch (CommandException e) {
- // rethrow this exception since we want these to go on out.
- throw e;
- } catch (Exception e) {
- // Wrapper this one.
- throw new UnexpectedExceptionCommandException(false, e);
- }
- }
-
- /**
- * For writing a large number of bytes. This is a value type, not a command. The command
- * needs to be handled separately.
- *
- * It will write it in the format:
- * int - number of bytes
- * bytes - the actual bytes.
- *
- */
- public static void writeBytes(DataOutputStream os, byte[] bytes, int bytesToWrite) throws CommandException {
- try {
- os.writeInt(bytesToWrite);
- os.write(bytes, 0, bytesToWrite);
- } catch (Exception e) {
- // Wrapper this one.
- throw new UnexpectedExceptionCommandException(false, e);
- }
- }
-
- /************************
- * Send command helpers
- ************************/
-
- public static void sendQuitCommand(DataOutputStream os) throws IOException {
- os.writeByte(QUIT_CONNECTION);
- os.flush();
-
- }
-
- public static void sendTerminateCommand(DataOutputStream os) throws IOException {
- os.writeByte(TERMINATE_SERVER);
- os.flush();
- }
-
-
- public static void releaseObjectCommand(DataOutputStream os, int id) throws IOException {
- os.writeByte(Commands.RELEASE_OBJECT);
- os.writeInt(id);
- os.flush();
- }
-
- /**
- * Send a callback request. The value is to be send separately.
- */
- public static void sendCallbackCommand(DataOutputStream os, int callbackID, int msgID) throws CommandException {
- try {
- os.writeByte(CALLBACK);
- os.writeInt(callbackID);
- os.writeInt(msgID);
- } catch (Exception e) {
- // Wrapper this one.
- throw new UnexpectedExceptionCommandException(false, e);
- }
- }
-
- public static void sendCallbackDoneCommand(DataOutputStream os, ValueObject value, int errorCode) throws CommandException {
- try {
- os.writeByte(CALLBACK_DONE);
- if (errorCode == NO_ERROR) {
- writeValue(os, value, true);
- os.flush();
- } else
- sendErrorCommand(os, errorCode, value);
- } catch (CommandException e) {
- // rethrow this exception since we want these to go on out.
- throw e;
- } catch (Exception e) {
- // Wrapper this one.
- throw new UnexpectedExceptionCommandException(false, e);
- }
- }
-
- /**
- * Send a start callback stream request. The data will be written separately.
- * There will not be a callback done command. It will return as soon as the command
- * is sent.
- */
- public static void sendCallbackStreamCommand(DataOutputStream os, int callbackID, int msgID) throws CommandException {
- try {
- os.writeByte(CALLBACK_STREAM);
- os.writeInt(callbackID);
- os.writeInt(msgID);
- } catch (Exception e) {
- // Wrapper this one.
- throw new UnexpectedExceptionCommandException(false, e);
- }
- }
-
- protected static final byte STRING_NOT_CHUNKED = 0;
- protected static final byte STRING_CHUNKED = 1;
- protected static final byte MORE_CHUNKS = 2;
- protected static final byte LAST_CHUNK = 3;
- protected static final int CHUNK_SIZE = 65000/3;
-
- /**
- * Send string data. This is for general string data. It makes sure that if the string is too big (there is a UTF-8 limit)
- * that it will send it in chunks. Use the corresponding <code>readStringData</code> to read such data in.
- * @param os
- * @param string
- * @throws IOException
- *
- * @since 1.0.0
- */
- public static void sendStringData(DataOutputStream os, String string) throws IOException {
- // UTF-8 can take up to three bytes for each char. To be on safe side we will
- // not send a string larger than 65K/3 as one chunk.
- if (string.length() <= CHUNK_SIZE) {
- // Less than the limit, send byte to indicate not chunked.
- os.writeByte(STRING_NOT_CHUNKED);
- os.writeUTF(string);
- } else {
- // Over limit, need to chunk it.
- // send byte to indicate chunked, then send true length so that other side knows how big to create.
- os.writeByte(STRING_CHUNKED);
- os.writeInt(string.length());
- // Now send first chunk
- for(int i=0; i<string.length(); i+=CHUNK_SIZE) {
- int endIndex = i+CHUNK_SIZE;
- if (i == 0) {
- // The first chunk is just written as is. We know endIndex will be ok because we wouldn't get here unless LARGER than chunksize.
- os.writeUTF(string.substring(i, endIndex));
- } else {
- // Following chunks have either byte MORE_CHUNKS or LAST_CHUNK
- if (endIndex >= string.length()) {
- // This is last chunk.
- os.writeByte(LAST_CHUNK);
- os.writeUTF(string.substring(i));
- } else {
- // This is an intermediate chunk.
- os.writeByte(MORE_CHUNKS);
- os.writeUTF(string.substring(i, endIndex));
- }
- }
- }
- }
- }
-
- /**
- * Read a string that was sent using the sendStringData command.
- * @param in
- * @return
- * @throws IOException
- *
- * @since 1.0.0
- */
- public static String readStringData(DataInputStream is) throws IOException {
- byte chunked = is.readByte();
- if (chunked == STRING_NOT_CHUNKED)
- return is.readUTF(); // Not chunk, just read it.
- else {
- // It is chunked.
- int totalLength = is.readInt(); // Get the total length.
- StringBuffer sbr = new StringBuffer(totalLength);
- while(true) {
- sbr.append(is.readUTF());
- if (chunked != LAST_CHUNK)
- chunked = is.readByte();
- else
- break;
- }
- return sbr.toString();
- }
- }
-
- /**
- * Read back command, expecting either a VALUE or an ERROR. You can request that
- * it be of a specific type (if any type can be accepted then enter -1 for the type).
- */
- public static final byte NO_TYPE_CHECK = -1;
- public static void readBackValue(DataInputStream is, ValueObject value, byte expectedType) throws CommandException {
- try {
- byte v = is.readByte();
- switch (v) {
- case VALUE:
- readValue(is, value);
- if (expectedType != NO_TYPE_CHECK &&
- !(expectedType == value.type || (expectedType == Commands.OBJECT_ID && value.type == NEW_OBJECT_ID)))
- throw new UnexpectedCommandException(TYPE_INVALID_FOR_COMMAND, true, value);
- break;
- case ERROR:
- int code = is.readInt();
- readValue(is, value);
- throw new CommandErrorException(code, value);
- default:
- throw new UnexpectedCommandException(UNKNOWN_COMMAND, false, new Byte(v));
- }
- } catch (CommandException e) {
- // rethrow this exception since we want these to go on out.
- throw e;
- } catch (Exception e) {
- // Wrapper this one.
- throw new UnexpectedExceptionCommandException(false, e);
- }
- }
-
-
- /**
- * GetClass command returns a GetClassReturn object.
- */
- public static class GetClassReturn {
- public int classID;
- public boolean isInterface;
- public boolean isAbstract;
- public String superClassname;
- }
-
- public static GetClassReturn sendGetClassCommand(DataOutputStream os, DataInputStream is, String className) throws CommandException {
- try {
- os.writeByte(GET_CLASS);
- os.writeUTF(className);
- os.flush();
-
- GetClassReturn ret = new GetClassReturn();
- byte v = is.readByte();
- switch (v) {
- case GET_CLASS_RETURN:
- ret.classID = is.readInt(); // Get the new class id.
- ret.isInterface = is.readBoolean(); // Get the isInterface flag
- ret.isAbstract = is.readBoolean(); // Get the isAbstract flag.
- ret.superClassname = is.readUTF(); // Get the super class name.
- return ret;
- case ERROR:
- int code = is.readInt();
- ValueObject value = new ValueObject();
- readValue(is, value);
- throw new CommandErrorException(code, value);
- default:
- throw new UnexpectedCommandException(UNKNOWN_COMMAND, false, new Byte(v));
- }
- } catch (CommandException e) {
- // rethrow this exception since we want these to go on out.
- throw e;
- } catch (Exception e) {
- // Wrapper this one.
- throw new UnexpectedExceptionCommandException(false, e);
- }
- }
-
- /**
- * GetClassFromID command returns a GetClassIDReturn object.
- */
- public static class GetClassIDReturn {
- public String className;
- public boolean isInterface;
- public boolean isAbstract;
- public String superClassname;
- }
-
- public static GetClassIDReturn sendGetClassFromIDCommand(DataOutputStream os, DataInputStream is, int classID) throws CommandException {
- try {
- os.writeByte(GET_CLASS_FROM_ID);
- os.writeInt(classID);
- os.flush();
-
- GetClassIDReturn ret = new GetClassIDReturn();
- byte v = is.readByte();
- switch (v) {
- case GET_CLASS_ID_RETURN:
- ret.className = is.readUTF(); // Get the new class name.
- ret.isInterface = is.readBoolean(); // Get the isInterface flag
- ret.isAbstract = is.readBoolean(); // Get the isAbstract flag.
- ret.superClassname = is.readUTF(); // Get the super class name.
- return ret;
- case ERROR:
- int code = is.readInt();
- ValueObject value = new ValueObject();
- readValue(is, value);
- throw new CommandErrorException(code, value);
- default:
- throw new UnexpectedCommandException(UNKNOWN_COMMAND, false, new Byte(v));
- }
- } catch (CommandException e) {
- // rethrow this exception since we want these to go on out.
- throw e;
- } catch (Exception e) {
- // Wrapper this one.
- throw new UnexpectedExceptionCommandException(false, e);
- }
- }
-
- public static void sendGetObjectData(DataOutputStream os, DataInputStream is, int objectID, ValueObject valueReturn) throws CommandException {
- try {
- os.writeByte(GET_OBJECT_DATA);
- os.writeInt(objectID);
- os.flush();
- readBackValue(is, valueReturn, NEW_OBJECT_ID);
- } catch (CommandException e) {
- // rethrow this exception since we want these to go on out.
- throw e;
- } catch (Exception e) {
- // Wrapper this one.
- throw new UnexpectedExceptionCommandException(false, e);
- }
- }
-
- public static void sendErrorCommand(DataOutputStream os, int code, ValueObject errorValue) throws CommandException {
- try {
- os.writeByte(ERROR);
- os.writeInt(code);
- writeValue(os, errorValue, false);
- os.flush();
- } catch (Exception e) {
- // Wrapper this one.
- throw new UnexpectedExceptionCommandException(false, e);
- }
- }
-
- public static void sendNewInstance(DataOutputStream os, DataInputStream is, int classId, String initializationString, ValueObject newValueReturn) throws CommandException {
- try {
- os.writeByte(NEW_INIT_STRING);
- os.writeInt(classId);
- os.writeUTF(initializationString);
- os.flush();
- readBackValue(is, newValueReturn, NO_TYPE_CHECK);
- } catch (CommandException e) {
- // rethrow this exception since we want these to go on out.
- throw e;
- } catch (Exception e) {
- // Wrapper this one.
- throw new UnexpectedExceptionCommandException(false, e);
- }
- }
-
-
- public static void sendInvokeMethodCommand(DataOutputStream os, DataInputStream is, int methodID, ValueObject invokeOn, ValueObject parms, ValueObject valueReturn) throws CommandException {
- try {
- os.writeByte(INVOKE);
- os.writeInt(methodID);
- writeValue(os, invokeOn, false);
- writeValue(os, parms, false);
- os.flush();
- readBackValue(is, valueReturn, NO_TYPE_CHECK);
- } catch (CommandException e) {
- // rethrow this exception since we want these to go on out.
- throw e;
- } catch (Exception e) {
- // Wrapper this one.
- throw new UnexpectedExceptionCommandException(false, e);
- }
- }
-
- public static void sendInvokeMethodCommand(DataOutputStream os, DataInputStream is, ValueObject classType, String methodName, ValueObject parmTypes, ValueObject invokeOn, ValueObject parms, ValueObject valueReturn) throws CommandException {
- try {
- os.writeByte(INVOKE_WITH_METHOD_PASSED);
- writeValue(os, classType, false);
- os.writeUTF(methodName);
- writeValue(os, parmTypes, false);
- writeValue(os, invokeOn, false);
- writeValue(os, parms, false);
- os.flush();
- readBackValue(is, valueReturn, NO_TYPE_CHECK);
- } catch (CommandException e) {
- // rethrow this exception since we want these to go on out.
- throw e;
- } catch (Exception e) {
- // Wrapper this one.
- throw new UnexpectedExceptionCommandException(false, e);
- }
- }
-
- public static void sendGetArrayContentsCommand(DataOutputStream os, DataInputStream is, int arrayID, ValueObject valueReturn) throws CommandException {
- try {
- os.writeByte(GET_ARRAY_CONTENTS);
- os.writeInt(arrayID);
- os.flush();
- readBackValue(is, valueReturn, NO_TYPE_CHECK);
- } catch (CommandException e) {
- // rethrow this exception since we want these to go on out.
- throw e;
- } catch (Exception e) {
- // Wrapper this one.
- throw new UnexpectedExceptionCommandException(false, e);
- }
- }
-
- private Commands() {
- // Never intended to be instantiated.
- }
-}
diff --git a/plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/ExpressionCommands.java b/plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/ExpressionCommands.java
deleted file mode 100644
index fcbda653f..000000000
--- a/plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/ExpressionCommands.java
+++ /dev/null
@@ -1,345 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: ExpressionCommands.java,v $
- * $Revision: 1.7 $ $Date: 2005/06/15 20:19:11 $
- */
-package org.eclipse.jem.internal.proxy.common.remote;
-
-import java.io.*;
-
-import org.eclipse.jem.internal.proxy.common.CommandException;
-
-
-/**
- *
- * @since 1.0.0
- */
-public class ExpressionCommands {
-
- // These are the sub-commands under EXPRESSION_TREE_COMMANDS that can be send.
- public static final byte
- START_EXPRESSION_TREE_PROCESSING = 0,
- PUSH_EXPRESSION = 1,
- END_EXPRESSION_TREE_PROCESSING = 2,
- SYNC_REQUEST = 3,
- PULL_VALUE_REQUEST = 4,
- TRANSFER_EXPRESSION_REQUEST = 5,
- RESUME_EXPRESSION_REQUEST = 6;
-
- // These are the expression specific error codes (it can also send back general ones. See SYNC_REQUEST docs lower down).
- public static final int
- EXPRESSION_NOEXPRESSIONVALUE_EXCEPTION = Commands.MAX_ERROR_CODE+1; // No expression value occurred.
-
- // These are the flag values sent in proxy resolution when doesn't resolve to proxy.
- public static final int
- EXPRESSIONPROXY_VOIDTYPE = 0, // Expression proxy resolves to void type.
- EXPRESSIONPROXY_NOTRESOLVED = 1; // Expression proxy not resolved.
-
- // These are the trace values sent in START_EXPRESSION_TREE_PROCESSING
- public static final byte
- TRACE_DEFAULT = -1,
- TRACE_OFF = 0,
- TRACE_ON = 1;
-
- public static final String EXPRESSIONTRACE = "proxyvm.expressionTrace"; // The system property for turning on expression tracing. //$NON-NLS-1$
- public static final String EXPRESSIONTRACE_TIMER_THRESHOLD = "proxyvm.expressionTraceTimerThreshold"; // The system property for timer threshold. //$NON-NLS-1$
-
- /*
- * The format of the commands are:
- * Note: Most of the commands will not being doing a os.flush() at the end. We are just going to
- * be streaming the data over the line. At the end we will flush and then catch up. That way
- * we aren't waiting for the other side as we send the data.
- *
- * START_EXPRESSION_TREE_PROCESSING: 0b, trace
- * Start processing.
- * byte(trace): -1 : do default
- * 0 : no trace
- * 1 : do trace
- *
- * PUSH_EXPRESSION: 1b, b
- * Push an expression. Where "b" is the expression type from IInternalExpressionConstants.
- * The actual data that follows is expression type dependent and will be
- * sent in a following call to ExpressionCommands as it builds up the actual command.
- * See REMExpression and each type of push call method within it to see the actual
- * sent data.
- *
- * END_EXPRESSION_TREE_PROCESSING: 2b
- * End the processing and clean up.
- *
- * SYNC_REQUEST: 3b
- * This will return the current status. The reason it is called sync is because the
- * IDE will wait for it to complete and read back the value. It will send back:
- * 1: VALUE command with boolean true as the value.
- * 2: ERROR command with code of ExpressionClassNotFound, with value of String with message from exception.
- * 3: ERROR command with code of EXPRESSION_NOEXPRESSIONVALUE_EXCEPTION, with value of String with message from exception.
- * 4: THROWABLE command with the actual exception that occurred.
- *
- *
- * PULL_VALUE_REQUEST: 4b
- * This will do a sync up and return the value from the expression.
- * IDE will wait for it to compleate and read back the value. It will send back:
- * 1: VALUE command with the result as the value.
- * 2: ERROR or EXCEPTION if there were errors, see SYNC_REQUEST with the format they are sent back.
- *
- * TRANSFER_EXPRESSION_REQUEST: 5b
- * This will do a sync up, and return the ExpressionProcessorController that the request is for. And remove
- * the controller from its list of active expression controllers.
- *
- * RESUME_EXPRESSION_REQUEST: 6b, anExpressionProcessorController
- * This will take the given controller and add it to the list of controllers this connection is handling. It returns nothing.
- *
- * @see org.eclipse.jem.internal.proxy.initParser.tree.IInternalExpressionConstants
- * @see org.eclipse.jem.internal.proxy.remote.REMExpression
- *
- */
-
- /**
- * Send the start expression processing command.
- * @param expressionID
- * @param trace
- * @param os
- *
- * @throws IOException
- *
- * @since 1.0.0
- */
- public static void sendStartExpressionProcessingCommand(int expressionID, byte trace, DataOutputStream os) throws IOException {
- os.writeByte(Commands.EXPRESSION_TREE_COMMAND);
- os.writeInt(expressionID);
- os.writeByte(START_EXPRESSION_TREE_PROCESSING);
- os.writeByte(trace);
- }
-
- /**
- * Send the end expression processing command.
- * @param expressionID
- * @param os
- *
- * @throws IOException
- *
- * @since 1.0.0
- */
- public static void sendEndExpressionProcessingCommand(int expressionID, DataOutputStream os) throws IOException {
- os.writeByte(Commands.EXPRESSION_TREE_COMMAND);
- os.writeInt(expressionID);
- os.writeByte(END_EXPRESSION_TREE_PROCESSING);
- os.flush(); // Flushing because we are done and want to make sure everything goes out.
- }
-
- /**
- * Send an expression subcommand.
- * @param expressionID
- * @param os
- * @param subcommand
- *
- * @throws IOException
- *
- * @since 1.0.0
- */
- public static void sendExpressionCommand(int expressionID, DataOutputStream os, byte subcommand) throws IOException {
- os.writeByte(Commands.EXPRESSION_TREE_COMMAND);
- os.writeInt(expressionID);
- os.writeByte(PUSH_EXPRESSION);
- os.writeByte(subcommand);
- }
-
- /**
- * Send just a byte.
- *
- * @param os
- * @param aByte
- * @throws IOException
- *
- * @since 1.0.0
- */
- public static void sendByte(DataOutputStream os, byte aByte) throws IOException {
- os.writeByte(aByte);
- }
-
- /**
- * Send just an int.
- *
- * @param os
- * @param anInt
- * @throws IOException
- *
- * @since 1.0.0
- */
- public static void sendInt(DataOutputStream os, int anInt) throws IOException {
- os.writeInt(anInt);
- }
-
- /**
- * Send just a string.
- *
- * @param os
- * @param aString
- * @throws IOException
- *
- * @since 1.0.0
- */
- public static void sendString(DataOutputStream os, String aString) throws IOException {
- Commands.sendStringData(os, aString);
- }
-
- /**
- * Send just a boolean.
- *
- * @param os
- * @param aBool
- * @throws IOException
- *
- * @since 1.0.0
- */
- public static void sendBoolean(DataOutputStream os, boolean aBool) throws IOException {
- os.writeBoolean(aBool);
- }
-
- /**
- * Send the pull value command. After processing the proxies, caller should call getFinalValue() to get the value.
- * @param expressionID
- * @param os
- * @param is
- * @param proxyids if not <code>null</code>, then this is the list of expression proxy ids that need to be returned as rendered.
- * @param sender sender used to process the resolved proxy ids, or <code>null</code> if no proxy ids.
- * @throws CommandException
- *
- * @since 1.0.0
- */
- public static void sendPullValueCommand(int expressionID, DataOutputStream os, DataInputStream is, Commands.ValueObject proxyids, Commands.ValueSender sender) throws CommandException {
- try {
- os.writeByte(Commands.EXPRESSION_TREE_COMMAND);
- os.writeInt(expressionID);
- os.writeByte(PULL_VALUE_REQUEST);
- sendProxyIDs(os, proxyids);
- os.flush();
- if (proxyids != null) {
- Commands.readBackValue(is, proxyids, Commands.ARRAY_IDS); // Read the array header.
- sender.initialize(proxyids);
- Commands.readArray(is, proxyids.anInt, sender, proxyids, true); // Read the array.
- }
- } catch (CommandException e) {
- // rethrow this exception since we want these to go on out.
- throw e;
- } catch (IOException e) {
- // Wrapper this one.
- throw new UnexpectedExceptionCommandException(false, e);
- }
- }
-
- /**
- * Send a sync command. This does a synchronize with the remote expression processor. It makes sure that the
- * stream is caught and doesn't return until everything on the stream has been processed. Should then call
- * getFinalValue() to verify the expression is valid.
- * @param expressionID
- * @param os
- * @param is
- * @param proxyids if not <code>null</code>, then this is the list of expression proxy ids that need to be returned as rendered.
- * @param sender the sender used for reading back the proxyid resolutions, or <code>null</code> if no proxy ids.
- *
- * @throws CommandException
- *
- * @since 1.0.0
- */
- public static void sendSyncCommand(int expressionID, DataOutputStream os, DataInputStream is, Commands.ValueObject proxyids, Commands.ValueSender sender) throws CommandException {
- try {
- os.writeByte(Commands.EXPRESSION_TREE_COMMAND);
- os.writeInt(expressionID);
- os.writeByte(SYNC_REQUEST);
- sendProxyIDs(os, proxyids);
- os.flush();
- if (proxyids != null) {
- Commands.readBackValue(is, proxyids, Commands.ARRAY_IDS); // Read the array header.
- sender.initialize(proxyids);
- Commands.readArray(is, proxyids.anInt, sender, proxyids, true); // Read the array.
- }
- } catch (CommandException e) {
- // rethrow this exception since we want these to go on out.
- throw e;
- } catch (Exception e) {
- // Wrapper this one.
- throw new UnexpectedExceptionCommandException(false, e);
- }
- }
-
- /**
- * Send the proxyids (if not null) as part of a command. Used by sync and pullValue.
- * @param os
- * @param proxyids <code>null</code> if not requesting proxy ids.
- * @throws IOException
- * @throws CommandException
- *
- * @since 1.1.0
- */
- private static void sendProxyIDs(DataOutputStream os, Commands.ValueObject proxyids) throws IOException, CommandException {
- if (proxyids != null) {
- os.writeBoolean(true); // Indicates proxy ids being sent.
- Commands.writeValue(os, proxyids, false, false);
- } else
- os.writeBoolean(false); // No proxyids being sent.
- }
-
- /**
- * Send the transfer expression command and receive back the expression processor controller.
- *
- * @param expressionID
- * @param os
- * @param is
- * @param expressionProcesserController
- * @throws CommandException
- *
- * @since 1.1.0
- */
- public static void sendTransferExpressionCommand(int expressionID, DataOutputStream os, DataInputStream is, Commands.ValueObject expressionProcesserController) throws CommandException {
- try {
- os.writeByte(Commands.EXPRESSION_TREE_COMMAND);
- os.writeInt(expressionID);
- os.writeByte(TRANSFER_EXPRESSION_REQUEST);
- os.flush();
- Commands.readBackValue(is, expressionProcesserController, Commands.NO_TYPE_CHECK); // Read the expression processor controller
- } catch (CommandException e) {
- throw e;
- } catch (Exception e) {
- // Wrapper this one.
- throw new UnexpectedExceptionCommandException(false, e);
- }
- }
-
- /**
- * Send the resume expression command with given expression processor controller.
- *
- * @param expressionID
- * @param os
- * @param expressionProcessorController
- * @throws CommandException
- *
- * @since 1.1.0
- */
- public static void sendResumeExpressionCommand(int expressionID, DataOutputStream os, Commands.ValueObject expressionProcessorController) throws CommandException {
- try {
- os.writeByte(Commands.EXPRESSION_TREE_COMMAND);
- os.writeInt(expressionID);
- os.writeByte(RESUME_EXPRESSION_REQUEST);
- Commands.writeValue(os, expressionProcessorController, false, false);
- } catch (CommandException e) {
- throw e;
- } catch (Exception e) {
- // Wrapper this one.
- throw new UnexpectedExceptionCommandException(false, e);
- }
- }
-
- private ExpressionCommands() {
- // Never intended to be instantiated.
- }
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/IOCommandException.java b/plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/IOCommandException.java
deleted file mode 100644
index 3f10dc034..000000000
--- a/plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/IOCommandException.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package org.eclipse.jem.internal.proxy.common.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: IOCommandException.java,v $
- * $Revision: 1.3 $ $Date: 2005/06/16 17:46:14 $
- */
-
-import java.io.IOException;
-import org.eclipse.jem.internal.proxy.common.CommandException;
-
-/**
- * A command exception occured while processing an io request
- * in a callback stream. This exception wrappers the command exception.
- */
-
-public class IOCommandException extends IOException {
- /**
- * Comment for <code>serialVersionUID</code>
- *
- * @since 1.1.0
- */
- private static final long serialVersionUID = -2308947195164382779L;
- protected CommandException fException;
-
- public IOCommandException(CommandException e) {
- fException = e;
- }
-
- public CommandException getException() {
- return fException;
- }
-
- public String getMessage() {
- return fException.getMessage();
- }
-
- public void printStackTrace() {
- fException.printStackTrace();
- }
-
- public void printStackTrace(java.io.PrintStream p) {
- fException.printStackTrace(p);
- }
-
- public void printStackTrace(java.io.PrintWriter p) {
- fException.printStackTrace(p);
- }
-
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/TransmitableArray.java b/plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/TransmitableArray.java
deleted file mode 100644
index d2a354477..000000000
--- a/plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/TransmitableArray.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.eclipse.jem.internal.proxy.common.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: TransmitableArray.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:56:39 $
- */
-
-
-/**
- * A value can be a TransmitableArray. This means this value is an array that
- * needs to have a ValueRetriever created for it. This is used if the array has ID's in
- * it and is not an existing array on the server or all constant values.
- *
- * NOTE: It is assumed that all IBeanTypeProxies of the parms have already been retrieved.
- * It should still work, but it could be asking for them in the middle of the request
- * if they are not first gotton. And this could throw a non-recoverable exception if not found.
- */
-public final class TransmitableArray {
- public int componentTypeID; // The id of the type of the component type of the array.
- public Object[] array; // The array it self.
- public TransmitableArray(int typeID, Object[] anArray) {
- componentTypeID = typeID;
- array = anArray;
- }
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/UnexpectedCommandException.java b/plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/UnexpectedCommandException.java
deleted file mode 100644
index 8065e7136..000000000
--- a/plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/UnexpectedCommandException.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package org.eclipse.jem.internal.proxy.common.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: UnexpectedCommandException.java,v $
- * $Revision: 1.3 $ $Date: 2005/06/16 17:46:14 $
- */
-
-import org.eclipse.jem.internal.proxy.common.CommandException;
-/**
- * This is an exception that is thrown when the processing
- * of data was invalid for the command.
- * There will be a flag indicting error type, and a flag
- * indicating whether the connection is recoverable or not.
- * If not recoverable, then the connection needs to be closed.
- *
- */
-public class UnexpectedCommandException extends CommandException {
- /**
- * Comment for <code>serialVersionUID</code>
- *
- * @since 1.1.0
- */
- private static final long serialVersionUID = 7097693384453243113L;
- private final Object fErrorType;
- private final boolean fRecoverable;
-
- public UnexpectedCommandException(Object errorType, boolean recoverable) {
- fErrorType = errorType;
- fRecoverable = recoverable;
- }
-
- public UnexpectedCommandException(Object errorType, boolean recoverable, Object data) {
- super(data);
- fErrorType = errorType;
- fRecoverable = recoverable;
- }
-
- public UnexpectedCommandException(Object errorType, boolean recoverable, String msg, Object data) {
- super(msg, data);
- fErrorType = errorType;
- fRecoverable = recoverable;
- }
-
- public Object getErrorType() {
- return fErrorType;
- }
-
- public boolean isRecoverable() {
- return fRecoverable;
- }
-
- public String getMessage() {
- String m = super.getMessage();
- if (fErrorType != null) {
- String dataMsg = getExceptionData() != null ? " Errordata="+getExceptionData().toString() : ""; //$NON-NLS-1$ //$NON-NLS-2$
- if (m == null)
- return "Errortype="+fErrorType.toString() + dataMsg; //$NON-NLS-1$
- else
- return m + ':' + "Errortype="+fErrorType.toString() + dataMsg; //$NON-NLS-1$
- } else
- return m;
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/UnexpectedExceptionCommandException.java b/plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/UnexpectedExceptionCommandException.java
deleted file mode 100644
index 5d673bc91..000000000
--- a/plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/UnexpectedExceptionCommandException.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package org.eclipse.jem.internal.proxy.common.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: UnexpectedExceptionCommandException.java,v $
- * $Revision: 1.3 $ $Date: 2005/06/16 17:46:14 $
- */
-
-/**
- * Wrapper an unexpected exception in a Command Exception.
- */
-public class UnexpectedExceptionCommandException extends UnexpectedCommandException {
-
- /**
- * Comment for <code>serialVersionUID</code>
- *
- * @since 1.1.0
- */
- private static final long serialVersionUID = -1654134370115650969L;
-
- public UnexpectedExceptionCommandException(boolean recoverable, Throwable data) {
- super(Commands.SOME_UNEXPECTED_EXCEPTION, recoverable, data);
- }
-
- public UnexpectedExceptionCommandException(boolean recoverable, String msg, Throwable data) {
- super(Commands.SOME_UNEXPECTED_EXCEPTION, recoverable, msg, data);
- }
-
- public Throwable getException() {
- return (Throwable) getExceptionData();
- }
-
- public String getMessage() {
- String localMsg = super.getMessage();
- if (getException() != null)
- if (localMsg == null || localMsg.length() == 0)
- return getException().getLocalizedMessage();
- else
- return localMsg + ": " + getException().getLocalizedMessage(); //$NON-NLS-1$
- return
- localMsg;
- }
-
- public void printExceptionStackTrace() {
- getException().printStackTrace();
- }
-
- public void printStackTrace() {
- printExceptionStackTrace();
- }
-
- public void printStackTrace(java.io.PrintStream p) {
- getException().printStackTrace(p);
- }
-
- public void printStackTrace(java.io.PrintWriter p) {
- getException().printStackTrace(p);
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/schema/contributors.exsd b/plugins/org.eclipse.jem.proxy/schema/contributors.exsd
deleted file mode 100644
index df7a64499..000000000
--- a/plugins/org.eclipse.jem.proxy/schema/contributors.exsd
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.jem.proxy">
-<annotation>
- <appInfo>
- <meta.schema plugin="org.eclipse.jem.proxy" id="contributors" name="Proxy Configuration Contributors"/>
- </appInfo>
- <documentation>
- This extension point is used to supply configuration contributors for proxy support. You can supply a contributor for a specific classpath container or for a plugin.
-&lt;p&gt;
-The way configuration contributors work is that when a proxy vm is started, it first runs through all of the explicit contributors that were given to it. It then goes through the classpath of the project and finds the containers. If the container implements IConfigurationContributor, it will be called as a contributor. Then all of the extensions of this extension point will be searched for those have the same container id, and if so they will be called as a contributor.
-&lt;p&gt;
-The extensions will be called in plugin order. In other words if plugin A depends on plugin B, the contribution in plugin A will not be called before the contribution in plugin B.
-&lt;p&gt;
-If a plugin is in the classpath of the project (in other words the project is PDE plugin development project and requires a plugin) then the contributor with the given plugin id will be called.
-&lt;p&gt;
-Both container and plugin can be specified, but at least one of them must be specified. If both are specified, then this entry will be used if either the container or the plugin is found in the classpath.
- </documentation>
- </annotation>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="contributor" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="point" type="string" use="required">
- <annotation>
- <documentation>
- a fully qualified identifier of the target extension point
- </documentation>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
- an optional identifier of the extension instance
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
- an optional name of the extension instance
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="contributor">
- <annotation>
- <appInfo>
- <meta.element labelAttribute="class"/>
- </appInfo>
- <documentation>
- A contributor. Either the container and/or the plugin attributes must be set.
- </documentation>
- </annotation>
- <complexType>
- <attribute name="container" type="string">
- <annotation>
- <documentation>
- contributor is for a container. The value is the container id (e.g. &quot;JRE_CONTAINER&quot;).
- </documentation>
- </annotation>
- </attribute>
- <attribute name="plugin" type="string">
- <annotation>
- <documentation>
- contributor is for a plugin. The value is the plugin id (e.g. &quot;org.eclipse.swt&quot;).
- </documentation>
- </annotation>
- </attribute>
- <attribute name="class" type="string" use="required">
- <annotation>
- <documentation>
- the class that implements this contributor. The class must implement IConfigurationContributor.
- </documentation>
- <appInfo>
- <meta.attribute kind="java" basedOn="org.eclipse.jem.internal.proxy.core.IConfigurationContributor"/>
- </appInfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- 1.0.0
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- The following is an example of a contributor:
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.jem.proxy.contributors&quot;&gt;
- &lt;contributor
- class=&quot;com.example.ContributorImplementation&quot;
- container=&quot;MY_CONTAINER&quot;&gt;
- &lt;/contributor&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="apiInfo"/>
- </appInfo>
- <documentation>
- The &lt;samp&gt;class&lt;/samp&gt; attribute must be a fully-qualified class that implements the &lt;samp&gt;org.eclipse.jem.internal.proxy.core.IConfigurationContributor&lt;/samp&gt; interface for contributor.
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="implementation"/>
- </appInfo>
- <documentation>
- There is &lt;samp&gt;org.eclipse.jem.internal.proxy.core.ConfigurationContributorAdapter&lt;/samp&gt; available to subclass to provide specific overrides. The default for the adapter is that it doesn&apos;t do anything.
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
- Copyright (c) 2004 IBM Corporation and others.&lt;br&gt;
-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
-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
- </documentation>
- </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.jem.proxy/schema/extensions.exsd b/plugins/org.eclipse.jem.proxy/schema/extensions.exsd
deleted file mode 100644
index 37a47ffad..000000000
--- a/plugins/org.eclipse.jem.proxy/schema/extensions.exsd
+++ /dev/null
@@ -1,155 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.jem.proxy">
-<annotation>
- <appInfo>
- <meta.schema plugin="org.eclipse.jem.proxy" id="extensions" name="Proxy Extension Registration Contributors"/>
- </appInfo>
- <documentation>
- This extension point is used to supply extension registrations for proxy support. You can supply an extension registration for a specific classpath container or for a plugin.
-&lt;p&gt;
-Just after the registry has been started and before any contributions to the registry can be made, the extension registrations for the given registry type (such as &quot;org.eclipse.jem.REMOTE&quot;) for any paths/plugins/containers that have that match will be executed. These are used to do extension registrations (such as BaseProxyFactroyRegistry.registerBeanTypeProxyFactory(String packageName, IBeanTypeProxyFactory aFactory)). These registrations shouldn&apos;t do any actual proxy calls because at this time not all of the extensions had been run yet and it may accidently reference a package that should have an extension factory on it, but that factory has not yet been registered. Instead the contributor extension point should be used for that because at that time all of the extensions will be registered.
-&lt;p&gt;
-The way extension registrations work is that when a proxy vm is started, it finds all of the extensions of this extension point will be searched for those have the same container id and registry type id, and if so they will be called as an extension registration.
-&lt;p&gt;
-If a plugin is in the classpath of the project (in other words the project is PDE plugin development project and requires a plugin) then the extension registration with the given plugin id will be called.
-&lt;p&gt;
-Both container and plugin can be specified, but at least one of them must be specified. If both are specified, then this entry will be used if either the container or the plugin is found in the classpath.
- </documentation>
- </annotation>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="registration" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="point" type="string" use="required">
- <annotation>
- <documentation>
- a fully qualified identifier of the target extension point
- </documentation>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
- an optional identifier of the extension instance
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
- an optional name of the extension instance
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="registration">
- <annotation>
- <appInfo>
- <meta.element labelAttribute="class"/>
- </appInfo>
- <documentation>
- Proxy Extension factories registration contributor. Used to contribute the factory extensions based upon the registry type (e.g. &quot;org.eclipse.jem.REMOTE&quot; for remote vm registries) depending upon the container or plugin path.
- </documentation>
- </annotation>
- <complexType>
- <attribute name="registryType" type="string" use="required">
- <annotation>
- <documentation>
- The type of the registry this extensionRegistration is for, such as &quot;org.eclipse.jem.REMOTE&quot; for the remote vm registry type.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="container" type="string">
- <annotation>
- <documentation>
- extension registration is for a container. The value is the container id (e.g. &quot;JRE_CONTAINER&quot;).
- </documentation>
- </annotation>
- </attribute>
- <attribute name="plugin" type="string">
- <annotation>
- <documentation>
- extension registration is for a plugin. The value is the plugin id (e.g. &quot;org.eclipse.swt&quot;).
- </documentation>
- </annotation>
- </attribute>
- <attribute name="class" type="string" use="required">
- <annotation>
- <documentation>
- the class that implements this extension registration. The class must implement IExtensionRegistration.
- </documentation>
- <appInfo>
- <meta.attribute kind="java" basedOn="org.eclipse.jem.internal.proxy.core.IExtensionRegistration"/>
- </appInfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- 1.1.0
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- The following is an example of a contributor:
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.jem.proxy.extensions&quot;&gt;
- &lt;contributor
- registryType=&quot;org.eclipse.jem.REMOTE&quot;
- class=&quot;com.example.ExtensionRegistrationImplementation&quot;
- container=&quot;MY_CONTAINER&quot;&gt;
- &lt;/contributor&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="apiInfo"/>
- </appInfo>
- <documentation>
- The &lt;samp&gt;class&lt;/samp&gt; attribute must be a fully-qualified class that implements the &lt;samp&gt;org.eclipse.jem.internal.proxy.core.IExtensionRegistration&lt;/samp&gt; interface for extension registration.
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="implementation"/>
- </appInfo>
- <documentation>
-
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
- Copyright (c) 2004 IBM Corporation and others.&lt;br&gt;
-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
-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
- </documentation>
- </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/AWTStarter.java b/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/AWTStarter.java
deleted file mode 100644
index 761f48edf..000000000
--- a/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/AWTStarter.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- * $RCSfile: AWTStarter.java,v $
- * $Revision: 1.1 $ $Date: 2005/05/11 19:01:12 $
- */
-package org.eclipse.jem.internal.proxy.vm.remote;
-
-import java.awt.Toolkit;
-
-
-/**
- * This class is used to do start the AWT eventqueue ahead of time to try to parallel process it.
- * @since 1.1.0
- */
-public class AWTStarter {
-
- public static void startAWT() {
- Thread t = new Thread() {
- public void run() {
- Thread.yield(); // So as not to possibly hold up the guy doing the starting.
- Toolkit.getDefaultToolkit();
- }
- };
- t.start();
- }
-}
diff --git a/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/ArrayHelper.java b/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/ArrayHelper.java
deleted file mode 100644
index 01cd63a0f..000000000
--- a/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/ArrayHelper.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package org.eclipse.jem.internal.proxy.vm.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: ArrayHelper.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:57:54 $
- */
-
-
-/**
- * This class provides similiar function as the java.lang.reflect.Array class but
- * it handles multi-dimensional arrays. Without this helper, the client would have
- * to walk down through each dimension executing a get command. This would mean
- * many transactions instead of one provided by this helper.
- *
- * It also provides some other helper functions for arrays that Array doesn't provide.
- */
-
-public final class ArrayHelper {
- // It can never be instantiated.
- private ArrayHelper() {
- }
-
- public static Object get(Object array, int[] indexes) {
- Object answer = array;
- for (int i=0; i<indexes.length; i++)
- answer = java.lang.reflect.Array.get(answer, indexes[i]);
- return answer;
- }
-
- public static byte getByte(Object array, int[] indexes) {
- return ((Byte) get(array, indexes)).byteValue();
- }
- public static boolean getBoolean(Object array, int[] indexes) {
- return ((Boolean) get(array, indexes)).booleanValue();
- }
- public static char getChar(Object array, int[] indexes) {
- return ((Character) get(array, indexes)).charValue();
- }
- public static double getDouble(Object array, int[] indexes) {
- return ((Double) get(array, indexes)).doubleValue();
- }
- public static float getFloat(Object array, int[] indexes) {
- return ((Float) get(array, indexes)).floatValue();
- }
- public static int getInt(Object array, int[] indexes) {
- return ((Integer) get(array, indexes)).intValue();
- }
- public static long getLong(Object array, int[] indexes) {
- return ((Long) get(array, indexes)).longValue();
- }
- public static short getShort(Object array, int[] indexes) {
- return ((Short) get(array, indexes)).shortValue();
- }
-
- public static void set(Object array, int[] indexes, Object value) {
- Object subArray = array;
- int upTo = indexes.length-1;
- for (int i=0; i<upTo; i++)
- subArray = java.lang.reflect.Array.get(subArray, indexes[i]);
- java.lang.reflect.Array.set(subArray, indexes[upTo], value);
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/CallbackHandler.java b/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/CallbackHandler.java
deleted file mode 100644
index 73d50b7a8..000000000
--- a/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/CallbackHandler.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.vm.remote;
-/*
- * $RCSfile: CallbackHandler.java,v $
- * $Revision: 1.6 $ $Date: 2005/05/11 19:01:12 $
- */
-
-import java.net.Socket;
-import java.io.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-import org.eclipse.jem.internal.proxy.common.remote.UnexpectedExceptionCommandException;
-import org.eclipse.jem.internal.proxy.common.*;
-/**
- * This is a handler for doing callbacks to the
- * client.
- *
- * This is package protected because no one should
- * use it from the outside. It is too critical that
- * callback's work only in this specified way.
- */
-class CallbackHandler extends ConnectionHandler implements ICallbackHandler {
- public CallbackHandler(Socket sc, RemoteVMServerThread svr) {
- super(sc, svr, null);
- }
-
- /**
- * Initiate a stream callback request.
- */
- public void initiateCallbackStream(int callbackID, int msgID) throws CommandException {
- try {
- Commands.sendCallbackStreamCommand(out, callbackID, msgID);
- out.flush();
- } catch (CommandException e) {
- throw e;
- } catch (Exception e) {
- throw new UnexpectedExceptionCommandException(false, e);
- }
- run(); // Now run and wait for return. If no command exeception thrown, then it signals to continue.
- }
-
- /**
- * Write bytes to the client. If bytesToWrite is -1, then this is end and
- * no bytes are being written. Just write the -1 then.
- */
- public void writeBytes(byte[] bytes, int bytesToWrite) throws CommandException {
- try {
- if (bytesToWrite != -1)
- Commands.writeBytes(out, bytes, bytesToWrite);
- else
- out.writeInt(-1);
- } catch (CommandException e) {
- throw e;
- } catch (Exception e) {
- throw new UnexpectedExceptionCommandException(false, e);
- }
- }
-
-
- /**
- * Callback, but send the parm as an object, ie. it must
- * be nothing but constants, e.g. String, Integer, or an
- * array of constants. Constants should not be things like
- * regular objects. This is because only standard java.lang
- * type constants can be assured to be available on the other
- * client. Also you don't want to send big objects, except
- * maybe something like an array of bytes or strings. It must
- * be constants that don't need to be sent back for any reason
- * since their identity will be lost in the transfer.
- *
- * This should be used if there are no parms (i.e. it is null).
- */
- public Object callbackAsConstants(int callbackID, int msgID, Object parm) throws CommandException {
-
- try {
- Commands.sendCallbackCommand(out, callbackID, msgID);
- Commands.ValueObject v = new Commands.ValueObject();
- sendObject(parm, SEND_AS_IS, v, out, false);
- out.flush();
- } catch (CommandException e) {
- throw e;
- } catch (Exception e) {
- throw new UnexpectedExceptionCommandException(false, e);
- }
- return run(); // Now run and wait for return.
- }
-
-
- // A retriever is what handles the array part.
- private class Retriever implements Commands.ValueRetrieve {
- int index=0;
- Object[] array;
- Commands.ValueObject worker = new Commands.ValueObject();
-
-
- public Retriever(Object[] anArray) {
- array = anArray;
- }
-
- public Commands.ValueObject nextValue() {
- Object parm = array[index++];
- if (parm != null) {
- if (parm instanceof ICallbackHandler.TransmitableArray) {
- // It is another array, create a new retriever.
- worker.setArrayIDS(new Retriever(((ICallbackHandler.TransmitableArray) parm).getArray()), ((ICallbackHandler.TransmitableArray) parm).getArray().length, Commands.OBJECT_CLASS);
- } else {
- // They may add some new ID's and if there is an error, they
- // won't get released, but that is a slight chance we will have
- // to take because we don't know which ones were new and which
- // ones weren't.
- fillInValue(parm, NOT_A_PRIMITIVE, worker);
- }
- } else
- worker.set();
- return worker;
- }
- };
-
- private static final Object[] NULL_SENT = new Object[1];
- /**
- * Callback, but send the parm as IDs so that proxies
- * will be created for the objects and can be referenced.
- *
- * This should be used even if there is only one parm.
- */
- public Object callbackWithParms(int callbackID, int msgID, Object[] parms) throws CommandException {
- try {
- if (parms == null)
- parms = NULL_SENT;
-
- Commands.ValueObject v = new Commands.ValueObject();
-
- v.setArrayIDS(new Retriever(parms), parms.length, Commands.OBJECT_CLASS);
- Commands.sendCallbackCommand(out, callbackID, msgID);
- Commands.writeValue(out, v, false);
- out.flush();
- } catch (CommandException e) {
- throw e;
- } catch (Exception e) {
- throw new UnexpectedExceptionCommandException(false, e);
- }
- return run(); // Now run and wait for return.
- }
-
- /**
- * A closeHandler has been requested. This is called when
- * not waiting within a loop, so we need to do the cleanup ourselves.
- */
- public void closeHandler() {
- if (isConnected()) {
- try {
- Commands.sendQuitCommand(out);
- } catch (IOException e) {
- } finally {
- if (in != null)
- try {
- in.close();
- } catch (Exception e) {
- }
- if (out != null)
- try {
- out.close();
- } catch (Exception e) {
- }
- close();
- in = null;
- out = null;
- socket = null;
- }
- }
- }
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/CallbackOutputStream.java b/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/CallbackOutputStream.java
deleted file mode 100644
index bbc57bc68..000000000
--- a/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/CallbackOutputStream.java
+++ /dev/null
@@ -1,155 +0,0 @@
-package org.eclipse.jem.internal.proxy.vm.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: CallbackOutputStream.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:57:54 $
- */
-
-import java.io.OutputStream;
-import java.io.IOException;
-import java.io.InterruptedIOException;
-import org.eclipse.jem.internal.proxy.common.CommandException;
-import org.eclipse.jem.internal.proxy.common.remote.IOCommandException;
-/**
- * This is the special stream used to buffer and write a lot
- * of bytes to callback into the client.
- *
- * Before writing any bytes to the client, it will see if the
- * client has sent anything back. If it has, this is an indication
- * that that client has requested that the stream be closed. In that
- * case an InterruptedIOException is raised to indicate that
- * the stream will be closed and no more data will be sent.
- */
-public class CallbackOutputStream extends OutputStream {
-
- protected CallbackHandler fHandler;
- protected RemoteVMServerThread fSvr;
- protected byte[] fBuffer;
- protected int fNextByte = 0;
-
- public CallbackOutputStream(CallbackHandler handler, RemoteVMServerThread svr) {
- fHandler = handler;
- fSvr = svr;
-
- Integer bufSize = Integer.getInteger("proxyvm.bufsize"); //$NON-NLS-1$
- if (bufSize == null)
- bufSize = new Integer(5000);
- fBuffer = new byte[bufSize.intValue()];
- }
-
- protected void clearStream() {
- fSvr.returnCallbackHandler(fHandler);
- fSvr = null;
- fHandler = null;
- fBuffer = null;
- }
-
- protected void processException(CommandException e) throws IOException {
- clearStream();
- throw new IOCommandException(e);
- }
-
- public void flush() throws IOException {
- flushBuffer();
- fHandler.out.flush();
- }
-
- protected void flushBuffer() throws IOException {
- if (fHandler == null)
- throw new IOException("Stream closed. No more operations permitted."); //$NON-NLS-1$
- if (fNextByte > 0) {
- try {
- if (fHandler.in.available() > 0) {
- // There was something waiting. This means a cancel has been requested.
- fHandler.in.skip(fHandler.in.available());
- close(false); // Now close the stream. We need to have the close indicator sent so that the remote side, but we don't need to wait because the terminate response has already been sent.
- throw new InterruptedIOException();
- }
- fHandler.writeBytes(fBuffer, fNextByte);
- fNextByte = 0;
- } catch (CommandException e) {
- processException(e);
- }
- }
- }
-
- /**
- * Closes this output stream and releases any system resources
- * associated with this stream. The general contract of <code>close</code>
- * is that it closes the output stream. A closed stream cannot perform
- * output operations and cannot be reopened.
- * <p>
- * Close will send a -1 to the client and set to indicate it is closed.
- *
- * @exception IOException if an I/O error occurs.
- */
- public void close() throws IOException {
- close(true);
- }
-
-
- protected void close(boolean wait) throws IOException {
- if (fHandler != null) {
- try {
- flushBuffer();
- try {
- fHandler.writeBytes(null, -1);
- fHandler.out.flush();
- if (wait) {
- // Wait means wait for the remote side to send the terminated response.
- // A normal close will do this. If the remote side sent a cancel request, then it has already
- // sent the terminated response and it is waiting for us to send the end-of-file command.
-
- fHandler.in.readByte(); // Block and wait until the terminate request. There shouldn't be anything else in the pipeline.
- if (fHandler.in.available() > 0)
- // There was something else waiting. Let's just clear it out to be safe.
- fHandler.in.skip(fHandler.in.available());
- }
- } catch (CommandException e) {
- processException(e);
- }
- } finally {
- clearStream();
- }
- }
- }
-
- public void write(int b) throws IOException {
- fBuffer[fNextByte++] = (byte) b;
- if (fNextByte >= fBuffer.length)
- flushBuffer();
- }
-
- public void write(byte b[], int off, int len) throws IOException {
- if (b == null) {
- throw new NullPointerException();
- } else if ((off < 0) || (off > b.length) || (len < 0) ||
- ((off + len) > b.length) || ((off + len) < 0)) {
- throw new IndexOutOfBoundsException();
- } else if (len == 0) {
- return;
- }
-
- while (len > 0) {
- int move = fBuffer.length-fNextByte;
- if (len < move)
- move = len;
- System.arraycopy(b, off, fBuffer, fNextByte, move);
- len -= move;
- off += move;
- fNextByte += move;
- if (fNextByte >= fBuffer.length)
- flushBuffer();
- }
- }
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/ClassHelper.java b/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/ClassHelper.java
deleted file mode 100644
index 2d62227e0..000000000
--- a/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/ClassHelper.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.eclipse.jem.internal.proxy.vm.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: ClassHelper.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:57:54 $
- */
-
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
-
-/**
- * This class is a helper for Class accessing functions.
- * Its main function is to bypass security. This is because
- * we don't care about security for remote vm. Security is
- * handled by the IDE and compilor over there. We do what
- * we're told.
- *
- * @author richkulp
- */
-public class ClassHelper {
-
- /**
- * Constructor for ClassHelper.
- */
- private ClassHelper() {
- super();
- }
-
- private static final Class[] EMPTY_CLASS_ARRAY = new Class[0];
- private static final Object[] EMPTY_OBJECT_ARRAY = new Object[0];
- public static Object newInstance(Class targetClass) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException, InstantiationException {
- // We want to get the default ctor, which is in the declared list. No need
- // to worry about inheritance because ctors are never virtual.
- Constructor ctor = targetClass.getDeclaredConstructor(EMPTY_CLASS_ARRAY);
- ctor.setAccessible(true);
- return ctor.newInstance(EMPTY_OBJECT_ARRAY);
- }
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/ConnectionHandler.java b/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/ConnectionHandler.java
deleted file mode 100644
index 906b1e2c6..000000000
--- a/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/ConnectionHandler.java
+++ /dev/null
@@ -1,926 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.vm.remote;
-/*
- * $RCSfile: ConnectionHandler.java,v $
- * $Revision: 1.14 $ $Date: 2005/06/15 20:19:11 $
- */
-
-
-import java.io.*;
-import java.lang.reflect.Array;
-import java.net.Socket;
-import java.net.SocketException;
-import java.util.*;
-
-import org.eclipse.jem.internal.proxy.common.CommandException;
-import org.eclipse.jem.internal.proxy.common.remote.*;
-import org.eclipse.jem.internal.proxy.initParser.*;
-import org.eclipse.jem.internal.proxy.initParser.tree.NoExpressionValueException;
-
-/**
- * This handles one connection.
- */
-
-public class ConnectionHandler {
-
- protected Socket socket;
- final protected RemoteVMServerThread server;
- final protected Thread connectionThread;
- protected DataInputStream in;
- protected DataOutputStream out;
-
- // Kludge: Bug in Linux 1.3.xxx of JVM. Closing a socket while the socket is being read/accept will not interrupt the
- // wait. Need to timeout to the socket read/accept before the socket close will be noticed. This has been fixed
- // in Linux 1.4. So on Linux 1.3 need to put timeouts in on those sockets that can be separately closed while reading/accepting.
- static boolean LINUX_1_3 = "linux".equalsIgnoreCase(System.getProperty("os.name")) && System.getProperty("java.version","").startsWith("1.3"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-
- /**
- * This may be running as a callback, in that case there is no connectionThread.
- */
- public ConnectionHandler(Socket sc, RemoteVMServerThread svr, Thread connectionThread) {
- socket = sc;
- server = svr;
- this.connectionThread = connectionThread;
-
- Integer bufSize = Integer.getInteger("proxyvm.bufsize"); //$NON-NLS-1$
- if (bufSize == null)
- bufSize = new Integer(5000);
-
- try {
- out = new DataOutputStream(new BufferedOutputStream(socket.getOutputStream(), bufSize.intValue()));
- in = new DataInputStream(new BufferedInputStream(socket.getInputStream(), bufSize.intValue()));
- } catch (IOException e) {
- }
-
- }
-
- /**
- * Did this construct correctly.
- * This is needed because an exception could be thrown in the ctor and
- * that's not a good thing to do.
- */
- public boolean isConnected() {
- return socket != null;
- }
-
- /**
- * Request the thread to close down.
- */
- public void close() {
- if (socket != null) {
- try {
- Socket s = socket;
- socket = null;
- s.close();
- } catch (Exception e) {
- }
- }
- }
-
- // Map of ID to expression processers that are currently being processed.
- private Map expressionProcessors = new HashMap();
-
- /**
- * Process and loop until told to stop. A callback_done will stop
- * the loop and will return a result. Otherwise null is returned.
- */
- public Object run() throws CommandException {
- Object result = null;
- boolean shutdown = false;
- boolean closeWhenDone = true;
- Commands.ValueObject valueObject = new Commands.ValueObject(); // Working value object so not continually recreated.
- InvokableValueSender valueSender = new InvokableValueSender(); // Working valuesender so not continually recreated.
- try {
- boolean doLoop = true;
-
- /**
- * Note: In the cases below you will see a lot of finally clauses that null variables out.
- * This is because this is a long running loop, and variables declared within blocks are not
- * garbage collected until the method is terminated, so these variables once set would never
- * be GC'd. The nulling at the end of the case makes sure that any of those objects set are
- * now available for garbage collection when necessary.
- */
- while(doLoop && isConnected()) {
- byte cmd = 0;
- try {
- if (LINUX_1_3)
- socket.setSoTimeout(1000); // Linux 1.3 bug, see comment on LINUX_1_3
- cmd = in.readByte();
- if (LINUX_1_3 && isConnected())
- socket.setSoTimeout(0); // Linux 1.3 bug, see comment on LINUX_1_3
- } catch (InterruptedIOException e) {
- continue; // Timeout, try again
- }
- switch (cmd) {
- case Commands.QUIT_CONNECTION:
- doLoop = false;
- break; // Close this connection
-
- case Commands.TERMINATE_SERVER:
- doLoop = false;
- shutdown = true; // Shutdown everything
- break;
-
- case Commands.GET_CLASS:
- String className = in.readUTF();
- Class aClass = null;
- Class superClass = null;
- String superClassName = null;
- boolean added = false;
- try {
- aClass = Class.forName(className); // Turns out using JNI format for array type will work fine.
-
- added = server.getIdentityID(aClass, valueObject);
- boolean isInterface = aClass.isInterface();
- boolean isAbstract = java.lang.reflect.Modifier.isAbstract(aClass.getModifiers());
- superClass = aClass.getSuperclass();
- superClassName = (superClass != null) ? superClass.getName() : ""; //$NON-NLS-1$
- out.writeByte(Commands.GET_CLASS_RETURN);
- out.writeInt(valueObject.objectID);
- out.writeBoolean(isInterface);
- out.writeBoolean(isAbstract);
- out.writeUTF(superClassName);
- out.flush();
- } catch (ClassNotFoundException e) {
- valueObject.set();
- Commands.sendErrorCommand(out, Commands.GET_CLASS_NOT_FOUND, valueObject);
- } catch (ExceptionInInitializerError e) {
- sendException(e.getException(), valueObject, out);
- } catch (LinkageError e) {
- sendException(e, valueObject, out);
- } catch (Throwable e) {
- // Something bad, did we add a class? If we did remove it from the table.
- if (added)
- server.removeObject(server.getObject(valueObject.objectID));
- throw e;
- } finally {
- // clear out for GC to work.
- className = null;
- aClass = null;
- superClass = null;
- superClassName = null;
- valueObject.set();
- }
- break;
-
- case Commands.GET_CLASS_FROM_ID:
- int classID = in.readInt();
- try {
- aClass = (Class) server.getObject(classID);
- boolean isInterface = aClass.isInterface();
- boolean isAbstract = java.lang.reflect.Modifier.isAbstract(aClass.getModifiers());
- superClass = aClass.getSuperclass();
- superClassName = (superClass != null) ? superClass.getName() : ""; //$NON-NLS-1$
- out.writeByte(Commands.GET_CLASS_ID_RETURN);
- out.writeUTF(aClass.getName());
- out.writeBoolean(isInterface);
- out.writeBoolean(isAbstract);
- out.writeUTF(superClassName);
- out.flush();
- } catch (ClassCastException e) {
- valueObject.set();
- Commands.sendErrorCommand(out, Commands.CLASS_CAST_EXCEPTION, valueObject);
- } finally {
- // clear out for GC to work.
- aClass = null;
- superClass = null;
- superClassName = null;
- valueObject.set();
- }
- break;
-
- case Commands.GET_OBJECT_DATA:
- int objectID = in.readInt();
- Object anObject = null;
- try {
- anObject = server.getObject(objectID);
- valueObject.setObjectID(objectID, server.getIdentityID(anObject.getClass()));
- Commands.writeValue(out, valueObject, true);
- } catch (ClassCastException e) {
- valueObject.set();
- Commands.sendErrorCommand(out, Commands.CLASS_CAST_EXCEPTION, valueObject);
- } finally {
- anObject = null; // Clear out for GC to work
- valueObject.set();
- }
- break;
-
- case Commands.RELEASE_OBJECT:
- int id = in.readInt();
- server.removeObject(server.getObject(id));
- break;
-
- case Commands.NEW_INIT_STRING:
- classID = in.readInt(); // ID Of class to do new upon.
- String initString = in.readUTF(); // The init string.
- Object newValue = null;
- Class theClass = null;
- try {
- theClass = (Class) server.getObject(classID);
- if (theClass == null) {
- // The class wasn't found. So imply ClassNotFound exception.
- throw new ClassNotFoundException();
- }
-
- InitializationStringParser parser = null;
- try {
- parser = InitializationStringParser.createParser(initString);
- newValue = parser.evaluate();
- boolean primitive = parser.isPrimitive();
- // If expected class is Void.TYPE, that means don't test the type of the result
- // to verify if correct type, just return what it really is.
- if (theClass != Void.TYPE && primitive != theClass.isPrimitive()) {
- valueObject.set();
- Commands.sendErrorCommand(out, Commands.CLASS_CAST_EXCEPTION, valueObject);
- continue; // Goto next command.
- }
- if (primitive) {
- try {
- // Need to do special tests for compatibility and assignment.
- sendObject(newValue, classID != Commands.VOID_TYPE ? classID : server.getIdentityID(parser.getExpectedType()), valueObject, out, true); // This will make sure it goes out as the correct primitive type
- } catch (ClassCastException e) {
- // The returned type is not of the correct type for what is expected.
- valueObject.set();
- Commands.sendErrorCommand(out, Commands.CLASS_CAST_EXCEPTION, valueObject);
- continue; // Goto next command
- }
- } else {
- if (newValue != null) {
- // Test to see if they are compatible. (Null can be assigned to any object,
- // so that is why it was tested out above).
- // If expected class is Void.TYPE, that means don't test the type of the result
- // to verify if correct type, just return what it really is.
- if (theClass != Void.TYPE && !theClass.isInstance(newValue)) {
- // The returned type is not of the correct type for what is expected.
- valueObject.set();
- Commands.sendErrorCommand(out, Commands.CLASS_CAST_EXCEPTION, valueObject);
- continue; // Goto next command
- }
- }
- sendObject(newValue, NOT_A_PRIMITIVE, valueObject, out, true); // Send out as an object.
- }
- } catch (InitializationStringEvaluationException e) {
- if (e instanceof EvaluationException) {
- // Want to return the real exception.
- sendException(e.getOriginalException(), valueObject, out);
- } else {
- // Couldn't be evaluated, return an error for this.
- setExceptionIntoValue(e.getOriginalException(), valueObject);
- Commands.sendErrorCommand(out, Commands.CANNOT_EVALUATE_STRING, valueObject);
- }
- } finally {
- parser = null; // Clear out for GC to work
- }
- } catch (Throwable e) {
- sendException(e, valueObject, out);
- } finally {
- // Clear out for GC to work
- initString = null;
- theClass = null;
- newValue = null;
- valueObject.set();
- }
- break;
-
- case Commands.INVOKE:
- Object target = null;
- Object[] parms = null;
- Class returnType = null;
- java.lang.reflect.Method aMethod = null;
- try {
- int methodID = in.readInt(); // ID of method to invoke
- aMethod = (java.lang.reflect.Method) server.getObject(methodID); // Method to invoke
- Commands.readValue(in, valueObject);
- target = getInvokableObject(valueObject);
- Commands.readValue(in, valueObject);
- if (valueObject.type == Commands.ARRAY_IDS) {
- // It is an array containing IDs, as it normally would be.
- valueSender.initialize(valueObject);
- Commands.readArray(in, valueObject.anInt, valueSender, valueObject, false);
- parms = (Object[]) valueSender.getArray();
- } else {
- // It is all objects or null, so it should be an Object[] or null. If not, then this is an error.
- parms = (Object[]) valueObject.anObject;
- }
-
- if (!aMethod.isAccessible())
- aMethod.setAccessible(true); // We will allow all to occur. Let access control be handled by IDE and compiler.
- newValue = aMethod.invoke(target, parms);
- returnType = aMethod.getReturnType();
- if (returnType.isPrimitive()) {
- int returnTypeID = server.getIdentityID(returnType);
- // Need to tell sendObject the correct primitive type.
- sendObject(newValue, returnTypeID, valueObject, out, true);
-
- } else {
- sendObject(newValue, NOT_A_PRIMITIVE, valueObject, out, true); // Just send the object back. sendObject knows how to iterpret the type
- }
- } catch (CommandException e) {
- throw e; // Throw it again. These we don't want to come up as an exception proxy. These should end the thread.
- } catch (java.lang.reflect.InvocationTargetException e) {
- // This is a wrappered exception. Return the wrappered one so it looks like
- // it was the real one. (Sometimes the method being invoked is on a java.lang.reflect.Constructor.newInstance,
- // which in turn is an InvocationTargetException, so we will go until we don't have an InvocationTargetException.
- Throwable t = e;
- do {
- t = ((java.lang.reflect.InvocationTargetException) t).getTargetException();
- } while (t instanceof java.lang.reflect.InvocationTargetException);
- sendException(t, valueObject, out);
- } catch (Throwable e) {
- sendException(e, valueObject, out); // Turn it into a exception proxy on the client.
- } finally {
- // Clear out for GC to work
- valueObject.set();
- parms = null;
- target = null;
- aMethod = null;
- returnType = null;
- newValue = null;
- valueSender.clear();
- }
- break;
-
- case Commands.INVOKE_WITH_METHOD_PASSED:
- aClass = null;
- String methodName = null;
- Class[] parmTypes = null;
- target = null;
- parms = null;
- returnType = null;
- aMethod = null;
-
- try {
- Commands.readValue(in, valueObject);
- aClass = (Class) getInvokableObject(valueObject); // The class that has the method.
- methodName = in.readUTF();
- Commands.readValue(in, valueObject);
- if (valueObject.type == Commands.ARRAY_IDS) {
- // It is an array containing IDs, as it normally would be.
- valueSender.initialize(valueObject);
- Commands.readArray(in, valueObject.anInt, valueSender, valueObject, false);
- parmTypes = (Class[]) valueSender.getArray();
- } else {
- // It null, so it should be an null. If not, then this is an error.
- parmTypes = null;
- }
- aMethod = aClass.getMethod(methodName, parmTypes);
-
- // Now we get the info for the invocation of the method and execute it.
- Commands.readValue(in, valueObject);
- target = getInvokableObject(valueObject);
- Commands.readValue(in, valueObject);
- if (valueObject.type == Commands.ARRAY_IDS) {
- // It is an array containing IDs, as it normally would be.
- valueSender.initialize(valueObject);
- Commands.readArray(in, valueObject.anInt, valueSender, valueObject, false);
- parms = (Object[]) valueSender.getArray();
- } else {
- // It is all objects or null, so it should be an Object[] or null. If not, then this is an error.
- parms = (Object[]) valueObject.anObject;
- }
-
- if (!aMethod.isAccessible())
- aMethod.setAccessible(true); // We will allow all to occur. Let access control be handled by IDE and compiler.
- newValue = aMethod.invoke(target, parms);
- returnType = aMethod.getReturnType();
- if (returnType.isPrimitive()) {
- int returnTypeID = server.getIdentityID(returnType);
- // Need to tell sendObject the correct primitive type.
- sendObject(newValue, returnTypeID, valueObject, out, true);
-
- } else {
- sendObject(newValue, NOT_A_PRIMITIVE, valueObject, out, true); // Just send the object back. sendObject knows how to iterpret the type
- }
- } catch (CommandException e) {
- throw e; // Throw it again. These we don't want to come up as an exception proxy. These should end the thread.
- } catch (java.lang.reflect.InvocationTargetException e) {
- // This is a wrappered exception. Return the wrappered one so it looks like
- // it was the real one. (Sometimes the method being invoked is on a java.lang.reflect.Constructor.newInstance,
- // which in turn is an InvocationTargetException, so we will go until we don't have an InvocationTargetException.
- Throwable t = e;
- do {
- t = ((java.lang.reflect.InvocationTargetException) t).getTargetException();
- } while (t instanceof java.lang.reflect.InvocationTargetException);
- sendException(t, valueObject, out);
-
- } catch (Throwable e) {
- sendException(e, valueObject, out); // Turn it into a exception proxy on the client.
- } finally {
- aClass = null;
- methodName = null;
- parmTypes = null;
- // Clear out for GC to work
- valueObject.set();
- parms = null;
- target = null;
- aMethod = null;
- returnType = null;
- newValue = null;
- valueSender.clear();
- }
- break;
-
- case Commands.GET_ARRAY_CONTENTS:
- try {
- target = server.getObject(in.readInt()); // Array to get the ids for.
- valueObject.setArrayIDS(new ArrayContentsRetriever(target), Array.getLength(target), Commands.OBJECT_CLASS);
- Commands.writeValue(out, valueObject, true); // Write it back as a value command.
- } catch (CommandException e) {
- throw e; // Throw it again. These we don't want to come up as an exception proxy. These should end the thread.
- } catch (Throwable e) {
- sendException(e, valueObject, out); // Turn it into a exception proxy on the client.
- } finally {
- target = null;
- valueObject.set();
- }
- break;
-
- case Commands.CALLBACK_DONE:
- try {
- if (connectionThread != null) {
- valueObject.set();
- Commands.sendErrorCommand(out, Commands.UNKNOWN_COMMAND_SENT, valueObject);
- } else {
- try {
- Commands.readBackValue(in, valueObject, Commands.NO_TYPE_CHECK);
- if (valueObject.type == Commands.ARRAY_IDS) {
- // It is an array containing IDs, as it normally would be.
- valueSender.initialize(valueObject);
- Commands.readArray(in, valueObject.anInt, valueSender, valueObject, false);
- result = (Object[]) valueSender.getArray();
- } else {
- result = getInvokableObject(valueObject);
- }
- doLoop = false; // We need to terminate and return result
- closeWhenDone = false; // Don't close, we will continue.
- } catch (CommandErrorException e) {
- // There was an command error on the other side. This means
- // connection still good, but don't continue the callback processing.
- doLoop = false; // We need to terminate and return result
- closeWhenDone = false; // Don't close, we will continue.
- throw e; // Let it go on out.
- }
- }
- } finally {
- valueObject.set();
- valueSender.clear();
- }
- break;
-
- case Commands.ERROR:
- try {
- // Got an error command. Don't know what to do but read the
- // value and simply print it out.
- Commands.readValue(in, valueObject);
- result = getInvokableObject(valueObject);
- System.out.println("Error sent to server: Result=" + result); //$NON-NLS-1$
- } finally {
- valueObject.set();
- }
- break;
-
- case Commands.EXPRESSION_TREE_COMMAND:
- try {
- processExpressionCommand(valueObject, valueSender);
- } finally {
- valueObject.set();
- valueSender.clear();
- }
- break;
-
- default:
- // Unknown command. We don't know how long it is, so we need to shut the connection down.
- System.err.println("Error: Invalid cmd send to server: Cmd=" + cmd); //$NON-NLS-1$
- doLoop = false;
- closeWhenDone = true;
- break;
- }
- }
- } catch (EOFException e) {
- // This is ok. It means that the connection on the other side was terminated.
- // So just accept this and go down.
- } catch (CommandException e) {
- throw e;
- } catch (SocketException e) {
- if (socket != null)
- throw new UnexpectedExceptionCommandException(false, e); // socket null means a valid close request
- } catch (Throwable e) {
- e.printStackTrace();
- } finally {
- if (closeWhenDone) {
- try {
- for (Iterator itr = expressionProcessors.values().iterator(); itr.hasNext();) {
- ExpressionProcesserController exp = (ExpressionProcesserController) itr.next();
- exp.close();
- }
- } finally {
- expressionProcessors.clear();
- }
-
- if (in != null)
- try {
- in.close();
- } catch (Exception e) {
- }
- in = null;
- if (out != null)
- try {
- out.close();
- } catch (Exception e) {
- }
- out = null;
- close();
- }
- }
-
- if (closeWhenDone && connectionThread != null)
- server.removeConnectionThread(connectionThread);
- if (shutdown)
- server.requestShutdown();
-
- return result;
- }
-
- // A retriever is what handles the array get contents.
- private class ArrayContentsRetriever implements Commands.ValueRetrieve {
- int index=0;
- Object array;
- int length;
- int componentType;
- Commands.ValueObject worker = new Commands.ValueObject();
-
-
- public ArrayContentsRetriever(Object anArray) {
- array = anArray;
- length = Array.getLength(anArray);
- if (anArray.getClass().getComponentType().isPrimitive()) {
- componentType = server.getIdentityID(anArray.getClass().getComponentType());
- } else
- componentType = NOT_A_PRIMITIVE;
- }
-
- public Commands.ValueObject nextValue() {
- fillInValue(Array.get(array, index++), componentType, worker);
- return worker;
- }
- };
-
-
- private void processExpressionCommand(Commands.ValueObject valueObject, InvokableValueSender valueSender) throws IOException, CommandException {
- Integer expressionID = new Integer(in.readInt());
- byte cmdType = in.readByte();
- ExpressionProcesserController exp = null;
- switch (cmdType) {
- case ExpressionCommands.START_EXPRESSION_TREE_PROCESSING:
- byte trace = in.readByte();
- if (trace == ExpressionCommands.TRACE_DEFAULT)
- exp = new ExpressionProcesserController(server, this);
- else
- exp = new ExpressionProcesserController(server, this, trace == ExpressionCommands.TRACE_ON);
- expressionProcessors.put(expressionID, exp);
- break;
- case ExpressionCommands.TRANSFER_EXPRESSION_REQUEST:
- exp = (ExpressionProcesserController) expressionProcessors.remove(expressionID);
- sendObject(exp, NOT_A_PRIMITIVE, valueObject, out, true);
- break;
- case ExpressionCommands.RESUME_EXPRESSION_REQUEST:
- Commands.readValue(in, valueObject);
- exp = (ExpressionProcesserController) getInvokableObject(valueObject);
- expressionProcessors.put(expressionID, exp);
- break;
- case ExpressionCommands.PUSH_EXPRESSION:
- exp = (ExpressionProcesserController) expressionProcessors.get(expressionID);
- exp.process(in);
- break;
- case ExpressionCommands.SYNC_REQUEST:
- boolean haveProxies = in.readBoolean(); // See if we expression proxy ids that need to be resolved
- if (haveProxies) {
- Commands.readValue(in, valueObject);
- valueSender.initialize(valueObject);
- Commands.readArray(in, valueObject.anInt, valueSender, valueObject, false);
- }
-
- exp = (ExpressionProcesserController) expressionProcessors.get(expressionID);
- if (haveProxies)
- sendExpressionProxyResolutions(valueObject, (int[]) valueSender.getArray(), exp);
- if (exp.noErrors()) {
- valueObject.set(true); // Mark that all is good.
- Commands.writeValue(out, valueObject, true, true);
- } else {
- processExpressionError(exp, valueObject);
- }
- break;
- case ExpressionCommands.PULL_VALUE_REQUEST:
- haveProxies = in.readBoolean(); // See if we expression proxy ids that need to be resolved
- if (haveProxies) {
- Commands.readValue(in, valueObject);
- valueSender.initialize(valueObject);
- Commands.readArray(in, valueObject.anInt, valueSender, valueObject, false);
- }
-
- exp = (ExpressionProcesserController) expressionProcessors.get(expressionID);
- if (haveProxies)
- sendExpressionProxyResolutions(valueObject, (int[]) valueSender.getArray(), exp);
- if (exp.noErrors()) {
- try {
- Object[] pulledValue = exp.pullValue();
- // Send back the command code for pull value. Don't flush. We will flush when all done.
- if (((Class) pulledValue[1]).isPrimitive()) {
- int returnTypeID = server.getIdentityID(pulledValue[1]);
- // Need to tell sendObject the correct primitive type.
- sendObject(pulledValue[0], returnTypeID, valueObject, out, true, true);
-
- } else {
- sendObject(pulledValue[0], NOT_A_PRIMITIVE, valueObject, out, true, true); // Just send the object back. sendObject knows how to iterpret the type
- }
- } catch (NoExpressionValueException e) {
- sendNoValueErrorCommand(exp, valueObject);
- }
- } else
- processExpressionError(exp, valueObject);
- break;
- case ExpressionCommands.END_EXPRESSION_TREE_PROCESSING:
- exp = (ExpressionProcesserController) expressionProcessors.remove(expressionID);
- exp.close();
- break;
- }
- }
-
- /*
- * @param is
- * @param exp
- *
- * @since 1.1.0
- */
- private void sendExpressionProxyResolutions(Commands.ValueObject valueObject, final int[] proxyIDs, final ExpressionProcesserController exp) throws CommandException {
- class ExpressionProxyRetriever implements Commands.ValueRetrieve {
- int index = 0;
- Object[] proxyResolution = new Object[2];
- Commands.ValueObject worker = new Commands.ValueObject();
-
- public Commands.ValueObject nextValue() {
- int proxyID = proxyIDs[index++];
- if (exp.pullExpressionProxyValue(proxyID, proxyResolution)) {
- if (proxyResolution[1] != Void.TYPE) {
- if (((Class) proxyResolution[1]).isPrimitive()) {
- int returnTypeID = server.getIdentityID(proxyResolution[1]);
- // Need to tell worker the correct primitive type.
- fillInValue(proxyResolution[0], returnTypeID, worker);
- } else {
- fillInValue(proxyResolution[0], NOT_A_PRIMITIVE, worker);
- }
- } else
- worker.setFlag(ExpressionCommands.EXPRESSIONPROXY_VOIDTYPE); // It was resolved, but to not set due to void type of expression.
- } else
- worker.setFlag(ExpressionCommands.EXPRESSIONPROXY_NOTRESOLVED); // It wasn't resolved.
-
- return worker;
- }
- };
-
- valueObject.setArrayIDS(new ExpressionProxyRetriever(), proxyIDs.length, Commands.OBJECT_CLASS);
- Commands.writeValue(out, valueObject, true, false); // Write it back as a value command.
-
- }
-
- private void processExpressionError(ExpressionProcesserController exp, Commands.ValueObject valueObject) throws CommandException {
- if (exp.isNoExpressionValue()) {
- sendNoValueErrorCommand(exp, valueObject);
- } else
- sendException(exp.getErrorThrowable(), valueObject, out);
- }
-
- /*
- * @param exp
- * @param valueObject
- * @throws CommandException
- *
- * @since 1.1.0
- */
- private void sendNoValueErrorCommand(ExpressionProcesserController exp, Commands.ValueObject valueObject) throws CommandException {
- setExceptionIntoValue(exp.getErrorThrowable(), valueObject);
- Commands.sendErrorCommand(out, ExpressionCommands.EXPRESSION_NOEXPRESSIONVALUE_EXCEPTION, valueObject);
- }
-
-protected static final int NOT_A_PRIMITIVE = Commands.NOT_AN_ID;
-protected static final int SEND_AS_IS = -2; // This means sends as an object not as an id.
-
-public static final int CLASS_ADDED = 1;
-public static final int OBJECT_ADDED = 2;
-public int fillInValue(Object object, int primitiveTypeID, Commands.ValueObject valueObject) {
- int added = 0;
- if (object == null) {
- valueObject.set();
- } else {
- int classID = 0;
- if (primitiveTypeID != NOT_A_PRIMITIVE && primitiveTypeID != SEND_AS_IS) {
- classID = primitiveTypeID; // The object is really supposed to be a primitive of this type
- switch (classID) {
- case Commands.BOOLEAN_TYPE:
- valueObject.set(((Boolean) object).booleanValue());
- break;
- case Commands.INTEGER_TYPE:
- if (object instanceof Character)
- valueObject.set((int) ((Character) object).charValue()); // Because char can be widened to an int
- else
- valueObject.set(((Number) object).intValue());
- break;
- case Commands.BYTE_TYPE:
- valueObject.set(((Number) object).byteValue());
- break;
- case Commands.CHARACTER_TYPE:
- valueObject.set(((Character) object).charValue());
- break;
- case Commands.DOUBLE_TYPE:
- if (object instanceof Character)
- valueObject.set((double) ((Character) object).charValue()); // Because char can be widened to a double
- else
- valueObject.set(((Number) object).doubleValue());
- break;
- case Commands.FLOAT_TYPE:
- if (object instanceof Character)
- valueObject.set((float) ((Character) object).charValue()); // Because char can be widened to a float
- else
- valueObject.set(((Number) object).floatValue());
- break;
- case Commands.SHORT_TYPE:
- valueObject.set(((Number) object).shortValue());
- break;
- case Commands.LONG_TYPE:
- if (object instanceof Character)
- valueObject.set((long) ((Character) object).charValue()); // Because char can be widened to a long
- else
- valueObject.set(((Number) object).longValue());
- break;
- }
- } else {
- // It's not a primitive.
- boolean addObject = false, addClass = false;
- Class objClass = object.getClass();
- classID = server.getIdentityID(objClass);
- if (classID == RemoteVMServerThread.ID_NOT_FOUND) {
- Commands.ValueObject classValue = new Commands.ValueObject();
- addClass = server.getIdentityID(objClass, classValue);
- if (addClass)
- added |= CLASS_ADDED;
- classID = classValue.objectID;
- }
-
- switch (classID) {
- case Commands.BYTE_CLASS:
- valueObject.set((Byte) object);
- break;
- case Commands.CHARACTER_CLASS:
- valueObject.set((Character) object);
- break;
- case Commands.DOUBLE_CLASS:
- valueObject.set((Double) object);
- break;
- case Commands.FLOAT_CLASS:
- valueObject.set((Float) object);
- break;
- case Commands.INTEGER_CLASS:
- valueObject.set((Integer) object);
- break;
- case Commands.LONG_CLASS:
- valueObject.set((Long) object);
- break;
- case Commands.SHORT_CLASS:
- valueObject.set((Short) object);
- break;
- case Commands.BOOLEAN_CLASS:
- valueObject.set((Boolean) object);
- break;
- case Commands.STRING_CLASS:
- valueObject.set((String) object);
- break;
- case Commands.BIG_DECIMAL_CLASS:
- valueObject.set(object, Commands.BIG_DECIMAL_CLASS);
- break;
- case Commands.BIG_INTEGER_CLASS:
- valueObject.set(object, Commands.BIG_INTEGER_CLASS);
- break;
- default:
- if (primitiveTypeID != SEND_AS_IS) {
- addObject = server.getIdentityID(object, valueObject);
- if (addObject) {
- added |= OBJECT_ADDED;
- valueObject.setObjectID(valueObject.objectID, classID);
- } else
- valueObject.setObjectID(valueObject.objectID);
- } else
- valueObject.set(object, classID);
- break;
- }
- }
- }
-
- return added;
-}
-
-public void sendObject(Object object, int primitiveTypeID, Commands.ValueObject valueObject, DataOutputStream out, boolean writeAsCommand) throws CommandException {
- sendObject(object, primitiveTypeID, valueObject, out, writeAsCommand, writeAsCommand);
-}
-public void sendObject(Object object, int primitiveTypeID, Commands.ValueObject valueObject, DataOutputStream out, boolean writeAsCommand, boolean flush) throws CommandException {
- int added = fillInValue(object, primitiveTypeID, valueObject);
- boolean sent = false;
- try {
- Commands.writeValue(out, valueObject, writeAsCommand, flush); // Write it back as a value command.
- sent = true;
- } finally {
- if (!sent) {
- // Ending due to some problem, so clean up any added objects from the id table.
- if ((added & OBJECT_ADDED) != 0)
- server.removeObject(valueObject.objectID);
- if ((added & CLASS_ADDED) != 0)
- server.removeObject(valueObject.classID);
- }
- }
-}
-
-
- public void sendException(Throwable e, Commands.ValueObject value, DataOutputStream out) throws CommandException {
- // Exception ocurred, return a value command with the exception within it.
- setExceptionIntoValue(e, value);
- Commands.sendErrorCommand(out, Commands.THROWABLE_SENT, value);
- }
-
- public void setExceptionIntoValue(Throwable e, Commands.ValueObject value) {
- server.getIdentityID(e, value); // It should always create it so we don't need to know.
- int eID = value.objectID;
- Class eClass = e.getClass();
- server.getIdentityID(eClass, value);
- int eClassID = value.objectID;
- value.setException(eID, eClassID);
- }
-
- /**
- * From the valueObject, get an Object that is invokable (i.e. can be the target of an invoke, or one of its parms).
- * If it is an array type, the a ValueSender is returned. The invoker needs to then cast this
- * to a ValueSender and call the readArray routine.
- */
- public Object getInvokableObject(final Commands.ValueObject value) {
- switch (value.type) {
- case Commands.NEW_OBJECT_ID:
- case Commands.OBJECT_ID:
- // These need to have access to the server to get the real object
- return server.getObject(value.objectID);
- default:
- // These have all the info needed within the value object itself, so ask it.
- return value.getAsObject();
- }
- }
-
- // Helper class for getting an array.
- private class InvokableValueSender implements Commands.ValueSender {
- int index = 0;
- Object array;
-
- public InvokableValueSender() {
- }
-
- public InvokableValueSender(Commands.ValueObject arrayHeader) {
- initialize(arrayHeader);
- }
-
- public void initialize(Commands.ValueObject arrayHeader) {
- index = 0;
- Class arrayType = (Class) server.getObject(arrayHeader.classID);
- array = java.lang.reflect.Array.newInstance(arrayType, arrayHeader.anInt);
- }
-
- public void clear() {
- array = null;
- index = 0;
- }
-
- public Object getArray() {
- return array;
- }
-
- // A new value is being sent to the array
- public void sendValue(Commands.ValueObject value) {
- java.lang.reflect.Array.set(array, index++, getInvokableObject(value)); // add it to the array
- }
-
- // The next entry is an array too!
- public Commands.ValueSender nestedArray(Commands.ValueObject arrayHeader) {
- InvokableValueSender sender = new InvokableValueSender(arrayHeader);
- // Take the newly created array and put it into the current array.
- java.lang.reflect.Array.set(array, index++, sender.getArray());
- return sender;
- }
- }
-
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/ConnectionThread.java b/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/ConnectionThread.java
deleted file mode 100644
index a9577030c..000000000
--- a/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/ConnectionThread.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package org.eclipse.jem.internal.proxy.vm.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: ConnectionThread.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:57:54 $
- */
-
-
-import java.net.Socket;
-
-import org.eclipse.jem.internal.proxy.common.CommandException;
-/**
- * This is a thread to handle one connection.
- */
-
-public class ConnectionThread extends Thread {
-
- final protected ConnectionHandler connectionHandler;
-
- public ConnectionThread(Socket sc, RemoteVMServerThread svr, String name) {
- super(name);
-
- connectionHandler = new ConnectionHandler(sc, svr, this);
- }
-
- /**
- * Request the thread to close down.
- */
- public void close() {
- try {
- connectionHandler.close();
- } catch (Exception e) {
- }
- }
-
- public void run() {
- try {
- connectionHandler.run();
- } catch (CommandException e) {
- e.printStackTrace();
- }
- }
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/ExpressionProcesserController.java b/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/ExpressionProcesserController.java
deleted file mode 100644
index a50ea794c..000000000
--- a/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/ExpressionProcesserController.java
+++ /dev/null
@@ -1,731 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: ExpressionProcesserController.java,v $
- * $Revision: 1.10 $ $Date: 2005/06/22 21:05:17 $
- */
-package org.eclipse.jem.internal.proxy.vm.remote;
-
-import java.io.DataInputStream;
-import java.io.IOException;
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.jem.internal.proxy.common.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-import org.eclipse.jem.internal.proxy.common.remote.ExpressionCommands;
-import org.eclipse.jem.internal.proxy.initParser.tree.*;
-
-
-/**
- * This processes the commands for expression processing and sends them over
- * to the common expression processer.
- *
- * This will be instantiated on the start of an expression. And then
- * each expression request from the IDE will be sent into here. The
- * reason this guy doesn't hold onto the connection and process the
- * entire expression is because we need to return to the connection
- * handler to keep the connection live (there is timeouts and stuff
- * in there that we don't want to duplicate here).
- * <p>
- * If there are any expression processing errors (versus hard io errors) we
- * will save up the error but don't do any more processing other than to make
- * sure we read the complete subcommand. This is so that the inputstream is left
- * in a valid state without standed data.
- * <p>
- * The at the sync point (either get value or sync subcommand) we will send back
- * the error.
- *
- * @since 1.0.0
- */
-public class ExpressionProcesserController {
-
-
- protected final RemoteVMServerThread server;
- protected final ConnectionHandler connHandler;
- protected final ExpressionProcesser exp;
- protected Commands.ValueObject workerValue = new Commands.ValueObject(); // A worker value object so we don't need to keep creating them and releasing them.
- private ClassLoader classLoader;
-
- /**
- * Create with a default expression processer and use default flag for trace.
- * @param server
- *
- * @since 1.0.0
- */
- public ExpressionProcesserController(RemoteVMServerThread server, ConnectionHandler connHandler) {
- this(server, connHandler, new ExpressionProcesser(Boolean.getBoolean(ExpressionCommands.EXPRESSIONTRACE), Long.getLong(ExpressionCommands.EXPRESSIONTRACE_TIMER_THRESHOLD, -1L).longValue()));
- }
-
- /**
- * Construct with a default expression processer.
- * @param server
- * @param connHandler
- * @param trace
- *
- * @since 1.1.0
- */
- public ExpressionProcesserController(RemoteVMServerThread server, ConnectionHandler connHandler, boolean trace) {
- this(server, connHandler, new ExpressionProcesser(trace, Long.getLong(ExpressionCommands.EXPRESSIONTRACE_TIMER_THRESHOLD, -1L).longValue()));
- }
-
- /**
- * Create from a subclass with a given expression processer.
- *
- * @param server
- * @param exp
- *
- * @since 1.0.0
- */
- protected ExpressionProcesserController(RemoteVMServerThread server, ConnectionHandler connHandler, ExpressionProcesser exp) {
- this.server = server;
- this.connHandler = connHandler;
- this.exp = exp;
- }
-
- /**
- * Set the class loader to use for finding classes. If never set, or if <code>null</code>, then
- * <code>Class.forName</code> will be used.
- *
- * @param classLoader
- *
- * @since 1.0.0
- */
- public void setClassLoader(ClassLoader classLoader) {
- this.classLoader = classLoader;
- }
-
- /*
- * Array of primitive type names. Used to look up primtive types in primitive types array.
- *
- * @since 1.0.0
- */
- private static final List PRIMITIVE_NAMES = Arrays.asList(new String[] {"byte", "char", "short", "int", "long", "float", "double"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$
- private static final Class[] PRIMITIVE_TYPES = new Class[] {Byte.TYPE, Character.TYPE, Short.TYPE, Integer.TYPE, Long.TYPE, Float.TYPE, Double.TYPE};
- /**
- * Load the class given the name. If not found, return null.
- *
- * @param className
- * @return
- *
- * @since 1.0.0
- */
- protected Class loadClass(String className) throws ClassNotFoundException {
- if (className == null)
- return null;
- else if (className.endsWith("[]")) { //$NON-NLS-1$
- // We have an array request instead. This is trickier.
- return loadClass(MapTypes.getJNIFormatName(className));
- } else {
- int primIndex = PRIMITIVE_NAMES.indexOf(className);
- if (primIndex >= 0)
- return PRIMITIVE_TYPES[primIndex];
- else if (classLoader == null) {
- return Class.forName(className);
- } else {
- return classLoader.loadClass(className);
- }
- }
- }
-
- /**
- * Now process the input stream. If either throws occurs, this is a hard error and we must terminate
- * the entire connection. The input stream is in an unknown state.
- *
- * @param in The input stream to get the data for the current sub-command.
- *
- * @throws CommandException
- * @throws IOException
- * @since 1.0.0
- */
- public void process(DataInputStream in) throws CommandException, IOException {
- // In the following subcommand processing, we always read the entire subcommand from the stream.
- // This is so that any errors during processing will not mess up the stream with unread data.
- //
- // Then we check if an error has occurred in the past. If it has, we simply break. This is because
- // once an error occurred we don't want to continue wasting time evaluating, however we need to make
- // sure that the stream is read completely so that we don't have a corrupted input stream. That way
- // when all is done we can return the error and still have a valid connection socket.
- byte subcommand = in.readByte();
- try {
- switch (subcommand) {
- case InternalExpressionTypes.PUSH_TO_PROXY_EXPRESSION_VALUE:
- // Getting a proxy push. The value is sent as valueObject, so use that to read it in.
- Commands.readValue(in, workerValue);
- Object value = connHandler.getInvokableObject(workerValue);
- if (value == null)
- exp.pushExpression(null, MethodHelper.NULL_TYPE);
- else if (workerValue.isPrimitive())
- exp.pushExpression(value, workerValue.getPrimitiveType());
- else
- exp.pushExpression(value, value.getClass());
- break;
-
- case InternalExpressionTypes.CAST_EXPRESSION_VALUE:
- // Get a cast request. The type is sent as valueObject.
- Commands.readValue(in, workerValue);
- try {
- Class classValue = getBeanTypeValue(workerValue);
- exp.pushCast(classValue);
- } catch (ClassCastException e) {
- exp.processException(e); // Let the processor know we have a stopping error.
- } catch (ClassNotFoundException e) {
- // Do nothing, already processed.
- }
- break;
-
- case InternalExpressionTypes.INSTANCEOF_EXPRESSION_VALUE:
- // Get a instanceof request. The type is sent as valueObject.
- Commands.readValue(in, workerValue);
- try {
- Class classValue = getBeanTypeValue(workerValue);
- exp.pushInstanceof(classValue);
- } catch (ClassCastException e) {
- exp.processException(e); // Let the processor know we have a stopping error.
- } catch (ClassNotFoundException e) {
- // Do nothing, already processed.
- }
- break;
-
- case InternalExpressionTypes.INFIX_EXPRESSION_VALUE:
- // Get an infix request. The operator and operand type are sent as bytes.
- byte infix_operator = in.readByte();
- byte infix_operandType = in.readByte();
- exp.pushInfix(InfixOperator.get(infix_operator), InternalInfixOperandType.get(infix_operandType));
- break;
-
- case InternalExpressionTypes.PREFIX_EXPRESSION_VALUE:
- // Get a prefix request. The operator is sent as byte.
- byte prefix_operandType = in.readByte();
- exp.pushPrefix(PrefixOperator.get(prefix_operandType));
- break;
-
- case InternalExpressionTypes.ARRAY_ACCESS_EXPRESSION_VALUE:
- // Get an array access request. The index cound is sent as int.
- int arrayAccess_Indexcount = in.readInt();
- exp.pushArrayAccess(arrayAccess_Indexcount);
- break;
-
- case InternalExpressionTypes.ARRAY_CREATION_EXPRESSION_VALUE:
- // Get an array creation request. The type is sent as valueObject, followed by int dimension count.
- Commands.readValue(in, workerValue);
- int arrayCreation_dimCount = in.readInt();
- try {
- Class classValue = getBeanTypeValue(workerValue);
- exp.pushArrayCreation(classValue, arrayCreation_dimCount);
- } catch (ClassCastException e) {
- exp.processException(e); // Let the processor know we have a stopping error.
- } catch (ClassNotFoundException e) {
- // Do nothing, already processed.
- }
-
- break;
-
- case InternalExpressionTypes.ARRAY_INITIALIZER_EXPRESSION_VALUE:
- // Get an array initializer request. The type is sent as valueObject, followed by int expression count.
- Commands.readValue(in, workerValue);
- int stripCount = in.readInt();
- int arrayInitializer_expressionCount = in.readInt();
- try {
- Class classValue = getBeanTypeValue(workerValue);
- exp.pushArrayInitializer(classValue, stripCount, arrayInitializer_expressionCount);
- } catch (ClassCastException e) {
- exp.processException(e); // Let the processor know we have a stopping error.
- } catch (ClassNotFoundException e) {
- // Do nothing, already processed.
- }
- break;
-
- case InternalExpressionTypes.CLASS_INSTANCE_CREATION_EXPRESSION_VALUE:
- // Get a class instance creation request. The type is sent as valueObject, followed by int argument count.
- Commands.readValue(in, workerValue);
- int newInstance_argCount = in.readInt();
- try {
- Class classValue = getBeanTypeValue(workerValue);
- exp.pushClassInstanceCreation(classValue, newInstance_argCount);
- } catch (ClassCastException e) {
- exp.processException(e); // Let the processor know we have a stopping error.
- } catch (ClassNotFoundException e) {
- // Do nothing, already processed.
- }
- break;
-
- case InternalExpressionTypes.TYPERECEIVER_EXPRESSION_VALUE:
- // Get a type receiver request. The type is sent as valueObject.
- Commands.readValue(in, workerValue);
- try {
- Class classValue = getBeanTypeValue(workerValue);
- exp.pushExpression(classValue, classValue);
- } catch (ClassCastException e) {
- exp.processException(e); // Let the processor know we have a stopping error.
- } catch (ClassNotFoundException e) {
- // Do nothing, already processed.
- }
- break;
-
- case InternalExpressionTypes.FIELD_ACCESS_EXPRESSION_VALUE:
- // Get a field access request. Command.ValueObject, followed by hasReceiver as boolean.
- Commands.readValue(in, workerValue);
- boolean has_fieldAccess_receiver = in.readBoolean();
- try {
- Object fieldAccess = getFieldValue(workerValue);
- exp.pushFieldAccess(fieldAccess, workerValue.getType() == Commands.STRING, has_fieldAccess_receiver);
- } catch (ClassCastException e) {
- exp.processException(e); // Let the processor know we have a stopping error.
- } catch (NoSuchFieldException e1) {
- // Do nothing, already processed.
- }
- break;
-
- case InternalExpressionTypes.METHOD_EXPRESSION_VALUE:
- // Get a method invocation request. Sent as Commands.ValueObject, followed by hasReceiver as boolean., and argCount as int.
- Commands.readValue(in, workerValue);
- boolean has_method_receiver = in.readBoolean();
- int method_argCount = in.readInt();
- try {
- Object method = getMethodValue(workerValue);
- exp.pushMethodInvocation(method, workerValue.getType() == Commands.STRING, has_method_receiver, method_argCount);
- } catch (ClassCastException e) {
- exp.processException(e); // Let the processor know we have a stopping error.
- } catch (NoSuchMethodException e) {
- // Do nothing, already processed.
- }
- break;
-
- case InternalExpressionTypes.CONDITIONAL_EXPRESSION_VALUE:
- // Get a conditional expression request. The expression type (ie. condition/true/false) is sent as a byte
- exp.pushConditional(InternalConditionalOperandType.get(in.readByte()));
- break;
-
- case InternalExpressionTypes.ASSIGNMENT_PROXY_EXPRESSION_VALUE:
- // Get an assignment expression request. The proxy id is sent as an int.
- int proxyid = in.readInt();
- exp.pushAssignment(new RemoteExpressionProxy(proxyid));
- break;
-
- case InternalExpressionTypes.ASSIGNMENT_EXPRESSION_VALUE:
- // Get an assignment expression request. Nothing else to read from stream.
- exp.pushAssignment();
- break;
-
- case InternalExpressionTypes.PUSH_TO_EXPRESSION_PROXY_EXPRESSION_VALUE:
- // Get a push expression proxy expression. The proxy id is sent as an int.
- exp.pushExpressionProxy(in.readInt());
- break;
-
- case InternalExpressionTypes.BLOCK_BEGIN_EXPRESSION_VALUE:
- // Get a begin block proxy expression. The block id is sent as an int.
- exp.pushBlockBegin(in.readInt());
- break;
-
- case InternalExpressionTypes.BLOCK_BREAK_EXPRESSION_VALUE:
- // Get a break block proxy expression. The block id is sent as an int.
- exp.pushBlockBreak(in.readInt());
- break;
-
- case InternalExpressionTypes.BLOCK_END_EXPRESSION_VALUE:
- // Get a end block proxy expression. The block id is sent as an int.
- exp.pushBlockEnd(in.readInt());
- break;
-
- case InternalExpressionTypes.TRY_BEGIN_EXPRESSION_VALUE:
- // Get a try begin proxy expression. The try id is sent as an int.
- exp.pushTryBegin(in.readInt());
- break;
-
- case InternalExpressionTypes.TRY_CATCH_EXPRESSION_VALUE:
- int tryNumber = in.readInt();
- Commands.readValue(in, workerValue);
- proxyid = in.readInt();
- try {
- Class classValue = getBeanTypeValue(workerValue);
- exp.pushTryCatchClause(tryNumber, classValue, proxyid != -1 ? new RemoteExpressionProxy(proxyid) : null);
- } catch (ClassCastException e) {
- exp.processException(e); // Let the processor know we have a stopping error.
- } catch (ClassNotFoundException e) {
- // Do nothing, already processed.
- }
- break;
-
- case InternalExpressionTypes.TRY_FINALLY_EXPRESSION_VALUE:
- // Get a try finally proxy expression. The try id is sent as an int.
- exp.pushTryFinallyClause(in.readInt());
- break;
-
- case InternalExpressionTypes.TRY_END_EXPRESSION_VALUE:
- // Get a try end proxy expression. The try id is sent as an int.
- exp.pushTryEnd(in.readInt());
- break;
-
- case InternalExpressionTypes.THROW_EXPRESSION_VALUE:
- exp.pushThrowException();
- break;
-
- case InternalExpressionTypes.RETHROW_EXPRESSION_VALUE:
- // Get a rethrow proxy expression. The try id is sent as an int.
- exp.pushTryRethrow(in.readInt());
- break;
-
- case InternalExpressionTypes.PUSH_BEANTYPE_EXPRESSIONPROXY_EXPRESSION_VALUE:
- // Get the beantype expression proxy and resolve it.
- proxyid = in.readInt();
- String typeName = Commands.readStringData(in);
- try {
- Class classValue = loadClass(typeName);
- RemoteExpressionProxy rep = new RemoteExpressionProxy(proxyid);
- rep.setProxy(classValue, Class.class);
- exp.allocateExpressionProxy(rep);
- } catch (ClassNotFoundException e) {
- exp.processException(e);
- } catch (LinkageError e) {
- exp.processException(e);
- }
- break;
-
- case InternalExpressionTypes.PUSH_METHOD_EXPRESSIONPROXY_EXPRESSION_VALUE:
- // Get the Method expression proxy and resolve it.
- // Comes over as:
- // int for proxy id for the method
- // beanTypeValue for declaring class (either beantype or expression proxy)
- // string for method name
- // int for arg count
- // beanTypeValue(s) for arg types (as many as arg count).
- proxyid = in.readInt();
- Commands.ValueObject decClassValue = Commands.readValue(in, new Commands.ValueObject());
- String methodName = Commands.readStringData(in);
- int argCount = in.readInt();
- Commands.ValueObject[] args = null;
- if (argCount > 0) {
- args = new Commands.ValueObject[argCount];
- for (int i = 0; i < argCount; i++) {
- args[i] = Commands.readValue(in, new Commands.ValueObject());
- }
- }
- Class decClass = null;
- Class[] argClasses = null;
- try {
- decClass = getBeanTypeValue(decClassValue);
- argClasses = null;
- if (argCount>0) {
- argClasses = new Class[argCount];
- for (int i = 0; i < argCount; i++) {
- argClasses[i] = getBeanTypeValue(args[i]);
- }
- }
- // Now get the method itself.
- Method m = decClass.getMethod(methodName, argClasses);
- RemoteExpressionProxy rep = new RemoteExpressionProxy(proxyid);
- rep.setProxy(m, Method.class);
- exp.allocateExpressionProxy(rep);
- } catch (ClassCastException e) {
- exp.processException(e); // Let the processor know we have a stopping error.
- } catch (ClassNotFoundException e) {
- // Do nothing, already processed.
- } catch (NoSuchMethodException e) {
- // The default trace doesn't show what method was being searched for, so recreate with that.
- StringBuffer s = new StringBuffer();
- s.append(decClass.getName());
- s.append('.');
- s.append(methodName);
- s.append('(');
- if (argClasses != null) {
- for (int i = 0; i < argClasses.length; i++) {
- if (i > 0)
- s.append(',');
- s.append(argClasses[i].getName());
- }
- }
- s.append(')');
- NoSuchMethodException ne = new NoSuchMethodException(s.toString());
- ne.setStackTrace(e.getStackTrace());
- exp.processException(ne); // Let the processor know we have a stopping error.
- }
- break;
-
- case InternalExpressionTypes.PUSH_FIELD_EXPRESSIONPROXY_EXPRESSION_VALUE:
- // Get the Filed expression proxy and resolve it.
- // Comes over as:
- // int for proxy id for the field
- // beanTypeValue for declaring class (either beantype or expression proxy)
- // string for field name
- proxyid = in.readInt();
- decClassValue = Commands.readValue(in, new Commands.ValueObject());
- String fieldName = Commands.readStringData(in);
- try {
- decClass = getBeanTypeValue(decClassValue);
- // Now get the field itself.
- Field f = decClass.getField(fieldName);
- RemoteExpressionProxy rep = new RemoteExpressionProxy(proxyid);
- rep.setProxy(f, Method.class);
- exp.allocateExpressionProxy(rep);
- } catch (ClassCastException e) {
- exp.processException(e); // Let the processor know we have a stopping error.
- } catch (ClassNotFoundException e) {
- // Do nothing, already processed.
- } catch (NoSuchFieldException e) {
- exp.processException(e); // Let the processor know we have a stopping error.
- }
- break;
-
- case InternalExpressionTypes.IF_TEST_EXPRESSION_VALUE:
- // Get a if test expression request.
- exp.pushIfElse();
- break;
-
- case InternalExpressionTypes.IF_ELSE_EXPRESSION_VALUE:
- // Get a if/else expression clause request. The clause type (ie. true/false) is sent as a byte
- exp.pushIfElse(InternalIfElseOperandType.get(in.readByte()));
- break;
-
- case InternalExpressionTypes.NEW_INSTANCE_VALUE:
- // Get a new instance from string.
- String initString = Commands.readStringData(in);
- workerValue = Commands.readValue(in, new Commands.ValueObject());
- try {
- Class classValue = getBeanTypeValue(workerValue);
- exp.pushNewInstanceFromString(initString, classValue, classLoader);
- } catch (ClassCastException e) {
- exp.processException(e); // Let the processor know we have a stopping error.
- } catch (ClassNotFoundException e) {
- // Do nothing, already processed.
- }
- break;
-
- case InternalExpressionTypes.MARK_VALUE:
- // Do a mark.
- int markID = in.readInt();
- exp.pushMark(markID);
- break;
-
- case InternalExpressionTypes.ENDMARK_VALUE:
- // Do an end mark.
- markID = in.readInt();
- boolean restore = in.readBoolean();
- exp.pushEndmark(markID, restore);
- break;
-
- case InternalExpressionTypes.SUBEXPRESSION_BEGIN_EXPRESSION_VALUE:
- // Get a begin subexpression proxy expression. The subexpression id is sent as an int.
- exp.pushSubexpressionBegin(in.readInt());
- break;
-
- case InternalExpressionTypes.SUBEXPRESSION_END_EXPRESSION_VALUE:
- // Get a end subexpression proxy expression. The subexpression id is sent as an int.
- exp.pushSubexpressionEnd(in.readInt());
- break;
-
- }
-
- } catch (RuntimeException e) {
- exp.processException(e);
- }
-
- workerValue.set(); // Clear it out so nothing being held onto.
- }
-
- /**
- * Get the beantype (class) out of the value object sent in. It can handle the beantype sent or
- * as an expression proxy to a beantype expression proxy.
- *
- * @param value
- * @return
- * @throws ClassCastException means either not a type sent in, or proxy was not a type.
- * @throws ClassNotFoundException the expression proxy did not resolve. In that case it has already been processed by the expression processor.
- *
- * @since 1.1.0
- */
- protected Class getBeanTypeValue(Commands.ValueObject value) throws ClassCastException, ClassNotFoundException {
- Object beantype = connHandler.getInvokableObject(value);
- // It is either a type directly or is an expression proxy.
- if (value.type == Commands.INT) {
- // It is an expression proxy request.
- Object[] expvalue = new Object[2];
- if (exp.getExpressionProxyValue(((Integer) beantype).intValue(), expvalue)) {
- beantype = expvalue[0];
- } else
- throw new ClassNotFoundException();
- }
- return (Class) beantype;
- }
-
- /**
- * Get the method out of the value object sent in. It can handle the method sent or
- * as an expression proxy to a method expression proxy.
- * @param value
- * @return method if a method or string if a string or get the method if an expression proxy.
- * @throws NoSuchMethodException the expression proxy did not resolve. In that case it has already been processed by the expression processor.
- * @throws ClassCastException means either not a method sent in, or proxy was not a method.
- *
- * @since 1.1.0
- */
- protected Object getMethodValue(Commands.ValueObject value) throws NoSuchMethodException, ClassCastException {
- Object method = connHandler.getInvokableObject(value);
- // It is either a method directly or is an expression proxy.
- if (value.type == Commands.INT) {
- // It is an expression proxy request.
- Object[] expvalue = new Object[2];
- if (exp.getExpressionProxyValue(((Integer) method).intValue(), expvalue)) {
- method = expvalue[0];
- } else
- throw new NoSuchMethodException();
- }
- return method;
- }
-
- /**
- * Get the field out of the value object sent in. It can handle the field sent or
- * as an expression proxy to a field expression proxy.
- * @param value
- * @return field if a field or string if a string or get the field if an expression proxy.
- * @throws NoSuchFieldException the expression proxy did not resolve. In that case it has already been processed by the expression processor.
- * @throws ClassCastException means either not a field sent in, or proxy was not a field.
- *
- * @since 1.1.0
- */
- protected Object getFieldValue(Commands.ValueObject value) throws NoSuchFieldException, ClassCastException {
- Object field = connHandler.getInvokableObject(value);
- // It is either a field directly or is an expression proxy.
- if (value.type == Commands.INT) {
- // It is an expression proxy request.
- Object[] expvalue = new Object[2];
- if (exp.getExpressionProxyValue(((Integer) field).intValue(), expvalue)) {
- field = expvalue[0];
- } else
- throw new NoSuchFieldException();
- }
- return field;
- }
-
- /**
- * Pull the Expression Proxy value into the result object.
- * @param proxyID
- * @param result
- * @return <code>true</code> if value could be returned, <code>false</code> if it was no expression value assigned.
- *
- * @since 1.1.0
- */
- public boolean pullExpressionProxyValue(int proxyID, Object[] result) {
- try {
- exp.pullExpressionProxyValue(proxyID, result);
- return true;
- } catch (NoExpressionValueException e) {
- }
- return false;
- }
-
- private static class RemoteExpressionProxy implements InternalExpressionProxy {
-
-
- private final int proxyID;
- private Object value;
- private Class type;
- private boolean set;
-
- public RemoteExpressionProxy(int proxyID) {
- this.proxyID = proxyID;
-
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.initParser.tree.InternalExpressionProxy#getProxyID()
- */
- public int getProxyID() {
- return proxyID;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.initParser.tree.InternalExpressionProxy#getType()
- */
- public Class getType() {
- return type;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.initParser.tree.InternalExpressionProxy#getValue()
- */
- public Object getValue() {
- return value;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.initParser.tree.InternalExpressionProxy#isSet()
- */
- public boolean isSet() {
- return set;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.initParser.tree.InternalExpressionProxy#setProxy(java.lang.Object, java.lang.Class)
- */
- public void setProxy(Object value, Class type) {
- this.value = value;
- this.type = type;
- set = true;
- }
- }
-
-
- /**
- * Pull the value.
- *
- * @return r[0] is the value, r[1] is the type of the value.
- * @throws NoExpressionValueException
- *
- * @since 1.0.0
- */
- public Object[] pullValue() throws NoExpressionValueException {
- Object[] result = new Object[2];
- exp.pullValue(result);
- return result;
- }
-
- /**
- * Close out things.
- *
- * @since 1.0.0
- */
- public void close() {
- exp.close();
- }
-
- /**
- * Get the throwable error.
- * @return
- *
- * @since 1.1.0
- */
- public Throwable getErrorThrowable() {
- return exp.getErrorThrowable();
- }
-
- /**
- * Return whether there were no errors or not.
- * @return
- *
- * @since 1.1.0
- */
- public boolean noErrors() {
- return exp.noErrors();
- }
-
- /**
- * Return whether there is a no expression value exception or not.
- * @return
- *
- * @since 1.1.0
- */
- public boolean isNoExpressionValue() {
- return exp.isNoExpressionValue();
- }
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/IdentityMap.java b/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/IdentityMap.java
deleted file mode 100644
index 674656914..000000000
--- a/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/IdentityMap.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package org.eclipse.jem.internal.proxy.vm.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: IdentityMap.java,v $
- * $Revision: 1.3 $ $Date: 2005/06/16 17:46:14 $
- */
-
-
-import java.util.*;
-/**
- * A HashMap where the key is
- * done as an identity (i.e. found by '==' not equals()).
- */
-
-public class IdentityMap extends HashMap{
-
- /**
- * Comment for <code>serialVersionUID</code>
- *
- * @since 1.1.0
- */
- private static final long serialVersionUID = -6817274833221383683L;
-
- /**
- * Key that returns true on equals() only
- * if the item it is wrappering is '=='
- * not equals()
- */
- static class IdentityKey {
-
- public static IdentityKey createKey(Object obj) {
- return obj != null ? new IdentityKey(obj) : null;
- }
-
- final Object o;
-
- public IdentityKey(Object obj) {
- o = obj;
- }
-
- public boolean equals(Object obj) {
- if (this == obj) return true;
- if (!(obj instanceof IdentityKey)) return false;
- if (this.o == (((IdentityKey) obj).o)) return true;
- return false;
- }
-
- public int hashCode() {
- return o.hashCode();
- }
- }
-
- public IdentityMap() {
- }
-
- public IdentityMap(int capacity) {
- super(capacity);
- }
-
- public IdentityMap(int capacity, float loadFactor) {
- super(capacity, loadFactor);
- }
-
- public boolean containsKey(Object key) {
- return super.containsKey(IdentityKey.createKey(key));
- }
-
- public Object get(Object key) {
- return super.get(IdentityKey.createKey(key));
- }
-
- public Object put(Object key, Object value) {
- return super.put(IdentityKey.createKey(key), value);
- }
-
- public Object remove(Object key) {
- return super.remove(IdentityKey.createKey(key));
- }
-
- /**
- * NOTE: Didn't bother implementing entrySet(). If that becomes
- * needed, then it will be implemented.
- */
- public Set entrySet() {
- throw new UnsupportedOperationException();
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/RemoteVMApplication.java b/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/RemoteVMApplication.java
deleted file mode 100644
index b45657627..000000000
--- a/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/RemoteVMApplication.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.eclipse.jem.internal.proxy.vm.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: RemoteVMApplication.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:57:54 $
- */
-
-
-/**
- * The application to run to kick off the remote VM server side.
- *
- *
- * All this does is start the Server Thread and waits for it to finish.
- * This allows other mains to have a server thread, and some other
- * threads if they wished. They could start the server thread too
- * and some other thread, and then wait for both to finish.
- */
-
-public class RemoteVMApplication {
-
-public static void main(java.lang.String[] args) {
- String serverName = "Server Thread"; //$NON-NLS-1$
- if (System.getProperty("proxyvm.servername") != null) //$NON-NLS-1$
- serverName = serverName + "-" + System.getProperty("proxyvm.servername"); //$NON-NLS-1$ //$NON-NLS-2$
- Thread t = new RemoteVMServerThread(serverName);
- t.start();
- try {
- t.join();
- } catch (Exception e) {
- }
- System.exit(0);
-}
-
-
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/RemoteVMServerThread.java b/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/RemoteVMServerThread.java
deleted file mode 100644
index d7fbcb9ba..000000000
--- a/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/RemoteVMServerThread.java
+++ /dev/null
@@ -1,717 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.vm.remote;
-/*
- * $RCSfile: RemoteVMServerThread.java,v $
- * $Revision: 1.11 $ $Date: 2005/07/08 17:51:47 $
- */
-
-
-import java.util.*;
-import java.io.*;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
-import java.net.*;
-import org.eclipse.jem.internal.proxy.common.remote.*;
-import org.eclipse.jem.internal.proxy.common.*;
-/**
- * RemoteVM Server Thread. This thread is the one
- * that waits for connections and spins off
- * server connection threads. It manages the
- * connection threads and handles shutting them
- * down.
- *
- * System Properties:
- * proxyvm.port - Port number to use for the ServerSocket (default is 8888)
- * proxyvm.bufsize - Buffer size to use for TCP/IP buffers (default is system default)
- */
-
-public class RemoteVMServerThread extends Thread implements IVMServer, IVMCallbackServer {
- protected List threads = Collections.synchronizedList(new LinkedList()); // List of active threads.
- protected ServerSocket server; // Server Socket for this application
- private int highestIdentityID = 0; // Identity codes to identify objects between server and client.
- private Map objectToIDMap;
- private HashMap idToObjectMap = new HashMap(100); // Map from identity id to object
-
- protected Stack fCallbackHandlerPool = new Stack(); // Stack of free callback handlers
- protected static int NUMBER_FREE_CALLBACKS = 5; // Number of free callback handlers to keep open.
-
- public static int ID_NOT_FOUND = Commands.NOT_AN_ID; // The id was not found in the table.
-
- protected int masterIDESocketPort = -1; // Port of master server socket on IDE. Used for special global requests.
- protected int registryKey = -1; // Key of registry on the IDE.
-
- // Kludge: Bug in Linux 1.3.xxx of JVM. Closing a socket while the socket is being read/accept will not interrupt the
- // wait. Need to timeout to the socket read/accept before the socket close will be noticed. This has been fixed
- // in Linux 1.4. So on Linux 1.3 need to put timeouts in on those sockets that can be separately closed while reading/accepting.
- static boolean LINUX_1_3 = "linux".equalsIgnoreCase(System.getProperty("os.name")) && System.getProperty("java.version","").startsWith("1.3"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-
- // If version 1.3.x, we need to use our IdentidyMap, if 1.4 or greater then we can use Java's IdentidyHashMap, which is more efficient than ours.
- static Constructor IDENTIDYMAP_CLASS_CTOR;
- static {
- Class idClass;
- try {
- idClass = Class.forName("java.util.IdentityHashMap");
- } catch (ClassNotFoundException e) {
- idClass = IdentityMap.class;
- }
- try {
- IDENTIDYMAP_CLASS_CTOR = idClass.getConstructor(new Class[] {Integer.TYPE});
- } catch (SecurityException e) {
- e.printStackTrace();
- } catch (NoSuchMethodException e) {
- e.printStackTrace();
- }
- }
-
- public RemoteVMServerThread(String name) {
- super(name);
- try {
- objectToIDMap = (Map) IDENTIDYMAP_CLASS_CTOR.newInstance(new Object[] {new Integer(100)});
- } catch (IllegalArgumentException e) {
- e.printStackTrace();
- } catch (InstantiationException e) {
- e.printStackTrace();
- } catch (IllegalAccessException e) {
- e.printStackTrace();
- } catch (InvocationTargetException e) {
- e.printStackTrace();
- }
- }
-
- // The purpose of this thread is to wait 5 minutes, then see if the IDE is still
- // up. If it isn't it will go down. This is safety mechanism
- // in case the client went down without cleaning up and telling the server to go down.
- // That way it won't hang around forever.
- private boolean goingDown = false;
- private Thread safeClean = new Thread(new Runnable() {
- public void run() {
- while (!goingDown) {
- if (Thread.interrupted())
- continue; // Get to clean uninterrupted state.
- try {
- Thread.sleep(5 * 60 * 1000); // Sleep five minutes
- // Test if IDE still up.
- if (!isAlive()) {
- System.err.println("No registry available to connect with after five minutes. Shutting down."); //$NON-NLS-1$
- requestShutdown();
- break;
- }
- } catch (InterruptedException e) {
- }
- }
- }
-
- /*
- * See if still alive
- */
- private boolean isAlive() {
- Socket socket = getSocket();
- if (socket != null) {
- try {
- DataOutputStream out = new DataOutputStream(socket.getOutputStream());
- DataInputStream in = new DataInputStream(socket.getInputStream());
-
- try {
- out.writeByte(Commands.ALIVE);
- out.writeInt(registryKey);
- out.flush();
- return in.readBoolean();
- // Now get the result.
- } finally {
- try {
- in.close();
- } catch (IOException e) {
- }
- try {
- out.close();
- } catch (IOException e) {
- }
- }
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- try {
- socket.close();
- } catch (IOException e) {
- e.printStackTrace(); // They should be closing. If they aren't, then they accumulate and master server will start rejecting new ones.
- }
- }
- }
-
- return false;
- }
-
- }, "Timeout Termination Thread"); //$NON-NLS-1$
-
-
- public void run() {
-
- // Initialize the mapping table with certain pre-defined ids.
- synchronized(objectToIDMap) {
- objectToIDMap.put(Void.TYPE, new Integer(Commands.VOID_TYPE));
- idToObjectMap.put(new Integer(Commands.VOID_TYPE), Void.TYPE);
-
- objectToIDMap.put(Boolean.TYPE, new Integer(Commands.BOOLEAN_TYPE));
- idToObjectMap.put(new Integer(Commands.BOOLEAN_TYPE), Boolean.TYPE);
- objectToIDMap.put(Boolean.class, new Integer(Commands.BOOLEAN_CLASS));
- idToObjectMap.put(new Integer(Commands.BOOLEAN_CLASS), Boolean.class);
-
- objectToIDMap.put(Integer.TYPE, new Integer(Commands.INTEGER_TYPE));
- idToObjectMap.put(new Integer(Commands.INTEGER_TYPE), Integer.TYPE);
- objectToIDMap.put(Integer.class, new Integer(Commands.INTEGER_CLASS));
- idToObjectMap.put(new Integer(Commands.INTEGER_CLASS), Integer.class);
-
- objectToIDMap.put(Byte.TYPE, new Integer(Commands.BYTE_TYPE));
- idToObjectMap.put(new Integer(Commands.BYTE_TYPE), Byte.TYPE);
- objectToIDMap.put(Byte.class, new Integer(Commands.BYTE_CLASS));
- idToObjectMap.put(new Integer(Commands.BYTE_CLASS), Byte.class);
-
- objectToIDMap.put(Short.TYPE, new Integer(Commands.SHORT_TYPE));
- idToObjectMap.put(new Integer(Commands.SHORT_TYPE), Short.TYPE);
- objectToIDMap.put(Short.class, new Integer(Commands.SHORT_CLASS));
- idToObjectMap.put(new Integer(Commands.SHORT_CLASS), Short.class);
-
- objectToIDMap.put(Long.TYPE, new Integer(Commands.LONG_TYPE));
- idToObjectMap.put(new Integer(Commands.LONG_TYPE), Long.TYPE);
- objectToIDMap.put(Long.class, new Integer(Commands.LONG_CLASS));
- idToObjectMap.put(new Integer(Commands.LONG_CLASS), Long.class);
-
- objectToIDMap.put(Character.TYPE, new Integer(Commands.CHARACTER_TYPE));
- idToObjectMap.put(new Integer(Commands.CHARACTER_TYPE), Character.TYPE);
- objectToIDMap.put(Character.class, new Integer(Commands.CHARACTER_CLASS));
- idToObjectMap.put(new Integer(Commands.CHARACTER_CLASS), Character.class);
-
- objectToIDMap.put(Double.TYPE, new Integer(Commands.DOUBLE_TYPE));
- idToObjectMap.put(new Integer(Commands.DOUBLE_TYPE), Double.TYPE);
- objectToIDMap.put(Double.class, new Integer(Commands.DOUBLE_CLASS));
- idToObjectMap.put(new Integer(Commands.DOUBLE_CLASS), Double.class);
-
- objectToIDMap.put(Float.TYPE, new Integer(Commands.FLOAT_TYPE));
- idToObjectMap.put(new Integer(Commands.FLOAT_TYPE), Float.TYPE);
- objectToIDMap.put(Float.class, new Integer(Commands.FLOAT_CLASS));
- idToObjectMap.put(new Integer(Commands.FLOAT_CLASS), Float.class);
-
- objectToIDMap.put(String.class, new Integer(Commands.STRING_CLASS));
- idToObjectMap.put(new Integer(Commands.STRING_CLASS), String.class);
-
- objectToIDMap.put(java.math.BigDecimal.class, new Integer(Commands.BIG_DECIMAL_CLASS));
- idToObjectMap.put(new Integer(Commands.BIG_DECIMAL_CLASS), java.math.BigDecimal.class);
-
- objectToIDMap.put(java.math.BigInteger.class, new Integer(Commands.BIG_INTEGER_CLASS));
- idToObjectMap.put(new Integer(Commands.BIG_INTEGER_CLASS), java.math.BigInteger.class);
-
- objectToIDMap.put(Number.class, new Integer(Commands.NUMBER_CLASS));
- idToObjectMap.put(new Integer(Commands.NUMBER_CLASS), Number.class);
-
- objectToIDMap.put(Throwable.class, new Integer(Commands.THROWABLE_CLASS));
- idToObjectMap.put(new Integer(Commands.THROWABLE_CLASS), Throwable.class);
-
-
- objectToIDMap.put(Object.class, new Integer(Commands.OBJECT_CLASS));
- idToObjectMap.put(new Integer(Commands.OBJECT_CLASS), Object.class);
-
- objectToIDMap.put(Class.class, new Integer(Commands.CLASS_CLASS));
- idToObjectMap.put(new Integer(Commands.CLASS_CLASS), Class.class);
-
- objectToIDMap.put(java.lang.reflect.AccessibleObject.class, new Integer(Commands.ACCESSIBLEOBJECT_CLASS));
- idToObjectMap.put(new Integer(Commands.ACCESSIBLEOBJECT_CLASS), java.lang.reflect.AccessibleObject.class);
-
- objectToIDMap.put(java.lang.reflect.Method.class, new Integer(Commands.METHOD_CLASS));
- idToObjectMap.put(new Integer(Commands.METHOD_CLASS), java.lang.reflect.Method.class);
-
- objectToIDMap.put(java.lang.reflect.Constructor.class, new Integer(Commands.CONSTRUCTOR_CLASS));
- idToObjectMap.put(new Integer(Commands.CONSTRUCTOR_CLASS), java.lang.reflect.Constructor.class);
-
- objectToIDMap.put(java.lang.reflect.Field.class, new Integer(Commands.FIELD_CLASS));
- idToObjectMap.put(new Integer(Commands.FIELD_CLASS), java.lang.reflect.Field.class);
-
- objectToIDMap.put(IVMServer.class, new Integer(Commands.IVMSERVER_CLASS));
- idToObjectMap.put(new Integer(Commands.IVMSERVER_CLASS), IVMServer.class);
-
- objectToIDMap.put(ICallback.class, new Integer(Commands.ICALLBACK_CLASS));
- idToObjectMap.put(new Integer(Commands.ICALLBACK_CLASS), ICallback.class);
-
- objectToIDMap.put(this, new Integer(Commands.REMOTESERVER_ID));
- idToObjectMap.put(new Integer(Commands.REMOTESERVER_ID), this);
-
- objectToIDMap.put(RemoteVMServerThread.class, new Integer(Commands.REMOTEVMSERVER_CLASS));
- idToObjectMap.put(new Integer(Commands.REMOTEVMSERVER_CLASS), RemoteVMServerThread.class);
-
- objectToIDMap.put(Thread.class, new Integer(Commands.THREAD_CLASS));
- idToObjectMap.put(new Integer(Commands.THREAD_CLASS), Thread.class);
-
- objectToIDMap.put(ExpressionProcesserController.class, new Integer(Commands.EXPRESSIONPROCESSERCONTROLLER_CLASS));
- idToObjectMap.put(new Integer(Commands.EXPRESSIONPROCESSERCONTROLLER_CLASS), ExpressionProcesserController.class);
-
- try {
- java.lang.reflect.Method getMethod = Class.class.getMethod("getMethod", new Class[] {String.class, (new Class[0]).getClass()}); //$NON-NLS-1$
- objectToIDMap.put(getMethod, new Integer(Commands.GET_METHOD_ID));
- idToObjectMap.put(new Integer(Commands.GET_METHOD_ID), getMethod);
-
- java.lang.reflect.Method initMethod = ICallback.class.getMethod("initializeCallback", new Class[] {IVMCallbackServer.class, Integer.TYPE}); //$NON-NLS-1$
- objectToIDMap.put(initMethod, new Integer(Commands.INITIALIZECALLBACK_METHOD_ID));
- idToObjectMap.put(new Integer(Commands.INITIALIZECALLBACK_METHOD_ID), initMethod);
-
- } catch (NoSuchMethodException e) {
- // Shouldn't really ever occur.
- }
-
- highestIdentityID = Commands.FIRST_FREE_ID;
- }
-
- masterIDESocketPort = Integer.getInteger("proxyvm.masterPort", -1).intValue(); //$NON-NLS-1$
- if (masterIDESocketPort == -1) {
- // No ports specified, need to just shutdown.
- shutdown();
- return;
- }
-
- registryKey = Integer.getInteger("proxyvm.registryKey", -1).intValue(); //$NON-NLS-1$
- if (registryKey == -1) {
- // No registry specified, need to just shutdown.
- shutdown();
- return;
- }
-
- safeClean.setPriority(Thread.MIN_PRIORITY);
- safeClean.start();
- boolean trying = true;
- try {
- server = new ServerSocket(0, 50 , InetAddress.getByName("localhost")); //$NON-NLS-1$
- trying = false;
- if (LINUX_1_3)
- server.setSoTimeout(1000); // Linux 1.3 bug, see comment on LINUX_1_3
- if (registerServer(server.getLocalPort())) {
- while(server != null) {
- Socket incoming = null;
- try {
- incoming = server.accept();
- } catch (InterruptedIOException e) {
- continue; // Timeout, try again
- } catch (NullPointerException e) {
- continue; // Server could of gone null after test in while, means shutting down. This probably would only happen Linux 1.3.
- }
- Thread st = new ConnectionThread(incoming, this, "Connection Thread"); //$NON-NLS-1$
- threads.add(st);
- safeClean.interrupt(); // Let safeClean know there is a change
- st.start();
- // Null out locals so they can be GC'd since this is a long running loop.
- st = null;
- incoming = null;
- }
- }
- } catch (SocketException e) {
- if (trying || server != null)
- e.printStackTrace(); // Exception and not shutdown request, so print stack trace.
- } catch (Throwable e) {
- e.printStackTrace();
- }
-
- // We've had an exception, either something really bad, or we were closed,
- // so go through shutdowns.
- shutdown();
- }
-
-
- /**
- * Get an identityID, return -1 if not found.
- */
- public int getIdentityID(Object anObject) {
- synchronized(objectToIDMap) {
- Integer id = (Integer) objectToIDMap.get(anObject);
- return id != null ? id.intValue() : ID_NOT_FOUND;
- }
- }
-
- /**
- * Get an identityID and add it if not found. Place the id in the
- * ValueObject passed in and return whether it was added (true) or was already in table (false)
- */
- public boolean getIdentityID(Object anObject, Commands.ValueObject intoValue ) {
- boolean added = false;
- synchronized(objectToIDMap) {
- Integer id = (Integer) objectToIDMap.get(anObject);
- if (id == null) {
- do {
- if (++highestIdentityID == Commands.NOT_AN_ID)
- ++highestIdentityID; // Don't let -1 be a valid id.
- id = new Integer(highestIdentityID);
- } while (idToObjectMap.containsKey(id)); // Make sure not in use, really shouldn't ever happen because we have over 4 billion before it wraps back
- objectToIDMap.put(anObject, id);
- idToObjectMap.put(id, anObject);
- added = true;
- }
- intoValue.setObjectID(id.intValue());
- }
- return added;
- }
-
- /**
- * Remove an identity object from the mapping.
- */
- public void removeObject(Object anObject) {
- synchronized(objectToIDMap) {
- Integer id = (Integer) objectToIDMap.remove(anObject);
- idToObjectMap.remove(id);
- }
- }
-
- /**
- * Remove an identity object from the mapping, given the id.
- */
- public void removeObject(int id) {
- synchronized(objectToIDMap) {
- Object o = idToObjectMap.remove(new Integer(id));
- objectToIDMap.remove(o);
- }
- }
-
- /**
- * Get the object for an identity id
- */
- public Object getObject(int id) {
- synchronized(objectToIDMap) {
- return idToObjectMap.get(new Integer(id));
- }
- }
-
- /**
- * Remove a thread from the list.
- */
- public void removeConnectionThread(Thread thread) {
- threads.remove(thread);
- safeClean.interrupt(); // Let safe clean know there is a change.
- }
-
- /**
- * Use this to request a shutdown. If the server hasn't even been
- * created yet, this will return false.
- */
- public boolean requestShutdown() {
- if (server == null)
- return false;
- // Closing the server socket should cause a break.
- try {
- ServerSocket srv = server;
- server = null; // So that server knows it is being shutdown and not print exception msg.
- srv.close();
- } catch (Exception e) {
- }
- return true;
- }
-
- /**
- * Request a callback stream to write to.
- * When done, the stream should be closed to release the connection.
- */
- public OutputStream requestStream(int callbackID, int msgID) throws CommandException {
- CallbackHandler h = (CallbackHandler) getFreeCallbackHandler();
- if (h == null)
- throw new CommandException("No callback handler retrieved.", null); //$NON-NLS-1$
- h.initiateCallbackStream(callbackID, msgID);
- return new CallbackOutputStream(h, this);
- }
-
- protected void shutdown() {
- goingDown = true;
- safeClean.interrupt(); // Let safeClean know to come down.
-
- if (server != null)
- try {
- server.close(); // Close it so that no more requests can be made.
- } catch (Exception e) {
- }
-
- // Go through each thread and ask it to close. Make a copy of the list so that we
- // won't get into deadlocks.
- ConnectionThread[] threadsArray = (ConnectionThread[]) threads.toArray(new ConnectionThread[0]);
- for (int i=0; i<threadsArray.length; i++) {
- // This is a harsh way to shut a connection down, but there's no
- // other way I know of to interrupt the read on a socket.
- threadsArray[i].close();
- }
-
- // Now that they've been told to close, wait on each one to finish.
- for (int i=0; i<threadsArray.length; i++)
- try {
- threadsArray[i].join(10000); // Wait ten seconds, if longer, just go on to next one.
- if (threadsArray[i].isAlive())
- System.out.println("*** Connection "+i+" did not die."); //$NON-NLS-1$ //$NON-NLS-2$
- } catch (InterruptedException e) {
- }
-
- if (safeClean.isAlive()) {
- try {
- safeClean.join(10000);
- if (safeClean.isAlive())
- System.out.println("*** Cleanup thread did not die."); //$NON-NLS-1$
- } catch (InterruptedException e) {
- }
- }
-
- // Now close the callbacks.
- synchronized(fCallbackHandlerPool) {
- // Now we walk through all of the free handlers and close them properly.
- Iterator itr = fCallbackHandlerPool.iterator();
- while (itr.hasNext()) {
- ((CallbackHandler) itr.next()).closeHandler();
- }
-
- fCallbackHandlerPool.clear();
- }
-
- List runnables = null;
- synchronized (this) {
- runnables = shutdownRunnables;
- shutdownRunnables = null;
- }
- if (runnables != null) {
- for (Iterator itr = runnables.iterator(); itr.hasNext();) {
- try {
- ((Runnable) itr.next()).run();
- } catch (RuntimeException e) {
- e.printStackTrace();
- }
- }
- }
- }
-
- /**
- * Return a free callback handler
- */
- public ICallbackHandler getFreeCallbackHandler() {
- synchronized(fCallbackHandlerPool) {
- if (!fCallbackHandlerPool.isEmpty())
- return (ICallbackHandler) fCallbackHandlerPool.pop();
- // else we need to allocate one.
- return createCallbackHandler();
- }
- }
-
- /**
- * Make a new callback handler
- */
- protected ICallbackHandler createCallbackHandler() {
- Socket callbackSocket = requestCallbackSocket();
- if (callbackSocket != null) {
- CallbackHandler handler = new CallbackHandler(callbackSocket, this);
- if (handler.isConnected())
- return handler;
-
- // Failed, close the socket.
- try {
- callbackSocket.close();
- } catch (IOException e) {
- }
- }
- return null;
- }
-
- /**
- * Free the handler
- */
- public void returnCallbackHandler(ICallbackHandler aHandler) {
- CallbackHandler handler = (CallbackHandler) aHandler;
- if (handler.isConnected())
- synchronized (fCallbackHandlerPool) {
- if (fCallbackHandlerPool.size() < NUMBER_FREE_CALLBACKS)
- fCallbackHandlerPool.push(handler);
- else
- handler.closeHandler(); // We don't need to maintain more than five free connections.
- }
- }
-
- /**
- * Process a callback.
- */
- public Object doCallback(ICallbackRunnable run) throws CommandException {
- CallbackHandler handler = (CallbackHandler) getFreeCallbackHandler();
- if (handler != null) {
- try {
- try {
- return run.run(handler);
- } catch (CommandErrorException e) {
- // This is command error, connection still good, don't retry, just pass it on.
- // It means the other side said I processed it, but there is an error.
- throw e;
- } catch (CommandException e) {
- if (!e.isRecoverable()) {
- // Close this handler and try a new one, one more time.
- handler.closeHandler();
- handler = (CallbackHandler) getFreeCallbackHandler();
- try {
- return run.run(handler);
- } catch (CommandException eAgain) {
- // It failed again, just close the connection and rethrow the exception.
- handler.closeHandler();
- throw eAgain;
- }
- } else
- throw e; // Recoverable, rethrow exception.
- }
- } finally {
- returnCallbackHandler(handler);
- }
- } else
- throw new CommandException("No callback handler retrieved.", null); //$NON-NLS-1$
-
- }
-
- /*
- * Register the server. Return if ide still active
- */
- private boolean registerServer(int vmserverPort) {
- Socket socket = getSocket();
- if (socket != null) {
- try {
- DataOutputStream out = new DataOutputStream(socket.getOutputStream());
- DataInputStream in = new DataInputStream(socket.getInputStream());
-
- try {
- out.writeByte(Commands.REMOTE_STARTED);
- out.writeInt(registryKey);
- out.writeInt(vmserverPort);
- out.flush();
- return in.readBoolean();
- } finally {
- try {
- in.close();
- } catch (IOException e) {
- }
- try {
- out.close();
- } catch (IOException e) {
- }
- }
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- try {
- socket.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
-
- }
-
- return false;
- }
-
- /*
- * Request the callback socket. <code>null</code> if there isn't one.
- */
- private Socket requestCallbackSocket() {
- Socket socket = getSocket();
- if (socket != null) {
- boolean closeSocket = true;
- try {
- DataOutputStream out = new DataOutputStream(socket.getOutputStream());
- DataInputStream in = new DataInputStream(socket.getInputStream());
-
- try {
- out.writeByte(Commands.ATTACH_CALLBACK);
- out.writeInt(registryKey);
- out.flush();
- closeSocket = !in.readBoolean();
- return !closeSocket ? socket : null;
- } finally {
- if (closeSocket) {
- try {
- in.close();
- } catch (IOException e) {
- }
- try {
- out.close();
- } catch (IOException e) {
- }
- }
- }
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- if (closeSocket) {
- try {
- socket.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- }
-
- return null;
- }
-
-
-
- protected Socket getSocket() {
- // We are putting it off into a thread because there are no timeout capabilities on getting a socket.
- // So we need to allow for that.
- final Socket[] scArray = new Socket[1];
- final boolean[] waiting = new boolean[] {true};
- Thread doIt = new Thread(new Runnable() {
- public void run() {
- try {
- Socket sc = new Socket("localhost", masterIDESocketPort); //$NON-NLS-1$
- synchronized (this) {
- if (waiting[0])
- scArray[0] = sc;
- else
- sc.close(); // We are no longer waiting on this thread so close the socket since no one will use it.
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- });
-
- doIt.start();
- while (true) {
- try {
- doIt.join(60000);
- synchronized (doIt) {
- waiting[0] = false; // To let it know we are no longer waiting
- }
- break;
- } catch (InterruptedException e) {
- }
- }
-
- if (scArray[0] == null) {
- System.out.println("Couldn't retrieve a socket from master server in 60 seconds."); //$NON-NLS-1$
- return null; // Couldn't get one, probably server is down.
- }
-
- return scArray[0];
- }
-
- private List shutdownRunnables;
-
- public synchronized void addShutdownListener(Runnable runnable) {
- if (shutdownRunnables == null) {
- shutdownRunnables = new ArrayList();
- } else if (shutdownRunnables.contains(runnable))
- return;
- shutdownRunnables.add(runnable);
- }
-
- public synchronized void removeShutdownListener(Runnable runnable) {
- if (shutdownRunnables != null)
- shutdownRunnables.remove(runnable);
- }
-
-
- public IVMServer getIVMServer() {
- return this;
- }
-}
diff --git a/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/StackTraceUtility.java b/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/StackTraceUtility.java
deleted file mode 100644
index beb0921ed..000000000
--- a/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/StackTraceUtility.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.eclipse.jem.internal.proxy.vm.remote;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: StackTraceUtility.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:57:54 $
- */
-
-
-import java.io.*;
-/**
- * A utility to get the stack trace from an exception
- * back to the client.
- */
-public class StackTraceUtility {
-
- public static String printStackTrace(Throwable t) {
- StringWriter writer = new StringWriter();
- t.printStackTrace(new PrintWriter(writer));
- return writer.toString();
- }
-
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.ui/.classpath b/plugins/org.eclipse.jem.ui/.classpath
deleted file mode 100644
index 66f349e21..000000000
--- a/plugins/org.eclipse.jem.ui/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="ui"/>
- <classpathentry kind="src" path="beaninfoui"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.jem.ui/.cvsignore b/plugins/org.eclipse.jem.ui/.cvsignore
deleted file mode 100644
index 60463af3f..000000000
--- a/plugins/org.eclipse.jem.ui/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-bin
-build.xml
diff --git a/plugins/org.eclipse.jem.ui/.options b/plugins/org.eclipse.jem.ui/.options
deleted file mode 100644
index a7e0740d9..000000000
--- a/plugins/org.eclipse.jem.ui/.options
+++ /dev/null
@@ -1,3 +0,0 @@
-org.eclipse.jem.ui/debug/logtrace=default
-org.eclipse.jem.ui/debug/logtracefile=default
-org.eclipse.jem.ui/debug/loglevel=default
diff --git a/plugins/org.eclipse.jem.ui/.project b/plugins/org.eclipse.jem.ui/.project
deleted file mode 100644
index aee49c2b0..000000000
--- a/plugins/org.eclipse.jem.ui/.project
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.jem.ui</name>
- <comment></comment>
- <projects>
- <project>org.eclipse.core.resources</project>
- <project>org.eclipse.core.runtime.compatibility</project>
- <project>org.eclipse.debug.core</project>
- <project>org.eclipse.debug.ui</project>
- <project>org.eclipse.jdt.core</project>
- <project>org.eclipse.jdt.debug.ui</project>
- <project>org.eclipse.jdt.launching</project>
- <project>org.eclipse.jdt.ui</project>
- <project>org.eclipse.jem.beaninfo</project>
- <project>org.eclipse.jem.proxy</project>
- <project>org.eclipse.jem.workbench</project>
- <project>org.eclipse.ui</project>
- <project>org.eclipse.ui.ide</project>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.jem.ui/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.jem.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 6dbabc37a..000000000
--- a/plugins/org.eclipse.jem.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,282 +0,0 @@
-#Thu Jun 16 13:22:06 EDT 2005
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=1
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines=false
-org.eclipse.jdt.core.formatter.comment.format_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=150
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=150
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
diff --git a/plugins/org.eclipse.jem.ui/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.jem.ui/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4cff627b9..000000000
--- a/plugins/org.eclipse.jem.ui/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,6 +0,0 @@
-#Wed May 11 16:20:15 EDT 2005
-eclipse.preferences.version=1
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=java;javax;org;org.eclipse.wtp;org.eclipse.jem;org.eclipse.ve.internal.cdm;org.eclipse.ve.internal.cde;org.eclipse.ve.internal.jcm;org.eclipse.ve.internal.java;org.eclipse.ve;com;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates/>
diff --git a/plugins/org.eclipse.jem.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.jem.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index 4a4f8b63c..000000000
--- a/plugins/org.eclipse.jem.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,27 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.jem.ui; singleton:=true
-Bundle-Version: 1.1.0
-Bundle-ClassPath: ui.jar
-Bundle-Activator: org.eclipse.jem.internal.ui.core.JEMUIPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.jem.internal.beaninfo.ui,
- org.eclipse.jem.internal.ui.core,
- org.eclipse.jem.internal.ui.proxy,
- org.eclipse.jem.internal.ui.proxy.remote
-Require-Bundle: org.eclipse.core.resources,
- org.eclipse.jdt.core,
- org.eclipse.ui,
- org.eclipse.jdt.ui,
- org.eclipse.jem.beaninfo,
- org.eclipse.ui.ide,
- org.eclipse.debug.ui,
- org.eclipse.debug.core,
- org.eclipse.jem.proxy,
- org.eclipse.jdt.launching,
- org.eclipse.jdt.debug.ui,
- org.eclipse.jem.util,
- org.eclipse.core.runtime
-Eclipse-AutoStart: true
diff --git a/plugins/org.eclipse.jem.ui/about.html b/plugins/org.eclipse.jem.ui/about.html
deleted file mode 100644
index 6f6b96c4c..000000000
--- a/plugins/org.eclipse.jem.ui/about.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>February 24, 2005</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BIListElementSorter.java b/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BIListElementSorter.java
deleted file mode 100644
index 9ce05ca08..000000000
--- a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BIListElementSorter.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo.ui;
-/*
- * $RCSfile: BIListElementSorter.java,v $
- * $Revision: 1.5 $ $Date: 2005/02/15 23:02:54 $
- */
-
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-
-import org.eclipse.jem.internal.beaninfo.core.BeaninfoEntry;
-
-/**
- * Sorter for sorting BPBeaninfoListElements within the main list.
- *
- * @version 1.0
- * @author
- */
-public class BIListElementSorter extends ViewerSorter {
-
- /*
- * @see ViewerSorter#category(Object)
- */
- public int category(Object obj) {
- if (obj instanceof BPBeaninfoListElement) {
- BPBeaninfoListElement element = (BPBeaninfoListElement) obj;
-
- switch (((BeaninfoEntry) element.getEntry()).getKind()) {
- case IClasspathEntry.CPE_LIBRARY:
- return 4;
- case IClasspathEntry.CPE_PROJECT:
- return 1;
- case IClasspathEntry.CPE_SOURCE:
- return 0;
- case IClasspathEntry.CPE_VARIABLE:
- return 3;
- case BeaninfoEntry.BIE_PLUGIN:
- return 5;
- case IClasspathEntry.CPE_CONTAINER:
- return 2;
- }
- }
- return super.category(obj);
- }
-
- /*
- * @see ViewerSorter#compare()
- */
- public int compare(Viewer viewer, Object e1, Object e2) {
- int cat1 = category(e1);
- int cat2 = category(e2);
-
- if (cat1 != cat2)
- return cat1 - cat2;
-
- if ((e1 instanceof BPBeaninfoListElement) && (e2 instanceof BPBeaninfoListElement)) {
- BeaninfoEntry p1 = (BeaninfoEntry) ((BPBeaninfoListElement) e1).getEntry();
- BeaninfoEntry p2 = (BeaninfoEntry) ((BPBeaninfoListElement) e2).getEntry();
-
- // Compare paths
- return p1.getPath().toString().compareTo(p2.getPath().toString());
- }
- return super.compare(viewer, e1, e2);
- }
-
-
-
-}
diff --git a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BPBeaninfoListElement.java b/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BPBeaninfoListElement.java
deleted file mode 100644
index d87c88359..000000000
--- a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BPBeaninfoListElement.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo.ui;
-/*
- * $RCSfile: BPBeaninfoListElement.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 23:02:54 $
- */
-
-import org.eclipse.jem.internal.beaninfo.core.BeaninfoEntry;
-import org.eclipse.jem.internal.beaninfo.core.SearchpathEntry;
-
-/**
- * @version 1.0
- * @author
- */
-public class BPBeaninfoListElement extends BPListElement {
-
- BPSearchListElement[] searchpaths;
-
- /**
- * Constructor for BPBeaninfoListElement.
- * The searchPaths is the initial list, it is assumed that
- * the beaninfoEntry has these searchpaths in them too.
- */
- public BPBeaninfoListElement(BeaninfoEntry entry, BPSearchListElement[] searchpaths, boolean missing) {
- super(entry, missing);
- this.searchpaths = searchpaths != null ? searchpaths : new BPSearchListElement[0];
- }
-
- /**
- * Mark the entry as exported.
- */
- public void setExported(boolean exported) {
- ((BeaninfoEntry) entry).setIsExported(exported);
- }
-
- /*
- * @see BPListElement#canExportBeChanged()
- */
- public boolean canExportBeChanged() {
- return true;
- }
-
- /*
- * @see BPListElement#isExported()
- */
- public boolean isExported() {
- return ((BeaninfoEntry) entry).isExported();
- }
-
- /**
- * Return the current list of Searchpaths for this Beaninfo Element.
- */
- public BPSearchListElement[] getSearchpaths() {
- return searchpaths;
- }
-
- /**
- * Set the new list. This will update the beaninfo entry too.
- */
- public void setSearchpaths(BPSearchListElement[] searchpaths) {
- this.searchpaths = searchpaths;
-
- SearchpathEntry[] spEntries = new SearchpathEntry[searchpaths.length];
- for (int i = 0; i < searchpaths.length; i++) {
- BPSearchListElement bps = searchpaths[i];
- spEntries[i] = (SearchpathEntry) bps.getEntry();
- }
-
- ((BeaninfoEntry) entry).setSearchPaths(spEntries);
- }
-}
diff --git a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BPListElement.java b/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BPListElement.java
deleted file mode 100644
index 371e3bdc3..000000000
--- a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BPListElement.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo.ui;
-/*
- * $RCSfile: BPListElement.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 23:02:54 $
- */
-
-
-import org.eclipse.jem.internal.beaninfo.core.IBeaninfosDocEntry;
-/**
- * A Base ListElement (i.e. element in a list viewer) for
- * a BeanInfo Search Path Entry.
- */
-
-public abstract class BPListElement extends Object {
- protected IBeaninfosDocEntry entry;
- protected boolean missing; // Library/folder/classpath entry for this entry could not be found.
-
- public BPListElement(IBeaninfosDocEntry entry, boolean missing) {
- this.entry = entry;
- this.missing = missing;
- }
-
- public IBeaninfosDocEntry getEntry() {
- return entry;
- }
-
- public boolean isMissing() {
- return missing;
- }
-
- /**
- * Certain entries cannot have their export status changed.
- */
- public abstract boolean canExportBeChanged();
-
- /**
- * Return whether this entry is exported.
- */
- public abstract boolean isExported();
-
- /**
- * If export can be changed, change it.
- */
- public abstract void setExported(boolean exported);
-
-}
diff --git a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BPSearchListElement.java b/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BPSearchListElement.java
deleted file mode 100644
index 2e1e7a3c7..000000000
--- a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BPSearchListElement.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo.ui;
-/*
- * $RCSfile: BPSearchListElement.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 23:02:54 $
- */
-
-import org.eclipse.jem.internal.beaninfo.core.SearchpathEntry;
-
-/**
- * @version 1.0
- * @author
- */
-public class BPSearchListElement extends BPListElement {
-
- protected boolean exported;
- protected boolean packageMissing;
- /**
- * Constructor for BPSearchListElement.
- * @param entry
- * @param project
- * @param inMissing
- */
- public BPSearchListElement(
- SearchpathEntry entry,
- boolean missing,
- boolean packageMissing,
- boolean exported) {
- super(entry, missing);
-
- this.packageMissing = packageMissing;
- this.exported = exported;
- }
-
- /*
- * @see BPListElement#canExportBeChanged()
- */
- public boolean canExportBeChanged() {
- return false;
- }
-
- /*
- * @see BPListElement#isExported()
- */
- public boolean isExported() {
- return exported;
- }
-
- /**
- * Is the package missing.
- */
- public boolean isPackageMissing() {
- return packageMissing;
- }
-
- /*
- * @see BPListElement#setExported(boolean)
- */
- public void setExported(boolean exported) {
- }
-
-}
diff --git a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeanInfoUIMessages.java b/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeanInfoUIMessages.java
deleted file mode 100644
index 7bce516e6..000000000
--- a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeanInfoUIMessages.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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.beaninfo.ui;
-
-import org.eclipse.osgi.util.NLS;
-
-public final class BeanInfoUIMessages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.jem.internal.beaninfo.ui.messages";//$NON-NLS-1$
-
- private BeanInfoUIMessages() {
- // Do not instantiate
- }
-
- public static String SearchPathDialog_ChoosePackages;
- public static String SearchPathDialog_Remove;
- public static String SearchPathDialog_Desc_Label;
- public static String SearchPathDialog_ModifySearchPaths;
- public static String SearchPathDialog_NotEditable_INFO_;
- public static String SearchPathDialog_PackagePresent_INFO_;
- public static String SearchPathDialog_InputDialog_Title;
- public static String SearchPathDialog_InputDialog_Message;
- public static String BeanInfoPathsBlock_ExportAll;
- public static String BeanInfoPathsBlock_UnexportAll;
- public static String BeanInfoPathsBlock_Page_Tab_Packages;
- public static String BeanInfoPathsBlock_Page_Tab_Classes;
- public static String BeanInfosWorkbookPage_AddFolders;
- public static String BeanInfosWorkbookPage_AddJARs;
- public static String BeanInfosWorkbookPage_AddExternalJAR;
- public static String BeanInfosWorkbookPage_AddVariable;
- public static String BeanInfosWorkbookPage_AddProjects;
- public static String BeanInfosWorkbookPage_ModifyPaths;
- public static String BeanInfosWorkbookPage_Remove;
- public static String BeanInfosWorkbookPage_List_Text;
- public static String BeanInfosWorkbookPage_SelectionDialog_Classes_Title;
- public static String BeanInfosWorkbookPage_SelectionDialog_JARs_Title;
- public static String BeanInfosWorkbookPage_SelectionDialog_JARs_Message;
- public static String BeanInfosWorkbookPage_SelectionDialog_ExtJARs_Text;
- public static String BeanInfosWorkbookPage_SelectionDialog_Projects_Title;
- public static String BeanInfosWorkbookPage_SelectionDialog_Classes_Prompt;
- public static String BeanInfosWorkbookPage_SelectionDialog_Projects_Prompt;
- public static String PackagesWorkbook_ChoosePackages;
- public static String PackagesWorkbook_ChooseDefinedPaths;
- public static String PackagesWorkbook_Remove;
- public static String PackagesWorkbook_LabelText;
- public static String PackagesWorkbook_SelectionDialog_DefinedPaths_Title;
- public static String PackagesWorkbook_SelectionDialog_DefinedPaths_Message;
- public static String LabelProvider_Library_Folder;
- public static String LabelProvider_Library__PathLastSegment_PathRelative_;
- public static String LabelProvider_Library__PathLastSegment_PathExceptLast_;
- public static String LabelProvider_Variable__name_PathOSString_;
- public static String LabelProvider__packageName_Path_;
- public static String VariableSelectionBlock_variable_label;
- public static String VariableSelectionBlock_variable_button;
- public static String VariableSelectionBlock_extension_label;
- public static String VariableSelectionBlock_extension_button;
- public static String VariableSelectionBlock_fullpath_label;
- public static String VariableSelectionBlock_error_entername_ERROR_;
- public static String VariableSelectionBlock_error_namenotexists_ERROR_;
- public static String VariableSelectionBlock_error_pathexists_ERROR_;
- public static String VariableSelectionBlock_error_invalidextension_ERROR_;
- public static String VariableSelectionBlock_warning_pathnotexists_WARN_;
- public static String VariableSelectionBlock_ExtJarDialog_title;
- public static String Beaninfo_UI__errortitle;
- public static String Beaninfo_UI__error;
- public static String BeaninfoPropertiesPage_INFO__nojavaproject;
- public static String BeaninfoPropertiesPage_INFO__closedproject;
- public static String BeaninfoPathsBlock_UI__enablebeaninfo;
- public static String BeaninfoPathsBlock_UI__searchpath_label;
- public static String BeaninfoPathsBlock_UI__searchpath_up_button;
- public static String BeaninfoPathsBlock_UI__searchpath_down_button;
- public static String BeaninfoPathsBlock_UI__searchpath_remove_button;
- public static String BeaninfoPathsBlock_UI__serachpath_tab_order;
- public static String BeaninfoPathsBlock_WARN__searchpath_missing_path_format;
- public static String BeaninfoPathsBlock_UI__searchpath_operationdescription;
- public static String BeaninfoPathsBlock_UI__addsearchpath_title;
- public static String BeaninfoPathsBlock_UI__addsearchpath_description;
- public static String BeaninfoPathsBlock_UI__warning_EntryMissing;
- public static String BeaninfoPathsBlock_UI__searchpath_add_button;
-
- static {
- NLS.initializeMessages(BUNDLE_NAME, BeanInfoUIMessages.class);
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfoEntrySearchpathDialog.java b/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfoEntrySearchpathDialog.java
deleted file mode 100644
index 774d57ef0..000000000
--- a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfoEntrySearchpathDialog.java
+++ /dev/null
@@ -1,329 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo.ui;
-/*
- * $RCSfile: BeaninfoEntrySearchpathDialog.java,v $
- * $Revision: 1.7 $ $Date: 2005/06/21 19:59:49 $
- */
-
-import java.text.MessageFormat;
-import java.util.*;
-import java.util.List;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jdt.core.*;
-import org.eclipse.jdt.internal.ui.util.PixelConverter;
-import org.eclipse.jdt.internal.ui.wizards.TypedViewerFilter;
-import org.eclipse.jdt.internal.ui.wizards.dialogfields.*;
-import org.eclipse.jdt.ui.JavaElementLabelProvider;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.dialogs.ElementTreeSelectionDialog;
-import org.eclipse.ui.dialogs.ISelectionStatusValidator;
-
-import org.eclipse.jem.internal.beaninfo.core.BeaninfoEntry;
-import org.eclipse.jem.internal.beaninfo.core.SearchpathEntry;
-
-/**
- * This dialog is used to display and modify the search path
- * within a BeaninfoEntry.
- * @version 1.0
- * @author
- */
-public class BeaninfoEntrySearchpathDialog extends Dialog {
-
- private class DialogAdapter implements IListAdapter {
-
- // -------- IListAdapter --------
- public void customButtonPressed(ListDialogField field, int index) {
- pageCustomButtonPressed(index);
- }
-
- public void selectionChanged(ListDialogField field) {
- }
-
- /**
- * @see org.eclipse.jdt.internal.ui.wizards.dialogfields.IListAdapter#doubleClicked(ListDialogField)
- */
- public void doubleClicked(ListDialogField field) {
- }
-
- }
-
- protected BPBeaninfoListElement infoElement;
- protected IJavaProject jProject;
- protected ListDialogField listField;
-
- public BeaninfoEntrySearchpathDialog(
- Shell parentShell,
- BPBeaninfoListElement infoElement,
- IJavaProject jProject) {
- super(parentShell);
-
- this.infoElement = infoElement;
- this.jProject = jProject;
-
- DialogAdapter adapter = new DialogAdapter();
-
- String[] buttonLabels = new String[] {
- BeanInfoUIMessages.BeaninfoPathsBlock_UI__searchpath_up_button,
- BeanInfoUIMessages.BeaninfoPathsBlock_UI__searchpath_down_button,
- /* 2 */
- null,
- BeanInfoUIMessages.SearchPathDialog_ChoosePackages,
- /* 4 */
- null,
- BeanInfoUIMessages.SearchPathDialog_Remove };
-
- listField = new ListDialogField(adapter, buttonLabels, new SearchPathListLabelProvider(jProject));
- listField.setLabelText(BeanInfoUIMessages.SearchPathDialog_Desc_Label);
- listField.setUpButtonIndex(0);
- listField.setDownButtonIndex(1);
- listField.setRemoveButtonIndex(5);
- }
-
- protected void configureShell(Shell newShell) {
- super.configureShell(newShell);
- newShell.setText(
- MessageFormat.format(
- BeanInfoUIMessages.SearchPathDialog_ModifySearchPaths,
- new Object[] { infoElement.getEntry().getPath().toString()}));
- }
-
- protected Control createDialogArea(Composite parent) {
- PixelConverter converter = new PixelConverter(parent);
-
- Composite composite = new Composite(parent, SWT.NONE);
-
- LayoutUtil.doDefaultLayout(
- composite,
- new DialogField[] { listField },
- true,
- SWT.DEFAULT,
- SWT.DEFAULT);
- int buttonBarWidth = converter.convertWidthInCharsToPixels(24);
- listField.setButtonsMinWidth(buttonBarWidth);
-
- updatePackagesList();
-
- return composite;
- }
-
- private void updatePackagesList() {
- if (infoElement.getEntry().getKind() == BeaninfoEntry.BIE_PLUGIN) {
- // We don't allow these to be updated. They should only be used through
- // registered mechanisms and we won't be showing them here normally.
- listField.setLabelText(BeanInfoUIMessages.SearchPathDialog_NotEditable_INFO_);
- listField.setEnabled(false);
- return;
- }
-
- listField.setElements(Arrays.asList(infoElement.getSearchpaths()));
- }
-
- protected void pageCustomButtonPressed(int index) {
- if (index != 3)
- return;
-
- List elementsToAdd = choosePackages();
-
- if (elementsToAdd != null && !elementsToAdd.isEmpty()) {
- listField.addElements(elementsToAdd);
- listField.postSetSelection(new StructuredSelection(elementsToAdd));
- }
- }
-
- protected void okPressed() {
- if (listField.isEnabled()) {
- // If the field is not enabled, then there is no update to perform. We don't
- // want to accidentially wipe out the search paths in this case.
-
- // Override to put the list of elements back into the BPBeaninfoListElement
- // Until then they aren't actually updated.
- List paths = listField.getElements();
- infoElement.setSearchpaths(
- (BPSearchListElement[]) paths.toArray(new BPSearchListElement[paths.size()]));
- }
- super.okPressed();
- }
-
- /**
- * Choose the packages that should be in the search path.
- */
- private List choosePackages() {
-
- IPackageFragmentRoot[] roots = getBeaninfoRoots();
- List newPackageNames = new ArrayList();
- if (roots != null) {
- // It's within the workspace, so we can get the roots and packages.
- ISelectionStatusValidator validator = new PackagesWorkbookPage.ChoosePackagesSelectionValidator();
-
- // Show up to the package fragment, don't show any contents of it.
- Class[] acceptedClasses = new Class[] { IPackageFragmentRoot.class, IPackageFragment.class };
- Object[] rejectedFragments = getFilteredExistingEntries(roots);
-
- // Only show package fragments that have children (i.e. there classes in it, not interested
- // in intermediate ones that have no classes defined in them. Those are filtered out.
- TypedViewerFilter filter = new TypedViewerFilter(acceptedClasses, rejectedFragments) {
- public boolean select(Viewer viewer, Object parentElement, Object element) {
- if (super.select(viewer, parentElement, element)) {
- if (element instanceof IPackageFragment) {
- IPackageFragment pkg = (IPackageFragment) element;
- try {
- return pkg.hasChildren();
- } catch (JavaModelException e) {
- }
- return false;
- } else
- return true;
- }
- return false;
- }
- };
-
- ITreeContentProvider provider = new PackageOnlyContentProvider();
-
- ILabelProvider labelProvider = new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT);
- ElementTreeSelectionDialog dialog =
- new ElementTreeSelectionDialog(getShell(), labelProvider, provider);
- dialog.setTitle(BeanInfoUIMessages.BeaninfoPathsBlock_UI__addsearchpath_title);
-
- dialog.setValidator(validator);
- dialog.setMessage(BeanInfoUIMessages.BeaninfoPathsBlock_UI__addsearchpath_description);
- dialog.addFilter(filter);
- dialog.setInput(Arrays.asList(getBeaninfoRoots()));
-
- if (dialog.open() == Window.OK) {
- Object[] elements = dialog.getResult();
- for (int i = 0; i < elements.length; i++) {
- newPackageNames.add(((IPackageFragment) elements[i]).getElementName());
- }
- }
- } else {
- // It's not within the workspace
- final List existingPackagenames = getFilteredExistingEntries();
- IInputValidator validator = new IInputValidator() {
- public String isValid(String newText) {
- if (existingPackagenames.contains(newText))
- return BeanInfoUIMessages.SearchPathDialog_PackagePresent_INFO_;
-
- IStatus status = JavaConventions.validatePackageName(newText);
- return status.getSeverity() == IStatus.OK ? null : status.getMessage();
- }
- };
- InputDialog dialog = new InputDialog(getShell(), BeanInfoUIMessages.SearchPathDialog_InputDialog_Title, BeanInfoUIMessages.SearchPathDialog_InputDialog_Message, null, validator);
- if (dialog.open() == Window.OK)
- newPackageNames.add(dialog.getValue());
- }
-
- if (newPackageNames.size() == 0)
- return Collections.EMPTY_LIST;
-
- List newElements = new ArrayList(newPackageNames.size());
- for (int i = 0; i < newPackageNames.size(); i++)
- newElements.add(
- new BPSearchListElement(new SearchpathEntry((String) newPackageNames.get(i)), false, false, false));
- return newElements;
- }
- /**
- * Return the packagefragment roots for the given beaninfo entry.
- * Return null if it can be handled (i.e. not in a project some where).
- */
- protected IPackageFragmentRoot[] getBeaninfoRoots() {
- IPackageFragmentRoot[] roots = null;
- if (infoElement.getEntry().getKind() != BeaninfoEntry.BIE_PLUGIN) {
- IClasspathEntry resolved = JavaCore.getResolvedClasspathEntry(((BeaninfoEntry) infoElement.getEntry()).getClasspathEntry());
- IResource res = ResourcesPlugin.getWorkspace().getRoot().findMember(resolved.getPath());
- if (res != null && res.exists()) {
- if (res instanceof IProject) {
- // It is a project itself.
- IJavaProject jp = (IJavaProject) JavaCore.create(res);
- try {
- if (jp != null)
- roots = jp.getPackageFragmentRoots(); // All of the roots in the project are applicable.
- } catch (JavaModelException e) {
- }
- } else {
- // It is within another project
- IProject containingProject = res.getProject();
- IJavaProject jp = JavaCore.create(containingProject);
- if (jp != null) {
- // The roots if this is in the classpath of this project
- try {
- IPackageFragmentRoot root = jp.findPackageFragmentRoot(resolved.getPath());
- if (root != null)
- roots = new IPackageFragmentRoot[] { root };
- } catch (JavaModelException e) {
- }
- }
- }
- }
- }
- return roots;
- }
-
- /**
- * Return the list of entries that already are in the search path
- * so that they don't show up in the list.
- */
- protected Object[] getFilteredExistingEntries(IPackageFragmentRoot[] roots) {
- List entries = listField.getElements();
- List fragments = new ArrayList(entries.size());
- Iterator itr = entries.iterator();
- while (itr.hasNext()) {
- BPSearchListElement elem = (BPSearchListElement) itr.next();
- fragments.addAll(getPackages(elem, roots));
- }
- return fragments.toArray();
- }
-
- /**
- * Return the list of entries that already are in the search path
- * so that they don't show up in the list. This one is just the package names.
- */
- protected List getFilteredExistingEntries() {
- List entries = listField.getElements();
- List names = new ArrayList(entries.size());
- Iterator itr = entries.iterator();
- while (itr.hasNext()) {
- BPSearchListElement elem = (BPSearchListElement) itr.next();
- names.add(((SearchpathEntry) elem.getEntry()).getPackage());
- }
- return names;
- }
-
- protected List getPackages(BPSearchListElement element, IPackageFragmentRoot[] roots) {
- String packageName = ((SearchpathEntry) element.getEntry()).getPackage();
- if (packageName == null)
- return Collections.EMPTY_LIST;
-
- try {
- List packages = new ArrayList(10);
- for (int i = 0; i < roots.length; i++) {
- IJavaElement[] pfs = roots[i].getChildren();
- for (int j = 0; j < pfs.length; j++)
- if (pfs[j].getElementType() == IJavaElement.PACKAGE_FRAGMENT
- && pfs[j].getElementName().equals(packageName)) {
- packages.add(pfs[j]);
- break;
- }
- }
- return packages;
- } catch (JavaModelException e) {
- }
- return Collections.EMPTY_LIST;
- }
-}
diff --git a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfoPathsBlock.java b/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfoPathsBlock.java
deleted file mode 100644
index becfe8293..000000000
--- a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfoPathsBlock.java
+++ /dev/null
@@ -1,564 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: BeaninfoPathsBlock.java,v $
- * $Revision: 1.10 $ $Date: 2005/06/21 19:59:49 $
- */
-package org.eclipse.jem.internal.beaninfo.ui;
-
-
-import java.io.File;
-import java.lang.reflect.InvocationTargetException;
-import java.net.URL;
-import java.util.*;
-import java.util.List;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jdt.core.*;
-import org.eclipse.jdt.internal.ui.JavaPlugin;
-import org.eclipse.jdt.internal.ui.JavaPluginImages;
-import org.eclipse.jdt.internal.ui.dialogs.StatusInfo;
-import org.eclipse.jdt.internal.ui.viewsupport.ImageDisposer;
-import org.eclipse.jdt.internal.ui.wizards.IStatusChangeListener;
-import org.eclipse.jdt.internal.ui.wizards.dialogfields.*;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-
-import org.eclipse.jem.internal.beaninfo.adapters.BeaninfoNature;
-import org.eclipse.jem.internal.beaninfo.core.*;
-import org.eclipse.jem.internal.ui.core.JEMUIPlugin;
-
-public class BeaninfoPathsBlock {
-
- private IWorkspaceRoot fWorkspaceRoot;
-
- private CheckedListDialogField fSearchOrder;
- // Search path list. filtered for each tab page to appropriate entries
- private SelectionButtonDialogField fEnableBeaninfoDialogField;
- // Checkbox to add/remove beaninfo nature entirely.
-
- private StatusInfo fSearchStatus;
-
- private IJavaProject fCurrJProject;
-
- private IStatusChangeListener fContext;
- private PackagesWorkbookPage fPackagesPage;
- private BeaninfosWorkbookPage fBeaninfosPage;
-
- private BuildSearchBasePage fCurrPage;
- private SearchPathListLabelProvider labelProvider;
-
- public BeaninfoPathsBlock(IWorkspaceRoot root, IStatusChangeListener context) {
- fWorkspaceRoot = root;
- fContext = context;
- fCurrPage = null;
-
- BuildPathAdapter adapter = new BuildPathAdapter();
-
- String[] buttonLabels = new String[] {
- BeanInfoUIMessages.BeaninfoPathsBlock_UI__searchpath_up_button,
- BeanInfoUIMessages.BeaninfoPathsBlock_UI__searchpath_down_button,
- /* 2 */ null,
- BeanInfoUIMessages.BeanInfoPathsBlock_ExportAll ,
- BeanInfoUIMessages.BeanInfoPathsBlock_UnexportAll
- };
-
- labelProvider = new SearchPathListLabelProvider(); // We keep around to update with latest project.
- fSearchOrder = new CheckedListDialogField(null, buttonLabels, labelProvider);
- fSearchOrder.setDialogFieldListener(adapter);
- fSearchOrder.setLabelText(
- BeanInfoUIMessages.BeaninfoPathsBlock_UI__searchpath_label);
- fSearchOrder.setUpButtonIndex(0);
- fSearchOrder.setDownButtonIndex(1);
- fSearchOrder.setCheckAllButtonIndex(3);
- fSearchOrder.setUncheckAllButtonIndex(4);
-
- fEnableBeaninfoDialogField = new SelectionButtonDialogField(SWT.CHECK);
- fEnableBeaninfoDialogField.setLabelText(
- BeanInfoUIMessages.BeaninfoPathsBlock_UI__enablebeaninfo);
-
- fSearchStatus = new StatusInfo();
-
- fCurrJProject = null;
- }
-
- public CheckedListDialogField getSearchOrder() {
- return fSearchOrder;
- }
-
- /*
- * searchOrder dialog must never have all of elements set
- * directly. Must come through here first so that we can
- * make sure updates occur in correct sequence, else
- * we will wind up with entries being marked as unexported
- * when they really are exported.
- */
- public void setSearchOrderElements(List newElements) {
- ArrayList exportedEntries = new ArrayList(newElements.size());
- for (Iterator iter = newElements.iterator(); iter.hasNext();) {
- BPListElement element = (BPListElement) iter.next();
- if (element.isExported())
- exportedEntries.add(element);
- }
-
- inUpdate = true; // So that on first set we don't waste time updating the list and reseting all of our entries.
- fSearchOrder.setElements(newElements);
- inUpdate = false;
- fSearchOrder.setCheckedElements(exportedEntries);
- }
-
- // -------- UI creation ---------
-
- public Control createControl(Composite parent) {
- Composite composite = new Composite(parent, SWT.NONE);
-
- GridLayout layout = new GridLayout();
- layout.marginWidth = 0;
- layout.numColumns = 1;
- composite.setLayout(layout);
-
- TabFolder folder = new TabFolder(composite, SWT.NONE);
- folder.setLayoutData(new GridData(GridData.FILL_BOTH));
- folder.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- tabChanged(e.item);
- }
- });
-
- ImageRegistry imageRegistry = JavaPlugin.getDefault().getImageRegistry();
-
- TabItem item;
-
- ArrayList interestedDialogFields = new ArrayList(3);
-
- fPackagesPage = new PackagesWorkbookPage(fWorkspaceRoot, this, interestedDialogFields);
- item = new TabItem(folder, SWT.NONE);
- item.setText(BeanInfoUIMessages.BeanInfoPathsBlock_Page_Tab_Packages);
- item.setImage(imageRegistry.get(JavaPluginImages.IMG_OBJS_PACKAGE));
- item.setData(fPackagesPage);
- item.setControl(fPackagesPage.getControl(folder));
-
- // a non shared image
- Image fBeanImage = null;
- URL imageURL = Platform.find(JEMUIPlugin.getPlugin().getBundle(), new Path("icons/javabean.gif")); //$NON-NLS-1$
- if (imageURL != null)
- fBeanImage = ImageDescriptor.createFromURL(imageURL).createImage();
- else
- fBeanImage = ImageDescriptor.getMissingImageDescriptor().createImage();
- composite.addDisposeListener(new ImageDisposer(fBeanImage));
-
- fBeaninfosPage= new BeaninfosWorkbookPage(fWorkspaceRoot, this, interestedDialogFields);
- item= new TabItem(folder, SWT.NONE);
- item.setText(BeanInfoUIMessages.BeanInfoPathsBlock_Page_Tab_Classes);
- item.setImage(fBeanImage);
- item.setData(fBeaninfosPage);
- item.setControl(fBeaninfosPage.getControl(folder));
-
- // a non shared image
- Image cpoImage = JavaPluginImages.DESC_TOOL_CLASSPATH_ORDER.createImage();
- composite.addDisposeListener(new ImageDisposer(cpoImage));
-
- SearchpathOrderingWorkbookPage ordpage = new SearchpathOrderingWorkbookPage(fSearchOrder, interestedDialogFields);
- item = new TabItem(folder, SWT.NONE);
- item.setText(BeanInfoUIMessages.BeaninfoPathsBlock_UI__serachpath_tab_order);
- item.setImage(cpoImage);
- item.setData(ordpage);
- item.setControl(ordpage.getControl(folder));
-
- if (fCurrJProject != null) {
- fPackagesPage.init(fCurrJProject);
- fBeaninfosPage.init(fCurrJProject);
- }
-
- fEnableBeaninfoDialogField.doFillIntoGrid(composite, 1);
- fEnableBeaninfoDialogField.attachDialogFields((DialogField[]) interestedDialogFields.toArray(new DialogField[interestedDialogFields.size()]));
-
- folder.setSelection(2);
- fCurrPage = ordpage;
- fSearchOrder.selectFirstElement();
-
- // WorkbenchHelp.setHelp(composite, new Object[] { IJavaHelpContextIds.BUILD_PATH_BLOCK });
- return composite;
- }
-
-
- /**
- * Initializes the classpath for the given project. Multiple calls to init are allowed,
- * but all existing settings will be cleared and replace by the given or default paths.
- * @param project The java project to configure.
- */
- public void init(IJavaProject jproject) {
- fCurrJProject = jproject;
- labelProvider.setJavaProject(jproject);
-
- try {
- // If we have a config file, we will assume we have a nature. It will add it automatically
- // when we ask for the information. Even if we didn't have the nature, as soon as someone
- // asks for it, we would create it anyhow, and it would use the existing config file.
- // If we don't have a config file, we could have the nature, so we will check for that too.
- boolean haveConfigFile = jproject.getProject().getFile(BeaninfoNature.P_BEANINFO_SEARCH_PATH).exists();
- boolean haveNature = fCurrJProject.getProject().hasNature(BeaninfoNature.NATURE_ID);
- fEnableBeaninfoDialogField.setSelection(haveConfigFile || haveNature);
- if (haveNature || haveConfigFile) {
- BeaninfosDoc doc = BeaninfoNature.getRuntime(fCurrJProject.getProject()).getSearchPath();
- IClasspathEntry[] raw = fCurrJProject.getRawClasspath();
-
- List newSearchpath = new ArrayList();
- if (doc != null) {
- IBeaninfosDocEntry[] sp = doc.getSearchpath();
- for (int i = 0; i < sp.length; i++) {
- IBeaninfosDocEntry curr = sp[i];
- boolean isMissing = false;
- BPListElement elem = null;
- if (curr instanceof BeaninfoEntry) {
- BeaninfoEntry be = (BeaninfoEntry) curr;
-
- // get the resource, this tells if the beaninfos exist or not.
- Object[] paths = be.getClasspath(fCurrJProject);
- if (paths != null && paths.length > 0) {
- for (int j = 0; !isMissing && j < paths.length; j++) {
- Object path = paths[i];
- if (path instanceof IProject)
- isMissing = !((IProject) path).exists();
- else if (path instanceof String) {
- File f = new File((String) path);
- isMissing = !f.exists();
- } else if (path instanceof IPath) {
- isMissing = true; // Plugins are invalid in BeaninfoConfig. They only apply within contributions.
- } else
- isMissing = true; // Invalid, so isMissing.
- }
- } else
- isMissing = true;
-
- elem = new BPBeaninfoListElement(be, getInitialSearchpaths(be), isMissing);
- } else {
- // Searchpath entry, see if we can find the raw classpath entry that it is for.
- boolean isExported = false;
- boolean isPackageMissing = true;
- isMissing = true; // Initially missing until we find it.
- SearchpathEntry ce = (SearchpathEntry) curr;
- int kind = ce.getKind();
- IPath path = ce.getPath();
- for (int j = 0; j < raw.length; j++) {
- if (raw[j].getEntryKind() == kind && raw[j].getPath().equals(path)) {
- isMissing = false;
- isExported = raw[j].isExported() || raw[j].getEntryKind() == IClasspathEntry.CPE_SOURCE;
- String packageName = ce.getPackage();
- if (packageName != null) {
- IPackageFragmentRoot[] roots = fCurrJProject.findPackageFragmentRoots(raw[j]);
- for (int k = 0; k < roots.length; k++) {
- IPackageFragmentRoot iroot = roots[k];
- if (iroot.getPackageFragment(packageName).exists()) {
- isPackageMissing = false;
- break;
- }
- }
- } else
- isPackageMissing = false;
- break;
- }
- }
- elem = new BPSearchListElement(ce, isMissing, isPackageMissing, isExported);
- }
-
- newSearchpath.add(elem);
- }
- }
-
- // inits the dialog field
- setSearchOrderElements(newSearchpath);
-
- if (fPackagesPage != null) {
- fPackagesPage.init(fCurrJProject);
- fBeaninfosPage.init(fCurrJProject);
- }
- } else {
- // No nature, disable,
- fEnableBeaninfoDialogField.setSelection(false);
- }
- } catch (JavaModelException e) {
- fEnableBeaninfoDialogField.setSelection(false);
- } catch (CoreException e) {
- fEnableBeaninfoDialogField.setSelection(false);
- }
-
-// listenForClasspathChange();
- doStatusLineUpdate();
- }
-
- /*
- * Create the Searchpath elements for a BeaninfoElement.
- * Return null if not to update.
- */
- private BPSearchListElement[] getInitialSearchpaths(BeaninfoEntry infoEntry) {
-
- // We can only verify the existence of packages within beaninfos that are
- // located within a project on the desktop. Otherwise we can't find out what
- // packages are in them.
- IPackageFragmentRoot[] roots = null;
-
- if (infoEntry.getKind() != BeaninfoEntry.BIE_PLUGIN) {
- IClasspathEntry resolved = JavaCore.getResolvedClasspathEntry(infoEntry.getClasspathEntry());
- IResource res = fWorkspaceRoot.findMember(resolved.getPath());
- if (res != null && res.exists()) {
- if (res instanceof IProject) {
- // It is a project itself.
- IJavaProject jp = (IJavaProject) JavaCore.create(res);
- try {
- if (jp != null)
- roots = jp.getPackageFragmentRoots(); // All of the roots in the project are applicable.
- } catch (JavaModelException e) {
- }
- } else {
- // It is within another project
- IProject containingProject = res.getProject();
- IJavaProject jp = JavaCore.create(containingProject);
- if (jp != null) {
- // The roots if this is in the classpath of this project
- try {
- IPackageFragmentRoot root = jp.findPackageFragmentRoot(resolved.getPath());
- if (root != null)
- roots = new IPackageFragmentRoot[] { root };
- } catch (JavaModelException e) {
- }
- }
- }
- }
- }
-
- SearchpathEntry[] entries = infoEntry.getSearchPaths();
- BPSearchListElement[] packageElements = new BPSearchListElement[entries.length];
- for (int i = 0;
- i < entries.length;
- i++) { // Searchpath entry, see if we can find the raw classpath entry that it is for.
- boolean isPackageMissing = roots != null;
- // If roots is null, then the package isn't missing because we can't test for it.
- SearchpathEntry ce = entries[i];
- if (roots != null) {
- String packageName = ce.getPackage();
- for (int k = 0; k < roots.length; k++) {
- IPackageFragmentRoot iroot = roots[k];
- if (iroot.getPackageFragment(packageName).exists()) {
- isPackageMissing = false;
- break;
- }
- }
- }
- packageElements[i] = new BPSearchListElement(ce, false, isPackageMissing, false);
- }
-
- return packageElements;
- }
-
- // -------- public api --------
-
- /**
- * Returns the Java project. Can return <code>null<code> if the page has not
- * been initialized.
- */
- public IJavaProject getJavaProject() {
- return fCurrJProject;
- }
-
- private class BuildPathAdapter implements IDialogFieldListener {
-
- // ---------- IDialogFieldListener --------
- public void dialogFieldChanged(DialogField field) {
- buildPathDialogFieldChanged(field);
- }
- }
-
- private void buildPathDialogFieldChanged(DialogField field) {
- if (field == fSearchOrder) {
- updateSearchPathStatus();
- }
- doStatusLineUpdate();
- }
-
- // -------- verification -------------------------------
-
- private void doStatusLineUpdate() {
- fContext.statusChanged(fSearchStatus);
- }
-
- private boolean inUpdate;
- // Flag to indicate we are in updateSearchPathStatus and to not do it again. This can
- // happen due to using setCheckedElements instead of setCheckedWithoutUpdate.
- /**
- * Validates the search path.
- */
- private void updateSearchPathStatus() {
- if (inUpdate)
- return;
- try {
- inUpdate = true;
-
- fSearchStatus.setOK();
-
- List elements = fSearchOrder.getElements();
-
- boolean entryMissing = false;
-
- // Because of bug in setcheckedWithoutUpdate, which sets to true no matter what the state is, we need
- // to accumulate the checked elements and re-set them again after this so that they will be correct.
- ArrayList exported = new ArrayList();
-
- for (Iterator entries = elements.iterator(); entries.hasNext();) {
- BPListElement currElement = (BPListElement) entries.next();
-
- boolean isChecked = fSearchOrder.isChecked(currElement);
- if (currElement.canExportBeChanged()) {
- if (isChecked)
- exported.add(currElement);
- currElement.setExported(isChecked);
- } else {
- // fSearchOrder.setCheckedWithoutUpdate(currElement, currElement.isExported());
- if (currElement.isExported())
- exported.add(currElement);
- }
-
- entryMissing = entryMissing || currElement.isMissing();
- }
-
- // Now reset the checked states, due to bug
- fSearchOrder.setCheckedElements(exported);
-
- if (entryMissing) {
- fSearchStatus.setWarning(
- BeanInfoUIMessages.BeaninfoPathsBlock_UI__warning_EntryMissing);
- }
- } finally {
- inUpdate = false;
- }
- }
-
- // -------- creation -------------------------------
-
- /**
- * Creates a runnable that sets the configured build paths.
- */
- public IRunnableWithProgress getRunnable() {
- final boolean wantNature = fEnableBeaninfoDialogField.isSelected();
- final List searchPathEntries = wantNature ? fSearchOrder.getElements() : null;
-
- return new IRunnableWithProgress() {
- public void run(IProgressMonitor monitor) throws InvocationTargetException {
- if (monitor == null) {
- monitor = new NullProgressMonitor();
- }
- monitor.beginTask(
- BeanInfoUIMessages.BeaninfoPathsBlock_UI__searchpath_operationdescription,
- 10);
- try {
- setBeaninfoSearchpath(wantNature, searchPathEntries, monitor);
- } catch (CoreException e) {
- throw new InvocationTargetException(e);
- } finally {
- monitor.done();
- }
- }
- };
- }
-
- private void setBeaninfoSearchpath(
- boolean wantNature,
- List searchPathEntries,
- IProgressMonitor monitor)
- throws CoreException {
-
- if (wantNature) {
- // create beaninfo nature
- if (!fCurrJProject.getProject().hasNature(BeaninfoNature.NATURE_ID)) {
- addNatureIDToProject(fCurrJProject.getProject(), BeaninfoNature.NATURE_ID, monitor);
- }
-
- BeaninfoNature nature = BeaninfoNature.getRuntime(fCurrJProject.getProject());
- // Now build/set the search path.
- if (searchPathEntries.size() > 0) {
- IBeaninfosDocEntry[] sparray = new IBeaninfosDocEntry[searchPathEntries.size()];
- Iterator itr = searchPathEntries.iterator();
- int i = 0;
- while (itr.hasNext()) {
- BPListElement elem = (BPListElement) itr.next();
- sparray[i++] = elem.getEntry();
- }
- nature.setSearchPath(new BeaninfosDoc(sparray), monitor);
- } else
- nature.setSearchPath(null, monitor);
- } else {
- // Remove the nature, no longer wanted.
- removeNatureIDFromProject(fCurrJProject.getProject(), BeaninfoNature.NATURE_ID, monitor);
- }
- }
-
- /**
- * Adds a nature to a project
- */
- private void addNatureIDToProject(IProject proj, String natureId, IProgressMonitor monitor)
- throws CoreException {
- IProjectDescription description = proj.getDescription();
- String[] prevNatures = description.getNatureIds();
- String[] newNatures = new String[prevNatures.length + 1];
- System.arraycopy(prevNatures, 0, newNatures, 0, prevNatures.length);
- newNatures[prevNatures.length] = natureId;
- description.setNatureIds(newNatures);
- proj.setDescription(description, monitor);
- }
-
- private void removeNatureIDFromProject(IProject proj, String natureId, IProgressMonitor monitor)
- throws CoreException {
- IProjectDescription description = proj.getDescription();
- String[] prevNatures = description.getNatureIds();
- int indx = -1;
- for (int i = 0; i < prevNatures.length; i++) {
- if (prevNatures[i].equals(natureId)) {
- indx = i;
- break;
- }
- }
- if (indx == -1)
- return;
-
- String[] newNatures = new String[prevNatures.length - 1];
- if (newNatures.length != 0) {
- System.arraycopy(prevNatures, 0, newNatures, 0, indx);
- if (indx < newNatures.length)
- System.arraycopy(prevNatures, indx + 1, newNatures, indx, newNatures.length - indx);
- }
- description.setNatureIds(newNatures);
- proj.setDescription(description, monitor);
- }
-
- // -------- tab switching ----------
-
- private void tabChanged(Widget widget) {
- if (widget instanceof TabItem) {
- BuildSearchBasePage newPage = (BuildSearchBasePage) ((TabItem) widget).getData();
- if (fCurrPage != null) {
- List selection = fCurrPage.getSelection();
- if (!selection.isEmpty()) {
- newPage.setSelection(selection);
- }
- }
- fCurrPage = newPage;
- }
- }
-}
diff --git a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfosPropertyPage.java b/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfosPropertyPage.java
deleted file mode 100644
index c27a94583..000000000
--- a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfosPropertyPage.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo.ui;
-/*
- * $RCSfile: BeaninfosPropertyPage.java,v $
- * $Revision: 1.8 $ $Date: 2005/06/21 19:59:49 $
- */
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jdt.core.*;
-import org.eclipse.jdt.internal.ui.dialogs.StatusUtil;
-import org.eclipse.jdt.internal.ui.util.ExceptionHandler;
-import org.eclipse.jdt.internal.ui.wizards.IStatusChangeListener;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.WorkspaceModifyDelegatingOperation;
-import org.eclipse.ui.dialogs.PropertyPage;
-
-import org.eclipse.jem.internal.ui.core.JEMUIPlugin;
-
-/**
- * Property page for configuring Beaninfo path
- */
-public class BeaninfosPropertyPage extends PropertyPage implements IStatusChangeListener {
-
- private BeaninfoPathsBlock fBuildPathsBlock;
- private IResourceChangeListener listener;
- private IProject project;
-
- /*
- * @see PreferencePage#createControl(Composite)
- */
- protected Control createContents(Composite parent) {
-// when we get help working.
-// WorkbenchHelp.setHelp(parent, new DialogPageContextComputer(this, IJavaHelpContextIds.BUILD_PATH_PROPERTY_PAGE));
-
- // ensure the page has no special buttons
- noDefaultAndApplyButton();
-
- project= getProject();
- if (project == null || !isJavaProject(project)) {
- return createWithoutJava(parent);
- } else if (!project.isOpen()) {
- return createForClosedProject(parent);
- } else {
- return createWithJava(parent);
- }
- }
-
- /**
- * Content for valid projects.
- */
- private Control createWithJava(Composite parent) {
- IWorkspaceRoot root= ResourcesPlugin.getWorkspace().getRoot();
- fBuildPathsBlock= new BeaninfoPathsBlock(root, this);
- final IJavaProject jproject = JavaCore.create(project);
- fBuildPathsBlock.init(jproject);
- final IPath classpathfile = project.getFile(".classpath").getFullPath(); //$NON-NLS-1$
- listener = new IResourceChangeListener() {
-
- /* (non-Javadoc)
- * @see org.eclipse.core.resources.IResourceChangeListener#resourceChanged(org.eclipse.core.resources.IResourceChangeEvent)
- */
- public void resourceChanged(IResourceChangeEvent event) {
- if (fBuildPathsBlock != null) {
- if (event.getDelta().findMember(classpathfile) != null)
- getControl().getDisplay().asyncExec(new Runnable() { // Can be called outside of display loop
- public void run() {
- fBuildPathsBlock.init(jproject);
- }
- });
- }
- }
- };
- project.getWorkspace().addResourceChangeListener(listener, IResourceChangeEvent.POST_CHANGE);
-
- return fBuildPathsBlock.createControl(parent);
- }
-
- /**
- * Content for non-Java projects.
- */
- private Control createWithoutJava(Composite parent) {
- Label label= new Label(parent, SWT.LEFT);
- label.setText(BeanInfoUIMessages.BeaninfoPropertiesPage_INFO__nojavaproject);
-
- fBuildPathsBlock= null;
- setValid(true);
- return label;
- }
-
- /**
- * Content for closed projects.
- */
- private Control createForClosedProject(Composite parent) {
- Label label= new Label(parent, SWT.LEFT);
- label.setText(BeanInfoUIMessages.BeaninfoPropertiesPage_INFO__closedproject);
-
- fBuildPathsBlock= null;
- setValid(true);
- return label;
- }
-
- private IProject getProject() {
- IAdaptable adaptable= getElement();
- if (adaptable != null) {
- IJavaElement elem= (IJavaElement) adaptable.getAdapter(IJavaElement.class);
- if (elem instanceof IJavaProject) {
- return ((IJavaProject) elem).getProject();
- }
- }
- return null;
- }
-
- private boolean isJavaProject(IProject proj) {
- try {
- return proj.hasNature(JavaCore.NATURE_ID);
- } catch (CoreException e) {
- JEMUIPlugin.getPlugin().getLogger().log(e.getStatus());
- }
- return false;
- }
-
- /*
- * @see IPreferencePage#performOk
- */
- public boolean performOk() {
- if (fBuildPathsBlock != null) {
- IRunnableWithProgress runnable= fBuildPathsBlock.getRunnable();
-
- IRunnableWithProgress op= new WorkspaceModifyDelegatingOperation(runnable);
- Shell shell= getControl().getShell();
- try {
- PlatformUI.getWorkbench().getProgressService().run(false, false, op);
- } catch (InvocationTargetException e) {
- String title= BeanInfoUIMessages.Beaninfo_UI__errortitle;
- String message= BeanInfoUIMessages.Beaninfo_UI__error;
- ExceptionHandler.handle(e, shell, title, message);
- return false;
- } catch (InterruptedException e) {
- // cancelled
- return false;
- }
- }
- return true;
- }
-
- /**
- * @see IStatusChangeListener#statusChanged
- */
- public void statusChanged(IStatus status) {
- setValid(!status.matches(IStatus.ERROR));
- StatusUtil.applyToStatusLine(this, status);
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.dialogs.IDialogPage#dispose()
- */
- public void dispose() {
- if (listener != null)
- project.getWorkspace().removeResourceChangeListener(listener);
- listener = null;
- super.dispose();
- }
-}
diff --git a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfosWorkbookPage.java b/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfosWorkbookPage.java
deleted file mode 100644
index c6873c2c7..000000000
--- a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfosWorkbookPage.java
+++ /dev/null
@@ -1,596 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo.ui;
-/*
- * $RCSfile: BeaninfosWorkbookPage.java,v $
- * $Revision: 1.8 $ $Date: 2005/06/21 19:59:49 $
- */
-
-import java.util.*;
-import java.util.List;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jdt.core.*;
-import org.eclipse.jdt.internal.ui.util.PixelConverter;
-import org.eclipse.jdt.internal.ui.wizards.*;
-import org.eclipse.jdt.internal.ui.wizards.buildpaths.ArchiveFileFilter;
-import org.eclipse.jdt.internal.ui.wizards.dialogfields.*;
-import org.eclipse.jdt.ui.JavaElementLabelProvider;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.dialogs.StatusDialog;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.dialogs.*;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-
-import org.eclipse.jem.internal.beaninfo.core.BeaninfoEntry;
-import org.eclipse.jem.internal.ui.core.JEMUIPlugin;
-
-/**
- * @version 1.0
- * @author
- */
-public class BeaninfosWorkbookPage extends BuildSearchBasePage {
-
- private BeaninfoPathsBlock biPathsBlock;
- private IJavaProject fCurrJProject;
-
- private ListDialogField fBeaninfosList;
- private IWorkspaceRoot fWorkspaceRoot;
-
- private IDialogSettings fDialogSettings;
-
- private Control fSWTControl;
-
- private IClasspathEntry[] resolvedList;
- private IClasspathEntry[] rawList;
- private SearchPathListLabelProvider labelProvider;
-
- private static final String DIALOGSTORE_LASTEXTJAR = JEMUIPlugin.PI_BEANINFO_UI + ".lastextjar"; //$NON-NLS-1$
- private static final String DIALOGSTORE_LASTVARIABLE = JEMUIPlugin.PI_BEANINFO_UI + ".lastvar"; //$NON-NLS-1$
-
- public BeaninfosWorkbookPage(IWorkspaceRoot root, BeaninfoPathsBlock biPathsBlock, List interestedFieldsForEnableControl) {
- this.biPathsBlock = biPathsBlock;
- fWorkspaceRoot= root;
- fSWTControl= null;
-
- fDialogSettings= JEMUIPlugin.getPlugin().getDialogSettings();
-
- String[] buttonLabels= new String[] {
- BeanInfoUIMessages.BeanInfosWorkbookPage_AddFolders,
- BeanInfoUIMessages.BeanInfosWorkbookPage_AddJARs,
- BeanInfoUIMessages.BeanInfosWorkbookPage_AddExternalJAR,
- BeanInfoUIMessages.BeanInfosWorkbookPage_AddVariable,
- BeanInfoUIMessages.BeanInfosWorkbookPage_AddProjects,
- /* 5 */ null,
- BeanInfoUIMessages.BeanInfosWorkbookPage_ModifyPaths,
- /* 7 */ null,
- BeanInfoUIMessages.BeanInfosWorkbookPage_Remove
- };
-
- BeaninfosAdapter adapter= new BeaninfosAdapter();
-
- labelProvider = new SearchPathListLabelProvider(); // kept around so can be updated with java project later
- fBeaninfosList= new ListDialogField(adapter, buttonLabels, labelProvider);
- fBeaninfosList.setDialogFieldListener(adapter);
- fBeaninfosList.setLabelText(BeanInfoUIMessages.BeanInfosWorkbookPage_List_Text);
- fBeaninfosList.setRemoveButtonIndex(8);
- fBeaninfosList.enableButton(6, false); // Need to initially disable it and let the selection state handle it from there.
-
- fBeaninfosList.setViewerSorter(new BIListElementSorter());
-
- interestedFieldsForEnableControl.add(fBeaninfosList);
-
- }
-
- public void init(IJavaProject jproject) {
- fCurrJProject= jproject;
- labelProvider.setJavaProject(jproject);
- try {
- rawList = fCurrJProject.getRawClasspath();
- resolvedList = new IClasspathEntry[rawList.length];
- for (int i = 0; i < rawList.length; i++) {
- resolvedList[i] = JavaCore.getResolvedClasspathEntry(rawList[i]);
- }
- } catch (JavaModelException e) {
- rawList = resolvedList = new IClasspathEntry[0];
- }
- updateBeaninfosList();
- }
-
- private void updateBeaninfosList() {
- List spelements = biPathsBlock.getSearchOrder().getElements();
-
- List biElements = new ArrayList(spelements.size());
- for (int i = 0; i < spelements.size(); i++) {
- BPListElement spe = (BPListElement) spelements.get(i);
- if (spe instanceof BPBeaninfoListElement) {
- biElements.add(spe);
- }
- }
- fBeaninfosList.setElements(biElements);
- }
-
- // -------- ui creation
-
- public Control getControl(Composite parent) {
- PixelConverter converter= new PixelConverter(parent);
-
- Composite composite= new Composite(parent, SWT.NONE);
-
- LayoutUtil.doDefaultLayout(composite, new DialogField[] { fBeaninfosList }, true, SWT.DEFAULT, SWT.DEFAULT);
- int buttonBarWidth= converter.convertWidthInCharsToPixels(24);
- fBeaninfosList.setButtonsMinWidth(buttonBarWidth);
-
- fSWTControl = composite;
-
- return composite;
- }
-
- private Shell getShell() {
- if (fSWTControl != null) {
- return fSWTControl.getShell();
- }
- return JEMUIPlugin.getPlugin().getWorkbench().getActiveWorkbenchWindow().getShell();
- }
-
-
- private class BeaninfosAdapter implements IDialogFieldListener, IListAdapter {
-
- // -------- IListAdapter --------
- public void customButtonPressed(ListDialogField field, int index) {
- beaninfosPageCustomButtonPressed(index);
- }
-
- public void selectionChanged(ListDialogField field) {
- ListDialogField list = field;
- int selCnt = list.getSelectedElements().size();
- list.enableButton(6, selCnt == 1); // Only want the button enabled if one beaninfo is selected.
-
- }
-
- // ---------- IDialogFieldListener --------
-
- public void dialogFieldChanged(DialogField field) {
- beaninfosPageDialogFieldChanged();
- }
- /**
- * @see org.eclipse.jdt.internal.ui.wizards.dialogfields.IListAdapter#doubleClicked(ListDialogField)
- */
- public void doubleClicked(ListDialogField field) {
- }
-
- }
-
- private void beaninfosPageCustomButtonPressed(int index) {
- List beaninfoEntries= null;
- switch (index) {
- case 0: /* add existing */
- beaninfoEntries= chooseClassContainers();
- break;
- case 1: /* add jar */
- beaninfoEntries= chooseJarFiles();
- break;
- case 2: /* add external jar */
- beaninfoEntries= chooseExtJarFiles();
- break;
- case 3: /* add variable */
- beaninfoEntries= chooseVariableEntries();
- break;
- case 4: /* add projects */
- beaninfoEntries= chooseProjects();
- break;
- case 6: /* Modify search paths within beaninfos. */
- modifySearchPaths();
- return;
- }
-
- if (beaninfoEntries != null) {
- fBeaninfosList.addElements(beaninfoEntries);
- fBeaninfosList.postSetSelection(new StructuredSelection(beaninfoEntries));
- }
- }
-
- private void modifySearchPaths() {
- // Bring up the dialog for modifying search paths of a particular beaninfo entry.
- BPBeaninfoListElement elem = (BPBeaninfoListElement) fBeaninfosList.getSelectedElements().get(0); // There should only be one, button not enabled if none or more than one selected.
- BeaninfoEntrySearchpathDialog dialog = new BeaninfoEntrySearchpathDialog(getShell(), elem, fCurrJProject);
- dialog.open();
- }
-
- private void beaninfosPageDialogFieldChanged() {
- if (fCurrJProject != null) {
- // already initialized
- updateSearchpathList();
- }
- }
-
- private void updateSearchpathList() {
- List searchelements = biPathsBlock.getSearchOrder().getElements();
-
- List beaninfoelements = fBeaninfosList.getElements();
-
- boolean changeDone = false;
- // First go through the search path and remove any Beaninfo list elements that
- // are not in this pages beaninfos list.
- for (ListIterator spitr = searchelements.listIterator(searchelements.size());
- spitr.hasPrevious();
- ) {
- BPListElement element = (BPListElement) spitr.previous();
- if (element instanceof BPBeaninfoListElement && !beaninfoelements.remove(element)) {
- // Search element and not found in packages list so remove it from searchpath list.
- spitr.remove();
- changeDone = true;
- }
- }
- // Any left over in beaninfos list are new and need to be added.
- searchelements.addAll(beaninfoelements);
- changeDone = changeDone || !beaninfoelements.isEmpty();
-
- if (changeDone)
- biPathsBlock.setSearchOrderElements(searchelements);
- }
-
-
- private List chooseClassContainers() {
- Class[] acceptedClasses= new Class[] { IFolder.class };
- ISelectionStatusValidator validator= new TypedElementSelectionValidator(acceptedClasses, true);
-
- acceptedClasses= new Class[] { IProject.class, IFolder.class };
-
- ViewerFilter filter= new TypedViewerFilter(acceptedClasses, getUsedContainers());
-
- ILabelProvider lp= new WorkbenchLabelProvider();
- ITreeContentProvider cp= new WorkbenchContentProvider();
-
- ElementTreeSelectionDialog dialog= new ElementTreeSelectionDialog(getShell(), lp, cp);
- dialog.setValidator(validator);
- dialog.setTitle(BeanInfoUIMessages.BeanInfosWorkbookPage_SelectionDialog_Classes_Title);
- dialog.setMessage(BeanInfoUIMessages.BeanInfosWorkbookPage_SelectionDialog_Classes_Prompt);
- dialog.addFilter(filter);
- dialog.setInput(fWorkspaceRoot);
- dialog.setInitialSelection(fCurrJProject.getProject());
-
- if (dialog.open() == Window.OK) {
- Object[] elements= dialog.getResult();
- List res= new ArrayList(elements.length);
- for (int i= 0; i < elements.length; i++) {
- BPBeaninfoListElement newGuy = newBPBeaninfoListElement((IResource) elements[i]);
- if (newGuy != null)
- res.add(newGuy);
- }
- return res;
- }
- return null;
- }
-
- private List chooseJarFiles() {
- Class[] acceptedClasses= new Class[] { IFile.class };
- ISelectionStatusValidator validator= new TypedElementSelectionValidator(acceptedClasses, true);
- ViewerFilter filter= new ArchiveFileFilter(getUsedJARFiles(), true);
-
- ILabelProvider lp= new WorkbenchLabelProvider();
- ITreeContentProvider cp= new WorkbenchContentProvider();
-
- ElementTreeSelectionDialog dialog= new ElementTreeSelectionDialog(getShell(), lp, cp);
- dialog.setValidator(validator);
- dialog.setTitle(BeanInfoUIMessages.BeanInfosWorkbookPage_SelectionDialog_JARs_Title);
- dialog.setMessage(BeanInfoUIMessages.BeanInfosWorkbookPage_SelectionDialog_JARs_Message);
- dialog.addFilter(filter);
- dialog.setInput(fWorkspaceRoot);
- dialog.setInitialSelection(fCurrJProject.getProject());
-
- if (dialog.open() == Window.OK) {
- Object[] elements= dialog.getResult();
- List res= new ArrayList(elements.length);
- for (int i= 0; i < elements.length; i++) {
- BPBeaninfoListElement newGuy = newBPBeaninfoListElement((IResource) elements[i]);
- if (newGuy != null)
- res.add(newGuy);
- }
- return res;
- }
- return null;
- }
-
- private IContainer[] getUsedContainers() {
- // Containers used by both the classpath and the beaninfo search path.
- // Don't want containers used by classpath because those would then be
- // in the buildpath and user would select paths through the search path page.
- ArrayList res= new ArrayList();
- try {
- IPath outputLocation= fCurrJProject.getOutputLocation();
- if (outputLocation != null) {
- IResource resource= fWorkspaceRoot.findMember(outputLocation);
- if (resource instanceof IContainer) {
- res.add(resource);
- }
- }
- } catch (JavaModelException e) {
- // ignore it here, just log
- JEMUIPlugin.getPlugin().getLogger().log(e.getStatus());
- }
-
- for (int i= 0; i < resolvedList.length; i++) {
- if (resolvedList[i] != null && resolvedList[i].getEntryKind() == IClasspathEntry.CPE_SOURCE) {
- IResource resource= fWorkspaceRoot.findMember(resolvedList[i].getPath());
- if (resource instanceof IContainer) {
- res.add(resource);
- }
- }
- }
-
- List bilist= fBeaninfosList.getElements();
- for (int i= 0; i < bilist.size(); i++) {
- BPListElement elem= (BPListElement)bilist.get(i);
- if (elem.getEntry().getKind() == IClasspathEntry.CPE_SOURCE) {
- IResource resource= fWorkspaceRoot.findMember(elem.getEntry().getPath());
- res.add(resource);
- }
- }
- return (IContainer[]) res.toArray(new IContainer[res.size()]);
- }
-
- private IFile[] getUsedJARFiles() {
- // Jars used by both the classpath and the beaninfo search path.
- // Don't want jars used by classpath because those would then be
- // in the buildpath and user would select paths through the search path page.
- ArrayList res= new ArrayList();
- for (int i= 0; i < resolvedList.length; i++) {
- if (resolvedList[i] != null && resolvedList[i].getEntryKind() == IClasspathEntry.CPE_LIBRARY) {
- IResource resource= fWorkspaceRoot.findMember(resolvedList[i].getPath());
- if (resource instanceof IFile)
- res.add(resource);
- }
- }
-
- List bilist= fBeaninfosList.getElements();
- for (int i= 0; i < bilist.size(); i++) {
- BPListElement elem= (BPListElement)bilist.get(i);
- if (elem.getEntry().getKind() == IClasspathEntry.CPE_LIBRARY) {
- IResource resource= fWorkspaceRoot.findMember(elem.getEntry().getPath());
- if (resource instanceof IFile)
- res.add(resource);
- }
- }
- return (IFile[]) res.toArray(new IFile[res.size()]);
- }
-
- /**
- * Create a new BPListElement for the given object.
- */
- private BPBeaninfoListElement newBPBeaninfoListElement(IResource element) {
- if (element instanceof IContainer || element instanceof IFile) {
- IClasspathEntry cpe = JavaCore.newLibraryEntry(element.getFullPath(), null, null);
- BeaninfoEntry bie = new BeaninfoEntry(cpe, null, true);
- return new BPBeaninfoListElement(bie, null, false);
- }
-
- return null;
- }
-
-
- private List chooseExtJarFiles() {
- String lastUsedPath= fDialogSettings.get(DIALOGSTORE_LASTEXTJAR);
- if (lastUsedPath == null) {
- lastUsedPath= ""; //$NON-NLS-1$
- }
- FileDialog dialog= new FileDialog(getShell(), SWT.MULTI);
- dialog.setText(BeanInfoUIMessages.BeanInfosWorkbookPage_SelectionDialog_ExtJARs_Text);
- dialog.setFilterExtensions(new String[] {"*.jar;*.zip"}); //$NON-NLS-1$
- dialog.setFilterPath(lastUsedPath);
- String res= dialog.open();
- if (res == null) {
- return null;
- }
- String[] fileNames= dialog.getFileNames();
- int nChosen= fileNames.length;
-
- IPath filterPath= new Path(dialog.getFilterPath());
- List elems = new ArrayList(nChosen);
- for (int i= 0; i < nChosen; i++) {
- IPath path= filterPath.append(fileNames[i]).makeAbsolute();
- BPBeaninfoListElement newGuy = newBPBeaninfoListElement(path);
- if (newGuy != null)
- elems.add(newGuy);
- }
- fDialogSettings.put(DIALOGSTORE_LASTEXTJAR, filterPath.toOSString());
-
- return elems;
- }
-
- private BPBeaninfoListElement newBPBeaninfoListElement(IPath path) {
- // Create for an external, if not already used in either classpath or beaninfo path.
- // These can't be pre-selected out like for the other choose dialogs.
- for (int i = 0; i < resolvedList.length; i++) {
- IClasspathEntry cpe = resolvedList[i];
- if (cpe != null && cpe.getEntryKind() == IClasspathEntry.CPE_LIBRARY && cpe.getPath().equals(path))
- return null; // Already exists.
- }
-
- // Now see if one of ours.
- List ours = fBeaninfosList.getElements();
- for (int i = 0; i < ours.size(); i++) {
- BPBeaninfoListElement bpb = (BPBeaninfoListElement) ours.get(i);
- if (bpb.getEntry().getKind() == IClasspathEntry.CPE_LIBRARY && bpb.getEntry().getPath().equals(path))
- return null; // Already exists
- }
-
- IClasspathEntry cpe = JavaCore.newLibraryEntry(path, null, null);
- BeaninfoEntry bie = new BeaninfoEntry(cpe, null, true);
- return new BPBeaninfoListElement(bie, null, false);
- }
-
-
- private List chooseProjects() {
- Class[] acceptedClasses= new Class[] { IJavaProject.class };
- ISelectionStatusValidator validator= new TypedElementSelectionValidator(acceptedClasses, true);
-
- List allProjects = null;
- try {
- allProjects = new ArrayList(Arrays.asList(fCurrJProject.getJavaModel().getChildren()));
- } catch(JavaModelException e) {
- allProjects = Collections.EMPTY_LIST;
- }
- allProjects.removeAll(getUsedProjects());
-
- ILabelProvider lp= new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT);
-
- ElementListSelectionDialog dialog= new ElementListSelectionDialog(getShell(), lp);
- dialog.setValidator(validator);
- dialog.setTitle(BeanInfoUIMessages.BeanInfosWorkbookPage_SelectionDialog_Projects_Title);
- dialog.setMessage(BeanInfoUIMessages.BeanInfosWorkbookPage_SelectionDialog_Projects_Prompt);
- dialog.setElements(allProjects.toArray());
-
- if (dialog.open() == Window.OK) {
- Object[] elements= dialog.getResult();
- List res= new ArrayList(elements.length);
- for (int i= 0; i < elements.length; i++) {
- try {
- IClasspathEntry cpe = JavaCore.newProjectEntry(((IJavaProject) elements[i]).getCorrespondingResource().getFullPath());
- BeaninfoEntry bie = new BeaninfoEntry(cpe, null, true);
- res.add(new BPBeaninfoListElement(bie, null, false));
- } catch(JavaModelException e) {
- }
- }
- return res;
- }
- return null;
- }
-
- private List getUsedProjects() {
- // Projects used by both the classpath and the beaninfo search path.
- // Don't want projects used by classpath because those would then be
- // in the buildpath and user would select paths through the search path page.
- ArrayList res= new ArrayList();
- res.add(fCurrJProject); // Plus our own project is used.
- IJavaModel jmodel = fCurrJProject.getJavaModel();
- for (int i= 0; i < resolvedList.length; i++) {
- if (resolvedList[i] != null && resolvedList[i].getEntryKind() == IClasspathEntry.CPE_PROJECT) {
- res.add(jmodel.getJavaProject(resolvedList[i].getPath().segment(0)));
- }
- }
-
- List bilist= fBeaninfosList.getElements();
- for (int i= 0; i < bilist.size(); i++) {
- BPListElement elem= (BPListElement)bilist.get(i);
- if (elem.getEntry().getKind() == IClasspathEntry.CPE_PROJECT)
- res.add(jmodel.getJavaProject(elem.getEntry().getPath().segment(0)));
- }
- return res;
- }
-
- private List chooseVariableEntries() {
- // Remove existing variable entries in both the classpath and the beaninfopaths.
- // Don't want classpath ones because they should be of been selected in the search paths page.
- ArrayList existingPaths= new ArrayList();
- for (int i= 0; i < rawList.length; i++) {
- if (rawList[i].getEntryKind() == IClasspathEntry.CPE_VARIABLE) {
- existingPaths.add(rawList[i].getPath());
- }
- }
-
- List ours = fBeaninfosList.getElements();
- for (int i = 0; i < ours.size(); i++) {
- BPBeaninfoListElement bpb = (BPBeaninfoListElement) ours.get(i);
- if (bpb.getEntry().getKind() == IClasspathEntry.CPE_VARIABLE)
- existingPaths.add(bpb.getEntry().getPath());
- }
-
- VariableSelectionDialog dialog= new VariableSelectionDialog(getShell(), existingPaths);
- if (dialog.open() == Window.OK) {
- IPath path= dialog.getVariable();
- IClasspathEntry cpe = JavaCore.newVariableEntry(path, null, null);
- IPath resolvedPath= JavaCore.getResolvedVariablePath(path);
- boolean isMissing = resolvedPath == null || !resolvedPath.toFile().isFile();
- return Collections.singletonList(new BPBeaninfoListElement(new BeaninfoEntry(cpe, null, true), null, isMissing));
- }
- return null;
- }
-
-
- // a dialog to choose a variable
- private class VariableSelectionDialog extends StatusDialog implements IStatusChangeListener {
- private VariableSelectionBlock fVariableSelectionBlock;
-
- public VariableSelectionDialog(Shell parent, List existingPaths) {
- super(parent);
- setTitle(NewWizardMessages.NewVariableEntryDialog_title); //$NON-NLS-1$
- String initVar= fDialogSettings.get(DIALOGSTORE_LASTVARIABLE);
- fVariableSelectionBlock= new VariableSelectionBlock(this, existingPaths, null, initVar, false);
- }
-
- /*
- * @see Windows#configureShell
- */
- protected void configureShell(Shell newShell) {
- super.configureShell(newShell);
-// WorkbenchHelp.setHelp(newShell, IJavaHelpContextIds.VARIABLE_SELECTION_DIALOG);
- }
-
- /*
- * @see StatusDialog#createDialogArea()
- */
- protected Control createDialogArea(Composite parent) {
- Composite composite= (Composite)super.createDialogArea(parent);
-
- Label message= new Label(composite, SWT.WRAP);
- message.setText(NewWizardMessages.NewVariableEntryDialog_title); //$NON-NLS-1$
- message.setLayoutData(new GridData());
-
- Control inner= fVariableSelectionBlock.createControl(composite);
- inner.setLayoutData(new GridData(GridData.FILL_BOTH));
- return composite;
- }
-
- /*
- * @see Dialog#okPressed()
- */
- protected void okPressed() {
- fDialogSettings.put(DIALOGSTORE_LASTVARIABLE, getVariable().segment(0));
- super.okPressed();
- }
-
- /*
- * @see IStatusChangeListener#statusChanged()
- */
- public void statusChanged(IStatus status) {
- updateStatus(status);
- }
-
- public IPath getVariable() {
- return fVariableSelectionBlock.getVariablePath();
- }
- }
-
- // a dialog to set the source attachment properties
-
- /*
- * @see BuildPathBasePage#getSelection
- */
- public List getSelection() {
- return fBeaninfosList.getSelectedElements();
- }
-
- /*
- * @see BuildPathBasePage#setSelection
- */
- public void setSelection(List selElements) {
- fBeaninfosList.selectElements(new StructuredSelection(selElements));
- }
-
-
-}
diff --git a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BuildSearchBasePage.java b/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BuildSearchBasePage.java
deleted file mode 100644
index 45e894c70..000000000
--- a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BuildSearchBasePage.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo.ui;
-/*
- * $RCSfile: BuildSearchBasePage.java,v $
- * $Revision: 1.3 $ $Date: 2005/02/15 23:02:54 $
- */
-import java.util.List;
-
-public abstract class BuildSearchBasePage {
-
- public abstract List getSelection();
- public abstract void setSelection(List selection);
-
-}
diff --git a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/OverlayComposite.java b/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/OverlayComposite.java
deleted file mode 100644
index 301d1dec3..000000000
--- a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/OverlayComposite.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created Apr 27, 2005 by Gili Mendel
- *
- * $RCSfile: OverlayComposite.java,v $
- * $Revision: 1.1 $ $Date: 2005/05/02 21:36:10 $
- */
-package org.eclipse.jem.internal.beaninfo.ui;
-
-import java.util.*;
-
-import org.eclipse.jface.resource.CompositeImageDescriptor;
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.graphics.Point;
-
-//TODO: This class was dropped in 3.1 M7 from org.eclipse.ui.internal.misc
-// We made local copy for the time being. Need to investigate if this is file
-// for us given that the OverlayIcon (replacement) is internal
-public class OverlayComposite extends CompositeImageDescriptor {
-
- private ImageData backgroundImage;
-
- private ImageData leftImage;
-
- private ImageData rightImage;
-
- private ImageData topImage;
-
- private ImageData bottomImage;
-
- private List foregroundImages = new ArrayList();
-
- /**
- * Create an instance of this class.
- */
- public OverlayComposite(ImageData background) {
- backgroundImage = background;
- }
-
- /**
- * Add the passed image to this descriptor's collection of images to
- * be composed together to create an image.
- */
- public void addForegroundImage(ImageData image) {
- foregroundImages.add(image);
- }
-
- /**
- *Superimpose self's images within the given bounds by means of #drawImage
- *
- *@see CompositeImage#drawImage(ImageData src,int ox,int oy)
- */
- protected void drawCompositeImage(int width, int height) {
- //draw background
- drawImage(backgroundImage, getLeftBound(), getTopBound());
-
- //draw foreground images
- Iterator e = foregroundImages.iterator();
- while (e.hasNext())
- drawImage(((ImageData) e.next()), getLeftBound(), getTopBound());
-
- //draw extensions
- if (topImage != null)
- drawImage(topImage, getLeftBound(), 0);
- if (bottomImage != null)
- drawImage(bottomImage, getLeftBound(), height - bottomImage.height);
- if (leftImage != null)
- drawImage(leftImage, 0, getTopBound());
- if (rightImage != null)
- drawImage(rightImage, width - rightImage.width, getTopBound());
-
- }
-
- /**
- * @see Object#equals
- */
- public boolean equals(Object o) {
- if (!(o instanceof OverlayComposite)) {
- return false;
- }
- OverlayComposite other = (OverlayComposite) o;
-
- return equals(backgroundImage, other.backgroundImage)
- && equals(leftImage, other.leftImage)
- && equals(rightImage, other.rightImage)
- && equals(topImage, other.topImage)
- && equals(bottomImage, other.bottomImage)
- && equals(foregroundImages, other.foregroundImages);
- }
-
- /**
- * Private utility for comparing two possibly-null objects.
- */
- private boolean equals(Object o1, Object o2) {
- return o1 == null ? o2 == null : o1.equals(o2);
- }
-
- /**
- * Answer the left-most coordinate that the main image can draw to
- *
- * @return int
- */
- protected int getLeftBound() {
- if (leftImage == null)
- return 0;
-
- return leftImage.width;
- }
-
- /**
- * Answer self's size, as determined by the size of the initially-
- * provided base-level image
- */
- protected Point getSize() {
- //start with basic size
- Point size = new Point(backgroundImage.width, backgroundImage.height);
-
- //overlays may increase size.
- if (topImage != null)
- size.y += topImage.height;
-
- if (bottomImage != null)
- size.y += bottomImage.height;
-
- if (leftImage != null)
- size.x += leftImage.width;
-
- if (rightImage != null)
- size.x += rightImage.width;
-
- return size;
- }
-
- /**
- * Answer the top-most coordinate that the main image can draw to
- *
- * @return int
- */
- protected int getTopBound() {
- if (topImage == null)
- return 0;
-
- return topImage.height;
- }
-
- /**
- * @see Object#hashCode
- */
- public int hashCode() {
- return hashCode(backgroundImage) + hashCode(leftImage)
- + hashCode(rightImage) + hashCode(topImage)
- + hashCode(bottomImage) + hashCode(foregroundImages);
- }
-
- /**
- * Private utility for getting the hashCode for an
- * object that may be null.
- */
- private int hashCode(Object o) {
- return o == null ? 0 : o.hashCode();
- }
-
- /**
- * Set the image to be drawn below the primary overlay region.
- */
- public void setBottomExtension(ImageData value) {
- bottomImage = value;
- }
-
- /**
- * Set the image to be drawn to the left of the primary overlay region.
- */
- public void setLeftExtension(ImageData value) {
- leftImage = value;
- }
-
- /**
- * Set the image to be drawn to the right of the primary overlay region.
- */
- public void setRightExtension(ImageData value) {
- rightImage = value;
- }
-
- /**
- * Set the image to be drawn above the primary overlay region.
- */
- public void setTopExtension(ImageData value) {
- topImage = value;
- }
-
-}
diff --git a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/PackageOnlyContentProvider.java b/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/PackageOnlyContentProvider.java
deleted file mode 100644
index 22ab88012..000000000
--- a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/PackageOnlyContentProvider.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo.ui;
-/*
- * $RCSfile: PackageOnlyContentProvider.java,v $
- * $Revision: 1.3 $ $Date: 2005/02/15 23:02:54 $
- */
-
-
-import org.eclipse.jdt.ui.StandardJavaElementContentProvider;
-
-import org.eclipse.jdt.core.IPackageFragment;
-import java.util.*;
-/**
- * A content provider which will only go down to the package level,
- * it won't explore further. The advantage of this is so that plus signs ('+')
- * won't show up on packages. The Filter technique could be used to not
- * show the children, but this still shows the plus sign.
- *
- * Also, if the element is a java.util.List, then that list will be returned
- * as the children. This allows for a root to be composed instead of being
- * one of the standard Java Elements.
- */
-
-public class PackageOnlyContentProvider extends StandardJavaElementContentProvider {
-
- /**
- * If the element is a list, return the iterator on it.
- * Else send it up the chain.
- */
- public Object[] getChildren(Object element) {
- if (element instanceof List)
- return ((List) element).toArray();
- return super.getChildren(element);
- }
-
- /**
- * If the element is a list and it is not empty, it has children,
- * if it is a IPackageFragment it does not,
- * else send it up the chain.
- */
- public boolean hasChildren(Object element) {
- if (element instanceof List)
- return !((List) element).isEmpty();
- if (element instanceof IPackageFragment)
- return false;
- return super.hasChildren(element);
- }
-}
diff --git a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/PackagesWorkbookPage.java b/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/PackagesWorkbookPage.java
deleted file mode 100644
index 7bdabc490..000000000
--- a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/PackagesWorkbookPage.java
+++ /dev/null
@@ -1,438 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo.ui;
-/*
- * $RCSfile: PackagesWorkbookPage.java,v $
- * $Revision: 1.7 $ $Date: 2005/06/21 19:59:49 $
- */
-
-import java.util.*;
-import java.util.List;
-
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jdt.core.*;
-import org.eclipse.jdt.internal.ui.dialogs.StatusInfo;
-import org.eclipse.jdt.internal.ui.util.PixelConverter;
-import org.eclipse.jdt.internal.ui.wizards.TypedViewerFilter;
-import org.eclipse.jdt.internal.ui.wizards.dialogfields.*;
-import org.eclipse.jdt.ui.JavaElementLabelProvider;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.dialogs.*;
-
-import org.eclipse.jem.internal.beaninfo.core.SearchpathEntry;
-import org.eclipse.jem.internal.ui.core.JEMUIPlugin;
-/**
- * Workbook page for selecting the packages from the current
- * project that are in the search path.
- * @version 1.0
- * @author
- */
-public class PackagesWorkbookPage extends BuildSearchBasePage {
-
- // Note: Not happy with how this works. It does a lot of manipulating of classpath to
- // fragments and back and forth. But it works for now.
-
- /**
- * Validator for this workbook page to verify the selections on Choose page.
- * @version 1.0
- * @author
- */
- public static class ChoosePackagesSelectionValidator implements ISelectionStatusValidator {
-
- private IStatus fgErrorStatus = new StatusInfo(IStatus.ERROR, ""); //$NON-NLS-1$
- private IStatus fgOKStatus = new StatusInfo();
-
- public ChoosePackagesSelectionValidator() {
- }
-
- /*
- * @see ISelectionValidator#validate(Object)
- */
- public IStatus validate(Object[] selection) {
- if (isValid(selection)) {
- return fgOKStatus;
- }
- return fgErrorStatus;
- }
-
- private boolean isValid(Object[] selection) {
- if (selection.length == 0)
- return false;
-
- for (int i = 0; i < selection.length; i++) {
- if (selection[i] instanceof IPackageFragment)
- continue; // Fragments are always valid
- return false;
- }
-
- return true;
- }
-
- }
-
- private BeaninfoPathsBlock biPathsBlock;
- private IJavaProject fCurrJProject;
-
- private Control fSWTControl;
-
- private ListDialogField fSearchPackagesList;
-
- private IPackageFragmentRoot[][] rootsPerRawEntry;
- private IClasspathEntry[] rawList;
-
- SearchPathListLabelProvider labelProvider;
-
- public PackagesWorkbookPage(IWorkspaceRoot root, BeaninfoPathsBlock biPathsBlock, List interestedFieldsForEnableControl) {
- this.biPathsBlock = biPathsBlock;
-
- fSWTControl = null;
-
- PackagesAdapter adapter = new PackagesAdapter();
-
- String[] buttonLabels;
-
- buttonLabels = new String[] {
- BeanInfoUIMessages.PackagesWorkbook_ChoosePackages,
- BeanInfoUIMessages.PackagesWorkbook_ChooseDefinedPaths,
- /* 2 */
- null,
- BeanInfoUIMessages.PackagesWorkbook_Remove };
-
- labelProvider = new SearchPathListLabelProvider();
- fSearchPackagesList = new ListDialogField(adapter, buttonLabels, labelProvider);
- fSearchPackagesList.setDialogFieldListener(adapter);
- fSearchPackagesList.setLabelText(BeanInfoUIMessages.PackagesWorkbook_LabelText);
- fSearchPackagesList.setRemoveButtonIndex(3);
-
- fSearchPackagesList.setViewerSorter(new SPListElementSorter());
-
- interestedFieldsForEnableControl.add(fSearchPackagesList);
- }
-
- public void init(IJavaProject jproject) {
- fCurrJProject = jproject;
- labelProvider.setJavaProject(jproject);
- try {
- rawList = fCurrJProject.getRawClasspath();
- rootsPerRawEntry = new IPackageFragmentRoot[rawList.length][];
- for (int i = 0; i < rawList.length; i++) {
- rootsPerRawEntry[i] = fCurrJProject.findPackageFragmentRoots(rawList[i]);
- }
- } catch (JavaModelException e) {
- rawList = new IClasspathEntry[0];
- rootsPerRawEntry = new IPackageFragmentRoot[0][];
- }
- updatePackagesList();
- }
-
- private void updatePackagesList() {
- List spelements = biPathsBlock.getSearchOrder().getElements();
-
- List packageElements = new ArrayList(spelements.size());
- for (int i = 0; i < spelements.size(); i++) {
- BPListElement spe = (BPListElement) spelements.get(i);
- if (spe instanceof BPSearchListElement) {
- packageElements.add(spe);
- }
- }
- fSearchPackagesList.setElements(packageElements);
- }
-
- public Control getControl(Composite parent) {
- PixelConverter converter = new PixelConverter(parent);
-
- Composite composite = new Composite(parent, SWT.NONE);
-
- LayoutUtil.doDefaultLayout(
- composite,
- new DialogField[] { fSearchPackagesList },
- true,
- SWT.DEFAULT,
- SWT.DEFAULT);
-
- int buttonBarWidth = converter.convertWidthInCharsToPixels(24);
- fSearchPackagesList.setButtonsMinWidth(buttonBarWidth);
-
- fSWTControl = composite;
-
- return composite;
- }
-
- private Shell getShell() {
- if (fSWTControl != null) {
- return fSWTControl.getShell();
- }
- return JEMUIPlugin.getPlugin().getWorkbench().getActiveWorkbenchWindow().getShell();
- }
-
- private class PackagesAdapter implements IListAdapter, IDialogFieldListener {
-
- // -------- IListAdapter --------
- public void customButtonPressed(ListDialogField field, int index) {
- packagesPageCustomButtonPressed(field, index);
- }
-
- public void selectionChanged(ListDialogField field) {
- }
-
- // ---------- IDialogFieldListener --------
- public void dialogFieldChanged(DialogField field) {
- packagesPageDialogFieldChanged(field);
- }
- /**
- * @see org.eclipse.jdt.internal.ui.wizards.dialogfields.IListAdapter#doubleClicked(ListDialogField)
- */
- public void doubleClicked(ListDialogField field) {
- }
-
- }
-
- private void packagesPageCustomButtonPressed(DialogField field, int index) {
- if (field == fSearchPackagesList) {
- List elementsToAdd = null;
- if (index == 0)
- elementsToAdd = choosePackages();
- else if (index == 1)
- elementsToAdd = chooseDefined();
-
- if (elementsToAdd != null && !elementsToAdd.isEmpty()) {
- fSearchPackagesList.addElements(elementsToAdd);
- fSearchPackagesList.postSetSelection(new StructuredSelection(elementsToAdd));
- }
- }
- }
-
- private void packagesPageDialogFieldChanged(DialogField field) {
- if (fCurrJProject == null) {
- // not initialized
- return;
- }
-
- if (field == fSearchPackagesList) {
- updateSearchpathList();
- }
- }
-
- private void updateSearchpathList() {
- List searchelements = biPathsBlock.getSearchOrder().getElements();
-
- List packageelements = fSearchPackagesList.getElements();
-
- boolean changeDone = false;
- // First go through the search path and remove any SearchListElements that are
- // not in the search packages list from this page.
- for (ListIterator spitr = searchelements.listIterator(searchelements.size());
- spitr.hasPrevious();
- ) {
- BPListElement element = (BPListElement) spitr.previous();
- if (element instanceof BPSearchListElement && !packageelements.remove(element)) {
- // Search element and not found in packages list so remove it from searchpath list.
- spitr.remove();
- changeDone = true;
- }
- }
- // Any left over in packages list are new and need to be added.
- searchelements.addAll(packageelements);
- changeDone = changeDone || !packageelements.isEmpty();
-
- if (changeDone)
- biPathsBlock.setSearchOrderElements(searchelements);
- }
- /*
- * @see BuildPathBasePage#getSelection
- */
- public List getSelection() {
- return fSearchPackagesList.getSelectedElements();
- }
-
- /*
- * @see BuildPathBasePage#setSelection
- */
- public void setSelection(List selElements) {
- fSearchPackagesList.selectElements(new StructuredSelection(selElements));
- }
-
- /**
- * Choose the packages that should be in the search path.
- */
- private List choosePackages() {
-
- ISelectionStatusValidator validator = new ChoosePackagesSelectionValidator();
-
- // Show up to the package fragment, don't show any contents of it.
- Class[] acceptedClasses =
- new Class[] { IJavaProject.class, IPackageFragmentRoot.class, IPackageFragment.class };
- Object[] rejectedFragments = getFilteredExistingEntries();
-
- // Only show package fragments that have children (i.e. there classes in it, not interested
- // in intermediate ones that have no classes defined in them. Those are filtered out.
- TypedViewerFilter filter = new TypedViewerFilter(acceptedClasses, rejectedFragments) {
- public boolean select(Viewer viewer, Object parentElement, Object element) {
- if (super.select(viewer, parentElement, element)) {
- if (element instanceof IPackageFragment) {
- IPackageFragment pkg = (IPackageFragment) element;
- try {
- return pkg.hasChildren();
- } catch (JavaModelException e) {
- }
- return false;
- } else
- return true;
- }
- return false;
- }
- };
-
- ITreeContentProvider provider = new PackageOnlyContentProvider();
-
- ILabelProvider labelProvider = new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT);
- ElementTreeSelectionDialog dialog =
- new ElementTreeSelectionDialog(getShell(), labelProvider, provider);
- dialog.setTitle(BeanInfoUIMessages.BeaninfoPathsBlock_UI__addsearchpath_title);
-
- dialog.setValidator(validator);
- dialog.setMessage(BeanInfoUIMessages.BeaninfoPathsBlock_UI__addsearchpath_description);
- dialog.addFilter(filter);
- dialog.setInput(fCurrJProject);
-
- if (dialog.open() == Window.OK) {
- Object[] elements = dialog.getResult();
- List newElements = new ArrayList(elements.length);
- for (int i = 0; i < elements.length; i++) {
- BPListElement newGuy = newBPListElement(elements[i]);
- if (newGuy != null)
- newElements.add(newGuy);
- }
- return newElements;
- }
- return Collections.EMPTY_LIST;
- }
-
- /**
- * Return the list of entries that already are in the search path
- * so that they don't show up in the list.
- */
- protected Object[] getFilteredExistingEntries() {
- try {
- IPackageFragmentRoot[] roots = fCurrJProject.getPackageFragmentRoots();
- List entries = fSearchPackagesList.getElements();
- List fragments = new ArrayList(entries.size());
- Iterator itr = entries.iterator();
- while (itr.hasNext()) {
- BPListElement elem = (BPListElement) itr.next();
- if (elem instanceof BPSearchListElement) {
- BPSearchListElement bse = (BPSearchListElement) elem;
- fragments.addAll(getPackages(bse, roots));
- }
- }
- return fragments.toArray();
- } catch (JavaModelException e) {
- }
- return new Object[0];
- }
-
-
- /**
- * Choose the pre-defined search paths that should be in the search path.
- */
- private List chooseDefined() {
-
- // Current pre-defined ones are only pre-reqed projects.
- // The list of inputs will not contain any already in the path.
- // We will create them here and if not selected they will thrown away.
- // The assumption is that there are not very many and our SearchPathListLabelProvider does
- // a good job of showing them. Otherwise we would need to come up with one that can show
- // IJavaProjects when we get them.
- List inputs = new ArrayList();
- List currentList = fSearchPackagesList.getElements();
- for (int i = 0; i < rawList.length; i++) {
- if (rawList[i].getEntryKind() == IClasspathEntry.CPE_PROJECT) {
- boolean exists = false;
- for (int j = 0; j < currentList.size(); j++) {
- BPSearchListElement bse = (BPSearchListElement) currentList.get(j);
- if (bse.getEntry().getKind() == IClasspathEntry.CPE_PROJECT && rawList[i].getPath().equals(bse.getEntry().getPath())) {
- exists = true;
- break;
- }
- }
-
- if (!exists)
- inputs.add(new BPSearchListElement(new SearchpathEntry(IClasspathEntry.CPE_PROJECT, rawList[i].getPath(), null), false, false, rawList[i].isExported()));
- }
- }
-
- ILabelProvider labelProvider1 = new SearchPathListLabelProvider(fCurrJProject);
- ElementListSelectionDialog dialog =
- new ElementListSelectionDialog(getShell(), labelProvider1);
- dialog.setTitle(BeanInfoUIMessages.PackagesWorkbook_SelectionDialog_DefinedPaths_Title);
-
- dialog.setMessage(BeanInfoUIMessages.PackagesWorkbook_SelectionDialog_DefinedPaths_Message);
- dialog.setElements(inputs.toArray());
-
- if (dialog.open() == Window.OK)
- return Arrays.asList(dialog.getResult());
- else
- return Collections.EMPTY_LIST;
- }
-
- /**
- * Create a new BPListElement for the given object.
- */
- protected BPListElement newBPListElement(Object element) {
- SearchpathEntry se = null;
- boolean isExported = false;
- IPackageFragment frag = (IPackageFragment) element;
- // Need to find corresponding raw class path entry.
- IPackageFragmentRoot root = (IPackageFragmentRoot) frag.getParent(); // Get frag root.
- for (int i = 0; i < rootsPerRawEntry.length; i++) {
- for (int j = 0; j < rootsPerRawEntry[i].length; j++) {
- if (rootsPerRawEntry[i][j].equals(root)) {
- isExported = rawList[i].isExported() || rawList[i].getEntryKind() == IClasspathEntry.CPE_SOURCE;
- se = new SearchpathEntry(rawList[i].getEntryKind(), rawList[i].getPath(), frag.getElementName());
- break;
- }
- }
- }
-
- return new BPSearchListElement(se, false, false, isExported);
- }
-
- /**
- * Find the package fragments for this package entry.
- */
- protected List getPackages(BPSearchListElement element, IPackageFragmentRoot[] roots) {
- String packageName = ((SearchpathEntry) element.getEntry()).getPackage();
- if (packageName == null)
- return Collections.EMPTY_LIST;
-
- try {
- List packages = new ArrayList(10);
- for (int i = 0; i < roots.length; i++) {
- IJavaElement[] pfs = roots[i].getChildren();
- for (int j = 0; j < pfs.length; j++)
- if (pfs[j].getElementType() == IJavaElement.PACKAGE_FRAGMENT
- && pfs[j].getElementName().equals(packageName)) {
- packages.add(pfs[j]);
- break;
- }
- }
- return packages;
- } catch (JavaModelException e) {
- }
- return Collections.EMPTY_LIST;
- }
-
-
-}
diff --git a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/SPListElementSorter.java b/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/SPListElementSorter.java
deleted file mode 100644
index 5a448db78..000000000
--- a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/SPListElementSorter.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo.ui;
-/*
- * $RCSfile: SPListElementSorter.java,v $
- * $Revision: 1.5 $ $Date: 2005/02/15 23:02:54 $
- */
-
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-
-import org.eclipse.jem.internal.beaninfo.core.SearchpathEntry;
-
-/**
- * Sorter for sorting BPSearchListElements within the main list.
- * It is not to be used on elements within a specific beaninfo entry.
- *
- * @version 1.0
- * @author
- */
-public class SPListElementSorter extends ViewerSorter {
-
- /*
- * @see ViewerSorter#category(Object)
- */
- public int category(Object obj) {
- if (obj instanceof BPSearchListElement) {
- BPSearchListElement element = (BPSearchListElement) obj;
-
- switch (((SearchpathEntry) element.getEntry()).getKind()) {
- case IClasspathEntry.CPE_LIBRARY:
- return 4;
- case IClasspathEntry.CPE_PROJECT:
- return 1;
- case IClasspathEntry.CPE_SOURCE:
- return 0;
- case IClasspathEntry.CPE_VARIABLE:
- return 3;
- case IClasspathEntry.CPE_CONTAINER:
- return 2;
- }
- }
- return super.category(obj);
- }
-
- /*
- * @see ViewerSorter#compare()
- */
- public int compare(Viewer viewer, Object e1, Object e2) {
- int cat1 = category(e1);
- int cat2 = category(e2);
-
- if (cat1 != cat2)
- return cat1 - cat2;
-
- if ((e1 instanceof BPSearchListElement) && (e2 instanceof BPSearchListElement)) {
- SearchpathEntry p1 = (SearchpathEntry) ((BPSearchListElement) e1).getEntry();
- SearchpathEntry p2 = (SearchpathEntry) ((BPSearchListElement) e2).getEntry();
-
- // Compare first within path, then packages within each path.
- int c = p1.getPath().toString().compareTo(p2.getPath().toString());
- if (c == 0) {
- // Within same path, so now sort by package, if there are any.
- String pkg1 = p1.getPackage();
- String pkg2 = p2.getPackage();
- if (pkg1 == null)
- pkg1 = ""; // For null, use an empty string //$NON-NLS-1$
- if (pkg2 == null)
- pkg2 = ""; //$NON-NLS-1$
- return pkg1.compareTo(pkg2);
- } else
- return c; // Paths are not equal, so sort via path.
- }
- return super.compare(viewer, e1, e2);
- }
-
-
-
-}
diff --git a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/SearchPathListLabelProvider.java b/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/SearchPathListLabelProvider.java
deleted file mode 100644
index e57837ad0..000000000
--- a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/SearchPathListLabelProvider.java
+++ /dev/null
@@ -1,369 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo.ui;
-/*
- * $RCSfile: SearchPathListLabelProvider.java,v $
- * $Revision: 1.10 $ $Date: 2005/06/21 19:59:49 $
- */
-
-import java.net.URL;
-import java.text.MessageFormat;
-import java.util.HashMap;
-import java.util.Iterator;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.*;
-import org.eclipse.jdt.internal.ui.JavaPlugin;
-import org.eclipse.jdt.internal.ui.JavaPluginImages;
-import org.eclipse.jdt.internal.ui.wizards.buildpaths.ArchiveFileFilter;
-import org.eclipse.jdt.ui.JavaElementImageDescriptor;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.ide.IDE;
-import org.osgi.framework.Bundle;
-
-import org.eclipse.jem.internal.beaninfo.core.*;
-import org.eclipse.jem.internal.ui.core.JEMUIPlugin;
-
-public class SearchPathListLabelProvider extends LabelProvider {
-
- IWorkspaceRoot fRoot;
- IJavaProject javaProject;
-
- // Shared images
- private Image fJarIcon, fExtJarIcon;
- private Image fFolderImage, fProjectImage, fVariableImage, fLibraryImage;
- private Image fMissingJarImage, fMissingVariableImage;
- private Image fMissingFolderImage, fMissingProjectImage;
- private Image fPackageImage;
-
- // Local images, will be disposed.
- private Image fPluginImage;
- private Image fBeanImage;
- private Image fMissingPackageImage;
- private Image fBlankImage;
- private Image fMissingLibraryImage;
- private HashMap fBeanedImages = new HashMap(); // Key of image to a composite with a bean attached
- private HashMap fPackagedImages = new HashMap();
- private HashMap fMissingPackagedImages = new HashMap();
- private HashMap fNormalImages = new HashMap(); // Need to composite normal images w/blank so that they are the same size as the composited ones.
- // Key of image to a composite with a package attached
-
- public SearchPathListLabelProvider() {
- this(null);
- }
-
- public SearchPathListLabelProvider(IJavaProject javaProject) {
- this.javaProject = javaProject;
-
- fRoot = ResourcesPlugin.getWorkspace().getRoot();
- ImageRegistry reg = JavaPlugin.getDefault().getImageRegistry();
-
- fJarIcon = reg.get(JavaPluginImages.IMG_OBJS_JAR);
- fExtJarIcon = reg.get(JavaPluginImages.IMG_OBJS_EXTJAR);
- fFolderImage = reg.get(JavaPluginImages.IMG_OBJS_PACKFRAG_ROOT);
-
- fVariableImage = reg.get(JavaPluginImages.IMG_OBJS_ENV_VAR);
-
- fLibraryImage = reg.get(JavaPluginImages.IMG_OBJS_LIBRARY);
-
- IWorkbench workbench = JavaPlugin.getDefault().getWorkbench();
- fProjectImage = workbench.getSharedImages().getImage(IDE.SharedImages.IMG_OBJ_PROJECT);
-
- fMissingJarImage = reg.get(JavaPluginImages.IMG_OBJS_MISSING_JAR);
- fMissingVariableImage = reg.get(JavaPluginImages.IMG_OBJS_MISSING_ENV_VAR);
- fMissingFolderImage = reg.get(JavaPluginImages.IMG_OBJS_MISSING_PACKFRAG_ROOT);
- fMissingProjectImage = workbench.getSharedImages().getImage(IDE.SharedImages.IMG_OBJ_PROJECT_CLOSED);
-
- fPackageImage = reg.get(JavaPluginImages.IMG_OBJS_PACKAGE);
-
- Rectangle r = fLibraryImage.getBounds();
- Point s = new Point(r.width, r.height);
- JavaElementImageDescriptor jed = new JavaElementImageDescriptor(reg.getDescriptor(JavaPluginImages.IMG_OBJS_LIBRARY), JavaElementImageDescriptor.WARNING, s);
- fMissingLibraryImage = jed.createImage();
- Bundle bundle = JEMUIPlugin.getPlugin().getBundle();
- URL url = Platform.find(bundle, new Path("icons/plugin_obj.gif")); //$NON-NLS-1$
- if (url != null)
- fPluginImage = ImageDescriptor.createFromURL(url).createImage();
- else
- fPluginImage = ImageDescriptor.getMissingImageDescriptor().createImage();
-
- url = Platform.find(bundle, new Path("icons/javabean.gif")); //$NON-NLS-1$
- if (url != null)
- fBeanImage = ImageDescriptor.createFromURL(url).createImage();
- else
- fBeanImage = ImageDescriptor.getMissingImageDescriptor().createImage();
-
- url = Platform.find(bundle, new Path("icons/package_obj_missing.gif")); //$NON-NLS-1$
- if (url != null)
- fMissingPackageImage = ImageDescriptor.createFromURL(url).createImage();
- else
- fMissingPackageImage = ImageDescriptor.getMissingImageDescriptor().createImage();
-
- url = Platform.find(bundle, new Path("icons/blank.gif")); //$NON-NLS-1$
- if (url != null)
- fBlankImage = ImageDescriptor.createFromURL(url).createImage();
- else
- fBlankImage = ImageDescriptor.getMissingImageDescriptor().createImage();
- }
-
- public void setJavaProject(IJavaProject javaProject) {
- this.javaProject = javaProject;
- }
-
- public String getText(Object element) {
- if (element instanceof BPListElement) {
- BPListElement bpentry = (BPListElement) element;
- IBeaninfosDocEntry docEntry = bpentry.getEntry();
- IPath path = docEntry.getPath();
- String pathString = null;
- switch (docEntry.getKind()) {
- case IClasspathEntry.CPE_LIBRARY :
- IResource resource = fRoot.findMember(path);
- if (resource instanceof IFolder) {
- pathString =
- MessageFormat.format(BeanInfoUIMessages.LabelProvider_Library_Folder, new Object[] { path.makeRelative().toString()});
- } else if (resource instanceof IFile) {
- if (ArchiveFileFilter.isArchivePath(path)) {
- // Internal library
- String[] args =
- new String[] { path.lastSegment(), path.removeLastSegments(1).makeRelative().toString()};
- pathString = MessageFormat.format(BeanInfoUIMessages.LabelProvider_Library__PathLastSegment_PathRelative_, args);
- }
- } else {
- if (ArchiveFileFilter.isArchivePath(path)) {
- // External library
- String[] args =
- new String[] { path.lastSegment(), path.removeLastSegments(1).toString()};
- pathString = MessageFormat.format(BeanInfoUIMessages.LabelProvider_Library__PathLastSegment_PathExceptLast_, args);
- } else {
- // should not come here
- pathString = path.makeRelative().toString();
- }
- }
- break;
-
- case IClasspathEntry.CPE_VARIABLE :
- String name = path.makeRelative().toString();
- IPath entryPath = JavaCore.getClasspathVariable(path.segment(0));
- if (entryPath != null)
- pathString =
- MessageFormat.format(
- BeanInfoUIMessages.LabelProvider_Variable__name_PathOSString_,
- new Object[] { name, entryPath.append(path.removeFirstSegments(1)).toOSString()});
- else
- pathString = name;
- break;
-
- case IClasspathEntry.CPE_CONTAINER:
- try {
- IClasspathContainer c = JavaCore.getClasspathContainer(path, javaProject);
- if (c != null) {
- pathString = c.getDescription();
- break;
- }
- } catch (JavaModelException e) {
- }
- pathString = path.toString();
- break;
-
- case IClasspathEntry.CPE_PROJECT :
- pathString = path.toString();
- break;
-
- case IClasspathEntry.CPE_SOURCE :
- pathString = path.makeRelative().toString();
- break;
-
- case BeaninfoEntry.BIE_PLUGIN :
- pathString = path.toString();
- break;
- default :
- // no path, so probably a search entry within a beaninfo entry.
- }
-
- if (docEntry instanceof SearchpathEntry) {
- // There could be a package involved too if this is not a project or registered var entry
- String packageName = ((SearchpathEntry) docEntry).getPackage();
- if (packageName != null && packageName.length() > 0)
- if (pathString != null)
- return MessageFormat.format(BeanInfoUIMessages.LabelProvider__packageName_Path_, new Object[] { packageName, pathString });
- else
- return packageName;
- }
-
- if (pathString != null)
- return pathString;
- else
- return "?"; //$NON-NLS-1$
- }
- return super.getText(element);
- }
-
- public Image getImage(Object element) {
- Image returnedImage = null;
- boolean imageIsNormal = true; // Whether this is a normal sized image (which will need compositing with blank)
- if (element instanceof BPListElement) {
- BPListElement bpentry = (BPListElement) element;
- IBeaninfosDocEntry docEntry = bpentry.getEntry();
- IPath path = docEntry.getPath();
- Image pathImage = null;
- switch (docEntry.getKind()) {
- case IClasspathEntry.CPE_SOURCE :
- if (!bpentry.isMissing())
- pathImage = fFolderImage;
- else
- pathImage = fMissingFolderImage;
- break;
-
- case IClasspathEntry.CPE_LIBRARY :
- if (!bpentry.isMissing()) {
- IResource resource = fRoot.findMember(path);
- if (resource instanceof IFolder)
- pathImage = fFolderImage;
- else if (resource instanceof IFile)
- pathImage = fJarIcon;
- else
- pathImage = fExtJarIcon;
- } else
- pathImage = fMissingJarImage;
- break;
-
- case IClasspathEntry.CPE_PROJECT :
- if (!bpentry.isMissing())
- pathImage = fProjectImage;
- else
- pathImage = fMissingProjectImage;
- break;
-
- case IClasspathEntry.CPE_VARIABLE :
- if (!bpentry.isMissing())
- pathImage = fVariableImage;
- else
- pathImage = fMissingVariableImage;
- break;
-
- case IClasspathEntry.CPE_CONTAINER:
- if (!bpentry.isMissing())
- pathImage = fLibraryImage;
- else
- pathImage = fMissingLibraryImage;
- break;
-
- case BeaninfoEntry.BIE_PLUGIN:
- pathImage = fPluginImage;
- break;
-
- default :
- // probably a searchentry under beaninfo entry, no path icon to decorate.
- break;
- }
-
- if (bpentry instanceof BPSearchListElement) {
- SearchpathEntry se = (SearchpathEntry) docEntry;
- BPSearchListElement bpse = (BPSearchListElement) bpentry;
- if (se.getPackage() != null) {
- if (pathImage != null) {
- if (!bpse.isPackageMissing()) {
- // Need to decorate with a package symbol.
- imageIsNormal = false;
- returnedImage = (Image) fPackagedImages.get(pathImage); // See if we've already created the image
- if (returnedImage == null) {
- OverlayComposite oc = new OverlayComposite(pathImage.getImageData());
- oc.setRightExtension(fPackageImage.getImageData());
- returnedImage = oc.createImage();
- fPackagedImages.put(pathImage, returnedImage);
- }
- } else {
- // Need to decorate with a missing package symbol.
- imageIsNormal = false;
- returnedImage = (Image) fMissingPackagedImages.get(pathImage); // See if we've already created the image
- if (returnedImage == null) {
- OverlayComposite oc = new OverlayComposite(pathImage.getImageData());
- oc.setRightExtension(fMissingPackageImage.getImageData());
- returnedImage = oc.createImage();
- fMissingPackagedImages.put(pathImage, returnedImage);
- }
- }
- }
- }
-
- if (pathImage == null && returnedImage == null)
- if (!bpse.isPackageMissing())
- returnedImage = fPackageImage; // Just a package image
- else
- returnedImage = fMissingPackageImage; // Just the missing package image.
- else if (returnedImage == null)
- returnedImage = pathImage;
- } else {
- if (pathImage != null) {
- // It is a beaninfo entry, need to decorate with the bean.
- imageIsNormal = false;
- returnedImage = (Image) fBeanedImages.get(pathImage); // See if we've already created the image
- if (returnedImage == null) {
- OverlayComposite oc = new OverlayComposite(pathImage.getImageData());
- oc.setRightExtension(fBeanImage.getImageData());
- returnedImage = oc.createImage();
- fBeanedImages.put(pathImage, returnedImage);
- }
- }
- if (returnedImage == null)
- returnedImage = fBeanImage; // Shouldn't occur.
- }
- }
-
- if (imageIsNormal && returnedImage != null) {
- // We need to composite it with blank so that the result will be the same size
- // as composited images. If this isn't done, the viewer will stretch the image
- // to match the same size as the composited images and things will look aweful.
- Image newReturned = (Image) fNormalImages.get(returnedImage);
- if (newReturned == null) {
- OverlayComposite oc = new OverlayComposite(returnedImage.getImageData());
- oc.setRightExtension(fBlankImage.getImageData());
- newReturned = oc.createImage();
- fNormalImages.put(returnedImage, newReturned);
- }
- returnedImage = newReturned;
- }
- return returnedImage;
- }
-
- /*
- * @see IBaseLabelProvider#dispose()
- */
- public void dispose() {
- super.dispose();
-
- fPluginImage.dispose();
- fBeanImage.dispose();
- fMissingPackageImage.dispose();
- fBlankImage.dispose();
- fMissingLibraryImage.dispose();
- for (Iterator itr = fBeanedImages.values().iterator(); itr.hasNext();) {
- ((Image) itr.next()).dispose();
- }
- for (Iterator itr = fPackagedImages.values().iterator(); itr.hasNext();) {
- ((Image) itr.next()).dispose();
- }
- for (Iterator itr = fMissingPackagedImages.values().iterator(); itr.hasNext();) {
- ((Image) itr.next()).dispose();
- }
- for (Iterator itr = fNormalImages.values().iterator(); itr.hasNext();) {
- ((Image) itr.next()).dispose();
- }
- }
-
-}
diff --git a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/SearchpathOrderingWorkbookPage.java b/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/SearchpathOrderingWorkbookPage.java
deleted file mode 100644
index 7a8564752..000000000
--- a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/SearchpathOrderingWorkbookPage.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.beaninfo.ui;
-/*
- * $RCSfile: SearchpathOrderingWorkbookPage.java,v $
- * $Revision: 1.3 $ $Date: 2005/02/15 23:02:54 $
- */
-
-import java.util.List;
-
-import org.eclipse.jdt.internal.ui.util.PixelConverter;
-import org.eclipse.jdt.internal.ui.wizards.dialogfields.DialogField;
-import org.eclipse.jdt.internal.ui.wizards.dialogfields.LayoutUtil;
-import org.eclipse.jdt.internal.ui.wizards.dialogfields.ListDialogField;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-
-/**
- * @version 1.0
- * @author
- */
-public class SearchpathOrderingWorkbookPage extends BuildSearchBasePage {
-
- private ListDialogField fSearchPathList;
-
- public SearchpathOrderingWorkbookPage(ListDialogField searchPathList, List interestedFieldsForEnableControl) {
- fSearchPathList= searchPathList;
- interestedFieldsForEnableControl.add(fSearchPathList);
- }
-
- public Control getControl(Composite parent) {
- PixelConverter converter= new PixelConverter(parent);
-
- Composite composite= new Composite(parent, SWT.NONE);
-
- LayoutUtil.doDefaultLayout(composite, new DialogField[] { fSearchPathList }, true, SWT.DEFAULT, SWT.DEFAULT);
-
- int buttonBarWidth= converter.convertWidthInCharsToPixels(24);
- fSearchPathList.setButtonsMinWidth(buttonBarWidth);
-
- return composite;
- }
-
- /*
- * @see BuildPathBasePage#getSelection
- */
- public List getSelection() {
- return fSearchPathList.getSelectedElements();
- }
-
- /*
- * @see BuildPathBasePage#setSelection
- */
- public void setSelection(List selElements) {
- fSearchPathList.selectElements(new StructuredSelection(selElements));
- }
-
-}
diff --git a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/VariableSelectionBlock.java b/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/VariableSelectionBlock.java
deleted file mode 100644
index 132f71d30..000000000
--- a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/VariableSelectionBlock.java
+++ /dev/null
@@ -1,297 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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.beaninfo.ui;
-
-import java.util.List;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.internal.ui.dialogs.StatusInfo;
-import org.eclipse.jdt.internal.ui.dialogs.StatusUtil;
-import org.eclipse.jdt.internal.ui.util.PixelConverter;
-import org.eclipse.jdt.internal.ui.wizards.IStatusChangeListener;
-import org.eclipse.jdt.internal.ui.wizards.buildpaths.ArchiveFileFilter;
-import org.eclipse.jdt.internal.ui.wizards.buildpaths.VariablePathDialogField.ChooseVariableDialog;
-import org.eclipse.jdt.internal.ui.wizards.dialogfields.*;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.PlatformUI;
-/*
- * $RCSfile: VariableSelectionBlock.java,v $
- * $Revision: 1.4 $ $Date: 2005/06/21 19:59:49 $
- */
-
-public class VariableSelectionBlock {
-
-
- private List fExistingPaths;
-
- private StringButtonDialogField fVariableField;
- private StringButtonDialogField fExtensionField;
-
- private CLabel fFullPath;
-
- private IStatus fVariableStatus;
- private IStatus fExistsStatus;
- private IStatus fExtensionStatus;
-
- private String fVariable;
- private IStatusChangeListener fContext;
-
- private boolean fIsEmptyAllowed;
-
- /**
- * Constructor for VariableSelectionBlock
- */
- public VariableSelectionBlock(IStatusChangeListener context, List existingPaths, IPath varPath, String lastVarSelection, boolean emptyAllowed) {
- fContext= context;
- fExistingPaths= existingPaths;
- fIsEmptyAllowed= emptyAllowed;
- fVariableStatus= new StatusInfo();
- fExistsStatus= new StatusInfo();
-
- VariableSelectionAdapter adapter= new VariableSelectionAdapter();
- fVariableField= new StringButtonDialogField(adapter);
- fVariableField.setDialogFieldListener(adapter);
- fVariableField.setLabelText(BeanInfoUIMessages.VariableSelectionBlock_variable_label);
- fVariableField.setButtonLabel(BeanInfoUIMessages.VariableSelectionBlock_variable_button);
-
- fExtensionField= new StringButtonDialogField(adapter);
- fExtensionField.setDialogFieldListener(adapter);
- fExtensionField.setLabelText(BeanInfoUIMessages.VariableSelectionBlock_extension_label);
- fExtensionField.setButtonLabel(BeanInfoUIMessages.VariableSelectionBlock_extension_button);
-
- if (varPath != null) {
- fVariableField.setText(varPath.segment(0));
- fExtensionField.setText(varPath.removeFirstSegments(1).toString());
- } else {
- fVariableField.setText(""); //$NON-NLS-1$
- fExtensionField.setText(""); //$NON-NLS-1$
- }
- updateFullTextField();
- }
-
- public IPath getVariablePath() {
- if (fVariable != null) {
- return new Path(fVariable).append(fExtensionField.getText());
- }
- return null;
- }
-
- public IPath getResolvedPath() {
- if (fVariable != null) {
- IPath entryPath= JavaCore.getClasspathVariable(fVariable);
- if (entryPath != null) {
- return entryPath.append(fExtensionField.getText());
- }
- }
- return null;
- }
-
- public void setFocus(Display display) {
- fVariableField.postSetFocusOnDialogField(display);
- }
-
-
- public Control createControl(Composite parent) {
- PixelConverter converter= new PixelConverter(parent);
-
- int nColumns= 3;
-
- Composite inner= new Composite(parent, SWT.NONE);
- GridLayout layout= new GridLayout();
- layout.marginHeight= 0;
- layout.marginWidth= 0;
- layout.numColumns= nColumns;
- inner.setLayout(layout);
-
- int fieldWidthHint= converter.convertWidthInCharsToPixels(50);
-
- fVariableField.doFillIntoGrid(inner, nColumns);
- LayoutUtil.setWidthHint(fVariableField.getTextControl(null), fieldWidthHint);
- LayoutUtil.setHorizontalGrabbing(fVariableField.getTextControl(null));
-
- fExtensionField.doFillIntoGrid(inner, nColumns);
- LayoutUtil.setWidthHint(fExtensionField.getTextControl(null), fieldWidthHint);
-
- Label label= new Label(inner, SWT.LEFT);
- label.setLayoutData(new GridData());
- label.setText(BeanInfoUIMessages.VariableSelectionBlock_fullpath_label);
-
- fFullPath= new CLabel(inner, SWT.NONE);
- fFullPath.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
- DialogField.createEmptySpace(inner, nColumns - 2);
- updateFullTextField();
-
- setFocus(parent.getDisplay());
-
- return inner;
- }
-
- // -------- VariableSelectionAdapter --------
-
- private class VariableSelectionAdapter implements IDialogFieldListener, IStringButtonAdapter {
-
-
- // -------- IDialogFieldListener
- public void dialogFieldChanged(DialogField field) {
- doFieldUpdated(field);
- }
-
- // -------- IStringButtonAdapter
- public void changeControlPressed(DialogField field) {
- doChangeControlPressed(field);
- }
-
- }
-
- private void doChangeControlPressed(DialogField field) {
- if (field == fVariableField) {
- String variable= chooseVariable();
- if (variable != null) {
- fVariableField.setText(variable);
- }
- } else if (field == fExtensionField) {
- IPath filePath= chooseExtJar();
- if (filePath != null) {
- fExtensionField.setText(filePath.toString());
- }
- }
- }
-
- private void doFieldUpdated(DialogField field) {
- if (field == fVariableField) {
- fVariableStatus= variableUpdated();
- } else if (field == fExtensionField) {
- fExtensionStatus= extensionUpdated();
- }
- fExistsStatus= getExistsStatus();
- updateFullTextField();
-
- fContext.statusChanged(StatusUtil.getMostSevere(new IStatus[] { fVariableStatus, fExtensionStatus, fExistsStatus }));
- }
-
- private IStatus variableUpdated() {
- fVariable= null;
-
- StatusInfo status= new StatusInfo();
- String name= fVariableField.getText();
- if (name.length() == 0) {
- if (!fIsEmptyAllowed) {
- status.setError(BeanInfoUIMessages.VariableSelectionBlock_error_entername_ERROR_);
- } else {
- fVariable= ""; //$NON-NLS-1$
- }
- } else if (JavaCore.getClasspathVariable(name) == null) {
- status.setError(BeanInfoUIMessages.VariableSelectionBlock_error_namenotexists_ERROR_);
- } else {
- fVariable= name;
- }
- fExtensionField.enableButton(fVariable != null);
- return status;
- }
-
- private IStatus extensionUpdated() {
- StatusInfo status= new StatusInfo();
- String extension= fExtensionField.getText();
- if (extension.length() > 0 && !Path.ROOT.isValidPath(extension)) {
- status.setError(BeanInfoUIMessages.VariableSelectionBlock_error_invalidextension_ERROR_);
- }
- return status;
- }
-
- private IStatus getExistsStatus() {
- StatusInfo status= new StatusInfo();
- IPath path= getResolvedPath();
- if (path != null) {
- if (findPath(path)) {
- status.setError(BeanInfoUIMessages.VariableSelectionBlock_error_pathexists_ERROR_);
- } else if (!path.toFile().isFile()) {
- status.setWarning(BeanInfoUIMessages.VariableSelectionBlock_warning_pathnotexists_WARN_);
- }
- } else {
- status.setWarning(BeanInfoUIMessages.VariableSelectionBlock_warning_pathnotexists_WARN_);
- }
- return status;
- }
-
- private boolean findPath(IPath path) {
- for (int i= fExistingPaths.size() -1; i >=0; i--) {
- IPath curr= (IPath) fExistingPaths.get(i);
- if (curr.equals(path)) {
- return true;
- }
- }
- return false;
- }
-
- private void updateFullTextField() {
- if (fFullPath != null && !fFullPath.isDisposed()) {
- IPath resolvedPath= getResolvedPath();
- if (resolvedPath != null) {
- fFullPath.setText(resolvedPath.toOSString());
- } else {
- fFullPath.setText(""); //$NON-NLS-1$
- }
- }
- }
-
- private Shell getShell() {
- if (fFullPath != null) {
- return fFullPath.getShell();
- }
- return PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
- }
-
- private IPath chooseExtJar() {
- String lastUsedPath= ""; //$NON-NLS-1$
- IPath entryPath= getResolvedPath();
- if (entryPath != null) {
- if (ArchiveFileFilter.isArchivePath(entryPath)) {
- lastUsedPath= entryPath.removeLastSegments(1).toOSString();
- } else {
- lastUsedPath= entryPath.toOSString();
- }
- }
-
- FileDialog dialog= new FileDialog(getShell(), SWT.SINGLE);
- dialog.setFilterExtensions(new String[] {"*.jar;*.zip"}); //$NON-NLS-1$
- dialog.setFilterPath(lastUsedPath);
- dialog.setText(BeanInfoUIMessages.VariableSelectionBlock_ExtJarDialog_title);
- String res= dialog.open();
- if (res == null) {
- return null;
- }
- IPath resPath= new Path(res).makeAbsolute();
- IPath varPath= JavaCore.getClasspathVariable(fVariable);
-
- if (!varPath.isPrefixOf(resPath)) {
- return new Path(resPath.lastSegment());
- } else {
- return resPath.removeFirstSegments(varPath.segmentCount()).setDevice(null);
- }
- }
-
- private String chooseVariable() {
- ChooseVariableDialog dialog= new ChooseVariableDialog(getShell(), fVariable);
- if (dialog.open() == Window.OK) {
- return dialog.getSelectedVariable();
- }
-
- return null;
- }
-
-
-}
diff --git a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/messages.properties b/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/messages.properties
deleted file mode 100644
index 2a7675972..000000000
--- a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/messages.properties
+++ /dev/null
@@ -1,108 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/Attic/messages.properties,v $
-# $Revision: 1.4 $ $Date: 2005/06/21 19:59:49 $
-#
-
-
-SearchPathDialog_ChoosePackages = &Choose Packages
-SearchPathDialog_Remove = &Remove
-SearchPathDialog_Desc_Label = &Modify search path of packages within this BeanInfo classes JAR/folder
-SearchPathDialog_ModifySearchPaths = Modify Search Paths - {0}
-SearchPathDialog_NotEditable_INFO_ = IWAV0075I Plugin type BeanInfo classes locations are not editable
-SearchPathDialog_PackagePresent_INFO_ = IWAV0076I Package already in the search path
-SearchPathDialog_InputDialog_Title = Package
-SearchPathDialog_InputDialog_Message = &Enter a package:
-BeanInfoPathsBlock_ExportAll = E&xport all
-BeanInfoPathsBlock_UnexportAll = U&nexport all
-BeanInfoPathsBlock_Page_Tab_Packages = &Packages
-BeanInfoPathsBlock_Page_Tab_Classes = &BeanInfo classes
-BeanInfosWorkbookPage_AddFolders = &Add Folders
-BeanInfosWorkbookPage_AddJARs = Add &JARs
-BeanInfosWorkbookPage_AddExternalJAR = Add E&xternal JARs
-BeanInfosWorkbookPage_AddVariable = Add &Variable
-BeanInfosWorkbookPage_AddProjects = Add Projec&ts
-BeanInfosWorkbookPage_ModifyPaths = &Modify Paths
-BeanInfosWorkbookPage_Remove = &Remove
-BeanInfosWorkbookPage_List_Text = &Choose locations of BeanInfo classes (BeanInfo classes locations not in current project)
-BeanInfosWorkbookPage_SelectionDialog_Classes_Title = BeanInfo Class Folders Selection
-BeanInfosWorkbookPage_SelectionDialog_JARs_Title = JAR Selection
-BeanInfosWorkbookPage_SelectionDialog_JARs_Message = &Choose JARs to be added as BeanInfo classes JARs
-BeanInfosWorkbookPage_SelectionDialog_ExtJARs_Text = JAR Selection
-BeanInfosWorkbookPage_SelectionDialog_Projects_Title = BeanInfo Projects Selection
-BeanInfosWorkbookPage_SelectionDialog_Classes_Prompt = &Choose folders to be added as BeanInfo classes folders.
-BeanInfosWorkbookPage_SelectionDialog_Projects_Prompt = &Choose projects to be added as BeanInfo projects.
-PackagesWorkbook_ChoosePackages = &Choose packages
-PackagesWorkbook_ChooseDefinedPaths = Choose &defined paths
-PackagesWorkbook_Remove = &Remove
-PackagesWorkbook_LabelText = Choose BeanInfo &packages from the class path
-PackagesWorkbook_SelectionDialog_DefinedPaths_Title = Choose Defined Paths
-PackagesWorkbook_SelectionDialog_DefinedPaths_Message = Choose the pre-defined paths to add to the search path
-LabelProvider_Library_Folder = {0} (class folder)
-LabelProvider_Library__PathLastSegment_PathRelative_ = {0} - {1}
-LabelProvider_Library__PathLastSegment_PathExceptLast_ = {0} - {1}
-LabelProvider_Variable__name_PathOSString_ = {0} - {1}
-LabelProvider__packageName_Path_ = {0}: {1}
-
-VariableSelectionBlock_variable_label = &Variable Name:
-VariableSelectionBlock_variable_button = &Browse...
-VariableSelectionBlock_extension_label = Path E&xtension:
-VariableSelectionBlock_extension_button = Bro&wse...
-VariableSelectionBlock_fullpath_label = Resolved Path:
-
-VariableSelectionBlock_error_entername_ERROR_ = IWAV0077E Variable name must be entered.
-VariableSelectionBlock_error_namenotexists_ERROR_ = IWAV0078E Variable does not exist.
-VariableSelectionBlock_error_pathexists_ERROR_ = IWAV0079E Class path entry already exists.
-VariableSelectionBlock_error_invalidextension_ERROR_ = IWAV0080E Extension is not a valid path.
-
-VariableSelectionBlock_warning_pathnotexists_WARN_ = IWAV0081W Resolved path is not an existing JAR file.
-
-VariableSelectionBlock_ExtJarDialog_title = JAR Selection
-
-
-
-
-#
-# Properties for the com.ibm.etools.beaninfo.ui plugin
-#
-
-# This shows up as the title of a message dialog
-Beaninfo_UI__errortitle = Error
-
-Beaninfo_UI__error = Error while setting BeanInfo configuration.
-
-BeaninfoPropertiesPage_INFO__nojavaproject = IWAV0019I BeanInfo is only applicable to Java projects.
-BeaninfoPropertiesPage_INFO__closedproject = IWAV0020I BeanInfo is not available for a closed project.
-
-# This is a checkbox on a preference page. The label is to indicate whether introspection is enabled to run or not.
-BeaninfoPathsBlock_UI__enablebeaninfo = &Enable BeanInfo Introspection on this Project
-
-# This is a header line for a page of preferences.
-BeaninfoPathsBlock_UI__searchpath_label = Build BeanInfo &search path order and exported entries:\n(Exported entries are contributed to dependent projects)
-BeaninfoPathsBlock_UI__searchpath_up_button = &Up
-BeaninfoPathsBlock_UI__searchpath_down_button = &Down
-BeaninfoPathsBlock_UI__searchpath_remove_button = &Remove
-BeaninfoPathsBlock_UI__serachpath_tab_order = &Order and Export
-
-BeaninfoPathsBlock_UI__warning_EntryMissing = Project class path entries, or BeanInfo class files are missing.
-
-# {0} will be the package name, e.g. java.lang
-BeaninfoPathsBlock_WARN__searchpath_missing_path_format = IWAV0021W {0} - Package path not found.
-
-# This is a message on a progress dialog.
-BeaninfoPathsBlock_UI__searchpath_operationdescription = Setting BeanInfo search paths...
-
-BeaninfoPathsBlock_UI__addsearchpath_title = Select Packages
-BeaninfoPathsBlock_UI__addsearchpath_description = &Select packages to add to search path:
-
-BeaninfoPathsBlock_UI__warning_EntryMissing = Project class path entries, or BeanInfo class files are missing.
-BeaninfoPathsBlock_UI__searchpath_add_button = Add Package...
diff --git a/plugins/org.eclipse.jem.ui/build.properties b/plugins/org.eclipse.jem.ui/build.properties
deleted file mode 100644
index eaebaff92..000000000
--- a/plugins/org.eclipse.jem.ui/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 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
-###############################################################################
-bin.includes = plugin.xml,\
- ui.jar,\
- plugin.properties,\
- icons/,\
- about.html,\
- .options,\
- META-INF/
-src.includes = about.html
-output.ui.jar = bin/
-source.ui.jar = ui/,\
- beaninfoui/
diff --git a/plugins/org.eclipse.jem.ui/icons/blank.gif b/plugins/org.eclipse.jem.ui/icons/blank.gif
deleted file mode 100644
index 21f9d0244..000000000
--- a/plugins/org.eclipse.jem.ui/icons/blank.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jem.ui/icons/full/ctool16/run_exc.gif b/plugins/org.eclipse.jem.ui/icons/full/ctool16/run_exc.gif
deleted file mode 100644
index 57f410224..000000000
--- a/plugins/org.eclipse.jem.ui/icons/full/ctool16/run_exc.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jem.ui/icons/full/obj16/file_obj.gif b/plugins/org.eclipse.jem.ui/icons/full/obj16/file_obj.gif
deleted file mode 100644
index 061161ae1..000000000
--- a/plugins/org.eclipse.jem.ui/icons/full/obj16/file_obj.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jem.ui/icons/full/wizban/run_wiz.gif b/plugins/org.eclipse.jem.ui/icons/full/wizban/run_wiz.gif
deleted file mode 100644
index e3bd462df..000000000
--- a/plugins/org.eclipse.jem.ui/icons/full/wizban/run_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jem.ui/icons/javabean.gif b/plugins/org.eclipse.jem.ui/icons/javabean.gif
deleted file mode 100644
index 18852612e..000000000
--- a/plugins/org.eclipse.jem.ui/icons/javabean.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jem.ui/icons/package_obj_missing.gif b/plugins/org.eclipse.jem.ui/icons/package_obj_missing.gif
deleted file mode 100644
index 78d7e2080..000000000
--- a/plugins/org.eclipse.jem.ui/icons/package_obj_missing.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jem.ui/icons/plugin_obj.gif b/plugins/org.eclipse.jem.ui/icons/plugin_obj.gif
deleted file mode 100644
index 8493df40d..000000000
--- a/plugins/org.eclipse.jem.ui/icons/plugin_obj.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jem.ui/plugin.properties b/plugins/org.eclipse.jem.ui/plugin.properties
deleted file mode 100644
index 1187c917f..000000000
--- a/plugins/org.eclipse.jem.ui/plugin.properties
+++ /dev/null
@@ -1,33 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/plugins/org.eclipse.jem.ui/Attic/plugin.properties,v $
-# $Revision: 1.3 $ $Date: 2005/02/15 23:03:17 $
-#
-
-
-pluginName=Java EMF Model UI
-providerName = Eclipse.org
-
-proxyLaunchGroup.label=Proxy
-
-ActionSet.proxyTools=Proxy Tools
-ActionSet.proxyTools.Description=Actions for working with Proxy and Proxy Launchers.
-Action.proxyLaunch=Proxy...
-Action.proxyLaunchTip=Proxy Launch Manager
-Action.selectDefault=Select Default Proxy Configuration...
-Action.selectDefaultTip=Select default for {0}.
-Menu.run=&Run
-
-Editors.OverrideEditor = Override Editor
-
-# This is the title of the Properties page for setting properties of BeanInfo paths.
-BeaninfoPath_Title_UI_ = BeanInfo Path
diff --git a/plugins/org.eclipse.jem.ui/plugin.xml b/plugins/org.eclipse.jem.ui/plugin.xml
deleted file mode 100644
index 4c5483676..000000000
--- a/plugins/org.eclipse.jem.ui/plugin.xml
+++ /dev/null
@@ -1,134 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
- <extension
- point="org.eclipse.debug.ui.launchGroups">
- <launchGroup
- label="%proxyLaunchGroup.label"
- bannerImage="icons/full/wizban/run_wiz.gif"
- category="org.eclipse.jem.proxy"
- image="icons/full/ctool16/run_exc.gif"
- mode="run"
- id="org.eclipse.jem.proxy">
- </launchGroup>
- </extension>
- <extension
- point="org.eclipse.debug.ui.launchConfigurationTypeImages">
- <launchConfigurationTypeImage
- icon="icons/full/ctool16/run_exc.gif"
- configTypeID="org.eclipse.jem.proxy.LocalProxyLaunchConfigurationType"
- id="org.eclipse.jem.proxy.launchConfigurationTypeImage.localProxy">
- </launchConfigurationTypeImage>
- </extension>
- <extension
- point="org.eclipse.debug.ui.launchConfigurationTabGroups">
- <launchConfigurationTabGroup
- type="org.eclipse.jem.proxy.LocalProxyLaunchConfigurationType"
- class="org.eclipse.jem.internal.ui.proxy.remote.LocalLaunchTabGroup"
- id="org.eclipse.jem.ui.remote.LocalLaunchTabGroup1">
- </launchConfigurationTabGroup>
- </extension>
- <extension
- point="org.eclipse.ui.actionSets">
- <actionSet
- label="%ActionSet.proxyTools"
- description="%ActionSet.proxyTools.Description"
- id="org.eclipse.jem.ui.ProxyToolsSet">
- <menu
- label="%Menu.run"
- path="additions"
- id="org.eclipse.ui.run">
- </menu>
- <action
- class="org.eclipse.jem.internal.ui.proxy.ProxyLaunchToolbarDelegate"
- icon="icons/full/ctool16/run_exc.gif"
- id="org.eclipse.jem.ui.proxy.ProxyLaunchToolbarDelegateAction"
- label="%Action.proxyLaunch"
- style="pulldown"
- toolbarPath="org.eclipse.debug.ui.launchActionSet/proxyLaunch"
- tooltip="%Action.proxyLaunchTip">
- </action>
- <action
- label="%Action.selectDefault"
- class="org.eclipse.jem.internal.ui.proxy.SelectDefaultConfigurationActionDelegate"
- menubarPath="org.eclipse.ui.run/"
- enablesFor="1"
- id="org.eclipse.jem.ui.proxy.SelectDefaultMenuDelegateAction">
- <enablement>
- <or>
- <objectClass
- name="org.eclipse.core.resources.IProject">
- </objectClass>
- <objectClass
- name="org.eclipse.jdt.core.IJavaProject">
- </objectClass>
- </or>
- </enablement>
- </action>
- <action
- label="%Action.proxyLaunch"
- icon="icons/full/ctool16/run_exc.gif"
- tooltip="%Action.proxyLaunchTip"
- class="org.eclipse.jem.internal.ui.proxy.ProxyLaunchMenuDelegate"
- menubarPath="org.eclipse.ui.run/"
- id="org.eclipse.jem.ui.proxy.ProxyLaunchMenuDelegateAction">
- </action>
- </actionSet>
- </extension>
- <extension
- point="org.eclipse.ui.popupMenus">
- <objectContribution
- adaptable="true"
- objectClass="org.eclipse.core.resources.IProject"
- id="org.eclipse.jem.ui.select.default.objectcontibution">
- <action
- label="%Action.selectDefault"
- class="org.eclipse.jem.internal.ui.proxy.SelectDefaultConfigurationActionDelegate"
- enablesFor="1"
- id="org.eclipse.jem.ui.select.object.action">
- </action>
- <visibility>
- <objectState
- name="persistentProperty"
- value="org.eclipse.jem.proxy.proxyLaunchConfiguration">
- </objectState>
- </visibility>
- </objectContribution>
- </extension>
- <extension
- point="org.eclipse.ui.propertyPages">
- <page
- objectClass="org.eclipse.core.resources.IProject"
- name="%BeaninfoPath_Title_UI_"
- class="org.eclipse.jem.internal.beaninfo.ui.BeaninfosPropertyPage"
- id="BeaninfoPropertiesPage">
- <filter
- name="nature"
- value="org.eclipse.jdt.core.javanature">
- </filter>
- </page>
- <page
- objectClass="org.eclipse.jdt.core.IJavaProject"
- name="%BeaninfoPath_Title_UI_"
- class="org.eclipse.jem.internal.beaninfo.ui.BeaninfosPropertyPage"
- id="BeaninfoPropertiesPage">
- <filter
- name="nature"
- value="org.eclipse.jdt.core.javanature">
- </filter>
- </page>
- </extension>
- <extension
- point="org.eclipse.ui.editors">
- <editor
- name="%Editors.OverrideEditor"
- extensions="override"
- icon="icons/full/obj16/file_obj.gif"
- class="org.eclipse.ui.editors/org.eclipse.ui.editors.text.TextEditor"
- contributorClass="org.eclipse.ui.editors/org.eclipse.ui.editors.text.TextEditorActionContributor"
- id="org.eclipse.jem.beaninfo.OverrideEditor">
- </editor>
- </extension>
-
-</plugin>
diff --git a/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/core/JEMUIPlugin.java b/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/core/JEMUIPlugin.java
deleted file mode 100644
index 452cbe761..000000000
--- a/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/core/JEMUIPlugin.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: JEMUIPlugin.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 23:02:35 $
- */
-package org.eclipse.jem.internal.ui.core;
-
-
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jem.util.logger.proxyrender.EclipseLogger;
-
-
-/**
- *
- * @since 1.0.0
- */
-public class JEMUIPlugin extends AbstractUIPlugin {
-
- private static JEMUIPlugin PLUGIN;
- public static final String PI_BEANINFO_UI = "org.eclipse.jem.internal.beaninfo.ui"; // Key for dialog settings. //$NON-NLS-1$
-
- /**
- * @param descriptor
- *
- * @since 1.0.0
- */
- public JEMUIPlugin() {
- PLUGIN = this;
- }
-
- /**
- * Return the plugin.
- *
- * @return
- *
- * @since 1.0.0
- */
- public static JEMUIPlugin getPlugin() {
- return PLUGIN;
- }
-
- private Logger logger;
- public Logger getLogger() {
- if (logger == null)
- logger = EclipseLogger.getEclipseLogger(this);
- return logger;
- }
-
-}
diff --git a/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/ProxyLaunchMenuDelegate.java b/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/ProxyLaunchMenuDelegate.java
deleted file mode 100644
index d1a75846e..000000000
--- a/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/ProxyLaunchMenuDelegate.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: ProxyLaunchMenuDelegate.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 23:02:35 $
- */
-package org.eclipse.jem.internal.ui.proxy;
-
-import org.eclipse.debug.ui.actions.OpenLaunchDialogAction;
-
-import org.eclipse.jem.internal.proxy.core.IProxyConstants;
-
-/**
- * Menu delegate to launch the Proxy Launch Manager.
- * @since 1.0.0
- */
-public class ProxyLaunchMenuDelegate extends OpenLaunchDialogAction {
-
- public ProxyLaunchMenuDelegate() {
- super(IProxyConstants.ID_PROXY_LAUNCH_GROUP);
- }
-
-}
diff --git a/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/ProxyLaunchToolbarDelegate.java b/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/ProxyLaunchToolbarDelegate.java
deleted file mode 100644
index 127a97509..000000000
--- a/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/ProxyLaunchToolbarDelegate.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: ProxyLaunchToolbarDelegate.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 23:02:35 $
- */
-package org.eclipse.jem.internal.ui.proxy;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowPulldownDelegate2;
-
-import org.eclipse.jem.internal.ui.core.JEMUIPlugin;
-
-/**
- * The toolbar delegate for proxy launch.
- * @since 1.0.0
- */
-public class ProxyLaunchToolbarDelegate implements IWorkbenchWindowPulldownDelegate2 {
-
- private Menu menu;
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.IWorkbenchWindowPulldownDelegate2#getMenu(org.eclipse.swt.widgets.Menu)
- */
- public Menu getMenu(Menu parent) {
- setMenu(new Menu(parent));
- fillMenu(menu);
- return menu;
- }
-
- private void setMenu(Menu menu) {
- if (this.menu != null) {
- this.menu.dispose();
- }
- this.menu = menu;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.IWorkbenchWindowPulldownDelegate#getMenu(org.eclipse.swt.widgets.Control)
- */
- public Menu getMenu(Control parent) {
- setMenu(new Menu(parent));
- fillMenu(menu);
- return menu;
- }
-
- private void fillMenu(Menu menu) {
- addToMenu(menu, proxyLaunchDelegate, -1);
- addToMenu(menu, selectDelegate, -1);
- }
-
- /**
- * Adds the given action to the specified menu with an accelerator specified
- * by the given number.
- *
- * @param menu the menu to add the action to
- * @param action the action to add
- * @param accelerator the number that should appear as an accelerator
- */
- protected void addToMenu(Menu menu, IAction action, int accelerator) {
- StringBuffer label= new StringBuffer();
- if (accelerator >= 0 && accelerator < 10) {
- //add the numerical accelerator
- label.append('&');
- label.append(accelerator);
- label.append(' ');
- }
- label.append(action.getText());
- action.setText(label.toString());
- ActionContributionItem item= new ActionContributionItem(action);
- item.fill(menu, -1);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
- */
- public void dispose() {
- setMenu(null);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(org.eclipse.ui.IWorkbenchWindow)
- */
- public void init(IWorkbenchWindow window) {
- selectDelegate.init(window);
- }
-
- protected SelectDefaultConfigurationActionDelegate selectDelegate = new SelectDefaultConfigurationActionDelegate();
- protected ProxyLaunchMenuDelegate proxyLaunchDelegate = new ProxyLaunchMenuDelegate();
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
- */
- public void run(IAction action) {
- if (selectDelegate.isEnabled())
- selectDelegate.run(action);
- else
- proxyLaunchDelegate.run(action);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
- */
- public void selectionChanged(IAction action, ISelection selection) {
- selectDelegate.selectionChanged(null, selection);
- if (selectDelegate.isEnabled())
- action.setToolTipText(selectDelegate.getToolTipText());
- else
- action.setToolTipText(Platform.getResourceString(JEMUIPlugin.getPlugin().getBundle(), "%Action.proxyLaunchTip")); //$NON-NLS-1$
-
- }
-
-}
diff --git a/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/ProxyUIMessages.java b/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/ProxyUIMessages.java
deleted file mode 100644
index 26ed81e42..000000000
--- a/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/ProxyUIMessages.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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.ui.proxy;
-
-import org.eclipse.osgi.util.NLS;
-
-public final class ProxyUIMessages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.jem.internal.ui.proxy.messages";//$NON-NLS-1$
-
- private ProxyUIMessages() {
- // Do not instantiate
- }
-
- public static String Select_title;
- public static String Select_message;
-
- static {
- NLS.initializeMessages(BUNDLE_NAME, ProxyUIMessages.class);
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/SelectDefaultConfigurationActionDelegate.java b/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/SelectDefaultConfigurationActionDelegate.java
deleted file mode 100644
index 7fc493fe9..000000000
--- a/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/SelectDefaultConfigurationActionDelegate.java
+++ /dev/null
@@ -1,244 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: SelectDefaultConfigurationActionDelegate.java,v $
- * $Revision: 1.7 $ $Date: 2005/06/21 20:01:55 $
- */
-package org.eclipse.jem.internal.ui.proxy;
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.*;
-import org.eclipse.ui.dialogs.CheckedTreeSelectionDialog;
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.ui.core.JEMUIPlugin;
-
-/**
- *
- * @since 1.0.0
- */
-public class SelectDefaultConfigurationActionDelegate extends Action implements IWorkbenchWindowActionDelegate, IObjectActionDelegate {
-
-
- /**
- * Helper to get single selected java project out of selection.
- * Used by ProxyLaunchToolbarDelegate too.
- *
- * @param selection
- * @return
- *
- * @since 1.0.0
- */
- protected static IJavaProject getSelectedJavaProject(ISelection selection) {
- if (selection.isEmpty() || !(selection instanceof IStructuredSelection) || ((IStructuredSelection) selection).size() > 1)
- return null; // Can't handle it.
- else {
- Object sel = ((IStructuredSelection) selection).getFirstElement();
- if (sel instanceof IProject && ((IProject) sel).isOpen()) {
- return JavaCore.create((IProject) sel); // Will return null if not exist.
- } else if (sel instanceof IJavaProject && ((IJavaProject) sel).isOpen())
- return (IJavaProject) sel;
- else
- return null;
- }
- }
-
- /**
- *
- *
- * @since 1.0.0
- */
- public SelectDefaultConfigurationActionDelegate() {
- super(Platform.getResourceString(JEMUIPlugin.getPlugin().getBundle(), "%Action.selectDefault")); //$NON-NLS-1$
- setEnabled(false);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
- */
- public void dispose() {
- }
-
- private IWorkbenchWindow window;
- /* (non-Javadoc)
- * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(org.eclipse.ui.IWorkbenchWindow)
- */
- public void init(IWorkbenchWindow window) {
- this.window = window;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.IActionDelegate#run()
- */
- public void run() {
- selectDialog();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
- */
- public void run(IAction action) {
- run();
- }
-
- protected IJavaProject javaproject;
- /* (non-Javadoc)
- * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
- */
- public void selectionChanged(IAction action, ISelection selection) {
- javaproject = getSelectedJavaProject(selection);
- try {
- setEnabled(
- javaproject != null
- && javaproject.getProject().getPersistentProperty(ProxyPlugin.PROPERTY_LAUNCH_CONFIGURATION) != null);
- } catch (Exception e) {
- setEnabled(false); // Some error, so not enabled.
- }
- if (action != null)
- action.setEnabled(isEnabled());
- if (javaproject != null)
- setToolTipText(MessageFormat.format(Platform.getResourceString(JEMUIPlugin.getPlugin().getBundle(), "%Action.selectDefaultTip"), new Object[] {javaproject.getElementName()})); //$NON-NLS-1$
- else
- setToolTipText(getText());
- }
-
- private static final Object[] EMPTY = new Object[0];
- protected void selectDialog() {
- try {
- ILabelProvider labelProvider = DebugUITools.newDebugModelPresentation();
-
- CheckedTreeSelectionDialog dialog = new CheckedTreeSelectionDialog(window.getShell(), labelProvider, new ITreeContentProvider() {
- public Object[] getChildren(Object parentElement) {
- return EMPTY;
- }
-
- public Object getParent(Object element) {
- return null;
- }
-
- public boolean hasChildren(Object element) {
- return false;
- }
-
- public Object[] getElements(Object inputElement) {
- if (inputElement != null && inputElement instanceof Object[])
- return (Object[]) inputElement;
- else
- return null;
- }
-
- public void dispose() {
- }
-
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- }
- }) {
- protected CheckboxTreeViewer createTreeViewer(Composite parent) {
- final CheckboxTreeViewer treeViewer = super.createTreeViewer(parent);
- treeViewer.addCheckStateListener(new ICheckStateListener() {
- boolean processingCheck = false;
- public void checkStateChanged(CheckStateChangedEvent event) {
- if (!processingCheck) {
- try {
- processingCheck = true;
- if (event.getChecked()) {
- // We are checking something, make sure old one unchecked.
- Object[] checked = treeViewer.getCheckedElements();
- for (int i = 0; i < checked.length; i++) {
- if (checked[i] != event.getElement())
- treeViewer.setChecked(checked[i], false);
- }
- }
- } finally {
- processingCheck = false;
- }
- }
-
- }
- });
- return treeViewer;
- }
-
- protected Composite createSelectionButtons(Composite composite) {
- return new Composite(composite, SWT.NONE); // We don't want selection buttons since only one can be selected at a time.
- }
- };
- dialog.setTitle(ProxyUIMessages.Select_title);
- dialog.setMessage(MessageFormat.format(ProxyUIMessages.Select_message, new Object[] { javaproject.getElementName()}));
-
- ILaunchConfiguration[] configs = DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurations();
- List configsList = new ArrayList(configs.length+1);
- String jpName = javaproject.getElementName();
- for (int i = 0; i < configs.length; i++) {
- if (IProxyConstants.ID_PROXY_LAUNCH_GROUP.equals(configs[i].getCategory()) && !configs[i].getAttribute(IDebugUIConstants.ATTR_PRIVATE, false) && jpName.equals(configs[i].getAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, ""))) //$NON-NLS-1$
- configsList.add(configs[i]);
- }
- configs = (ILaunchConfiguration[]) configsList.toArray(new ILaunchConfiguration[configsList.size()]);
- dialog.setInput(configs);
-
- String launchName = javaproject.getProject().getPersistentProperty(ProxyPlugin.PROPERTY_LAUNCH_CONFIGURATION);
- ILaunchConfiguration config = null;
- if (launchName != null) {
- for (int i = 0; i < configs.length; i++) {
- if (configs[i].getName().equals(launchName)) {
- config = configs[i];
- break;
- }
- }
- if (config != null) {
- dialog.setInitialSelections(new Object[] { config });
- }
- }
- if (dialog.open() == Window.OK) {
- config = (ILaunchConfiguration) dialog.getFirstResult();
- if (config != null)
- javaproject.getProject().setPersistentProperty(ProxyPlugin.PROPERTY_LAUNCH_CONFIGURATION, config.getName());
- else
- javaproject.getProject().setPersistentProperty(ProxyPlugin.PROPERTY_LAUNCH_CONFIGURATION, ProxyLaunchSupport.NOT_SET);
- }
-
- } catch (CoreException e) {
- ErrorDialog.openError(window.getShell(), null, null, e.getStatus());
- ProxyPlugin.getPlugin().getLogger().log(e, Level.WARNING);
- }
-
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.IObjectActionDelegate#setActivePart(org.eclipse.jface.action.IAction, org.eclipse.ui.IWorkbenchPart)
- */
- public void setActivePart(IAction action, IWorkbenchPart targetPart) {
- // This is called instead of init(WorkbenchWindow) when this is on popup menu.
- window = targetPart.getSite().getWorkbenchWindow();
- }
-
-}
diff --git a/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/messages.properties b/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/messages.properties
deleted file mode 100644
index a827be419..000000000
--- a/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/messages.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/Attic/messages.properties,v $
-# $Revision: 1.4 $ $Date: 2005/06/21 20:01:55 $
-#
-
-Select_title=Select Default
-Select_message=Select default configuration for project "{0}":
diff --git a/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/remote/LocalLaunchProjectTab.java b/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/remote/LocalLaunchProjectTab.java
deleted file mode 100644
index b5892bd7c..000000000
--- a/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/remote/LocalLaunchProjectTab.java
+++ /dev/null
@@ -1,267 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: LocalLaunchProjectTab.java,v $
- * $Revision: 1.5 $ $Date: 2005/06/21 20:03:14 $
- */
-package org.eclipse.jem.internal.ui.proxy.remote;
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.jdt.core.*;
-import org.eclipse.jdt.internal.debug.ui.launcher.JavaLaunchConfigurationTab;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jdt.ui.JavaElementLabelProvider;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.ElementListSelectionDialog;
-import org.eclipse.ui.ide.IDE;
-
-import org.eclipse.jem.internal.proxy.core.ProxyPlugin;
-
-/**
- *
- * @since 1.0.0
- */
-public class LocalLaunchProjectTab extends JavaLaunchConfigurationTab {
-
- // Project UI widgets
- protected Label fProjLabel;
- protected Text fProjText;
- protected Button fProjButton;
-
-
- /**
- * @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(Composite)
- */
- public void createControl(Composite parent) {
- Font font = parent.getFont();
-
- Composite comp = new Composite(parent, SWT.NONE);
- setControl(comp);
- GridLayout topLayout = new GridLayout();
- comp.setLayout(topLayout);
- GridData gd;
-
- createVerticalSpacer(comp, 1);
-
- Composite projComp = new Composite(comp, SWT.NONE);
- GridLayout projLayout = new GridLayout();
- projLayout.numColumns = 2;
- projLayout.marginHeight = 0;
- projLayout.marginWidth = 0;
- projComp.setLayout(projLayout);
- gd = new GridData(GridData.FILL_HORIZONTAL);
- projComp.setLayoutData(gd);
- projComp.setFont(font);
-
- fProjLabel = new Label(projComp, SWT.NONE);
- fProjLabel.setText(ProxyRemoteUIMessages.LocalLaunchProjectTab_Project);
- gd = new GridData();
- gd.horizontalSpan = 2;
- fProjLabel.setLayoutData(gd);
- fProjLabel.setFont(font);
-
- fProjText = new Text(projComp, SWT.SINGLE | SWT.BORDER);
- gd = new GridData(GridData.FILL_HORIZONTAL);
- fProjText.setLayoutData(gd);
- fProjText.setFont(font);
- fProjText.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent evt) {
- updateLaunchConfigurationDialog();
- }
- });
-
- fProjButton = createPushButton(projComp, ProxyRemoteUIMessages.LocalLaunchProjectTab_Browse, null);
- fProjButton.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent evt) {
- handleProjectButtonSelected();
- }
- });
-
- }
-
- /**
- * @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(ILaunchConfiguration)
- */
- public void initializeFrom(ILaunchConfiguration config) {
- updateProjectFromConfig(config);
- }
-
- protected void updateProjectFromConfig(ILaunchConfiguration config) {
- String projectName = ""; //$NON-NLS-1$
- try {
- projectName = config.getAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, ""); //$NON-NLS-1$
- } catch (CoreException ce) {
- ProxyPlugin.getPlugin().getLogger().log(ce);
- }
- fProjText.setText(projectName);
- }
-
- /**
- * @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(ILaunchConfigurationWorkingCopy)
- */
- public void performApply(ILaunchConfigurationWorkingCopy config) {
- config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, fProjText.getText());
- }
-
- /**
- * @see org.eclipse.debug.ui.ILaunchConfigurationTab#dispose()
- */
- public void dispose() {
- }
-
-
- /**
- * Show a dialog that lets the user select a project. This in turn provides
- * context for the main type, allowing the user to key a main type name, or
- * constraining the search for main types to the specified project.
- */
- protected void handleProjectButtonSelected() {
- IJavaProject project = chooseJavaProject();
- if (project == null) {
- return;
- }
-
- String projectName = project.getElementName();
- fProjText.setText(projectName);
- }
-
- /**
- * Realize a Java Project selection dialog and return the first selected project,
- * or null if there was none.
- */
- protected IJavaProject chooseJavaProject() {
- IJavaProject[] projects;
- try {
- projects= JavaCore.create(getWorkspaceRoot()).getJavaProjects();
- } catch (JavaModelException e) {
- ProxyPlugin.getPlugin().getLogger().log(e);
- projects= new IJavaProject[0];
- }
-
- ILabelProvider labelProvider= new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT);
- ElementListSelectionDialog dialog= new ElementListSelectionDialog(getShell(), labelProvider);
- dialog.setTitle(ProxyRemoteUIMessages.LocalLaunchProjectTab_Project_Selection);
- dialog.setMessage(ProxyRemoteUIMessages.LocalLaunchProjectTab_ChooseProject);
- dialog.setElements(projects);
-
- IJavaProject javaProject = getJavaProject();
- if (javaProject != null) {
- dialog.setInitialSelections(new Object[] { javaProject });
- }
- if (dialog.open() == Window.OK) {
- return (IJavaProject) dialog.getFirstResult();
- }
- return null;
- }
-
- /**
- * Return the IJavaProject corresponding to the project name in the project name
- * text field, or null if the text does not match a project name.
- */
- protected IJavaProject getJavaProject() {
- String projectName = fProjText.getText().trim();
- if (projectName.length() < 1) {
- return null;
- }
- return getJavaModel().getJavaProject(projectName);
- }
-
- /**
- * Convenience method to get the workspace root.
- */
- private IWorkspaceRoot getWorkspaceRoot() {
- return ResourcesPlugin.getWorkspace().getRoot();
- }
-
- /**
- * Convenience method to get access to the java model.
- */
- private IJavaModel getJavaModel() {
- return JavaCore.create(getWorkspaceRoot());
- }
-
- /**
- * @see org.eclipse.debug.ui.ILaunchConfigurationTab#isValid(ILaunchConfiguration)
- */
- public boolean isValid(ILaunchConfiguration config) {
-
- setErrorMessage(null);
- setMessage(null);
-
- String name = fProjText.getText().trim();
- if (name.length() > 0) {
- IWorkspace workspace = ResourcesPlugin.getWorkspace();
- IStatus status = workspace.validateName(name, IResource.PROJECT);
- if (status.isOK()) {
- IProject project= ResourcesPlugin.getWorkspace().getRoot().getProject(name);
- if (!project.exists()) {
- setErrorMessage(MessageFormat.format(ProxyRemoteUIMessages.LocalLaunchProjectTab_ProjectNotExist_ERROR_, new String[] {name}));
- return false;
- }
- if (!project.isOpen()) {
- setErrorMessage(MessageFormat.format(ProxyRemoteUIMessages.LocalLaunchProjectTab_ProjectNotOpen_ERROR_, new String[] {name}));
- return false;
- }
- } else {
- setErrorMessage(MessageFormat.format(ProxyRemoteUIMessages.LocalLaunchProjectTab_ProjectValidateError_ERROR_, new String[]{status.getMessage()}));
- return false;
- }
- }
-
- return false; // Kludge. We always return false so that "Run" button is never enabled. We can't launch these configurations using the standard way. Only through ProxyLaunchSupport.
- }
-
- /**
- * @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(ILaunchConfigurationWorkingCopy)
- */
- public void setDefaults(ILaunchConfigurationWorkingCopy config) {
- IJavaElement javaElement = getContext();
- if (javaElement != null) {
- initializeJavaProject(javaElement, config);
- } else {
- // We set empty attributes for project so that when one config is
- // compared to another, the existence of empty attributes doesn't cause an
- // incorrect result (the performApply() method can result in empty values
- // for these attributes being set on a config if there is nothing in the
- // corresponding text boxes)
- config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, ""); //$NON-NLS-1$
- }
- }
-
- /**
- * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName()
- */
- public String getName() {
- return ProxyRemoteUIMessages.LocalLaunchProjectTab_name;
- }
-
- /**
- * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getImage()
- */
- public Image getImage() {
- return PlatformUI.getWorkbench().getSharedImages().getImage(IDE.SharedImages.IMG_OBJ_PROJECT);
- }
-}
diff --git a/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/remote/LocalLaunchTabGroup.java b/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/remote/LocalLaunchTabGroup.java
deleted file mode 100644
index 4f4d3b296..000000000
--- a/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/remote/LocalLaunchTabGroup.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: LocalLaunchTabGroup.java,v $ $Revision: 1.4 $ $Date: 2005/02/15 23:02:35 $
- */
-package org.eclipse.jem.internal.ui.proxy.remote;
-
-import org.eclipse.debug.ui.*;
-import org.eclipse.debug.ui.sourcelookup.SourceLookupTab;
-import org.eclipse.jdt.debug.ui.launchConfigurations.*;
-
-/**
- * Launch Tab Group for the Local Launch of a Remote Proxy Configuration.
- *
- * @since 1.0.0
- */
-public class LocalLaunchTabGroup extends AbstractLaunchConfigurationTabGroup {
-
- /**
- * Constructs a new Java applet tab group.
- */
- public LocalLaunchTabGroup() {
- }
-
- /*
- * @see ILaunchConfigurationTabGroup#createTabs(ILaunchConfigurationDialog, String)
- */
- public void createTabs(ILaunchConfigurationDialog dialog, String mode) {
- ILaunchConfigurationTab[] tabs =
- new ILaunchConfigurationTab[] {
- new LocalLaunchProjectTab(),
- new JavaArgumentsTab(),
- new JavaJRETab(),
- new JavaClasspathTab(),
- new SourceLookupTab(), // TODO Need to see why SourceLookupTab didn't work. Until then use this.
- new EnvironmentTab(),
- new CommonTab()};
- setTabs(tabs);
- }
-
-}
diff --git a/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/remote/ProxyRemoteUIMessages.java b/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/remote/ProxyRemoteUIMessages.java
deleted file mode 100644
index 822126caa..000000000
--- a/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/remote/ProxyRemoteUIMessages.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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.ui.proxy.remote;
-
-import org.eclipse.osgi.util.NLS;
-
-public final class ProxyRemoteUIMessages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.jem.internal.ui.proxy.remote.messages";//$NON-NLS-1$
-
- private ProxyRemoteUIMessages() {
- // Do not instantiate
- }
-
- public static String LocalLaunchProjectTab_name;
- public static String LocalLaunchProjectTab_Project;
- public static String LocalLaunchProjectTab_Browse;
- public static String LocalLaunchProjectTab_Project_Selection;
- public static String LocalLaunchProjectTab_ChooseProject;
- public static String LocalLaunchProjectTab_ProjectNotExist_ERROR_;
- public static String LocalLaunchProjectTab_ProjectNotOpen_ERROR_;
- public static String LocalLaunchProjectTab_ProjectValidateError_ERROR_;
-
- static {
- NLS.initializeMessages(BUNDLE_NAME, ProxyRemoteUIMessages.class);
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/remote/messages.properties b/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/remote/messages.properties
deleted file mode 100644
index 807a517e2..000000000
--- a/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/remote/messages.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/remote/Attic/messages.properties,v $
-# $Revision: 1.7 $ $Date: 2005/06/21 20:03:14 $
-#
-
-LocalLaunchProjectTab_name = &Project
-LocalLaunchProjectTab_Project = &Project
-LocalLaunchProjectTab_Browse = &Browse...
-LocalLaunchProjectTab_Project_Selection = Project Selection
-LocalLaunchProjectTab_ChooseProject = Choose a &project to for the launch:
-LocalLaunchProjectTab_ProjectNotExist_ERROR_ = IWAV0174E Project "{0}" doesn''t exist.
-LocalLaunchProjectTab_ProjectNotOpen_ERROR_ = IWAV0175E Project "{0}" is not open.
-LocalLaunchProjectTab_ProjectValidateError_ERROR_ = IWAV0176E Project validation error. Msg is "{0}."
diff --git a/plugins/org.eclipse.jem.workbench/.classpath b/plugins/org.eclipse.jem.workbench/.classpath
deleted file mode 100644
index 7682dad83..000000000
--- a/plugins/org.eclipse.jem.workbench/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="workbench/"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.jem.workbench/.cvsignore b/plugins/org.eclipse.jem.workbench/.cvsignore
deleted file mode 100644
index 60463af3f..000000000
--- a/plugins/org.eclipse.jem.workbench/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-bin
-build.xml
diff --git a/plugins/org.eclipse.jem.workbench/.project b/plugins/org.eclipse.jem.workbench/.project
deleted file mode 100644
index 81862bd81..000000000
--- a/plugins/org.eclipse.jem.workbench/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.jem.workbench</name>
- <comment></comment>
- <projects>
- <project>org.eclipse.core.resources</project>
- <project>org.eclipse.core.runtime.compatibility</project>
- <project>org.eclipse.emf.ecore.xmi</project>
- <project>org.eclipse.jdt.core</project>
- <project>org.eclipse.jem</project>
- <project>org.eclipse.jem.proxy</project>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.jem.workbench/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.jem.workbench/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 106382ed5..000000000
--- a/plugins/org.eclipse.jem.workbench/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,282 +0,0 @@
-#Thu Jun 16 13:23:32 EDT 2005
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=1
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines=false
-org.eclipse.jdt.core.formatter.comment.format_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=150
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=150
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
diff --git a/plugins/org.eclipse.jem.workbench/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.jem.workbench/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4cff627b9..000000000
--- a/plugins/org.eclipse.jem.workbench/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,6 +0,0 @@
-#Wed May 11 16:20:15 EDT 2005
-eclipse.preferences.version=1
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=java;javax;org;org.eclipse.wtp;org.eclipse.jem;org.eclipse.ve.internal.cdm;org.eclipse.ve.internal.cde;org.eclipse.ve.internal.jcm;org.eclipse.ve.internal.java;org.eclipse.ve;com;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates/>
diff --git a/plugins/org.eclipse.jem.workbench/META-INF/MANIFEST.MF b/plugins/org.eclipse.jem.workbench/META-INF/MANIFEST.MF
deleted file mode 100644
index ff9d1918b..000000000
--- a/plugins/org.eclipse.jem.workbench/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,19 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.jem.workbench; singleton:=true
-Bundle-Version: 1.1.0
-Bundle-ClassPath: workbench.jar
-Bundle-Activator: org.eclipse.jem.internal.plugin.JavaPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.jem.internal.adapters.jdom,
- org.eclipse.jem.internal.plugin,
- org.eclipse.jem.workbench.utility
-Require-Bundle: org.eclipse.jem,
- org.eclipse.jdt.core,
- org.eclipse.core.resources,
- org.eclipse.emf.ecore.xmi,
- org.eclipse.core.runtime,
- org.eclipse.jem.util
-Eclipse-AutoStart: true
diff --git a/plugins/org.eclipse.jem.workbench/about.html b/plugins/org.eclipse.jem.workbench/about.html
deleted file mode 100644
index 6f6b96c4c..000000000
--- a/plugins/org.eclipse.jem.workbench/about.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>February 24, 2005</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.workbench/build.properties b/plugins/org.eclipse.jem.workbench/build.properties
deleted file mode 100644
index f718e42e7..000000000
--- a/plugins/org.eclipse.jem.workbench/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 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
-###############################################################################
-source.workbench.jar = workbench/
-bin.includes = plugin.xml,\
- plugin.properties,\
- workbench.jar,\
- about.html,\
- META-INF/
-src.includes = about.html
-
diff --git a/plugins/org.eclipse.jem.workbench/plugin.properties b/plugins/org.eclipse.jem.workbench/plugin.properties
deleted file mode 100644
index 926798ef9..000000000
--- a/plugins/org.eclipse.jem.workbench/plugin.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/plugins/org.eclipse.jem.workbench/plugin.properties,v $
-# $Revision: 1.4 $ $Date: 2005/02/15 23:10:04 $
-#
-
-
-pluginName=Java EMF Model Workbench Support
-providerName = Eclipse.org
-
-JavaEMFNatureName=JavaEMFNature Properties
diff --git a/plugins/org.eclipse.jem.workbench/plugin.xml b/plugins/org.eclipse.jem.workbench/plugin.xml
deleted file mode 100644
index 15089056e..000000000
--- a/plugins/org.eclipse.jem.workbench/plugin.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
- <extension
- id="JavaEMFNature"
- name="%JavaEMFNatureName"
- point="org.eclipse.core.resources.natures">
- <runtime>
- <run
- class="org.eclipse.jem.internal.plugin.JavaEMFNature">
- </run>
- </runtime>
- </extension>
-
- <extension
- point="org.eclipse.jem.util.nature_registration">
- <nature
- id="org.eclipse.jem.workbench.JavaEMFNature">
- </nature>
- </extension>
-
-</plugin>
diff --git a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JDOMAdaptor.java b/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JDOMAdaptor.java
deleted file mode 100644
index 5d0c1ab5b..000000000
--- a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JDOMAdaptor.java
+++ /dev/null
@@ -1,336 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.adapters.jdom;
-/*
- * $RCSfile: JDOMAdaptor.java,v $
- * $Revision: 1.5 $ $Date: 2005/02/15 23:09:27 $
- */
-
-import java.io.File;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.ecore.xmi.XMIResource;
-import org.eclipse.jdt.core.*;
-import org.eclipse.jem.java.*;
-import org.eclipse.jem.internal.java.adapters.JavaReflectionAdaptor;
-import org.eclipse.jem.internal.java.adapters.nls.ResourceHandler;
-import org.eclipse.jem.java.impl.JavaRefFactoryImpl;
-/**
- * Insert the type's description here.
- * Creation date: (6/6/2000 4:42:50 PM)
- * @author: Administrator
- */
-public abstract class JDOMAdaptor extends JavaReflectionAdaptor {
-
- protected final static JavaRefPackage JAVA_PACK = JavaRefFactoryImpl.getPackage();
- protected IJavaProject sourceProject;
- final public static int INVALID_LINENO = -1;
- final protected Integer fLINENOLock = new Integer(INVALID_LINENO);
- // This object is not static, as it is used as synchronization element.
- private int fResolvedLineNo = INVALID_LINENO; // Line offset in source file
- private int fResolvedColNo = INVALID_LINENO; // Column offset in source file
- public JDOMAdaptor(Notifier target, IJavaProject workingProject) {
- super(target);
- setSourceProject(workingProject);
- }
- protected void clearSource() {
- // To be overidden if needed.
- }
- /**
- * Scan for CRs and LFs within a character buffer
- * Creation date: (8/17/2001 2:14:13 PM)
- * @return int LineNo at charOffset
- * @param charOffset int
- * @param buffer org.eclipse.jdt.core.IBuffer
- */
- private void computeLineOffset(int charOffset, IBuffer buffer) {
-
- fResolvedColNo = fResolvedLineNo = INVALID_LINENO;
-
- if (buffer == null)
- return;
-
- char[] charBuff = buffer.getCharacters();
-
- if (charBuff == null)
- return;
-
- int LineCount = 0;
- int ColNo = 0;
- for (int i = 0; i <= charOffset; i++) {
- ColNo++;
- if (charBuff[i] == '\r') {
- LineCount++;
- ColNo = 0;
- if (charBuff[i + 1] == '\n')
- i++; // skip LineFeed followed a CR
- } else if (charBuff[i] == '\n') {
- LineCount++;
- ColNo = 0;
- }
-
- }
- fResolvedColNo = ColNo;
- fResolvedLineNo = LineCount;
- }
- /**
- * computeMethodID - generate the unique ID to be used to identify a method.
- * Similar to a Signature, but hopefully more readable.
- * The name format will be:
- * simpleTypeName.methodName(my.package.Parm_Type1,parmType2
- * Note: This implementation is tightly coupled with ReflectionAdapter.getTypeNamesFromMethodID().
- */
- public static String computeMethodID(IMethod jdomMethod) {
- return computeMethodID(jdomMethod, jdomMethod.getDeclaringType(), null);
- }
- /**
- * computeMethodID - generate the unique ID to be used to identify a method.
- * Similar to a Signature, but hopefully more readable.
- * The name format will be:
- * simpleTypeName.methodName(my.package.Parm_Type1,parmType2
- * Note: This implementation is tightly coupled with ReflectionAdapter.getTypeNamesFromMethodID().
- */
- public static String computeMethodID(IMethod jdomMethod, IType type, Map typeCache) {
- StringBuffer out = new StringBuffer();
- out.append(type.getTypeQualifiedName());
- out.append(C_CLASS_MEMBER_DELIMITER);
- out.append(jdomMethod.getElementName());
- out.append(C_METHOD_PARM_DELIMITER);
- String[] parmTypeNames = jdomMethod.getParameterTypes();
- String parmName;
- for (int i = 0; i < parmTypeNames.length; i++) {
- parmName = convertJDOMtypeName(parmTypeNames[i]);
- parmName = JDOMSearchHelper.getResolvedTypeName(parmName, type, typeCache);
- out.append(parmName);
- if (i < (parmTypeNames.length - 1))
- out.append(C_PARM_PARM_DELIMITER);
- }
- try {
- if (jdomMethod.isConstructor())
- out.append(S_CONSTRUCTOR_TOKEN);
- } catch (JavaModelException e) {
- }
- return out.toString();
- }
- /**
- * computeMethodName - generate the name to be used to identify a method.
- * For the moment, names are simple, and UUID's are complex.
- */
- public static String computeMethodName(IMethod jdomMethod) {
- return jdomMethod.getElementName();
- }
- /**
- * Java content has changed, but no structural changes that require
- * to reflectValues(); e.g., the body of a method has changed.
- * Creation date: (8/17/2001 10:47:58 AM)
- */
- public void contentChanged() {
- synchronized (fLINENOLock) {
- fResolvedLineNo = INVALID_LINENO;
- fResolvedColNo = INVALID_LINENO;
- }
- }
- /**
- * computeMethodID - generate the unique ID to be used to identify a method.
- * Similar to a Signature, but hopefully more readable.
- * The name format will be:
- * methodName_parmType1_parmType2
- */
- public static String convertJDOMtypeName(String jdomTypeName) {
- return signatureToString(jdomTypeName);
- }
- /**
- * createJavaField - instantiate a Java Field based on the passed Java Model IField
- * We are deferring field contents assuming that its adaptor will reflect its details.
- */
- public Field createJavaField(IField jdomField, XMIResource resource) {
- String name = jdomField.getElementName();
- Field newField = getJavaFactory().createField();
- newField.setName(name);
- resource.setID(newField, ((JavaClass) getTarget()).getName() + C_CLASS_MEMBER_DELIMITER + name);
- return newField;
- }
- /**
- * createJavaMethod - instantiate a Java Method based on the passed Java Model IMethod
- * We are deferring method contents assuming that its adaptor will reflect its details.
- * We need to store enough info in the empty Method to find its Java source.
- * The UUID will eventually hold enough info to identify the source, so we use it.
- */
- public Method createJavaMethod(IMethod jdomMethod, XMIResource resource) {
- Method newMethod = getJavaFactory().createMethod();
- // We use a simple name, but a complex ID
- newMethod.setName(computeMethodName(jdomMethod));
- resource.setID(newMethod, computeMethodID(jdomMethod, getType(), getTypeResolutionCache()));
- return newMethod;
- }
- protected IPath getBinaryPathFromQualifiedName(String qualifiedName) {
- return new Path(qualifiedName.replace('.', File.separatorChar) + ".class"); //$NON-NLS-1$
- }
- public IType getBinaryType(String qualifiedName) {
- try {
- if (getSourceProject() != null) {
- IJavaElement found = getSourceProject().findElement(getBinaryPathFromQualifiedName(qualifiedName));
- if (found != null)
- return ((IClassFile) found).getType();
- }
- } catch (JavaModelException jme) {
- System.out.println(ResourceHandler.getString("Error_Looking_Up_Type_ERROR_", (new Object[] { qualifiedName, jme.getMessage()}))); //$NON-NLS-1$ = "Error looking up type: "
- }
- return null;
- }
- /**
- * Compute a column number from the ISourceRange offset
- * Cache the line number thereafter. Source change will
- * Invoke the contentChanged() method.
- * Creation date: (8/17/2001 11:16:51 AM)
- * @return int
- */
- public int getColNo() {
-
- synchronized (fLINENOLock) {
- if (fResolvedColNo == INVALID_LINENO)
- resolveLineColNo();
- }
- return fResolvedColNo;
- }
- /**
- * Compute a line number from the ISourceRange offset
- * Cache the line number thereafter. Source change will
- * Invoke the contentChanged() method.
- * Creation date: (8/17/2001 11:16:51 AM)
- * @return int
- */
- public int getLineNo() {
-
- synchronized (fLINENOLock) {
- if (fResolvedLineNo == INVALID_LINENO)
- resolveLineColNo();
- }
- return fResolvedLineNo;
- }
- /**
- * Insert the method's description here.
- * Creation date: (8/17/2001 1:18:29 PM)
- */
- public abstract Object getReflectionSource();
- /*
- * Resolve a type name in the context of a Type.
- * (Borrowed from org.eclipse.jdt.ui.codemanipulation.StubUtility.getResolvedTypeName())
- * The input is a simple or qualified name, NOT a signature
- * The output will be a qualified name, NOT a signature
- */
- public static String getResolvedTypeName(String typeName, IType declaringType) {
- String name = typeName;
- try {
- name = JDOMSearchHelper.resolveSimpleTypeName(declaringType, typeName);
- } catch (JavaModelException e) {
- // ignore
- }
- return name;
- }
-
- protected IJavaProject getSourceProject() {
- return sourceProject;
- }
- protected abstract IType getType();
- protected abstract Map getTypeResolutionCache();
-
- public void releaseSourceType() {
- flushReflectedValuesIfNecessary(true); // induce clients to get Notified.
- }
-
- public Notification releaseSourceTypeNoNotification() {
- return flushReflectedValuesIfNecessaryNoNotification(true); // induce clients to get Notified.
- }
- /**
- * Insert the method's description here.
- * Creation date: (8/21/2001 8:09:34 AM)
- */
- private void resolveLineColNo() {
-
- IMember rs = (IMember) getReflectionSource();
- if (rs != null) {
- int offset = INVALID_LINENO;
- try {
- ISourceRange sr = rs.getNameRange();
- if (sr.getLength() <= 0)
- return;
- offset = sr.getOffset();
- } catch (JavaModelException je) {
- return;
- }
- ICompilationUnit cu = rs.getCompilationUnit();
- if (cu != null) {
- try {
- IBuffer buffer = cu.getBuffer();
- computeLineOffset(offset, buffer);
- } catch (JavaModelException je) {
- }
- }
- }
- }
- protected void setSourceProject(IJavaProject workingProject) {
- sourceProject = workingProject;
- }
- /**
- * Converts a type signature to a readable string.
- *
- * Uses Signature.toString(), then tries to undo bad replacement for inner classes.
- *
- */
- public static String signatureToString(String signature) throws IllegalArgumentException {
- boolean hasDollar = (signature.indexOf(Signature.C_DOLLAR) != -1);
- String result = Signature.toString(signature);
- if (hasDollar) {
- int newPos = result.lastIndexOf("."); //$NON-NLS-1$
- if (newPos != -1) {
- result = result.substring(0, newPos) + "$" + result.substring(newPos + 1); //$NON-NLS-1$
- }
- }
- return result;
- }
- /**
- * setType - set our type here
- */
- protected String typeNameFromSignature(String sig) {
- return typeNameFromSignature(sig, getType());
- }
- /**
- * setType - set our type here
- */
- protected String typeNameFromSignature(String sig, IType parent) {
- return typeNameFromSignature(sig, parent, getTypeResolutionCache());
- }
- /**
- * setType - set our type here
- */
- public static String typeNameFromSignature(String sig, IType parent, Map typeCache) {
- String result;
- String componentSignature = Signature.getElementType(sig);
- int arrayDimensions = Signature.getArrayCount(sig);
- result = JDOMSearchHelper.getResolvedTypeName(signatureToString(componentSignature), parent, typeCache);
- for (int i = 0; i < arrayDimensions; i++) {
- result = result + "[]"; //$NON-NLS-1$
- }
- return result;
- }
- /**
- * @deprecated
- * @see org.eclipse.jem.internal.adapters.jdom.JDOMSearchHelper#findType(String, boolean, IJavaProject, JDOMAdaptor)
- */
- public IType getType(String qualifiedName) {
- return JDOMSearchHelper.findType(qualifiedName, false, getSourceProject(), this);
- }
-}
diff --git a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JDOMClassFinder.java b/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JDOMClassFinder.java
deleted file mode 100644
index 8be329a4d..000000000
--- a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JDOMClassFinder.java
+++ /dev/null
@@ -1,94 +0,0 @@
-package org.eclipse.jem.internal.adapters.jdom;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: JDOMClassFinder.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 23:09:27 $
- */
-
-import java.io.File;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.*;
-import org.eclipse.jem.internal.java.adapters.nls.ResourceHandler;
-/**
- * Insert the type's description here.
- * Creation date: (8/16/2000 11:06:46 PM)
- * @author: Administrator
- */
-public class JDOMClassFinder {
-
- private static JDOMClassFinder instance;
-/**
- * JDOMClassFinder constructor comment.
- */
-public JDOMClassFinder() {
- super();
-}
-protected IPath getBinaryPathFromQualifiedName(String qualifiedName) {
- return new Path(qualifiedName.replace('.', File.separatorChar) + ".class");//$NON-NLS-1$
-}
-public IType getBinaryType(String qualifiedName) {
- try {
- IJavaElement found = getJavaElement(qualifiedName);
- return ((IClassFile) found).getType();
- } catch (JavaModelException jme) {
- System.out.println(ResourceHandler.getString("Error_Looking_Up_Type_ERROR_", (new Object[] {qualifiedName, jme.getMessage()}))); //$NON-NLS-1$ = "Error looking up type: "
- }
- return null;
-}
-public IJavaElement getJavaElement(String qualifiedName) {
- try {
- if (getSourceProject() != null)
- return getSourceProject().findElement(getPathFromQualifiedName(qualifiedName));
- } catch (JavaModelException jme) {
- System.out.println(ResourceHandler.getString("Error_Looking_Up_Type_ERROR_", (new Object[] {qualifiedName, jme.getMessage()}))); //$NON-NLS-1$ = "Error looking up type: "
- }
- return null;
-}
-protected IPath getPathFromQualifiedName(String qualifiedName) {
- return new Path(qualifiedName.replace('.', File.separatorChar) + ".java");//$NON-NLS-1$
-}
-protected IJavaProject getSourceProject() {
- //return (IJavaProject) ((JavaRefPackage)EPackage.Registry.INSTANCE.getEPackage(JavaRefPackage.eNS_URI)).getJavaRefFactory().getJavaContext();
- return null;
-}
-public IType getType(String qualifiedName) {
- try {
- IJavaElement found = getJavaElement(qualifiedName);
- if (found != null)
- if (found instanceof IClassFile)
- return ((IClassFile) found).getType();
- else
- if (found instanceof ICompilationUnit) {
- ICompilationUnit foundCU = (ICompilationUnit) found;
- // strip the ".java", lifted from CompilationUnit.getMainTypeName()
- String cuMainTypeName = foundCU.getElementName();
- cuMainTypeName = cuMainTypeName.substring(0, cuMainTypeName.length() - 5);
- return foundCU.getType(cuMainTypeName);
- }
- } catch (JavaModelException jme) {
- System.out.println(ResourceHandler.getString("Error_Looking_Up_Type_ERROR_", (new Object[] {qualifiedName, jme.getMessage()}))); //$NON-NLS-1$ = "Error looking up type: "
- }
- return null;
-}
-/**
- * Insert the method's description here.
- * Creation date: (8/16/2000 11:19:48 PM)
- * @return com.ibm.etools.java.adapters.JDOMClassFinder
- */
-public static JDOMClassFinder instance() {
- if (instance == null)
- instance = new JDOMClassFinder();
- return instance;
-}
-}
diff --git a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JDOMSearchHelper.java b/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JDOMSearchHelper.java
deleted file mode 100644
index 88273a95a..000000000
--- a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JDOMSearchHelper.java
+++ /dev/null
@@ -1,358 +0,0 @@
-package org.eclipse.jem.internal.adapters.jdom;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: JDOMSearchHelper.java,v $
- * $Revision: 1.5 $ $Date: 2005/05/18 22:05:58 $
- */
-
-import java.io.File;
-import java.util.*;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.*;
-import org.eclipse.jem.internal.java.adapters.nls.ResourceHandler;
-/**
- * Insert the type's description here.
- * Creation date: (9/26/2001 11:09:30 AM)
- * @author: Administrator
- */
-public class JDOMSearchHelper {
-
- private static final String RESOLVED_NAME = " :: RESOLVED_NAME :: "; //$NON-NLS-1$
- private static final String PERIOD = "."; //$NON-NLS-1$
- private static final String BOOLEAN = "boolean"; //$NON-NLS-1$
- private static final String BYTE = "byte"; //$NON-NLS-1$
- private static final String CHAR = "char"; //$NON-NLS-1$
- private static final String SHORT = "short"; //$NON-NLS-1$
- private static final String INT = "int"; //$NON-NLS-1$
- private static final String LONG = "long"; //$NON-NLS-1$
- private static final String FLOAT = "float"; //$NON-NLS-1$
- private static final String DOUBLE = "double"; //$NON-NLS-1$
- private static final String VOID = "void"; //$NON-NLS-1$
- /**
- * JDOMSearchHelper constructor comment.
- */
- public JDOMSearchHelper() {
- super();
- }
- /**
- * If the @simpleName is an inner class, we need to resolve only the declaring class.
- */
- private static String[][] getTypeNameInfo(IType type, String simpleName, boolean isForReflection) throws JavaModelException {
- String[][] result = null;
- String declaringName, typeName;
- typeName = simpleName;
- if (type != null) {
- if (isForReflection)
- typeName = typeName.replace('.', '$');
- int index = typeName.indexOf("$"); //$NON-NLS-1$
- if (index > 0) {
- declaringName = typeName.substring(0, index);
- result = type.resolveType(declaringName);
- if (result != null) {
- if (isForReflection)
- result[0][1] = result[0][1].replace('.', '$');
- result[0][1] += typeName.substring(index, typeName.length());
- }
- } else {
- index = typeName.indexOf("["); //$NON-NLS-1$
- if (index > 0) {
- declaringName = typeName.substring(0, index);
- result = type.resolveType(declaringName);
- if (result != null)
- result[0][1] = result[0][1] + typeName.substring(index);
- } else
- result = type.resolveType(typeName);
- }
- }
- return result;
- }
- /**
- * Returns true if the type is a primitive.
- */
- public final static boolean isPrimitive(String type) {
- return (BOOLEAN.equals(type) || INT.equals(type) || CHAR.equals(type) || SHORT.equals(type) || LONG.equals(type) || FLOAT.equals(type) || DOUBLE.equals(type) || BYTE.equals(type));
- }
- /**
- * Returns true if the type is a primitive.
- */
- public final static boolean isPrimitiveOrVoid(String type) {
- return isPrimitive(type) || isVoid(type);
- }
- /**
- * Returns true if the type is a primitive.
- */
- public final static boolean isVoid(String type) {
- return VOID.equals(type);
- }
- /**
- * Returns true if the two signatures match within the scope of the specified type.
- */
- public static boolean matchTypeSignatures(IType type, String signature1, String signature2) throws JavaModelException {
- return matchTypeSignatures(type, signature1, signature2, null);
- }
- /**
- * Returns true if the two signatures match within the scope of the specified type.
- */
- public static boolean matchTypeSignatures(IType type, String signature1, String signature2, Map resolvedNameCache) throws JavaModelException {
- boolean result = false;
- String sig1 = signature1;
- String sig2 = signature2;
- // First check array count.
- if (Signature.getArrayCount(sig1) == Signature.getArrayCount(sig2)) {
- // We have the same array count, get the element types for consideration.
- sig1 = Signature.getElementType(sig1);
- sig2 = Signature.getElementType(sig2);
-
- // There are three cases:
- // 1) Both are unqualified (both being primitive will fall into this),
- // 2) Both are qualified, and
- // 3) One is qualified and the other is not (one could be primitive).
-
- // For the first two cases a compare of the readable names will always do.
- if (!((sig1.indexOf('.') == -1) ^ (sig2.indexOf('.') == -1))) {
- result = Signature.toString(sig1).equals(Signature.toString(sig2));
- } else {
- // This is case 3.
- // First root out one being primitive.
- if (((sig1.charAt(0) == 'Q') || (sig1.charAt(0) == 'L')) && ((sig2.charAt(0) == 'Q') || (sig2.charAt(0) == 'L'))) {
- // Get the readable name of the qualified signature
- // and the simple name of the other.
- String qualifiedName = null;
- String simpleName = null;
- if (sig1.indexOf('.') == -1) {
- qualifiedName = Signature.toString(sig2);
- simpleName = Signature.toString(sig1);
- } else {
- qualifiedName = Signature.toString(sig1);
- simpleName = Signature.toString(sig2);
- }
-
- // If the simple name resolves to the qualified name, we have a match.
- result = qualifiedName.equals(resolveSimpleTypeName(type, simpleName, resolvedNameCache));
- }
- }
- }
-
- return result;
- }
- private static boolean needsToResolveName(IType type, String simpleName, boolean isForReflection) {
- return !(type.isBinary() || (!isForReflection && simpleName.indexOf(PERIOD) > -1) || isPrimitiveOrVoid(simpleName));
- }
- /**
- * Returns the qualified name for the simple name within the scope of the type.
- * Returns null if the name can not be resolved.
- */
- public static String resolveSimpleTypeName(IType type, String simpleName) throws JavaModelException {
- return resolveSimpleTypeName(type, simpleName, null);
- }
- /**
- * Returns the qualified name for the simple name within the scope of the type.
- * Returns null if the name can not be resolved.
- */
- public static String resolveSimpleTypeName(IType type, String simpleName, Map resolvedNameCache) throws JavaModelException {
- return resolveSimpleTypeName(type, simpleName, resolvedNameCache, false);
- }
-
- /**
- * Returns the qualified name for the simple name within the scope of the type.
- * Returns null if the name can not be resolved.
- */
- public static String resolveSimpleTypeName(IType type, String simpleName, Map resolvedNameCache, boolean isForReflection) throws JavaModelException {
- if (!needsToResolveName(type, simpleName, isForReflection))
- return simpleName;
- String key = null, qualifiedName = null;
- if (resolvedNameCache != null) {
- key = type.getFullyQualifiedName() + RESOLVED_NAME + simpleName;
- qualifiedName = (String) resolvedNameCache.get(key);
- }
- if (qualifiedName == null) {
- String[][] result = getTypeNameInfo(type, simpleName, isForReflection);
- if (result != null) {
- String packName = result[0][0];
- if (packName.length() == 0) {
- qualifiedName = result[0][1];
- if (isForReflection)
- qualifiedName = qualifiedName.replace('.', '$');
- } else {
- StringBuffer b = new StringBuffer();
- b.append(result[0][0]).append(PERIOD);
- String typeName = result[0][1];
- if (isForReflection)
- typeName = typeName.replace('.', '$');
- b.append(typeName);
- qualifiedName = b.toString();
- }
- } else {
- qualifiedName = simpleName;
- }
- if (resolvedNameCache != null)
- resolvedNameCache.put(key, qualifiedName);
- }
- return qualifiedName;
- }
- /**
- * Searches for a matching method and sets it in the
- * descriptor if found.
- */
- public static IMethod searchForMatchingMethod(IType type, String methodName, String[] parmSigs) throws JavaModelException {
- return searchForMatchingMethod(type, methodName, parmSigs, null);
- }
- /**
- * Searches for a matching method and sets it in the
- * descriptor if found.
- */
- public static IMethod searchForMatchingMethod(IType type, String methodName, String[] parmSigs, Map resolvedNameCache) throws JavaModelException {
-
- // First get all the methods by this name and with this many parms.
- IMethod[] allMethods = type.getMethods();
- List candidateMethods = new ArrayList();
- for (int i = 0; i < allMethods.length; i++) {
- int parmSigsLength = (parmSigs != null ? parmSigs.length : 0);
- if ((allMethods[i].getElementName().equals(methodName)) && (allMethods[i].getNumberOfParameters() == parmSigsLength))
- candidateMethods.add(allMethods[i]);
- }
-
- // For each candidate consider each parm for a match.
- // Take the first one that matches on all parms.
- IMethod next = null;
- String[] nextParmSigs = null;
- boolean found = false;
- Iterator candidateIter = candidateMethods.iterator();
- while (!found && (candidateIter.hasNext())) {
- next = (IMethod) candidateIter.next();
- nextParmSigs = next.getParameterTypes();
- found = true;
- for (int i = 0;(found && (i < nextParmSigs.length)); i++)
- found &= matchTypeSignatures(type, parmSigs[i], nextParmSigs[i], resolvedNameCache);
- }
- return found ? next : null;
- }
-
- /**
- * The returned Object[] will contain two entries. The
- * first will be the IJavaElement that was found and the
- * second will be the qualifiedName used to find it.
- */
- protected static Object[] findActualJavaElement(String qualifiedName, IJavaProject javaProject, JDOMAdaptor adaptor) {
- Object[] result = new Object[2];
- if (adaptor == null)
- result[1] = qualifiedName;
- else
- //Ensure the name is qualified
- result[1] = getResolvedTypeName(qualifiedName, adaptor.getType(), adaptor.getTypeResolutionCache());
-
- result[0] = findJavaElement((String) result[1], javaProject, adaptor);
- if (result[0] == null)
- findInnerJavaElement(result, javaProject, adaptor);
- return result;
- }
-
- /**
- * The returned Object[] will contain two entries. The
- * first will be the IJavaElement that was found and the
- * second will be the qualifiedName used to find it.
- */
- protected static void findInnerJavaElement(Object[] info, IJavaProject javaProject, JDOMAdaptor adaptor) {
- String qualifiedName, innerName;
- qualifiedName = (String) info[1];
- int index = qualifiedName.lastIndexOf("."); //$NON-NLS-1$
- if (index > 0) {
- innerName = qualifiedName.substring(0, index);
- innerName += "$"; //$NON-NLS-1$
- innerName += qualifiedName.substring(index + 1, qualifiedName.length());
- if (adaptor != null) {
- //Ensure the name is qualified which it may not be if an inner class
- innerName = getResolvedTypeName(innerName, adaptor.getType(), adaptor.getTypeResolutionCache());
- }
- info[1] = innerName;
- info[0] = findJavaElement(innerName, javaProject, adaptor);
- if (info[0] == null)
- findInnerJavaElement(info, javaProject, adaptor);
- }
- }
-
- protected static IJavaElement findJavaElement(String qualifiedName, IJavaProject javaProject, JDOMAdaptor adaptor) {
- try {
- if (javaProject != null) {
- return javaProject.findElement(getPathFromQualifiedName(qualifiedName));
- }
- } catch (JavaModelException jme) {
- System.out.println(ResourceHandler.getString("Error_Looking_Up_Type_ERROR_", (new Object[] { qualifiedName, jme.getMessage()}))); //$NON-NLS-1$ = "Error looking up type: "
- }
- return null;
- }
-
- protected static IPath getPathFromQualifiedName(String qualifiedName) {
- return new Path(qualifiedName.replace('.', File.separatorChar) + ".java"); //$NON-NLS-1$
- }
- /*
- * Resolve a type name in the context of a Type.
- * (Borrowed from org.eclipse.jdt.ui.codemanipulation.StubUtility.getResolvedTypeName())
- * The input is a simple or qualified name, NOT a signature
- * The output will be a qualified name, NOT a signature
- */
- public static String getResolvedTypeName(String typeName, IType declaringType, Map typeCache) {
- String name = typeName;
- try {
- name = JDOMSearchHelper.resolveSimpleTypeName(declaringType, typeName, typeCache, true);
- } catch (JavaModelException e) {
- // ignore
- }
- return name;
- }
-
- public static IType findType(String qualifiedName, boolean useAdvancedForInners, IJavaProject javaProject, JDOMAdaptor adaptor) {
- try {
- IJavaElement found = null;
- String resolvedName = qualifiedName;
- if (useAdvancedForInners) {
- Object[] result = findActualJavaElement(qualifiedName, javaProject, adaptor);
- found = (IJavaElement) result[0];
- resolvedName = (String) result[1];
- } else
- found = findJavaElement(qualifiedName, javaProject, adaptor);
- if (found != null)
- if (found instanceof IClassFile)
- return ((IClassFile) found).getType();
- else if (found instanceof ICompilationUnit) {
- ICompilationUnit foundCU = (ICompilationUnit) found;
- // strip the ".java", lifted from CompilationUnit.getMainTypeName()
- String cuMainTypeName = foundCU.getElementName();
- cuMainTypeName = cuMainTypeName.substring(0, cuMainTypeName.length() - 5);
- return foundCU.getType(cuMainTypeName);
- } else if (found instanceof IType) {
- int index = resolvedName.lastIndexOf('$'); //$NON-NLS-1$
- if (index > -1)
- return ((IType) found).getType(resolvedName.substring(index + 1, resolvedName.length()));
- else
- return (IType) found;
- }
- } catch (JavaModelException jme) {
- System.out.println(ResourceHandler.getString("Error_Looking_Up_Type_ERROR_", (new Object[] { qualifiedName, jme.getMessage()}))); //$NON-NLS-1$ = "Error looking up type: "
- }
- return null;
- }
-
- public static IType findType(String packageName, String qualifiedTypeName, IJavaProject javaProject) {
- try {
- if (javaProject != null) {
- return javaProject.findType(packageName, qualifiedTypeName.replace('$', '.'));
- }
- } catch (JavaModelException jme) {
- System.out.println(ResourceHandler.getString("Error_Looking_Up_Type_ERROR_", (new Object[] { packageName + "." + qualifiedTypeName, jme.getMessage()}))); //$NON-NLS-1$ //$NON-NLS-2$ = "Error looking up type: "
- }
- return null;
- }
-
-}
diff --git a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaClassJDOMAdaptor.java b/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaClassJDOMAdaptor.java
deleted file mode 100644
index de1ce1ef2..000000000
--- a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaClassJDOMAdaptor.java
+++ /dev/null
@@ -1,669 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.adapters.jdom;
-/*
- * $RCSfile: JavaClassJDOMAdaptor.java,v $
- * $Revision: 1.18 $ $Date: 2005/06/09 13:37:56 $
- */
-
-import java.util.*;
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.xmi.XMIResource;
-import org.eclipse.jdt.core.*;
-
-
-import org.eclipse.jem.internal.java.adapters.*;
-import org.eclipse.jem.internal.java.adapters.nls.ResourceHandler;
-import org.eclipse.jem.internal.plugin.JavaPlugin;
-import org.eclipse.jem.java.*;
-import org.eclipse.jem.java.impl.JavaClassImpl;
-import org.eclipse.jem.util.TimerTests;
-import org.eclipse.jem.util.UIContextDetermination;
-import org.eclipse.jem.util.logger.proxy.Logger;
-
-
-public class JavaClassJDOMAdaptor extends JDOMAdaptor implements IJavaClassAdaptor {
- private static final String OBJECT_TYPE_NAME = "java.lang.Object"; //$NON-NLS-1$
-
- /*
- * Step ids used for TimerTests of performance testing.
- */
- public static final String REFLECT_CLASS = "Reflect JDOM Class"; //$NON-NLS-1$
- public static final String REFLECT_METHODS = "Reflect all JDOM methods for a class"; //$NON-NLS-1$
- public static final String REFLECT_FIELDS = "Reflect all JDOM fields for a class"; //$NON-NLS-1$
-
-
- protected IType sourceType = null;
- protected JavaReflectionAdapterFactory adapterFactory;
- private Map typeResolutionCache = new HashMap(25);
- private boolean hasReflectedFields, isReflectingFields;
- private boolean hasReflectedMethods, isReflectingMethods;
-
- public JavaClassJDOMAdaptor(Notifier target, IJavaProject workingProject, JavaReflectionAdapterFactory inFactory) {
- super(target, workingProject);
- setAdapterFactory(inFactory);
- }
-
- private Map existingFields = new HashMap();
- /*
- * addFields - reflect our fields
- */
- protected boolean addFields() {
-
- // The algorithm we will use is:
- // 1) Pass through the IField's of this class
- // a) If it is in existingFields, then add to newExisting the entry from
- // oldExisting (deleting from oldExisting at the same time), and flush the field. This is so next we re-get any changed parts of it.
- // b) else not existing, then create new field and add to the new fields list.
- // 2) Remove from the fields list any still left in oldExisting. These are ones that no longer exist.
- // 3) Add all of the news ones to the fields.
- //
- IField[] fields = null;
- try {
- fields = getSourceType().getFields();
- } catch (JavaModelException e) {
- Logger.getLogger().log(e, Level.WARNING);
- return false;
- }
- XMIResource resource = (XMIResource) getJavaClassTarget().eResource();
- Field field = null;
- JavaFieldJDOMAdaptor adapter = null;
- Map newExisting = new HashMap(fields.length);
- List newFields = new ArrayList();
- for (int i = 0; i < fields.length; i++) {
- IField ifield = fields[i];
- field = (Field) existingFields.remove(ifield); // Get the existing field (which is the value) from the collection keyed by IField.
- if (field != null) {
- // It is an existing method. So just put over to newExisting. Then flush it.
- newExisting.put(ifield, field);
- // Since this is a new method, it is not attached to a resource, so we need to explicitly create the adapter.
- adapter = (JavaFieldJDOMAdaptor) EcoreUtil.getExistingAdapter(field, ReadAdaptor.TYPE_KEY);
- if (adapter == null)
- adapter = (JavaFieldJDOMAdaptor) getAdapterFactory().adaptNew(field, ReadAdaptor.TYPE_KEY);
- else
- adapter.flushReflectedValuesIfNecessaryNoNotification(true);
- adapter.setSourceField(ifield); // Give it this new IField
- } else {
- // It is a new method. Create the new method, add to newExisting, and add to newMethods list.
- field = createJavaField(ifield, resource);
- newExisting.put(ifield, field);
- newFields.add(field);
- adapter = (JavaFieldJDOMAdaptor) getAdapterFactory().adaptNew(field, ReadAdaptor.TYPE_KEY);
- if (adapter != null)
- adapter.setSourceField(ifield);
- }
- }
-
- BasicEList fieldsList = (BasicEList) getJavaClassTarget().getFieldsGen();
- if (!existingFields.isEmpty()) {
- // Now any still left in old existing are deleted. So we make them proxies and then remove them from fields list.
- URI baseURI = resource.getURI();
- Collection toDelete = existingFields.values();
- for (Iterator itr = toDelete.iterator(); itr.hasNext();) {
- InternalEObject m = (InternalEObject) itr.next();
- String id = resource.getID(m);
- if (id != null)
- m.eSetProxyURI(baseURI.appendFragment(id));
- }
- fieldsList.removeAll(toDelete);
- }
-
- if (!newFields.isEmpty()) {
- // Now add in the news ones
- fieldsList.addAllUnique(newFields);
- }
-
- // Finally set current existing to the new map we created.
- existingFields = newExisting;
- return true;
- }
-
- private Map existingMethods = new HashMap();
- /*
- * addMethods - reflect our methods. Merge in with the previous.
- */
- protected boolean addMethods() {
- // The algorithm we will use is:
- // 1) Pass through the IMethod's of this class
- // a) If it is in existingMethods, then add to newExisting the entry from
- // oldExisting (deleting from oldExisting at the same time), and flush the method. This is so next we re-get any changed parts of it.
- // b) else not existing, then create new method and add to the new methods list.
- // 2) Remove from the methods list any still left in oldExisting. These are ones that no longer exist.
- // 3) Add all of the news ones to the methods.
- //
- IMethod[] methods = null;
- try {
- methods = getSourceType().getMethods();
- } catch (JavaModelException e) {
- Logger.getLogger().log(e, Level.WARNING);
- return false;
- }
- XMIResource resource = (XMIResource) getJavaClassTarget().eResource();
- Method method = null;
- JavaMethodJDOMAdaptor adapter = null;
- Map newExisting = new HashMap(methods.length);
- List newMethods = new ArrayList();
- for (int i = 0; i < methods.length; i++) {
- IMethod im = methods[i];
- method = (Method) existingMethods.remove(im); // Get the existing method (which is the value) from the collection keyed by IMethod.
- if (method != null) {
- // It is an existing method. So just put over to newExisting. Then flush it.
- newExisting.put(im, method);
- adapter = (JavaMethodJDOMAdaptor) retrieveAdaptorFrom(method);
- if (adapter != null) {
- adapter.flushReflectedValuesIfNecessaryNoNotification(true);
- adapter.setSourceMethod(im); // Give it this new IMethod
- }
- } else {
- // It is a new method. Create the new method, add to newExisting, and add to newMethods list.
- method = createJavaMethod(im, resource);
- newExisting.put(im, method);
- newMethods.add(method);
- // Since this is a new method, it is not attached to a resource, so we need to explicitly create the adapter.
- adapter = (JavaMethodJDOMAdaptor) getAdapterFactory().adaptNew(method, ReadAdaptor.TYPE_KEY);
- if (adapter != null)
- adapter.setSourceMethod(methods[i]);
- }
- }
-
- BasicEList methodsList = (BasicEList) getJavaClassTarget().getMethodsGen();
- if (!existingMethods.isEmpty()) {
- // Now any still left in old existing are deleted. So we make them proxies and then remove them from methods list.
- URI baseURI = resource.getURI();
- Collection toDelete = existingMethods.values();
- for (Iterator itr = toDelete.iterator(); itr.hasNext();) {
- InternalEObject m = (InternalEObject) itr.next();
- String id = resource.getID(m);
- if (id != null)
- m.eSetProxyURI(baseURI.appendFragment(id));
- }
- methodsList.removeAll(toDelete);
- }
-
- if (!newMethods.isEmpty()) {
- // Now add in the news ones
- methodsList.addAllUnique(newMethods);
- }
-
- // Finally set current existing to the new map we created.
- existingMethods = newExisting;
- return true;
- }
- /**
- * Clear source Type ;
- */
- protected void clearSource() {
- sourceType = null;
- }
-
- /**
- * Clear the reflected fields list.
- */
- protected boolean flushFields() {
- // First turn them all into proxies so that any holders will re-resolve to maybe the new one if class comes back.
- existingFields.clear();
- XMIResource res = (XMIResource) getJavaClassTarget().eResource();
- URI baseURI = res.getURI();
- List fields = getJavaClassTarget().getFieldsGen();
- int msize = fields.size();
- for (int i = 0; i < msize; i++) {
- InternalEObject f = (InternalEObject) fields.get(i);
- String id = res.getID(f);
- if (id != null)
- f.eSetProxyURI(baseURI.appendFragment(id));
- }
- fields.clear(); // Now we can clear it.
- return true;
- }
- /**
- * Clear the implements list.
- */
- protected boolean flushImplements() {
- getJavaClassTarget().getImplementsInterfacesGen().clear();
- return true;
- }
- /**
- * Clear the reflected methods list.
- */
- protected boolean flushMethods() {
- // First turn them all into proxies so that any holders will re-resolve to maybe the new one if class comes back.
- existingMethods.clear();
- XMIResource res = (XMIResource) getJavaClassTarget().eResource();
- URI baseURI = res.getURI();
- List methods = getJavaClassTarget().getMethodsGen();
- int msize = methods.size();
- for (int i = 0; i < msize; i++) {
- InternalEObject m = (InternalEObject) methods.get(i);
- String id = res.getID(m);
- if (id != null)
- m.eSetProxyURI(baseURI.appendFragment(id));
- }
- methods.clear(); // Now we can clear it.
- return true;
- }
- protected boolean flushModifiers() {
- JavaClass javaClassTarget = (JavaClass) getTarget();
- javaClassTarget.setAbstract(false);
- javaClassTarget.setFinal(false);
- javaClassTarget.setPublic(false);
- javaClassTarget.setKind(TypeKind.UNDEFINED_LITERAL);
- return true;
- }
- protected boolean flushInnerClasses() {
- getJavaClassTarget().getDeclaredClassesGen().clear();
- return true;
- }
- /**
- * Clear the reflected values.
- */
- protected boolean flushReflectedValues(boolean clearCachedModelObject) {
- if (clearCachedModelObject)
- setSourceType(null);
- typeResolutionCache.clear();
- flushModifiers();
- flushSuper();
- flushImplements();
- if (clearCachedModelObject) {
- // Don't flush these yet. We will try to reuse them on the next reflush. If clear model too, then flush them. This usually means class has been deleted, so why keep them around.
- flushMethods();
- flushFields();
- }
- // Even if we didn't flush the fields/methods, we do need to mark as not reflected so on next usage we will merge in the changes.
- hasReflectedMethods = false;
- hasReflectedFields = false;
-
- flushInnerClasses();
- return true;
- }
-
- /**
- * @see com.ibm.etools.java.adapters.JavaReflectionAdaptor#postFlushReflectedValuesIfNecessary()
- */
- protected void postFlushReflectedValuesIfNecessary(boolean isExisting) {
- getJavaClassTarget().setReflected(false);
- super.postFlushReflectedValuesIfNecessary(isExisting);
- }
-
- /**
- * Set the supertype to be null.
- */
- protected boolean flushSuper() {
- List targetSupers = getJavaClassTarget().primGetESuperTypes();
- targetSupers.clear();
- return true;
- }
- protected JavaReflectionAdapterFactory getAdapterFactory() {
- return adapterFactory;
- }
- /**
- * getBinaryType - return the IType which describes our existing Java class file
- */
- protected IType getBinaryType() {
- return this.getBinaryType(((JavaClass) getTarget()).getQualifiedName());
- }
- /**
- * Return the target typed to a JavaClass.
- */
- protected JavaClassImpl getJavaClassTarget() {
- return (JavaClassImpl) getTarget();
- }
- public Object getReflectionSource() {
- return getSourceType();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.java.adapters.JavaReflectionAdaptor#hasReflectionSource()
- */
- public boolean hasCachedReflectionSource() {
- return sourceType != null;
- }
- /**
- * getSourceType - return the IType which describes our existing Java class or source file
- */
- public IType getSourceType() {
- if (sourceType == null) {
- JavaClassImpl javaClass = (JavaClassImpl) getTarget();
- sourceType = JDOMSearchHelper.findType(javaClass.getJavaPackage().getName(), javaClass.primGetName(), getSourceProject());
- }
- return sourceType;
- }
- /**
- * getSourceType - return the IType which describes our existing Java class or source file
- */
- protected IType getType() {
- return getSourceType();
- }
- protected Map getTypeResolutionCache() {
- return typeResolutionCache;
- }
- /**
- * getValueIn method comment.
- */
- public Object getValueIn(EObject object, EObject attribute) {
- // At this point, this adapter does not dynamically compute any values,
- // all values are pushed back into the target on the initial call.
- return super.getValueIn(object, attribute);
- }
- /**
- * Return true if the sourceType is null or if
- * it is a binary type.
- */
- public boolean isSourceTypeFromBinary() {
- if (getSourceType() == null)
- return false; //must be new?
- return getSourceType().isBinary();
- }
-
-
- protected JavaClass reflectJavaClass(String qualifiedName) {
- IType type = JDOMSearchHelper.findType(qualifiedName, true, getSourceProject(), this);
- if (type != null)
- return reflectJavaClass(type);
- else
- return createJavaClassRef(qualifiedName);
- }
- protected JavaClass reflectJavaClass(IType aType) {
- if (aType != null) {
- JavaClass javaClass = (JavaClass) JavaRefFactory.eINSTANCE.reflectType(aType.getFullyQualifiedName(), (EObject) getTarget());
- if (javaClass != null) {
- JavaClassJDOMAdaptor adaptor = (JavaClassJDOMAdaptor) EcoreUtil.getAdapter(javaClass.eAdapters(), ReadAdaptor.TYPE_KEY);
- if (adaptor != null)
- adaptor.setSourceType(aType);
- }
- return javaClass;
- }
- return null;
- }
- /**
- * reflectValues - template method, subclasses override to pump values into target.
- * on entry: name, containing package (and qualified name), and document must be set.
- * Return true always and the JavaReflectionSynchronizer will flush with the type can
- * be found again. In headless mode, return true only if the type is found. This is
- * needed becauce most headless tasks are done under one operation and the JavaReflectionSynchronizer
- * may not have a chance to flush a bad reflection before the real type needs to be found and can be found.
- * JavaClass adaptor:
- * - set modifiers
- * - set name
- * - set reference to super
- * - create methods
- * - create fields
- * - add imports
- */
- public boolean reflectValues() {
- super.reflectValues();
- boolean isHeadless = UIContextDetermination.getCurrentContext() == UIContextDetermination.HEADLESS_CONTEXT;
- if (canReflect()) {
- TimerTests.basicTest.startCumulativeStep(REFLECT_CLASS);
- try {
- ICompilationUnit cu = getSourceType().getCompilationUnit();
- boolean isWC = cu != null ? cu.isWorkingCopy() : false;
- IResource res = isWC ? getSourceType().getResource() : null;
- // We are only interested in physical classes. If still just in working copy and not yet put out to
- // disk, we don't should treat as not exist. Anything else is considered existing because we got past
- // getSourceType.exists. This will return the truth for non-wc. But for wc types it will return true,
- // even though not physically on disk (such as just creating it and hadn't saved it yet). So for wc types
- // we need to test the actual resource.
- // Test is OK if not wc, or if wc, then there is a res. and it is accessible.
- if (!isWC || (res != null && res.isAccessible())) {
- setModifiers();
- setNaming();
- try {
- setSuper();
- } catch (InheritanceCycleException e) {
- JavaPlugin.getDefault().getLogger().log(e);
- }
- setImplements();
- reflectInnerClasses();
- //addImports();
- if (isHeadless) {
- registerWithFactory();
- return true;
- }
- }
- } finally {
- TimerTests.basicTest.stopCumulativeStep(REFLECT_CLASS);
- }
- }
- if (isHeadless)
- return false;
- else {
- registerWithFactory();
- return true;
- }
- }
-
-
- /**
- * @return
- */
- private boolean canReflect() {
- return getSourceProject() != null && getSourceType() != null && getSourceType().exists();
- }
- public synchronized boolean reflectFieldsIfNecessary() {
- if (reflectValuesIfNecessary() && canReflect()) {
- if (!hasReflectedFields && !isReflectingFields) {
- isReflectingFields = true;
- try {
- TimerTests.basicTest.startCumulativeStep(REFLECT_FIELDS);
- addFields();
- hasReflectedFields = true;
- } catch (Throwable e) {
- hasReflectedFields = false;
- Logger logger = Logger.getLogger();
- if (logger.isLoggingLevel(Level.WARNING)) {
- logger.log(ResourceHandler.getString("Failed_reflecting_values_ERROR_"), Level.WARNING); //$NON-NLS-1$ = "Failed reflecting values!!!"
- logger.logWarning(e);
- }
- } finally {
- isReflectingFields = false;
- TimerTests.basicTest.stopCumulativeStep(REFLECT_FIELDS);
- }
- }
- return hasReflectedFields;
- } else
- return false; // Couldn't reflect the base values, so couldn't do fields either
- }
- public synchronized boolean reflectMethodsIfNecessary() {
- if (reflectValuesIfNecessary() && canReflect()) {
- if (!hasReflectedMethods && !isReflectingMethods) {
- isReflectingMethods = true;
- try {
- TimerTests.basicTest.startCumulativeStep(REFLECT_METHODS);
- hasReflectedMethods = addMethods();
- } catch (Throwable e) {
- hasReflectedMethods = false;
- Logger logger = Logger.getLogger();
- if (logger.isLoggingLevel(Level.WARNING)) {
- logger.log(ResourceHandler.getString("Failed_reflecting_values_ERROR_"), Level.WARNING); //$NON-NLS-1$ = "Failed reflecting values!!!"
- logger.logWarning(e);
- }
- } finally {
- isReflectingMethods = false;
- if (!hasReflected)
- flushMethods(); // Something bad happened, so we will do a complete flush to be on safe side.
- TimerTests.basicTest.stopCumulativeStep(REFLECT_METHODS);
- }
- }
- return hasReflectedMethods;
- } else
- return false; // Couldn't reflect the base values, so couldn't do fields either
- }
-
- private void registerWithFactory() {
- getAdapterFactory().registerReflection(getJavaClassTarget().getQualifiedNameForReflection(), this);
- }
-
- /**
- * @see com.ibm.etools.java.adapters.ReflectionAdaptor#notifyChanged(new ENotificationImpl((InternalEObject)Notifier, int,(EStructuralFeature) EObject, Object, Object, int))
- */
- public void notifyChanged(Notification notification) {
- if (notification.getEventType() == Notification.REMOVING_ADAPTER
- && notification.getOldValue() == this
- && notification.getNotifier() == getTarget())
- getAdapterFactory().unregisterReflection(getJavaClassTarget().getQualifiedNameForReflection());
-
- }
-
- protected void setAdapterFactory(JavaReflectionAdapterFactory inFactory) {
- adapterFactory = inFactory;
- }
- /**
- * setImplements - set our implemented/super interfaces here
- * For an interface, these are superclasses.
- * For a class, these are implemented interfaces.
- */
- protected void setImplements() {
- try {
- String[] interfaceNames = getSourceType().getSuperInterfaceNames();
- JavaClass ref;
- // needs work, the names above will be simple names if we are relfecting from a source file
- List list = getJavaClassTarget().getImplementsInterfacesGen();
- for (int i = 0; i < interfaceNames.length; i++) {
- ref = reflectJavaClass(interfaceNames[i]);
- list.add(ref);
- }
- } catch (JavaModelException npe) {
- // name stays null and we carry on
- }
- }
- /**
- * setModifiers - set the attribute values related to modifiers here
- */
- protected void setModifiers() {
- JavaClass javaClassTarget = (JavaClass) getTarget();
- try {
- javaClassTarget.setAbstract(Flags.isAbstract(getSourceType().getFlags()));
- javaClassTarget.setFinal(Flags.isFinal(getSourceType().getFlags()));
- javaClassTarget.setPublic(Flags.isPublic(getSourceType().getFlags()));
- // Set type to class or interface, not yet handling EXCEPTION
- if (getSourceType().isClass())
- javaClassTarget.setKind(TypeKind.CLASS_LITERAL);
- else
- javaClassTarget.setKind(TypeKind.INTERFACE_LITERAL);
- } catch (JavaModelException npe) {
- Logger logger = JavaPlugin.getDefault().getLogger();
- if (logger.isLoggingLevel(Level.WARNING))
- logger.log(ResourceHandler.getString("Error_Introspecting_Flags_ERROR_", new Object[] { javaClassTarget.getQualifiedName(), npe.getMessage()}), Level.WARNING); //$NON-NLS-1$ = "error introspecting flags on {0}"
- }
- }
- /**
- * setNaming - set the naming values here
- * - qualified name (package name + name) must be set first, that is the path to the real Java class
- * - ID - simple name, identity within a package document
- * - null UUID
- */
- protected void setNaming() {
- /* Naming has been provided by the JavaReflectionKey
- JavaClass javaClassTarget = (JavaClass) getTarget();
- String packageName = getSourceType().getPackageFragment().getElementName();
- javaClassTarget.refSetUUID((String)null);
- ((XMIResource)javaClassTarget.eResource()).setID(javaClassTarget,getSourceType().getElementName());
- */
- }
- protected void setSourceType(IType aType) {
- sourceType = aType;
- }
- /**
- * setSuper - set our supertype here, implemented interface are handled separately
- */
- protected void setSuper() throws InheritanceCycleException {
- String superName = null;
- IType superType = null;
- try {
- if (!getSourceType().isInterface()) {
- superName = getSourceType().getSuperclassName();
- if ((superName != null) && isTargetInner()) {
- IType parentType = getSourceType().getDeclaringType();
- //Get all parent InnerTypes
- IType[] inners = parentType.getTypes();
- for (int i = 0; i < inners.length; i++) {
- IType type = inners[i];
- if (superName.equals(type.getElementName())) {
- superName = parentType.getElementName() + '.' + superName;
- reflectInnerClasses(parentType);
- superType = type;
- break;
- }
- }
- }
-
- //Source files return null if extends does not exist.
- if (superName == null && !getSourceType().getFullyQualifiedName().equals(OBJECT_TYPE_NAME))
- superName = OBJECT_TYPE_NAME;
- if (superName != null) {
- JavaClass javaClassTarget = (JavaClass) getTarget();
- if (superType != null)
- javaClassTarget.setSupertype(reflectJavaClass(superType));
- else
- javaClassTarget.setSupertype(reflectJavaClass(superName));
- }
- }
- } catch (JavaModelException npe) {
- }
- }
- private boolean isTargetInner() {
- JavaClassImpl javaClass = (JavaClassImpl) getTarget();
- return (javaClass.getName().indexOf('$') != -1);
- }
- /**
- * Return true if the sourceType can be found.
- */
- public boolean sourceTypeExists() {
- return getSourceType() != null;
- }
- protected void reflectInnerClasses() {
- IType[] innerClasses = null;
- try {
- innerClasses = getSourceType().getTypes();
- } catch (JavaModelException e) {
- }
- if (innerClasses != null && innerClasses.length != 0) {
- List declaredClasses = getJavaClassTarget().getDeclaredClassesGen();
- JavaClass inner;
- ResourceSet set = getTargetResource().getResourceSet();
- String packageName = getSourceType().getPackageFragment().getElementName();
- for (int i = 0; i < innerClasses.length; i++) {
- inner = (JavaClass) JavaRefFactory.eINSTANCE.reflectType(packageName, innerClasses[i].getTypeQualifiedName(), set);
- declaredClasses.add(inner);
- }
- }
- }
- protected void reflectInnerClasses(IType aType) {
- IType[] innerClasses = null;
- try {
- innerClasses = aType.getTypes();
- } catch (JavaModelException e) {
- }
- if (innerClasses != null && innerClasses.length != 0) {
- ResourceSet set = getTargetResource().getResourceSet();
- String packageName = aType.getPackageFragment().getElementName();
- JavaClassImpl parentType = (JavaClassImpl) JavaRefFactory.eINSTANCE.reflectType(packageName, aType.getTypeQualifiedName(), set);
- List declaredClasses = parentType.getDeclaredClassesGen();
- JavaClass inner;
-
-
- for (int i = 0; i < innerClasses.length; i++) {
- inner = (JavaClass) JavaRefFactory.eINSTANCE.reflectType(packageName, innerClasses[i].getTypeQualifiedName(), set);
- declaredClasses.add(inner);
- }
- }
- }
-}
diff --git a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaFieldJDOMAdaptor.java b/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaFieldJDOMAdaptor.java
deleted file mode 100644
index ee2c7022f..000000000
--- a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaFieldJDOMAdaptor.java
+++ /dev/null
@@ -1,291 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.adapters.jdom;
-/*
- * $RCSfile: JavaFieldJDOMAdaptor.java,v $
- * $Revision: 1.10 $ $Date: 2005/06/09 13:38:13 $
- */
-import java.util.Map;
-
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.xmi.XMIResource;
-import org.eclipse.jdt.core.*;
-
-import org.eclipse.jem.internal.java.adapters.ReadAdaptor;
-import org.eclipse.jem.internal.java.adapters.nls.ResourceHandler;
-import org.eclipse.jem.java.*;
-import org.eclipse.jem.java.impl.FieldImpl;
-/**
- * Insert the type's description here.
- * Creation date: (6/6/2000 4:42:50 PM)
- * @author: Administrator
- */
-public class JavaFieldJDOMAdaptor extends JDOMAdaptor {
- private static final String BEGIN_COMMENT = "/*"; //$NON-NLS-1$
- private static final String END_COMMENT = "*/"; //$NON-NLS-1$
- protected IField sourceField = null;
- protected IType parentType = null;
- public JavaFieldJDOMAdaptor(Notifier target, IJavaProject workingProject) {
- super(target, workingProject);
- }
- protected void clearSource() {
- sourceField = null;
- }
-
- protected boolean flushReflectedValues(boolean clearCachedModelObject) {
- if (clearCachedModelObject)
- clearSource();
- FieldImpl field = getTargetField();
- field.setInitializer(null);
- field.setFinal(false);
- field.setStatic(false);
- field.setTransient(false);
- field.setVolatile(false);
- field.setJavaVisibility(JavaVisibilityKind.PUBLIC_LITERAL);
- field.setEType(null);
- return true;
- }
-
- protected void postFlushReflectedValuesIfNecessary(boolean isExisting) {
- getTargetField().setReflected(false);
- super.postFlushReflectedValuesIfNecessary(isExisting);
- }
- /**
- * Return a String for the source starting after the field's name to the end of
- * the source range. This will be the source after the name which could include comments.
- */
- protected String getFieldInitializerSource() {
- IOpenable openable = getSourceField().getOpenable();
- try {
- ISourceRange nameRange, sourceRange;
- int start = -1, length = 0;
- IBuffer buffer = openable.getBuffer();
- if (buffer == null) {
- return ""; //$NON-NLS-1$
- }
- nameRange = getSourceField().getNameRange();
- start = nameRange.getOffset() + nameRange.getLength();
- if (start != -1) {
- sourceRange = getSourceField().getSourceRange();
- if (sourceRange.getOffset() != -1)
- length = sourceRange.getOffset() + sourceRange.getLength() - start;
- return buffer.getText(start, length);
- }
- return null;
- } catch (JavaModelException e) {
- return ""; //$NON-NLS-1$
- }
- }
- /**
- * Return the field source string without comments
- */
- protected String getFieldInitializerSourceWithoutComments() {
- String s = getFieldInitializerSource();
- int start = 0;
- int startComment = -1;
- int endComment = -1;
- while (start < s.length()) {
- startComment = s.indexOf(BEGIN_COMMENT, start);
- if (startComment > 0) {
- String newString;
- endComment = s.indexOf(END_COMMENT, start);
- newString = s.substring(start, startComment);
- s = newString + s.substring(endComment + END_COMMENT.length(), s.length());
- start = 0;
- startComment = -1;
- endComment = -1;
- } else {
- start = s.length();
- }
- }
- return s;
- }
- /**
- * getFieldInitializerString - parse the source for our source field
- * and return the initialization string.
- * Return null if no initialization string or constant value is present.
- * i.e. - public String foo = "foo default"; should return "foo default" (including quotes)
- */
- protected String getFieldInitializerString() {
- String result = null;
- try {
- if (!getParentType().isBinary()) {
- String source = getFieldInitializerSourceWithoutComments();
- if (source != null && source.length() != 0) {
- int equalsPos = source.indexOf('=');//$NON-NLS-1$
- int endPos = source.indexOf(',');//$NON-NLS-1$
- if (endPos == -1)
- endPos = source.length() - 1;
- if (equalsPos != -1) {
- // Copy from after "=" to before ";" or ","
- result = source.substring(equalsPos + 1, endPos);
- result = result.trim();
- }
- }
- } else {
- // Binary type, see if we can use the constant
- // it's not clear from the API's, but this is probably only
- // available for statics.
- Object constantValue = getSourceField().getConstant();
- // Need to convert the constant to a String
- if (constantValue != null) {
- result = constantValue.toString();
- if (constantValue instanceof String) {
- result = "\"" + result + "\""; //$NON-NLS-2$//$NON-NLS-1$
- }
- }
- }
- } catch (JavaModelException e) {
- // punt
- }
- return result;
- }
- /**
- * getParentType - return the IType which corresponds to our parent JavaClass
- * we're going to do this a lot, so cache it.
- */
- protected IType getParentType() {
- if (parentType == null) {
- Field targetField = (Field) getTarget();
- JavaClass parentJavaClass = targetField.getJavaClass();
- if (parentJavaClass != null) {
- JavaClassJDOMAdaptor pa = (JavaClassJDOMAdaptor) EcoreUtil.getAdapter(parentJavaClass.eAdapters(), ReadAdaptor.TYPE_KEY);
- if (pa != null)
- parentType = pa.getSourceType();
- }
- }
- return parentType;
- }
- public Object getReflectionSource() {
- return getSourceField();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.java.adapters.JavaReflectionAdaptor#hasReflectionSource()
- */
- public boolean hasCachedReflectionSource() {
- return sourceField != null;
- }
-
- /*
- * Used by Java Class JDOM adapter to create and set with a source field
- */
- public void setSourceField(IField field) {
- sourceField = field;
- }
- /**
- * getSourceField - return the IField which describes our implementing field
- */
- protected IField getSourceField() {
- if (sourceField == null || !sourceField.exists()) {
- IType parent = this.getParentType();
- if (parent != null)
- sourceField = parent.getField(((Field) getTarget()).getName());
- }
- return sourceField;
- }
- public FieldImpl getTargetField() {
- return (FieldImpl) getTarget();
- }
- protected IType getType() {
- return getParentType();
- }
- protected Map getTypeResolutionCache() {
- Field field = getTargetField();
- if (field != null) {
- JavaClass javaClass = field.getJavaClass();
- if (javaClass != null) {
- JDOMAdaptor classAdaptor = (JDOMAdaptor) retrieveAdaptorFrom(javaClass);
- if (classAdaptor != null)
- return classAdaptor.getTypeResolutionCache();
- }
- }
- return null;
- }
- /**
- * getValueIn method comment.
- */
- public Object getValueIn(EObject object, EObject attribute) {
- // At this point, this adapter does not dynamically compute any values,
- // all values are pushed back into the target on the initial call.
- return super.getValueIn(object, attribute);
- }
- /**
- * reflectValues - template method, subclasses override to pump values into target.
- * on entry: name, containing package (and qualified name), and document must be set.
- * JavaClass adaptor:
- * - set modifiers
- * - set name
- * - set type
- */
- public boolean reflectValues() {
- super.reflectValues();
- if (getSourceProject() != null && getSourceField() != null) {
- setModifiers();
- // setNaming();
- setType();
- return true;
- }
- return false;
- }
- /**
- * setModifiers - set the attribute values related to modifiers here
- */
- protected void setModifiers() {
- Field javaFieldTarget = (Field) getTarget();
- try {
- String initializer = getFieldInitializerString();
- if (initializer != null)
- javaFieldTarget.setInitializer(createBlock(javaFieldTarget.getName(), initializer));
- int flags = getSourceField().getFlags();
- javaFieldTarget.setFinal(Flags.isFinal(flags));
- javaFieldTarget.setStatic(Flags.isStatic(flags));
- javaFieldTarget.setTransient(Flags.isTransient(flags));
- javaFieldTarget.setVolatile(Flags.isVolatile(flags));
- // Set visibility
- if (Flags.isPublic(flags))
- javaFieldTarget.setJavaVisibility(JavaVisibilityKind.PUBLIC_LITERAL);
- else if (Flags.isPrivate(flags))
- javaFieldTarget.setJavaVisibility(JavaVisibilityKind.PRIVATE_LITERAL);
- else if (Flags.isProtected(flags))
- javaFieldTarget.setJavaVisibility(JavaVisibilityKind.PROTECTED_LITERAL);
- else
- javaFieldTarget.setJavaVisibility(JavaVisibilityKind.PACKAGE_LITERAL);
- } catch (JavaModelException npe) {
- System.out.println(ResourceHandler.getString("Error_Introspecting_Flags_ERROR_", new Object[] {((XMIResource) javaFieldTarget.eResource()).getID(javaFieldTarget), npe.getMessage()})); //$NON-NLS-1$ = "error introspecting flags on {0}"
- }
- }
- /**
- * setNaming - set the naming values here
- * - qualified name must be set first, that is the path to the real Java class
- * - ID
- * - null UUID
- */
- protected void setNaming() {
- Field javaFieldTarget = (Field) getTarget();
- JavaClass parent = javaFieldTarget.getContainingJavaClass();
- ((XMIResource) javaFieldTarget.eResource()).setID(javaFieldTarget, parent.getName() + "_" + javaFieldTarget.getName()); //$NON-NLS-1$
- }
- /**
- * setType - set our type here
- */
- protected void setType() {
- String typeName = null;
- try {
- typeName = typeNameFromSignature(getSourceField().getTypeSignature());
- } catch (JavaModelException npe) {
- // name stays null and we carry on
- }
- setFieldType(getTargetField(), typeName);
- }
-}
diff --git a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaJDOMAdapterFactory.java b/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaJDOMAdapterFactory.java
deleted file mode 100644
index d1928d32e..000000000
--- a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaJDOMAdapterFactory.java
+++ /dev/null
@@ -1,233 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.adapters.jdom;
-/*
- * $RCSfile: JavaJDOMAdapterFactory.java,v $
- * $Revision: 1.5 $ $Date: 2005/02/15 23:09:27 $
- */
-import java.util.*;
-
-import org.eclipse.emf.common.notify.*;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.jdt.core.*;
-import org.eclipse.jem.internal.java.adapters.*;
-import org.eclipse.jem.internal.java.adapters.JavaReflectionAdapterFactory;
-import org.eclipse.jem.internal.java.adapters.ReflectionAdaptor;
-/**
- * Insert the type's description here.
- * Creation date: (6/13/2000 1:20:31 PM)
- * @author: Administrator
- */
-public class JavaJDOMAdapterFactory extends JavaReflectionAdapterFactory {
-
- protected JavaReflectionSynchronizer synchronizer;
- protected IJavaProject javaProject;
-/**
- * JavaJDOMAdapterFactory constructor comment.
- */
-public JavaJDOMAdapterFactory() {
- super();
-}
-/**
- * JavaJDOMAdapterFactory constructor comment.
- */
-public JavaJDOMAdapterFactory(IJavaProject aJavaProject) {
- this();
- setJavaProject(aJavaProject);
-}
-protected ReflectionAdaptor createJavaClassAdaptor(Notifier target) {
- return new JavaClassJDOMAdaptor(target, getJavaProject(), this);
-}
-protected ReflectionAdaptor createJavaFieldAdaptor(Notifier target) {
- return new JavaFieldJDOMAdaptor(target, getJavaProject());
-}
-protected ReflectionAdaptor createJavaMethodAdaptor(Notifier target) {
- return new JavaMethodJDOMAdaptor(target, getJavaProject());
-}
-/**
- * Flush ALL adapters, worst case
- * We also want to ensure that the source types are also cleared
- * in this worst case scenario.
- */
-public void flushAll() {
- doFlush(reflected.values(),true, true);
-}
-
-public List flushAllNoNotification() {
- return doFlush(reflected.values(),true, false);
-}
-
-public void flushPackage(String packageName, boolean noFlushIfSourceFound) {
- List adaptors = getReflectedForPackage(packageName, noFlushIfSourceFound);
- doFlush(adaptors, true, true);
-}
-public List flushPackageNoNotification(String packageName, boolean noFlushIfSourceFound) {
- List adaptors = getReflectedForPackage(packageName, noFlushIfSourceFound);
- return doFlush(adaptors, true, false);
-}
-/**
- * Return a List of reflection adaptors that belong to
- * the packageName.
- * @param packageName
- * @return
- */
-private List getReflectedForPackage(String packageName, boolean filterFoundTypes) {
- if (packageName != null && !reflected.isEmpty()) {
- isBusyIteratingReflected = true;
- List result = null;
- try {
- Iterator it = reflected.entrySet().iterator();
- Map.Entry entry;
- String key;
- JavaClassJDOMAdaptor adaptor;
- while (it.hasNext()) {
- entry = (Map.Entry) it.next();
- adaptor = (JavaClassJDOMAdaptor) entry.getValue();
- if (filterFoundTypes && adaptor.sourceType != null)
- continue;
- key = (String) entry.getKey();
- if (key.startsWith(packageName) && key.indexOf('.', packageName.length() + 1) < 0) {
- if (result == null)
- result = new ArrayList();
- result.add(entry.getValue());
- }
- }
- } finally {
- finishedIteratingReflected();
- }
- if (result != null)
- return result;
- }
- return Collections.EMPTY_LIST;
-}
-private List doFlush(Collection adaptors, boolean clearSourceType, boolean doNotify) {
- if (!adaptors.isEmpty()) {
- isBusyIteratingReflected = true;
- List notifications = doNotify ? null : new ArrayList(adaptors.size());
- try {
- Notification notification;
- Iterator i = adaptors.iterator();
- JDOMAdaptor adaptor;
- while (i.hasNext()) {
- adaptor = (JDOMAdaptor) i.next();
- if (doNotify)
- adaptor.flushReflectedValuesIfNecessary(clearSourceType);
- else {
- notification = adaptor.flushReflectedValuesIfNecessaryNoNotification(clearSourceType);
- if (notification != null)
- notifications.add(notification);
- }
- }
- } finally {
- finishedIteratingReflected();
- }
- return notifications;
- }
- return Collections.EMPTY_LIST;
-}
-// Flush the adapter for a source object
-public void flushReflection(String source) {
- JDOMAdaptor a = (JDOMAdaptor) reflected.get(source);
- if (a != null)
- a.flushReflectedValuesIfNecessary();
-}
-public Notification flushReflectionNoNotification(String source) {
- JDOMAdaptor a = (JDOMAdaptor) reflected.get(source);
- if (a != null)
- return a.flushReflectedValuesIfNecessaryNoNotification(false);
- return null;
-}
-
-public Notification flushReflectionPlusInnerNoNotification(String source) {
- isBusyIteratingReflected = true;
- Notification notification = null;
- try {
- String innerName = source + '$';
- Iterator it = reflected.entrySet().iterator();
- Map.Entry entry;
- String key;
- JavaReflectionAdaptor adaptor;
- while (it.hasNext()) {
- entry = (Map.Entry) it.next();
- key = (String) entry.getKey();
- if (key.equals(source) || key.startsWith(innerName)) {
- adaptor = (JavaReflectionAdaptor) reflected.get(key);
- if (adaptor != null) {
- if (notification == null)
- notification = adaptor.flushReflectedValuesIfNecessaryNoNotification(false);
- else
- ((NotificationChain) notification).add(adaptor.flushReflectedValuesIfNecessaryNoNotification(false));
- }
- }
- }
- } finally {
- finishedIteratingReflected();
- }
- return notification;
-
-}
-/**
- * Insert the method's description here.
- * Creation date: (11/2/2000 3:02:31 PM)
- * @return org.eclipse.jdt.core.api.IJavaProject
- */
-public IJavaProject getJavaProject() {
- return javaProject;
-}
-/**
- * Create a Java Model listener which will flush invalidated adaptors.
- * This will cause those adapters to re-reflect their target object's contents.
- */
-protected void initializeSynchronizer() {
- synchronizer = new JavaReflectionSynchronizer(this);
-}
-/**
- * Notify all JDOMAdapters which use the same target ICompilationUnit
- * Creation date: (8/17/2001 4:45:43 PM)
- */
-public void notifyContentChanged(ICompilationUnit targetCU) {
-
- if (targetCU == null || reflected.values()==null) return ;
- isBusyIteratingReflected = true;
- try {
- Iterator i = reflected.values().iterator();
- while (i.hasNext()) {
- Object a = (ReflectionAdaptor) i.next() ;
- if (a instanceof JDOMAdaptor) {
- JDOMAdaptor adaptor = (JDOMAdaptor) a;
- IMember reflectionSource = (IMember) adaptor.getReflectionSource();
- ICompilationUnit adapterCU = null ;
- if (reflectionSource != null) {
- try {
- adapterCU = reflectionSource.getCompilationUnit();
- } catch (Throwable e) {}
- }
- if (adapterCU != null && targetCU.equals(adapterCU)) {
- adaptor.contentChanged();
- }
- }
- }
- } finally {
- finishedIteratingReflected();
- }
-}
-/**
- * Insert the method's description here.
- * Creation date: (11/2/2000 3:02:31 PM)
- * @param newJavaProject org.eclipse.jdt.core.IJavaProject
- */
-public void setJavaProject(IJavaProject newJavaProject) {
- javaProject = newJavaProject;
- if (newJavaProject != null && synchronizer == null)
- initializeSynchronizer();
-}
-}
diff --git a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaMethodJDOMAdaptor.java b/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaMethodJDOMAdaptor.java
deleted file mode 100644
index 1b25b32e9..000000000
--- a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaMethodJDOMAdaptor.java
+++ /dev/null
@@ -1,364 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: JavaMethodJDOMAdaptor.java,v $
- * $Revision: 1.11 $ $Date: 2005/05/18 22:05:58 $
- */
-package org.eclipse.jem.internal.adapters.jdom;
-
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.xmi.XMIResource;
-import org.eclipse.jdt.core.*;
-
-import org.eclipse.jem.internal.java.adapters.IJavaMethodAdapter;
-import org.eclipse.jem.internal.java.adapters.ReadAdaptor;
-import org.eclipse.jem.internal.java.adapters.nls.ResourceHandler;
-import org.eclipse.jem.java.*;
-import org.eclipse.jem.java.impl.MethodImpl;
-import org.eclipse.jem.util.TimerTests;
-
-/**
- * Java Method Reflection Adapter for JDOM (i.e. JDT model)
- * Creation date: (6/6/2000 4:42:50 PM)
- * @author: Administrator
- */
-public class JavaMethodJDOMAdaptor extends JDOMAdaptor implements IJavaMethodAdapter {
-
- /*
- * Step ids used for TimerTests of performance testing.
- */
- public static final String REFLECT_METHOD = "Reflect JDOM Method"; //$NON-NLS-1$
-
- protected IMethod sourceMethod = null;
-
- protected IType parentType = null;
-
- public JavaMethodJDOMAdaptor(Notifier target, IJavaProject workingProject) {
- super(target, workingProject);
- }
-
-
- protected boolean flushReflectedValues(boolean clearCachedModelObject) {
- if (clearCachedModelObject)
- clearSource();
- MethodImpl method = (MethodImpl) getTarget();
- method.setIsGenerated(false);
- method.setFinal(false);
- method.setNative(false);
- method.setStatic(false);
- method.setSynchronized(false);
- method.setConstructor(false);
- method.setAbstract(false);
- method.setJavaVisibility(JavaVisibilityKind.PUBLIC_LITERAL);
- method.setEType(null);
- method.getParametersGen().clear();
- method.getJavaExceptionsGen().clear();
- parentType = null;
- return true;
- }
-
- protected void postFlushReflectedValuesIfNecessary(boolean isExisting) {
- ((MethodImpl) getTarget()).setReflected(false);
- super.postFlushReflectedValuesIfNecessary(isExisting);
- }
- /**
- * addExceptions - reflect our exception list
- */
- protected void addExceptions() {
- try {
- IMethod sourceMethod = getSourceMethod();
- String[] exceptionNames = sourceMethod.getExceptionTypes();
- List exceptions = ((MethodImpl) getTarget()).getJavaExceptionsGen();
- for (int i = 0; i < exceptionNames.length; i++) {
- exceptions.add(createJavaClassRef(typeNameFromSignature(exceptionNames[i])));
- }
- } catch (JavaModelException npe) {
- // name stays null and we carry on
- }
- }
-
-
- protected String[] getParameterNames() {
- String[] parmNames = new String[0], parmTypeNames = getSourceMethod().getParameterTypes();
- try {
- parmNames = getSourceMethod().getParameterNames();
- } catch (JavaModelException npe) {
- // name stays null and we carry on
- }
- // Temp hack to work around a JavaModel bug, above call on a Binary method may return null
- if (parmNames == null || parmNames.length == 0) {
- parmNames = new String[parmTypeNames.length];
- for (int i = 0; i < parmTypeNames.length; i++) {
- parmNames[i] = "arg" + i;//$NON-NLS-1$
- }
- }
- return parmNames;
- }
-
- /**
- * addParameters - reflect our parms
- */
- protected void addParameters() {
- String[] parmTypeNames = getSourceMethod().getParameterTypes();
- MethodImpl javaMethodTarget = (MethodImpl) getTarget();
- List params = javaMethodTarget.getParametersGen();
- for (int i = 0; i < parmTypeNames.length; i++) {
- params.add(createJavaParameter(javaMethodTarget, null, typeNameFromSignature(parmTypeNames[i])));
- }
- }
-
- protected void clearSource() {
- sourceMethod = null;
- }
-
- protected JavaClass getContainingJavaClass() {
- return ((Method) getTarget()).getContainingJavaClass();
- }
-
- /**
- * getParentType - return the IType which corresponds to our parent JavaClass we're going to do this a lot, so cache it.
- */
- protected IType getParentType() {
- if (parentType == null) {
- Method targetMethod = (Method) getTarget();
- JavaClass parentJavaClass = targetMethod.getContainingJavaClass();
- JavaClassJDOMAdaptor pa = (JavaClassJDOMAdaptor) EcoreUtil.getAdapter(parentJavaClass.eAdapters(), ReadAdaptor.TYPE_KEY);
- if (pa != null)
- parentType = pa.getSourceType();
- }
- return parentType;
- }
-
- /**
- * getParmTypeSignatures - return an array of Strings (in Signature format) for our parameter types For reflection purposes, we can only rely on
- * our UUID, since our parms may not yet be known. see org.eclipse.jdt.core.SourceMapper.convertTypeNamesToSigs()
- */
- protected String[] getParmTypeSignatures() {
- Method javaMethodTarget = (Method) getTarget();
- String[] typeNames = getTypeNamesFromMethodID(((XMIResource) javaMethodTarget.eResource()).getID(javaMethodTarget));
- if (typeNames == null)
- return emptyStringArray;
- int n = typeNames.length;
- if (n == 0)
- return emptyStringArray;
- String[] typeSigs = new String[n];
- try {
- for (int i = 0; i < n; ++i) {
- typeSigs[i] = Signature.createTypeSignature(new String(typeNames[i]), getParentType().isBinary());
- }
- } catch (IllegalArgumentException e) {
- e.printStackTrace();
- }
- return typeSigs;
- }
-
- public Object getReflectionSource() {
- return getSourceMethod();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.java.adapters.JavaReflectionAdaptor#hasReflectionSource()
- */
- public boolean hasCachedReflectionSource() {
- return sourceMethod != null;
- }
-
- /*
- * Used by Java Class JDOM adapter to create and set with a source method/
- */
- public void primSetMethod(IMethod method) {
- sourceMethod = method;
- }
- /**
- * getsourceMethod - return the IMethod which describes our implementing method
- */
- public IMethod getSourceMethod() {
- if ((sourceMethod == null) || (!sourceMethod.exists())) {
- try {
- IType parent = this.getParentType();
- if (parent != null) {
- String[] parmNames = this.getParmTypeSignatures();
- sourceMethod = JDOMSearchHelper.searchForMatchingMethod(parent, ((Method) getTarget()).getName(), parmNames);
- }
- } catch (JavaModelException e) {
- //do nothing
- }
- }
- return sourceMethod;
- }
-
- protected IType getType() {
- return getParentType();
- }
-
- protected Map getTypeResolutionCache() {
- Method method = (Method) getTarget();
- if (method != null) {
- JavaClass javaClass = method.getJavaClass();
- if (javaClass != null) {
- JDOMAdaptor classAdaptor = (JDOMAdaptor) retrieveAdaptorFrom(javaClass);
- if (classAdaptor != null)
- return classAdaptor.getTypeResolutionCache();
- }
- }
- return null;
- }
-
- /**
- * getValueIn method comment.
- */
- public Object getValueIn(EObject object, EObject attribute) {
- // At this point, this adapter does not dynamically compute any values,
- // all values are pushed back into the target on the initial call.
- return super.getValueIn(object, attribute);
- }
-
- /**
- * reflectValues - template method, subclasses override to pump values into target. on entry: UUID, name, containing package (and qualified name),
- * and document must be set. Method adaptor: - set modifiers - set name - set return type - add parameters - add exceptions
- */
- public boolean reflectValues() {
- super.reflectValues();
- try {
- TimerTests.basicTest.startCumulativeStep(REFLECT_METHOD);
- if (getSourceProject() != null && getSourceMethod() != null && sourceMethod.exists()) {
- setModifiers();
- setNaming();
- setReturnType();
- addParameters();
- addExceptions();
- return true;
- }
- } finally {
- TimerTests.basicTest.stopCumulativeStep(REFLECT_METHOD);
- }
- return false;
- }
-
- /**
- * Set the generated flag if @generated is found in the source.
- */
- protected void setGeneratedFlag() {
- Method methodTarget = (Method) getTarget();
- try {
- String source = getSourceMethod().getSource();
- if (source != null) {
- int index = source.indexOf(Method.GENERATED_COMMENT_TAG);
- if (index > 0)
- methodTarget.setIsGenerated(true);
- }
- } catch (JavaModelException npe) {
- //System.out.println(ResourceHandler.getString("Error_Setting_GenFlag_ERROR_", new Object[]
- // {((XMIResource)methodTarget.eResource()).getID(methodTarget), npe.getMessage()})); //$NON-NLS-1$ = "error setting the generated flag on
- // {0}, exception: {1}"
- }
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.java.adapters.IJavaMethodAdapter#reflectGeneratedIfNecessary()
- */
- public boolean reflectGeneratedIfNecessary() {
- if (reflectValuesIfNecessary()) {
- setGeneratedFlag();
- return true;
- }
- return false;
- }
-
- public boolean reflectParamNamesIfNecessary() {
- if (reflectValuesIfNecessary()) {
- String [] paramNames = getParameterNames();
- List param = ((MethodImpl)getTarget()).getParameters();
- for (int i = 0; i < paramNames.length; i++) {
- ((JavaParameter)param.get(i)).setName(paramNames[i]);
- }
- return true;
- }
- return false;
- }
- /**
- * setModifiers - set the attribute values related to modifiers here
- */
- protected void setModifiers() {
- Method methodTarget = (Method) getTarget();
- try {
- methodTarget.setFinal(Flags.isFinal(getSourceMethod().getFlags()));
- methodTarget.setNative(Flags.isNative(getSourceMethod().getFlags()));
- methodTarget.setStatic(Flags.isStatic(getSourceMethod().getFlags()));
- methodTarget.setSynchronized(Flags.isSynchronized(getSourceMethod().getFlags()));
- methodTarget.setConstructor(getSourceMethod().isConstructor());
-
- JavaClass javaClass = getContainingJavaClass();
- //Set abstract
- if (javaClass.getKind().getValue() == TypeKind.INTERFACE)
- methodTarget.setAbstract(true);
- else
- methodTarget.setAbstract(Flags.isAbstract(getSourceMethod().getFlags()));
- // Set visibility
- if (javaClass.getKind().getValue() == TypeKind.INTERFACE || Flags.isPublic(getSourceMethod().getFlags()))
- methodTarget.setJavaVisibility(JavaVisibilityKind.PUBLIC_LITERAL);
- else if (Flags.isPrivate(getSourceMethod().getFlags()))
- methodTarget.setJavaVisibility(JavaVisibilityKind.PRIVATE_LITERAL);
- else if (Flags.isProtected(getSourceMethod().getFlags()))
- methodTarget.setJavaVisibility(JavaVisibilityKind.PROTECTED_LITERAL);
- else
- //Visibility must be package
- methodTarget.setJavaVisibility(JavaVisibilityKind.PACKAGE_LITERAL);
- } catch (JavaModelException npe) {
- System.out
- .println(ResourceHandler
- .getString(
- "Error_Introspecting_Flags_ERROR_", (new Object[] { ((XMIResource) methodTarget.eResource()).getID(methodTarget), npe.getMessage()}))); //$NON-NLS-1$ = "error introspecting flags on {0}, exception: {1}"
- }
- }
-
- /**
- * setNaming - set the naming values here - qualified name must be set first, that is the path to the real Java class - ID - name-based UUID
- */
- protected void setNaming() {
- //
- // naming is currently a no-op since the name and UUID must be set prior to reflection
- // ...and ID is redundant with UUID.
- // javaFieldTarget.setID(parent.getQualifiedName() + "_" + javaFieldTarget.getName());
- }
-
- /**
- * setType - set our return type here
- */
- protected void setReturnType() {
- String typeName = null;
- try {
- typeName = typeNameFromSignature(getSourceMethod().getReturnType());
- } catch (JavaModelException npe) {
- // name stays null and we carry on
- }
- if (typeName != null) {
- Method javaMethodTarget = (Method) getTarget();
- javaMethodTarget.setEType(createJavaClassRef(typeName));
- }
- }
-
- /**
- * Insert the method's description here. Creation date: (10/3/2001 10:08:34 AM)
- *
- * @param newSourceMethod
- * org.eclipse.jdt.core.IMethod
- */
- public void setSourceMethod(org.eclipse.jdt.core.IMethod newSourceMethod) {
- sourceMethod = newSourceMethod;
- }
-}
diff --git a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaModelListener.java b/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaModelListener.java
deleted file mode 100644
index 23ea4e8dd..000000000
--- a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaModelListener.java
+++ /dev/null
@@ -1,275 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.adapters.jdom;
-/*
- * $RCSfile: JavaModelListener.java,v $
- * $Revision: 1.7 $ $Date: 2005/05/11 22:41:12 $
- */
-
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.core.*;
-
-/**
- * Insert the type's description here.
- * Creation date: (10/31/2000 1:13:12 PM)
- * @author: Administrator
- */
-public abstract class JavaModelListener implements IElementChangedListener {
-
-/**
- * JavaModelListener constructor comment.
- */
-public JavaModelListener() {
- this(ElementChangedEvent.POST_CHANGE);
-}
-
-public JavaModelListener(int eventsToListen) {
- JavaCore.addElementChangedListener(this, eventsToListen);
-}
-/**
- * One or more attributes of one or more elements maintained by
- * the Java model have changed. The specific details of the change
- * are described by the given <code>ElementChangedEvent</code>.
- *
- * @see ElementChangedEvent
- */
-public void elementChanged(ElementChangedEvent event) {
- processDelta((IJavaElementDelta) event.getSource());
-}
-/**
- * Generically dispatch the children of the delta.
- *
- */
-protected void processChildren(IJavaElement element, IJavaElementDelta delta) {
- IJavaElementDelta[] children = delta.getAffectedChildren();
- for (int i = 0; i < children.length; i++) {
- processDelta(children[i]);
- }
-}
-/**
- * Source context has been changed.
- * Creation date: (8/17/2001 3:58:31 PM)
- * @param param org.eclipse.jdt.core.IJavaElementDelta
- */
-protected void processContentChanged(IJavaElementDelta delta) {
- // override to implement specific behavior
-}
-/**
- * Dispatch the detailed handling of an element changed event.
- *
- * @see ElementChangedEvent
- */
-public void processDelta(IJavaElementDelta delta) {
- IJavaElement element = delta.getElement();
-
- switch (element.getElementType()) {
- case IJavaElement.JAVA_MODEL :
- processJavaElementChanged((IJavaModel) element, delta);
- break;
- case IJavaElement.JAVA_PROJECT :
- processJavaElementChanged((IJavaProject) element, delta);
- break;
- case IJavaElement.PACKAGE_FRAGMENT_ROOT :
- processJavaElementChanged((IPackageFragmentRoot) element, delta);
- break;
- case IJavaElement.PACKAGE_FRAGMENT :
- processJavaElementChanged((IPackageFragment) element, delta);
- break;
- case IJavaElement.COMPILATION_UNIT :
- processJavaElementChanged((ICompilationUnit) element, delta);
- processContentChanged(delta) ;
- break;
- case IJavaElement.CLASS_FILE :
- processJavaElementChanged((IClassFile) element, delta);
- break;
- case IJavaElement.TYPE :
- processJavaElementChanged((IType) element, delta);
- break;
- // Note: if we are to update the Method/Field adapters, we should process the
- // IJavaElement.METHOD and IJavaElement.FIELD
- }
-}
-/**
- * Handle the change for a single element, children will be handled separately.
- *
- */
-protected void processJavaElementChanged(IClassFile element, IJavaElementDelta delta) {
- // override to implement specific behavior
-}
-/**
- * Handle the change for a single element, children will be handled separately.
- *
- */
-protected void processJavaElementChanged(ICompilationUnit element, IJavaElementDelta delta) {
- processChildren(element, delta);
-}
-/**
- * Handle the change for a single element, children will be handled separately.
- *
- */
-protected void processJavaElementChanged(IJavaModel element, IJavaElementDelta delta) {
- processChildren(element, delta);
-}
-/**
- * Handle the change for a single element, children will be handled separately.
- *
- */
-protected void processJavaElementChanged(IJavaProject element, IJavaElementDelta delta) {
- processChildren(element, delta);
-}
-/**
- * Handle the change for a single element, children will be handled separately.
- *
- */
-protected void processJavaElementChanged(IPackageFragment element, IJavaElementDelta delta) {
- processChildren(element, delta);
-}
-/**
- * Handle the change for a single element, children will be handled separately.
- *
- */
-protected void processJavaElementChanged(IPackageFragmentRoot element, IJavaElementDelta delta) {
- processChildren(element, delta);
-}
-/**
- * Handle the change for a single element, children will be handled separately.
- *
- */
-protected void processJavaElementChanged(IType element, IJavaElementDelta delta) {
- // override to implement specific behavior
-}
-
-protected boolean isClassPathChange(IJavaElementDelta delta) {
- int flags = delta.getFlags();
- return (delta.getKind() == IJavaElementDelta.CHANGED && ((flags & IJavaElementDelta.F_ADDED_TO_CLASSPATH) != 0) || ((flags & IJavaElementDelta.F_REMOVED_FROM_CLASSPATH) != 0) || ((flags & IJavaElementDelta.F_REORDER) != 0));
-}
-
-/**
- * Method isClasspathResourceChange.
- * @param delta
- * @return boolean
- */
-protected boolean isClasspathResourceChange(IJavaElementDelta delta) {
- if ((delta.getFlags() & IJavaElementDelta.F_CLASSPATH_CHANGED) != 0)
- return true;
- IResourceDelta[] resources = delta.getResourceDeltas();
- if (resources == null)
- return false;
- IPath path = null;
- for (int i = 0; i < resources.length; i++) {
- if (resources[i].getKind() == IResourceDelta.CHANGED) {
- path = resources[i].getProjectRelativePath();
- if (isAlsoClasspathChange(path))
- return true;
- }
- }
- return false;
-}
-
-/**
- * Is this path also a classpath change type of resource. If so, return true.
- * Subclasses may override. Default is false.
- * @param path
- * @return
- *
- * @since 1.0.0
- */
-protected boolean isAlsoClasspathChange(IPath path) {
- return false;
-}
-
-/**
- * This method will check to see if a <code>javaProject</code> is a project in the
- * classpath of the adapterFactory java project.
- */
-protected boolean isInClasspath(IJavaProject javaProject) {
- IJavaProject adapterJavaProject = getJavaProject();
- if (javaProject.equals(adapterJavaProject))
- return true;
- return isInClasspath(javaProject, adapterJavaProject, true, new HashSet());
-}
-
-/**
- * Get the java project that we are interested in.
- * @return
- *
- * @since 1.0.0
- */
-protected abstract IJavaProject getJavaProject();
-
-/*
- * test to see if the testProject is in the classpath (including from any referenced projects) of the target project.
- * Keep track of those already visited so as not to visit again.
- * TODO This should be made private.
- */
-protected boolean isInClasspath(IJavaProject testProject, IJavaProject targetProject, boolean isFirstLevel, Set visited) {
- if (visited.contains(targetProject))
- return false;
- visited.add(targetProject);
- IClasspathEntry[] entries = null;
- try {
- entries = targetProject.getRawClasspath();
- } catch (JavaModelException e) {
- return false;
- }
- IClasspathEntry entry, resEntry;
- IJavaProject proj = null;
- List projects = null;
- for (int i = 0; i < entries.length; i++) {
- entry = entries[i];
- if (entry.getEntryKind() == IClasspathEntry.CPE_PROJECT) {
- resEntry = JavaCore.getResolvedClasspathEntry(entry);
- proj = getJavaProject(entry);
- if (isFirstLevel || resEntry.isExported()) {
- if (proj.equals(testProject))
- return true;
- else {
- if (projects == null)
- projects = new ArrayList();
- projects.add(proj);
- }
- }
- }
- }
- return isInClasspath(testProject, projects, false, visited);
-}
-
-/*
- * See if the testProject is in the classpath of any of the list of projects or in any project that an entry
- * in the list may of visited.
- * TODO This should be made private.
- */
-protected boolean isInClasspath(IJavaProject testProject, List someJavaProjects, boolean isFirstLevel, Set visited) {
- if (someJavaProjects == null)
- return false;
- int size = someJavaProjects.size();
- IJavaProject javaProj = null;
- for (int i = 0; i < size; i++) {
- javaProj = (IJavaProject) someJavaProjects.get(i);
- return isInClasspath(testProject, javaProj, isFirstLevel, visited);
- }
- return false;
-}
-
-protected IJavaProject getJavaProject(IClasspathEntry entry) {
- IProject proj = getWorkspaceRoot().getProject(entry.getPath().segment(0));
- if (proj != null)
- return JavaCore.create(proj);
- return null;
-}
-
-protected IWorkspaceRoot getWorkspaceRoot() {
- return ResourcesPlugin.getWorkspace().getRoot();
-}
-}
diff --git a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaReflectionSynchronizer.java b/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaReflectionSynchronizer.java
deleted file mode 100644
index 706f48d98..000000000
--- a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaReflectionSynchronizer.java
+++ /dev/null
@@ -1,322 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.adapters.jdom;
-/*
- * $RCSfile: JavaReflectionSynchronizer.java,v $
- * $Revision: 1.11 $ $Date: 2005/05/13 15:09:15 $
- */
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.logging.Level;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.jdt.core.*;
-
-import org.eclipse.jem.internal.plugin.JavaPlugin;
-import org.eclipse.jem.util.logger.proxy.Logger;
-
-/**
- * Insert the type's description here.
- * Creation date: (11/1/2000 11:42:05 AM)
- * @author: Administrator
- */
-public class JavaReflectionSynchronizer extends JavaModelListener {
-
- protected JavaJDOMAdapterFactory fAdapterFactory;
-
- protected boolean flushedAll = false;
- protected List flushTypes = new ArrayList();
- protected List flushTypePlusInner = new ArrayList();
- protected List notifications = new ArrayList();
- /**
- * JavaReflectionSynchronizer constructor comment.
- */
- public JavaReflectionSynchronizer(JavaJDOMAdapterFactory synchronizee) {
- super();
- fAdapterFactory = synchronizee;
- }
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.adapters.jdom.JavaModelListener#getJavaProject()
- */
- protected IJavaProject getJavaProject() {
- return getAdapterFactory().getJavaProject();
- }
- /**
- * Tell the reflection factory to flush the passed IType
- */
- protected Notification doFlush(IType element) {
- return getAdapterFactory().flushReflectionNoNotification(element.getFullyQualifiedName());
- }
-
- /*
- * Flush the compilation unit and any inner classes since we don't if they may or may not of changed.
- */
- protected Notification doFlush(ICompilationUnit element) {
- return getAdapterFactory().flushReflectionPlusInnerNoNotification(getFullNameFromElement(element));
- }
-
- protected void flush(IType element) {
- if (!flushTypes.contains(element))
- flushTypes.add(element);
- }
- /*
- * flush the compilation unit. Since we don't know if inner classes may also
- * of been affected, they to will be flushed.
- */
- protected void flush(ICompilationUnit element) {
- if (!flushTypePlusInner.contains(element))
- flushTypePlusInner.add(element);
- }
- protected void flushPackage(String packageName, boolean noFlushIfSourceFound) {
- notifications.addAll(getAdapterFactory().flushPackageNoNotification(packageName, true));
- }
- protected JavaJDOMAdapterFactory getAdapterFactory() {
- return fAdapterFactory;
- }
-
- /**
- * Handle the change for a single element, children will be handled separately.
- *
- */
- protected void processJavaElementChanged(ICompilationUnit element, IJavaElementDelta delta) {
- switch (delta.getKind()) {
- case IJavaElementDelta.CHANGED : {
- // A file save had occurred. It doesn't matter if currently working copy or not.
- // It means something has changed to the file on disk, but don't know what.
- if ((delta.getFlags() & IJavaElementDelta.F_PRIMARY_RESOURCE) != 0) {
- flush(element); // Flush everything, including inner classes.
- } else if ((delta.getFlags() & IJavaElementDelta.F_CONTENT) == 0 &&
- (delta.getFlags() & IJavaElementDelta.F_CHILDREN) != 0) //A type may have been added or removed.
- processChildren(element, delta);
- break;
- }
- case IJavaElementDelta.REMOVED :
- case IJavaElementDelta.ADDED :
- if (!element.isWorkingCopy())
- disAssociateSourcePlusInner(getFullNameFromElement(element));
- break;
- }
- }
-
- /**
- * Handle the change for a single element, children will be handled separately.
- *
- */
- protected void processJavaElementChanged(IJavaProject element, IJavaElementDelta delta) {
- if (isInClasspath(element)) {
- if (delta.getKind() == IJavaElementDelta.REMOVED) {
- if (element.equals(getAdapterFactory().getJavaProject()))
- stopSynchronizer();
- else
- flushAll(); //another dependent project has changed so flush all to be safe
- return;
- } else if (delta.getKind() == IJavaElementDelta.ADDED || isClasspathResourceChange(delta)) {
- flushAll();
- return;
- }
- processChildren(element, delta);
- }
- }
- /**
- * Handle the change for a single element, children will be handled separately.
- */
- protected void processJavaElementChanged(IClassFile element, IJavaElementDelta delta) {
- int kind = delta.getKind();
- if (kind == IJavaElementDelta.REMOVED || kind == IJavaElementDelta.ADDED) {
- // It doesn't matter if totally removed or just moved somewhere else, we will clear out and remove the
- // adapter because there could be a rename which would be a different class.
- // Currently the element is already deleted and there is no way to find the types in the unit to remove.
- // So instead we ask factory to remove all it any that start with it plus for inner classes.
- disAssociateSourcePlusInner(getFullNameFromElement(element));
- return; // Since the classfile was removed we don't need to process the children (actually the children list will be empty
- }
- IJavaElementDelta[] children = delta.getAffectedChildren();
- for (int ii = 0; ii < children.length; ii++) {
- processDelta(children[ii]);
- }
- }
- /**
- * Handle the change for a single element, children will be handled separately.
- *
- */
- protected void processJavaElementChanged(IPackageFragmentRoot element, IJavaElementDelta delta) {
- if (flushedAll)
- return;
- if (isClassPathChange(delta))
- flushAll();
- else
- super.processJavaElementChanged(element, delta);
- }
-
- /*
- * We will force the flushing of all adaptors for the given package name.
- * This is necessary if a type was reflected prior to the package existing or
- * if the package is deleted.
- * @see org.eclipse.jem.internal.adapters.jdom.JavaModelListener#processJavaElementChanged(org.eclipse.jdt.core.IPackageFragment, org.eclipse.jdt.core.IJavaElementDelta)
- */
- protected void processJavaElementChanged(IPackageFragment element, IJavaElementDelta delta) {
- switch (delta.getKind()) {
- case IJavaElementDelta.ADDED : {
- if (delta.getAffectedChildren().length == 0)
- flushPackage(delta.getElement().getElementName(), true);
- break;
- }
- case IJavaElementDelta.REMOVED :{
- if (delta.getAffectedChildren().length == 0)
- getAdapterFactory().flushPackage(delta.getElement().getElementName(), false);
- break;
- }
- default :
- super.processJavaElementChanged(element, delta);
- }
- }
-
- /**
- * Handle the change for a single element, children will be handled separately.
- *
- */
- protected void processJavaElementChanged(IType element, IJavaElementDelta delta) {
- int kind = delta.getKind();
- if (kind == IJavaElementDelta.REMOVED || kind == IJavaElementDelta.ADDED) {
- disAssociateSourcePlusInner(element.getFullyQualifiedName());
- } else {
- flush(element);
- processChildren(element, delta);
- // Note, if a method element or a field was changed, there may be delta.getAffectedChildren()
- // that will have to be processed if we are to update the JavaMethod/JavaField JDOMAdaptor s.
- }
- }
- /**
- * Given that an IType does not exists anymore, assume
- * that the type's name is package.filename (without the .java)
- * If we are wrong (if, then a rare case), we will flush.
- * Next access will induce a reflection attempt.
- * @deprecated This doesn't look like it is ever called. It someone else calls it, please contact development to see if right method to be called.
- */
- protected void processRemoveOrAdd(ICompilationUnit element) {
- disAssociateSource(getFullNameFromElement(element));
- }
- protected String getFullNameFromElement(IJavaElement element) {
- String name = element.getElementName();
- if (element == null || name.length() <= 5 || !name.substring(name.length() - 5).equals(".java")) { //$NON-NLS-1$
- // Should not be here,
- Logger logger = JavaPlugin.getDefault().getLogger();
- if (logger.isLoggingLevel(Level.FINE))
- logger.log("Invalid .java file: " + name, Level.FINE); //$NON-NLS-1$
- // Make a guess, at worst case, nothing will come out of this.
- int index = name.lastIndexOf("."); //$NON-NLS-1$
- if (index >= 0)
- name = name.substring(0, index) + ".java"; // rename the extension to .java //$NON-NLS-1$
- else
- name = name + ".java"; //$NON-NLS-1$
- }
- if (element.getParent().getElementName() == null || element.getParent().getElementName().length() == 0)
- return name.substring(0, name.length() - 5);
- else
- return element.getParent().getElementName() + "." + name.substring(0, name.length() - 5); //$NON-NLS-1$
- }
- /**
- * Stop the synchronizer from listening to any more changes.
- */
- public void stopSynchronizer() {
- JavaCore.removeElementChangedListener(this);
- }
- /**
- * @see org.eclipse.jem.internal.adapters.jdom.JavaModelListener#elementChanged(ElementChangedEvent)
- */
- public void elementChanged(ElementChangedEvent event) {
- try {
- flushTypes.clear();
- flushTypePlusInner.clear();
- notifications.clear();
- super.elementChanged(event);
- flushTypes();
- processNotifications();
- } finally {
- flushedAll = false;
- flushTypes.clear();
- flushTypePlusInner.clear();
- notifications.clear();
- }
- }
- /**
- *
- */
- private void flushTypes() {
- if (!flushTypes.isEmpty()) {
- IType type = null;
- Notification not;
- for (int i = 0; i < flushTypes.size(); i++) {
- type = (IType) flushTypes.get(i);
- not = doFlush(type);
- if (not != null)
- notifications.add(not);
- }
- }
- if (!flushTypePlusInner.isEmpty()) {
- ICompilationUnit unit = null;
- Notification not;
- for (int i = 0; i < flushTypePlusInner.size(); i++) {
- unit = (ICompilationUnit) flushTypePlusInner.get(i);
- not = doFlush(unit);
- if (not != null)
- notifications.add(not);
- }
- }
- }
- /**
- * @param notifications
- */
- private void processNotifications() {
- Notifier notifier;
- Notification not;
- for (int i = 0; i < notifications.size(); i++) {
- not = (Notification) notifications.get(i);
- notifier = (Notifier) not.getNotifier();
- if (notifier != null)
- try {
- notifier.eNotify(not);
- } catch (Exception e) {
- JavaPlugin.getDefault().getLogger().log(e); //catch exceptions so all notifications are processed
- }
- }
- }
- protected void disAssociateSource(String qualifiedName) {
- Notification not = getAdapterFactory().disAssociateSource(qualifiedName, false);
- if (not != null)
- notifications.add(not);
- }
- protected void disAssociateSourcePlusInner(String qualifiedName) {
- Notification not = getAdapterFactory().disAssociateSourcePlusInner(qualifiedName, false);
- if (not != null)
- notifications.add(not);
- }
- protected void flushAll() {
- notifications.addAll(getAdapterFactory().flushAllNoNotification());
- flushedAll = true;
- }
- /**
- * @see org.eclipse.jem.internal.adapters.jdom.JavaModelListener#processChildren(IJavaElement, IJavaElementDelta)
- */
- protected void processChildren(IJavaElement element, IJavaElementDelta delta) {
- if (!flushedAll)
- super.processChildren(element, delta);
- }
- /**
- * @see org.eclipse.jem.internal.adapters.jdom.JavaModelListener#processDelta(IJavaElementDelta)
- */
- public void processDelta(IJavaElementDelta delta) {
- if (!flushedAll)
- super.processDelta(delta);
- }
-}
diff --git a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/plugin/IJavaProjectInfo.java b/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/plugin/IJavaProjectInfo.java
deleted file mode 100644
index b8bb0883c..000000000
--- a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/plugin/IJavaProjectInfo.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.plugin;
-
-/**
- * Insert the type's description here.
- * Creation date: (05/07/01 10:06:28 PM)
- * @author: Administrator
- */
-public interface IJavaProjectInfo {
-public String getSourcePath();
-}
diff --git a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/plugin/JavaEMFNature.java b/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/plugin/JavaEMFNature.java
deleted file mode 100644
index fcf945e40..000000000
--- a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/plugin/JavaEMFNature.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.plugin;
-/*
- * $RCSfile: JavaEMFNature.java,v $ $Revision: 1.13 $ $Date: 2005/06/27 16:07:07 $
- */
-
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.jdt.core.JavaCore;
-
-import org.eclipse.jem.internal.adapters.jdom.JavaJDOMAdapterFactory;
-import org.eclipse.jem.internal.java.adapters.JavaXMIFactoryImpl;
-import org.eclipse.jem.internal.java.adapters.ReadAdaptor;
-import org.eclipse.jem.util.emf.workbench.EMFWorkbenchContextBase;
-import org.eclipse.jem.util.emf.workbench.WorkbenchURIConverter;
-import org.eclipse.jem.util.emf.workbench.nature.EMFNature;
-import org.eclipse.jem.workbench.utility.JemProjectUtilities;
-
-public class JavaEMFNature extends EMFNature {
- public static final String NATURE_ID = "org.eclipse.jem.workbench.JavaEMFNature"; //$NON-NLS-1$
-/**
- * JavaMOFNatureRuntime constructor comment.
- */
-public JavaEMFNature() {
- super();
-}
-/**
- * Get a IJavaMOFNatureRuntime that corresponds to the supplied project.
- * @return IJavaMOFNatureRuntime
- * @param project com.ibm.itp.core.api.resources.IProject
- */
-public static JavaEMFNature createRuntime(IProject project) throws CoreException {
- if(!hasRuntime(project))
- if (JavaCore.create(project).exists())
- addNatureToProject(project, NATURE_ID);
- else
- return null;
-
- return getRuntime(project);
-}
-
-/**
- * Return the nature's ID.
- */
-public java.lang.String getNatureID() {
- return NATURE_ID;
-}
-/**
- * Return the ID of the plugin that this nature is contained within.
- */
-protected java.lang.String getPluginID() {
- return JavaPlugin.getDefault().getBundle().getSymbolicName();
-}
-/**
- * Get a IJavaMOFNatureRuntime that corresponds to the supplied project.
- * First check for registered natures.
- * @return IJavaMOFNatureRuntime
- * @param project com.ibm.itp.core.api.resources.IProject
- */
-public static JavaEMFNature getRuntime(IProject project) {
- JavaEMFNature nature = null;
- List runtimes = EMFNature.getRegisteredRuntimes(project);
- for (int i=0; i<runtimes.size(); i++) {
- if (runtimes.get(i) instanceof JavaEMFNature)
- nature = (JavaEMFNature) runtimes.get(i);
- }
- if (nature == null)
- nature = primGetRuntime(project);
- return nature;
-}
-/**
- * Return whether or not the project has a runtime created on it.
- * Check for registered natures first.
- * @return boolean
- * @param project com.ibm.itp.core.api.resources.IProject
- */
-public static boolean hasRuntime(IProject project) {
- JavaEMFNature nature = null;
- List runtimes = EMFNature.getRegisteredRuntimes(project);
- for (int i=0; i<runtimes.size(); i++) {
- if (runtimes.get(i) instanceof JavaEMFNature)
- nature = (JavaEMFNature) runtimes.get(i);
- }
- if (nature == null)
- return primHasRuntime(project);
- else
- return true;
-
-}
-/**
- * Get a IJavaMOFNatureRuntime that corresponds to the supplied project.
- * Do not check for other registered types.
- * @return IJavaMOFNatureRuntime
- * @param project com.ibm.itp.core.api.resources.IProject
- */
-public static JavaEMFNature primGetRuntime(IProject project) {
- try {
- return (JavaEMFNature) project.getNature(NATURE_ID);
- } catch (CoreException e) {
- return null;
- }
-}
-/**
- * Return whether or not the project has a runtime created on it.
- * Do not check for registered nature ids.
- * @return boolean
- * @param project com.ibm.itp.core.api.resources.IProject
- */
-public static boolean primHasRuntime(IProject project) {
- try {
- return project.hasNature(NATURE_ID);
- } catch (CoreException e) {
- return false;
- }
-}
-
-/**
- * primary contribute to context
- */
-public void primaryContributeToContext(EMFWorkbenchContextBase aNature) {
- if (emfContext == aNature) return;
- emfContext = aNature;
- ResourceSet set = aNature.getResourceSet();
- set.getResourceFactoryRegistry().getProtocolToFactoryMap().put(JavaXMIFactoryImpl.SCHEME, JavaXMIFactoryImpl.INSTANCE);
- WorkbenchURIConverter conv = (WorkbenchURIConverter) set.getURIConverter();
- configureURIConverter(conv);
- addAdapterFactories(set);
-}
-
-/**
- * secondary contribute to context
- */
-public void secondaryContributeToContext(EMFWorkbenchContextBase aNature) {
- primaryContributeToContext(aNature);
-}
-
-/**
- * Remove the project as a container from the converter and add
- * the source folder.
- */
-protected void configureURIConverter(WorkbenchURIConverter conv) {
- conv.removeInputContainer(getProject());
- conv.addInputContainer(getEMFRoot());
-}
-
-/**
- * Add Adaptor factories to aContext which is now
- * being used for this nature.
- */
-protected void addAdapterFactories(ResourceSet aSet) {
- addJavaReflectionAdapterFactories(aSet);
-}
-
-protected void addJavaReflectionAdapterFactories(ResourceSet aSet) {
- List factories = aSet.getAdapterFactories();
- // The context may already have a JavaReflection adaptor factory, so remove it
- if (!factories.isEmpty()) {
- AdapterFactory factory = EcoreUtil.getAdapterFactory(factories, ReadAdaptor.TYPE_KEY);
- if (factory != null)
- factories.remove(factory);
- }
- // This should maybe be considered a logic error, but we can recover easily
- factories.add(new JavaJDOMAdapterFactory(JemProjectUtilities.getJavaProject(project)));
-}
-
-}
diff --git a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/plugin/JavaPlugin.java b/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/plugin/JavaPlugin.java
deleted file mode 100644
index 50fe0440c..000000000
--- a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/plugin/JavaPlugin.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.plugin;
-/*
- * $RCSfile: JavaPlugin.java,v $ $Revision: 1.8 $ $Date: 2005/02/15 23:09:27 $
- */
-
-import org.eclipse.core.runtime.*;
-import org.osgi.framework.BundleContext;
-
-
-import org.eclipse.jem.internal.adapters.jdom.JavaJDOMAdapterFactory;
-import org.eclipse.jem.internal.java.adapters.jdk.JavaJDKAdapterFactory;
-import org.eclipse.jem.java.impl.JavaRefFactoryImpl;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jem.util.logger.proxyrender.EclipseLogger;
-import org.eclipse.jem.util.plugin.JEMUtilPlugin;
-
-/**
- * This is a top-level class of the java plugin tool.
- *
- * @see AbstractUIPlugin for additional information on UI plugins
- */
-
-public class JavaPlugin extends Plugin {
-
- private static JavaPlugin INSTANCE;
- private Logger logger;
-
- /**
- * Create the Java plugin and cache its default instance
- */
- public JavaPlugin() {
- INSTANCE = this;
- }
-
- public Logger getLogger() {
- if (logger == null)
- logger = EclipseLogger.getEclipseLogger(this);
- return logger;
- }
-
- /**
- * Get the plugin singleton.
- */
- static public JavaPlugin getDefault() {
- return INSTANCE;
- }
-
- /* (non-Javadoc)
- * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
- */
- public void start(BundleContext context) throws Exception {
- super.start(context);
- JavaRefFactoryImpl.setReflectionAdapterFactoryClass(JavaJDOMAdapterFactory.class);
- JEMUtilPlugin.getPluginResourceSet().getAdapterFactories().add(new JavaJDKAdapterFactory());
- }
-
-}
diff --git a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/plugin/JavaProjectInfo.java b/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/plugin/JavaProjectInfo.java
deleted file mode 100644
index 55be05837..000000000
--- a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/plugin/JavaProjectInfo.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package org.eclipse.jem.internal.plugin;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: JavaProjectInfo.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 23:09:27 $
- */
-/**
- * Insert the type's description here.
- * Creation date: (05/07/01 10:09:26 PM)
- * @author: Administrator
- */
-public class JavaProjectInfo implements IJavaProjectInfo {
-
- public final static String DEFAULT_JAVA_OUTPUT_PATH = "bin";//$NON-NLS-1$
- public final static String DEFAULT_SOURCE_PATH = "source";//$NON-NLS-1$
- protected String sourcePath;
-/**
- * JavaProjectInfo constructor comment.
- */
-public JavaProjectInfo() {
- super();
-}
-/**
- * Subclasses should override as necessary
- */
-protected String getDefaultSourcePath() {
- return DEFAULT_SOURCE_PATH;
-}
-/**
- * Get the class path for the reciever. By default ask the template
- * @return java.lang.String
- */
-public String getSourcePath() {
- if (sourcePath == null)
- sourcePath = getDefaultSourcePath();
- return sourcePath;
-}
-public void setSourcePath(String path) {
- sourcePath = path;
-}
-}
diff --git a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/workbench/utility/ASTBoundResolver.java b/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/workbench/utility/ASTBoundResolver.java
deleted file mode 100644
index 42e5ee47a..000000000
--- a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/workbench/utility/ASTBoundResolver.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: ASTBoundResolver.java,v $
- * $Revision: 1.8 $ $Date: 2005/06/21 20:05:18 $
- */
-package org.eclipse.jem.workbench.utility;
-
-import java.text.MessageFormat;
-
-import org.eclipse.jdt.core.dom.*;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.workbench.utility.ParseTreeCreationFromAST.InvalidExpressionException;
-
-/**
- * This works on resolved AST nodes. If the nodes had not been resolved, this will return noting.
- *
- * @since 1.0.0
- */
-public class ASTBoundResolver extends ParseTreeCreationFromAST.Resolver {
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.workbench.utility.ParseTreeCreationFromAST.IResolver#resolveName(org.eclipse.jdt.core.dom.Name)
- */
- public PTExpression resolveName(Name name) {
- IBinding binding = name.resolveBinding();
- if (binding == null)
- return null;
-
- switch (binding.getKind()) {
- case IBinding.TYPE:
- String typename = getTypeName((ITypeBinding) binding);
- PTName ptname = InstantiationFactory.eINSTANCE.createPTName();
- ptname.setName(typename);
- return ptname;
- case IBinding.VARIABLE:
- IVariableBinding variableBinding = (IVariableBinding) binding;
- if (variableBinding.isField()) {
- if (Modifier.isStatic(variableBinding.getModifiers())) {
- PTFieldAccess fa = InstantiationFactory.eINSTANCE.createPTFieldAccess();
- // If just a simple name, then it is like this.field, so no receiver. Not sure how to handle this yet.
- if (name.isQualifiedName()) {
- // There are parts before this one. Get them as an expression (either a name, or another field access)
- fa.setReceiver(resolveName(((QualifiedName) name).getQualifier()));
- }
- fa.setField(variableBinding.getName());
- return fa;
- } else {
- throwInvalidExpressionException(MessageFormat.format(WorkbenchUtilityMessages.ASTBoundResolver_CannotHandleLocalField_EXC_, new Object[]{variableBinding.getName()}));
-// push(new PushFieldVariable(variableId, getTypeSignature(declaringTypeBinding), fCounter));
-// push(new PushThis(getEnclosingLevel(node, declaringTypeBinding)));
-// storeInstruction();
- }
- } else {
- throwInvalidExpressionException(MessageFormat.format(WorkbenchUtilityMessages.ASTBoundResolver_CannotHandleLocalVariable_EXC_, new Object[]{variableBinding.getName()}));
-// push(new PushLocalVariable(variableId));
- }
- }
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.workbench.utility.IResolver#resolveType(org.eclipse.jdt.core.dom.Type)
- */
- public String resolveType(Type type) {
- ITypeBinding binding = type.resolveBinding();
- return (binding != null) ? getTypeName(binding) : null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.workbench.utility.ParseTreeCreationFromAST.Resolver#resolveType(org.eclipse.jdt.core.dom.Name)
- */
- public String resolveType(Name name) throws InvalidExpressionException {
- ITypeBinding binding = name.resolveTypeBinding();
- return (binding != null) ? getTypeName(binding) : null;
- }
-
- protected String getTypeName(ITypeBinding typeBinding) {
- StringBuffer name;
- if (typeBinding.isArray()) {
- name= new StringBuffer(getTypeName(typeBinding.getElementType()));
- int dimensions= typeBinding.getDimensions();
- for (int i= 0; i < dimensions; i++) {
- name.append("[]"); //$NON-NLS-1$
- }
- return name.toString();
- }
- name= new StringBuffer(typeBinding.getName());
- IPackageBinding packageBinding= typeBinding.getPackage();
- typeBinding= typeBinding.getDeclaringClass();
- while(typeBinding != null) {
- name.insert(0, '$').insert(0, typeBinding.getName());
- typeBinding= typeBinding.getDeclaringClass();
- }
- if (packageBinding != null && !packageBinding.isUnnamed()) {
- name.insert(0, '.').insert(0, packageBinding.getName());
- }
- return name.toString();
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.workbench.utility.ParseTreeCreationFromAST.Resolver#resolveThis()
- */
- public PTExpression resolveThis() throws InvalidExpressionException {
- return InstantiationFactory.eINSTANCE.createPTThisLiteral();
- }
-}
diff --git a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/workbench/utility/JemProjectUtilities.java b/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/workbench/utility/JemProjectUtilities.java
deleted file mode 100644
index 07f08280d..000000000
--- a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/workbench/utility/JemProjectUtilities.java
+++ /dev/null
@@ -1,746 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.workbench.utility;
-/*
- * $RCSfile: JemProjectUtilities.java,v $ $Revision: 1.8 $ $Date: 2005/06/27 16:07:07 $
- */
-
-import java.net.URL;
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jdt.core.*;
-
-import org.eclipse.jem.internal.plugin.JavaEMFNature;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaRefFactory;
-import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
-import org.eclipse.jem.util.emf.workbench.WorkbenchResourceHelperBase;
-import org.eclipse.jem.util.emf.workbench.nature.EMFNature;
-import org.eclipse.jem.util.plugin.JEMUtilPlugin;
-
-/**
- * Project Utilities for JEM and Java.
- *
- * @since 1.1.0
- */
-public class JemProjectUtilities extends ProjectUtilities {
-
- private JemProjectUtilities(){
- }
-
- /**
- * The nature id for JEM Nature.
- *
- * @since 1.1.0
- */
- public static final String JEM_EMF_NatureID = JavaEMFNature.NATURE_ID;
-
- /**
- * Get the EMF nature for JEM for the project.
- * @param project
- * @param addNature <code>true</code> if add the nature to the project if not set. <code>false</code> if don't add nature if not already on project.
- * @return the EMFNature or <code>null</code> if not found and addNature was <code>false</code> or it was not a java project.
- * @throws CoreException
- *
- * @since 1.1.0
- */
- public static EMFNature getJEM_EMF_Nature(IProject project, boolean addNature) throws CoreException {
- return addNature ? JavaEMFNature.createRuntime(project) : JavaEMFNature.getRuntime(project);
- }
-
- /**
- * Get the JavaClass from an IFile.
- * @param aFile
- * @return
- *
- * @since 1.1.0
- */
- public static JavaClass getJavaClass(IFile aFile) {
- if (aFile == null)
- return null;
- IProject project = aFile.getProject();
- List folders = getSourceContainers(project);
- folders.addAll(getLibraryContainers(project));
- IContainer folder = null;
- IPath folderPath, filePath, javaPath;
- filePath = aFile.getProjectRelativePath();
- if (folders != null) {
- for (int i = 0; i < folders.size(); i++) {
- folder = (IContainer) folders.get(i);
- folderPath = folder.getProjectRelativePath();
- int segments = filePath.matchingFirstSegments(folderPath);
- if (segments > 0) {
- javaPath = filePath.removeFirstSegments(segments);
- javaPath = javaPath.removeFileExtension();
- String qualifiedName = javaPath.toString().replace('/', '.');
- return (JavaClass) JavaRefFactory.eINSTANCE.reflectType(qualifiedName, WorkbenchResourceHelperBase.getResourceSet(project));
- }
- }
- }
- return null;
- }
-
- /**
- * Get source containers for the project.
- *
- * @param p
- * project
- * @return list of source containers.
- *
- * @since 1.0.0
- */
- public static List getSourceContainers(IProject p) {
- try {
- List sourceContainers = new ArrayList();
- List sourcePaths = getSourcePaths(p);
- if (sourcePaths != null && !sourcePaths.isEmpty()) {
- for (int i = 0; i < sourcePaths.size(); i++) {
- IPath path = (IPath) sourcePaths.get(i);
- if (path.isEmpty())
- sourceContainers.add(p);
- else
- sourceContainers.add(p.getFolder(path));
- }
- }
- return sourceContainers;
- } catch (IllegalArgumentException ex) {
- return Collections.EMPTY_LIST;
- }
- }
-
- protected static List getSourcePaths(IProject p) {
- IJavaProject javaProj = getJavaProject(p);
- if (javaProj == null)
- return null;
- IClasspathEntry[] cp = null;
- try {
- cp = javaProj.getRawClasspath();
- } catch (JavaModelException ex) {
- JEMUtilPlugin.getLogger().logError(ex);
- return null;
- }
- List sourcePaths = new ArrayList();
- for (int i = 0; i < cp.length; i++) {
- if (cp[i].getEntryKind() == IClasspathEntry.CPE_SOURCE) {
- sourcePaths.add(cp[i].getPath().removeFirstSegments(1));
- }
- }
- return sourcePaths;
- }
-
- /**
- * Return list of IContainers that are Libraries in the classpath.
- *
- * @param p
- * project
- * @return list of library IContainers.
- *
- * @since 1.0.0
- */
- public static List getLibraryContainers(IProject p) {
- try {
- List libraryContainers = new ArrayList();
- List libraryPaths = getlibraryPaths(p);
- if (libraryPaths != null && !libraryPaths.isEmpty()) {
- for (int i = 0; i < libraryPaths.size(); i++) {
- IPath path = (IPath) libraryPaths.get(i);
- if (path.isEmpty())
- libraryContainers.add(p);
- else
- libraryContainers.add(p.getFolder(path));
- }
- }
- return libraryContainers;
- } catch (IllegalArgumentException ex) {
- return Collections.EMPTY_LIST;
- }
- }
-
-
- protected static List getlibraryPaths(IProject p) {
- IJavaProject javaProj = getJavaProject(p);
- if (javaProj == null)
- return null;
- IClasspathEntry[] cp = null;
- try {
- cp = javaProj.getRawClasspath();
- } catch (JavaModelException ex) {
- JEMUtilPlugin.getLogger().logError(ex);
- return null;
- }
- List libraryPaths = new ArrayList();
- for (int i = 0; i < cp.length; i++) {
- if (cp[i].getEntryKind() == IClasspathEntry.CPE_LIBRARY) {
- libraryPaths.add(cp[i].getPath().removeFirstSegments(1));
- }
- }
- return libraryPaths;
- }
-
- /**
- * Get the java project nature for the given project.
- *
- * @param p
- * project
- * @return the java project nature for the project or <code>null</code> if not a java project.
- *
- * @since 1.0.0
- */
- public static IJavaProject getJavaProject(IProject p) {
- try {
- return (IJavaProject) p.getNature(JavaCore.NATURE_ID);
- } catch (CoreException ignore) {
- return null;
- }
- }
-
- /**
- * Touch classpath. It simply takes the classpath and sets it back in.
- *
- * @param javaProject
- * @throws JavaModelException
- *
- * @since 1.0.0
- */
- public static void updateClasspath(IJavaProject javaProject) throws JavaModelException {
- if (javaProject != null)
- javaProject.setRawClasspath(javaProject.getRawClasspath(), new NullProgressMonitor());
- }
-
- /**
- * Return the location of the binary output files for the JavaProject.
- *
- * @param p
- * project
- * @return path to binary output folder or <code>null</code> if not java project or other problem.
- *
- * @since 1.0.0
- */
- public static IPath getJavaProjectOutputLocation(IProject p) {
- try {
- IJavaProject javaProj = getJavaProject(p);
- if (javaProj == null)
- return null;
- if (!javaProj.isOpen())
- javaProj.open(null);
- return javaProj.getOutputLocation();
- } catch (JavaModelException e) {
- return null;
- }
- }
-
- /**
- * Get the project's binary output container.
- *
- * @param p
- * project
- * @return project's output container or <code>null</code> if not java project or some other error.
- *
- * @since 1.0.0
- */
- public static IContainer getJavaProjectOutputContainer(IProject p) {
- IPath path = getJavaProjectOutputLocation(p);
- if (path == null)
- return null;
- if (path.segmentCount() == 1)
- return p;
- return p.getFolder(path.removeFirstSegments(1));
- }
-
- /**
- * Get the binary output absolute (local file system) path.
- *
- * @param p
- * project
- * @return project's output path or <code>null</code> if not java project or some other error.
- *
- * @since 1.0.0
- */
- public static IPath getJavaProjectOutputAbsoluteLocation(IProject p) {
- IContainer container = getJavaProjectOutputContainer(p);
- if (container != null)
- return container.getLocation();
- return null;
- }
-
- /**
- * Get the JDT JavaModel.
- *
- * @return JDT's JavaModel
- *
- * @since 1.0.0
- */
- public static IJavaModel getJavaModel() {
- return JavaCore.create(ResourcesPlugin.getWorkspace().getRoot());
- }
-
- /**
- * Get all source package fragment roots.
- *
- * @param javaProj
- * @return source package fragment roots
- * @throws JavaModelException
- *
- * @since 1.0.0
- */
- public static List getSourcePackageFragmentRoots(IJavaProject javaProj) throws JavaModelException {
- List result = new ArrayList();
- IPackageFragmentRoot[] roots = javaProj.getPackageFragmentRoots();
- for (int i = 0; i < roots.length; i++) {
- IPackageFragmentRoot root = roots[i];
- if (root.getKind() == IPackageFragmentRoot.K_SOURCE)
- result.add(result);
- }
- return result;
- }
-
- /**
- * Remove the resource from the classpath
- *
- * @param p
- * project
- * @param res
- * resource
- * @throws JavaModelException
- *
- * @since 1.0.0
- */
- public static void removeFromJavaClassPath(IProject p, IResource res) throws JavaModelException {
- IClasspathEntry entry = JavaCore.newLibraryEntry(res.getFullPath(), null, null);
- removeFromJavaClassPath(p, entry);
- }
-
- /**
- * Remove the path from the classpath
- *
- * @param p
- * project
- * @param path
- * path to remove
- * @throws JavaModelException
- *
- * @since 1.0.0
- */
- public static void removeFromJavaClassPath(IProject p, IPath path) throws JavaModelException {
- org.eclipse.core.resources.IFile f = p.getFile(path);
- removeFromJavaClassPath(p, f);
- }
-
- /**
- * Remove the classpath entry from the project's classpath.
- *
- * @param p
- * @param entry
- * @throws JavaModelException
- *
- * @since 1.0.0
- */
- public static void removeFromJavaClassPath(IProject p, IClasspathEntry entry) throws JavaModelException {
- IJavaProject javaProject = null;
- try {
- javaProject = (IJavaProject) p.getNature(JavaCore.NATURE_ID);
- } catch (CoreException ignore) {
- }
- if (javaProject != null) {
- IClasspathEntry[] classpath = javaProject.getRawClasspath();
- javaProject.setRawClasspath(primRemoveFromJavaClassPath(classpath, entry), new NullProgressMonitor());
- }
- }
-
- /**
- * Remove the list of entries from the classpath of the project.
- *
- * @param p
- * project
- * @param entries
- * list of IClassPathEntry's
- * @throws JavaModelException
- *
- * @since 1.0.0
- */
- public static void removeFromJavaClassPath(IProject p, List entries) throws JavaModelException {
- IJavaProject javaProject = null;
- try {
- javaProject = (IJavaProject) p.getNature(JavaCore.NATURE_ID);
- } catch (CoreException ignore) {
- }
- if (javaProject != null) {
- IClasspathEntry[] classpath = javaProject.getRawClasspath();
- javaProject.setRawClasspath(primRemoveFromJavaClassPath(classpath, entries), new NullProgressMonitor());
- }
- }
-
- protected static IClasspathEntry[] primRemoveFromJavaClassPath(IClasspathEntry[] classpath, IClasspathEntry entry) throws JavaModelException {
- List result = new ArrayList();
- boolean didRemove = false;
- for (int i = 0; i < classpath.length; i++) {
- IClasspathEntry cpEntry = classpath[i];
- if (!entry.getPath().equals(classpath[i].getPath()))
- result.add(cpEntry);
- else
- didRemove = true;
- }
- if (!didRemove)
- return classpath;
- return (IClasspathEntry[]) result.toArray(new IClasspathEntry[result.size()]);
- }
-
- protected static IClasspathEntry[] primRemoveFromJavaClassPath(IClasspathEntry[] classpath, List entries) throws JavaModelException {
- List arrayList = Arrays.asList(classpath);
- List removeable = new ArrayList(arrayList);
- IClasspathEntry entry;
- boolean didRemove = false;
- int size = entries.size();
- for (int i = 0; i < size; i++) {
- entry = (IClasspathEntry) entries.get(i);
- for (int j = 0; j < classpath.length; j++) {
- IClasspathEntry cpEntry = classpath[j];
- if (entry.getPath().equals(classpath[j].getPath())) {
- if (removeable.remove(cpEntry))
- didRemove = true;
- }
- }
- }
- if (!didRemove)
- return classpath;
- return (IClasspathEntry[]) removeable.toArray(new IClasspathEntry[removeable.size()]);
- }
-
- /**
- * Get the classpath as an array or URL's.
- *
- * @param javaProject
- * @return array of URL's or <code>null</code> if javaProject was <code>null</code>.
- *
- * @since 1.0.0
- */
- public static URL[] getClasspathAsURLArray(IJavaProject javaProject) {
- if (javaProject == null)
- return null;
- Set visited = new HashSet();
- List urls = new ArrayList(20);
- collectClasspathURLs(javaProject, urls, visited, true);
- URL[] result = new URL[urls.size()];
- urls.toArray(result);
- return result;
- }
-
- private static void collectClasspathURLs(IJavaProject javaProject, List urls, Set visited, boolean isFirstProject) {
- if (visited.contains(javaProject))
- return;
- visited.add(javaProject);
- IPath outPath = getJavaProjectOutputAbsoluteLocation(javaProject.getProject());
- outPath = outPath.addTrailingSeparator();
- URL out = ProjectUtilities.createFileURL(outPath);
- urls.add(out);
- IClasspathEntry[] entries = null;
- try {
- entries = javaProject.getResolvedClasspath(true);
- } catch (JavaModelException e) {
- return;
- }
- IClasspathEntry entry;
- for (int i = 0; i < entries.length; i++) {
- entry = entries[i];
- switch (entry.getEntryKind()) {
- case IClasspathEntry.CPE_LIBRARY:
- case IClasspathEntry.CPE_CONTAINER:
- case IClasspathEntry.CPE_VARIABLE:
- collectClasspathEntryURL(entry, urls);
- break;
- case IClasspathEntry.CPE_PROJECT: {
- if (isFirstProject || entry.isExported())
- collectClasspathURLs(getJavaProject(entry), urls, visited, false);
- break;
- }
- }
- }
- }
-
- private static void collectClasspathEntryURL(IClasspathEntry entry, List urls) {
- IPath path = entry.getPath();
- if (null == path.getDevice()) {
- IFile jarFile = ResourcesPlugin.getWorkspace().getRoot().getFile(path);
- if (jarFile.exists()) {
- path = jarFile.getLocation();
- }
- }
-
- URL url = ProjectUtilities.createFileURL(path);
- if (url != null)
- urls.add(url);
- }
-
-
- private static IJavaProject getJavaProject(IClasspathEntry entry) {
- IProject proj = ResourcesPlugin.getWorkspace().getRoot().getProject(entry.getPath().segment(0));
- if (proj != null)
- return getJavaProject(proj);
- return null;
- }
-
- /**
- * Is this project a binary project.
- * <p>
- * Typically a Java project is considered binary if it does not have a source entry in the classpath.
- *
- * @param project
- * Project to test
- * @return <code>true</code> if project is a binary project.
- */
- public static boolean isBinaryProject(IProject aProject) {
-
- IJavaProject javaProj = getJavaProject(aProject);
- if (javaProj == null)
- return false;
- IClasspathEntry[] entries = null;
- try {
- entries = javaProj.getRawClasspath();
- } catch (JavaModelException jme) {
- return false;
- }
- for (int i = 0; i < entries.length; i++) {
- IClasspathEntry entry = entries[i];
- if (entry.getEntryKind() == IClasspathEntry.CPE_SOURCE)
- return false;
- }
- return true;
- }
-
- /**
- * Append to java class path.
- * <p>
- * Append a list of IClasspathEntry's to the build path of the passed project. Updated to remove existing occurrences of the passed entries before
- * appending.
- * </p>
- *
- * @param p
- * project
- * @param appendClasspathEntries
- * list of entries
- * @throws JavaModelException
- *
- * @since 1.0.0
- */
- public static void appendJavaClassPath(IProject p, List appendClasspathEntries) throws JavaModelException {
- IJavaProject javaProject = null;
- try {
- javaProject = (IJavaProject) p.getNature(JavaCore.NATURE_ID);
- } catch (CoreException ignore) {
- }
- if (javaProject != null) {
- IClasspathEntry[] classpath = javaProject.getRawClasspath();
- List newPathList = new ArrayList(classpath.length);
- for (int i = 0; i < classpath.length; i++) {
- IClasspathEntry entry = classpath[i];
- // Skip entries which are in the append list
- if (appendClasspathEntries.indexOf(entry) < 0)
- newPathList.add(entry);
- }
- newPathList.addAll(appendClasspathEntries);
- IClasspathEntry[] newClasspath = (IClasspathEntry[]) newPathList.toArray(new IClasspathEntry[newPathList.size()]);
- javaProject.setRawClasspath(newClasspath, new NullProgressMonitor());
- }
- }
-
- /**
- * Append classpath entry.
- * <p>
- * Append one IClasspathEntry to the build path of the passed project. If a classpath entry having the same path as the parameter already exists,
- * then does nothing.
- * </p>
- *
- * @param p
- * Project
- * @param newEntry
- * Entry
- * @throws JavaModelException
- *
- * @since 1.0.0
- */
- public static void appendJavaClassPath(IProject p, IClasspathEntry newEntry) throws JavaModelException {
- IJavaProject javaProject = getJavaProject(p);
- if (javaProject == null)
- return;
- IClasspathEntry[] classpath = javaProject.getRawClasspath();
- List newPathList = new ArrayList(classpath.length);
- for (int i = 0; i < classpath.length; i++) {
- IClasspathEntry entry = classpath[i];
- // fix dup class path entry for .JETEmitter project
- // Skip the entry to be added if it already exists
- if (Platform.getOS().equals(Platform.OS_WIN32)) {
- if (!entry.getPath().toString().equalsIgnoreCase(newEntry.getPath().toString()))
- newPathList.add(entry);
- else
- return;
- } else {
- if (!entry.getPath().equals(newEntry.getPath()))
- newPathList.add(entry);
- else
- return;
- }
- }
- newPathList.add(newEntry);
- IClasspathEntry[] newClasspath = (IClasspathEntry[]) newPathList.toArray(new IClasspathEntry[newPathList.size()]);
- javaProject.setRawClasspath(newClasspath, new NullProgressMonitor());
- }
-
- /**
- * Return the source path matching the parameter; if the parameter is null, or if the source folder is not on the classpath, return the first
- * source path on the classpath
- *
- * @param p
- * project
- * @param defaultSourceName
- * source folder to find if on classpath, or if <code>null</code> the first folder
- * @return path searched for or <code>null</code> if not java project or some other problem.
- *
- * @since 1.0.0
- */
- public static IPath getSourcePathOrFirst(IProject p, String defaultSourceName) {
- IJavaProject javaProj = getJavaProject(p);
- if (javaProj == null)
- return null;
- IClasspathEntry[] cp = null;
- try {
- cp = javaProj.getRawClasspath();
- } catch (JavaModelException ex) {
- JEMUtilPlugin.getLogger().logError(ex);
- return null;
- }
- IClasspathEntry firstSource = null;
- IPath defaultSourcePath = null;
- if (defaultSourceName != null)
- defaultSourcePath = ProjectUtilities.createPath(p, defaultSourceName);
- for (int i = 0; i < cp.length; i++) {
- if (cp[i].getEntryKind() == IClasspathEntry.CPE_SOURCE) {
- if (firstSource == null) {
- firstSource = cp[i];
- if (defaultSourcePath == null)
- break;
- }
- if (cp[i].getPath().equals(defaultSourcePath))
- return defaultSourcePath.removeFirstSegments(1);
- }
- }
- if (firstSource == null)
- return null;
- if (firstSource.getPath().segment(0).equals(p.getName()))
- return firstSource.getPath().removeFirstSegments(1);
- return null;
- }
-
- /**
- * Hack to force a reload of the .classpath file
- *
- * @param project
- * project to reload
- * @since 1.0.0
- */
- public static void forceClasspathReload(IProject project) throws JavaModelException {
- IJavaProject javaProj = getJavaProject(project);
- if (javaProj != null) {
- IClasspathEntry[] entries = javaProj.readRawClasspath();
- if (entries != null) {
- IPath output = javaProj.readOutputLocation();
- if (output != null)
- javaProj.setRawClasspath(entries, output, null);
- }
- }
- }
-
- /**
- * Get the paths of all of the local jars in the classpath for the project. It does not recurse into referenced projects.
- *
- * @param proj
- * project to search (should be a java project).
- * @return A list of IPath, where each entry is a project relative path to a JAR contained in the project.
- */
- public static List getLocalJARPathsFromClasspath(IProject proj) {
- IJavaProject javaProj = getJavaProject(proj);
- if (javaProj == null)
- return null;
- IPath projectPath = proj.getFullPath();
- List result = new ArrayList();
- try {
- IClasspathEntry[] entries = javaProj.getRawClasspath();
- for (int i = 0; i < entries.length; i++) {
- IClasspathEntry entry = entries[i];
- if (entry.getEntryKind() == IClasspathEntry.CPE_LIBRARY) {
- IPath path = entry.getPath();
- int segments = path.matchingFirstSegments(projectPath);
- if (segments > 0)
- result.add(path.removeFirstSegments(segments));
- }
- }
- } catch (JavaModelException e) {
- JEMUtilPlugin.getLogger().logError(e);
- }
- return result;
- }
-
-
- /**
- * Return the source folder matching the parameter; if the parameter is null, or if the source folder is not on the classpath, return the first
- * source folder on the classpath
- *
- * @param p
- * project
- * @param defaultSourceName
- * source folder to find if on classpath, or if <code>null</code> the first folder
- * @return container searched for or <code>null</code> if not java project or some other problem.
- *
- * @since 1.0.0
- */
- public static IContainer getSourceFolderOrFirst(IProject p, String defaultSourceName) {
- try {
- IPath sourcePath = getSourcePathOrFirst(p, defaultSourceName);
- if (sourcePath == null)
- return null;
- else if (sourcePath.isEmpty())
- return p;
- else
- return p.getFolder(sourcePath);
- } catch (IllegalArgumentException ex) {
- return null;
- }
- }
-
- /**
- * Returns a list of IFolder that represents each source folder in a java project
- *
- * @deprecated Use {@link #getSourceContainers(IProject)}because the project itself might be a source container
- *
- * @param p
- * project
- * @return
- *
- * @since 1.0.0
- */
- public static List getSourceFolders(IProject p) {
- try {
- List sourceFolders = new ArrayList();
- List sourcePaths = getSourcePaths(p);
- if (sourcePaths != null && !sourcePaths.isEmpty()) {
- for (int i = 0; i < sourcePaths.size(); i++) {
- IPath path = (IPath) sourcePaths.get(i);
- if (!path.isEmpty())
- sourceFolders.add(p.getFolder(path));
- }
- }
- return sourceFolders;
- } catch (IllegalArgumentException ex) {
- return Collections.EMPTY_LIST;
- }
- }
-}
diff --git a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/workbench/utility/NoASTResolver.java b/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/workbench/utility/NoASTResolver.java
deleted file mode 100644
index 3d93d0867..000000000
--- a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/workbench/utility/NoASTResolver.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: NoASTResolver.java,v $
- * $Revision: 1.3 $ $Date: 2005/02/15 23:09:27 $
- */
-package org.eclipse.jem.workbench.utility;
-
-import org.eclipse.jdt.core.dom.Name;
-import org.eclipse.jdt.core.dom.Type;
-
-import org.eclipse.jem.internal.instantiation.InstantiationFactory;
-import org.eclipse.jem.internal.instantiation.PTExpression;
-import org.eclipse.jem.workbench.utility.ParseTreeCreationFromAST.InvalidExpressionException;
-
-
-/**
- * This is used for AST Resolution, but it simply turns Name into PTName. Useful when
- * just creating a parse tree where we know the names are ok and just types.
- * @since 1.0.0
- */
-public class NoASTResolver extends ASTBoundResolver {
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.workbench.utility.ParseTreeCreationFromAST.Resolver#resolveName(org.eclipse.jdt.core.dom.Name)
- */
- public PTExpression resolveName(Name name) throws InvalidExpressionException {
- return InstantiationFactory.eINSTANCE.createPTName(name.toString());
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.workbench.utility.ParseTreeCreationFromAST.Resolver#resolveType(org.eclipse.jdt.core.dom.Type)
- */
- public String resolveType(Type type) {
- return type.toString();
- }
- /* (non-Javadoc)
- * @see org.eclipse.jem.workbench.utility.ParseTreeCreationFromAST.Resolver#resolveType(org.eclipse.jdt.core.dom.Name)
- */
- public String resolveType(Name name) throws InvalidExpressionException {
- return name.toString();
- }
-}
diff --git a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/workbench/utility/ParseTreeCreationFromAST.java b/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/workbench/utility/ParseTreeCreationFromAST.java
deleted file mode 100644
index 266e92bd5..000000000
--- a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/workbench/utility/ParseTreeCreationFromAST.java
+++ /dev/null
@@ -1,565 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: ParseTreeCreationFromAST.java,v $
- * $Revision: 1.14 $ $Date: 2005/06/21 20:05:18 $
- */
-package org.eclipse.jem.workbench.utility;
-
-import java.text.MessageFormat;
-import java.util.HashMap;
-import java.util.List;
-
-import org.eclipse.jdt.core.dom.*;
-import org.eclipse.jdt.core.dom.Expression;
-
-import org.eclipse.jem.internal.instantiation.*;
-
-/**
- * Create a parse tree from an AST node.
- * @since 1.0.0
- */
-public class ParseTreeCreationFromAST extends ASTVisitor {
- protected final Resolver resolver;
- protected PTExpression expression; // Each visit (or endvisit) will put into expression the result of the visit if it produced an expression.
-
- /**
- * This is the abstract base class used by ParseTreeCreationFromAST to resolve the types to the appropriate
- * types (e.g. "String" to "java.lang.String").
- *
- * @see org.eclipse.jem.workbench.utility.ParseTreeCreationFromAST
- * @since 1.0.0
- */
- public static abstract class Resolver {
-
- /**
- * Resolve the Name. It can return either a PTName if it is just a classname,
- * or a PTFieldAccess if it resolves to a PTFieldAccess. The PTFieldAccess should
- * be complete. e.g we have class like:
- * <code>
- * package xyz;
- * public class AClass {
- * public java.awt.Rectangle rect;
- * }
- * </code>
- * Then a Name like <code>AClass.rect.x</code> should resolve to:
- *
- * PTFieldAccess:
- * receiver:
- * PTFieldAccess
- * receiver: xyz.AClass
- * field: "rect"
- * field: "x"
- *
- * Actually it can return any valid expression that has a value (i.e. it cannot be a method invocation with a <code>void</code> return type).
- *
- * @param name
- * @return Either a fully-qualified name (as a PTName) or a PTFieldAccess, any other type of expression.
- *
- * @since 1.0.0
- */
- public abstract PTExpression resolveName(Name name) throws InvalidExpressionException;
-
- /**
- * Resolve the type. If it is an array type return it in format "type[][]".
- *
- * @param type
- * @return The type name, including brackets if array type.
- *
- * @since 1.0.0
- */
- public abstract String resolveType(Type type) throws InvalidExpressionException;
-
- /**
- * This is for resolving "this" literal. It should either return a PTThisLiteral, if it
- * can't do resolve, or some PTExpression that can resolve to "this" for evaluation.
- *
- * @return If resolvable, a PTExpression, else a PTThisLiteral if not resolvable.
- * @throws InvalidExpressionException
- *
- * @since 1.0.0
- */
- public abstract PTExpression resolveThis() throws InvalidExpressionException;
-
- /**
- * Resolve the type specified as a Name. It may be a simple name or it may be
- * a qualified name. This is used when we have Name that we know must be a
- * type. This is so that there is no confusion with it possibly being a field or variable
- * that has the same case and spelling as a type name.
- * @param name
- * @return the type name.
- * @throws InvalidExpressionException
- *
- * @since 1.0.0
- */
- public abstract String resolveType(Name name) throws InvalidExpressionException;
-
- /**
- * This is used by the resolver if it can't resolve for some reason. This will throw
- * an invalid expression exception which will be handled by the ParseTreeCreationFromAST.
- *
- * @param msg Message to be put into the exception.
- * @throws InvalidExpressionException
- *
- * @since 1.0.0
- */
- protected final void throwInvalidExpressionException(String msg) throws InvalidExpressionException {
- throw new InvalidExpressionException(msg);
- }
- }
-
- /*
- * When an invalid expression has been found this exception should be thrown. It will
- * be caught at the top and converted into an InvalidExpression and the rest of the parse tree will be
- * thrown away.
- *
- * The message will be a message as to why it is invalid.
- *
- * @since 1.0.0
- */
- protected static class InvalidExpressionException extends IllegalArgumentException {
-
- /**
- * Comment for <code>serialVersionUID</code>
- *
- * @since 1.1.0
- */
- private static final long serialVersionUID = 2429845631915206678L;
-
- /**
- * @param s The message to be used in the final invalid expression.
- *
- * @since 1.0.0
- */
- public InvalidExpressionException(String s) {
- super(s);
- }
- }
-
- /**
- * Construct with the given resolver.
- *
- * @param resolver
- *
- * @since 1.0.0
- */
- public ParseTreeCreationFromAST(Resolver resolver) {
- this.resolver = resolver;
- }
-
- /**
- * Process the AST Expression and return a PTExpression. If any part was invalid, then
- * only an PTInvalidExpression will be returned.
- *
- * @param astExpression
- * @return The PTExpression.
- *
- * @since 1.0.0
- */
- public final PTExpression createExpression(Expression astExpression) {
- try {
- return perform(astExpression);
- } catch (InvalidExpressionException e) {
- // Create a msg that is formed of the exception message and the full init string.
- String msg = MessageFormat.format(WorkbenchUtilityMessages.ParseTreeCreationFromAST_0, new Object[] {e.getLocalizedMessage(), astExpression.toString()});
- PTInvalidExpression exp = InstantiationFactory.eINSTANCE.createPTInvalidExpression();
- exp.setMessage(msg);
- return exp;
- }
- }
-
- /*
- * Visit the AST expression and get the ParseTree Expression.
- * This is used by the individual visits when parsing a tree.
- * It passes to the top method (createExpression), which can
- * handle the InvalidExpressionException.
- *
- * If any visit doesn't return an expression, then an invalid
- * expression exception will be thrown to indicate this. If the
- * incoming expression is <code>null</code>, then return of <code>null</code> is ok because
- * this would be for an optional expression which didn't exist.
- *
- * @return The new ParseTree Expression or <code>null</code> if incoming expression was null.
- *
- * @see createExpression(org.eclipse.jdt.core.dom.Expression)
- * @exception InvalidExpressionException
- * @since 1.0.0
- */
- protected final PTExpression perform(Expression astExpression) {
- if (astExpression != null) {
- expression = null;
- astExpression.accept(this);
- if (expression == null)
- throw new InvalidExpressionException(MessageFormat.format(WorkbenchUtilityMessages.ParseTreeCreationFromAST_ExpressionTooComplicated_EXC_, new Object[] {astExpression.toString()}));
- return expression;
- } else
- return null; // This is ok. It means an optional expression was being processed and the expression didn't exist.
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.ArrayAccess)
- */
- public boolean visit(ArrayAccess node) {
- PTArrayAccess aa = InstantiationFactory.eINSTANCE.createPTArrayAccess();
- List indexes = aa.getIndexes();
- Expression arrayExp = node;
- while (arrayExp.getNodeType() == ASTNode.ARRAY_ACCESS) {
- // Visit the index to get the index expression.
- ArrayAccess array = (ArrayAccess) arrayExp;
- indexes.add(0, perform(array.getIndex())); // We're trying to create the final expression from inside out, the indexes are created in reverse order.
- arrayExp = array.getArray();
- }
- aa.setArray(perform(arrayExp)); // Final arrayExp is the true expression.
- expression = aa; // Set the return expression for this visit.
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.ArrayCreation)
- */
- public boolean visit(ArrayCreation node) {
- PTArrayCreation ac = InstantiationFactory.eINSTANCE.createPTArrayCreation();
- ac.setType(resolver.resolveType(node.getType()));
- List acDims = ac.getDimensions();
- List nDims = node.dimensions();
- int nsize = nDims.size();
- for (int i = 0; i < nsize; i++) {
- acDims.add(perform((Expression) nDims.get(i)));
- }
- ac.setInitializer((PTArrayInitializer) perform(node.getInitializer()));
- expression = ac;
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.ArrayInitializer)
- */
- public boolean visit(ArrayInitializer node) {
- PTArrayInitializer ai = InstantiationFactory.eINSTANCE.createPTArrayInitializer();
- List exps = node.expressions();
- List aiexps = ai.getExpressions();
- int nexp = exps.size();
- for (int i = 0; i < nexp; i++) {
- aiexps.add(perform((Expression) exps.get(i)));
- }
- expression = ai;
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.Assignment)
- */
- public boolean visit(Assignment node) {
- return false; // We can't handle assignment.
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.BooleanLiteral)
- */
- public boolean visit(BooleanLiteral node) {
- PTBooleanLiteral bl = InstantiationFactory.eINSTANCE.createPTBooleanLiteral();
- bl.setBooleanValue(node.booleanValue());
- expression = bl;
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.CastExpression)
- */
- public boolean visit(CastExpression node) {
- PTCastExpression ct = InstantiationFactory.eINSTANCE.createPTCastExpression();
- ct.setType(resolver.resolveType(node.getType()));
- ct.setExpression(perform(node.getExpression()));
- expression = ct;
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.CharacterLiteral)
- */
- public boolean visit(CharacterLiteral node) {
- PTCharacterLiteral cl = InstantiationFactory.eINSTANCE.createPTCharacterLiteral();
- cl.setEscapedValue(node.getEscapedValue());
- cl.setCharValue(node.charValue());
- expression = cl;
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.ClassInstanceCreation)
- */
- public boolean visit(ClassInstanceCreation node) {
- if (node.getAnonymousClassDeclaration() != null) { throw new InvalidExpressionException(WorkbenchUtilityMessages.ParseTreeCreationFromAST_CannotProcessAnonymousDeclarations_EXC_); //$NON-NLS-1$
- }
- PTClassInstanceCreation cic = InstantiationFactory.eINSTANCE.createPTClassInstanceCreation();
- // If ast level = 2, then you must use getName, but the name needs to be turned into a type
- // so that it can be resolved. If ast level > 2, then it will return a type to be resolved.
- // Note: can't just use resolve name on the name because if a field and a class were spelled
- // the same then the codegen resolver would return an instance ref to the field instead.
- String type = node.getAST().apiLevel() == AST.JLS2 ? resolver.resolveType(node.getName()) : resolver.resolveType(node.getType());
- if (type == null) {
- type = node.getAST().apiLevel() == AST.JLS2 ? node.getName().getFullyQualifiedName() : node.getType().toString();
- }
- cic.setType(type);
- List args = cic.getArguments();
- List nargs = node.arguments();
- int nsize = nargs.size();
- for (int i = 0; i < nsize; i++) {
- args.add(perform((Expression) nargs.get(i)));
- }
- expression = cic;
- return false;
-
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.ConditionalExpression)
- */
- public boolean visit(ConditionalExpression node) {
- PTConditionalExpression ce = InstantiationFactory.eINSTANCE.createPTConditionalExpression();
- ce.setCondition(perform(node.getExpression()));
- ce.setTrue(perform(node.getThenExpression()));
- ce.setFalse(perform(node.getElseExpression()));
- expression = ce;
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.FieldAccess)
- */
- public boolean visit(FieldAccess node) {
- PTFieldAccess fa = InstantiationFactory.eINSTANCE.createPTFieldAccess();
- fa.setReceiver(perform(node.getExpression()));
- fa.setField(node.getName().getIdentifier());
- expression = fa;
- return false;
- }
-
- private static HashMap infixOperToParseOper;
- private final PTInfixOperator getParseInfix(InfixExpression.Operator operator) {
- if (prefixOperToParseOper == null) {
- infixOperToParseOper = new HashMap(5);
- infixOperToParseOper.put(InfixExpression.Operator.AND, PTInfixOperator.AND_LITERAL);
- infixOperToParseOper.put(InfixExpression.Operator.CONDITIONAL_AND, PTInfixOperator.CONDITIONAL_AND_LITERAL);
- infixOperToParseOper.put(InfixExpression.Operator.CONDITIONAL_OR, PTInfixOperator.CONDITIONAL_OR_LITERAL);
- infixOperToParseOper.put(InfixExpression.Operator.DIVIDE, PTInfixOperator.DIVIDE_LITERAL);
- infixOperToParseOper.put(InfixExpression.Operator.EQUALS, PTInfixOperator.EQUALS_LITERAL);
- infixOperToParseOper.put(InfixExpression.Operator.GREATER_EQUALS, PTInfixOperator.GREATER_EQUALS_LITERAL);
- infixOperToParseOper.put(InfixExpression.Operator.GREATER, PTInfixOperator.GREATER_LITERAL);
- infixOperToParseOper.put(InfixExpression.Operator.LEFT_SHIFT, PTInfixOperator.LEFT_SHIFT_LITERAL);
- infixOperToParseOper.put(InfixExpression.Operator.LESS_EQUALS, PTInfixOperator.LESS_EQUALS_LITERAL);
- infixOperToParseOper.put(InfixExpression.Operator.LESS, PTInfixOperator.LESS_LITERAL);
- infixOperToParseOper.put(InfixExpression.Operator.MINUS, PTInfixOperator.MINUS_LITERAL);
- infixOperToParseOper.put(InfixExpression.Operator.NOT_EQUALS, PTInfixOperator.NOT_EQUALS_LITERAL);
- infixOperToParseOper.put(InfixExpression.Operator.OR, PTInfixOperator.OR_LITERAL);
- infixOperToParseOper.put(InfixExpression.Operator.PLUS, PTInfixOperator.PLUS_LITERAL);
- infixOperToParseOper.put(InfixExpression.Operator.REMAINDER, PTInfixOperator.REMAINDER_LITERAL);
- infixOperToParseOper.put(InfixExpression.Operator.RIGHT_SHIFT_SIGNED, PTInfixOperator.RIGHT_SHIFT_SIGNED_LITERAL);
- infixOperToParseOper.put(InfixExpression.Operator.RIGHT_SHIFT_UNSIGNED, PTInfixOperator.RIGHT_SHIFT_UNSIGNED_LITERAL);
- infixOperToParseOper.put(InfixExpression.Operator.TIMES, PTInfixOperator.TIMES_LITERAL);
- infixOperToParseOper.put(InfixExpression.Operator.XOR, PTInfixOperator.XOR_LITERAL);
- }
- return (PTInfixOperator) infixOperToParseOper.get(operator);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.InfixExpression)
- */
- public boolean visit(InfixExpression node) {
- PTInfixExpression inf = InstantiationFactory.eINSTANCE.createPTInfixExpression();
- inf.setLeftOperand(perform(node.getLeftOperand()));
- PTInfixOperator inoper = getParseInfix(node.getOperator());
- if (inoper == null) {
- // It is not one we can handle.
- throw new InvalidExpressionException(
- MessageFormat.format(WorkbenchUtilityMessages.ParseTreeCreationFromAST_OperatorTooComplicatedToHandle_EXC_, new Object[] { node.getOperator().toString() }));
- }
- inf.setOperator(inoper);
- inf.setRightOperand(perform(node.getRightOperand()));
- List eops = inf.getExtendedOperands();
- List neops = node.extendedOperands();
- int nsize = neops.size();
- for (int i = 0; i < nsize; i++) {
- eops.add(perform((Expression) neops.get(i)));
- }
- expression = inf;
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.InstanceofExpression)
- */
- public boolean visit(InstanceofExpression node) {
- PTInstanceof inof = InstantiationFactory.eINSTANCE.createPTInstanceof();
- inof.setOperand(perform(node.getLeftOperand()));
- inof.setType(resolver.resolveType(node.getRightOperand()));
- expression = inof;
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.PostfixExpression)
- */
- public boolean visit(PostfixExpression node) {
- return false; // We can't handle post fix.
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.MethodInvocation)
- */
- public boolean visit(MethodInvocation node) {
- PTMethodInvocation mi = InstantiationFactory.eINSTANCE.createPTMethodInvocation();
- mi.setReceiver(perform(node.getExpression()));
- mi.setName(node.getName().getIdentifier());
- List args = mi.getArguments();
- List nargs = node.arguments();
- int nsize = nargs.size();
- for (int i = 0; i < nsize; i++) {
- args.add(perform((Expression) nargs.get(i)));
- }
- expression = mi;
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.NullLiteral)
- */
- public boolean visit(NullLiteral node) {
- expression = InstantiationFactory.eINSTANCE.createPTNullLiteral();
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.NumberLiteral)
- */
- public boolean visit(NumberLiteral node) {
- PTNumberLiteral nl = InstantiationFactory.eINSTANCE.createPTNumberLiteral();
- nl.setToken(node.getToken());
- expression = nl;
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.ParenthesizedExpression)
- */
- public boolean visit(ParenthesizedExpression node) {
- PTParenthesizedExpression pe = InstantiationFactory.eINSTANCE.createPTParenthesizedExpression();
- pe.setExpression(perform(node.getExpression()));
- expression = pe;
- return false;
- }
-
- private static HashMap prefixOperToParseOper;
- private final PTPrefixOperator getParsePrefix(PrefixExpression.Operator operator) {
- if (prefixOperToParseOper == null) {
- prefixOperToParseOper = new HashMap(5);
- prefixOperToParseOper.put(PrefixExpression.Operator.COMPLEMENT, PTPrefixOperator.COMPLEMENT_LITERAL);
- prefixOperToParseOper.put(PrefixExpression.Operator.MINUS, PTPrefixOperator.MINUS_LITERAL);
- prefixOperToParseOper.put(PrefixExpression.Operator.NOT, PTPrefixOperator.NOT_LITERAL);
- prefixOperToParseOper.put(PrefixExpression.Operator.PLUS, PTPrefixOperator.PLUS_LITERAL);
- }
- return (PTPrefixOperator) prefixOperToParseOper.get(operator);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.PrefixExpression)
- */
- public boolean visit(PrefixExpression node) {
- if (node.getOperand().getNodeType() == ASTNode.NUMBER_LITERAL) {
- // For number literals we see if it is a "+" or "-" prefix, and if it is, we simply
- // create a PTNumberLiteral with the operator already in it. It is a simplification.
- // Any other operator we've left alone since those won't be decoded simply by the
- // Number decoder.
- // If not a number literal, then leave alone since needs to be handled as a prefix
- // operation.
- PrefixExpression.Operator operator = node.getOperator();
- if (operator == PrefixExpression.Operator.PLUS || operator == PrefixExpression.Operator.MINUS) {
- PTNumberLiteral nm = InstantiationFactory.eINSTANCE.createPTNumberLiteral();
- nm.setToken(operator.toString() + ((NumberLiteral) node.getOperand()).getToken());
- expression = nm;
- return false;
- }
- }
-
- PTPrefixExpression pe = InstantiationFactory.eINSTANCE.createPTPrefixExpression();
- PTPrefixOperator ptoper = getParsePrefix(node.getOperator());
- if (ptoper == null) {
- // It is not one we can handle.
- throw new InvalidExpressionException(
- MessageFormat.format(WorkbenchUtilityMessages.ParseTreeCreationFromAST_OperatorTooComplicatedToHandle_EXC_, new Object[] { node.getOperator().toString() }));
- }
- pe.setOperator(ptoper);
- expression = pe;
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.QualifiedName)
- */
- public boolean visit(QualifiedName node) {
- expression = resolver.resolveName(node);
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.SimpleName)
- */
- public boolean visit(SimpleName node) {
- expression = resolver.resolveName(node);
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.StringLiteral)
- */
- public boolean visit(StringLiteral node) {
- PTStringLiteral sl = InstantiationFactory.eINSTANCE.createPTStringLiteral();
- sl.setEscapedValue(node.getEscapedValue());
- sl.setLiteralValue(node.getLiteralValue());
- expression = sl;
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.SuperFieldAccess)
- */
- public boolean visit(SuperFieldAccess node) {
- return false; // We can't handle post fix.
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.SuperMethodInvocation)
- */
- public boolean visit(SuperMethodInvocation node) {
- return false; // We can't handle post fix.
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.ThisExpression)
- */
- public boolean visit(ThisExpression node) {
- expression = resolver.resolveThis();
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.TypeLiteral)
- */
- public boolean visit(TypeLiteral node) {
- PTTypeLiteral ptl = InstantiationFactory.eINSTANCE.createPTTypeLiteral();
- ptl.setType(resolver.resolveType(node.getType()));
- expression = ptl;
- return false;
- }
-
-}
diff --git a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/workbench/utility/WorkbenchUtilityMessages.java b/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/workbench/utility/WorkbenchUtilityMessages.java
deleted file mode 100644
index 8e77ae1ac..000000000
--- a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/workbench/utility/WorkbenchUtilityMessages.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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.workbench.utility;
-
-import org.eclipse.osgi.util.NLS;
-
-public final class WorkbenchUtilityMessages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.jem.workbench.utility.messages";//$NON-NLS-1$
-
- private WorkbenchUtilityMessages() {
- // Do not instantiate
- }
-
- public static String ParseTreeCreationFromAST_0;
- public static String ParseTreeCreationFromAST_ExpressionTooComplicated_EXC_;
- public static String ParseTreeCreationFromAST_CannotProcessAnonymousDeclarations_EXC_;
- public static String ParseTreeCreationFromAST_OperatorTooComplicatedToHandle_EXC_;
- public static String ASTBoundResolver_CannotHandleLocalField_EXC_;
- public static String ASTBoundResolver_CannotHandleLocalVariable_EXC_;
-
- static {
- NLS.initializeMessages(BUNDLE_NAME, WorkbenchUtilityMessages.class);
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/workbench/utility/messages.properties b/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/workbench/utility/messages.properties
deleted file mode 100644
index 895da7a72..000000000
--- a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/workbench/utility/messages.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 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
-###############################################################################
-ParseTreeCreationFromAST_0 = {0} - {1}
-ParseTreeCreationFromAST_ExpressionTooComplicated_EXC_ = IWAV0177E Expression "{0}" is too complicated.
-ParseTreeCreationFromAST_CannotProcessAnonymousDeclarations_EXC_ = IWAV0178E Cannot process anonymous declarations.
-ParseTreeCreationFromAST_OperatorTooComplicatedToHandle_EXC_ = IWAV0179E Operator "{0}" is too complicated to handle.
-ASTBoundResolver_CannotHandleLocalField_EXC_=Cannot handle local field access of "{0}"
-ASTBoundResolver_CannotHandleLocalVariable_EXC_=Cannot handle local variable access of "{0}"
diff --git a/plugins/org.eclipse.jem/.classpath b/plugins/org.eclipse.jem/.classpath
deleted file mode 100644
index 34cd7a659..000000000
--- a/plugins/org.eclipse.jem/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="javainst/"/>
- <classpathentry kind="src" path="mofjava/"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.jem/.cvsignore b/plugins/org.eclipse.jem/.cvsignore
deleted file mode 100644
index 60463af3f..000000000
--- a/plugins/org.eclipse.jem/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-bin
-build.xml
diff --git a/plugins/org.eclipse.jem/.options b/plugins/org.eclipse.jem/.options
deleted file mode 100644
index 493f8d482..000000000
--- a/plugins/org.eclipse.jem/.options
+++ /dev/null
@@ -1,3 +0,0 @@
-org.eclipse.jem/debug/logtrace=default
-org.eclipse.jem/debug/logtracefile=default
-org.eclipse.jem/debug/loglevel=default \ No newline at end of file
diff --git a/plugins/org.eclipse.jem/.project b/plugins/org.eclipse.jem/.project
deleted file mode 100644
index 52a566e30..000000000
--- a/plugins/org.eclipse.jem/.project
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.jem</name>
- <comment></comment>
- <projects>
- <project>org.eclipse.core.runtime.compatibility</project>
- <project>org.eclipse.emf.ecore.xmi</project>
- <project>org.eclipse.jem.proxy</project>
- <project>org.eclipse.osgi</project>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>com.ibm.rtp.tools.rose.builder</name>
- <arguments>
- <dictionary>
- <key>rose</key>
- <value></value>
- </dictionary>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>com.ibm.rtp.tools.rose.toolnature</nature>
- </natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.jem/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.jem/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 45e69a94e..000000000
--- a/plugins/org.eclipse.jem/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,282 +0,0 @@
-#Thu Jun 16 12:42:28 EDT 2005
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=1
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines=false
-org.eclipse.jdt.core.formatter.comment.format_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=150
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=150
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
diff --git a/plugins/org.eclipse.jem/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.jem/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index faeaaf02e..000000000
--- a/plugins/org.eclipse.jem/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,7 +0,0 @@
-#Wed May 11 18:32:13 EDT 2005
-eclipse.preferences.version=1
-formatter_settings_version=8
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=java;javax;org;org.eclipse.wtp;org.eclipse.jem;org.eclipse.ve.internal.cdm;org.eclipse.ve.internal.cde;org.eclipse.ve.internal.jcm;org.eclipse.ve.internal.java;org.eclipse.ve;com;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates/>
diff --git a/plugins/org.eclipse.jem/META-INF/MANIFEST.MF b/plugins/org.eclipse.jem/META-INF/MANIFEST.MF
deleted file mode 100644
index 830cd5a1d..000000000
--- a/plugins/org.eclipse.jem/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,28 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.jem; singleton:=true
-Bundle-Version: 1.1.0
-Bundle-ClassPath: javainst.jar,
- mofjava.jar
-Bundle-Activator: org.eclipse.jem.internal.core.JEMPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.jem.internal.core,
- org.eclipse.jem.internal.instantiation,
- org.eclipse.jem.internal.instantiation.base,
- org.eclipse.jem.internal.instantiation.impl,
- org.eclipse.jem.internal.java.adapters,
- org.eclipse.jem.internal.java.adapters.jdk,
- org.eclipse.jem.internal.java.adapters.nls,
- org.eclipse.jem.internal.java.beaninfo,
- org.eclipse.jem.internal.java.init,
- org.eclipse.jem.internal.java.instantiation,
- org.eclipse.jem.java,
- org.eclipse.jem.java.impl,
- org.eclipse.jem.java.util
-Require-Bundle: org.eclipse.emf.ecore.xmi,
- org.eclipse.jem.proxy;resolution:=optional,
- org.eclipse.core.runtime,
- org.eclipse.jem.util
-Eclipse-AutoStart: true
diff --git a/plugins/org.eclipse.jem/about.html b/plugins/org.eclipse.jem/about.html
deleted file mode 100644
index 6f6b96c4c..000000000
--- a/plugins/org.eclipse.jem/about.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>February 24, 2005</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/plugins/org.eclipse.jem/about.ini b/plugins/org.eclipse.jem/about.ini
deleted file mode 100644
index a21a3ecea..000000000
--- a/plugins/org.eclipse.jem/about.ini
+++ /dev/null
@@ -1,29 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=eclipse32.gif
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-
diff --git a/plugins/org.eclipse.jem/about.mappings b/plugins/org.eclipse.jem/about.mappings
deleted file mode 100644
index bddaab431..000000000
--- a/plugins/org.eclipse.jem/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@ \ No newline at end of file
diff --git a/plugins/org.eclipse.jem/about.properties b/plugins/org.eclipse.jem/about.properties
deleted file mode 100644
index 6cf79c112..000000000
--- a/plugins/org.eclipse.jem/about.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/plugins/org.eclipse.jem/about.properties,v $
-# $Revision: 1.6 $ $Date: 2005/02/15 22:38:01 $
-#
-
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-
-blurb=Java EMF Model\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others. 2000, 2004. All rights reserved.\n\
-Visit http://www.eclipse.org/vep
diff --git a/plugins/org.eclipse.jem/build.properties b/plugins/org.eclipse.jem/build.properties
deleted file mode 100644
index 555d3cfb9..000000000
--- a/plugins/org.eclipse.jem/build.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-src.excludes = **/.cvsignore
-source.mofjava.jar = mofjava/
-bin.includes = plugin.xml,\
- plugin.properties,\
- javainst.jar,\
- about.html,\
- about.ini,\
- about.mappings,\
- about.properties,\
- eclipse32.gif,\
- overrides/,\
- mofjava.jar,\
- .options,\
- META-INF/
-jars.compile.order = mofjava.jar,\
- javainst.jar
-source.javainst.jar = javainst/
-src.includes = about.html,\
- model/,\
- rose/
diff --git a/plugins/org.eclipse.jem/eclipse32.gif b/plugins/org.eclipse.jem/eclipse32.gif
deleted file mode 100644
index e6ad7ccd7..000000000
--- a/plugins/org.eclipse.jem/eclipse32.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/ImplicitAllocation.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/ImplicitAllocation.java
deleted file mode 100644
index ca12d641b..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/ImplicitAllocation.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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.instantiation;
-/*
- * $RCSfile: ImplicitAllocation.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:36:09 $
- */
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Implicit Allocation</b></em>'.
- * <p>
- * This class is for an implicit allocation where the object comes from the feature of another object. It is the live Java value from the remote vm.
- * </p>
- * @since 1.0.0
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * This class is for an implicit allocation where the object comes from the feature of another object. It is the live Java value from the remote vm.
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.instantiation.ImplicitAllocation#getParent <em>Parent</em>}</li>
- * <li>{@link org.eclipse.jem.internal.instantiation.ImplicitAllocation#getFeature <em>Feature</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getImplicitAllocation()
- * @model
- * @generated
- */
-public interface ImplicitAllocation extends JavaAllocation{
- /**
- * Returns the value of the '<em><b>Parent</b></em>' reference.
- * <!-- begin-user-doc -->
- * <p>
- * The parent who is to give up the value.
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Parent</em>' reference.
- * @see #setParent(EObject)
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getImplicitAllocation_Parent()
- * @model required="true"
- * @generated
- */
- EObject getParent();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.ImplicitAllocation#getParent <em>Parent</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Parent</em>' reference.
- * @see #getParent()
- * @generated
- */
- void setParent(EObject value);
-
- /**
- * Returns the value of the '<em><b>Feature</b></em>' reference.
- * <!-- begin-user-doc -->
- * <p>
- * The feature that will be used to query the live value.
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Feature</em>' reference.
- * @see #setFeature(EStructuralFeature)
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getImplicitAllocation_Feature()
- * @model required="true"
- * @generated
- */
- EStructuralFeature getFeature();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.ImplicitAllocation#getFeature <em>Feature</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Feature</em>' reference.
- * @see #getFeature()
- * @generated
- */
- void setFeature(EStructuralFeature value);
-
-} // ImplicitAllocation
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/InitStringAllocation.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/InitStringAllocation.java
deleted file mode 100644
index 06ad7fa78..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/InitStringAllocation.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: InitStringAllocation.java,v $
- * $Revision: 1.6 $ $Date: 2005/02/15 22:36:09 $
- */
-package org.eclipse.jem.internal.instantiation;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Init String Allocation</b></em>'.
- * <p>
- * This is used when the allocation string can be parsed by the remote vm. It uses the allocString.
- * </p>
- * @see org.eclipse.jem.internal.instantiation.JavaAllocation#getAllocString()
- * @since 1.0.0
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * This is used when the allocation string can be parsed by the remote vm. It uses the allocString.
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.instantiation.InitStringAllocation#getInitString <em>Init String</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getInitStringAllocation()
- * @model
- * @generated
- */
-public interface InitStringAllocation extends JavaAllocation{
- /**
- * Returns the value of the '<em><b>Init String</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Init String</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * This is the initialization string for this object.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Init String</em>' attribute.
- * @see #setInitString(String)
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getInitStringAllocation_InitString()
- * @model
- * @generated
- */
- String getInitString();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.InitStringAllocation#getInitString <em>Init String</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Init String</em>' attribute.
- * @see #getInitString()
- * @generated
- */
- void setInitString(String value);
-
-} // InitStringAllocation
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/InstantiationFactory.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/InstantiationFactory.java
deleted file mode 100644
index 276b22b33..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/InstantiationFactory.java
+++ /dev/null
@@ -1,499 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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.instantiation;
-/*
- * $RCSfile: InstantiationFactory.java,v $
- * $Revision: 1.7 $ $Date: 2005/02/15 22:36:09 $
- */
-
-import java.util.List;
-
-import org.eclipse.emf.ecore.*;
-import org.eclipse.emf.ecore.EFactory;
-import org.eclipse.emf.ecore.EObject;
-
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Factory</b> for the model.
- * It provides a create method for each non-abstract class of the model.
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage
- * @generated
- */
-public interface InstantiationFactory extends EFactory{
- /**
- * The singleton instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- InstantiationFactory eINSTANCE = new org.eclipse.jem.internal.instantiation.impl.InstantiationFactoryImpl();
-
- /**
- * Returns a new object of class '<em>Init String Allocation</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Init String Allocation</em>'.
- * @generated
- */
- InitStringAllocation createInitStringAllocation();
-
- /**
- * Returns a new object of class '<em>Implicit Allocation</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Implicit Allocation</em>'.
- * @generated
- */
- ImplicitAllocation createImplicitAllocation();
-
- /**
- * Returns a new object of class '<em>Parse Tree Allocation</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Parse Tree Allocation</em>'.
- * @generated
- */
- ParseTreeAllocation createParseTreeAllocation();
-
- /**
- * Utility to create a parse tree allocation with an expression.
- *
- * @param expression
- * @return The new parse tree allocation.
- *
- * @since 1.0.0
- */
- ParseTreeAllocation createParseTreeAllocation(PTExpression expression);
-
- /**
- * Returns a new object of class '<em>PT Array Access</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>PT Array Access</em>'.
- * @generated
- */
- PTArrayAccess createPTArrayAccess();
-
- /**
- * Utility to create a new array access with the array and indexes.
- *
- * @param array
- * @param indexes list of index expressions
- * @return The new array access.
- *
- * @since 1.0.0
- */
- PTArrayAccess createPTArrayAccess(PTExpression array, List indexes);
-
- /**
- * Returns a new object of class '<em>PT Array Creation</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>PT Array Creation</em>'.
- * @generated
- */
- PTArrayCreation createPTArrayCreation();
-
- /**
- * Utility to create an array creation with the type, dimensions, and initializer.
- *
- * @param type The type, e.g. <code>java.lang.String</code>.
- * @param dimensions The dimension expressions, <code>null</code> if no dimension expressions.
- * @param initializer The initializer, <code>null</code> if no initializer.
- * @return The new array creation.
- *
- * @since 1.0.0
- */
- PTArrayCreation createPTArrayCreation(String type, List dimensions, PTArrayInitializer initializer);
-
- /**
- * Returns a new object of class '<em>PT Array Initializer</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>PT Array Initializer</em>'.
- * @generated
- */
- PTArrayInitializer createPTArrayInitializer();
-
- /**
- * Utility to create an array initilizer with initialize expessions.
- * @param expressions The list of expressions, <code>null</code> if empty array initializer.
- * @return The new array initializer.
- *
- * @since 1.0.0
- */
- PTArrayInitializer createPTArrayInitializer(List expressions);
-
- /**
- * Returns a new object of class '<em>PT Boolean Literal</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>PT Boolean Literal</em>'.
- * @generated
- */
- PTBooleanLiteral createPTBooleanLiteral();
-
- /**
- * Utility to create a boolean literal with a given value.
- * @param booleanValue
- * @return The new boolean literal.
- *
- * @since 1.0.0
- */
- PTBooleanLiteral createPTBooleanLiteral(boolean booleanValue);
-
- /**
- * Returns a new object of class '<em>PT Cast Expression</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>PT Cast Expression</em>'.
- * @generated
- */
- PTCastExpression createPTCastExpression();
-
- /**
- * Utility to create a new cast expression.
- *
- * @param type The type of the expression, e.g. <code>short</code> or <code>java.lang.String</code>
- * @param expression The expression being cast.
- * @return The new cast expression.
- *
- * @since 1.0.0
- */
- PTCastExpression createPTCastExpression(String type, PTExpression expression);
-
- /**
- * Returns a new object of class '<em>PT Character Literal</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>PT Character Literal</em>'.
- * @generated
- */
- PTCharacterLiteral createPTCharacterLiteral();
-
- /**
- * Utility to create a new character literal.
- * @param escapedValue The escaped value to use.
- * @return The new character literal.
- *
- * @since 1.0.0
- */
- PTCharacterLiteral createPTCharacterLiteral(String escapedValue);
-
- /**
- * Returns a new object of class '<em>PT Class Instance Creation</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>PT Class Instance Creation</em>'.
- * @generated
- */
- PTClassInstanceCreation createPTClassInstanceCreation();
-
- /**
- * Utility to create a new class instance creation.
- *
- * @param type The type of the class, e.g. <code>java.lang.String</code>.
- * @param arguments The list of expressions for arguments, or <code>null</code> for no args.
- * @return The new class instance creation.
- *
- * @since 1.0.0
- */
- PTClassInstanceCreation createPTClassInstanceCreation(String type, List arguments);
-
- /**
- * Returns a new object of class '<em>PT Conditional Expression</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>PT Conditional Expression</em>'.
- * @generated
- */
- PTConditionalExpression createPTConditionalExpression();
-
- /**
- * Utility to create a new conditional expression with the condition and true/false expressions.
- *
- * @param condition
- * @param trueExpressoin
- * @param falseExpression
- * @return
- *
- * @since 1.0.0
- */
- PTConditionalExpression createPTConditionalExpression(PTExpression condition, PTExpression trueExpressoin, PTExpression falseExpression);
-
- /**
- * Returns a new object of class '<em>PT Field Access</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>PT Field Access</em>'.
- * @generated
- */
- PTFieldAccess createPTFieldAccess();
-
- /**
- * Utility to create a new field access with receiver and field name.
- * @param receiver The receiver expression, or <code>null</code> if none.
- * @param field The field name.
- * @return The new field access.
- *
- * @since 1.0.0
- */
- PTFieldAccess createPTFieldAccess(PTExpression receiver, String field);
-
- /**
- * Returns a new object of class '<em>PT Infix Expression</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>PT Infix Expression</em>'.
- * @generated
- */
- PTInfixExpression createPTInfixExpression();
-
- /**
- * Utility to create a new infix expression with the left/right/extended operands and the operator.
- * @param leftOperand
- * @param operator
- * @param rightOperand
- * @param extendedOperands The list of extended operands, or <code>null</code> if no extended operands.
- * @return
- *
- * @since 1.0.0
- */
- PTInfixExpression createPTInfixExpression(PTExpression leftOperand, PTInfixOperator operator, PTExpression rightOperand, List extendedOperands);
-
- /**
- * Returns a new object of class '<em>PT Instanceof</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>PT Instanceof</em>'.
- * @generated
- */
- PTInstanceof createPTInstanceof();
-
- /**
- * Utility to create a new instance of with an operand and a type.
- * @param operand
- * @param type
- * @return The new instance of.
- *
- * @since 1.0.0
- */
- PTInstanceof createPTInstanceof(PTExpression operand, String type);
-
- /**
- * Returns a new object of class '<em>PT Method Invocation</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>PT Method Invocation</em>'.
- * @generated
- */
- PTMethodInvocation createPTMethodInvocation();
-
- /**
- * Utility to create a new method invocation with a receiver, name, and arguments.
- *
- * @param receiver The receiver expression, or <code>null</code> if no receiver.
- * @param name The name of the method.
- * @param arguments The list of argument expressions, or <code>null</code> if no arguments.
- * @return The new method invocation.
- *
- * @since 1.0.0
- */
- PTMethodInvocation createPTMethodInvocation(PTExpression receiver, String name, List arguments);
-
- /**
- * Returns a new object of class '<em>PT Name</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>PT Name</em>'.
- * @generated
- */
- PTName createPTName();
-
- /**
- * Utility to create a new name with the name.
- *
- * @param name
- * @return The new name.
- *
- * @since 1.0.0
- */
- PTName createPTName(String name);
-
- /**
- * Returns a new object of class '<em>PT Null Literal</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>PT Null Literal</em>'.
- * @generated
- */
- PTNullLiteral createPTNullLiteral();
-
- /**
- * Returns a new object of class '<em>PT Number Literal</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>PT Number Literal</em>'.
- * @generated
- */
- PTNumberLiteral createPTNumberLiteral();
-
- /**
- * Utility to create a new number literal with the token.
- * @param token
- * @return The new number literal.
- *
- * @since 1.0.0
- */
- PTNumberLiteral createPTNumberLiteral(String token);
-
- /**
- * Returns a new object of class '<em>PT Parenthesized Expression</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>PT Parenthesized Expression</em>'.
- * @generated
- */
- PTParenthesizedExpression createPTParenthesizedExpression();
-
- /**
- * Utility to create a new parenthesized expression with the expression.
- * @param expression The expression that is in the parenthesis.
- * @return The new parenthesized expression.
- *
- * @since 1.0.0
- */
- PTParenthesizedExpression createPTParenthesizedExpression(PTExpression expression);
-
- /**
- * Returns a new object of class '<em>PT Prefix Expression</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>PT Prefix Expression</em>'.
- * @generated
- */
- PTPrefixExpression createPTPrefixExpression();
-
- /**
- * Utility to create a new prefix expression given an operator and expression.
- * @param operator
- * @param expression
- * @return The new prefix expression.
- *
- * @since 1.0.0
- */
- PTPrefixExpression createPTPrefixExpression(PTPrefixOperator operator, PTExpression expression);
-
- /**
- * Returns a new object of class '<em>PT String Literal</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>PT String Literal</em>'.
- * @generated
- */
- PTStringLiteral createPTStringLiteral();
-
- /**
- * Utility to create a new string literal given the escaped literal string.
- * @param escapeLiteral
- * @return The new string literal.
- *
- * @since 1.0.0
- */
- PTStringLiteral createPTStringLiteral(String escapeLiteral);
-
- /**
- * Returns a new object of class '<em>PT This Literal</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>PT This Literal</em>'.
- * @generated
- */
- PTThisLiteral createPTThisLiteral();
-
- /**
- * Returns a new object of class '<em>PT Type Literal</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>PT Type Literal</em>'.
- * @generated
- */
- PTTypeLiteral createPTTypeLiteral();
-
- /**
- * Utility to create a new type literal given the type.
- * @param type
- * @return The new type literal.
- *
- * @since 1.0.0
- */
- PTTypeLiteral createPTTypeLiteral(String type);
-
- /**
- * Returns a new object of class '<em>PT Invalid Expression</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>PT Invalid Expression</em>'.
- * @generated
- */
- PTInvalidExpression createPTInvalidExpression();
-
- /**
- * Returns a new object of class '<em>PT Instance Reference</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>PT Instance Reference</em>'.
- * @generated
- */
- PTInstanceReference createPTInstanceReference();
-
- /**
- * Utility to create a new invalid expression with a message.
- * @param message
- * @return The new invalid expression.
- *
- * @since 1.0.0
- */
- PTInvalidExpression createPTInvalidExpression(String message);
-
- /**
- * Returns a new object of class '<em>Implicit Allocation</em>' as
- * utility with a given init string.
- * @param initString - String to put into initialization.
- * @return The allocation initialized.
- *
- * @since 1.0.0
- */
- InitStringAllocation createInitStringAllocation(String initString);
-
- /**
- * Returns a new object of class '<em>Implicit Allocation</em>' as
- * utility with a given parent and feature.
- * @param parent The source to get the value from.
- * @param sf The feature on the source for the value.
- * @return The allocation initialized.
- *
- * @since 1.0.0
- */
- ImplicitAllocation createImplicitAllocation(EObject parent, EStructuralFeature sf);
-
- /**
- * Returns the package supported by this factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the package supported by this factory.
- * @generated
- */
- InstantiationPackage getInstantiationPackage();
-
-} //InstantiationFactory
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/InstantiationPackage.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/InstantiationPackage.java
deleted file mode 100644
index 65d0803ca..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/InstantiationPackage.java
+++ /dev/null
@@ -1,1819 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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.instantiation;
-/*
- * $RCSfile: InstantiationPackage.java,v $
- * $Revision: 1.8 $ $Date: 2005/02/15 22:36:09 $
- */
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EEnum;
-import org.eclipse.emf.ecore.EPackage;
-
-import org.eclipse.emf.ecore.EReference;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Package</b> for the model.
- * It contains accessors for the meta objects to represent
- * <ul>
- * <li>each class,</li>
- * <li>each feature of each class,</li>
- * <li>each enum,</li>
- * <li>and each data type</li>
- * </ul>
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * Java Instantiation Package
- * <!-- end-model-doc -->
- * @see org.eclipse.jem.internal.instantiation.InstantiationFactory
- * @generated
- */
-public interface InstantiationPackage extends EPackage{
- /**
- * The package name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNAME = "instantiation"; //$NON-NLS-1$
-
- /**
- * The package namespace URI.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNS_URI = "http:///org/eclipse/jem/internal/instantiation.ecore"; //$NON-NLS-1$
-
- /**
- * The package namespace name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNS_PREFIX = "org.eclipse.jem.internal.instantiation"; //$NON-NLS-1$
-
- /**
- * The singleton instance of the package.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- InstantiationPackage eINSTANCE = org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl.init();
-
- /**
- * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.base.IJavaInstance <em>IJava Instance</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.instantiation.base.IJavaInstance
- * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getIJavaInstance()
- * @generated
- */
- int IJAVA_INSTANCE = 1;
-
- /**
- * The number of structural features of the the '<em>IJava Instance</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int IJAVA_INSTANCE_FEATURE_COUNT = 0;
-
- /**
- * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.base.IJavaObjectInstance <em>IJava Object Instance</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.instantiation.base.IJavaObjectInstance
- * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getIJavaObjectInstance()
- * @generated
- */
- int IJAVA_OBJECT_INSTANCE = 2;
-
- /**
- * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.base.IJavaDataTypeInstance <em>IJava Data Type Instance</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.instantiation.base.IJavaDataTypeInstance
- * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getIJavaDataTypeInstance()
- * @generated
- */
- int IJAVA_DATA_TYPE_INSTANCE = 0;
-
-
- /**
- * The number of structural features of the the '<em>IJava Data Type Instance</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int IJAVA_DATA_TYPE_INSTANCE_FEATURE_COUNT = IJAVA_INSTANCE_FEATURE_COUNT + 0;
-
- /**
- * The number of structural features of the the '<em>IJava Object Instance</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int IJAVA_OBJECT_INSTANCE_FEATURE_COUNT = IJAVA_INSTANCE_FEATURE_COUNT + 0;
-
- /**
- * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.JavaAllocationImpl <em>Java Allocation</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.instantiation.impl.JavaAllocationImpl
- * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getJavaAllocation()
- * @generated
- */
- int JAVA_ALLOCATION = 3;
-
- /**
- * The number of structural features of the the '<em>Java Allocation</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_ALLOCATION_FEATURE_COUNT = 0;
-
- /**
- * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.InitStringAllocationImpl <em>Init String Allocation</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.instantiation.impl.InitStringAllocationImpl
- * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getInitStringAllocation()
- * @generated
- */
- int INIT_STRING_ALLOCATION = 4;
-
- /**
- * The feature id for the '<em><b>Init String</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INIT_STRING_ALLOCATION__INIT_STRING = JAVA_ALLOCATION_FEATURE_COUNT + 0;
-
- /**
- * The number of structural features of the the '<em>Init String Allocation</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INIT_STRING_ALLOCATION_FEATURE_COUNT = JAVA_ALLOCATION_FEATURE_COUNT + 1;
-
- /**
- * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.ImplicitAllocationImpl <em>Implicit Allocation</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.instantiation.impl.ImplicitAllocationImpl
- * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getImplicitAllocation()
- * @generated
- */
- int IMPLICIT_ALLOCATION = 5;
-
- /**
- * The feature id for the '<em><b>Parent</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int IMPLICIT_ALLOCATION__PARENT = JAVA_ALLOCATION_FEATURE_COUNT + 0;
-
- /**
- * The feature id for the '<em><b>Feature</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int IMPLICIT_ALLOCATION__FEATURE = JAVA_ALLOCATION_FEATURE_COUNT + 1;
-
- /**
- * The number of structural features of the the '<em>Implicit Allocation</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int IMPLICIT_ALLOCATION_FEATURE_COUNT = JAVA_ALLOCATION_FEATURE_COUNT + 2;
-
-
- /**
- * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.ParseTreeAllocationImpl <em>Parse Tree Allocation</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.instantiation.impl.ParseTreeAllocationImpl
- * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getParseTreeAllocation()
- * @generated
- */
- int PARSE_TREE_ALLOCATION = 6;
-
- /**
- * The feature id for the '<em><b>Expression</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PARSE_TREE_ALLOCATION__EXPRESSION = JAVA_ALLOCATION_FEATURE_COUNT + 0;
-
- /**
- * The number of structural features of the the '<em>Parse Tree Allocation</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PARSE_TREE_ALLOCATION_FEATURE_COUNT = JAVA_ALLOCATION_FEATURE_COUNT + 1;
-
- /**
- * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.PTExpressionImpl <em>PT Expression</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.instantiation.impl.PTExpressionImpl
- * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTExpression()
- * @generated
- */
- int PT_EXPRESSION = 7;
-
- /**
- * The number of structural features of the the '<em>PT Expression</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_EXPRESSION_FEATURE_COUNT = 0;
-
- /**
- * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.PTArrayAccessImpl <em>PT Array Access</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.instantiation.impl.PTArrayAccessImpl
- * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTArrayAccess()
- * @generated
- */
- int PT_ARRAY_ACCESS = 8;
-
- /**
- * The feature id for the '<em><b>Array</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_ARRAY_ACCESS__ARRAY = PT_EXPRESSION_FEATURE_COUNT + 0;
-
- /**
- * The feature id for the '<em><b>Indexes</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_ARRAY_ACCESS__INDEXES = PT_EXPRESSION_FEATURE_COUNT + 1;
-
- /**
- * The number of structural features of the the '<em>PT Array Access</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_ARRAY_ACCESS_FEATURE_COUNT = PT_EXPRESSION_FEATURE_COUNT + 2;
-
- /**
- * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.PTArrayCreationImpl <em>PT Array Creation</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.instantiation.impl.PTArrayCreationImpl
- * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTArrayCreation()
- * @generated
- */
- int PT_ARRAY_CREATION = 9;
-
- /**
- * The feature id for the '<em><b>Type</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_ARRAY_CREATION__TYPE = PT_EXPRESSION_FEATURE_COUNT + 0;
-
- /**
- * The feature id for the '<em><b>Dimensions</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_ARRAY_CREATION__DIMENSIONS = PT_EXPRESSION_FEATURE_COUNT + 1;
-
- /**
- * The feature id for the '<em><b>Initializer</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_ARRAY_CREATION__INITIALIZER = PT_EXPRESSION_FEATURE_COUNT + 2;
-
- /**
- * The number of structural features of the the '<em>PT Array Creation</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_ARRAY_CREATION_FEATURE_COUNT = PT_EXPRESSION_FEATURE_COUNT + 3;
-
- /**
- * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.PTArrayInitializerImpl <em>PT Array Initializer</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.instantiation.impl.PTArrayInitializerImpl
- * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTArrayInitializer()
- * @generated
- */
- int PT_ARRAY_INITIALIZER = 10;
-
- /**
- * The feature id for the '<em><b>Expressions</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_ARRAY_INITIALIZER__EXPRESSIONS = PT_EXPRESSION_FEATURE_COUNT + 0;
-
- /**
- * The number of structural features of the the '<em>PT Array Initializer</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_ARRAY_INITIALIZER_FEATURE_COUNT = PT_EXPRESSION_FEATURE_COUNT + 1;
-
- /**
- * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.PTBooleanLiteralImpl <em>PT Boolean Literal</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.instantiation.impl.PTBooleanLiteralImpl
- * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTBooleanLiteral()
- * @generated
- */
- int PT_BOOLEAN_LITERAL = 11;
-
- /**
- * The feature id for the '<em><b>Boolean Value</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_BOOLEAN_LITERAL__BOOLEAN_VALUE = PT_EXPRESSION_FEATURE_COUNT + 0;
-
- /**
- * The number of structural features of the the '<em>PT Boolean Literal</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_BOOLEAN_LITERAL_FEATURE_COUNT = PT_EXPRESSION_FEATURE_COUNT + 1;
-
- /**
- * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.PTCastExpressionImpl <em>PT Cast Expression</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.instantiation.impl.PTCastExpressionImpl
- * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTCastExpression()
- * @generated
- */
- int PT_CAST_EXPRESSION = 12;
-
- /**
- * The feature id for the '<em><b>Type</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_CAST_EXPRESSION__TYPE = PT_EXPRESSION_FEATURE_COUNT + 0;
-
- /**
- * The feature id for the '<em><b>Expression</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_CAST_EXPRESSION__EXPRESSION = PT_EXPRESSION_FEATURE_COUNT + 1;
-
- /**
- * The number of structural features of the the '<em>PT Cast Expression</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_CAST_EXPRESSION_FEATURE_COUNT = PT_EXPRESSION_FEATURE_COUNT + 2;
-
- /**
- * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.PTCharacterLiteralImpl <em>PT Character Literal</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.instantiation.impl.PTCharacterLiteralImpl
- * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTCharacterLiteral()
- * @generated
- */
- int PT_CHARACTER_LITERAL = 13;
-
- /**
- * The feature id for the '<em><b>Escaped Value</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_CHARACTER_LITERAL__ESCAPED_VALUE = PT_EXPRESSION_FEATURE_COUNT + 0;
-
- /**
- * The feature id for the '<em><b>Char Value</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_CHARACTER_LITERAL__CHAR_VALUE = PT_EXPRESSION_FEATURE_COUNT + 1;
-
- /**
- * The number of structural features of the the '<em>PT Character Literal</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_CHARACTER_LITERAL_FEATURE_COUNT = PT_EXPRESSION_FEATURE_COUNT + 2;
-
- /**
- * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.PTClassInstanceCreationImpl <em>PT Class Instance Creation</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.instantiation.impl.PTClassInstanceCreationImpl
- * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTClassInstanceCreation()
- * @generated
- */
- int PT_CLASS_INSTANCE_CREATION = 14;
-
- /**
- * The feature id for the '<em><b>Type</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_CLASS_INSTANCE_CREATION__TYPE = PT_EXPRESSION_FEATURE_COUNT + 0;
-
- /**
- * The feature id for the '<em><b>Arguments</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_CLASS_INSTANCE_CREATION__ARGUMENTS = PT_EXPRESSION_FEATURE_COUNT + 1;
-
- /**
- * The number of structural features of the the '<em>PT Class Instance Creation</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_CLASS_INSTANCE_CREATION_FEATURE_COUNT = PT_EXPRESSION_FEATURE_COUNT + 2;
-
- /**
- * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.PTConditionalExpressionImpl <em>PT Conditional Expression</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.instantiation.impl.PTConditionalExpressionImpl
- * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTConditionalExpression()
- * @generated
- */
- int PT_CONDITIONAL_EXPRESSION = 15;
-
- /**
- * The feature id for the '<em><b>Condition</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_CONDITIONAL_EXPRESSION__CONDITION = PT_EXPRESSION_FEATURE_COUNT + 0;
-
- /**
- * The feature id for the '<em><b>True</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_CONDITIONAL_EXPRESSION__TRUE = PT_EXPRESSION_FEATURE_COUNT + 1;
-
- /**
- * The feature id for the '<em><b>False</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_CONDITIONAL_EXPRESSION__FALSE = PT_EXPRESSION_FEATURE_COUNT + 2;
-
- /**
- * The number of structural features of the the '<em>PT Conditional Expression</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_CONDITIONAL_EXPRESSION_FEATURE_COUNT = PT_EXPRESSION_FEATURE_COUNT + 3;
-
- /**
- * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.PTFieldAccessImpl <em>PT Field Access</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.instantiation.impl.PTFieldAccessImpl
- * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTFieldAccess()
- * @generated
- */
- int PT_FIELD_ACCESS = 16;
-
- /**
- * The feature id for the '<em><b>Receiver</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_FIELD_ACCESS__RECEIVER = PT_EXPRESSION_FEATURE_COUNT + 0;
-
- /**
- * The feature id for the '<em><b>Field</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_FIELD_ACCESS__FIELD = PT_EXPRESSION_FEATURE_COUNT + 1;
-
- /**
- * The number of structural features of the the '<em>PT Field Access</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_FIELD_ACCESS_FEATURE_COUNT = PT_EXPRESSION_FEATURE_COUNT + 2;
-
- /**
- * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.PTInfixExpressionImpl <em>PT Infix Expression</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.instantiation.impl.PTInfixExpressionImpl
- * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTInfixExpression()
- * @generated
- */
- int PT_INFIX_EXPRESSION = 17;
-
- /**
- * The feature id for the '<em><b>Left Operand</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_INFIX_EXPRESSION__LEFT_OPERAND = PT_EXPRESSION_FEATURE_COUNT + 0;
-
- /**
- * The feature id for the '<em><b>Operator</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_INFIX_EXPRESSION__OPERATOR = PT_EXPRESSION_FEATURE_COUNT + 1;
-
- /**
- * The feature id for the '<em><b>Right Operand</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_INFIX_EXPRESSION__RIGHT_OPERAND = PT_EXPRESSION_FEATURE_COUNT + 2;
-
- /**
- * The feature id for the '<em><b>Extended Operands</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_INFIX_EXPRESSION__EXTENDED_OPERANDS = PT_EXPRESSION_FEATURE_COUNT + 3;
-
- /**
- * The number of structural features of the the '<em>PT Infix Expression</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_INFIX_EXPRESSION_FEATURE_COUNT = PT_EXPRESSION_FEATURE_COUNT + 4;
-
- /**
- * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.PTInstanceofImpl <em>PT Instanceof</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.instantiation.impl.PTInstanceofImpl
- * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTInstanceof()
- * @generated
- */
- int PT_INSTANCEOF = 18;
-
- /**
- * The feature id for the '<em><b>Operand</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_INSTANCEOF__OPERAND = PT_EXPRESSION_FEATURE_COUNT + 0;
-
- /**
- * The feature id for the '<em><b>Type</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_INSTANCEOF__TYPE = PT_EXPRESSION_FEATURE_COUNT + 1;
-
- /**
- * The number of structural features of the the '<em>PT Instanceof</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_INSTANCEOF_FEATURE_COUNT = PT_EXPRESSION_FEATURE_COUNT + 2;
-
- /**
- * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.PTMethodInvocationImpl <em>PT Method Invocation</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.instantiation.impl.PTMethodInvocationImpl
- * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTMethodInvocation()
- * @generated
- */
- int PT_METHOD_INVOCATION = 19;
-
- /**
- * The feature id for the '<em><b>Receiver</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_METHOD_INVOCATION__RECEIVER = PT_EXPRESSION_FEATURE_COUNT + 0;
-
- /**
- * The feature id for the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_METHOD_INVOCATION__NAME = PT_EXPRESSION_FEATURE_COUNT + 1;
-
- /**
- * The feature id for the '<em><b>Arguments</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_METHOD_INVOCATION__ARGUMENTS = PT_EXPRESSION_FEATURE_COUNT + 2;
-
- /**
- * The number of structural features of the the '<em>PT Method Invocation</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_METHOD_INVOCATION_FEATURE_COUNT = PT_EXPRESSION_FEATURE_COUNT + 3;
-
- /**
- * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.PTNameImpl <em>PT Name</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.instantiation.impl.PTNameImpl
- * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTName()
- * @generated
- */
- int PT_NAME = 20;
-
- /**
- * The feature id for the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_NAME__NAME = PT_EXPRESSION_FEATURE_COUNT + 0;
-
- /**
- * The number of structural features of the the '<em>PT Name</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_NAME_FEATURE_COUNT = PT_EXPRESSION_FEATURE_COUNT + 1;
-
- /**
- * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.PTNullLiteralImpl <em>PT Null Literal</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.instantiation.impl.PTNullLiteralImpl
- * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTNullLiteral()
- * @generated
- */
- int PT_NULL_LITERAL = 21;
-
- /**
- * The number of structural features of the the '<em>PT Null Literal</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_NULL_LITERAL_FEATURE_COUNT = PT_EXPRESSION_FEATURE_COUNT + 0;
-
- /**
- * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.PTNumberLiteralImpl <em>PT Number Literal</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.instantiation.impl.PTNumberLiteralImpl
- * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTNumberLiteral()
- * @generated
- */
- int PT_NUMBER_LITERAL = 22;
-
- /**
- * The feature id for the '<em><b>Token</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_NUMBER_LITERAL__TOKEN = PT_EXPRESSION_FEATURE_COUNT + 0;
-
- /**
- * The number of structural features of the the '<em>PT Number Literal</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_NUMBER_LITERAL_FEATURE_COUNT = PT_EXPRESSION_FEATURE_COUNT + 1;
-
- /**
- * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.PTParenthesizedExpressionImpl <em>PT Parenthesized Expression</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.instantiation.impl.PTParenthesizedExpressionImpl
- * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTParenthesizedExpression()
- * @generated
- */
- int PT_PARENTHESIZED_EXPRESSION = 23;
-
- /**
- * The feature id for the '<em><b>Expression</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_PARENTHESIZED_EXPRESSION__EXPRESSION = PT_EXPRESSION_FEATURE_COUNT + 0;
-
- /**
- * The number of structural features of the the '<em>PT Parenthesized Expression</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_PARENTHESIZED_EXPRESSION_FEATURE_COUNT = PT_EXPRESSION_FEATURE_COUNT + 1;
-
- /**
- * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.PTPrefixExpressionImpl <em>PT Prefix Expression</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.instantiation.impl.PTPrefixExpressionImpl
- * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTPrefixExpression()
- * @generated
- */
- int PT_PREFIX_EXPRESSION = 24;
-
- /**
- * The feature id for the '<em><b>Operator</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_PREFIX_EXPRESSION__OPERATOR = PT_EXPRESSION_FEATURE_COUNT + 0;
-
- /**
- * The feature id for the '<em><b>Expression</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_PREFIX_EXPRESSION__EXPRESSION = PT_EXPRESSION_FEATURE_COUNT + 1;
-
- /**
- * The number of structural features of the the '<em>PT Prefix Expression</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_PREFIX_EXPRESSION_FEATURE_COUNT = PT_EXPRESSION_FEATURE_COUNT + 2;
-
- /**
- * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.PTStringLiteralImpl <em>PT String Literal</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.instantiation.impl.PTStringLiteralImpl
- * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTStringLiteral()
- * @generated
- */
- int PT_STRING_LITERAL = 25;
-
- /**
- * The feature id for the '<em><b>Escaped Value</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_STRING_LITERAL__ESCAPED_VALUE = PT_EXPRESSION_FEATURE_COUNT + 0;
-
- /**
- * The feature id for the '<em><b>Literal Value</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_STRING_LITERAL__LITERAL_VALUE = PT_EXPRESSION_FEATURE_COUNT + 1;
-
- /**
- * The number of structural features of the the '<em>PT String Literal</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_STRING_LITERAL_FEATURE_COUNT = PT_EXPRESSION_FEATURE_COUNT + 2;
-
- /**
- * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.PTThisLiteralImpl <em>PT This Literal</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.instantiation.impl.PTThisLiteralImpl
- * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTThisLiteral()
- * @generated
- */
- int PT_THIS_LITERAL = 26;
-
- /**
- * The number of structural features of the the '<em>PT This Literal</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_THIS_LITERAL_FEATURE_COUNT = PT_EXPRESSION_FEATURE_COUNT + 0;
-
- /**
- * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.PTTypeLiteralImpl <em>PT Type Literal</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.instantiation.impl.PTTypeLiteralImpl
- * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTTypeLiteral()
- * @generated
- */
- int PT_TYPE_LITERAL = 27;
-
- /**
- * The feature id for the '<em><b>Type</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_TYPE_LITERAL__TYPE = PT_EXPRESSION_FEATURE_COUNT + 0;
-
- /**
- * The number of structural features of the the '<em>PT Type Literal</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_TYPE_LITERAL_FEATURE_COUNT = PT_EXPRESSION_FEATURE_COUNT + 1;
-
- /**
- * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.PTInvalidExpressionImpl <em>PT Invalid Expression</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.instantiation.impl.PTInvalidExpressionImpl
- * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTInvalidExpression()
- * @generated
- */
- int PT_INVALID_EXPRESSION = 28;
-
- /**
- * The feature id for the '<em><b>Message</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_INVALID_EXPRESSION__MESSAGE = PT_EXPRESSION_FEATURE_COUNT + 0;
-
- /**
- * The number of structural features of the the '<em>PT Invalid Expression</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_INVALID_EXPRESSION_FEATURE_COUNT = PT_EXPRESSION_FEATURE_COUNT + 1;
-
- /**
- * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.PTInstanceReferenceImpl <em>PT Instance Reference</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.instantiation.impl.PTInstanceReferenceImpl
- * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTInstanceReference()
- * @generated
- */
- int PT_INSTANCE_REFERENCE = 29;
-
- /**
- * The feature id for the '<em><b>Object</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_INSTANCE_REFERENCE__OBJECT = PT_EXPRESSION_FEATURE_COUNT + 0;
-
- /**
- * The number of structural features of the the '<em>PT Instance Reference</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PT_INSTANCE_REFERENCE_FEATURE_COUNT = PT_EXPRESSION_FEATURE_COUNT + 1;
-
- /**
- * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.PTInfixOperator <em>PT Infix Operator</em>}' enum.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.instantiation.PTInfixOperator
- * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTInfixOperator()
- * @generated
- */
- int PT_INFIX_OPERATOR = 30;
-
- /**
- * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.PTPrefixOperator <em>PT Prefix Operator</em>}' enum.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.instantiation.PTPrefixOperator
- * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTPrefixOperator()
- * @generated
- */
- int PT_PREFIX_OPERATOR = 31;
-
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.base.IJavaObjectInstance <em>IJava Object Instance</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>IJava Object Instance</em>'.
- * @see org.eclipse.jem.internal.instantiation.base.IJavaObjectInstance
- * @model instanceClass="org.eclipse.jem.internal.instantiation.base.IJavaObjectInstance"
- * @generated
- */
- EClass getIJavaObjectInstance();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.JavaAllocation <em>Java Allocation</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Java Allocation</em>'.
- * @see org.eclipse.jem.internal.instantiation.JavaAllocation
- * @generated
- */
- EClass getJavaAllocation();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.InitStringAllocation <em>Init String Allocation</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Init String Allocation</em>'.
- * @see org.eclipse.jem.internal.instantiation.InitStringAllocation
- * @generated
- */
- EClass getInitStringAllocation();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.instantiation.InitStringAllocation#getInitString <em>Init String</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Init String</em>'.
- * @see org.eclipse.jem.internal.instantiation.InitStringAllocation#getInitString()
- * @see #getInitStringAllocation()
- * @generated
- */
- EAttribute getInitStringAllocation_InitString();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.ImplicitAllocation <em>Implicit Allocation</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Implicit Allocation</em>'.
- * @see org.eclipse.jem.internal.instantiation.ImplicitAllocation
- * @generated
- */
- EClass getImplicitAllocation();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.jem.internal.instantiation.ImplicitAllocation#getParent <em>Parent</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Parent</em>'.
- * @see org.eclipse.jem.internal.instantiation.ImplicitAllocation#getParent()
- * @see #getImplicitAllocation()
- * @generated
- */
- EReference getImplicitAllocation_Parent();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.jem.internal.instantiation.ImplicitAllocation#getFeature <em>Feature</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Feature</em>'.
- * @see org.eclipse.jem.internal.instantiation.ImplicitAllocation#getFeature()
- * @see #getImplicitAllocation()
- * @generated
- */
- EReference getImplicitAllocation_Feature();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.ParseTreeAllocation <em>Parse Tree Allocation</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Parse Tree Allocation</em>'.
- * @see org.eclipse.jem.internal.instantiation.ParseTreeAllocation
- * @generated
- */
- EClass getParseTreeAllocation();
-
- /**
- * Returns the meta object for the containment reference '{@link org.eclipse.jem.internal.instantiation.ParseTreeAllocation#getExpression <em>Expression</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference '<em>Expression</em>'.
- * @see org.eclipse.jem.internal.instantiation.ParseTreeAllocation#getExpression()
- * @see #getParseTreeAllocation()
- * @generated
- */
- EReference getParseTreeAllocation_Expression();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.PTExpression <em>PT Expression</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>PT Expression</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTExpression
- * @generated
- */
- EClass getPTExpression();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.PTArrayAccess <em>PT Array Access</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>PT Array Access</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTArrayAccess
- * @generated
- */
- EClass getPTArrayAccess();
-
- /**
- * Returns the meta object for the containment reference '{@link org.eclipse.jem.internal.instantiation.PTArrayAccess#getArray <em>Array</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference '<em>Array</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTArrayAccess#getArray()
- * @see #getPTArrayAccess()
- * @generated
- */
- EReference getPTArrayAccess_Array();
-
- /**
- * Returns the meta object for the containment reference list '{@link org.eclipse.jem.internal.instantiation.PTArrayAccess#getIndexes <em>Indexes</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>Indexes</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTArrayAccess#getIndexes()
- * @see #getPTArrayAccess()
- * @generated
- */
- EReference getPTArrayAccess_Indexes();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.PTArrayCreation <em>PT Array Creation</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>PT Array Creation</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTArrayCreation
- * @generated
- */
- EClass getPTArrayCreation();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.instantiation.PTArrayCreation#getType <em>Type</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Type</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTArrayCreation#getType()
- * @see #getPTArrayCreation()
- * @generated
- */
- EAttribute getPTArrayCreation_Type();
-
- /**
- * Returns the meta object for the containment reference list '{@link org.eclipse.jem.internal.instantiation.PTArrayCreation#getDimensions <em>Dimensions</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>Dimensions</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTArrayCreation#getDimensions()
- * @see #getPTArrayCreation()
- * @generated
- */
- EReference getPTArrayCreation_Dimensions();
-
- /**
- * Returns the meta object for the containment reference '{@link org.eclipse.jem.internal.instantiation.PTArrayCreation#getInitializer <em>Initializer</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference '<em>Initializer</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTArrayCreation#getInitializer()
- * @see #getPTArrayCreation()
- * @generated
- */
- EReference getPTArrayCreation_Initializer();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.PTArrayInitializer <em>PT Array Initializer</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>PT Array Initializer</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTArrayInitializer
- * @generated
- */
- EClass getPTArrayInitializer();
-
- /**
- * Returns the meta object for the containment reference list '{@link org.eclipse.jem.internal.instantiation.PTArrayInitializer#getExpressions <em>Expressions</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>Expressions</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTArrayInitializer#getExpressions()
- * @see #getPTArrayInitializer()
- * @generated
- */
- EReference getPTArrayInitializer_Expressions();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.PTBooleanLiteral <em>PT Boolean Literal</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>PT Boolean Literal</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTBooleanLiteral
- * @generated
- */
- EClass getPTBooleanLiteral();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.instantiation.PTBooleanLiteral#isBooleanValue <em>Boolean Value</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Boolean Value</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTBooleanLiteral#isBooleanValue()
- * @see #getPTBooleanLiteral()
- * @generated
- */
- EAttribute getPTBooleanLiteral_BooleanValue();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.PTCastExpression <em>PT Cast Expression</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>PT Cast Expression</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTCastExpression
- * @generated
- */
- EClass getPTCastExpression();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.instantiation.PTCastExpression#getType <em>Type</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Type</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTCastExpression#getType()
- * @see #getPTCastExpression()
- * @generated
- */
- EAttribute getPTCastExpression_Type();
-
- /**
- * Returns the meta object for the containment reference '{@link org.eclipse.jem.internal.instantiation.PTCastExpression#getExpression <em>Expression</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference '<em>Expression</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTCastExpression#getExpression()
- * @see #getPTCastExpression()
- * @generated
- */
- EReference getPTCastExpression_Expression();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.PTCharacterLiteral <em>PT Character Literal</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>PT Character Literal</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTCharacterLiteral
- * @generated
- */
- EClass getPTCharacterLiteral();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.instantiation.PTCharacterLiteral#getEscapedValue <em>Escaped Value</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Escaped Value</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTCharacterLiteral#getEscapedValue()
- * @see #getPTCharacterLiteral()
- * @generated
- */
- EAttribute getPTCharacterLiteral_EscapedValue();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.instantiation.PTCharacterLiteral#getCharValue <em>Char Value</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Char Value</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTCharacterLiteral#getCharValue()
- * @see #getPTCharacterLiteral()
- * @generated
- */
- EAttribute getPTCharacterLiteral_CharValue();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.PTClassInstanceCreation <em>PT Class Instance Creation</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>PT Class Instance Creation</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTClassInstanceCreation
- * @generated
- */
- EClass getPTClassInstanceCreation();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.instantiation.PTClassInstanceCreation#getType <em>Type</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Type</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTClassInstanceCreation#getType()
- * @see #getPTClassInstanceCreation()
- * @generated
- */
- EAttribute getPTClassInstanceCreation_Type();
-
- /**
- * Returns the meta object for the containment reference list '{@link org.eclipse.jem.internal.instantiation.PTClassInstanceCreation#getArguments <em>Arguments</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>Arguments</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTClassInstanceCreation#getArguments()
- * @see #getPTClassInstanceCreation()
- * @generated
- */
- EReference getPTClassInstanceCreation_Arguments();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.PTConditionalExpression <em>PT Conditional Expression</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>PT Conditional Expression</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTConditionalExpression
- * @generated
- */
- EClass getPTConditionalExpression();
-
- /**
- * Returns the meta object for the containment reference '{@link org.eclipse.jem.internal.instantiation.PTConditionalExpression#getCondition <em>Condition</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference '<em>Condition</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTConditionalExpression#getCondition()
- * @see #getPTConditionalExpression()
- * @generated
- */
- EReference getPTConditionalExpression_Condition();
-
- /**
- * Returns the meta object for the containment reference '{@link org.eclipse.jem.internal.instantiation.PTConditionalExpression#getTrue <em>True</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference '<em>True</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTConditionalExpression#getTrue()
- * @see #getPTConditionalExpression()
- * @generated
- */
- EReference getPTConditionalExpression_True();
-
- /**
- * Returns the meta object for the containment reference '{@link org.eclipse.jem.internal.instantiation.PTConditionalExpression#getFalse <em>False</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference '<em>False</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTConditionalExpression#getFalse()
- * @see #getPTConditionalExpression()
- * @generated
- */
- EReference getPTConditionalExpression_False();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.PTFieldAccess <em>PT Field Access</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>PT Field Access</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTFieldAccess
- * @generated
- */
- EClass getPTFieldAccess();
-
- /**
- * Returns the meta object for the containment reference '{@link org.eclipse.jem.internal.instantiation.PTFieldAccess#getReceiver <em>Receiver</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference '<em>Receiver</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTFieldAccess#getReceiver()
- * @see #getPTFieldAccess()
- * @generated
- */
- EReference getPTFieldAccess_Receiver();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.instantiation.PTFieldAccess#getField <em>Field</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Field</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTFieldAccess#getField()
- * @see #getPTFieldAccess()
- * @generated
- */
- EAttribute getPTFieldAccess_Field();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.PTInfixExpression <em>PT Infix Expression</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>PT Infix Expression</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTInfixExpression
- * @generated
- */
- EClass getPTInfixExpression();
-
- /**
- * Returns the meta object for the containment reference '{@link org.eclipse.jem.internal.instantiation.PTInfixExpression#getLeftOperand <em>Left Operand</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference '<em>Left Operand</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTInfixExpression#getLeftOperand()
- * @see #getPTInfixExpression()
- * @generated
- */
- EReference getPTInfixExpression_LeftOperand();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.instantiation.PTInfixExpression#getOperator <em>Operator</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Operator</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTInfixExpression#getOperator()
- * @see #getPTInfixExpression()
- * @generated
- */
- EAttribute getPTInfixExpression_Operator();
-
- /**
- * Returns the meta object for the containment reference '{@link org.eclipse.jem.internal.instantiation.PTInfixExpression#getRightOperand <em>Right Operand</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference '<em>Right Operand</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTInfixExpression#getRightOperand()
- * @see #getPTInfixExpression()
- * @generated
- */
- EReference getPTInfixExpression_RightOperand();
-
- /**
- * Returns the meta object for the containment reference list '{@link org.eclipse.jem.internal.instantiation.PTInfixExpression#getExtendedOperands <em>Extended Operands</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>Extended Operands</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTInfixExpression#getExtendedOperands()
- * @see #getPTInfixExpression()
- * @generated
- */
- EReference getPTInfixExpression_ExtendedOperands();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.PTInstanceof <em>PT Instanceof</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>PT Instanceof</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTInstanceof
- * @generated
- */
- EClass getPTInstanceof();
-
- /**
- * Returns the meta object for the containment reference '{@link org.eclipse.jem.internal.instantiation.PTInstanceof#getOperand <em>Operand</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference '<em>Operand</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTInstanceof#getOperand()
- * @see #getPTInstanceof()
- * @generated
- */
- EReference getPTInstanceof_Operand();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.instantiation.PTInstanceof#getType <em>Type</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Type</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTInstanceof#getType()
- * @see #getPTInstanceof()
- * @generated
- */
- EAttribute getPTInstanceof_Type();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.PTMethodInvocation <em>PT Method Invocation</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>PT Method Invocation</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTMethodInvocation
- * @generated
- */
- EClass getPTMethodInvocation();
-
- /**
- * Returns the meta object for the containment reference '{@link org.eclipse.jem.internal.instantiation.PTMethodInvocation#getReceiver <em>Receiver</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference '<em>Receiver</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTMethodInvocation#getReceiver()
- * @see #getPTMethodInvocation()
- * @generated
- */
- EReference getPTMethodInvocation_Receiver();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.instantiation.PTMethodInvocation#getName <em>Name</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Name</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTMethodInvocation#getName()
- * @see #getPTMethodInvocation()
- * @generated
- */
- EAttribute getPTMethodInvocation_Name();
-
- /**
- * Returns the meta object for the containment reference list '{@link org.eclipse.jem.internal.instantiation.PTMethodInvocation#getArguments <em>Arguments</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>Arguments</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTMethodInvocation#getArguments()
- * @see #getPTMethodInvocation()
- * @generated
- */
- EReference getPTMethodInvocation_Arguments();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.PTName <em>PT Name</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>PT Name</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTName
- * @generated
- */
- EClass getPTName();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.instantiation.PTName#getName <em>Name</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Name</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTName#getName()
- * @see #getPTName()
- * @generated
- */
- EAttribute getPTName_Name();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.PTNullLiteral <em>PT Null Literal</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>PT Null Literal</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTNullLiteral
- * @generated
- */
- EClass getPTNullLiteral();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.PTNumberLiteral <em>PT Number Literal</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>PT Number Literal</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTNumberLiteral
- * @generated
- */
- EClass getPTNumberLiteral();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.instantiation.PTNumberLiteral#getToken <em>Token</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Token</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTNumberLiteral#getToken()
- * @see #getPTNumberLiteral()
- * @generated
- */
- EAttribute getPTNumberLiteral_Token();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.PTParenthesizedExpression <em>PT Parenthesized Expression</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>PT Parenthesized Expression</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTParenthesizedExpression
- * @generated
- */
- EClass getPTParenthesizedExpression();
-
- /**
- * Returns the meta object for the containment reference '{@link org.eclipse.jem.internal.instantiation.PTParenthesizedExpression#getExpression <em>Expression</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference '<em>Expression</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTParenthesizedExpression#getExpression()
- * @see #getPTParenthesizedExpression()
- * @generated
- */
- EReference getPTParenthesizedExpression_Expression();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.PTPrefixExpression <em>PT Prefix Expression</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>PT Prefix Expression</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTPrefixExpression
- * @generated
- */
- EClass getPTPrefixExpression();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.instantiation.PTPrefixExpression#getOperator <em>Operator</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Operator</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTPrefixExpression#getOperator()
- * @see #getPTPrefixExpression()
- * @generated
- */
- EAttribute getPTPrefixExpression_Operator();
-
- /**
- * Returns the meta object for the containment reference '{@link org.eclipse.jem.internal.instantiation.PTPrefixExpression#getExpression <em>Expression</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference '<em>Expression</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTPrefixExpression#getExpression()
- * @see #getPTPrefixExpression()
- * @generated
- */
- EReference getPTPrefixExpression_Expression();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.PTStringLiteral <em>PT String Literal</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>PT String Literal</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTStringLiteral
- * @generated
- */
- EClass getPTStringLiteral();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.instantiation.PTStringLiteral#getEscapedValue <em>Escaped Value</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Escaped Value</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTStringLiteral#getEscapedValue()
- * @see #getPTStringLiteral()
- * @generated
- */
- EAttribute getPTStringLiteral_EscapedValue();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.instantiation.PTStringLiteral#getLiteralValue <em>Literal Value</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Literal Value</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTStringLiteral#getLiteralValue()
- * @see #getPTStringLiteral()
- * @generated
- */
- EAttribute getPTStringLiteral_LiteralValue();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.PTThisLiteral <em>PT This Literal</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>PT This Literal</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTThisLiteral
- * @generated
- */
- EClass getPTThisLiteral();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.PTTypeLiteral <em>PT Type Literal</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>PT Type Literal</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTTypeLiteral
- * @generated
- */
- EClass getPTTypeLiteral();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.instantiation.PTTypeLiteral#getType <em>Type</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Type</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTTypeLiteral#getType()
- * @see #getPTTypeLiteral()
- * @generated
- */
- EAttribute getPTTypeLiteral_Type();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.PTInvalidExpression <em>PT Invalid Expression</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>PT Invalid Expression</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTInvalidExpression
- * @generated
- */
- EClass getPTInvalidExpression();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.instantiation.PTInvalidExpression#getMessage <em>Message</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Message</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTInvalidExpression#getMessage()
- * @see #getPTInvalidExpression()
- * @generated
- */
- EAttribute getPTInvalidExpression_Message();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.PTInstanceReference <em>PT Instance Reference</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>PT Instance Reference</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTInstanceReference
- * @generated
- */
- EClass getPTInstanceReference();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.jem.internal.instantiation.PTInstanceReference#getObject <em>Object</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Object</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTInstanceReference#getObject()
- * @see #getPTInstanceReference()
- * @generated
- */
- EReference getPTInstanceReference_Object();
-
- /**
- * Returns the meta object for enum '{@link org.eclipse.jem.internal.instantiation.PTInfixOperator <em>PT Infix Operator</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for enum '<em>PT Infix Operator</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTInfixOperator
- * @generated
- */
- EEnum getPTInfixOperator();
-
- /**
- * Returns the meta object for enum '{@link org.eclipse.jem.internal.instantiation.PTPrefixOperator <em>PT Prefix Operator</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for enum '<em>PT Prefix Operator</em>'.
- * @see org.eclipse.jem.internal.instantiation.PTPrefixOperator
- * @generated
- */
- EEnum getPTPrefixOperator();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.base.IJavaDataTypeInstance <em>IJava Data Type Instance</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>IJava Data Type Instance</em>'.
- * @see org.eclipse.jem.internal.instantiation.base.IJavaDataTypeInstance
- * @model instanceClass="org.eclipse.jem.internal.instantiation.base.IJavaDataTypeInstance"
- * @generated
- */
- EClass getIJavaDataTypeInstance();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.base.IJavaInstance <em>IJava Instance</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>IJava Instance</em>'.
- * @see org.eclipse.jem.internal.instantiation.base.IJavaInstance
- * @model instanceClass="org.eclipse.jem.internal.instantiation.base.IJavaInstance"
- * @generated
- */
- EClass getIJavaInstance();
-
- /**
- * Returns the factory that creates the instances of the model.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the factory that creates the instances of the model.
- * @generated
- */
- InstantiationFactory getInstantiationFactory();
-
-} //InstantiationPackage
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/JavaAllocation.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/JavaAllocation.java
deleted file mode 100644
index 84388e74a..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/JavaAllocation.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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.instantiation;
-/*
- * $RCSfile: JavaAllocation.java,v $
- * $Revision: 1.5 $ $Date: 2005/02/15 22:36:08 $
- */
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Java Allocation</b></em>'.
- * <p>
- * This class is the abstract base class of the allocation class. It is the value of the "allocation" property on a Java Object so that the actual allocation can be controlled. For example, there could be one for just init string, or one for serialized.
- * </p>
- * @since 1.0.0
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * This class is the abstract base class of the allocation class. It is the value of the "allocation" property on a Java Object so that the actual allocation can be controlled. For example, there could be one for just init string, or one for serialized.
- * <!-- end-model-doc -->
- *
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getJavaAllocation()
- * @model abstract="true"
- * @generated
- */
-public interface JavaAllocation extends EObject{
-} // JavaAllocation
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTArrayAccess.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTArrayAccess.java
deleted file mode 100644
index e11e36063..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTArrayAccess.java
+++ /dev/null
@@ -1,82 +0,0 @@
-package org.eclipse.jem.internal.instantiation;
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PTArrayAccess.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:36:09 $
- */
-import org.eclipse.emf.common.util.EList;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Array Access</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * Array access. e.g. x[3].
- *
- * Unlike AST, the entire expression of type x[3][4] will be done in one expression rather than having a separate ArrayAccess for each dimension. This is just a simplification. This can only be used if it is a simple array access where it is of the form {expression}[expression][expression].
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.instantiation.PTArrayAccess#getArray <em>Array</em>}</li>
- * <li>{@link org.eclipse.jem.internal.instantiation.PTArrayAccess#getIndexes <em>Indexes</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTArrayAccess()
- * @model
- * @generated
- */
-public interface PTArrayAccess extends PTExpression{
- /**
- * Returns the value of the '<em><b>Array</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * The expression representing the array to access.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Array</em>' containment reference.
- * @see #setArray(PTExpression)
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTArrayAccess_Array()
- * @model containment="true"
- * @generated
- */
- PTExpression getArray();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTArrayAccess#getArray <em>Array</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Array</em>' containment reference.
- * @see #getArray()
- * @generated
- */
- void setArray(PTExpression value);
-
- /**
- * Returns the value of the '<em><b>Indexes</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jem.internal.instantiation.PTExpression}.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * The expressions representing the indexes of the access.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Indexes</em>' containment reference list.
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTArrayAccess_Indexes()
- * @model type="org.eclipse.jem.internal.instantiation.PTExpression" containment="true" required="true"
- * @generated
- */
- EList getIndexes();
-
-} // ArrayAccess
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTArrayCreation.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTArrayCreation.java
deleted file mode 100644
index 255bb2d2c..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTArrayCreation.java
+++ /dev/null
@@ -1,106 +0,0 @@
-package org.eclipse.jem.internal.instantiation;
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PTArrayCreation.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:36:09 $
- */
-import org.eclipse.emf.common.util.EList;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Array Creation</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * Array Creation expression, e.g. new int[3] or new java.langString[][] {{"a"}, {"b"}}
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.instantiation.PTArrayCreation#getType <em>Type</em>}</li>
- * <li>{@link org.eclipse.jem.internal.instantiation.PTArrayCreation#getDimensions <em>Dimensions</em>}</li>
- * <li>{@link org.eclipse.jem.internal.instantiation.PTArrayCreation#getInitializer <em>Initializer</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTArrayCreation()
- * @model
- * @generated
- */
-public interface PTArrayCreation extends PTExpression{
- /**
- * Returns the value of the '<em><b>Type</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * The fully-qualified type, e.g. int[][] or java.lang.String[], including the number of dimension brackets.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Type</em>' attribute.
- * @see #setType(String)
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTArrayCreation_Type()
- * @model
- * @generated
- */
- String getType();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTArrayCreation#getType <em>Type</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Type</em>' attribute.
- * @see #getType()
- * @generated
- */
- void setType(String value);
-
- /**
- * Returns the value of the '<em><b>Dimensions</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jem.internal.instantiation.PTExpression}.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * The list of expressions for the dimensions. You can have [3][4][] but [][33] is invalid. So for each dimension that has an expression, there will be an entry in the list, in the correct order. When you reach the empty dimensions, the list will end too.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Dimensions</em>' containment reference list.
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTArrayCreation_Dimensions()
- * @model type="org.eclipse.jem.internal.instantiation.PTExpression" containment="true"
- * @generated
- */
- EList getDimensions();
-
- /**
- * Returns the value of the '<em><b>Initializer</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * This is the initializer, if any, for this array. E.g. new int[] {2,3}. It is the {2,3}.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Initializer</em>' containment reference.
- * @see #setInitializer(PTArrayInitializer)
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTArrayCreation_Initializer()
- * @model containment="true"
- * @generated
- */
- PTArrayInitializer getInitializer();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTArrayCreation#getInitializer <em>Initializer</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Initializer</em>' containment reference.
- * @see #getInitializer()
- * @generated
- */
- void setInitializer(PTArrayInitializer value);
-
-} // ArrayCreation
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTArrayInitializer.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTArrayInitializer.java
deleted file mode 100644
index d1150066c..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTArrayInitializer.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.eclipse.jem.internal.instantiation;
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PTArrayInitializer.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:36:09 $
- */
-import org.eclipse.emf.common.util.EList;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Array Initializer</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * Array initialization expression. This is the entire expression, e.g. {2, 3}, or {{2,3}, 4}. In the second case, the {2,3} will be an ArrayInitializer contained within the expressions list for the top ArrayInitializer.
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.instantiation.PTArrayInitializer#getExpressions <em>Expressions</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTArrayInitializer()
- * @model
- * @generated
- */
-public interface PTArrayInitializer extends PTExpression{
- /**
- * Returns the value of the '<em><b>Expressions</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jem.internal.instantiation.PTExpression}.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * This isthe list of expressions within the initializer, e.g. {2, 3}, or {{2,3}, 4}. In the first case it will be two NumberLiterals. In the second case, the {2,3} will be an ArrayInitializer, followed by a NumberLiteral.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Expressions</em>' containment reference list.
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTArrayInitializer_Expressions()
- * @model type="org.eclipse.jem.internal.instantiation.PTExpression" containment="true"
- * @generated
- */
- EList getExpressions();
-
-} // ArrayInitializer
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTBooleanLiteral.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTBooleanLiteral.java
deleted file mode 100644
index bf6b75b14..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTBooleanLiteral.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PTBooleanLiteral.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:36:09 $
- */
-package org.eclipse.jem.internal.instantiation;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Boolean Literal</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * This represents a primitive boolean literal, i.e. true or false directly in the code.
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.instantiation.PTBooleanLiteral#isBooleanValue <em>Boolean Value</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTBooleanLiteral()
- * @model
- * @generated
- */
-public interface PTBooleanLiteral extends PTExpression{
- /**
- * Returns the value of the '<em><b>Boolean Value</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * The value of the literal.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Boolean Value</em>' attribute.
- * @see #setBooleanValue(boolean)
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTBooleanLiteral_BooleanValue()
- * @model
- * @generated
- */
- boolean isBooleanValue();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTBooleanLiteral#isBooleanValue <em>Boolean Value</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Boolean Value</em>' attribute.
- * @see #isBooleanValue()
- * @generated
- */
- void setBooleanValue(boolean value);
-
-} // BooleanLiteral
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTCastExpression.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTCastExpression.java
deleted file mode 100644
index 2dcc1749e..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTCastExpression.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PTCastExpression.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:36:09 $
- */
-package org.eclipse.jem.internal.instantiation;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Cast</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * Cast expression, e.g. (short) 10
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.instantiation.PTCastExpression#getType <em>Type</em>}</li>
- * <li>{@link org.eclipse.jem.internal.instantiation.PTCastExpression#getExpression <em>Expression</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTCastExpression()
- * @model
- * @generated
- */
-public interface PTCastExpression extends PTExpression{
- /**
- * Returns the value of the '<em><b>Type</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * This is the fully-qualified type of the cast, e.g. int or java.lang.String
- * <!-- end-model-doc -->
- * @return the value of the '<em>Type</em>' attribute.
- * @see #setType(String)
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTCastExpression_Type()
- * @model
- * @generated
- */
- String getType();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTCastExpression#getType <em>Type</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Type</em>' attribute.
- * @see #getType()
- * @generated
- */
- void setType(String value);
-
- /**
- * Returns the value of the '<em><b>Expression</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * The expression being casted.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Expression</em>' containment reference.
- * @see #setExpression(PTExpression)
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTCastExpression_Expression()
- * @model containment="true"
- * @generated
- */
- PTExpression getExpression();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTCastExpression#getExpression <em>Expression</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Expression</em>' containment reference.
- * @see #getExpression()
- * @generated
- */
- void setExpression(PTExpression value);
-
-} // Cast
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTCharacterLiteral.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTCharacterLiteral.java
deleted file mode 100644
index d3f290019..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTCharacterLiteral.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PTCharacterLiteral.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:36:09 $
- */
-package org.eclipse.jem.internal.instantiation;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Character Literal</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * This represents a primitive character expression, e.g. 'a' or '\r'.
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.instantiation.PTCharacterLiteral#getEscapedValue <em>Escaped Value</em>}</li>
- * <li>{@link org.eclipse.jem.internal.instantiation.PTCharacterLiteral#getCharValue <em>Char Value</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTCharacterLiteral()
- * @model
- * @generated
- */
-public interface PTCharacterLiteral extends PTExpression{
- /**
- * Returns the value of the '<em><b>Escaped Value</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * This is the escaped character. In other words the literal exactly as it is in the java file. E.g. 'a' or '\r'. Including the surrounding single quotes themselves.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Escaped Value</em>' attribute.
- * @see #setEscapedValue(String)
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTCharacterLiteral_EscapedValue()
- * @model
- * @generated
- */
- String getEscapedValue();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTCharacterLiteral#getEscapedValue <em>Escaped Value</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Escaped Value</em>' attribute.
- * @see #getEscapedValue()
- * @generated
- */
- void setEscapedValue(String value);
-
- /**
- * Returns the value of the '<em><b>Char Value</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * The actual primitive character without the quotes. Escape are evaluated and turned into their character value. This is a transient field. If not set when created when queried it will create it. Typically it will be set when created from an AST node since the node already has evaluated it.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Char Value</em>' attribute.
- * @see #setCharValue(char)
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTCharacterLiteral_CharValue()
- * @model transient="true"
- * @generated
- */
- char getCharValue();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTCharacterLiteral#getCharValue <em>Char Value</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Char Value</em>' attribute.
- * @see #getCharValue()
- * @generated
- */
- void setCharValue(char value);
-
-} // CharacterLiteral
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTClassInstanceCreation.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTClassInstanceCreation.java
deleted file mode 100644
index 951769550..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTClassInstanceCreation.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package org.eclipse.jem.internal.instantiation;
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PTClassInstanceCreation.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:36:09 $
- */
-import org.eclipse.emf.common.util.EList;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Class Instance Creation</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * Class instance creation expression. E.g. new String("a")
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.instantiation.PTClassInstanceCreation#getType <em>Type</em>}</li>
- * <li>{@link org.eclipse.jem.internal.instantiation.PTClassInstanceCreation#getArguments <em>Arguments</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTClassInstanceCreation()
- * @model
- * @generated
- */
-public interface PTClassInstanceCreation extends PTExpression{
- /**
- * Returns the value of the '<em><b>Type</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * This is the type of the class. E.g. java.lang.String. This should be fully-qualified for allocation purposes. It should also be in reflection format, i.e. if X is an inner class of j.Y, then the type here should be "j.Y$X".
- * <!-- end-model-doc -->
- * @return the value of the '<em>Type</em>' attribute.
- * @see #setType(String)
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTClassInstanceCreation_Type()
- * @model
- * @generated
- */
- String getType();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTClassInstanceCreation#getType <em>Type</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Type</em>' attribute.
- * @see #getType()
- * @generated
- */
- void setType(String value);
-
- /**
- * Returns the value of the '<em><b>Arguments</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jem.internal.instantiation.PTExpression}.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * The arguments to the constructor.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Arguments</em>' containment reference list.
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTClassInstanceCreation_Arguments()
- * @model type="org.eclipse.jem.internal.instantiation.PTExpression" containment="true"
- * @generated
- */
- EList getArguments();
-
-} // ClassInstanceCreation
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTConditionalExpression.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTConditionalExpression.java
deleted file mode 100644
index 633f66182..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTConditionalExpression.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PTConditionalExpression.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:36:08 $
- */
-package org.eclipse.jem.internal.instantiation;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Conditional Expression</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * The test Expresson, e.g. (x=3) ? 1 : 2
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.instantiation.PTConditionalExpression#getCondition <em>Condition</em>}</li>
- * <li>{@link org.eclipse.jem.internal.instantiation.PTConditionalExpression#getTrue <em>True</em>}</li>
- * <li>{@link org.eclipse.jem.internal.instantiation.PTConditionalExpression#getFalse <em>False</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTConditionalExpression()
- * @model
- * @generated
- */
-public interface PTConditionalExpression extends PTExpression{
- /**
- * Returns the value of the '<em><b>Condition</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * The condition expression.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Condition</em>' containment reference.
- * @see #setCondition(PTExpression)
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTConditionalExpression_Condition()
- * @model containment="true"
- * @generated
- */
- PTExpression getCondition();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTConditionalExpression#getCondition <em>Condition</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Condition</em>' containment reference.
- * @see #getCondition()
- * @generated
- */
- void setCondition(PTExpression value);
-
- /**
- * Returns the value of the '<em><b>True</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * The true expression
- * <!-- end-model-doc -->
- * @return the value of the '<em>True</em>' containment reference.
- * @see #setTrue(PTExpression)
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTConditionalExpression_True()
- * @model containment="true"
- * @generated
- */
- PTExpression getTrue();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTConditionalExpression#getTrue <em>True</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>True</em>' containment reference.
- * @see #getTrue()
- * @generated
- */
- void setTrue(PTExpression value);
-
- /**
- * Returns the value of the '<em><b>False</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * The false expression.
- * <!-- end-model-doc -->
- * @return the value of the '<em>False</em>' containment reference.
- * @see #setFalse(PTExpression)
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTConditionalExpression_False()
- * @model containment="true"
- * @generated
- */
- PTExpression getFalse();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTConditionalExpression#getFalse <em>False</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>False</em>' containment reference.
- * @see #getFalse()
- * @generated
- */
- void setFalse(PTExpression value);
-
-} // ConditionalExpression
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTExpression.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTExpression.java
deleted file mode 100644
index 978f2db6e..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTExpression.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.eclipse.jem.internal.instantiation;
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PTExpression.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:36:08 $
- */
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Expression</b></em>'.
- * <!-- end-user-doc -->
- *
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTExpression()
- * @model abstract="true"
- * @generated
- */
-public interface PTExpression extends EObject{
- /**
- * Accepts the given visitor on a visit of the current node.
- *
- * @param visitor the visitor object
- * @exception IllegalArgumentException if the visitor is null
- */
- public void accept(ParseVisitor visitor);
-} // Expression
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTFieldAccess.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTFieldAccess.java
deleted file mode 100644
index 4bad67544..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTFieldAccess.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PTFieldAccess.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:36:09 $
- */
-package org.eclipse.jem.internal.instantiation;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Field Access</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * Access a field expression, e.g. java.awt.Color.red
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.instantiation.PTFieldAccess#getReceiver <em>Receiver</em>}</li>
- * <li>{@link org.eclipse.jem.internal.instantiation.PTFieldAccess#getField <em>Field</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTFieldAccess()
- * @model
- * @generated
- */
-public interface PTFieldAccess extends PTExpression{
- /**
- * Returns the value of the '<em><b>Receiver</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * The expression representing the object that the field is in, e.g. java.awt.Color.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Receiver</em>' containment reference.
- * @see #setReceiver(PTExpression)
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTFieldAccess_Receiver()
- * @model containment="true"
- * @generated
- */
- PTExpression getReceiver();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTFieldAccess#getReceiver <em>Receiver</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Receiver</em>' containment reference.
- * @see #getReceiver()
- * @generated
- */
- void setReceiver(PTExpression value);
-
- /**
- * Returns the value of the '<em><b>Field</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * The name of the field being accessed, e.g. red.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Field</em>' attribute.
- * @see #setField(String)
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTFieldAccess_Field()
- * @model
- * @generated
- */
- String getField();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTFieldAccess#getField <em>Field</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Field</em>' attribute.
- * @see #getField()
- * @generated
- */
- void setField(String value);
-
-} // FieldAccess
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTInfixExpression.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTInfixExpression.java
deleted file mode 100644
index 369d8268f..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTInfixExpression.java
+++ /dev/null
@@ -1,148 +0,0 @@
-package org.eclipse.jem.internal.instantiation;
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PTInfixExpression.java,v $
- * $Revision: 1.3 $ $Date: 2005/02/15 22:36:09 $
- */
-import org.eclipse.emf.common.util.EList;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Infix Expression</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * An expression with an operator that has two operands, e.g. 3 + 4.
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.instantiation.PTInfixExpression#getLeftOperand <em>Left Operand</em>}</li>
- * <li>{@link org.eclipse.jem.internal.instantiation.PTInfixExpression#getOperator <em>Operator</em>}</li>
- * <li>{@link org.eclipse.jem.internal.instantiation.PTInfixExpression#getRightOperand <em>Right Operand</em>}</li>
- * <li>{@link org.eclipse.jem.internal.instantiation.PTInfixExpression#getExtendedOperands <em>Extended Operands</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTInfixExpression()
- * @model
- * @generated
- */
-public interface PTInfixExpression extends PTExpression{
- /**
- * Returns the value of the '<em><b>Left Operand</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Left Operand</em>' containment reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Left Operand</em>' containment reference.
- * @see #setLeftOperand(PTExpression)
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTInfixExpression_LeftOperand()
- * @model containment="true"
- * @generated
- */
- PTExpression getLeftOperand();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTInfixExpression#getLeftOperand <em>Left Operand</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Left Operand</em>' containment reference.
- * @see #getLeftOperand()
- * @generated
- */
- void setLeftOperand(PTExpression value);
-
- /**
- * Returns the value of the '<em><b>Operator</b></em>' attribute.
- * The literals are from the enumeration {@link org.eclipse.jem.internal.instantiation.PTInfixOperator}.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * The operator, e.g. +
- * <!-- end-model-doc -->
- * @return the value of the '<em>Operator</em>' attribute.
- * @see org.eclipse.jem.internal.instantiation.PTInfixOperator
- * @see #setOperator(PTInfixOperator)
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTInfixExpression_Operator()
- * @model
- * @generated
- */
- PTInfixOperator getOperator();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTInfixExpression#getOperator <em>Operator</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Operator</em>' attribute.
- * @see org.eclipse.jem.internal.instantiation.PTInfixOperator
- * @see #getOperator()
- * @generated
- */
- void setOperator(PTInfixOperator value);
-
- /**
- * Returns the value of the '<em><b>Right Operand</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * The right expression. i.e. 4 of "3 + 4"
- * <!-- end-model-doc -->
- * @return the value of the '<em>Right Operand</em>' containment reference.
- * @see #setRightOperand(PTExpression)
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTInfixExpression_RightOperand()
- * @model containment="true"
- * @generated
- */
- PTExpression getRightOperand();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTInfixExpression#getRightOperand <em>Right Operand</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Right Operand</em>' containment reference.
- * @see #getRightOperand()
- * @generated
- */
- void setRightOperand(PTExpression value);
-
- /**
- * Returns the value of the '<em><b>Extended Operands</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jem.internal.instantiation.PTExpression}.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * Used when there are a series of infix operations of the same operator, e.g. 1 + 2 + 3 + 4. 1 and 2 will go into left and right, while {3, 4} will go into the extended operands.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Extended Operands</em>' containment reference list.
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTInfixExpression_ExtendedOperands()
- * @model type="org.eclipse.jem.internal.instantiation.PTExpression" containment="true"
- * @generated
- */
- EList getExtendedOperands();
-
- /**
- * Compress the expression
- * If there is no left operand and a right operand, or vice versa, and no extended operands
- * return the remaining single operand
- * If there is no left operand and a right and some extended ones shuffle everything along
- * so that the right becomes the left and the first extended moves into the right
- * or if no right and a left then just move the first extended into the right
- *
- * @since 1.0.0
- */
- PTExpression asCompressedExpression();
-
-} // InfixExpression
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTInfixOperator.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTInfixOperator.java
deleted file mode 100644
index 95fbbfd16..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTInfixOperator.java
+++ /dev/null
@@ -1,619 +0,0 @@
-package org.eclipse.jem.internal.instantiation;
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PTInfixOperator.java,v $
- * $Revision: 1.3 $ $Date: 2005/02/15 22:36:09 $
- */
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.common.util.AbstractEnumerator;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the literals of the enumeration '<em><b>Infix Operator</b></em>',
- * and utility methods for working with them.
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * Enumerator for the operator on an InfixExpression.
- * <!-- end-model-doc -->
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTInfixOperator()
- * @model
- * @generated
- */
-public final class PTInfixOperator extends AbstractEnumerator {
- /**
- * The '<em><b>TIMES</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #TIMES_LITERAL
- * @model
- * @generated
- * @ordered
- */
- public static final int TIMES = 0;
-
- /**
- * The '<em><b>DIVIDE</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #DIVIDE_LITERAL
- * @model
- * @generated
- * @ordered
- */
- public static final int DIVIDE = 1;
-
- /**
- * The '<em><b>REMAINDER</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #REMAINDER_LITERAL
- * @model
- * @generated
- * @ordered
- */
- public static final int REMAINDER = 2;
-
- /**
- * The '<em><b>PLUS</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #PLUS_LITERAL
- * @model
- * @generated
- * @ordered
- */
- public static final int PLUS = 3;
-
- /**
- * The '<em><b>MINUS</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #MINUS_LITERAL
- * @model
- * @generated
- * @ordered
- */
- public static final int MINUS = 4;
-
- /**
- * The '<em><b>LEFT SHIFT</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #LEFT_SHIFT_LITERAL
- * @model
- * @generated
- * @ordered
- */
- public static final int LEFT_SHIFT = 5;
-
- /**
- * The '<em><b>RIGHT SHIFT SIGNED</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #RIGHT_SHIFT_SIGNED_LITERAL
- * @model
- * @generated
- * @ordered
- */
- public static final int RIGHT_SHIFT_SIGNED = 6;
-
- /**
- * The '<em><b>RIGHT SHIFT UNSIGNED</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #RIGHT_SHIFT_UNSIGNED_LITERAL
- * @model
- * @generated
- * @ordered
- */
- public static final int RIGHT_SHIFT_UNSIGNED = 7;
-
- /**
- * The '<em><b>LESS</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #LESS_LITERAL
- * @model
- * @generated
- * @ordered
- */
- public static final int LESS = 8;
-
- /**
- * The '<em><b>GREATER</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #GREATER_LITERAL
- * @model
- * @generated
- * @ordered
- */
- public static final int GREATER = 9;
-
- /**
- * The '<em><b>LESS EQUALS</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #LESS_EQUALS_LITERAL
- * @model
- * @generated
- * @ordered
- */
- public static final int LESS_EQUALS = 10;
-
- /**
- * The '<em><b>GREATER EQUALS</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #GREATER_EQUALS_LITERAL
- * @model
- * @generated
- * @ordered
- */
- public static final int GREATER_EQUALS = 11;
-
- /**
- * The '<em><b>EQUALS</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #EQUALS_LITERAL
- * @model
- * @generated
- * @ordered
- */
- public static final int EQUALS = 12;
-
- /**
- * The '<em><b>NOT EQUALS</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #NOT_EQUALS_LITERAL
- * @model
- * @generated
- * @ordered
- */
- public static final int NOT_EQUALS = 13;
-
- /**
- * The '<em><b>XOR</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #XOR_LITERAL
- * @model
- * @generated
- * @ordered
- */
- public static final int XOR = 14;
-
- /**
- * The '<em><b>AND</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #AND_LITERAL
- * @model
- * @generated
- * @ordered
- */
- public static final int AND = 15;
-
- /**
- * The '<em><b>OR</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #OR_LITERAL
- * @model
- * @generated
- * @ordered
- */
- public static final int OR = 16;
-
- /**
- * The '<em><b>CONDITIONAL AND</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #CONDITIONAL_AND_LITERAL
- * @model
- * @generated
- * @ordered
- */
- public static final int CONDITIONAL_AND = 17;
-
- /**
- * The '<em><b>CONDITIONAL OR</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #CONDITIONAL_OR_LITERAL
- * @model
- * @generated
- * @ordered
- */
- public static final int CONDITIONAL_OR = 18;
-
- /**
- * The '<em><b>TIMES</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * * operator
- * <!-- end-model-doc -->
- * @see #TIMES
- * @generated
- * @ordered
- */
- public static final PTInfixOperator TIMES_LITERAL = new PTInfixOperator(TIMES, "TIMES");
-
- /**
- * The '<em><b>DIVIDE</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * / operator
- * <!-- end-model-doc -->
- * @see #DIVIDE
- * @generated
- * @ordered
- */
- public static final PTInfixOperator DIVIDE_LITERAL = new PTInfixOperator(DIVIDE, "DIVIDE");
-
- /**
- * The '<em><b>REMAINDER</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * % operator
- * <!-- end-model-doc -->
- * @see #REMAINDER
- * @generated
- * @ordered
- */
- public static final PTInfixOperator REMAINDER_LITERAL = new PTInfixOperator(REMAINDER, "REMAINDER");
-
- /**
- * The '<em><b>PLUS</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * + operator
- * <!-- end-model-doc -->
- * @see #PLUS
- * @generated
- * @ordered
- */
- public static final PTInfixOperator PLUS_LITERAL = new PTInfixOperator(PLUS, "PLUS");
-
- /**
- * The '<em><b>MINUS</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * - operator
- * <!-- end-model-doc -->
- * @see #MINUS
- * @generated
- * @ordered
- */
- public static final PTInfixOperator MINUS_LITERAL = new PTInfixOperator(MINUS, "MINUS");
-
- /**
- * The '<em><b>LEFT SHIFT</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * << operator
- * <!-- end-model-doc -->
- * @see #LEFT_SHIFT
- * @generated
- * @ordered
- */
- public static final PTInfixOperator LEFT_SHIFT_LITERAL = new PTInfixOperator(LEFT_SHIFT, "LEFT_SHIFT");
-
- /**
- * The '<em><b>RIGHT SHIFT SIGNED</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * >> operator
- * <!-- end-model-doc -->
- * @see #RIGHT_SHIFT_SIGNED
- * @generated
- * @ordered
- */
- public static final PTInfixOperator RIGHT_SHIFT_SIGNED_LITERAL = new PTInfixOperator(RIGHT_SHIFT_SIGNED, "RIGHT_SHIFT_SIGNED");
-
- /**
- * The '<em><b>RIGHT SHIFT UNSIGNED</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * >>> operator
- * <!-- end-model-doc -->
- * @see #RIGHT_SHIFT_UNSIGNED
- * @generated
- * @ordered
- */
- public static final PTInfixOperator RIGHT_SHIFT_UNSIGNED_LITERAL = new PTInfixOperator(RIGHT_SHIFT_UNSIGNED, "RIGHT_SHIFT_UNSIGNED");
-
- /**
- * The '<em><b>LESS</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * < operator
- * <!-- end-model-doc -->
- * @see #LESS
- * @generated
- * @ordered
- */
- public static final PTInfixOperator LESS_LITERAL = new PTInfixOperator(LESS, "LESS");
-
- /**
- * The '<em><b>GREATER</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * > operator
- * <!-- end-model-doc -->
- * @see #GREATER
- * @generated
- * @ordered
- */
- public static final PTInfixOperator GREATER_LITERAL = new PTInfixOperator(GREATER, "GREATER");
-
- /**
- * The '<em><b>LESS EQUALS</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * <= operator
- * <!-- end-model-doc -->
- * @see #LESS_EQUALS
- * @generated
- * @ordered
- */
- public static final PTInfixOperator LESS_EQUALS_LITERAL = new PTInfixOperator(LESS_EQUALS, "LESS_EQUALS");
-
- /**
- * The '<em><b>GREATER EQUALS</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * >= operator
- * <!-- end-model-doc -->
- * @see #GREATER_EQUALS
- * @generated
- * @ordered
- */
- public static final PTInfixOperator GREATER_EQUALS_LITERAL = new PTInfixOperator(GREATER_EQUALS, "GREATER_EQUALS");
-
- /**
- * The '<em><b>EQUALS</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * == operator
- * <!-- end-model-doc -->
- * @see #EQUALS
- * @generated
- * @ordered
- */
- public static final PTInfixOperator EQUALS_LITERAL = new PTInfixOperator(EQUALS, "EQUALS");
-
- /**
- * The '<em><b>NOT EQUALS</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * != operator
- * <!-- end-model-doc -->
- * @see #NOT_EQUALS
- * @generated
- * @ordered
- */
- public static final PTInfixOperator NOT_EQUALS_LITERAL = new PTInfixOperator(NOT_EQUALS, "NOT_EQUALS");
-
- /**
- * The '<em><b>XOR</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * ^ operator
- * <!-- end-model-doc -->
- * @see #XOR
- * @generated
- * @ordered
- */
- public static final PTInfixOperator XOR_LITERAL = new PTInfixOperator(XOR, "XOR");
-
- /**
- * The '<em><b>AND</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * & operator
- * <!-- end-model-doc -->
- * @see #AND
- * @generated
- * @ordered
- */
- public static final PTInfixOperator AND_LITERAL = new PTInfixOperator(AND, "AND");
-
- /**
- * The '<em><b>OR</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * | operator
- * <!-- end-model-doc -->
- * @see #OR
- * @generated
- * @ordered
- */
- public static final PTInfixOperator OR_LITERAL = new PTInfixOperator(OR, "OR");
-
- /**
- * The '<em><b>CONDITIONAL AND</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * && operator
- * <!-- end-model-doc -->
- * @see #CONDITIONAL_AND
- * @generated
- * @ordered
- */
- public static final PTInfixOperator CONDITIONAL_AND_LITERAL = new PTInfixOperator(CONDITIONAL_AND, "CONDITIONAL_AND");
-
- /**
- * The '<em><b>CONDITIONAL OR</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * || operator
- * <!-- end-model-doc -->
- * @see #CONDITIONAL_OR
- * @generated
- * @ordered
- */
- public static final PTInfixOperator CONDITIONAL_OR_LITERAL = new PTInfixOperator(CONDITIONAL_OR, "CONDITIONAL_OR");
-
- /**
- * An array of all the '<em><b>PT Infix Operator</b></em>' enumerators.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private static final PTInfixOperator[] VALUES_ARRAY =
- new PTInfixOperator[] {
- TIMES_LITERAL,
- DIVIDE_LITERAL,
- REMAINDER_LITERAL,
- PLUS_LITERAL,
- MINUS_LITERAL,
- LEFT_SHIFT_LITERAL,
- RIGHT_SHIFT_SIGNED_LITERAL,
- RIGHT_SHIFT_UNSIGNED_LITERAL,
- LESS_LITERAL,
- GREATER_LITERAL,
- LESS_EQUALS_LITERAL,
- GREATER_EQUALS_LITERAL,
- EQUALS_LITERAL,
- NOT_EQUALS_LITERAL,
- XOR_LITERAL,
- AND_LITERAL,
- OR_LITERAL,
- CONDITIONAL_AND_LITERAL,
- CONDITIONAL_OR_LITERAL,
- };
-
- private static final String[] OPERATOR_STRING;
- static {
- OPERATOR_STRING = new String[VALUES_ARRAY.length];
- OPERATOR_STRING[TIMES] = "*";
- OPERATOR_STRING[DIVIDE] = "/";
- OPERATOR_STRING[REMAINDER] = "%";
- OPERATOR_STRING[PLUS] = "+";
- OPERATOR_STRING[MINUS] = "-";
- OPERATOR_STRING[LEFT_SHIFT] = "<";
- OPERATOR_STRING[RIGHT_SHIFT_SIGNED] = ">>";
- OPERATOR_STRING[RIGHT_SHIFT_UNSIGNED] = ">>>";
- OPERATOR_STRING[LESS] = "<";
- OPERATOR_STRING[GREATER] = ">";
- OPERATOR_STRING[LESS_EQUALS] = "<=";
- OPERATOR_STRING[GREATER_EQUALS] = ">=";
- OPERATOR_STRING[EQUALS] = "==";
- OPERATOR_STRING[NOT_EQUALS] = "!=";
- OPERATOR_STRING[XOR] = "^";
- OPERATOR_STRING[AND] = "&";
- OPERATOR_STRING[OR] = "|";
- OPERATOR_STRING[CONDITIONAL_AND] = "&&";
- OPERATOR_STRING[CONDITIONAL_OR] = "||";
- }
-
- /**
- * A public read-only list of all the '<em><b>PT Infix Operator</b></em>' enumerators.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
-
- /**
- * Returns the '<em><b>PT Infix Operator</b></em>' literal with the specified name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static PTInfixOperator get(String name) {
- for (int i = 0; i < VALUES_ARRAY.length; ++i) {
- PTInfixOperator result = VALUES_ARRAY[i];
- if (result.toString().equals(name)) {
- return result;
- }
- }
- return null;
- }
-
- /**
- * Returns the '<em><b>PT Infix Operator</b></em>' literal with the specified value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static PTInfixOperator get(int value) {
- switch (value) {
- case TIMES: return TIMES_LITERAL;
- case DIVIDE: return DIVIDE_LITERAL;
- case REMAINDER: return REMAINDER_LITERAL;
- case PLUS: return PLUS_LITERAL;
- case MINUS: return MINUS_LITERAL;
- case LEFT_SHIFT: return LEFT_SHIFT_LITERAL;
- case RIGHT_SHIFT_SIGNED: return RIGHT_SHIFT_SIGNED_LITERAL;
- case RIGHT_SHIFT_UNSIGNED: return RIGHT_SHIFT_UNSIGNED_LITERAL;
- case LESS: return LESS_LITERAL;
- case GREATER: return GREATER_LITERAL;
- case LESS_EQUALS: return LESS_EQUALS_LITERAL;
- case GREATER_EQUALS: return GREATER_EQUALS_LITERAL;
- case EQUALS: return EQUALS_LITERAL;
- case NOT_EQUALS: return NOT_EQUALS_LITERAL;
- case XOR: return XOR_LITERAL;
- case AND: return AND_LITERAL;
- case OR: return OR_LITERAL;
- case CONDITIONAL_AND: return CONDITIONAL_AND_LITERAL;
- case CONDITIONAL_OR: return CONDITIONAL_OR_LITERAL;
- }
- return null;
- }
-
- /**
- * Only this class can construct instances.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private PTInfixOperator(int value, String name) {
- super(value, name);
- }
-
- /**
- * Return the operator string (i.e. for PLUS return "+").
- * @return The operator string.
- *
- * @since 1.0.0
- */
- public String getOperator() {
- return OPERATOR_STRING[getValue()];
- }
-
-} //InfixOperator
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTInstanceReference.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTInstanceReference.java
deleted file mode 100644
index e422c7b66..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTInstanceReference.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PTInstanceReference.java,v $
- * $Revision: 1.3 $ $Date: 2005/02/15 22:36:09 $
- */
-package org.eclipse.jem.internal.instantiation;
-
-import org.eclipse.jem.internal.instantiation.base.IJavaObjectInstance;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>PT Instance Reference</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.instantiation.PTInstanceReference#getObject <em>Object</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTInstanceReference()
- * @model
- * @generated
- */
-public interface PTInstanceReference extends PTExpression {
- /**
- * Returns the value of the '<em><b>Object</b></em>' reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Object</em>' reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Object</em>' reference.
- * @see #setObject(IJavaObjectInstance)
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTInstanceReference_Object()
- * @model required="true"
- * @generated
- */
- IJavaObjectInstance getObject();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTInstanceReference#getObject <em>Object</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Object</em>' reference.
- * @see #getObject()
- * @generated
- */
- void setObject(IJavaObjectInstance value);
-
-} // PTInstanceReference
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTInstanceof.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTInstanceof.java
deleted file mode 100644
index 895b69025..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTInstanceof.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PTInstanceof.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:36:09 $
- */
-package org.eclipse.jem.internal.instantiation;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Instanceof</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * Instanceof expression, e.g. x instanceof java.lang.String
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.instantiation.PTInstanceof#getOperand <em>Operand</em>}</li>
- * <li>{@link org.eclipse.jem.internal.instantiation.PTInstanceof#getType <em>Type</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTInstanceof()
- * @model
- * @generated
- */
-public interface PTInstanceof extends PTExpression{
- /**
- * Returns the value of the '<em><b>Operand</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * The value to test, e.g. x in x instanceof java.lang.String
- * <!-- end-model-doc -->
- * @return the value of the '<em>Operand</em>' containment reference.
- * @see #setOperand(PTExpression)
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTInstanceof_Operand()
- * @model containment="true"
- * @generated
- */
- PTExpression getOperand();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTInstanceof#getOperand <em>Operand</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Operand</em>' containment reference.
- * @see #getOperand()
- * @generated
- */
- void setOperand(PTExpression value);
-
- /**
- * Returns the value of the '<em><b>Type</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * The type of the instance test, e.g. java.lang.String. It must be fully-qualified. If it is an inner class, it needs to be in reflection format, i.e. Y is inner class of j.X, then a reference to Y must be j.X$Y.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Type</em>' attribute.
- * @see #setType(String)
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTInstanceof_Type()
- * @model
- * @generated
- */
- String getType();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTInstanceof#getType <em>Type</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Type</em>' attribute.
- * @see #getType()
- * @generated
- */
- void setType(String value);
-
-} // Instanceof
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTInvalidExpression.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTInvalidExpression.java
deleted file mode 100644
index c3b4cb08f..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTInvalidExpression.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PTInvalidExpression.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:36:09 $
- */
-package org.eclipse.jem.internal.instantiation;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Invalid Expression</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * This is used when we have some expression we just can't evaluate for our purposes. It allows us to tell the evaluation what is actually wrong. It should be placed as the root expression to prevent processing much of the tree and then finally fail.
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.instantiation.PTInvalidExpression#getMessage <em>Message</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTInvalidExpression()
- * @model
- * @generated
- */
-public interface PTInvalidExpression extends PTExpression{
- /**
- * Returns the value of the '<em><b>Message</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * A message as to why it is invalid.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Message</em>' attribute.
- * @see #setMessage(String)
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTInvalidExpression_Message()
- * @model
- * @generated
- */
- String getMessage();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTInvalidExpression#getMessage <em>Message</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Message</em>' attribute.
- * @see #getMessage()
- * @generated
- */
- void setMessage(String value);
-
-} // InvalidExpression
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTMethodInvocation.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTMethodInvocation.java
deleted file mode 100644
index bfd1ee0e5..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTMethodInvocation.java
+++ /dev/null
@@ -1,106 +0,0 @@
-package org.eclipse.jem.internal.instantiation;
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PTMethodInvocation.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:36:09 $
- */
-import org.eclipse.emf.common.util.EList;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Method Invocation</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * MethodInvocation expression, e.g. x.getY(3)
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.instantiation.PTMethodInvocation#getReceiver <em>Receiver</em>}</li>
- * <li>{@link org.eclipse.jem.internal.instantiation.PTMethodInvocation#getName <em>Name</em>}</li>
- * <li>{@link org.eclipse.jem.internal.instantiation.PTMethodInvocation#getArguments <em>Arguments</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTMethodInvocation()
- * @model
- * @generated
- */
-public interface PTMethodInvocation extends PTExpression{
- /**
- * Returns the value of the '<em><b>Receiver</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * Who the method is invoked against. This may be not set, which means "this". It may also be a Name, which would mean a class like "java.lang.String"
- * <!-- end-model-doc -->
- * @return the value of the '<em>Receiver</em>' containment reference.
- * @see #setReceiver(PTExpression)
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTMethodInvocation_Receiver()
- * @model containment="true"
- * @generated
- */
- PTExpression getReceiver();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTMethodInvocation#getReceiver <em>Receiver</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Receiver</em>' containment reference.
- * @see #getReceiver()
- * @generated
- */
- void setReceiver(PTExpression value);
-
- /**
- * Returns the value of the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * The name of the method being invoked.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Name</em>' attribute.
- * @see #setName(String)
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTMethodInvocation_Name()
- * @model
- * @generated
- */
- String getName();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTMethodInvocation#getName <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Name</em>' attribute.
- * @see #getName()
- * @generated
- */
- void setName(String value);
-
- /**
- * Returns the value of the '<em><b>Arguments</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jem.internal.instantiation.PTExpression}.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * The list of arguments, if any, to the method.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Arguments</em>' containment reference list.
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTMethodInvocation_Arguments()
- * @model type="org.eclipse.jem.internal.instantiation.PTExpression" containment="true"
- * @generated
- */
- EList getArguments();
-
-} // MethodInvocation
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTName.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTName.java
deleted file mode 100644
index c4d1df095..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTName.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PTName.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:36:09 $
- */
-package org.eclipse.jem.internal.instantiation;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Name</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * This represents a name. This can happen for the receiver of a method invocation, e.g. x.getY() or java.lang.String.valueOf(10). In these cases you would have a name of "x" or "java.lang.String".
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.instantiation.PTName#getName <em>Name</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTName()
- * @model
- * @generated
- */
-public interface PTName extends PTExpression{
- /**
- * Returns the value of the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * The name, which can be a type or a variable. If it is a type, then it must be fully-qualified. If it is an inner class, it needs to be in reflection format, i.e. Y is inner class of j.X, then a reference to Y must be j.X$Y.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Name</em>' attribute.
- * @see #setName(String)
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTName_Name()
- * @model
- * @generated
- */
- String getName();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTName#getName <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Name</em>' attribute.
- * @see #getName()
- * @generated
- */
- void setName(String value);
-
-} // Name
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTNullLiteral.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTNullLiteral.java
deleted file mode 100644
index d5b1115dc..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTNullLiteral.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PTNullLiteral.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:36:09 $
- */
-package org.eclipse.jem.internal.instantiation;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Null Literal</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * Represents the expression "null"
- * <!-- end-model-doc -->
- *
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTNullLiteral()
- * @model
- * @generated
- */
-public interface PTNullLiteral extends PTExpression{
-} // NullLiteral
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTNumberLiteral.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTNumberLiteral.java
deleted file mode 100644
index 3810a1844..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTNumberLiteral.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PTNumberLiteral.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:36:09 $
- */
-package org.eclipse.jem.internal.instantiation;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Number Literal</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * Represent a number primitive literal, e.g. 10. One optimization that will be performed is that if an expression is of the form +number or -number, it will be converted from a PrefixExpression with a NumberLiteral to just a NumberLiteral. This will simplify the model.
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.instantiation.PTNumberLiteral#getToken <em>Token</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTNumberLiteral()
- * @model
- * @generated
- */
-public interface PTNumberLiteral extends PTExpression{
- /**
- * Returns the value of the '<em><b>Token</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * The token value, e.g. 10, 10d, or -10.75
- * <!-- end-model-doc -->
- * @return the value of the '<em>Token</em>' attribute.
- * @see #setToken(String)
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTNumberLiteral_Token()
- * @model
- * @generated
- */
- String getToken();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTNumberLiteral#getToken <em>Token</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Token</em>' attribute.
- * @see #getToken()
- * @generated
- */
- void setToken(String value);
-
-} // NumberLiteral
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTParenthesizedExpression.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTParenthesizedExpression.java
deleted file mode 100644
index 37329e94d..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTParenthesizedExpression.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PTParenthesizedExpression.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:36:09 $
- */
-package org.eclipse.jem.internal.instantiation;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Parenthesized Expression</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * An expression within parenthesis, e.g. (x+3)
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.instantiation.PTParenthesizedExpression#getExpression <em>Expression</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTParenthesizedExpression()
- * @model
- * @generated
- */
-public interface PTParenthesizedExpression extends PTExpression{
- /**
- * Returns the value of the '<em><b>Expression</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * The expression wrapped by the parenthesis, e.g. (x+3) then the expression is "x+3"
- * <!-- end-model-doc -->
- * @return the value of the '<em>Expression</em>' containment reference.
- * @see #setExpression(PTExpression)
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTParenthesizedExpression_Expression()
- * @model containment="true"
- * @generated
- */
- PTExpression getExpression();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTParenthesizedExpression#getExpression <em>Expression</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Expression</em>' containment reference.
- * @see #getExpression()
- * @generated
- */
- void setExpression(PTExpression value);
-
-} // ParenthesizedExpression
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTPrefixExpression.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTPrefixExpression.java
deleted file mode 100644
index 3fd5f90e2..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTPrefixExpression.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PTPrefixExpression.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:36:08 $
- */
-package org.eclipse.jem.internal.instantiation;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Prefix Expression</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * A one operand operator, where the operator comes before the operand, e.g. - (x+3). In AST, even -3 is modeled as a PrefixExpression of operator "-" and expression of NumberLiteral(3). But we optimize this away and just use a NumberLiteral(-3) directly instead.
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.instantiation.PTPrefixExpression#getOperator <em>Operator</em>}</li>
- * <li>{@link org.eclipse.jem.internal.instantiation.PTPrefixExpression#getExpression <em>Expression</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTPrefixExpression()
- * @model
- * @generated
- */
-public interface PTPrefixExpression extends PTExpression{
- /**
- * Returns the value of the '<em><b>Operator</b></em>' attribute.
- * The literals are from the enumeration {@link org.eclipse.jem.internal.instantiation.PTPrefixOperator}.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * The operator of this expression.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Operator</em>' attribute.
- * @see org.eclipse.jem.internal.instantiation.PTPrefixOperator
- * @see #setOperator(PTPrefixOperator)
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTPrefixExpression_Operator()
- * @model
- * @generated
- */
- PTPrefixOperator getOperator();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTPrefixExpression#getOperator <em>Operator</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Operator</em>' attribute.
- * @see org.eclipse.jem.internal.instantiation.PTPrefixOperator
- * @see #getOperator()
- * @generated
- */
- void setOperator(PTPrefixOperator value);
-
- /**
- * Returns the value of the '<em><b>Expression</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * The expression that the operator is applied to.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Expression</em>' containment reference.
- * @see #setExpression(PTExpression)
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTPrefixExpression_Expression()
- * @model containment="true"
- * @generated
- */
- PTExpression getExpression();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTPrefixExpression#getExpression <em>Expression</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Expression</em>' containment reference.
- * @see #getExpression()
- * @generated
- */
- void setExpression(PTExpression value);
-
-} // PrefixExpression
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTPrefixOperator.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTPrefixOperator.java
deleted file mode 100644
index 983dd319d..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTPrefixOperator.java
+++ /dev/null
@@ -1,213 +0,0 @@
-package org.eclipse.jem.internal.instantiation;
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PTPrefixOperator.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:36:09 $
- */
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.common.util.AbstractEnumerator;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the literals of the enumeration '<em><b>Prefix Operator</b></em>',
- * and utility methods for working with them.
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * The prefix expression operator. We are not modeling ++ and --.
- * <!-- end-model-doc -->
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTPrefixOperator()
- * @model
- * @generated
- */
-public final class PTPrefixOperator extends AbstractEnumerator {
- /**
- * The '<em><b>PLUS</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #PLUS_LITERAL
- * @model
- * @generated
- * @ordered
- */
- public static final int PLUS = 0;
-
- /**
- * The '<em><b>MINUS</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #MINUS_LITERAL
- * @model
- * @generated
- * @ordered
- */
- public static final int MINUS = 1;
-
- /**
- * The '<em><b>COMPLEMENT</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #COMPLEMENT_LITERAL
- * @model
- * @generated
- * @ordered
- */
- public static final int COMPLEMENT = 2;
-
- /**
- * The '<em><b>NOT</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #NOT_LITERAL
- * @model
- * @generated
- * @ordered
- */
- public static final int NOT = 3;
-
- /**
- * The '<em><b>PLUS</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * + operator
- * <!-- end-model-doc -->
- * @see #PLUS
- * @generated
- * @ordered
- */
- public static final PTPrefixOperator PLUS_LITERAL = new PTPrefixOperator(PLUS, "PLUS");
-
- /**
- * The '<em><b>MINUS</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * - operator
- * <!-- end-model-doc -->
- * @see #MINUS
- * @generated
- * @ordered
- */
- public static final PTPrefixOperator MINUS_LITERAL = new PTPrefixOperator(MINUS, "MINUS");
-
- /**
- * The '<em><b>COMPLEMENT</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * ~ operator
- * <!-- end-model-doc -->
- * @see #COMPLEMENT
- * @generated
- * @ordered
- */
- public static final PTPrefixOperator COMPLEMENT_LITERAL = new PTPrefixOperator(COMPLEMENT, "COMPLEMENT");
-
- /**
- * The '<em><b>NOT</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * ! operator
- * <!-- end-model-doc -->
- * @see #NOT
- * @generated
- * @ordered
- */
- public static final PTPrefixOperator NOT_LITERAL = new PTPrefixOperator(NOT, "NOT");
-
- /**
- * An array of all the '<em><b>PT Prefix Operator</b></em>' enumerators.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private static final PTPrefixOperator[] VALUES_ARRAY =
- new PTPrefixOperator[] {
- PLUS_LITERAL,
- MINUS_LITERAL,
- COMPLEMENT_LITERAL,
- NOT_LITERAL,
- };
-
- private static final String[] OPERATOR_STRING;
- static {
- OPERATOR_STRING = new String[VALUES_ARRAY.length];
- OPERATOR_STRING[PLUS] = "+";
- OPERATOR_STRING[MINUS] = "-";
- OPERATOR_STRING[COMPLEMENT] = "~";
- OPERATOR_STRING[NOT] = "!";
- }
-
- /**
- * A public read-only list of all the '<em><b>PT Prefix Operator</b></em>' enumerators.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
-
- /**
- * Returns the '<em><b>PT Prefix Operator</b></em>' literal with the specified name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static PTPrefixOperator get(String name) {
- for (int i = 0; i < VALUES_ARRAY.length; ++i) {
- PTPrefixOperator result = VALUES_ARRAY[i];
- if (result.toString().equals(name)) {
- return result;
- }
- }
- return null;
- }
-
- /**
- * Returns the '<em><b>PT Prefix Operator</b></em>' literal with the specified value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static PTPrefixOperator get(int value) {
- switch (value) {
- case PLUS: return PLUS_LITERAL;
- case MINUS: return MINUS_LITERAL;
- case COMPLEMENT: return COMPLEMENT_LITERAL;
- case NOT: return NOT_LITERAL;
- }
- return null;
- }
-
- /**
- * Only this class can construct instances.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private PTPrefixOperator(int value, String name) {
- super(value, name);
- }
-
- /**
- * Return the operator string (i.e. for PLUS return "+").
- * @return The operator string.
- *
- * @since 1.0.0
- */
- public String getOperator() {
- return OPERATOR_STRING[getValue()];
- }
-} //PrefixOperator
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTStringLiteral.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTStringLiteral.java
deleted file mode 100644
index 3d084bd6f..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTStringLiteral.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PTStringLiteral.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:36:09 $
- */
-package org.eclipse.jem.internal.instantiation;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>String Literal</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * Representation of a string literal, e.g. "asdf".
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.instantiation.PTStringLiteral#getEscapedValue <em>Escaped Value</em>}</li>
- * <li>{@link org.eclipse.jem.internal.instantiation.PTStringLiteral#getLiteralValue <em>Literal Value</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTStringLiteral()
- * @model
- * @generated
- */
-public interface PTStringLiteral extends PTExpression{
- /**
- * Returns the value of the '<em><b>Escaped Value</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * This is the escaped string. In other words the literal exactly as it is in the java file. E.g. "ab" or "c\r". Including the surrounding quotes themselves.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Escaped Value</em>' attribute.
- * @see #setEscapedValue(String)
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTStringLiteral_EscapedValue()
- * @model
- * @generated
- */
- String getEscapedValue();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTStringLiteral#getEscapedValue <em>Escaped Value</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Escaped Value</em>' attribute.
- * @see #getEscapedValue()
- * @generated
- */
- void setEscapedValue(String value);
-
- /**
- * Returns the value of the '<em><b>Literal Value</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * The actual string without the quotes. Escape are evaluated and turned into their character value. This is a transient field. If not set when created when queried it will create it. Typically it will be set when created from an AST node since the node already has evaluated it.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Literal Value</em>' attribute.
- * @see #setLiteralValue(String)
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTStringLiteral_LiteralValue()
- * @model transient="true"
- * @generated
- */
- String getLiteralValue();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTStringLiteral#getLiteralValue <em>Literal Value</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Literal Value</em>' attribute.
- * @see #getLiteralValue()
- * @generated
- */
- void setLiteralValue(String value);
-
-} // StringLiteral
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTThisLiteral.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTThisLiteral.java
deleted file mode 100644
index c71573268..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTThisLiteral.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PTThisLiteral.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:36:09 $
- */
-package org.eclipse.jem.internal.instantiation;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>This Literal</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * Represents "this", e.g. this.getX() will be a MethodInvocation with the receiver being a ThisLiteral. We can't handle the format XYZ.this because that is for inner classes and we don't support that right now.
- * <!-- end-model-doc -->
- *
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTThisLiteral()
- * @model
- * @generated
- */
-public interface PTThisLiteral extends PTExpression{
-} // ThisLiteral
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTTypeLiteral.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTTypeLiteral.java
deleted file mode 100644
index ef1937540..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTTypeLiteral.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PTTypeLiteral.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:36:09 $
- */
-package org.eclipse.jem.internal.instantiation;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Type Literal</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * This represents a literal of the form j.XYZ.class. For instance in a method invocation x.getX(jXYZ.class) the argument will be a TypeLiteral.
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.instantiation.PTTypeLiteral#getType <em>Type</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTTypeLiteral()
- * @model
- * @generated
- */
-public interface PTTypeLiteral extends PTExpression{
- /**
- * Returns the value of the '<em><b>Type</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * The type of the literal. It must be fully-qualified. If it is an inner class, it needs to be in reflection format, i.e. Y is inner class of j.X, then a reference to Y must be j.X$Y.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Type</em>' attribute.
- * @see #setType(String)
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTTypeLiteral_Type()
- * @model
- * @generated
- */
- String getType();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTTypeLiteral#getType <em>Type</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Type</em>' attribute.
- * @see #getType()
- * @generated
- */
- void setType(String value);
-
-} // TypeLiteral
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/ParseTreeAllocation.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/ParseTreeAllocation.java
deleted file mode 100644
index 846346c64..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/ParseTreeAllocation.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: ParseTreeAllocation.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:36:09 $
- */
-package org.eclipse.jem.internal.instantiation;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Parse Tree Allocation</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * Allocations via Parse Trees.
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.instantiation.ParseTreeAllocation#getExpression <em>Expression</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getParseTreeAllocation()
- * @model
- * @generated
- */
-public interface ParseTreeAllocation extends JavaAllocation{
- /**
- * Returns the value of the '<em><b>Expression</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Expression</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Expression</em>' containment reference.
- * @see #setExpression(PTExpression)
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getParseTreeAllocation_Expression()
- * @model containment="true" required="true"
- * @generated
- */
- PTExpression getExpression();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.ParseTreeAllocation#getExpression <em>Expression</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Expression</em>' containment reference.
- * @see #getExpression()
- * @generated
- */
- void setExpression(PTExpression value);
-
-} // ParseTreeAllocation
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/ParseVisitor.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/ParseVisitor.java
deleted file mode 100644
index be291bd25..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/ParseVisitor.java
+++ /dev/null
@@ -1,266 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: ParseVisitor.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:36:09 $
- */
-package org.eclipse.jem.internal.instantiation;
-
-/**
- * A visitor for abstract parse expression trees.
- * <p>
- * For each different concrete Expression node type <it>T</it> there are
- * a pair of methods:
- * <ul>
- * <li><code>public boolean visit(<it>T</it> node)</code> - Visits
- * the given node to perform some arbitrary operation. If <code>true</code>
- * is returned, the given node's child nodes will be visited next; however,
- * if <code>false</code> is returned, the given node's child nodes will
- * not be visited. The default implementation provided by this class does
- * nothing and returns <code>true</code>. Subclasses may reimplement
- * this method as needed.</li>
- * <li><code>public void endVisit(<it>T</it> node)</code> - Visits
- * the given node to perform some arbitrary operation. When used in the
- * conventional way, this method is called after all of the given node's
- * children have been visited (or immediately, if <code>visit</code> returned
- * <code>false</code>). The default implementation provided by this class does
- * nothing. Subclasses may reimplement this method as needed.</li>
- * </ul>
- * </p>
- * In addition, there are a pair of methods for visiting AST nodes in the
- * abstract, regardless of node type:
- * <ul>
- * <li><code>public void preVisit(ASTNode node)</code> - Visits
- * the given node to perform some arbitrary operation.
- * This method is invoked prior to the appropriate type-specific
- * <code>visit</code> method.
- * The default implementation of this method does nothing.
- * Subclasses may reimplement this method as needed.</li>
- * <li><code>public void postVisit(ASTNode node)</code> - Visits
- * the given node to perform some arbitrary operation.
- * This method is invoked after the appropriate type-specific
- * <code>endVisit</code> method.
- * The default implementation of this method does nothing.
- * Subclasses may reimplement this method as needed.</li>
- * </ul>
- * <p>
- * For nodes with list-valued properties, the child nodes within the list
- * are visited in order. For nodes with multiple properties, the child nodes
- * are visited in the order that most closely corresponds to the lexical
- * reading order of the source program. For instance, for a type declaration
- * node, the child ordering is: name, superclass, superinterfaces, and
- * body declarations.
- * </p>
- * <p>
- * While it is possible to modify the tree in the visitor, care is required to
- * ensure that the consequences are as expected and desirable.
- * During the course of an ordinary visit starting at a given node, every node
- * in the subtree is visited exactly twice, first with <code>visit</code> and
- * then with <code>endVisit</code>. During a traversal of a stationary tree,
- * each node is either behind (after <code>endVisit</code>), ahead (before
- * <code>visit</code>), or in progress (between <code>visit</code> and
- * the matching <code>endVisit</code>). Changes to the "behind" region of the
- * tree are of no consequence to the visit in progress. Changes to the "ahead"
- * region will be taken in stride. Changes to the "in progress" portion are
- * the more interesting cases. With a node, the various properties are arranged
- * in a linear list, with a cursor that separates the properties that have
- * been visited from the ones that are still to be visited (the cursor
- * is between the elements, rather than on an element). The cursor moves from
- * the head to the tail of this list, advancing to the next position just
- * <it>before</it> <code>visit</code> if called for that child. After the child
- * subtree has been completely visited, the visit moves on the child
- * immediately after the cursor. Removing a child while it is being visited
- * does not alter the course of the visit. But any children added at positions
- * after the cursor are considered in the "ahead" portion and will be visited.
- * </p>
- * <p>
- * Cases to watch out for:
- * <ul>
- * <li>Moving a child node further down the list. This could result in the
- * child subtree being visited multiple times; these visits are sequential.</li>
- * <li>Moving a child node up into an ancestor. If the new home for
- * the node is in the "ahead" portion, the subtree will be visited
- * a second time; again, these visits are sequential.</li>
- * <li>Moving a node down into a child. If the new home for
- * the node is in the "ahead" portion, the subtree will be visited
- * a second time; in this case, the visits will be nested. In some cases,
- * this can lead to a stack overflow or out of memory condition.</li>
- * </ul>
- * </p>
- *
- * Note: This is based upon the visit concept in org.eclipse.jdt.core.dom.ASTVisitor.
- *
- * @see Expression#accept
- *
- * @since 1.0.0
- */
-public class ParseVisitor {
- /**
- * Visits the given parse node prior to the type-specific visit. (before <code>visit</code>).
- * <p>
- * The default implementation does nothing. Subclasses may reimplement.
- * </p>
- *
- * @param node
- * the node to visit
- */
- public void preVisit(PTExpression node) {
- // default implementation: do nothing
- }
-
- /**
- * Visits the given parse node following the type-specific visit (after <code>endVisit</code>).
- * <p>
- * The default implementation does nothing. Subclasses may reimplement.
- * </p>
- *
- * @param node
- * the node to visit
- */
- public void postVisit(PTExpression node) {
- // default implementation: do nothing
- }
-
- public boolean visit(PTArrayAccess node) {
- return true;
- }
- public boolean visit(PTArrayCreation node) {
- return true;
- }
- public boolean visit(PTArrayInitializer node) {
- return true;
- }
- public boolean visit(PTBooleanLiteral node) {
- return true;
- }
- public boolean visit(PTCastExpression node) {
- return true;
- }
- public boolean visit(PTCharacterLiteral node) {
- return true;
- }
- public boolean visit(PTClassInstanceCreation node) {
- return true;
- }
- public boolean visit(PTConditionalExpression node) {
- return true;
- }
- public boolean visit(PTFieldAccess node) {
- return true;
- }
- public boolean visit(PTInfixExpression node) {
- return true;
- }
- public boolean visit(PTInstanceof node) {
- return true;
- }
- public boolean visit(PTInvalidExpression node) {
- return true;
- }
- public boolean visit(PTMethodInvocation node) {
- return true;
- }
- public boolean visit(PTName node) {
- return true;
- }
- public boolean visit(PTNullLiteral node) {
- return true;
- }
- public boolean visit(PTNumberLiteral node) {
- return true;
- }
- public boolean visit(PTParenthesizedExpression node) {
- return true;
- }
- public boolean visit(PTPrefixExpression node) {
- return true;
- }
- public boolean visit(PTStringLiteral node) {
- return true;
- }
- public boolean visit(PTThisLiteral node) {
- return true;
- }
- public boolean visit(PTTypeLiteral node) {
- return true;
- }
- public boolean visit(PTInstanceReference node) {
- return true;
- }
-
- public void endVisit(PTArrayAccess node) {
- // default implementation: do nothing
- }
- public void endVisit(PTArrayCreation node) {
- // default implementation: do nothing
- }
- public void endVisit(PTArrayInitializer node) {
- // default implementation: do nothing
- }
- public void endVisit(PTBooleanLiteral node) {
- // default implementation: do nothing
- }
- public void endVisit(PTCastExpression node) {
- // default implementation: do nothing
- }
- public void endVisit(PTCharacterLiteral node) {
- // default implementation: do nothing
- }
- public void endVisit(PTClassInstanceCreation node) {
- // default implementation: do nothing
- }
- public void endVisit(PTConditionalExpression node) {
- // default implementation: do nothing
- }
- public void endVisit(PTFieldAccess node) {
- // default implementation: do nothing
- }
- public void endVisit(PTInfixExpression node) {
- // default implementation: do nothing
- }
- public void endVisit(PTInstanceof node) {
- // default implementation: do nothing
- }
- public void endVisit(PTInvalidExpression node) {
- // default implementation: do nothing
- }
- public void endVisit(PTMethodInvocation node) {
- // default implementation: do nothing
- }
- public void endVisit(PTName node) {
- // default implementation: do nothing
- }
- public void endVisit(PTNullLiteral node) {
- // default implementation: do nothing
- }
- public void endVisit(PTNumberLiteral node) {
- // default implementation: do nothing
- }
- public void endVisit(PTParenthesizedExpression node) {
- // default implementation: do nothing
- }
- public void endVisit(PTPrefixExpression node) {
- // default implementation: do nothing
- }
- public void endVisit(PTStringLiteral node) {
- // default implementation: do nothing
- }
- public void endVisit(PTThisLiteral node) {
- // default implementation: do nothing
- }
- public void endVisit(PTTypeLiteral node) {
- // default implementation: do nothing
- }
- public void endVisit(PTInstanceReference node) {
- // default implementation: do nothing
- }
-
-}
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/FeatureValueProvider.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/FeatureValueProvider.java
deleted file mode 100644
index 65cc22408..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/FeatureValueProvider.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.instantiation.base;
-/*
- * $RCSfile: FeatureValueProvider.java,v $
- * $Revision: 1.6 $ $Date: 2005/05/20 21:02:33 $
- */
-
-import java.util.Iterator;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-/**
- * Implementers of this interface (an EMF EObject subclass) provide a visiter
- * capability to the set features on the EObject. This way only the set features
- * are presented to the visitor. This can save a lot of time.
- *
- * @since 1.1.0
- */
-public interface FeatureValueProvider {
-
- /**
- * A helper class for FeatureValueProvider.
- *
- * @see FeatureValueProviderHelper#visitSetFeatures(EObject, Visitor)
- *
- * @since 1.1.0
- */
- public static class FeatureValueProviderHelper {
-
- /**
- * A helper to handle where the object may or may not be
- * implement FeatureValueProvider. This way it can be a
- * common access to do it.
- *
- * @param eobject
- * @param visitor
- * @return
- *
- * @since 1.1.0
- */
- public static Object visitSetFeatures(EObject eobject, Visitor visitor) {
- if (eobject instanceof FeatureValueProvider)
- return ((FeatureValueProvider)eobject).visitSetFeatures(visitor);
- else {
- // Not a FeatureValueProvider, so do normal.
- Iterator features = eobject.eClass().getEAllStructuralFeatures().iterator();
- while(features.hasNext()){
- EStructuralFeature sf = (EStructuralFeature)features.next();
- if(eobject.eIsSet(sf)){
- Object result = visitor.isSet(sf, eobject.eGet(sf));
- if (result != null)
- return result;
- }
- }
- return null;
- }
- }
-
- private FeatureValueProviderHelper() {
- }
- }
-
- /**
- * The interface for the visiter callback.
- *
- * @since 1.1.0
- */
- public interface Visitor{
- /**
- * Called for each set feature on the FeatureValueProvider.
- *
- * @param feature
- * @param value
- * @return <code>null</code> to continue to next setting, or a value to stop visiting and return that value be the real exception.
- * @since 1.1.0
- */
- Object isSet(EStructuralFeature feature, Object value);
- }
-
- /**
- * Visit the set features.
- * @param aVisitor
- * @param <code>null</code> if all settings visited, or the value returned from the visit (isSet) that returned a non-nullSe.
- * @since 1.1.0
- */
- public Object visitSetFeatures(Visitor aVisitor);
-}
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/IJavaDataTypeInstance.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/IJavaDataTypeInstance.java
deleted file mode 100644
index df33f4b6c..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/IJavaDataTypeInstance.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.eclipse.jem.internal.instantiation.base;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: IJavaDataTypeInstance.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:36:09 $
- */
-
-/**
- * Interface for instances of java data types.
- */
-
-public interface IJavaDataTypeInstance extends IJavaInstance {
-
-}
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/IJavaInstance.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/IJavaInstance.java
deleted file mode 100644
index 3efe21831..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/IJavaInstance.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.instantiation.base;
-/*
- * $RCSfile: IJavaInstance.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:36:09 $
- */
-
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.jem.internal.instantiation.JavaAllocation;
-import org.eclipse.jem.internal.java.instantiation.IInstantiationInstance;
-/**
- * A common interface for Java instances. It will be
- * shared by Java Objects and Java DataType instances.
- */
-public interface IJavaInstance extends EObject, IInstantiationInstance {
-
- /**
- * Get the allocation object.
- * @return The allocation object.
- */
- public JavaAllocation getAllocation();
-
- /**
- * Set the allocation for this object instance.
- * @param allocation
- */
- public void setAllocation(JavaAllocation allocation);
-
- /**
- * Return whether the allocation has been set or not.
- * @return <code>true</code> if set.
- */
- public boolean isSetAllocation();
-
- /**
- * Answer true if we are an instance of one of Java's primitive data types.
- * e.g. boolean, char - true otherwise, e.g. java.lang.Boolean
- */
- public boolean isPrimitive();
-
-}
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/IJavaObjectInstance.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/IJavaObjectInstance.java
deleted file mode 100644
index e8e2f9d81..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/IJavaObjectInstance.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.instantiation.base;
-/*
- * $RCSfile: IJavaObjectInstance.java,v $
- * $Revision: 1.5 $ $Date: 2005/05/12 22:17:05 $
- */
-
-
-/**
- * Interface for java object instances.
- */
-public interface IJavaObjectInstance extends IJavaInstance, FeatureValueProvider {
-
-}
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/InstantiationBaseMessages.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/InstantiationBaseMessages.java
deleted file mode 100644
index 4c844568c..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/InstantiationBaseMessages.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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.instantiation.base;
-
-import org.eclipse.osgi.util.NLS;
-
-public final class InstantiationBaseMessages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.jem.internal.instantiation.base.messages";//$NON-NLS-1$
-
- private InstantiationBaseMessages() {
- // Do not instantiate
- }
-
- public static String ParseTreeAllocationInstantiationVisitor_CurrentlyThisNotSupported_EXC_;
-
- static {
- NLS.initializeMessages(BUNDLE_NAME, InstantiationBaseMessages.class);
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/JavaDataTypeInstance.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/JavaDataTypeInstance.java
deleted file mode 100644
index b9f3262e6..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/JavaDataTypeInstance.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.instantiation.base;
-/*
- * $RCSfile: JavaDataTypeInstance.java,v $
- * $Revision: 1.6 $ $Date: 2005/02/15 22:36:09 $
- */
-
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-
-import org.eclipse.jem.internal.instantiation.JavaAllocation;
-import org.eclipse.jem.java.JavaHelpers;
-
-/**
- * This is the default instance of a Java Model Datatype (i.e. primitive).
- * It can be created from a string, which becomes the initialization string
- * for the instance. It's toString will be the initialization string.
- *
- * It should not be referenced directly, the IJavaDataTypeInstance interface should be
- * used instead. It is public so that it can be subclassed.
- */
-public class JavaDataTypeInstance extends EObjectImpl implements IJavaDataTypeInstance {
-
- protected JavaDataTypeInstance() {
- }
-
- /*
- * This is here only for JavaFactoryHandler to set the allocation.
- * It is not exposed in the interface and should not be called outside.
- */
- public JavaAllocation getAllocation() {
- return isSetAllocation() ? (JavaAllocation) eGet(JavaInstantiation.getAllocationFeature(this)) : null;
- }
-
- public boolean isSetAllocation() {
- return eIsSet(JavaInstantiation.getAllocationFeature(this));
- }
-
- public void setAllocation(JavaAllocation allocation) {
- eSet(JavaInstantiation.getAllocationFeature(this), allocation);
- }
-
- public JavaHelpers getJavaType() {
- return (JavaHelpers) eClass();
- }
-
- public String toString() {
- return isSetAllocation() ? getAllocation().toString() : ""; //$NON-NLS-1$
- }
- public boolean isPrimitive(){
- return true;
- }
-}
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/JavaFactoryHandler.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/JavaFactoryHandler.java
deleted file mode 100644
index 66e5bd68f..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/JavaFactoryHandler.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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.instantiation.base;
-/*
- * $RCSfile: JavaFactoryHandler.java,v $
- * $Revision: 1.5 $ $Date: 2005/02/15 22:36:09 $
- */
-
-import org.eclipse.emf.ecore.*;
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaDataType;
-import org.eclipse.jem.internal.java.instantiation.IInstantiationHandler;
-
-/**
- * Adapter on JavaFactoryImpl to do instantiation.
- */
-public class JavaFactoryHandler implements IInstantiationHandler {
-
- public final static JavaFactoryHandler INSTANCE = new JavaFactoryHandler();
-
- /**
- * Constructor for JavaFactoryAdapter.
- */
- protected JavaFactoryHandler() {
- super();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.java.instantiation.IInstantiationHandler#handlesClass(org.eclipse.emf.ecore.EClass)
- */
- public boolean handlesClass(EClass type) {
- return type instanceof JavaClass || type instanceof JavaDataType;
- // During XMI loading, it can't tell the JavaDataType is different than JavaClass.
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.java.instantiation.IInstantiationHandler#handlesDataType(org.eclipse.jem.java.JavaDataType)
- */
- public boolean handlesDataType(JavaDataType type) {
- return true;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.java.instantiation.IInstantiationHandler#create(org.eclipse.emf.ecore.EClass)
- */
- public EObject create(EClass javaClass) {
- EObject result = javaClass instanceof JavaClass ? (EObject) new JavaObjectInstance() : new JavaDataTypeInstance();
- ((InternalEObject) result).eSetClass(javaClass);
- return result;
- }
-}
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/JavaInstantiation.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/JavaInstantiation.java
deleted file mode 100644
index 61103d95c..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/JavaInstantiation.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.instantiation.base;
-/*
- * $RCSfile: JavaInstantiation.java,v $
- * $Revision: 1.5 $ $Date: 2005/02/15 22:36:09 $
- */
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.internal.java.instantiation.IInstantiationHandlerFactoryAdapter;
-
-/**
- * This class is used to initialize java model instantiation code and to access dynamic features.
- */
-public class JavaInstantiation {
-
-
- public static final String ALLOCATION = "allocation"; //$NON-NLS-1$
-
- /**
- * Get a structural feature from an instance of an IJavaObjectInstance, where the feature
- * is specified by its name.
- */
- public static EStructuralFeature getSFeature(IJavaObjectInstance jobject, String featureName) {
- return jobject.eClass().getEStructuralFeature(featureName);
- }
-
- /**
- * Get a reference from an instance of an IJavaObjectInstance, where the feature
- * is specified by its name.
- */
- public static EReference getReference(IJavaObjectInstance jobject, String featureName) {
- return (EReference) getSFeature(jobject, featureName);
- }
-
- /**
- * Get a structural feature from an instance of an IJavaObjectInstance, where the feature
- * is specified by its URI (e.g. "java:/java.lang#Object/class").
- */
- public static EStructuralFeature getSFeature(IJavaObjectInstance jobject, URI sfURI) {
- return getSFeature((JavaClass) jobject.getJavaType(), sfURI);
- }
-
- /**
- * Get a structural feature from a JavaClass, where the feature
- * is specified by its URI (e.g. "java:/java.lang#Object/class").
- */
- public static EStructuralFeature getSFeature(JavaClass jclass, URI sfURI) {
- return getSFeature(jclass.eResource().getResourceSet(), sfURI);
- }
-
- /**
- * Get a structural feature from a ResourceSet, where the feature
- * is specified by its URI (e.g. "java:/java.lang#Object/class").
- */
- public static EStructuralFeature getSFeature(ResourceSet rset, URI sfURI) {
- return (EStructuralFeature) rset.getEObject(sfURI, true);
- }
-
- /**
- * Get a reference from an instance of an IJavaObjectInstance, where the feature
- * is specified by its URI (e.g. "java:/java.lang#Object/class").
- */
- public static EReference getReference(IJavaObjectInstance jobject, URI sfURI) {
- return (EReference) getSFeature((JavaClass) jobject.getJavaType(), sfURI);
- }
-
- /**
- * Get a reference from a JavaClass, where the feature
- * is specified by its URI (e.g. "java:/java.lang#Object/class").
- */
- public static EReference getReference(JavaClass jclass, URI sfURI) {
- return (EReference) getSFeature(jclass.eResource().getResourceSet(), sfURI);
- }
-
- /**
- * Get a reference from a ResourceSet, where the feature
- * is specified by its URI (e.g. "java:/java.lang#Object/class").
- */
- public static EReference getReference(ResourceSet rset, URI sfURI) {
- return (EReference) rset.getEObject(sfURI, true);
- }
-
- /**
- * Get the allocation Feature for this object. Since it depends
- * on what resource that the metaclass is defined in, we must look for it.
- */
- public static EReference getAllocationFeature(IJavaInstance jinstance) {
- return (EReference) jinstance.eClass().getEStructuralFeature(ALLOCATION);
- }
-
- public static void initialize(ResourceSet rset) {
- if (EcoreUtil.getExistingAdapter(rset, IInstantiationHandlerFactoryAdapter.ADAPTER_KEY) == null)
- rset.eAdapters().add(new JavaInstantiationHandlerFactoryAdapter());
- }
-}
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/JavaInstantiationHandlerFactoryAdapter.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/JavaInstantiationHandlerFactoryAdapter.java
deleted file mode 100644
index 8d189bd6e..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/JavaInstantiationHandlerFactoryAdapter.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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.instantiation.base;
-/*
- * $RCSfile: JavaInstantiationHandlerFactoryAdapter.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:36:09 $
- */
-
-import org.eclipse.emf.common.notify.impl.AdapterImpl;
-
-import org.eclipse.jem.java.impl.JavaFactoryImpl;
-import org.eclipse.jem.internal.java.instantiation.IInstantiationHandler;
-import org.eclipse.jem.internal.java.instantiation.IInstantiationHandlerFactoryAdapter;
-
-/**
- * This adapter is attached to the resource set for a java model. The
- * JavaXMIFactory will ask for this adapter and ask it for the IInstantiationHandler.
- */
-public class JavaInstantiationHandlerFactoryAdapter extends AdapterImpl implements IInstantiationHandlerFactoryAdapter {
-
- /**
- * Constructor for JavaInstantiationHandlerFactoryAdapter.
- */
- public JavaInstantiationHandlerFactoryAdapter() {
- super();
- }
-
- /**
- * @see org.eclipse.jem.internal.instantiation.IInstantiationHandlerFactoryAdapter#getInstantiationHandler(JavaFactoryImpl)
- */
- public IInstantiationHandler getInstantiationHandler(JavaFactoryImpl factory) {
- return JavaFactoryHandler.INSTANCE;
- }
-
- /**
- * @see org.eclipse.emf.common.notify.Adapter#isAdapterForType(Object)
- */
- public boolean isAdapterForType(Object type) {
- return IInstantiationHandlerFactoryAdapter.ADAPTER_KEY == type;
- }
-
-}
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/JavaObjectInstance.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/JavaObjectInstance.java
deleted file mode 100644
index a61dab2f6..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/JavaObjectInstance.java
+++ /dev/null
@@ -1,284 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.instantiation.base;
-/*
- * $RCSfile: JavaObjectInstance.java,v $
- * $Revision: 1.16 $ $Date: 2005/06/20 18:48:56 $
- */
-
-import java.util.List;
-
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.*;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-import org.eclipse.emf.ecore.impl.EStructuralFeatureImpl;
-
-import org.eclipse.jem.internal.instantiation.JavaAllocation;
-import org.eclipse.jem.java.JavaHelpers;
-
-/**
- * This is the default instance for java model objects.
- * It should not be referenced directly, the IJavaObjectInstance interface should be
- * used instead. It is public so that it can be subclassed.
- */
-public class JavaObjectInstance extends EObjectImpl implements IJavaObjectInstance {
-
- public JavaHelpers getJavaType(){
- return (JavaHelpers) eClass();
- }
-
- public JavaAllocation getAllocation() {
- return isSetAllocation() ? (JavaAllocation) eGet(JavaInstantiation.getAllocationFeature(this)) : null;
- }
-
- /**
- * Visit the argument with all of the set features in an optimized fashion
- */
- private final static Object NIL = EStructuralFeatureImpl.InternalSettingDelegateSingle.NIL;
- public Object visitSetFeatures(Visitor aVisitor) {
- Object result = null;
- if (eHasSettings()) {
- JavaObjectInstancePropertiesHolder settings = (JavaObjectInstancePropertiesHolder) eProperties();
-
- Object[] setPropertyValues = settings.eSettings();
- if (setPropertyValues != null) {
- List allFeatures = settings.getAllStructuralFeatures();
- for (int i = 0; i < setPropertyValues.length; i++) {
- Object propertyValue = setPropertyValues[i];
- if (propertyValue != null) {
- // <null> is handled by the placeholder NIL. A setting of true null means not set. A setting of NIL means set to null.
- if (propertyValue == NIL)
- propertyValue = null;
- if ((result = aVisitor.isSet((EStructuralFeature) allFeatures.get(i), propertyValue)) != null)
- break;
- }
- }
- }
- }
- return result;
- }
-
- public boolean isSetAllocation() {
- return eIsSet(JavaInstantiation.getAllocationFeature(this));
- }
-
- public void setAllocation(JavaAllocation allocation) {
- eSet(JavaInstantiation.getAllocationFeature(this), allocation);
- }
-
-
- public boolean isPrimitive(){
- return false;
- }
-
- public String toString() {
- // EObject's toString is too big for us, so we do a customized one.
- StringBuffer result = new StringBuffer("JavaObjectInstance");
- result.append('@');
- result.append(Integer.toHexString(hashCode()));
-
- if (eIsProxy())
- {
- result.append(" (eProxyURI: "); //$NON-NLS-1$
- result.append(eProxyURI());
- result.append(')');
- }
- if(getJavaType() != null){
- result.append('{');
- result.append(getJavaType().getQualifiedName());
- result.append('}');
- }
-
- try {
- JavaAllocation allocation = getAllocation();
- if (allocation != null) {
- result.append(':'); //$NON-NLS-1$
- result.append(allocation.toString());
- }
- } catch (IllegalArgumentException e) {
- } catch (NullPointerException e) {
- // This can occur because sometimes this eClass can't be constructed right and won't have an initstring feature.
- // In that case an NPE is thrown.
- }
- return result.toString();
- }
-
- protected static class JavaObjectInstancePropertiesHolder extends EPropertiesHolderImpl {
- private EList allStructuralFeatures;
-
- public JavaObjectInstancePropertiesHolder() {
- }
-
- public Object[] eSettings() {
- return eSettings;
- }
-
- public EList getAllStructuralFeatures() {
- return allStructuralFeatures;
- }
-
- /*
- * Clear the cache. This is due to
- * structural features have changed.
- */
- public void clearCache() {
- eSettings = null;
- setEContents(null);
- setECrossReferences(null);
- allStructuralFeatures = null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.emf.ecore.impl.EObjectImpl.EPropertiesHolderImpl#allocateSettings(int)
- */
- public void allocateSettings(int maximumDynamicFeatureID) {
- if (allStructuralFeatures == null)
- allStructuralFeatures = getEClass().getEAllStructuralFeatures();
- super.allocateSettings(maximumDynamicFeatureID);
- }
-
-
-
- /* (non-Javadoc)
- * @see org.eclipse.emf.ecore.impl.EObjectImpl.EPropertiesHolderImpl#setEContents(org.eclipse.emf.common.util.EList)
- */
- public void setEContents(EList eContents) {
- if (allStructuralFeatures == null)
- allStructuralFeatures = getEClass().getEAllStructuralFeatures();
- super.setEContents(eContents);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.emf.ecore.impl.EObjectImpl.EPropertiesHolderImpl#setECrossReferences(org.eclipse.emf.common.util.EList)
- */
- public void setECrossReferences(EList eCrossReferences) {
- if (allStructuralFeatures == null)
- allStructuralFeatures = getEClass().getEAllStructuralFeatures();
- super.setECrossReferences(eCrossReferences);
- }
-
- }
-
- protected EPropertiesHolder eProperties()
- {
- if (eProperties == null)
- {
- eProperties = new JavaObjectInstancePropertiesHolder();
- }
- return eProperties;
- }
-
- /**
- * @see org.eclipse.emf.ecore.InternalEObject#eSetClass(EClass)
- */
- public void eSetClass(EClass eClass) {
- super.eSetClass(eClass);
- migrate();
- }
-
- /**
- * @param newEClass New eClass set to. (null) when migrating while not setting a new EClass.
- */
- protected void migrate() {
- // Note: This is extremelly implementation dependent. It may change for any implementation of EMF.
- if (eProperties != null && (eProperties.hasSettings() || eProperties.getEContents() != null || eProperties.getECrossReferences() != null)) {
- // Maybe need to reconstruct settings or clear cache.
- JavaObjectInstancePropertiesHolder properties = (JavaObjectInstancePropertiesHolder) eProperties;
- EList oldAllFeatures = properties.getAllStructuralFeatures();
-
- // See if migration needed.
- if (properties.getEClass().getEAllStructuralFeatures() == oldAllFeatures)
- return; // No migration needed.
-
- Object[] oldSettings = properties.eSettings();
- properties.clearCache(); // Clear the cache so we can rebuild it.
- if (oldSettings == null) {
- return; // It was just either contents or crossrefs, and they have been appropriately cleared.
- }
-
- // It is assumed that any SF that (by identity) is in
- // both the old and the new eClass, then it doesn't have any internal changes. It simply changed position
- // in the settings list. Otherwise, need to see if compatible by same name, and if so, move it.
- eSettings(); // Create new settings
- Object[] newSettings = properties.eSettings();
- int staticFeatureCnt = eStaticFeatureCount();
- for (int oldIndex = 0; oldIndex < oldSettings.length; oldIndex++) {
- if (oldSettings[oldIndex] != null) {
- EStructuralFeature sf = (EStructuralFeature) oldAllFeatures.get(oldIndex+staticFeatureCnt);
- int newIndex = super.eDynamicFeatureID(sf); // To avoid recurse on migrate.
- if (newIndex > -1) {
- moveESetting(oldSettings, newSettings, oldIndex, sf, newIndex);
- } else {
- // See if it exists by name and is compatible.
- EStructuralFeature newSF = properties.getEClass().getEStructuralFeature(sf.getName());
- if (newSF != null && newSF.getClass().equals(sf.getClass()) &&
- newSF.isMany() == sf.isMany() && newSF.isChangeable() == sf.isChangeable()) {
- boolean compatible = newSF.isUnique() == sf.isUnique() || !newSF.isUnique(); // If new is not unique, then doesn't matter if old and new are the same
- if (newSF instanceof EReference) {
- EReference newRef = (EReference) newSF;
- EReference ref = (EReference) sf;
- compatible = newRef.isContainment() == ref.isContainment() && newRef.getEReferenceType().isSuperTypeOf(ref.getEReferenceType());
- } else
- compatible = newSF.getEType().equals(sf.getEType());
-
- if (compatible) {
- newIndex = eDynamicFeatureID(newSF);
- moveESetting(oldSettings, newSettings, oldIndex, newSF, newIndex);
- }
- }
- }
- }
- }
- }
- }
-
- private void moveESetting(Object[] oldSettings, Object[] newSettings, int oldIndex, EStructuralFeature sf, int newIndex) {
- // See if single vs many.
- if (!sf.isMany())
- newSettings[newIndex] = oldSettings[oldIndex]; // Great, we can just move it over.
- else {
- // Many is more difficult. Need to create a new dynamic list of right type, and
- // then just copy over the data from the old one. We create new one by doing a simple eGet.
- // This will construct an empty one with no notifications going out.
- // Note: This is extremelly implementation dependent. We will be throwing away the old
- // oldMany, so it is ok to reuse the actual array of data for the newMany.
- BasicEList newMany = (BasicEList) eGet(sf);
- BasicEList oldMany = (BasicEList) oldSettings[oldIndex];
- newMany.setData(oldMany.size(), oldMany.data());
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.emf.ecore.impl.EObjectImpl#eDynamicFeatureID(org.eclipse.emf.ecore.EStructuralFeature)
- */
- protected int eDynamicFeatureID(EStructuralFeature eStructuralFeature) {
- migrate(); // See if migration needed, and do if it does.
- return super.eDynamicFeatureID(eStructuralFeature);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.emf.ecore.EObject#eContents()
- */
- public EList eContents() {
- migrate();
- return super.eContents();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.emf.ecore.EObject#eCrossReferences()
- */
- public EList eCrossReferences() {
- migrate();
- return super.eCrossReferences();
- }
-
-}
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/ParseTreeAllocationInstantiationVisitor.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/ParseTreeAllocationInstantiationVisitor.java
deleted file mode 100644
index 67045544f..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/ParseTreeAllocationInstantiationVisitor.java
+++ /dev/null
@@ -1,497 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: ParseTreeAllocationInstantiationVisitor.java,v $
- * $Revision: 1.7 $ $Date: 2005/06/21 19:08:28 $
- */
-package org.eclipse.jem.internal.instantiation.base;
-
-import java.util.List;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.initParser.tree.*;
-
-/**
- * This is the standard parse visitor for instantiating a bean proxy from a java parse tree allocation.
- * It can be reused, but is not thread-safe.
- *
- * @since 1.0.0
- */
-public class ParseTreeAllocationInstantiationVisitor extends ParseVisitor {
-
- /**
- * The expression that is being created and evaluated.
- */
- private IExpression expression;
-
- /*
- * The next expression type that should be used. It is used when one expression is sending the
- * visitation to the next expression. It will set this to what that expression should be using. This
- * is necessary because the next expression doesn't know what it should be.
- */
- private ForExpression nextExpression = ForExpression.ROOTEXPRESSION;
-
- /**
- * An exception occurred during processing. It is a RuntimeException because
- * it can be thrown at any time. It wrappers another exception. That exception
- * can be retrieved from the cause of the ProcessingException.
- *
- * @see Throwable#getCause()
- * @since 1.0.0
- */
- public static class ProcessingException extends RuntimeException {
-
- /**
- * Comment for <code>serialVersionUID</code>
- *
- * @since 1.1.0
- */
- private static final long serialVersionUID = 1268624222490406643L;
-
- /**
- * @param cause
- *
- * @since 1.0.0
- */
- public ProcessingException(Throwable cause) {
- super(cause);
- }
- }
-
- static final InfixOperator[] INFIXTOPROXY;
- static {
- INFIXTOPROXY = new InfixOperator[PTInfixOperator.VALUES.size()];
- INFIXTOPROXY[PTInfixOperator.AND] = InfixOperator.IN_AND;
- INFIXTOPROXY[PTInfixOperator.CONDITIONAL_AND] = InfixOperator.IN_CONDITIONAL_AND;
- INFIXTOPROXY[PTInfixOperator.CONDITIONAL_OR] = InfixOperator.IN_CONDITIONAL_OR;
- INFIXTOPROXY[PTInfixOperator.DIVIDE] = InfixOperator.IN_DIVIDE;
- INFIXTOPROXY[PTInfixOperator.EQUALS] = InfixOperator.IN_EQUALS;
- INFIXTOPROXY[PTInfixOperator.GREATER] = InfixOperator.IN_GREATER;
- INFIXTOPROXY[PTInfixOperator.GREATER_EQUALS] = InfixOperator.IN_GREATER_EQUALS;
- INFIXTOPROXY[PTInfixOperator.LEFT_SHIFT] = InfixOperator.IN_LEFT_SHIFT;
- INFIXTOPROXY[PTInfixOperator.LESS] = InfixOperator.IN_LESS;
- INFIXTOPROXY[PTInfixOperator.LESS_EQUALS] = InfixOperator.IN_LESS_EQUALS;
- INFIXTOPROXY[PTInfixOperator.MINUS] = InfixOperator.IN_MINUS;
- INFIXTOPROXY[PTInfixOperator.NOT_EQUALS] = InfixOperator.IN_NOT_EQUALS;
- INFIXTOPROXY[PTInfixOperator.OR] = InfixOperator.IN_OR;
- INFIXTOPROXY[PTInfixOperator.PLUS] = InfixOperator.IN_PLUS;
- INFIXTOPROXY[PTInfixOperator.REMAINDER] = InfixOperator.IN_REMAINDER;
- INFIXTOPROXY[PTInfixOperator.RIGHT_SHIFT_SIGNED] = InfixOperator.IN_RIGHT_SHIFT_SIGNED;
- INFIXTOPROXY[PTInfixOperator.RIGHT_SHIFT_UNSIGNED] = InfixOperator.IN_RIGHT_SHIFT_UNSIGNED;
- INFIXTOPROXY[PTInfixOperator.TIMES] = InfixOperator.IN_TIMES;
- INFIXTOPROXY[PTInfixOperator.XOR] = InfixOperator.IN_XOR;
- }
-
- /**
- * A helper method to convert the parse tree's infix operator to the Proxy infix operator.
- *
- * @param operator
- * @return
- *
- * @since 1.0.0
- */
- public static InfixOperator convertPTInfixOperatorToProxyInfixOperator(PTInfixOperator operator) {
- return INFIXTOPROXY[operator.getValue()];
- }
-
- static final PrefixOperator[] PREFIXTOPROXY;
- static {
- PREFIXTOPROXY = new PrefixOperator[PTPrefixOperator.VALUES.size()];
- PREFIXTOPROXY[PTPrefixOperator.COMPLEMENT] = PrefixOperator.PRE_COMPLEMENT;
- PREFIXTOPROXY[PTPrefixOperator.MINUS] = PrefixOperator.PRE_MINUS;
- PREFIXTOPROXY[PTPrefixOperator.NOT] = PrefixOperator.PRE_NOT;
- PREFIXTOPROXY[PTPrefixOperator.PLUS] = PrefixOperator.PRE_PLUS;
- }
-
- /**
- * A helper method to convert the parse tree's prefix operator to the Proxy prefix operator.
- *
- * @param operator
- * @return
- *
- * @since 1.0.0
- */
- public static PrefixOperator convertPTPrefixOperatorToProxyPrefixOperator(PTPrefixOperator operator) {
- return PREFIXTOPROXY[operator.getValue()];
- }
-
- /**
- * Create the visitor with the given registry.
- *
- * @param registry
- *
- * @since 1.0.0
- */
- public ParseTreeAllocationInstantiationVisitor() {
- }
-
- /**
- * Get the current registry.
- *
- * @return
- *
- * @since 1.0.0
- */
- protected final ProxyFactoryRegistry getRegistry() {
- return expression.getRegistry();
- }
-
- /**
- * Get the current expression.
- *
- * @return
- *
- * @since 1.0.0
- */
- protected final IExpression getExpression() {
- return expression;
- }
-
- /**
- * Get the beanproxy for the given expression and registry. It will evaluate immediately.
- *
- * @param expression
- * @param registry
- * @return
- * @throws IllegalStateException
- * @throws ThrowableProxy
- * @throws NoExpressionValueException
- * @throws ProcessingException
- *
- * @since 1.0.0
- */
- public IBeanProxy getBeanProxy(PTExpression expression, ProxyFactoryRegistry registry) throws IllegalStateException, IllegalArgumentException, ThrowableProxy, NoExpressionValueException, ProcessingException {
- this.expression = registry.getBeanProxyFactory().createExpression();
- setNextExpression(ForExpression.ROOTEXPRESSION);
- try {
- expression.accept(this);
- } catch (ProcessingException e) {
- // Handle the most common that make sense to be know distinctly and throw them instead of ProcessingException.
- Throwable t = e.getCause();
- if (t instanceof NoExpressionValueException)
- throw (NoExpressionValueException) t;
- else if (t instanceof IllegalStateException)
- throw (IllegalStateException) t;
- else
- throw e;
- }
-
- return getExpression().getExpressionValue();
- }
-
- /**
- * Using the given expression processor allocate the proxy. It will not evaluate immediately, but just push onto the expression.
- * @param expression
- * @param expressionProcessor
- * @return the ExpressionProxy for the allocation.
- * @throws IllegalStateException
- * @throws IllegalArgumentException
- * @throws ProcessingException
- *
- * @since 1.1.0
- */
- public ExpressionProxy getProxy(PTExpression expression, IExpression expressionProcessor) throws IllegalStateException, IllegalArgumentException, ProcessingException {
- this.expression = expressionProcessor;
- try {
- ExpressionProxy proxy = expressionProcessor.createProxyAssignmentExpression(ForExpression.ROOTEXPRESSION);
- setNextExpression(ForExpression.ASSIGNMENT_RIGHT);
- expression.accept(this);
- return proxy;
- } catch (ProcessingException e) {
- // Handle the most common that make sense to be know distinctly and throw them instead of ProcessingException.
- Throwable t = e.getCause();
- if (t instanceof IllegalStateException)
- throw (IllegalStateException) t;
- else
- throw e;
- }
- }
-
-
- /**
- * Set the next expression type. (i.e. the <code>forExpression</code> field of most of the create expression methods.
- *
- * @param nextExpression
- *
- * @see IExpression#createInfixExpression(int, int, int)
- * @since 1.0.0
- */
- protected final void setNextExpression(ForExpression nextExpression) {
- this.nextExpression = nextExpression;
- }
-
- /**
- * Get the next expression type. (i.e. the <code>forExpression</code> field of most of the create expression methods.
- *
- * @return
- *
- * @see IExpression#createInfixExpression(int, int, int)
- * @since 1.0.0
- */
- protected final ForExpression getNextExpression() {
- return nextExpression;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTArrayAccess)
- */
- public boolean visit(PTArrayAccess node) {
- getExpression().createArrayAccess(getNextExpression(), node.getIndexes().size());
- setNextExpression(ForExpression.ARRAYACCESS_ARRAY);
- node.getArray().accept(this);
- List idx = node.getIndexes();
- int s = idx.size();
- for (int i = 0; i < s; i++) {
- setNextExpression(ForExpression.ARRAYACCESS_INDEX);
- ((PTExpression) idx.get(i)).accept(this);
- }
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTArrayCreation)
- */
- public boolean visit(PTArrayCreation node) {
- getExpression().createArrayCreation(getNextExpression(), node.getType(), node.getDimensions().size());
- if (node.getDimensions().isEmpty()) {
- node.getInitializer().accept(this); // Array initializer doesn't require a next expression.
- } else {
- List dims = node.getDimensions();
- int s = dims.size();
- for (int i = 0; i < s; i++) {
- setNextExpression(ForExpression.ARRAYCREATION_DIMENSION);
- ((PTExpression) dims.get(i)).accept(this);
- }
- }
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTArrayInitializer)
- */
- public boolean visit(PTArrayInitializer node) {
- getExpression().createArrayInitializer(node.getExpressions().size());
- List exps = node.getExpressions();
- int s = exps.size();
- for (int i = 0; i < s; i++) {
- setNextExpression(ForExpression.ARRAYINITIALIZER_EXPRESSION);
- ((PTExpression) exps.get(i)).accept(this);
- }
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTBooleanLiteral)
- */
- public boolean visit(PTBooleanLiteral node) {
- getExpression().createPrimitiveLiteral(getNextExpression(), node.isBooleanValue());
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTCastExpression)
- */
- public boolean visit(PTCastExpression node) {
- getExpression().createCastExpression(getNextExpression(), node.getType());
- setNextExpression(ForExpression.CAST_EXPRESSION);
- node.getExpression().accept(this);
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTCharacterLiteral)
- */
- public boolean visit(PTCharacterLiteral node) {
- getExpression().createPrimitiveLiteral(getNextExpression(), node.getCharValue());
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTClassInstanceCreation)
- */
- public boolean visit(PTClassInstanceCreation node) {
- getExpression().createClassInstanceCreation(getNextExpression(), node.getType(), node.getArguments().size());
- List args = node.getArguments();
- int s = args.size();
- for (int i = 0; i < s; i++) {
- setNextExpression(ForExpression.CLASSINSTANCECREATION_ARGUMENT);
- ((PTExpression) args.get(i)).accept(this);
- }
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTConditionalExpression)
- */
- public boolean visit(PTConditionalExpression node) {
- getExpression().createConditionalExpression(getNextExpression());
- setNextExpression(ForExpression.CONDITIONAL_CONDITION);
- node.getCondition().accept(this);
- setNextExpression(ForExpression.CONDITIONAL_TRUE);
- node.getTrue().accept(this);
- setNextExpression(ForExpression.CONDITIONAL_FALSE);
- node.getFalse().accept(this);
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTFieldAccess)
- */
- public boolean visit(PTFieldAccess node) {
- getExpression().createFieldAccess(getNextExpression(), node.getField(), node.getReceiver() != null);
- if (node.getReceiver() != null) {
- setNextExpression(ForExpression.FIELD_RECEIVER);
- node.getReceiver().accept(this);
- }
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTInfixExpression)
- */
- public boolean visit(PTInfixExpression node) {
- getExpression().createInfixExpression(getNextExpression(), convertPTInfixOperatorToProxyInfixOperator(node.getOperator()), node.getExtendedOperands().size());
- setNextExpression(ForExpression.INFIX_LEFT);
- node.getLeftOperand().accept(this);
- setNextExpression(ForExpression.INFIX_RIGHT);
- node.getRightOperand().accept(this);
- List extended = node.getExtendedOperands();
- int s = extended.size();
- for (int i = 0; i < s; i++) {
- setNextExpression(ForExpression.INFIX_EXTENDED);
- ((PTExpression) extended.get(i)).accept(this);
- }
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTInstanceof)
- */
- public boolean visit(PTInstanceof node) {
- getExpression().createInstanceofExpression(getNextExpression(), node.getType());
- setNextExpression(ForExpression.INSTANCEOF_VALUE);
- node.getOperand().accept(this);
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTInvalidExpression)
- */
- public boolean visit(PTInvalidExpression node) {
- throw new IllegalArgumentException(node.getMessage());
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTMethodInvocation)
- */
- public boolean visit(PTMethodInvocation node) {
- getExpression().createMethodInvocation(getNextExpression(), node.getName(), node.getReceiver() != null, node.getArguments().size());
- if (node.getReceiver() != null) {
- setNextExpression(ForExpression.METHOD_RECEIVER);
- node.getReceiver().accept(this);
- }
- List args = node.getArguments();
- int s = args.size();
- for (int i = 0; i < s; i++) {
- setNextExpression(ForExpression.METHOD_ARGUMENT);
- ((PTExpression) args.get(i)).accept(this);
- }
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTName)
- */
- public boolean visit(PTName node) {
- // This is special in the PTName can only be used as a type receiver at this time.
- getExpression().createTypeReceiver(node.getName());
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTNullLiteral)
- */
- public boolean visit(PTNullLiteral node) {
- // This is special in the PTName can only be used as a type receiver at this time.
- getExpression().createNull(getNextExpression());
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTNumberLiteral)
- */
- public boolean visit(PTNumberLiteral node) {
- // It is assumed the tokens are trimmed.
- String lit = node.getToken();
- char lastChar = lit.charAt(lit.length()-1);
- if (lastChar == 'l' || lastChar == 'L' ) {
- // It is definitely a long.
- // Using decode so that things like 0x3 will be parsed. parseLong won't recognize those.
- getExpression().createPrimitiveLiteral(getNextExpression(), Long.decode(lit.substring(0, lit.length()-1)).longValue());
- } else if (lastChar == 'F' || lastChar == 'f') {
- // It is definitely a float.
- getExpression().createPrimitiveLiteral(getNextExpression(), Float.parseFloat(lit.substring(0, lit.length()-1)));
- } else if (lastChar == 'D' || lastChar == 'd') {
- // It is definitely a double.
- getExpression().createPrimitiveLiteral(getNextExpression(), Double.parseDouble(lit.substring(0, lit.length()-1)));
- } else if (lit.indexOf('.') != -1 || lit.indexOf('e') != -1 || lit.indexOf('E') != -1) {
- // It is definitely a double. (has a period or an exponent, but does not have an 'f' on the end is always a double).
- getExpression().createPrimitiveLiteral(getNextExpression(), Double.parseDouble(lit.substring(0, lit.length())));
- } else {
- // Using decode so that things like 0x3 will be parsed. parseInt won't recognize those.
- getExpression().createPrimitiveLiteral(getNextExpression(), Integer.decode(lit).intValue());
- }
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTParenthesizedExpression)
- */
- public boolean visit(PTParenthesizedExpression node) {
- node.getExpression().accept(this); // For instantiation purposes, the parenthesis can be ignored.
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTPrefixExpression)
- */
- public boolean visit(PTPrefixExpression node) {
- getExpression().createPrefixExpression(getNextExpression(), convertPTPrefixOperatorToProxyPrefixOperator(node.getOperator()));
- setNextExpression(ForExpression.PREFIX_OPERAND);
- node.getExpression().accept(this);
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTStringLiteral)
- */
- public boolean visit(PTStringLiteral node) {
- getExpression().createProxyExpression(getNextExpression(), getRegistry().getBeanProxyFactory().createBeanProxyWith(node.getLiteralValue()));
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTThisLiteral)
- */
- public boolean visit(PTThisLiteral node) {
- throw new IllegalArgumentException(InstantiationBaseMessages.ParseTreeAllocationInstantiationVisitor_CurrentlyThisNotSupported_EXC_);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTTypeLiteral)
- */
- public boolean visit(PTTypeLiteral node) {
- getExpression().createTypeLiteral(getNextExpression(), node.getType());
- return false;
- }
-
-}
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/messages.properties b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/messages.properties
deleted file mode 100644
index 3839bfe3d..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/messages.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 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
-###############################################################################
-ParseTreeAllocationInstantiationVisitor_CurrentlyThisNotSupported_EXC_ = IWAV0001E Currently "this" is not supported
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/ImplicitAllocationImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/ImplicitAllocationImpl.java
deleted file mode 100644
index de872f1aa..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/ImplicitAllocationImpl.java
+++ /dev/null
@@ -1,225 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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.instantiation.impl;
-/*
- * $RCSfile: ImplicitAllocationImpl.java,v $
- * $Revision: 1.6 $ $Date: 2005/05/11 22:41:08 $
- */
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.jem.internal.instantiation.ImplicitAllocation;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Implicit Allocation</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.instantiation.impl.ImplicitAllocationImpl#getParent <em>Parent</em>}</li>
- * <li>{@link org.eclipse.jem.internal.instantiation.impl.ImplicitAllocationImpl#getFeature <em>Feature</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class ImplicitAllocationImpl extends JavaAllocationImpl implements ImplicitAllocation {
- /**
- * The cached value of the '{@link #getParent() <em>Parent</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getParent()
- * @generated
- * @ordered
- */
- protected EObject parent = null;
-
- /**
- * The cached value of the '{@link #getFeature() <em>Feature</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getFeature()
- * @generated
- * @ordered
- */
- protected EStructuralFeature feature = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected ImplicitAllocationImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return InstantiationPackage.eINSTANCE.getImplicitAllocation();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EObject getParent() {
- if (parent != null && parent.eIsProxy()) {
- EObject oldParent = parent;
- parent = eResolveProxy((InternalEObject)parent);
- if (parent != oldParent) {
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, InstantiationPackage.IMPLICIT_ALLOCATION__PARENT, oldParent, parent));
- }
- }
- return parent;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EObject basicGetParent() {
- return parent;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setParent(EObject newParent) {
- EObject oldParent = parent;
- parent = newParent;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.IMPLICIT_ALLOCATION__PARENT, oldParent, parent));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EStructuralFeature getFeature() {
- if (feature != null && feature.eIsProxy()) {
- EStructuralFeature oldFeature = feature;
- feature = (EStructuralFeature)eResolveProxy((InternalEObject)feature);
- if (feature != oldFeature) {
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, InstantiationPackage.IMPLICIT_ALLOCATION__FEATURE, oldFeature, feature));
- }
- }
- return feature;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EStructuralFeature basicGetFeature() {
- return feature;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setFeature(EStructuralFeature newFeature) {
- EStructuralFeature oldFeature = feature;
- feature = newFeature;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.IMPLICIT_ALLOCATION__FEATURE, oldFeature, feature));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.IMPLICIT_ALLOCATION__PARENT:
- if (resolve) return getParent();
- return basicGetParent();
- case InstantiationPackage.IMPLICIT_ALLOCATION__FEATURE:
- if (resolve) return getFeature();
- return basicGetFeature();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.IMPLICIT_ALLOCATION__PARENT:
- setParent((EObject)newValue);
- return;
- case InstantiationPackage.IMPLICIT_ALLOCATION__FEATURE:
- setFeature((EStructuralFeature)newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.IMPLICIT_ALLOCATION__PARENT:
- setParent((EObject)null);
- return;
- case InstantiationPackage.IMPLICIT_ALLOCATION__FEATURE:
- setFeature((EStructuralFeature)null);
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.IMPLICIT_ALLOCATION__PARENT:
- return parent != null;
- case InstantiationPackage.IMPLICIT_ALLOCATION__FEATURE:
- return feature != null;
- }
- return eDynamicIsSet(eFeature);
- }
-
-} //ImplicitAllocationImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/InitStringAllocationImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/InitStringAllocationImpl.java
deleted file mode 100644
index 7e0005087..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/InitStringAllocationImpl.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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.instantiation.impl;
-/*
- * $RCSfile: InitStringAllocationImpl.java,v $
- * $Revision: 1.5 $ $Date: 2005/02/15 22:36:09 $
- */
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.jem.internal.instantiation.InitStringAllocation;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Init String Allocation</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.instantiation.impl.InitStringAllocationImpl#getInitString <em>Init String</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class InitStringAllocationImpl extends JavaAllocationImpl implements InitStringAllocation {
- /**
- * The default value of the '{@link #getInitString() <em>Init String</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getInitString()
- * @generated
- * @ordered
- */
- protected static final String INIT_STRING_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getInitString() <em>Init String</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getInitString()
- * @generated
- * @ordered
- */
- protected String initString = INIT_STRING_EDEFAULT;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected InitStringAllocationImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return InstantiationPackage.eINSTANCE.getInitStringAllocation();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getInitString() {
- return initString;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setInitString(String newInitString) {
- String oldInitString = initString;
- initString = newInitString;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.INIT_STRING_ALLOCATION__INIT_STRING, oldInitString, initString));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.INIT_STRING_ALLOCATION__INIT_STRING:
- return getInitString();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.INIT_STRING_ALLOCATION__INIT_STRING:
- setInitString((String)newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.INIT_STRING_ALLOCATION__INIT_STRING:
- setInitString(INIT_STRING_EDEFAULT);
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.INIT_STRING_ALLOCATION__INIT_STRING:
- return INIT_STRING_EDEFAULT == null ? initString != null : !INIT_STRING_EDEFAULT.equals(initString);
- }
- return eDynamicIsSet(eFeature);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String toString() {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (initString: ");
- result.append(initString);
- result.append(')');
- return result.toString();
- }
-
-} //InitStringAllocationImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/InstantiationFactoryImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/InstantiationFactoryImpl.java
deleted file mode 100644
index f488a30bf..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/InstantiationFactoryImpl.java
+++ /dev/null
@@ -1,607 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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.instantiation.impl;
-/*
- * $RCSfile: InstantiationFactoryImpl.java,v $
- * $Revision: 1.8 $ $Date: 2005/02/15 22:36:09 $
- */
-
-import java.util.List;
-
-import org.eclipse.jem.internal.instantiation.*;
-
-import org.eclipse.emf.ecore.*;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.impl.EFactoryImpl;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Factory</b>.
- * <!-- end-user-doc -->
- * @generated
- */
-public class InstantiationFactoryImpl extends EFactoryImpl implements InstantiationFactory {
- /**
- * Creates and instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public InstantiationFactoryImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EObject create(EClass eClass) {
- switch (eClass.getClassifierID()) {
- case InstantiationPackage.INIT_STRING_ALLOCATION: return createInitStringAllocation();
- case InstantiationPackage.IMPLICIT_ALLOCATION: return createImplicitAllocation();
- case InstantiationPackage.PARSE_TREE_ALLOCATION: return createParseTreeAllocation();
- case InstantiationPackage.PT_ARRAY_ACCESS: return createPTArrayAccess();
- case InstantiationPackage.PT_ARRAY_CREATION: return createPTArrayCreation();
- case InstantiationPackage.PT_ARRAY_INITIALIZER: return createPTArrayInitializer();
- case InstantiationPackage.PT_BOOLEAN_LITERAL: return createPTBooleanLiteral();
- case InstantiationPackage.PT_CAST_EXPRESSION: return createPTCastExpression();
- case InstantiationPackage.PT_CHARACTER_LITERAL: return createPTCharacterLiteral();
- case InstantiationPackage.PT_CLASS_INSTANCE_CREATION: return createPTClassInstanceCreation();
- case InstantiationPackage.PT_CONDITIONAL_EXPRESSION: return createPTConditionalExpression();
- case InstantiationPackage.PT_FIELD_ACCESS: return createPTFieldAccess();
- case InstantiationPackage.PT_INFIX_EXPRESSION: return createPTInfixExpression();
- case InstantiationPackage.PT_INSTANCEOF: return createPTInstanceof();
- case InstantiationPackage.PT_METHOD_INVOCATION: return createPTMethodInvocation();
- case InstantiationPackage.PT_NAME: return createPTName();
- case InstantiationPackage.PT_NULL_LITERAL: return createPTNullLiteral();
- case InstantiationPackage.PT_NUMBER_LITERAL: return createPTNumberLiteral();
- case InstantiationPackage.PT_PARENTHESIZED_EXPRESSION: return createPTParenthesizedExpression();
- case InstantiationPackage.PT_PREFIX_EXPRESSION: return createPTPrefixExpression();
- case InstantiationPackage.PT_STRING_LITERAL: return createPTStringLiteral();
- case InstantiationPackage.PT_THIS_LITERAL: return createPTThisLiteral();
- case InstantiationPackage.PT_TYPE_LITERAL: return createPTTypeLiteral();
- case InstantiationPackage.PT_INVALID_EXPRESSION: return createPTInvalidExpression();
- case InstantiationPackage.PT_INSTANCE_REFERENCE: return createPTInstanceReference();
- default:
- throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object createFromString(EDataType eDataType, String initialValue) {
- switch (eDataType.getClassifierID()) {
- case InstantiationPackage.PT_INFIX_OPERATOR:
- return PTInfixOperator.get(initialValue);
- case InstantiationPackage.PT_PREFIX_OPERATOR:
- return PTPrefixOperator.get(initialValue);
- default:
- throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String convertToString(EDataType eDataType, Object instanceValue) {
- switch (eDataType.getClassifierID()) {
- case InstantiationPackage.PT_INFIX_OPERATOR:
- return instanceValue == null ? null : instanceValue.toString();
- case InstantiationPackage.PT_PREFIX_OPERATOR:
- return instanceValue == null ? null : instanceValue.toString();
- default:
- throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public InitStringAllocation createInitStringAllocation() {
- InitStringAllocationImpl initStringAllocation = new InitStringAllocationImpl();
- return initStringAllocation;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ImplicitAllocation createImplicitAllocation() {
- ImplicitAllocationImpl implicitAllocation = new ImplicitAllocationImpl();
- return implicitAllocation;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ParseTreeAllocation createParseTreeAllocation() {
- ParseTreeAllocationImpl parseTreeAllocation = new ParseTreeAllocationImpl();
- return parseTreeAllocation;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public PTArrayAccess createPTArrayAccess() {
- PTArrayAccessImpl ptArrayAccess = new PTArrayAccessImpl();
- return ptArrayAccess;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public PTArrayCreation createPTArrayCreation() {
- PTArrayCreationImpl ptArrayCreation = new PTArrayCreationImpl();
- return ptArrayCreation;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public PTArrayInitializer createPTArrayInitializer() {
- PTArrayInitializerImpl ptArrayInitializer = new PTArrayInitializerImpl();
- return ptArrayInitializer;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public PTBooleanLiteral createPTBooleanLiteral() {
- PTBooleanLiteralImpl ptBooleanLiteral = new PTBooleanLiteralImpl();
- return ptBooleanLiteral;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public PTCastExpression createPTCastExpression() {
- PTCastExpressionImpl ptCastExpression = new PTCastExpressionImpl();
- return ptCastExpression;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public PTCharacterLiteral createPTCharacterLiteral() {
- PTCharacterLiteralImpl ptCharacterLiteral = new PTCharacterLiteralImpl();
- return ptCharacterLiteral;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public PTClassInstanceCreation createPTClassInstanceCreation() {
- PTClassInstanceCreationImpl ptClassInstanceCreation = new PTClassInstanceCreationImpl();
- return ptClassInstanceCreation;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public PTConditionalExpression createPTConditionalExpression() {
- PTConditionalExpressionImpl ptConditionalExpression = new PTConditionalExpressionImpl();
- return ptConditionalExpression;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public PTFieldAccess createPTFieldAccess() {
- PTFieldAccessImpl ptFieldAccess = new PTFieldAccessImpl();
- return ptFieldAccess;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public PTInfixExpression createPTInfixExpression() {
- PTInfixExpressionImpl ptInfixExpression = new PTInfixExpressionImpl();
- return ptInfixExpression;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public PTInstanceof createPTInstanceof() {
- PTInstanceofImpl ptInstanceof = new PTInstanceofImpl();
- return ptInstanceof;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public PTMethodInvocation createPTMethodInvocation() {
- PTMethodInvocationImpl ptMethodInvocation = new PTMethodInvocationImpl();
- return ptMethodInvocation;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public PTName createPTName() {
- PTNameImpl ptName = new PTNameImpl();
- return ptName;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public PTNullLiteral createPTNullLiteral() {
- PTNullLiteralImpl ptNullLiteral = new PTNullLiteralImpl();
- return ptNullLiteral;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public PTNumberLiteral createPTNumberLiteral() {
- PTNumberLiteralImpl ptNumberLiteral = new PTNumberLiteralImpl();
- return ptNumberLiteral;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public PTParenthesizedExpression createPTParenthesizedExpression() {
- PTParenthesizedExpressionImpl ptParenthesizedExpression = new PTParenthesizedExpressionImpl();
- return ptParenthesizedExpression;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public PTPrefixExpression createPTPrefixExpression() {
- PTPrefixExpressionImpl ptPrefixExpression = new PTPrefixExpressionImpl();
- return ptPrefixExpression;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public PTStringLiteral createPTStringLiteral() {
- PTStringLiteralImpl ptStringLiteral = new PTStringLiteralImpl();
- return ptStringLiteral;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public PTThisLiteral createPTThisLiteral() {
- PTThisLiteralImpl ptThisLiteral = new PTThisLiteralImpl();
- return ptThisLiteral;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public PTTypeLiteral createPTTypeLiteral() {
- PTTypeLiteralImpl ptTypeLiteral = new PTTypeLiteralImpl();
- return ptTypeLiteral;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public PTInvalidExpression createPTInvalidExpression() {
- PTInvalidExpressionImpl ptInvalidExpression = new PTInvalidExpressionImpl();
- return ptInvalidExpression;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public PTInstanceReference createPTInstanceReference() {
- PTInstanceReferenceImpl ptInstanceReference = new PTInstanceReferenceImpl();
- return ptInstanceReference;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public InstantiationPackage getInstantiationPackage() {
- return (InstantiationPackage)getEPackage();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @deprecated
- * @generated
- */
- public static InstantiationPackage getPackage() {
- return InstantiationPackage.eINSTANCE;
- }
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.InstantiationFactory#createImplicitAllocation(org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature)
- */
- public ImplicitAllocation createImplicitAllocation(EObject parent, EStructuralFeature sf) {
- ImplicitAllocation alloc = createImplicitAllocation();
- alloc.setParent(parent);
- alloc.setFeature(sf);
- return alloc;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.InstantiationFactory#createInitStringAllocation(java.lang.String)
- */
- public InitStringAllocation createInitStringAllocation(String initString) {
- InitStringAllocation alloc = createInitStringAllocation();
- alloc.setInitString(initString);
- return alloc;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.InstantiationFactory#createParseTreeAllocation(org.eclipse.jem.internal.instantiation.PTExpression)
- */
- public ParseTreeAllocation createParseTreeAllocation(PTExpression expression) {
- ParseTreeAllocation a = createParseTreeAllocation();
- a.setExpression(expression);
- return a;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.InstantiationFactory#createPTArrayAccess(org.eclipse.jem.internal.instantiation.PTExpression, java.util.List)
- */
- public PTArrayAccess createPTArrayAccess(PTExpression array, List indexes) {
- PTArrayAccess a = createPTArrayAccess();
- a.setArray(array);
- a.getIndexes().addAll(indexes);
- return a;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.InstantiationFactory#createPTArrayCreation(java.lang.String, java.util.List, org.eclipse.jem.internal.instantiation.PTArrayInitializer)
- */
- public PTArrayCreation createPTArrayCreation(String type, List dimensions, PTArrayInitializer initializer) {
- PTArrayCreation a = createPTArrayCreation();
- a.setType(type);
- if (dimensions != null)
- a.getDimensions().addAll(dimensions);
- a.setInitializer(initializer);
- return a;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.InstantiationFactory#createPTArrayInitializer(java.util.List)
- */
- public PTArrayInitializer createPTArrayInitializer(List expressions) {
- PTArrayInitializer a = createPTArrayInitializer();
- if (expressions != null)
- a.getExpressions().addAll(expressions);
- return a;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.InstantiationFactory#createPTBooleanLiteral(boolean)
- */
- public PTBooleanLiteral createPTBooleanLiteral(boolean booleanValue) {
- PTBooleanLiteral a = createPTBooleanLiteral();
- a.setBooleanValue(booleanValue);
- return a;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.InstantiationFactory#createPTCastExpression(java.lang.String, org.eclipse.jem.internal.instantiation.PTExpression)
- */
- public PTCastExpression createPTCastExpression(String type, PTExpression expression) {
- PTCastExpression a = createPTCastExpression();
- a.setType(type);
- a.setExpression(expression);
- return a;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.InstantiationFactory#createPTCharacterLiteral(java.lang.String)
- */
- public PTCharacterLiteral createPTCharacterLiteral(String escapedValue) {
- PTCharacterLiteral a = createPTCharacterLiteral();
- a.setEscapedValue(escapedValue);
- return a;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.InstantiationFactory#createPTClassInstanceCreation(java.lang.String, java.util.List)
- */
- public PTClassInstanceCreation createPTClassInstanceCreation(String type, List arguments) {
- PTClassInstanceCreation a = createPTClassInstanceCreation();
- a.setType(type);
- if (arguments != null)
- a.getArguments().addAll(arguments);
- return a;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.InstantiationFactory#createPTConditionalExpression(org.eclipse.jem.internal.instantiation.PTExpression, org.eclipse.jem.internal.instantiation.PTExpression, org.eclipse.jem.internal.instantiation.PTExpression)
- */
- public PTConditionalExpression createPTConditionalExpression(
- PTExpression condition,
- PTExpression trueExpressoin,
- PTExpression falseExpression) {
- PTConditionalExpression a = createPTConditionalExpression();
- a.setCondition(condition);
- a.setTrue(trueExpressoin);
- a.setFalse(falseExpression);
- return a;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.InstantiationFactory#createPTFieldAccess(org.eclipse.jem.internal.instantiation.PTExpression, java.lang.String)
- */
- public PTFieldAccess createPTFieldAccess(PTExpression receiver, String field) {
- PTFieldAccess a = createPTFieldAccess();
- a.setReceiver(receiver);
- a.setField(field);
- return a;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.InstantiationFactory#createPTInfixExpression(org.eclipse.jem.internal.instantiation.PTExpression, org.eclipse.jem.internal.instantiation.PTInfixOperator, org.eclipse.jem.internal.instantiation.PTExpression, java.util.List)
- */
- public PTInfixExpression createPTInfixExpression(
- PTExpression leftOperand,
- PTInfixOperator operator,
- PTExpression rightOperand,
- List extendedOperands) {
- PTInfixExpression a = createPTInfixExpression();
- a.setLeftOperand(leftOperand);
- a.setOperator(operator);
- a.setRightOperand(rightOperand);
- if (extendedOperands != null)
- a.getExtendedOperands().addAll(extendedOperands);
- return a;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.InstantiationFactory#createPTInstanceof(org.eclipse.jem.internal.instantiation.PTExpression, java.lang.String)
- */
- public PTInstanceof createPTInstanceof(PTExpression operand, String type) {
- PTInstanceof a = createPTInstanceof();
- a.setOperand(operand);
- a.setType(type);
- return a;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.InstantiationFactory#createPTInvalidExpression(java.lang.String)
- */
- public PTInvalidExpression createPTInvalidExpression(String message) {
- PTInvalidExpression a = createPTInvalidExpression();
- a.setMessage(message);
- return a;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.InstantiationFactory#createPTMethodInvocation(org.eclipse.jem.internal.instantiation.PTExpression, java.lang.String, java.util.List)
- */
- public PTMethodInvocation createPTMethodInvocation(PTExpression receiver, String name, List arguments) {
- PTMethodInvocation a = createPTMethodInvocation();
- a.setReceiver(receiver);
- a.setName(name);
- if (arguments != null)
- a.getArguments().addAll(arguments);
- return a;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.InstantiationFactory#createPTName(java.lang.String)
- */
- public PTName createPTName(String name) {
- PTName a = createPTName();
- a.setName(name);
- return a;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.InstantiationFactory#createPTNumberLiteral(java.lang.String)
- */
- public PTNumberLiteral createPTNumberLiteral(String token) {
- PTNumberLiteral a = createPTNumberLiteral();
- a.setToken(token);
- return a;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.InstantiationFactory#createPTParenthesizedExpression(org.eclipse.jem.internal.instantiation.PTExpression)
- */
- public PTParenthesizedExpression createPTParenthesizedExpression(PTExpression expression) {
- PTParenthesizedExpression a = createPTParenthesizedExpression();
- a.setExpression(expression);
- return a;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.InstantiationFactory#createPTPrefixExpression(org.eclipse.jem.internal.instantiation.PTPrefixOperator, org.eclipse.jem.internal.instantiation.PTExpression)
- */
- public PTPrefixExpression createPTPrefixExpression(PTPrefixOperator operator, PTExpression expression) {
- PTPrefixExpression a = createPTPrefixExpression();
- a.setOperator(operator);
- a.setExpression(expression);
- return a;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.InstantiationFactory#createPTStringLiteral(java.lang.String)
- */
- public PTStringLiteral createPTStringLiteral(String escapeLiteral) {
- PTStringLiteral a = createPTStringLiteral();
- a.setEscapedValue(escapeLiteral);
- return a;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.InstantiationFactory#createPTTypeLiteral(java.lang.String)
- */
- public PTTypeLiteral createPTTypeLiteral(String type) {
- PTTypeLiteral a = createPTTypeLiteral();
- a.setType(type);
- return a;
- }
-
-} //InstantiationFactoryImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/InstantiationImplMessages.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/InstantiationImplMessages.java
deleted file mode 100644
index 8debe1f24..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/InstantiationImplMessages.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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.instantiation.impl;
-
-import org.eclipse.osgi.util.NLS;
-
-public final class InstantiationImplMessages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.jem.internal.instantiation.impl.messages";//$NON-NLS-1$
-
- private InstantiationImplMessages() {
- // Do not instantiate
- }
-
- public static String NaiveExpressionFlattener_InvalidExpression;
-
- static {
- NLS.initializeMessages(BUNDLE_NAME, InstantiationImplMessages.class);
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/InstantiationPackageImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/InstantiationPackageImpl.java
deleted file mode 100644
index c67c75549..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/InstantiationPackageImpl.java
+++ /dev/null
@@ -1,1346 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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.instantiation.impl;
-/*
- * $RCSfile: InstantiationPackageImpl.java,v $
- * $Revision: 1.9 $ $Date: 2005/02/15 22:36:09 $
- */
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EEnum;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EcorePackage;
-
-import org.eclipse.emf.ecore.impl.EPackageImpl;
-
-import org.eclipse.emf.ecore.impl.EcorePackageImpl;
-
-import org.eclipse.jem.internal.instantiation.PTArrayAccess;
-import org.eclipse.jem.internal.instantiation.PTArrayCreation;
-import org.eclipse.jem.internal.instantiation.PTArrayInitializer;
-import org.eclipse.jem.internal.instantiation.PTBooleanLiteral;
-import org.eclipse.jem.internal.instantiation.PTCastExpression;
-import org.eclipse.jem.internal.instantiation.PTCharacterLiteral;
-import org.eclipse.jem.internal.instantiation.PTClassInstanceCreation;
-import org.eclipse.jem.internal.instantiation.PTConditionalExpression;
-import org.eclipse.jem.internal.instantiation.PTExpression;
-import org.eclipse.jem.internal.instantiation.PTFieldAccess;
-import org.eclipse.jem.internal.instantiation.ImplicitAllocation;
-import org.eclipse.jem.internal.instantiation.PTInfixExpression;
-import org.eclipse.jem.internal.instantiation.PTInfixOperator;
-import org.eclipse.jem.internal.instantiation.PTInstanceReference;
-import org.eclipse.jem.internal.instantiation.InitStringAllocation;
-import org.eclipse.jem.internal.instantiation.PTInstanceof;
-import org.eclipse.jem.internal.instantiation.InstantiationFactory;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-import org.eclipse.jem.internal.instantiation.PTInvalidExpression;
-import org.eclipse.jem.internal.instantiation.JavaAllocation;
-
-import org.eclipse.jem.internal.instantiation.PTMethodInvocation;
-import org.eclipse.jem.internal.instantiation.PTName;
-import org.eclipse.jem.internal.instantiation.PTNullLiteral;
-import org.eclipse.jem.internal.instantiation.PTNumberLiteral;
-import org.eclipse.jem.internal.instantiation.PTParenthesizedExpression;
-import org.eclipse.jem.internal.instantiation.ParseTreeAllocation;
-
-import org.eclipse.jem.internal.instantiation.PTPrefixExpression;
-import org.eclipse.jem.internal.instantiation.PTPrefixOperator;
-import org.eclipse.jem.internal.instantiation.PTStringLiteral;
-import org.eclipse.jem.internal.instantiation.PTThisLiteral;
-import org.eclipse.jem.internal.instantiation.PTTypeLiteral;
-
-import org.eclipse.jem.internal.instantiation.base.IJavaDataTypeInstance;
-import org.eclipse.jem.internal.instantiation.base.IJavaInstance;
-import org.eclipse.jem.internal.instantiation.base.IJavaObjectInstance;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Package</b>.
- * <!-- end-user-doc -->
- * @generated
- */
-public class InstantiationPackageImpl extends EPackageImpl implements InstantiationPackage {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass iJavaDataTypeInstanceEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass iJavaObjectInstanceEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass javaAllocationEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass initStringAllocationEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass implicitAllocationEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass parseTreeAllocationEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass ptExpressionEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass ptArrayAccessEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass ptArrayCreationEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass ptArrayInitializerEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass ptBooleanLiteralEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass ptCastExpressionEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass ptCharacterLiteralEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass ptClassInstanceCreationEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass ptConditionalExpressionEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass ptFieldAccessEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass ptInfixExpressionEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass ptInstanceofEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass ptMethodInvocationEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass ptNameEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass ptNullLiteralEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass ptNumberLiteralEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass ptParenthesizedExpressionEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass ptPrefixExpressionEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass ptStringLiteralEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass ptThisLiteralEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass ptTypeLiteralEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass ptInvalidExpressionEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass ptInstanceReferenceEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EEnum ptInfixOperatorEEnum = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EEnum ptPrefixOperatorEEnum = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass iJavaInstanceEClass = null;
-
- /**
- * Creates an instance of the model <b>Package</b>, registered with
- * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
- * package URI value.
- * <p>Note: the correct way to create the package is via the static
- * factory method {@link #init init()}, which also performs
- * initialization of the package, or returns the registered package,
- * if one already exists.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.ecore.EPackage.Registry
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#eNS_URI
- * @see #init()
- * @generated
- */
- private InstantiationPackageImpl() {
- super(eNS_URI, InstantiationFactory.eINSTANCE);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private static boolean isInited = false;
-
- /**
- * Creates, registers, and initializes the <b>Package</b> for this
- * model, and for any others upon which it depends. Simple
- * dependencies are satisfied by calling this method on all
- * dependent packages before doing anything else. This method drives
- * initialization for interdependent packages directly, in parallel
- * with this package, itself.
- * <p>Of this package and its interdependencies, all packages which
- * have not yet been registered by their URI values are first created
- * and registered. The packages are then initialized in two steps:
- * meta-model objects for all of the packages are created before any
- * are initialized, since one package's meta-model objects may refer to
- * those of another.
- * <p>Invocation of this method will not affect any packages that have
- * already been initialized.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #eNS_URI
- * @see #createPackageContents()
- * @see #initializePackageContents()
- * @generated
- */
- public static InstantiationPackage init() {
- if (isInited) return (InstantiationPackage)EPackage.Registry.INSTANCE.get(InstantiationPackage.eNS_URI);
-
- // Obtain or create and register package.
- InstantiationPackageImpl theInstantiationPackage = (InstantiationPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof EPackage ? EPackage.Registry.INSTANCE.get(eNS_URI) : new InstantiationPackageImpl());
-
- isInited = true;
-
- // Initialize simple dependencies
- EcorePackageImpl.init();
-
- // Obtain or create and register interdependencies
-
- // Step 1: create meta-model objects
- theInstantiationPackage.createPackageContents();
-
- // Step 2: complete initialization
- theInstantiationPackage.initializePackageContents();
-
- return theInstantiationPackage;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getIJavaObjectInstance() {
- return iJavaObjectInstanceEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getJavaAllocation() {
- return javaAllocationEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getInitStringAllocation() {
- return initStringAllocationEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getInitStringAllocation_InitString() {
- return (EAttribute)initStringAllocationEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getImplicitAllocation() {
- return implicitAllocationEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getImplicitAllocation_Parent() {
- return (EReference)implicitAllocationEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getImplicitAllocation_Feature() {
- return (EReference)implicitAllocationEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getParseTreeAllocation() {
- return parseTreeAllocationEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getParseTreeAllocation_Expression() {
- return (EReference)parseTreeAllocationEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getPTExpression() {
- return ptExpressionEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getPTArrayAccess() {
- return ptArrayAccessEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getPTArrayAccess_Array() {
- return (EReference)ptArrayAccessEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getPTArrayAccess_Indexes() {
- return (EReference)ptArrayAccessEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getPTArrayCreation() {
- return ptArrayCreationEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getPTArrayCreation_Type() {
- return (EAttribute)ptArrayCreationEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getPTArrayCreation_Dimensions() {
- return (EReference)ptArrayCreationEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getPTArrayCreation_Initializer() {
- return (EReference)ptArrayCreationEClass.getEStructuralFeatures().get(2);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getPTArrayInitializer() {
- return ptArrayInitializerEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getPTArrayInitializer_Expressions() {
- return (EReference)ptArrayInitializerEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getPTBooleanLiteral() {
- return ptBooleanLiteralEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getPTBooleanLiteral_BooleanValue() {
- return (EAttribute)ptBooleanLiteralEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getPTCastExpression() {
- return ptCastExpressionEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getPTCastExpression_Type() {
- return (EAttribute)ptCastExpressionEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getPTCastExpression_Expression() {
- return (EReference)ptCastExpressionEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getPTCharacterLiteral() {
- return ptCharacterLiteralEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getPTCharacterLiteral_EscapedValue() {
- return (EAttribute)ptCharacterLiteralEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getPTCharacterLiteral_CharValue() {
- return (EAttribute)ptCharacterLiteralEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getPTClassInstanceCreation() {
- return ptClassInstanceCreationEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getPTClassInstanceCreation_Type() {
- return (EAttribute)ptClassInstanceCreationEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getPTClassInstanceCreation_Arguments() {
- return (EReference)ptClassInstanceCreationEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getPTConditionalExpression() {
- return ptConditionalExpressionEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getPTConditionalExpression_Condition() {
- return (EReference)ptConditionalExpressionEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getPTConditionalExpression_True() {
- return (EReference)ptConditionalExpressionEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getPTConditionalExpression_False() {
- return (EReference)ptConditionalExpressionEClass.getEStructuralFeatures().get(2);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getPTFieldAccess() {
- return ptFieldAccessEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getPTFieldAccess_Receiver() {
- return (EReference)ptFieldAccessEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getPTFieldAccess_Field() {
- return (EAttribute)ptFieldAccessEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getPTInfixExpression() {
- return ptInfixExpressionEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getPTInfixExpression_LeftOperand() {
- return (EReference)ptInfixExpressionEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getPTInfixExpression_Operator() {
- return (EAttribute)ptInfixExpressionEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getPTInfixExpression_RightOperand() {
- return (EReference)ptInfixExpressionEClass.getEStructuralFeatures().get(2);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getPTInfixExpression_ExtendedOperands() {
- return (EReference)ptInfixExpressionEClass.getEStructuralFeatures().get(3);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getPTInstanceof() {
- return ptInstanceofEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getPTInstanceof_Operand() {
- return (EReference)ptInstanceofEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getPTInstanceof_Type() {
- return (EAttribute)ptInstanceofEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getPTMethodInvocation() {
- return ptMethodInvocationEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getPTMethodInvocation_Receiver() {
- return (EReference)ptMethodInvocationEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getPTMethodInvocation_Name() {
- return (EAttribute)ptMethodInvocationEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getPTMethodInvocation_Arguments() {
- return (EReference)ptMethodInvocationEClass.getEStructuralFeatures().get(2);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getPTName() {
- return ptNameEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getPTName_Name() {
- return (EAttribute)ptNameEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getPTNullLiteral() {
- return ptNullLiteralEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getPTNumberLiteral() {
- return ptNumberLiteralEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getPTNumberLiteral_Token() {
- return (EAttribute)ptNumberLiteralEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getPTParenthesizedExpression() {
- return ptParenthesizedExpressionEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getPTParenthesizedExpression_Expression() {
- return (EReference)ptParenthesizedExpressionEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getPTPrefixExpression() {
- return ptPrefixExpressionEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getPTPrefixExpression_Operator() {
- return (EAttribute)ptPrefixExpressionEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getPTPrefixExpression_Expression() {
- return (EReference)ptPrefixExpressionEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getPTStringLiteral() {
- return ptStringLiteralEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getPTStringLiteral_EscapedValue() {
- return (EAttribute)ptStringLiteralEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getPTStringLiteral_LiteralValue() {
- return (EAttribute)ptStringLiteralEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getPTThisLiteral() {
- return ptThisLiteralEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getPTTypeLiteral() {
- return ptTypeLiteralEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getPTTypeLiteral_Type() {
- return (EAttribute)ptTypeLiteralEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getPTInvalidExpression() {
- return ptInvalidExpressionEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getPTInvalidExpression_Message() {
- return (EAttribute)ptInvalidExpressionEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getPTInstanceReference() {
- return ptInstanceReferenceEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getPTInstanceReference_Object() {
- return (EReference)ptInstanceReferenceEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EEnum getPTInfixOperator() {
- return ptInfixOperatorEEnum;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EEnum getPTPrefixOperator() {
- return ptPrefixOperatorEEnum;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getIJavaDataTypeInstance() {
- return iJavaDataTypeInstanceEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getIJavaInstance() {
- return iJavaInstanceEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public InstantiationFactory getInstantiationFactory() {
- return (InstantiationFactory)getEFactoryInstance();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private boolean isCreated = false;
-
- /**
- * Creates the meta-model objects for the package. This method is
- * guarded to have no affect on any invocation but its first.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void createPackageContents() {
- if (isCreated) return;
- isCreated = true;
-
- // Create classes and their features
- iJavaDataTypeInstanceEClass = createEClass(IJAVA_DATA_TYPE_INSTANCE);
-
- iJavaInstanceEClass = createEClass(IJAVA_INSTANCE);
-
- iJavaObjectInstanceEClass = createEClass(IJAVA_OBJECT_INSTANCE);
-
- javaAllocationEClass = createEClass(JAVA_ALLOCATION);
-
- initStringAllocationEClass = createEClass(INIT_STRING_ALLOCATION);
- createEAttribute(initStringAllocationEClass, INIT_STRING_ALLOCATION__INIT_STRING);
-
- implicitAllocationEClass = createEClass(IMPLICIT_ALLOCATION);
- createEReference(implicitAllocationEClass, IMPLICIT_ALLOCATION__PARENT);
- createEReference(implicitAllocationEClass, IMPLICIT_ALLOCATION__FEATURE);
-
- parseTreeAllocationEClass = createEClass(PARSE_TREE_ALLOCATION);
- createEReference(parseTreeAllocationEClass, PARSE_TREE_ALLOCATION__EXPRESSION);
-
- ptExpressionEClass = createEClass(PT_EXPRESSION);
-
- ptArrayAccessEClass = createEClass(PT_ARRAY_ACCESS);
- createEReference(ptArrayAccessEClass, PT_ARRAY_ACCESS__ARRAY);
- createEReference(ptArrayAccessEClass, PT_ARRAY_ACCESS__INDEXES);
-
- ptArrayCreationEClass = createEClass(PT_ARRAY_CREATION);
- createEAttribute(ptArrayCreationEClass, PT_ARRAY_CREATION__TYPE);
- createEReference(ptArrayCreationEClass, PT_ARRAY_CREATION__DIMENSIONS);
- createEReference(ptArrayCreationEClass, PT_ARRAY_CREATION__INITIALIZER);
-
- ptArrayInitializerEClass = createEClass(PT_ARRAY_INITIALIZER);
- createEReference(ptArrayInitializerEClass, PT_ARRAY_INITIALIZER__EXPRESSIONS);
-
- ptBooleanLiteralEClass = createEClass(PT_BOOLEAN_LITERAL);
- createEAttribute(ptBooleanLiteralEClass, PT_BOOLEAN_LITERAL__BOOLEAN_VALUE);
-
- ptCastExpressionEClass = createEClass(PT_CAST_EXPRESSION);
- createEAttribute(ptCastExpressionEClass, PT_CAST_EXPRESSION__TYPE);
- createEReference(ptCastExpressionEClass, PT_CAST_EXPRESSION__EXPRESSION);
-
- ptCharacterLiteralEClass = createEClass(PT_CHARACTER_LITERAL);
- createEAttribute(ptCharacterLiteralEClass, PT_CHARACTER_LITERAL__ESCAPED_VALUE);
- createEAttribute(ptCharacterLiteralEClass, PT_CHARACTER_LITERAL__CHAR_VALUE);
-
- ptClassInstanceCreationEClass = createEClass(PT_CLASS_INSTANCE_CREATION);
- createEAttribute(ptClassInstanceCreationEClass, PT_CLASS_INSTANCE_CREATION__TYPE);
- createEReference(ptClassInstanceCreationEClass, PT_CLASS_INSTANCE_CREATION__ARGUMENTS);
-
- ptConditionalExpressionEClass = createEClass(PT_CONDITIONAL_EXPRESSION);
- createEReference(ptConditionalExpressionEClass, PT_CONDITIONAL_EXPRESSION__CONDITION);
- createEReference(ptConditionalExpressionEClass, PT_CONDITIONAL_EXPRESSION__TRUE);
- createEReference(ptConditionalExpressionEClass, PT_CONDITIONAL_EXPRESSION__FALSE);
-
- ptFieldAccessEClass = createEClass(PT_FIELD_ACCESS);
- createEReference(ptFieldAccessEClass, PT_FIELD_ACCESS__RECEIVER);
- createEAttribute(ptFieldAccessEClass, PT_FIELD_ACCESS__FIELD);
-
- ptInfixExpressionEClass = createEClass(PT_INFIX_EXPRESSION);
- createEReference(ptInfixExpressionEClass, PT_INFIX_EXPRESSION__LEFT_OPERAND);
- createEAttribute(ptInfixExpressionEClass, PT_INFIX_EXPRESSION__OPERATOR);
- createEReference(ptInfixExpressionEClass, PT_INFIX_EXPRESSION__RIGHT_OPERAND);
- createEReference(ptInfixExpressionEClass, PT_INFIX_EXPRESSION__EXTENDED_OPERANDS);
-
- ptInstanceofEClass = createEClass(PT_INSTANCEOF);
- createEReference(ptInstanceofEClass, PT_INSTANCEOF__OPERAND);
- createEAttribute(ptInstanceofEClass, PT_INSTANCEOF__TYPE);
-
- ptMethodInvocationEClass = createEClass(PT_METHOD_INVOCATION);
- createEReference(ptMethodInvocationEClass, PT_METHOD_INVOCATION__RECEIVER);
- createEAttribute(ptMethodInvocationEClass, PT_METHOD_INVOCATION__NAME);
- createEReference(ptMethodInvocationEClass, PT_METHOD_INVOCATION__ARGUMENTS);
-
- ptNameEClass = createEClass(PT_NAME);
- createEAttribute(ptNameEClass, PT_NAME__NAME);
-
- ptNullLiteralEClass = createEClass(PT_NULL_LITERAL);
-
- ptNumberLiteralEClass = createEClass(PT_NUMBER_LITERAL);
- createEAttribute(ptNumberLiteralEClass, PT_NUMBER_LITERAL__TOKEN);
-
- ptParenthesizedExpressionEClass = createEClass(PT_PARENTHESIZED_EXPRESSION);
- createEReference(ptParenthesizedExpressionEClass, PT_PARENTHESIZED_EXPRESSION__EXPRESSION);
-
- ptPrefixExpressionEClass = createEClass(PT_PREFIX_EXPRESSION);
- createEAttribute(ptPrefixExpressionEClass, PT_PREFIX_EXPRESSION__OPERATOR);
- createEReference(ptPrefixExpressionEClass, PT_PREFIX_EXPRESSION__EXPRESSION);
-
- ptStringLiteralEClass = createEClass(PT_STRING_LITERAL);
- createEAttribute(ptStringLiteralEClass, PT_STRING_LITERAL__ESCAPED_VALUE);
- createEAttribute(ptStringLiteralEClass, PT_STRING_LITERAL__LITERAL_VALUE);
-
- ptThisLiteralEClass = createEClass(PT_THIS_LITERAL);
-
- ptTypeLiteralEClass = createEClass(PT_TYPE_LITERAL);
- createEAttribute(ptTypeLiteralEClass, PT_TYPE_LITERAL__TYPE);
-
- ptInvalidExpressionEClass = createEClass(PT_INVALID_EXPRESSION);
- createEAttribute(ptInvalidExpressionEClass, PT_INVALID_EXPRESSION__MESSAGE);
-
- ptInstanceReferenceEClass = createEClass(PT_INSTANCE_REFERENCE);
- createEReference(ptInstanceReferenceEClass, PT_INSTANCE_REFERENCE__OBJECT);
-
- // Create enums
- ptInfixOperatorEEnum = createEEnum(PT_INFIX_OPERATOR);
- ptPrefixOperatorEEnum = createEEnum(PT_PREFIX_OPERATOR);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private boolean isInitialized = false;
-
- /**
- * Complete the initialization of the package and its meta-model. This
- * method is guarded to have no affect on any invocation but its first.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void initializePackageContents() {
- if (isInitialized) return;
- isInitialized = true;
-
- // Initialize package
- setName(eNAME);
- setNsPrefix(eNS_PREFIX);
- setNsURI(eNS_URI);
-
- // Obtain other dependent packages
- EcorePackageImpl theEcorePackage = (EcorePackageImpl)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
-
- // Add supertypes to classes
- iJavaDataTypeInstanceEClass.getESuperTypes().add(this.getIJavaInstance());
- iJavaObjectInstanceEClass.getESuperTypes().add(this.getIJavaInstance());
- initStringAllocationEClass.getESuperTypes().add(this.getJavaAllocation());
- implicitAllocationEClass.getESuperTypes().add(this.getJavaAllocation());
- parseTreeAllocationEClass.getESuperTypes().add(this.getJavaAllocation());
- ptArrayAccessEClass.getESuperTypes().add(this.getPTExpression());
- ptArrayCreationEClass.getESuperTypes().add(this.getPTExpression());
- ptArrayInitializerEClass.getESuperTypes().add(this.getPTExpression());
- ptBooleanLiteralEClass.getESuperTypes().add(this.getPTExpression());
- ptCastExpressionEClass.getESuperTypes().add(this.getPTExpression());
- ptCharacterLiteralEClass.getESuperTypes().add(this.getPTExpression());
- ptClassInstanceCreationEClass.getESuperTypes().add(this.getPTExpression());
- ptConditionalExpressionEClass.getESuperTypes().add(this.getPTExpression());
- ptFieldAccessEClass.getESuperTypes().add(this.getPTExpression());
- ptInfixExpressionEClass.getESuperTypes().add(this.getPTExpression());
- ptInstanceofEClass.getESuperTypes().add(this.getPTExpression());
- ptMethodInvocationEClass.getESuperTypes().add(this.getPTExpression());
- ptNameEClass.getESuperTypes().add(this.getPTExpression());
- ptNullLiteralEClass.getESuperTypes().add(this.getPTExpression());
- ptNumberLiteralEClass.getESuperTypes().add(this.getPTExpression());
- ptParenthesizedExpressionEClass.getESuperTypes().add(this.getPTExpression());
- ptPrefixExpressionEClass.getESuperTypes().add(this.getPTExpression());
- ptStringLiteralEClass.getESuperTypes().add(this.getPTExpression());
- ptThisLiteralEClass.getESuperTypes().add(this.getPTExpression());
- ptTypeLiteralEClass.getESuperTypes().add(this.getPTExpression());
- ptInvalidExpressionEClass.getESuperTypes().add(this.getPTExpression());
- ptInstanceReferenceEClass.getESuperTypes().add(this.getPTExpression());
-
- // Initialize classes and features; add operations and parameters
- initEClass(iJavaDataTypeInstanceEClass, IJavaDataTypeInstance.class, "IJavaDataTypeInstance", IS_ABSTRACT, IS_INTERFACE);
-
- initEClass(iJavaInstanceEClass, IJavaInstance.class, "IJavaInstance", IS_ABSTRACT, IS_INTERFACE);
-
- initEClass(iJavaObjectInstanceEClass, IJavaObjectInstance.class, "IJavaObjectInstance", IS_ABSTRACT, IS_INTERFACE);
-
- initEClass(javaAllocationEClass, JavaAllocation.class, "JavaAllocation", IS_ABSTRACT, !IS_INTERFACE);
-
- initEClass(initStringAllocationEClass, InitStringAllocation.class, "InitStringAllocation", !IS_ABSTRACT, !IS_INTERFACE);
- initEAttribute(getInitStringAllocation_InitString(), ecorePackage.getEString(), "initString", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-
- initEClass(implicitAllocationEClass, ImplicitAllocation.class, "ImplicitAllocation", !IS_ABSTRACT, !IS_INTERFACE);
- initEReference(getImplicitAllocation_Parent(), theEcorePackage.getEObject(), null, "parent", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
- initEReference(getImplicitAllocation_Feature(), theEcorePackage.getEStructuralFeature(), null, "feature", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
- initEClass(parseTreeAllocationEClass, ParseTreeAllocation.class, "ParseTreeAllocation", !IS_ABSTRACT, !IS_INTERFACE);
- initEReference(getParseTreeAllocation_Expression(), this.getPTExpression(), null, "expression", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
- initEClass(ptExpressionEClass, PTExpression.class, "PTExpression", IS_ABSTRACT, !IS_INTERFACE);
-
- initEClass(ptArrayAccessEClass, PTArrayAccess.class, "PTArrayAccess", !IS_ABSTRACT, !IS_INTERFACE);
- initEReference(getPTArrayAccess_Array(), this.getPTExpression(), null, "array", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
- initEReference(getPTArrayAccess_Indexes(), this.getPTExpression(), null, "indexes", null, 1, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
- initEClass(ptArrayCreationEClass, PTArrayCreation.class, "PTArrayCreation", !IS_ABSTRACT, !IS_INTERFACE);
- initEAttribute(getPTArrayCreation_Type(), ecorePackage.getEString(), "type", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
- initEReference(getPTArrayCreation_Dimensions(), this.getPTExpression(), null, "dimensions", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
- initEReference(getPTArrayCreation_Initializer(), this.getPTArrayInitializer(), null, "initializer", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
- initEClass(ptArrayInitializerEClass, PTArrayInitializer.class, "PTArrayInitializer", !IS_ABSTRACT, !IS_INTERFACE);
- initEReference(getPTArrayInitializer_Expressions(), this.getPTExpression(), null, "expressions", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
- initEClass(ptBooleanLiteralEClass, PTBooleanLiteral.class, "PTBooleanLiteral", !IS_ABSTRACT, !IS_INTERFACE);
- initEAttribute(getPTBooleanLiteral_BooleanValue(), ecorePackage.getEBoolean(), "booleanValue", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-
- initEClass(ptCastExpressionEClass, PTCastExpression.class, "PTCastExpression", !IS_ABSTRACT, !IS_INTERFACE);
- initEAttribute(getPTCastExpression_Type(), ecorePackage.getEString(), "type", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
- initEReference(getPTCastExpression_Expression(), this.getPTExpression(), null, "expression", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
- initEClass(ptCharacterLiteralEClass, PTCharacterLiteral.class, "PTCharacterLiteral", !IS_ABSTRACT, !IS_INTERFACE);
- initEAttribute(getPTCharacterLiteral_EscapedValue(), ecorePackage.getEString(), "escapedValue", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
- initEAttribute(getPTCharacterLiteral_CharValue(), ecorePackage.getEChar(), "charValue", null, 0, 1, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-
- initEClass(ptClassInstanceCreationEClass, PTClassInstanceCreation.class, "PTClassInstanceCreation", !IS_ABSTRACT, !IS_INTERFACE);
- initEAttribute(getPTClassInstanceCreation_Type(), ecorePackage.getEString(), "type", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
- initEReference(getPTClassInstanceCreation_Arguments(), this.getPTExpression(), null, "arguments", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
- initEClass(ptConditionalExpressionEClass, PTConditionalExpression.class, "PTConditionalExpression", !IS_ABSTRACT, !IS_INTERFACE);
- initEReference(getPTConditionalExpression_Condition(), this.getPTExpression(), null, "condition", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
- initEReference(getPTConditionalExpression_True(), this.getPTExpression(), null, "true", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
- initEReference(getPTConditionalExpression_False(), this.getPTExpression(), null, "false", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
- initEClass(ptFieldAccessEClass, PTFieldAccess.class, "PTFieldAccess", !IS_ABSTRACT, !IS_INTERFACE);
- initEReference(getPTFieldAccess_Receiver(), this.getPTExpression(), null, "receiver", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
- initEAttribute(getPTFieldAccess_Field(), ecorePackage.getEString(), "field", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-
- initEClass(ptInfixExpressionEClass, PTInfixExpression.class, "PTInfixExpression", !IS_ABSTRACT, !IS_INTERFACE);
- initEReference(getPTInfixExpression_LeftOperand(), this.getPTExpression(), null, "leftOperand", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
- initEAttribute(getPTInfixExpression_Operator(), this.getPTInfixOperator(), "operator", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
- initEReference(getPTInfixExpression_RightOperand(), this.getPTExpression(), null, "rightOperand", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
- initEReference(getPTInfixExpression_ExtendedOperands(), this.getPTExpression(), null, "extendedOperands", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
- initEClass(ptInstanceofEClass, PTInstanceof.class, "PTInstanceof", !IS_ABSTRACT, !IS_INTERFACE);
- initEReference(getPTInstanceof_Operand(), this.getPTExpression(), null, "operand", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
- initEAttribute(getPTInstanceof_Type(), ecorePackage.getEString(), "type", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-
- initEClass(ptMethodInvocationEClass, PTMethodInvocation.class, "PTMethodInvocation", !IS_ABSTRACT, !IS_INTERFACE);
- initEReference(getPTMethodInvocation_Receiver(), this.getPTExpression(), null, "receiver", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
- initEAttribute(getPTMethodInvocation_Name(), ecorePackage.getEString(), "name", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
- initEReference(getPTMethodInvocation_Arguments(), this.getPTExpression(), null, "arguments", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
- initEClass(ptNameEClass, PTName.class, "PTName", !IS_ABSTRACT, !IS_INTERFACE);
- initEAttribute(getPTName_Name(), ecorePackage.getEString(), "name", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-
- initEClass(ptNullLiteralEClass, PTNullLiteral.class, "PTNullLiteral", !IS_ABSTRACT, !IS_INTERFACE);
-
- initEClass(ptNumberLiteralEClass, PTNumberLiteral.class, "PTNumberLiteral", !IS_ABSTRACT, !IS_INTERFACE);
- initEAttribute(getPTNumberLiteral_Token(), ecorePackage.getEString(), "token", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-
- initEClass(ptParenthesizedExpressionEClass, PTParenthesizedExpression.class, "PTParenthesizedExpression", !IS_ABSTRACT, !IS_INTERFACE);
- initEReference(getPTParenthesizedExpression_Expression(), this.getPTExpression(), null, "expression", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
- initEClass(ptPrefixExpressionEClass, PTPrefixExpression.class, "PTPrefixExpression", !IS_ABSTRACT, !IS_INTERFACE);
- initEAttribute(getPTPrefixExpression_Operator(), this.getPTPrefixOperator(), "operator", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
- initEReference(getPTPrefixExpression_Expression(), this.getPTExpression(), null, "expression", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
- initEClass(ptStringLiteralEClass, PTStringLiteral.class, "PTStringLiteral", !IS_ABSTRACT, !IS_INTERFACE);
- initEAttribute(getPTStringLiteral_EscapedValue(), ecorePackage.getEString(), "escapedValue", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
- initEAttribute(getPTStringLiteral_LiteralValue(), ecorePackage.getEString(), "literalValue", null, 0, 1, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-
- initEClass(ptThisLiteralEClass, PTThisLiteral.class, "PTThisLiteral", !IS_ABSTRACT, !IS_INTERFACE);
-
- initEClass(ptTypeLiteralEClass, PTTypeLiteral.class, "PTTypeLiteral", !IS_ABSTRACT, !IS_INTERFACE);
- initEAttribute(getPTTypeLiteral_Type(), ecorePackage.getEString(), "type", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-
- initEClass(ptInvalidExpressionEClass, PTInvalidExpression.class, "PTInvalidExpression", !IS_ABSTRACT, !IS_INTERFACE);
- initEAttribute(getPTInvalidExpression_Message(), ecorePackage.getEString(), "message", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-
- initEClass(ptInstanceReferenceEClass, PTInstanceReference.class, "PTInstanceReference", !IS_ABSTRACT, !IS_INTERFACE);
- initEReference(getPTInstanceReference_Object(), this.getIJavaObjectInstance(), null, "object", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
- // Initialize enums and add enum literals
- initEEnum(ptInfixOperatorEEnum, PTInfixOperator.class, "PTInfixOperator");
- addEEnumLiteral(ptInfixOperatorEEnum, PTInfixOperator.TIMES_LITERAL);
- addEEnumLiteral(ptInfixOperatorEEnum, PTInfixOperator.DIVIDE_LITERAL);
- addEEnumLiteral(ptInfixOperatorEEnum, PTInfixOperator.REMAINDER_LITERAL);
- addEEnumLiteral(ptInfixOperatorEEnum, PTInfixOperator.PLUS_LITERAL);
- addEEnumLiteral(ptInfixOperatorEEnum, PTInfixOperator.MINUS_LITERAL);
- addEEnumLiteral(ptInfixOperatorEEnum, PTInfixOperator.LEFT_SHIFT_LITERAL);
- addEEnumLiteral(ptInfixOperatorEEnum, PTInfixOperator.RIGHT_SHIFT_SIGNED_LITERAL);
- addEEnumLiteral(ptInfixOperatorEEnum, PTInfixOperator.RIGHT_SHIFT_UNSIGNED_LITERAL);
- addEEnumLiteral(ptInfixOperatorEEnum, PTInfixOperator.LESS_LITERAL);
- addEEnumLiteral(ptInfixOperatorEEnum, PTInfixOperator.GREATER_LITERAL);
- addEEnumLiteral(ptInfixOperatorEEnum, PTInfixOperator.LESS_EQUALS_LITERAL);
- addEEnumLiteral(ptInfixOperatorEEnum, PTInfixOperator.GREATER_EQUALS_LITERAL);
- addEEnumLiteral(ptInfixOperatorEEnum, PTInfixOperator.EQUALS_LITERAL);
- addEEnumLiteral(ptInfixOperatorEEnum, PTInfixOperator.NOT_EQUALS_LITERAL);
- addEEnumLiteral(ptInfixOperatorEEnum, PTInfixOperator.XOR_LITERAL);
- addEEnumLiteral(ptInfixOperatorEEnum, PTInfixOperator.AND_LITERAL);
- addEEnumLiteral(ptInfixOperatorEEnum, PTInfixOperator.OR_LITERAL);
- addEEnumLiteral(ptInfixOperatorEEnum, PTInfixOperator.CONDITIONAL_AND_LITERAL);
- addEEnumLiteral(ptInfixOperatorEEnum, PTInfixOperator.CONDITIONAL_OR_LITERAL);
-
- initEEnum(ptPrefixOperatorEEnum, PTPrefixOperator.class, "PTPrefixOperator");
- addEEnumLiteral(ptPrefixOperatorEEnum, PTPrefixOperator.PLUS_LITERAL);
- addEEnumLiteral(ptPrefixOperatorEEnum, PTPrefixOperator.MINUS_LITERAL);
- addEEnumLiteral(ptPrefixOperatorEEnum, PTPrefixOperator.COMPLEMENT_LITERAL);
- addEEnumLiteral(ptPrefixOperatorEEnum, PTPrefixOperator.NOT_LITERAL);
-
- // Create resource
- createResource(eNS_URI);
- }
-} //InstantiationPackageImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/JavaAllocationImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/JavaAllocationImpl.java
deleted file mode 100644
index 634f39eb7..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/JavaAllocationImpl.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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.instantiation.impl;
-/*
- * $RCSfile: JavaAllocationImpl.java,v $
- * $Revision: 1.5 $ $Date: 2005/02/15 22:36:09 $
- */
-
-
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-import org.eclipse.jem.internal.instantiation.JavaAllocation;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Java Allocation</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * </p>
- *
- * @generated
- */
-public abstract class JavaAllocationImpl extends EObjectImpl implements JavaAllocation {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected JavaAllocationImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return InstantiationPackage.eINSTANCE.getJavaAllocation();
- }
-
-} //JavaAllocationImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/NaiveExpressionFlattener.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/NaiveExpressionFlattener.java
deleted file mode 100644
index 81827048b..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/NaiveExpressionFlattener.java
+++ /dev/null
@@ -1,325 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: NaiveExpressionFlattener.java,v $
- * $Revision: 1.8 $ $Date: 2005/06/21 19:12:44 $
- */
-package org.eclipse.jem.internal.instantiation.impl;
-
-import java.text.MessageFormat;
-import java.util.List;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.PTArrayAccess;
-import org.eclipse.jem.internal.instantiation.ParseVisitor;
-
-/**
- * This naively flattens the ParseTree. It just works with what's there.
- *
- * @since 1.0.0
- */
-public class NaiveExpressionFlattener extends ParseVisitor {
-
- private StringBuffer buffer = new StringBuffer(100);
-
- protected final StringBuffer getStringBuffer() {
- return buffer;
- }
-
- /**
- * Return the string result of the flattening.
- * @return The flattened string.
- *
- * @since 1.0.0
- */
- public String getResult() {
- return buffer.toString();
- }
-
- /**
- * Reset the result so that flattener can be used again.
- *
- * @since 1.0.0
- */
- public void reset() {
- buffer.setLength(0);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTArrayAccess)
- */
- public boolean visit(PTArrayAccess node) {
- node.getArray().accept(this);
- if (!node.getIndexes().isEmpty()) {
- List indexes = node.getIndexes();
- for (int i = 0; i < indexes.size(); i++) {
- buffer.append('[');
- ((PTExpression) indexes.get(i)).accept(this);
- buffer.append(']');
- }
- }
- return false;
-
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTArrayCreation)
- */
- public boolean visit(PTArrayCreation node) {
- String type = handleQualifiedName(node.getType());
- buffer.append("new "); //$NON-NLS-1$
- int ob = type.indexOf('[');
- buffer.append(type.substring(0, ob));
- int realdims = 0;
- while (ob != -1) {
- realdims++;
- ob = type.indexOf('[',ob+1);
- }
- List dims = node.getDimensions();
- for (int i = 0; i < dims.size(); i++) {
- buffer.append('[');
- ((PTExpression) dims.get(i)).accept(this);
- buffer.append(']');
- }
- for (int i=dims.size(); i < realdims; i++) {
- buffer.append("[]"); //$NON-NLS-1$
- }
-
- if (node.getInitializer() != null) {
- buffer.append(' ');
- ((PTExpression) node.getInitializer()).accept(this);
- }
-
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTArrayInitializer)
- */
- public boolean visit(PTArrayInitializer node) {
- buffer.append('{');
- List exp = node.getExpressions();
- for (int i = 0; i < exp.size(); i++) {
- if (i != 0)
- buffer.append(", "); //$NON-NLS-1$
- ((PTExpression) exp.get(i)).accept(this);
- }
- buffer.append('}');
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTBooleanLiteral)
- */
- public boolean visit(PTBooleanLiteral node) {
- buffer.append(node.isBooleanValue() ? "true" : "false"); //$NON-NLS-1$ //$NON-NLS-2$
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTCastExpression)
- */
- public boolean visit(PTCastExpression node) {
- buffer.append('(');
- buffer.append(handleQualifiedName(node.getType()));
- buffer.append(") "); //$NON-NLS-1$
- node.getExpression().accept(this);
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTCharacterLiteral)
- */
- public boolean visit(PTCharacterLiteral node) {
- buffer.append(node.getEscapedValue());
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTClassInstanceCreation)
- */
- public boolean visit(PTClassInstanceCreation node) {
- buffer.append("new "); //$NON-NLS-1$
- buffer.append(handleQualifiedName(node.getType()));
- buffer.append('(');
- List args = node.getArguments();
- for (int i = 0; i < args.size(); i++) {
- if (i != 0)
- buffer.append(", "); //$NON-NLS-1$
- ((PTExpression) args.get(i)).accept(this);
- }
- buffer.append(')');
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTConditionalExpression)
- */
- public boolean visit(PTConditionalExpression node) {
- node.getCondition().accept(this);
- buffer.append(" ? "); //$NON-NLS-1$
- node.getTrue().accept(this);
- buffer.append(" : "); //$NON-NLS-1$
- node.getFalse().accept(this);
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTFieldAccess)
- */
- public boolean visit(PTFieldAccess node) {
- node.getReceiver().accept(this);
- buffer.append('.');
- buffer.append(node.getField());
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTInfixExpression)
- */
- public boolean visit(PTInfixExpression node) {
- node.getLeftOperand().accept(this);
- buffer.append(' ');
- String oper = node.getOperator().getOperator();
- buffer.append(oper);
- buffer.append(' ');
- node.getRightOperand().accept(this);
- List ext = node.getExtendedOperands();
- for (int i = 0; i < ext.size(); i++) {
- buffer.append(' ');
- buffer.append(oper);
- buffer.append(' ');
- ((PTExpression) ext.get(i)).accept(this);
- }
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTInstanceof)
- */
- public boolean visit(PTInstanceof node) {
- node.getOperand().accept(this);
- buffer.append(" instanceof "); //$NON-NLS-1$
- buffer.append(handleQualifiedName(node.getType()));
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTInvalidExpression)
- */
- public boolean visit(PTInvalidExpression node) {
- buffer.append(MessageFormat.format(InstantiationImplMessages.NaiveExpressionFlattener_InvalidExpression, new Object[]{node.getMessage()}));
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTMethodInvocation)
- */
- public boolean visit(PTMethodInvocation node) {
- if (node.getReceiver() != null) {
- node.getReceiver().accept(this);
- buffer.append('.');
- }
-
- buffer.append(node.getName());
- buffer.append('(');
- List args = node.getArguments();
- for (int i = 0; i < args.size(); i++) {
- if (i != 0)
- buffer.append(", "); //$NON-NLS-1$
- ((PTExpression) args.get(i)).accept(this);
- }
- buffer.append(')');
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTName)
- */
- public boolean visit(PTName node) {
- buffer.append(handleQualifiedName(node.getName()));
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTNullLiteral)
- */
- public boolean visit(PTNullLiteral node) {
- buffer.append("null"); //$NON-NLS-1$
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTNumberLiteral)
- */
- public boolean visit(PTNumberLiteral node) {
- buffer.append(node.getToken());
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTParenthesizedExpression)
- */
- public boolean visit(PTParenthesizedExpression node) {
- buffer.append('(');
- node.getExpression().accept(this);
- buffer.append(')');
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTPrefixExpression)
- */
- public boolean visit(PTPrefixExpression node) {
- buffer.append(node.getOperator().getOperator());
- node.getExpression().accept(this);
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTStringLiteral)
- */
- public boolean visit(PTStringLiteral node) {
- buffer.append(node.getEscapedValue());
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTThisLiteral)
- */
- public boolean visit(PTThisLiteral node) {
- buffer.append("this"); //$NON-NLS-1$
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTTypeLiteral)
- */
- public boolean visit(PTTypeLiteral node) {
- buffer.append(handleQualifiedName(node.getType()));
- buffer.append(".class"); //$NON-NLS-1$
- return false;
- }
-
- /**
- * This method enables one to overide the handling of qualified names.
- * The default operation is to do nothing.
- *
- * Overriders may choose to use short names, relying on import statement handling.
- *
- * @param qName
- * @return Name to use for the flattened result
- */
- protected String handleQualifiedName(String qName) {
- return qName;
- }
-
-}
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTArrayAccessImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTArrayAccessImpl.java
deleted file mode 100644
index 7c616bedb..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTArrayAccessImpl.java
+++ /dev/null
@@ -1,244 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PTArrayAccessImpl.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:36:09 $
- */
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.PTArrayAccess;
-import org.eclipse.jem.internal.instantiation.PTExpression;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Array Access</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.instantiation.impl.PTArrayAccessImpl#getArray <em>Array</em>}</li>
- * <li>{@link org.eclipse.jem.internal.instantiation.impl.PTArrayAccessImpl#getIndexes <em>Indexes</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PTArrayAccessImpl extends PTExpressionImpl implements PTArrayAccess {
- /**
- * The cached value of the '{@link #getArray() <em>Array</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getArray()
- * @generated
- * @ordered
- */
- protected PTExpression array = null;
-
- /**
- * The cached value of the '{@link #getIndexes() <em>Indexes</em>}' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getIndexes()
- * @generated
- * @ordered
- */
- protected EList indexes = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected PTArrayAccessImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return InstantiationPackage.eINSTANCE.getPTArrayAccess();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public PTExpression getArray() {
- return array;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain basicSetArray(PTExpression newArray, NotificationChain msgs) {
- PTExpression oldArray = array;
- array = newArray;
- if (eNotificationRequired()) {
- ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_ARRAY_ACCESS__ARRAY, oldArray, newArray);
- if (msgs == null) msgs = notification; else msgs.add(notification);
- }
- return msgs;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setArray(PTExpression newArray) {
- if (newArray != array) {
- NotificationChain msgs = null;
- if (array != null)
- msgs = ((InternalEObject)array).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_ARRAY_ACCESS__ARRAY, null, msgs);
- if (newArray != null)
- msgs = ((InternalEObject)newArray).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_ARRAY_ACCESS__ARRAY, null, msgs);
- msgs = basicSetArray(newArray, msgs);
- if (msgs != null) msgs.dispatch();
- }
- else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_ARRAY_ACCESS__ARRAY, newArray, newArray));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EList getIndexes() {
- if (indexes == null) {
- indexes = new EObjectContainmentEList(PTExpression.class, this, InstantiationPackage.PT_ARRAY_ACCESS__INDEXES);
- }
- return indexes;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case InstantiationPackage.PT_ARRAY_ACCESS__ARRAY:
- return basicSetArray(null, msgs);
- case InstantiationPackage.PT_ARRAY_ACCESS__INDEXES:
- return ((InternalEList)getIndexes()).basicRemove(otherEnd, msgs);
- default:
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_ARRAY_ACCESS__ARRAY:
- return getArray();
- case InstantiationPackage.PT_ARRAY_ACCESS__INDEXES:
- return getIndexes();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_ARRAY_ACCESS__ARRAY:
- setArray((PTExpression)newValue);
- return;
- case InstantiationPackage.PT_ARRAY_ACCESS__INDEXES:
- getIndexes().clear();
- getIndexes().addAll((Collection)newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_ARRAY_ACCESS__ARRAY:
- setArray((PTExpression)null);
- return;
- case InstantiationPackage.PT_ARRAY_ACCESS__INDEXES:
- getIndexes().clear();
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_ARRAY_ACCESS__ARRAY:
- return array != null;
- case InstantiationPackage.PT_ARRAY_ACCESS__INDEXES:
- return indexes != null && !indexes.isEmpty();
- }
- return eDynamicIsSet(eFeature);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.impl.ExpressionImpl#accept0(org.eclipse.jem.internal.instantiation.ParseVisitor)
- */
- protected void accept0(ParseVisitor visitor) {
- boolean visitChildren = visitor.visit(this);
- if (visitChildren) {
- // visit children in normal left to right reading order
- acceptChild(visitor, getArray());
- if (indexes != null)
- acceptChildren(visitor, indexes);
- }
- visitor.endVisit(this);
- }
-
-} //ArrayAccessImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTArrayCreationImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTArrayCreationImpl.java
deleted file mode 100644
index ebb36b924..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTArrayCreationImpl.java
+++ /dev/null
@@ -1,299 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PTArrayCreationImpl.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:36:09 $
- */
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.PTArrayCreation;
-import org.eclipse.jem.internal.instantiation.PTArrayInitializer;
-import org.eclipse.jem.internal.instantiation.PTExpression;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Array Creation</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.instantiation.impl.PTArrayCreationImpl#getType <em>Type</em>}</li>
- * <li>{@link org.eclipse.jem.internal.instantiation.impl.PTArrayCreationImpl#getDimensions <em>Dimensions</em>}</li>
- * <li>{@link org.eclipse.jem.internal.instantiation.impl.PTArrayCreationImpl#getInitializer <em>Initializer</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PTArrayCreationImpl extends PTExpressionImpl implements PTArrayCreation {
- /**
- * The default value of the '{@link #getType() <em>Type</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getType()
- * @generated
- * @ordered
- */
- protected static final String TYPE_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getType()
- * @generated
- * @ordered
- */
- protected String type = TYPE_EDEFAULT;
-
- /**
- * The cached value of the '{@link #getDimensions() <em>Dimensions</em>}' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getDimensions()
- * @generated
- * @ordered
- */
- protected EList dimensions = null;
-
- /**
- * The cached value of the '{@link #getInitializer() <em>Initializer</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getInitializer()
- * @generated
- * @ordered
- */
- protected PTArrayInitializer initializer = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected PTArrayCreationImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return InstantiationPackage.eINSTANCE.getPTArrayCreation();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getType() {
- return type;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setType(String newType) {
- String oldType = type;
- type = newType;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_ARRAY_CREATION__TYPE, oldType, type));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EList getDimensions() {
- if (dimensions == null) {
- dimensions = new EObjectContainmentEList(PTExpression.class, this, InstantiationPackage.PT_ARRAY_CREATION__DIMENSIONS);
- }
- return dimensions;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public PTArrayInitializer getInitializer() {
- return initializer;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain basicSetInitializer(PTArrayInitializer newInitializer, NotificationChain msgs) {
- PTArrayInitializer oldInitializer = initializer;
- initializer = newInitializer;
- if (eNotificationRequired()) {
- ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_ARRAY_CREATION__INITIALIZER, oldInitializer, newInitializer);
- if (msgs == null) msgs = notification; else msgs.add(notification);
- }
- return msgs;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setInitializer(PTArrayInitializer newInitializer) {
- if (newInitializer != initializer) {
- NotificationChain msgs = null;
- if (initializer != null)
- msgs = ((InternalEObject)initializer).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_ARRAY_CREATION__INITIALIZER, null, msgs);
- if (newInitializer != null)
- msgs = ((InternalEObject)newInitializer).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_ARRAY_CREATION__INITIALIZER, null, msgs);
- msgs = basicSetInitializer(newInitializer, msgs);
- if (msgs != null) msgs.dispatch();
- }
- else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_ARRAY_CREATION__INITIALIZER, newInitializer, newInitializer));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case InstantiationPackage.PT_ARRAY_CREATION__DIMENSIONS:
- return ((InternalEList)getDimensions()).basicRemove(otherEnd, msgs);
- case InstantiationPackage.PT_ARRAY_CREATION__INITIALIZER:
- return basicSetInitializer(null, msgs);
- default:
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_ARRAY_CREATION__TYPE:
- return getType();
- case InstantiationPackage.PT_ARRAY_CREATION__DIMENSIONS:
- return getDimensions();
- case InstantiationPackage.PT_ARRAY_CREATION__INITIALIZER:
- return getInitializer();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_ARRAY_CREATION__TYPE:
- setType((String)newValue);
- return;
- case InstantiationPackage.PT_ARRAY_CREATION__DIMENSIONS:
- getDimensions().clear();
- getDimensions().addAll((Collection)newValue);
- return;
- case InstantiationPackage.PT_ARRAY_CREATION__INITIALIZER:
- setInitializer((PTArrayInitializer)newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_ARRAY_CREATION__TYPE:
- setType(TYPE_EDEFAULT);
- return;
- case InstantiationPackage.PT_ARRAY_CREATION__DIMENSIONS:
- getDimensions().clear();
- return;
- case InstantiationPackage.PT_ARRAY_CREATION__INITIALIZER:
- setInitializer((PTArrayInitializer)null);
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_ARRAY_CREATION__TYPE:
- return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type);
- case InstantiationPackage.PT_ARRAY_CREATION__DIMENSIONS:
- return dimensions != null && !dimensions.isEmpty();
- case InstantiationPackage.PT_ARRAY_CREATION__INITIALIZER:
- return initializer != null;
- }
- return eDynamicIsSet(eFeature);
- }
-
- public String toString() {
- return super.toString(); // Really want toString to be final at PTExpression, but EMF doesn't allow it.
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.impl.ExpressionImpl#accept0(org.eclipse.jem.internal.instantiation.ParseVisitor)
- */
- protected void accept0(ParseVisitor visitor) {
- boolean visitChildren = visitor.visit(this);
- if (visitChildren) {
- // visit children in normal left to right reading order
- acceptChildren(visitor, dimensions);
- acceptChild(visitor, getInitializer());
- }
- visitor.endVisit(this);
- }
-} //ArrayCreationImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTArrayInitializerImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTArrayInitializerImpl.java
deleted file mode 100644
index 6ee4625fe..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTArrayInitializerImpl.java
+++ /dev/null
@@ -1,171 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PTArrayInitializerImpl.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:36:09 $
- */
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.PTArrayInitializer;
-import org.eclipse.jem.internal.instantiation.PTExpression;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Array Initializer</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.instantiation.impl.PTArrayInitializerImpl#getExpressions <em>Expressions</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PTArrayInitializerImpl extends PTExpressionImpl implements PTArrayInitializer {
- /**
- * The cached value of the '{@link #getExpressions() <em>Expressions</em>}' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getExpressions()
- * @generated
- * @ordered
- */
- protected EList expressions = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected PTArrayInitializerImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return InstantiationPackage.eINSTANCE.getPTArrayInitializer();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EList getExpressions() {
- if (expressions == null) {
- expressions = new EObjectContainmentEList(PTExpression.class, this, InstantiationPackage.PT_ARRAY_INITIALIZER__EXPRESSIONS);
- }
- return expressions;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case InstantiationPackage.PT_ARRAY_INITIALIZER__EXPRESSIONS:
- return ((InternalEList)getExpressions()).basicRemove(otherEnd, msgs);
- default:
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_ARRAY_INITIALIZER__EXPRESSIONS:
- return getExpressions();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_ARRAY_INITIALIZER__EXPRESSIONS:
- getExpressions().clear();
- getExpressions().addAll((Collection)newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_ARRAY_INITIALIZER__EXPRESSIONS:
- getExpressions().clear();
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_ARRAY_INITIALIZER__EXPRESSIONS:
- return expressions != null && !expressions.isEmpty();
- }
- return eDynamicIsSet(eFeature);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.impl.ExpressionImpl#accept0(org.eclipse.jem.internal.instantiation.ParseVisitor)
- */
- protected void accept0(ParseVisitor visitor) {
- boolean visitChildren = visitor.visit(this);
- if (visitChildren) {
- acceptChildren(visitor, expressions);
- }
- visitor.endVisit(this);
- }
-} //ArrayInitializerImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTBooleanLiteralImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTBooleanLiteralImpl.java
deleted file mode 100644
index 690dffb4c..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTBooleanLiteralImpl.java
+++ /dev/null
@@ -1,167 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PTBooleanLiteralImpl.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:36:09 $
- */
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.PTBooleanLiteral;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Boolean Literal</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.instantiation.impl.PTBooleanLiteralImpl#isBooleanValue <em>Boolean Value</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PTBooleanLiteralImpl extends PTExpressionImpl implements PTBooleanLiteral {
- /**
- * The default value of the '{@link #isBooleanValue() <em>Boolean Value</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isBooleanValue()
- * @generated
- * @ordered
- */
- protected static final boolean BOOLEAN_VALUE_EDEFAULT = false;
-
- /**
- * The cached value of the '{@link #isBooleanValue() <em>Boolean Value</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isBooleanValue()
- * @generated
- * @ordered
- */
- protected boolean booleanValue = BOOLEAN_VALUE_EDEFAULT;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected PTBooleanLiteralImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return InstantiationPackage.eINSTANCE.getPTBooleanLiteral();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isBooleanValue() {
- return booleanValue;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setBooleanValue(boolean newBooleanValue) {
- boolean oldBooleanValue = booleanValue;
- booleanValue = newBooleanValue;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_BOOLEAN_LITERAL__BOOLEAN_VALUE, oldBooleanValue, booleanValue));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_BOOLEAN_LITERAL__BOOLEAN_VALUE:
- return isBooleanValue() ? Boolean.TRUE : Boolean.FALSE;
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_BOOLEAN_LITERAL__BOOLEAN_VALUE:
- setBooleanValue(((Boolean)newValue).booleanValue());
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_BOOLEAN_LITERAL__BOOLEAN_VALUE:
- setBooleanValue(BOOLEAN_VALUE_EDEFAULT);
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_BOOLEAN_LITERAL__BOOLEAN_VALUE:
- return booleanValue != BOOLEAN_VALUE_EDEFAULT;
- }
- return eDynamicIsSet(eFeature);
- }
-
- public String toString() {
- return super.toString(); // Really want toString to be final at PTExpression, but EMF doesn't allow it.
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.impl.ExpressionImpl#accept0(org.eclipse.jem.internal.instantiation.ParseVisitor)
- */
- protected void accept0(ParseVisitor visitor) {
- visitor.visit(this);
- visitor.endVisit(this);
- }
-
-} //BooleanLiteralImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTCastExpressionImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTCastExpressionImpl.java
deleted file mode 100644
index 2bfab5c5d..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTCastExpressionImpl.java
+++ /dev/null
@@ -1,254 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PTCastExpressionImpl.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:36:09 $
- */
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.PTCastExpression;
-import org.eclipse.jem.internal.instantiation.PTExpression;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Cast</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.instantiation.impl.PTCastExpressionImpl#getType <em>Type</em>}</li>
- * <li>{@link org.eclipse.jem.internal.instantiation.impl.PTCastExpressionImpl#getExpression <em>Expression</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PTCastExpressionImpl extends PTExpressionImpl implements PTCastExpression {
- /**
- * The default value of the '{@link #getType() <em>Type</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getType()
- * @generated
- * @ordered
- */
- protected static final String TYPE_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getType()
- * @generated
- * @ordered
- */
- protected String type = TYPE_EDEFAULT;
-
- /**
- * The cached value of the '{@link #getExpression() <em>Expression</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getExpression()
- * @generated
- * @ordered
- */
- protected PTExpression expression = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected PTCastExpressionImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return InstantiationPackage.eINSTANCE.getPTCastExpression();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getType() {
- return type;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setType(String newType) {
- String oldType = type;
- type = newType;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_CAST_EXPRESSION__TYPE, oldType, type));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public PTExpression getExpression() {
- return expression;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain basicSetExpression(PTExpression newExpression, NotificationChain msgs) {
- PTExpression oldExpression = expression;
- expression = newExpression;
- if (eNotificationRequired()) {
- ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_CAST_EXPRESSION__EXPRESSION, oldExpression, newExpression);
- if (msgs == null) msgs = notification; else msgs.add(notification);
- }
- return msgs;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setExpression(PTExpression newExpression) {
- if (newExpression != expression) {
- NotificationChain msgs = null;
- if (expression != null)
- msgs = ((InternalEObject)expression).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_CAST_EXPRESSION__EXPRESSION, null, msgs);
- if (newExpression != null)
- msgs = ((InternalEObject)newExpression).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_CAST_EXPRESSION__EXPRESSION, null, msgs);
- msgs = basicSetExpression(newExpression, msgs);
- if (msgs != null) msgs.dispatch();
- }
- else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_CAST_EXPRESSION__EXPRESSION, newExpression, newExpression));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case InstantiationPackage.PT_CAST_EXPRESSION__EXPRESSION:
- return basicSetExpression(null, msgs);
- default:
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_CAST_EXPRESSION__TYPE:
- return getType();
- case InstantiationPackage.PT_CAST_EXPRESSION__EXPRESSION:
- return getExpression();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_CAST_EXPRESSION__TYPE:
- setType((String)newValue);
- return;
- case InstantiationPackage.PT_CAST_EXPRESSION__EXPRESSION:
- setExpression((PTExpression)newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_CAST_EXPRESSION__TYPE:
- setType(TYPE_EDEFAULT);
- return;
- case InstantiationPackage.PT_CAST_EXPRESSION__EXPRESSION:
- setExpression((PTExpression)null);
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_CAST_EXPRESSION__TYPE:
- return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type);
- case InstantiationPackage.PT_CAST_EXPRESSION__EXPRESSION:
- return expression != null;
- }
- return eDynamicIsSet(eFeature);
- }
-
- public String toString() {
- return super.toString(); // Really want toString to be final at PTExpression, but EMF doesn't allow it.
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.impl.ExpressionImpl#accept0(org.eclipse.jem.internal.instantiation.ParseVisitor)
- */
- protected void accept0(ParseVisitor visitor) {
- boolean visitChildren = visitor.visit(this);
- if (visitChildren) {
- // visit children in normal left to right reading order
- acceptChild(visitor, getExpression());
- }
- visitor.endVisit(this);
- }
-} //CastImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTCharacterLiteralImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTCharacterLiteralImpl.java
deleted file mode 100644
index 05cded798..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTCharacterLiteralImpl.java
+++ /dev/null
@@ -1,387 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PTCharacterLiteralImpl.java,v $
- * $Revision: 1.3 $ $Date: 2005/05/11 22:41:08 $
- */
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.PTCharacterLiteral;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Character Literal</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.instantiation.impl.PTCharacterLiteralImpl#getEscapedValue <em>Escaped Value</em>}</li>
- * <li>{@link org.eclipse.jem.internal.instantiation.impl.PTCharacterLiteralImpl#getCharValue <em>Char Value</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PTCharacterLiteralImpl extends PTExpressionImpl implements PTCharacterLiteral {
- /**
- * The default value of the '{@link #getEscapedValue() <em>Escaped Value</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getEscapedValue()
- * @generated
- * @ordered
- */
- protected static final String ESCAPED_VALUE_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getEscapedValue() <em>Escaped Value</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getEscapedValue()
- * @generated
- * @ordered
- */
- protected String escapedValue = ESCAPED_VALUE_EDEFAULT;
-
- /**
- * The default value of the '{@link #getCharValue() <em>Char Value</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getCharValue()
- * @generated
- * @ordered
- */
- protected static final char CHAR_VALUE_EDEFAULT = '\u0000';
-
- /**
- * The cached value of the '{@link #getCharValue() <em>Char Value</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getCharValue()
- * @generated
- * @ordered
- */
- protected char charValue = CHAR_VALUE_EDEFAULT;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected PTCharacterLiteralImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return InstantiationPackage.eINSTANCE.getPTCharacterLiteral();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getEscapedValue() {
- return escapedValue;
- }
-
- public void setEscapedValue(String newEscapedValue) {
- charValueSet = false;
- setCharValueGen(CHAR_VALUE_EDEFAULT);
- setEscapedValueGen(newEscapedValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setEscapedValueGen(String newEscapedValue) {
- String oldEscapedValue = escapedValue;
- escapedValue = newEscapedValue;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_CHARACTER_LITERAL__ESCAPED_VALUE, oldEscapedValue, escapedValue));
- }
-
- private boolean charValueSet;
-
- public char getCharValue() {
- if (!charValueSet && escapedValue != ESCAPED_VALUE_EDEFAULT) {
- String s = getEscapedValue();
- int len = s.length();
- if (len < 2 || s.charAt(0) != '\'' || s.charAt(len-1) != '\'' ) {
- throw new IllegalArgumentException();
- }
- char c = s.charAt(1);
- if (c == '\'') {
- throw new IllegalArgumentException();
- }
- if (c == '\\') {
- if (len == 4) {
- setCharValueGen(getCharEscaped(s.charAt(2)));
- } else if (len == 8) {
- //handle the case of unicode.
- int currentPosition = 2;
- int c1 = 0, c2 = 0, c3 = 0, c4 = 0;
- if (s.charAt(currentPosition++) == 'u') {
- if ((c1 = Character.getNumericValue(s.charAt(currentPosition++))) > 15
- || c1 < 0
- || (c2 = Character.getNumericValue(s.charAt(currentPosition++))) > 15
- || c2 < 0
- || (c3 = Character.getNumericValue(s.charAt(currentPosition++))) > 15
- || c3 < 0
- || (c4 = Character.getNumericValue(s.charAt(currentPosition++))) > 15
- || c4 < 0){
- throw new IllegalArgumentException("illegal character literal");//$NON-NLS-1$
- } else {
- setCharValueGen((char) (((c1 * 16 + c2) * 16 + c3) * 16 + c4));
- }
- } else {
- throw new IllegalArgumentException("illegal character literal");//$NON-NLS-1$
- }
- } else {
- throw new IllegalArgumentException("illegal character literal");//$NON-NLS-1$
- }
- } else
- setCharValueGen(c);
-
- charValueSet = true;
- }
- return getCharValueGen();
- }
-
- public static char getCharEscaped(char nextChar) {
- switch(nextChar) {
- case 'b' :
- return '\b';
- case 't' :
- return '\t';
- case 'n' :
- return '\n';
- case 'f' :
- return '\f';
- case 'r' :
- return '\r';
- case '\"':
- return '\"';
- case '\'':
- return '\'';
- case '\\':
- return '\\';
- case '0' :
- return '\0';
- case '1' :
- return '\1';
- case '2' :
- return '\2';
- case '3' :
- return '\3';
- case '4' :
- return '\4';
- case '5' :
- return '\5';
- case '6' :
- return '\6';
- case '7' :
- return '\7';
- default:
- throw new IllegalArgumentException("illegal character");//$NON-NLS-1$
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public char getCharValueGen() {
- return charValue;
- }
-
- public void setCharValue(char newCharValue) {
- charValueSet = true;
- setCharValueGen(newCharValue);
-
- StringBuffer b = new StringBuffer(8);
- b.append('\''); // opening delimiter
- appendCharacter(newCharValue, b);
- b.append('\''); // closing delimiter
- setEscapedValueGen(b.toString());
- }
-
- public static void appendCharacter(char character, StringBuffer b) {
- switch(character) {
- case '\b' :
- b.append("\\b"); //$NON-NLS-1$
- break;
- case '\t' :
- b.append("\\t"); //$NON-NLS-1$
- break;
- case '\n' :
- b.append("\\n"); //$NON-NLS-1$
- break;
- case '\f' :
- b.append("\\f"); //$NON-NLS-1$
- break;
- case '\r' :
- b.append("\\r"); //$NON-NLS-1$
- break;
- case '\"':
- b.append("\\\""); //$NON-NLS-1$
- break;
- case '\'':
- b.append("\\\'"); //$NON-NLS-1$
- break;
- case '\\':
- b.append("\\\\"); //$NON-NLS-1$
- break;
- case '\0' :
- b.append("\\0"); //$NON-NLS-1$
- break;
- case '\1' :
- b.append("\\1"); //$NON-NLS-1$
- break;
- case '\2' :
- b.append("\\2"); //$NON-NLS-1$
- break;
- case '\3' :
- b.append("\\3"); //$NON-NLS-1$
- break;
- case '\4' :
- b.append("\\4"); //$NON-NLS-1$
- break;
- case '\5' :
- b.append("\\5"); //$NON-NLS-1$
- break;
- case '\6' :
- b.append("\\6"); //$NON-NLS-1$
- break;
- case '\7' :
- b.append("\\7"); //$NON-NLS-1$
- break;
- default:
- // use a simple algorithm, if char is < 255 then just use it, else use it as unicode.
- if (character < 255)
- b.append(character);
- else {
- b.append("\\u");
- String s = Integer.toString(character, 16);
- int zeros = 4-s.length();
- while (zeros-- > 0) {
- b.append('0');
- }
- b.append(s);
- }
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setCharValueGen(char newCharValue) {
- char oldCharValue = charValue;
- charValue = newCharValue;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_CHARACTER_LITERAL__CHAR_VALUE, oldCharValue, charValue));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_CHARACTER_LITERAL__ESCAPED_VALUE:
- return getEscapedValue();
- case InstantiationPackage.PT_CHARACTER_LITERAL__CHAR_VALUE:
- return new Character(getCharValue());
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_CHARACTER_LITERAL__ESCAPED_VALUE:
- setEscapedValue((String)newValue);
- return;
- case InstantiationPackage.PT_CHARACTER_LITERAL__CHAR_VALUE:
- setCharValue(((Character)newValue).charValue());
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_CHARACTER_LITERAL__ESCAPED_VALUE:
- setEscapedValue(ESCAPED_VALUE_EDEFAULT);
- return;
- case InstantiationPackage.PT_CHARACTER_LITERAL__CHAR_VALUE:
- setCharValue(CHAR_VALUE_EDEFAULT);
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_CHARACTER_LITERAL__ESCAPED_VALUE:
- return ESCAPED_VALUE_EDEFAULT == null ? escapedValue != null : !ESCAPED_VALUE_EDEFAULT.equals(escapedValue);
- case InstantiationPackage.PT_CHARACTER_LITERAL__CHAR_VALUE:
- return charValue != CHAR_VALUE_EDEFAULT;
- }
- return eDynamicIsSet(eFeature);
- }
-
- public String toString() {
- return super.toString(); // Really want toString to be final at PTExpression, but EMF doesn't allow it.
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.impl.ExpressionImpl#accept0(org.eclipse.jem.internal.instantiation.ParseVisitor)
- */
- protected void accept0(ParseVisitor visitor) {
- visitor.visit(this);
- visitor.endVisit(this);
- }
-} //CharacterLiteralImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTClassInstanceCreationImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTClassInstanceCreationImpl.java
deleted file mode 100644
index 9763ffd04..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTClassInstanceCreationImpl.java
+++ /dev/null
@@ -1,231 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PTClassInstanceCreationImpl.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:36:09 $
- */
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.PTClassInstanceCreation;
-import org.eclipse.jem.internal.instantiation.PTExpression;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Class Instance Creation</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.instantiation.impl.PTClassInstanceCreationImpl#getType <em>Type</em>}</li>
- * <li>{@link org.eclipse.jem.internal.instantiation.impl.PTClassInstanceCreationImpl#getArguments <em>Arguments</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PTClassInstanceCreationImpl extends PTExpressionImpl implements PTClassInstanceCreation {
- /**
- * The default value of the '{@link #getType() <em>Type</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getType()
- * @generated
- * @ordered
- */
- protected static final String TYPE_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getType()
- * @generated
- * @ordered
- */
- protected String type = TYPE_EDEFAULT;
-
- /**
- * The cached value of the '{@link #getArguments() <em>Arguments</em>}' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getArguments()
- * @generated
- * @ordered
- */
- protected EList arguments = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected PTClassInstanceCreationImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return InstantiationPackage.eINSTANCE.getPTClassInstanceCreation();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getType() {
- return type;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setType(String newType) {
- String oldType = type;
- type = newType;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_CLASS_INSTANCE_CREATION__TYPE, oldType, type));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EList getArguments() {
- if (arguments == null) {
- arguments = new EObjectContainmentEList(PTExpression.class, this, InstantiationPackage.PT_CLASS_INSTANCE_CREATION__ARGUMENTS);
- }
- return arguments;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case InstantiationPackage.PT_CLASS_INSTANCE_CREATION__ARGUMENTS:
- return ((InternalEList)getArguments()).basicRemove(otherEnd, msgs);
- default:
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_CLASS_INSTANCE_CREATION__TYPE:
- return getType();
- case InstantiationPackage.PT_CLASS_INSTANCE_CREATION__ARGUMENTS:
- return getArguments();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_CLASS_INSTANCE_CREATION__TYPE:
- setType((String)newValue);
- return;
- case InstantiationPackage.PT_CLASS_INSTANCE_CREATION__ARGUMENTS:
- getArguments().clear();
- getArguments().addAll((Collection)newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_CLASS_INSTANCE_CREATION__TYPE:
- setType(TYPE_EDEFAULT);
- return;
- case InstantiationPackage.PT_CLASS_INSTANCE_CREATION__ARGUMENTS:
- getArguments().clear();
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_CLASS_INSTANCE_CREATION__TYPE:
- return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type);
- case InstantiationPackage.PT_CLASS_INSTANCE_CREATION__ARGUMENTS:
- return arguments != null && !arguments.isEmpty();
- }
- return eDynamicIsSet(eFeature);
- }
-
- public String toString() {
- return super.toString(); // Really want toString to be final at PTExpression, but EMF doesn't allow it.
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.impl.ExpressionImpl#accept0(org.eclipse.jem.internal.instantiation.ParseVisitor)
- */
- protected void accept0(ParseVisitor visitor) {
- boolean visitChildren = visitor.visit(this);
- if (visitChildren) {
- // visit children in normal left to right reading order
- acceptChildren(visitor, arguments);
- }
- visitor.endVisit(this);
- }
-} //ClassInstanceCreationImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTConditionalExpressionImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTConditionalExpressionImpl.java
deleted file mode 100644
index 36bef52ae..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTConditionalExpressionImpl.java
+++ /dev/null
@@ -1,333 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PTConditionalExpressionImpl.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:36:09 $
- */
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.PTConditionalExpression;
-import org.eclipse.jem.internal.instantiation.PTExpression;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Conditional Expression</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.instantiation.impl.PTConditionalExpressionImpl#getCondition <em>Condition</em>}</li>
- * <li>{@link org.eclipse.jem.internal.instantiation.impl.PTConditionalExpressionImpl#getTrue <em>True</em>}</li>
- * <li>{@link org.eclipse.jem.internal.instantiation.impl.PTConditionalExpressionImpl#getFalse <em>False</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PTConditionalExpressionImpl extends PTExpressionImpl implements PTConditionalExpression {
- /**
- * The cached value of the '{@link #getCondition() <em>Condition</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getCondition()
- * @generated
- * @ordered
- */
- protected PTExpression condition = null;
-
- /**
- * The cached value of the '{@link #getTrue() <em>True</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getTrue()
- * @generated
- * @ordered
- */
- protected PTExpression true_ = null;
-
- /**
- * The cached value of the '{@link #getFalse() <em>False</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getFalse()
- * @generated
- * @ordered
- */
- protected PTExpression false_ = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected PTConditionalExpressionImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return InstantiationPackage.eINSTANCE.getPTConditionalExpression();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public PTExpression getCondition() {
- return condition;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain basicSetCondition(PTExpression newCondition, NotificationChain msgs) {
- PTExpression oldCondition = condition;
- condition = newCondition;
- if (eNotificationRequired()) {
- ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_CONDITIONAL_EXPRESSION__CONDITION, oldCondition, newCondition);
- if (msgs == null) msgs = notification; else msgs.add(notification);
- }
- return msgs;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setCondition(PTExpression newCondition) {
- if (newCondition != condition) {
- NotificationChain msgs = null;
- if (condition != null)
- msgs = ((InternalEObject)condition).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_CONDITIONAL_EXPRESSION__CONDITION, null, msgs);
- if (newCondition != null)
- msgs = ((InternalEObject)newCondition).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_CONDITIONAL_EXPRESSION__CONDITION, null, msgs);
- msgs = basicSetCondition(newCondition, msgs);
- if (msgs != null) msgs.dispatch();
- }
- else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_CONDITIONAL_EXPRESSION__CONDITION, newCondition, newCondition));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public PTExpression getTrue() {
- return true_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain basicSetTrue(PTExpression newTrue, NotificationChain msgs) {
- PTExpression oldTrue = true_;
- true_ = newTrue;
- if (eNotificationRequired()) {
- ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_CONDITIONAL_EXPRESSION__TRUE, oldTrue, newTrue);
- if (msgs == null) msgs = notification; else msgs.add(notification);
- }
- return msgs;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setTrue(PTExpression newTrue) {
- if (newTrue != true_) {
- NotificationChain msgs = null;
- if (true_ != null)
- msgs = ((InternalEObject)true_).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_CONDITIONAL_EXPRESSION__TRUE, null, msgs);
- if (newTrue != null)
- msgs = ((InternalEObject)newTrue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_CONDITIONAL_EXPRESSION__TRUE, null, msgs);
- msgs = basicSetTrue(newTrue, msgs);
- if (msgs != null) msgs.dispatch();
- }
- else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_CONDITIONAL_EXPRESSION__TRUE, newTrue, newTrue));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public PTExpression getFalse() {
- return false_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain basicSetFalse(PTExpression newFalse, NotificationChain msgs) {
- PTExpression oldFalse = false_;
- false_ = newFalse;
- if (eNotificationRequired()) {
- ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_CONDITIONAL_EXPRESSION__FALSE, oldFalse, newFalse);
- if (msgs == null) msgs = notification; else msgs.add(notification);
- }
- return msgs;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setFalse(PTExpression newFalse) {
- if (newFalse != false_) {
- NotificationChain msgs = null;
- if (false_ != null)
- msgs = ((InternalEObject)false_).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_CONDITIONAL_EXPRESSION__FALSE, null, msgs);
- if (newFalse != null)
- msgs = ((InternalEObject)newFalse).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_CONDITIONAL_EXPRESSION__FALSE, null, msgs);
- msgs = basicSetFalse(newFalse, msgs);
- if (msgs != null) msgs.dispatch();
- }
- else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_CONDITIONAL_EXPRESSION__FALSE, newFalse, newFalse));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case InstantiationPackage.PT_CONDITIONAL_EXPRESSION__CONDITION:
- return basicSetCondition(null, msgs);
- case InstantiationPackage.PT_CONDITIONAL_EXPRESSION__TRUE:
- return basicSetTrue(null, msgs);
- case InstantiationPackage.PT_CONDITIONAL_EXPRESSION__FALSE:
- return basicSetFalse(null, msgs);
- default:
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_CONDITIONAL_EXPRESSION__CONDITION:
- return getCondition();
- case InstantiationPackage.PT_CONDITIONAL_EXPRESSION__TRUE:
- return getTrue();
- case InstantiationPackage.PT_CONDITIONAL_EXPRESSION__FALSE:
- return getFalse();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_CONDITIONAL_EXPRESSION__CONDITION:
- setCondition((PTExpression)newValue);
- return;
- case InstantiationPackage.PT_CONDITIONAL_EXPRESSION__TRUE:
- setTrue((PTExpression)newValue);
- return;
- case InstantiationPackage.PT_CONDITIONAL_EXPRESSION__FALSE:
- setFalse((PTExpression)newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_CONDITIONAL_EXPRESSION__CONDITION:
- setCondition((PTExpression)null);
- return;
- case InstantiationPackage.PT_CONDITIONAL_EXPRESSION__TRUE:
- setTrue((PTExpression)null);
- return;
- case InstantiationPackage.PT_CONDITIONAL_EXPRESSION__FALSE:
- setFalse((PTExpression)null);
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_CONDITIONAL_EXPRESSION__CONDITION:
- return condition != null;
- case InstantiationPackage.PT_CONDITIONAL_EXPRESSION__TRUE:
- return true_ != null;
- case InstantiationPackage.PT_CONDITIONAL_EXPRESSION__FALSE:
- return false_ != null;
- }
- return eDynamicIsSet(eFeature);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.impl.ExpressionImpl#accept0(org.eclipse.jem.internal.instantiation.ParseVisitor)
- */
- protected void accept0(ParseVisitor visitor) {
- boolean visitChildren = visitor.visit(this);
- if (visitChildren) {
- // visit children in normal left to right reading order
- acceptChild(visitor, getCondition());
- acceptChild(visitor, getTrue());
- acceptChild(visitor, getFalse());
- }
- visitor.endVisit(this);
- }
-
-} //ConditionalExpressionImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTExpressionImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTExpressionImpl.java
deleted file mode 100644
index a8e09d0cd..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTExpressionImpl.java
+++ /dev/null
@@ -1,168 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PTExpressionImpl.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:36:09 $
- */
-import java.util.List;
-
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.PTExpression;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Expression</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * </p>
- *
- * @generated
- */
-public abstract class PTExpressionImpl extends EObjectImpl implements PTExpression {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected PTExpressionImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return InstantiationPackage.eINSTANCE.getPTExpression();
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.Expression#accept(org.eclipse.jem.internal.instantiation.ParseVisitor)
- */
- public final void accept(ParseVisitor visitor) {
- if (visitor == null) {
- throw new IllegalArgumentException();
- }
- // begin with the generic pre-visit
- visitor.preVisit(this);
- // dynamic dispatch to internal method for type-specific visit/endVisit
- accept0(visitor);
- // end with the generic post-visit
- visitor.postVisit(this);
- }
-
- /**
- * Accepts the given visitor on a type-specific visit of the current node.
- * This method must be implemented in all concrete Expression node types.
- * <p>
- * General template for implementation on each concrete ASTNode class:
- * <pre>
- * <code>
- * boolean visitChildren = visitor.visit(this);
- * if (visitChildren) {
- * // visit children in normal left to right reading order
- * acceptChild(visitor, getProperty1());
- * acceptChildren(visitor, rawListProperty);
- * acceptChild(visitor, getProperty2());
- * }
- * visitor.endVisit(this);
- * </code>
- * </pre>
- * Note that the caller (<code>accept</code>) take cares of invoking
- * <code>visitor.preVisit(this)</code> and <code>visitor.postVisit(this)</code>.
- * </p>
- *
- * @param visitor the visitor object
- */
- protected abstract void accept0(ParseVisitor visitor);
-
- /**
- * Accepts the given visitor on a visit of the current node.
- * <p>
- * This method should be used by the concrete implementations of
- * <code>accept0</code> to traverse optional properties. Equivalent
- * to <code>child.accept(visitor)</code> if <code>child</code>
- * is not <code>null</code>.
- * </p>
- *
- * @param visitor the visitor object
- * @param child the child Expression node to dispatch too, or <code>null</code>
- * if none
- */
- protected final void acceptChild(ParseVisitor visitor, PTExpression child) {
- if (child == null) {
- return;
- }
- child.accept(visitor);
- }
-
- /**
- * Accepts the given visitor on a visit of the given live list of
- * child nodes.
- * @param visitor the visitor object
- * @param children the child Expression nodes to dispatch to, or <code>null</code> if none.
- */
- protected final void acceptChildren(ParseVisitor visitor, List children) {
- if (children != null) {
- int size = children.size();
- for (int i = 0; i < size; i++) {
- acceptChild(visitor, (PTExpression) children.get(i));
- }
- }
- }
-
- public String toString() {
- // allocate a buffer that is large enough to hold an average compilation unit
- StringBuffer buffer = new StringBuffer(6000);
- int p = buffer.length();
- try {
- appendDebugString(buffer);
- } catch (RuntimeException e) {
- // since debugger sometimes call toString methods, problems can easily happen when
- // toString is called on an instance that is being initialized
- buffer.setLength(p);
- buffer.append("!"); //$NON-NLS-1$
- buffer.append(standardToString());
- }
- // convert to a string, but lose the extra space in the string buffer by copying
- return buffer.toString();
- }
-
- protected final String standardToString() {
- return super.toString();
- }
-
- protected void appendDebugString(StringBuffer buffer) {
- // print the subtree by default
- appendPrintString(buffer);
- }
-
- /*
- * Appends a standard Java source code representation of this subtree to the given
- * string buffer.
- *
- * @param buffer the string buffer to append to
- */
- protected final void appendPrintString(StringBuffer buffer) {
- NaiveExpressionFlattener printer = new NaiveExpressionFlattener();
- this.accept(printer);
- buffer.append(printer.getResult());
- }
-
-} //ExpressionImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTFieldAccessImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTFieldAccessImpl.java
deleted file mode 100644
index 44af5f8da..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTFieldAccessImpl.java
+++ /dev/null
@@ -1,255 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PTFieldAccessImpl.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:36:09 $
- */
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.PTExpression;
-import org.eclipse.jem.internal.instantiation.PTFieldAccess;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Field Access</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.instantiation.impl.PTFieldAccessImpl#getReceiver <em>Receiver</em>}</li>
- * <li>{@link org.eclipse.jem.internal.instantiation.impl.PTFieldAccessImpl#getField <em>Field</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PTFieldAccessImpl extends PTExpressionImpl implements PTFieldAccess {
- /**
- * The cached value of the '{@link #getReceiver() <em>Receiver</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getReceiver()
- * @generated
- * @ordered
- */
- protected PTExpression receiver = null;
-
- /**
- * The default value of the '{@link #getField() <em>Field</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getField()
- * @generated
- * @ordered
- */
- protected static final String FIELD_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getField() <em>Field</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getField()
- * @generated
- * @ordered
- */
- protected String field = FIELD_EDEFAULT;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected PTFieldAccessImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return InstantiationPackage.eINSTANCE.getPTFieldAccess();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public PTExpression getReceiver() {
- return receiver;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain basicSetReceiver(PTExpression newReceiver, NotificationChain msgs) {
- PTExpression oldReceiver = receiver;
- receiver = newReceiver;
- if (eNotificationRequired()) {
- ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_FIELD_ACCESS__RECEIVER, oldReceiver, newReceiver);
- if (msgs == null) msgs = notification; else msgs.add(notification);
- }
- return msgs;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setReceiver(PTExpression newReceiver) {
- if (newReceiver != receiver) {
- NotificationChain msgs = null;
- if (receiver != null)
- msgs = ((InternalEObject)receiver).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_FIELD_ACCESS__RECEIVER, null, msgs);
- if (newReceiver != null)
- msgs = ((InternalEObject)newReceiver).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_FIELD_ACCESS__RECEIVER, null, msgs);
- msgs = basicSetReceiver(newReceiver, msgs);
- if (msgs != null) msgs.dispatch();
- }
- else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_FIELD_ACCESS__RECEIVER, newReceiver, newReceiver));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getField() {
- return field;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setField(String newField) {
- String oldField = field;
- field = newField;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_FIELD_ACCESS__FIELD, oldField, field));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case InstantiationPackage.PT_FIELD_ACCESS__RECEIVER:
- return basicSetReceiver(null, msgs);
- default:
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_FIELD_ACCESS__RECEIVER:
- return getReceiver();
- case InstantiationPackage.PT_FIELD_ACCESS__FIELD:
- return getField();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_FIELD_ACCESS__RECEIVER:
- setReceiver((PTExpression)newValue);
- return;
- case InstantiationPackage.PT_FIELD_ACCESS__FIELD:
- setField((String)newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_FIELD_ACCESS__RECEIVER:
- setReceiver((PTExpression)null);
- return;
- case InstantiationPackage.PT_FIELD_ACCESS__FIELD:
- setField(FIELD_EDEFAULT);
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_FIELD_ACCESS__RECEIVER:
- return receiver != null;
- case InstantiationPackage.PT_FIELD_ACCESS__FIELD:
- return FIELD_EDEFAULT == null ? field != null : !FIELD_EDEFAULT.equals(field);
- }
- return eDynamicIsSet(eFeature);
- }
-
- public String toString() {
- return super.toString(); // Really want toString to be final at PTExpression, but EMF doesn't allow it.
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.impl.ExpressionImpl#accept0(org.eclipse.jem.internal.instantiation.ParseVisitor)
- */
- protected void accept0(ParseVisitor visitor) {
- boolean visitChildren = visitor.visit(this);
- if (visitChildren) {
- // visit children in normal left to right reading order
- acceptChild(visitor, getReceiver());
- }
- visitor.endVisit(this);
- }
-
-} //FieldAccessImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTInfixExpressionImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTInfixExpressionImpl.java
deleted file mode 100644
index 3a05e8066..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTInfixExpressionImpl.java
+++ /dev/null
@@ -1,394 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PTInfixExpressionImpl.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:36:09 $
- */
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.PTExpression;
-import org.eclipse.jem.internal.instantiation.PTInfixExpression;
-import org.eclipse.jem.internal.instantiation.PTInfixOperator;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Infix Expression</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.instantiation.impl.PTInfixExpressionImpl#getLeftOperand <em>Left Operand</em>}</li>
- * <li>{@link org.eclipse.jem.internal.instantiation.impl.PTInfixExpressionImpl#getOperator <em>Operator</em>}</li>
- * <li>{@link org.eclipse.jem.internal.instantiation.impl.PTInfixExpressionImpl#getRightOperand <em>Right Operand</em>}</li>
- * <li>{@link org.eclipse.jem.internal.instantiation.impl.PTInfixExpressionImpl#getExtendedOperands <em>Extended Operands</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PTInfixExpressionImpl extends PTExpressionImpl implements PTInfixExpression {
- /**
- * The cached value of the '{@link #getLeftOperand() <em>Left Operand</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getLeftOperand()
- * @generated
- * @ordered
- */
- protected PTExpression leftOperand = null;
-
- /**
- * The default value of the '{@link #getOperator() <em>Operator</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getOperator()
- * @generated
- * @ordered
- */
- protected static final PTInfixOperator OPERATOR_EDEFAULT = PTInfixOperator.TIMES_LITERAL;
-
- /**
- * The cached value of the '{@link #getOperator() <em>Operator</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getOperator()
- * @generated
- * @ordered
- */
- protected PTInfixOperator operator = OPERATOR_EDEFAULT;
-
- /**
- * The cached value of the '{@link #getRightOperand() <em>Right Operand</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getRightOperand()
- * @generated
- * @ordered
- */
- protected PTExpression rightOperand = null;
-
- /**
- * The cached value of the '{@link #getExtendedOperands() <em>Extended Operands</em>}' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getExtendedOperands()
- * @generated
- * @ordered
- */
- protected EList extendedOperands = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected PTInfixExpressionImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return InstantiationPackage.eINSTANCE.getPTInfixExpression();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public PTExpression getLeftOperand() {
- return leftOperand;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain basicSetLeftOperand(PTExpression newLeftOperand, NotificationChain msgs) {
- PTExpression oldLeftOperand = leftOperand;
- leftOperand = newLeftOperand;
- if (eNotificationRequired()) {
- ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_INFIX_EXPRESSION__LEFT_OPERAND, oldLeftOperand, newLeftOperand);
- if (msgs == null) msgs = notification; else msgs.add(notification);
- }
- return msgs;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setLeftOperand(PTExpression newLeftOperand) {
- if (newLeftOperand != leftOperand) {
- NotificationChain msgs = null;
- if (leftOperand != null)
- msgs = ((InternalEObject)leftOperand).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_INFIX_EXPRESSION__LEFT_OPERAND, null, msgs);
- if (newLeftOperand != null)
- msgs = ((InternalEObject)newLeftOperand).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_INFIX_EXPRESSION__LEFT_OPERAND, null, msgs);
- msgs = basicSetLeftOperand(newLeftOperand, msgs);
- if (msgs != null) msgs.dispatch();
- }
- else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_INFIX_EXPRESSION__LEFT_OPERAND, newLeftOperand, newLeftOperand));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public PTInfixOperator getOperator() {
- return operator;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setOperator(PTInfixOperator newOperator) {
- PTInfixOperator oldOperator = operator;
- operator = newOperator == null ? OPERATOR_EDEFAULT : newOperator;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_INFIX_EXPRESSION__OPERATOR, oldOperator, operator));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public PTExpression getRightOperand() {
- return rightOperand;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain basicSetRightOperand(PTExpression newRightOperand, NotificationChain msgs) {
- PTExpression oldRightOperand = rightOperand;
- rightOperand = newRightOperand;
- if (eNotificationRequired()) {
- ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_INFIX_EXPRESSION__RIGHT_OPERAND, oldRightOperand, newRightOperand);
- if (msgs == null) msgs = notification; else msgs.add(notification);
- }
- return msgs;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setRightOperand(PTExpression newRightOperand) {
- if (newRightOperand != rightOperand) {
- NotificationChain msgs = null;
- if (rightOperand != null)
- msgs = ((InternalEObject)rightOperand).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_INFIX_EXPRESSION__RIGHT_OPERAND, null, msgs);
- if (newRightOperand != null)
- msgs = ((InternalEObject)newRightOperand).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_INFIX_EXPRESSION__RIGHT_OPERAND, null, msgs);
- msgs = basicSetRightOperand(newRightOperand, msgs);
- if (msgs != null) msgs.dispatch();
- }
- else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_INFIX_EXPRESSION__RIGHT_OPERAND, newRightOperand, newRightOperand));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EList getExtendedOperands() {
- if (extendedOperands == null) {
- extendedOperands = new EObjectContainmentEList(PTExpression.class, this, InstantiationPackage.PT_INFIX_EXPRESSION__EXTENDED_OPERANDS);
- }
- return extendedOperands;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case InstantiationPackage.PT_INFIX_EXPRESSION__LEFT_OPERAND:
- return basicSetLeftOperand(null, msgs);
- case InstantiationPackage.PT_INFIX_EXPRESSION__RIGHT_OPERAND:
- return basicSetRightOperand(null, msgs);
- case InstantiationPackage.PT_INFIX_EXPRESSION__EXTENDED_OPERANDS:
- return ((InternalEList)getExtendedOperands()).basicRemove(otherEnd, msgs);
- default:
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_INFIX_EXPRESSION__LEFT_OPERAND:
- return getLeftOperand();
- case InstantiationPackage.PT_INFIX_EXPRESSION__OPERATOR:
- return getOperator();
- case InstantiationPackage.PT_INFIX_EXPRESSION__RIGHT_OPERAND:
- return getRightOperand();
- case InstantiationPackage.PT_INFIX_EXPRESSION__EXTENDED_OPERANDS:
- return getExtendedOperands();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_INFIX_EXPRESSION__LEFT_OPERAND:
- setLeftOperand((PTExpression)newValue);
- return;
- case InstantiationPackage.PT_INFIX_EXPRESSION__OPERATOR:
- setOperator((PTInfixOperator)newValue);
- return;
- case InstantiationPackage.PT_INFIX_EXPRESSION__RIGHT_OPERAND:
- setRightOperand((PTExpression)newValue);
- return;
- case InstantiationPackage.PT_INFIX_EXPRESSION__EXTENDED_OPERANDS:
- getExtendedOperands().clear();
- getExtendedOperands().addAll((Collection)newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_INFIX_EXPRESSION__LEFT_OPERAND:
- setLeftOperand((PTExpression)null);
- return;
- case InstantiationPackage.PT_INFIX_EXPRESSION__OPERATOR:
- setOperator(OPERATOR_EDEFAULT);
- return;
- case InstantiationPackage.PT_INFIX_EXPRESSION__RIGHT_OPERAND:
- setRightOperand((PTExpression)null);
- return;
- case InstantiationPackage.PT_INFIX_EXPRESSION__EXTENDED_OPERANDS:
- getExtendedOperands().clear();
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_INFIX_EXPRESSION__LEFT_OPERAND:
- return leftOperand != null;
- case InstantiationPackage.PT_INFIX_EXPRESSION__OPERATOR:
- return operator != OPERATOR_EDEFAULT;
- case InstantiationPackage.PT_INFIX_EXPRESSION__RIGHT_OPERAND:
- return rightOperand != null;
- case InstantiationPackage.PT_INFIX_EXPRESSION__EXTENDED_OPERANDS:
- return extendedOperands != null && !extendedOperands.isEmpty();
- }
- return eDynamicIsSet(eFeature);
- }
-
- public String toString() {
- return super.toString(); // Really want toString to be final at PTExpression, but EMF doesn't allow it.
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.impl.ExpressionImpl#accept0(org.eclipse.jem.internal.instantiation.ParseVisitor)
- */
- protected void accept0(ParseVisitor visitor) {
- boolean visitChildren = visitor.visit(this);
- if (visitChildren) {
- // visit children in normal left to right reading order
- acceptChild(visitor, getLeftOperand());
- acceptChild(visitor, getRightOperand());
- acceptChildren(visitor, extendedOperands);
- }
- visitor.endVisit(this);
- }
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.PTInfixExpression#asCompressedExpression()
- */
- public PTExpression asCompressedExpression() {
- // If no left and no right
- if(getLeftOperand() == null && getRightOperand() != null){
- // no extends so just use the right operand
- if(getExtendedOperands().isEmpty()){
- return getRightOperand();
- } else {
- // The right becomes the new left
- setLeftOperand(getRightOperand());
- // The first operand becomes the right one
- setRightOperand((PTExpression) getExtendedOperands().remove(0));
- return this;
- }
- } else if (getRightOperand() == null && getLeftOperand() != null){
- // no extends so just use the left operand
- if(getExtendedOperands().isEmpty()){
- return getLeftOperand();
- } else {
- // The right becomes the first extended
- setRightOperand((PTExpression)getExtendedOperands().remove(0));
- return this;
- }
- }
- return this;
- }
-} //InfixExpressionImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTInstanceReferenceImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTInstanceReferenceImpl.java
deleted file mode 100644
index 811238e52..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTInstanceReferenceImpl.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * %W%
- * @version %I% %H%
- */
-package org.eclipse.jem.internal.instantiation.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.jem.internal.instantiation.*;
-
-import org.eclipse.jem.internal.instantiation.base.IJavaObjectInstance;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>PT Instance Reference</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.instantiation.impl.PTInstanceReferenceImpl#getObject <em>Object</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PTInstanceReferenceImpl extends PTExpressionImpl implements PTInstanceReference {
- /**
- * The cached value of the '{@link #getObject() <em>Object</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getObject()
- * @generated
- * @ordered
- */
- protected IJavaObjectInstance object = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected PTInstanceReferenceImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return InstantiationPackage.eINSTANCE.getPTInstanceReference();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public IJavaObjectInstance getObject() {
- if (object != null && object.eIsProxy()) {
- IJavaObjectInstance oldObject = object;
- object = (IJavaObjectInstance)eResolveProxy((InternalEObject)object);
- if (object != oldObject) {
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, InstantiationPackage.PT_INSTANCE_REFERENCE__OBJECT, oldObject, object));
- }
- }
- return object;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public IJavaObjectInstance basicGetObject() {
- return object;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setObject(IJavaObjectInstance newObject) {
- IJavaObjectInstance oldObject = object;
- object = newObject;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_INSTANCE_REFERENCE__OBJECT, oldObject, object));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_INSTANCE_REFERENCE__OBJECT:
- if (resolve) return getObject();
- return basicGetObject();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_INSTANCE_REFERENCE__OBJECT:
- setObject((IJavaObjectInstance)newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_INSTANCE_REFERENCE__OBJECT:
- setObject((IJavaObjectInstance)null);
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_INSTANCE_REFERENCE__OBJECT:
- return object != null;
- }
- return eDynamicIsSet(eFeature);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.impl.PTExpressionImpl#accept0(org.eclipse.jem.internal.instantiation.ParseVisitor)
- */
- protected void accept0(ParseVisitor visitor) {
- visitor.visit(this);
- visitor.endVisit(this);
- }
-
- public String toString() {
- return "InstanceRef{" + object + "}";
- }
-
-} //PTInstanceReferenceImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTInstanceofImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTInstanceofImpl.java
deleted file mode 100644
index 495ef70cd..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTInstanceofImpl.java
+++ /dev/null
@@ -1,255 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PTInstanceofImpl.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:36:09 $
- */
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.PTExpression;
-import org.eclipse.jem.internal.instantiation.PTInstanceof;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Instanceof</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.instantiation.impl.PTInstanceofImpl#getOperand <em>Operand</em>}</li>
- * <li>{@link org.eclipse.jem.internal.instantiation.impl.PTInstanceofImpl#getType <em>Type</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PTInstanceofImpl extends PTExpressionImpl implements PTInstanceof {
- /**
- * The cached value of the '{@link #getOperand() <em>Operand</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getOperand()
- * @generated
- * @ordered
- */
- protected PTExpression operand = null;
-
- /**
- * The default value of the '{@link #getType() <em>Type</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getType()
- * @generated
- * @ordered
- */
- protected static final String TYPE_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getType()
- * @generated
- * @ordered
- */
- protected String type = TYPE_EDEFAULT;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected PTInstanceofImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return InstantiationPackage.eINSTANCE.getPTInstanceof();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public PTExpression getOperand() {
- return operand;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain basicSetOperand(PTExpression newOperand, NotificationChain msgs) {
- PTExpression oldOperand = operand;
- operand = newOperand;
- if (eNotificationRequired()) {
- ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_INSTANCEOF__OPERAND, oldOperand, newOperand);
- if (msgs == null) msgs = notification; else msgs.add(notification);
- }
- return msgs;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setOperand(PTExpression newOperand) {
- if (newOperand != operand) {
- NotificationChain msgs = null;
- if (operand != null)
- msgs = ((InternalEObject)operand).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_INSTANCEOF__OPERAND, null, msgs);
- if (newOperand != null)
- msgs = ((InternalEObject)newOperand).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_INSTANCEOF__OPERAND, null, msgs);
- msgs = basicSetOperand(newOperand, msgs);
- if (msgs != null) msgs.dispatch();
- }
- else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_INSTANCEOF__OPERAND, newOperand, newOperand));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getType() {
- return type;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setType(String newType) {
- String oldType = type;
- type = newType;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_INSTANCEOF__TYPE, oldType, type));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case InstantiationPackage.PT_INSTANCEOF__OPERAND:
- return basicSetOperand(null, msgs);
- default:
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_INSTANCEOF__OPERAND:
- return getOperand();
- case InstantiationPackage.PT_INSTANCEOF__TYPE:
- return getType();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_INSTANCEOF__OPERAND:
- setOperand((PTExpression)newValue);
- return;
- case InstantiationPackage.PT_INSTANCEOF__TYPE:
- setType((String)newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_INSTANCEOF__OPERAND:
- setOperand((PTExpression)null);
- return;
- case InstantiationPackage.PT_INSTANCEOF__TYPE:
- setType(TYPE_EDEFAULT);
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_INSTANCEOF__OPERAND:
- return operand != null;
- case InstantiationPackage.PT_INSTANCEOF__TYPE:
- return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type);
- }
- return eDynamicIsSet(eFeature);
- }
-
- public String toString() {
- return super.toString(); // Really want toString to be final at PTExpression, but EMF doesn't allow it.
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.impl.ExpressionImpl#accept0(org.eclipse.jem.internal.instantiation.ParseVisitor)
- */
- protected void accept0(ParseVisitor visitor) {
- boolean visitChildren = visitor.visit(this);
- if (visitChildren) {
- // visit children in normal left to right reading order
- acceptChild(visitor, getOperand());
- }
- visitor.endVisit(this);
- }
-
-} //InstanceofImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTInvalidExpressionImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTInvalidExpressionImpl.java
deleted file mode 100644
index 0a3cb7a12..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTInvalidExpressionImpl.java
+++ /dev/null
@@ -1,166 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PTInvalidExpressionImpl.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:36:09 $
- */
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-import org.eclipse.jem.internal.instantiation.PTInvalidExpression;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Invalid Expression</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.instantiation.impl.PTInvalidExpressionImpl#getMessage <em>Message</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PTInvalidExpressionImpl extends PTExpressionImpl implements PTInvalidExpression {
- /**
- * The default value of the '{@link #getMessage() <em>Message</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getMessage()
- * @generated
- * @ordered
- */
- protected static final String MESSAGE_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getMessage() <em>Message</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getMessage()
- * @generated
- * @ordered
- */
- protected String message = MESSAGE_EDEFAULT;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected PTInvalidExpressionImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return InstantiationPackage.eINSTANCE.getPTInvalidExpression();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getMessage() {
- return message;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setMessage(String newMessage) {
- String oldMessage = message;
- message = newMessage;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_INVALID_EXPRESSION__MESSAGE, oldMessage, message));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_INVALID_EXPRESSION__MESSAGE:
- return getMessage();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_INVALID_EXPRESSION__MESSAGE:
- setMessage((String)newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_INVALID_EXPRESSION__MESSAGE:
- setMessage(MESSAGE_EDEFAULT);
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_INVALID_EXPRESSION__MESSAGE:
- return MESSAGE_EDEFAULT == null ? message != null : !MESSAGE_EDEFAULT.equals(message);
- }
- return eDynamicIsSet(eFeature);
- }
-
- public String toString() {
- return super.toString(); // Really want toString to be final at PTExpression, but EMF doesn't allow it.
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.impl.ExpressionImpl#accept0(org.eclipse.jem.internal.instantiation.ParseVisitor)
- */
- protected void accept0(ParseVisitor visitor) {
- visitor.visit(this);
- visitor.endVisit(this);
- }
-
-} //InvalidExpressionImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTMethodInvocationImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTMethodInvocationImpl.java
deleted file mode 100644
index 10eef4af9..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTMethodInvocationImpl.java
+++ /dev/null
@@ -1,298 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PTMethodInvocationImpl.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:36:09 $
- */
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.PTExpression;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-import org.eclipse.jem.internal.instantiation.PTMethodInvocation;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Method Invocation</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.instantiation.impl.PTMethodInvocationImpl#getReceiver <em>Receiver</em>}</li>
- * <li>{@link org.eclipse.jem.internal.instantiation.impl.PTMethodInvocationImpl#getName <em>Name</em>}</li>
- * <li>{@link org.eclipse.jem.internal.instantiation.impl.PTMethodInvocationImpl#getArguments <em>Arguments</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PTMethodInvocationImpl extends PTExpressionImpl implements PTMethodInvocation {
- /**
- * The cached value of the '{@link #getReceiver() <em>Receiver</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getReceiver()
- * @generated
- * @ordered
- */
- protected PTExpression receiver = null;
-
- /**
- * The default value of the '{@link #getName() <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getName()
- * @generated
- * @ordered
- */
- protected static final String NAME_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getName()
- * @generated
- * @ordered
- */
- protected String name = NAME_EDEFAULT;
-
- /**
- * The cached value of the '{@link #getArguments() <em>Arguments</em>}' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getArguments()
- * @generated
- * @ordered
- */
- protected EList arguments = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected PTMethodInvocationImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return InstantiationPackage.eINSTANCE.getPTMethodInvocation();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public PTExpression getReceiver() {
- return receiver;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain basicSetReceiver(PTExpression newReceiver, NotificationChain msgs) {
- PTExpression oldReceiver = receiver;
- receiver = newReceiver;
- if (eNotificationRequired()) {
- ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_METHOD_INVOCATION__RECEIVER, oldReceiver, newReceiver);
- if (msgs == null) msgs = notification; else msgs.add(notification);
- }
- return msgs;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setReceiver(PTExpression newReceiver) {
- if (newReceiver != receiver) {
- NotificationChain msgs = null;
- if (receiver != null)
- msgs = ((InternalEObject)receiver).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_METHOD_INVOCATION__RECEIVER, null, msgs);
- if (newReceiver != null)
- msgs = ((InternalEObject)newReceiver).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_METHOD_INVOCATION__RECEIVER, null, msgs);
- msgs = basicSetReceiver(newReceiver, msgs);
- if (msgs != null) msgs.dispatch();
- }
- else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_METHOD_INVOCATION__RECEIVER, newReceiver, newReceiver));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getName() {
- return name;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setName(String newName) {
- String oldName = name;
- name = newName;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_METHOD_INVOCATION__NAME, oldName, name));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EList getArguments() {
- if (arguments == null) {
- arguments = new EObjectContainmentEList(PTExpression.class, this, InstantiationPackage.PT_METHOD_INVOCATION__ARGUMENTS);
- }
- return arguments;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case InstantiationPackage.PT_METHOD_INVOCATION__RECEIVER:
- return basicSetReceiver(null, msgs);
- case InstantiationPackage.PT_METHOD_INVOCATION__ARGUMENTS:
- return ((InternalEList)getArguments()).basicRemove(otherEnd, msgs);
- default:
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_METHOD_INVOCATION__RECEIVER:
- return getReceiver();
- case InstantiationPackage.PT_METHOD_INVOCATION__NAME:
- return getName();
- case InstantiationPackage.PT_METHOD_INVOCATION__ARGUMENTS:
- return getArguments();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_METHOD_INVOCATION__RECEIVER:
- setReceiver((PTExpression)newValue);
- return;
- case InstantiationPackage.PT_METHOD_INVOCATION__NAME:
- setName((String)newValue);
- return;
- case InstantiationPackage.PT_METHOD_INVOCATION__ARGUMENTS:
- getArguments().clear();
- getArguments().addAll((Collection)newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_METHOD_INVOCATION__RECEIVER:
- setReceiver((PTExpression)null);
- return;
- case InstantiationPackage.PT_METHOD_INVOCATION__NAME:
- setName(NAME_EDEFAULT);
- return;
- case InstantiationPackage.PT_METHOD_INVOCATION__ARGUMENTS:
- getArguments().clear();
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_METHOD_INVOCATION__RECEIVER:
- return receiver != null;
- case InstantiationPackage.PT_METHOD_INVOCATION__NAME:
- return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
- case InstantiationPackage.PT_METHOD_INVOCATION__ARGUMENTS:
- return arguments != null && !arguments.isEmpty();
- }
- return eDynamicIsSet(eFeature);
- }
-
- public String toString() {
- return super.toString(); // Really want toString to be final at PTExpression, but EMF doesn't allow it.
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.impl.ExpressionImpl#accept0(org.eclipse.jem.internal.instantiation.ParseVisitor)
- */
- protected void accept0(ParseVisitor visitor) {
- boolean visitChildren = visitor.visit(this);
- if (visitChildren) {
- // visit children in normal left to right reading order
- acceptChild(visitor, getReceiver());
- acceptChildren(visitor, arguments);
- }
- visitor.endVisit(this);
- }
-} //MethodInvocationImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTNameImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTNameImpl.java
deleted file mode 100644
index f037950aa..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTNameImpl.java
+++ /dev/null
@@ -1,167 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PTNameImpl.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:36:09 $
- */
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-import org.eclipse.jem.internal.instantiation.PTName;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Name</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.instantiation.impl.PTNameImpl#getName <em>Name</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PTNameImpl extends PTExpressionImpl implements PTName {
- /**
- * The default value of the '{@link #getName() <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getName()
- * @generated
- * @ordered
- */
- protected static final String NAME_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getName()
- * @generated
- * @ordered
- */
- protected String name = NAME_EDEFAULT;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected PTNameImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return InstantiationPackage.eINSTANCE.getPTName();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getName() {
- return name;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setName(String newName) {
- String oldName = name;
- name = newName;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_NAME__NAME, oldName, name));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_NAME__NAME:
- return getName();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_NAME__NAME:
- setName((String)newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_NAME__NAME:
- setName(NAME_EDEFAULT);
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_NAME__NAME:
- return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
- }
- return eDynamicIsSet(eFeature);
- }
-
- public String toString() {
- return super.toString(); // Really want toString to be final at PTExpression, but EMF doesn't allow it.
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.impl.ExpressionImpl#accept0(org.eclipse.jem.internal.instantiation.ParseVisitor)
- */
- protected void accept0(ParseVisitor visitor) {
- visitor.visit(this);
- visitor.endVisit(this);
- }
-
-} //NameImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTNullLiteralImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTNullLiteralImpl.java
deleted file mode 100644
index ec77d1049..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTNullLiteralImpl.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PTNullLiteralImpl.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:36:09 $
- */
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-import org.eclipse.jem.internal.instantiation.PTNullLiteral;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Null Literal</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * </p>
- *
- * @generated
- */
-public class PTNullLiteralImpl extends PTExpressionImpl implements PTNullLiteral {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected PTNullLiteralImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return InstantiationPackage.eINSTANCE.getPTNullLiteral();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.impl.ExpressionImpl#accept0(org.eclipse.jem.internal.instantiation.ParseVisitor)
- */
- protected void accept0(ParseVisitor visitor) {
- visitor.visit(this);
- visitor.endVisit(this);
- }
-
-} //NullLiteralImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTNumberLiteralImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTNumberLiteralImpl.java
deleted file mode 100644
index 52b4c6f17..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTNumberLiteralImpl.java
+++ /dev/null
@@ -1,176 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PTNumberLiteralImpl.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:36:09 $
- */
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-import org.eclipse.jem.internal.instantiation.PTNumberLiteral;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Number Literal</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.instantiation.impl.PTNumberLiteralImpl#getToken <em>Token</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PTNumberLiteralImpl extends PTExpressionImpl implements PTNumberLiteral {
- /**
- * The default value of the '{@link #getToken() <em>Token</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getToken()
- * @generated
- * @ordered
- */
- protected static final String TOKEN_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getToken() <em>Token</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getToken()
- * @generated
- * @ordered
- */
- protected String token = TOKEN_EDEFAULT;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected PTNumberLiteralImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return InstantiationPackage.eINSTANCE.getPTNumberLiteral();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getToken() {
- return token;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setToken(String newToken) {
- String oldToken = token;
- token = newToken;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_NUMBER_LITERAL__TOKEN, oldToken, token));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_NUMBER_LITERAL__TOKEN:
- return getToken();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_NUMBER_LITERAL__TOKEN:
- setToken((String)newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_NUMBER_LITERAL__TOKEN:
- setToken(TOKEN_EDEFAULT);
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_NUMBER_LITERAL__TOKEN:
- return TOKEN_EDEFAULT == null ? token != null : !TOKEN_EDEFAULT.equals(token);
- }
- return eDynamicIsSet(eFeature);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String toString() {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (token: ");
- result.append(token);
- result.append(')');
- return result.toString();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.impl.ExpressionImpl#accept0(org.eclipse.jem.internal.instantiation.ParseVisitor)
- */
- protected void accept0(ParseVisitor visitor) {
- visitor.visit(this);
- visitor.endVisit(this);
- }
-} //NumberLiteralImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTParenthesizedExpressionImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTParenthesizedExpressionImpl.java
deleted file mode 100644
index b06880e7e..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTParenthesizedExpressionImpl.java
+++ /dev/null
@@ -1,198 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PTParenthesizedExpressionImpl.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:36:09 $
- */
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.PTExpression;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-import org.eclipse.jem.internal.instantiation.PTParenthesizedExpression;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Parenthesized Expression</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.instantiation.impl.PTParenthesizedExpressionImpl#getExpression <em>Expression</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PTParenthesizedExpressionImpl extends PTExpressionImpl implements PTParenthesizedExpression {
- /**
- * The cached value of the '{@link #getExpression() <em>Expression</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getExpression()
- * @generated
- * @ordered
- */
- protected PTExpression expression = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected PTParenthesizedExpressionImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return InstantiationPackage.eINSTANCE.getPTParenthesizedExpression();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public PTExpression getExpression() {
- return expression;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain basicSetExpression(PTExpression newExpression, NotificationChain msgs) {
- PTExpression oldExpression = expression;
- expression = newExpression;
- if (eNotificationRequired()) {
- ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_PARENTHESIZED_EXPRESSION__EXPRESSION, oldExpression, newExpression);
- if (msgs == null) msgs = notification; else msgs.add(notification);
- }
- return msgs;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setExpression(PTExpression newExpression) {
- if (newExpression != expression) {
- NotificationChain msgs = null;
- if (expression != null)
- msgs = ((InternalEObject)expression).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_PARENTHESIZED_EXPRESSION__EXPRESSION, null, msgs);
- if (newExpression != null)
- msgs = ((InternalEObject)newExpression).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_PARENTHESIZED_EXPRESSION__EXPRESSION, null, msgs);
- msgs = basicSetExpression(newExpression, msgs);
- if (msgs != null) msgs.dispatch();
- }
- else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_PARENTHESIZED_EXPRESSION__EXPRESSION, newExpression, newExpression));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case InstantiationPackage.PT_PARENTHESIZED_EXPRESSION__EXPRESSION:
- return basicSetExpression(null, msgs);
- default:
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_PARENTHESIZED_EXPRESSION__EXPRESSION:
- return getExpression();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_PARENTHESIZED_EXPRESSION__EXPRESSION:
- setExpression((PTExpression)newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_PARENTHESIZED_EXPRESSION__EXPRESSION:
- setExpression((PTExpression)null);
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_PARENTHESIZED_EXPRESSION__EXPRESSION:
- return expression != null;
- }
- return eDynamicIsSet(eFeature);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.impl.ExpressionImpl#accept0(org.eclipse.jem.internal.instantiation.ParseVisitor)
- */
- protected void accept0(ParseVisitor visitor) {
- boolean visitChildren = visitor.visit(this);
- if (visitChildren) {
- acceptChild(visitor, getExpression());
- }
- visitor.endVisit(this);
- }
-
-} //ParenthesizedExpressionImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTPrefixExpressionImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTPrefixExpressionImpl.java
deleted file mode 100644
index 2b527e1af..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTPrefixExpressionImpl.java
+++ /dev/null
@@ -1,256 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PTPrefixExpressionImpl.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:36:09 $
- */
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.PTExpression;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-import org.eclipse.jem.internal.instantiation.PTPrefixExpression;
-import org.eclipse.jem.internal.instantiation.PTPrefixOperator;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Prefix Expression</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.instantiation.impl.PTPrefixExpressionImpl#getOperator <em>Operator</em>}</li>
- * <li>{@link org.eclipse.jem.internal.instantiation.impl.PTPrefixExpressionImpl#getExpression <em>Expression</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PTPrefixExpressionImpl extends PTExpressionImpl implements PTPrefixExpression {
- /**
- * The default value of the '{@link #getOperator() <em>Operator</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getOperator()
- * @generated
- * @ordered
- */
- protected static final PTPrefixOperator OPERATOR_EDEFAULT = PTPrefixOperator.PLUS_LITERAL;
-
- /**
- * The cached value of the '{@link #getOperator() <em>Operator</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getOperator()
- * @generated
- * @ordered
- */
- protected PTPrefixOperator operator = OPERATOR_EDEFAULT;
-
- /**
- * The cached value of the '{@link #getExpression() <em>Expression</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getExpression()
- * @generated
- * @ordered
- */
- protected PTExpression expression = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected PTPrefixExpressionImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return InstantiationPackage.eINSTANCE.getPTPrefixExpression();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public PTPrefixOperator getOperator() {
- return operator;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setOperator(PTPrefixOperator newOperator) {
- PTPrefixOperator oldOperator = operator;
- operator = newOperator == null ? OPERATOR_EDEFAULT : newOperator;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_PREFIX_EXPRESSION__OPERATOR, oldOperator, operator));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public PTExpression getExpression() {
- return expression;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain basicSetExpression(PTExpression newExpression, NotificationChain msgs) {
- PTExpression oldExpression = expression;
- expression = newExpression;
- if (eNotificationRequired()) {
- ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_PREFIX_EXPRESSION__EXPRESSION, oldExpression, newExpression);
- if (msgs == null) msgs = notification; else msgs.add(notification);
- }
- return msgs;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setExpression(PTExpression newExpression) {
- if (newExpression != expression) {
- NotificationChain msgs = null;
- if (expression != null)
- msgs = ((InternalEObject)expression).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_PREFIX_EXPRESSION__EXPRESSION, null, msgs);
- if (newExpression != null)
- msgs = ((InternalEObject)newExpression).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_PREFIX_EXPRESSION__EXPRESSION, null, msgs);
- msgs = basicSetExpression(newExpression, msgs);
- if (msgs != null) msgs.dispatch();
- }
- else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_PREFIX_EXPRESSION__EXPRESSION, newExpression, newExpression));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case InstantiationPackage.PT_PREFIX_EXPRESSION__EXPRESSION:
- return basicSetExpression(null, msgs);
- default:
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_PREFIX_EXPRESSION__OPERATOR:
- return getOperator();
- case InstantiationPackage.PT_PREFIX_EXPRESSION__EXPRESSION:
- return getExpression();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_PREFIX_EXPRESSION__OPERATOR:
- setOperator((PTPrefixOperator)newValue);
- return;
- case InstantiationPackage.PT_PREFIX_EXPRESSION__EXPRESSION:
- setExpression((PTExpression)newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_PREFIX_EXPRESSION__OPERATOR:
- setOperator(OPERATOR_EDEFAULT);
- return;
- case InstantiationPackage.PT_PREFIX_EXPRESSION__EXPRESSION:
- setExpression((PTExpression)null);
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_PREFIX_EXPRESSION__OPERATOR:
- return operator != OPERATOR_EDEFAULT;
- case InstantiationPackage.PT_PREFIX_EXPRESSION__EXPRESSION:
- return expression != null;
- }
- return eDynamicIsSet(eFeature);
- }
-
- public String toString() {
- return super.toString(); // Really want toString to be final at PTExpression, but EMF doesn't allow it.
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.impl.ExpressionImpl#accept0(org.eclipse.jem.internal.instantiation.ParseVisitor)
- */
- protected void accept0(ParseVisitor visitor) {
- boolean visitChildren = visitor.visit(this);
- if (visitChildren) {
- // visit children in normal left to right reading order
- acceptChild(visitor, getExpression());
- }
- visitor.endVisit(this);
- }
-
-} //PrefixExpressionImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTStringLiteralImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTStringLiteralImpl.java
deleted file mode 100644
index 43ab6f8fc..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTStringLiteralImpl.java
+++ /dev/null
@@ -1,286 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PTStringLiteralImpl.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:36:09 $
- */
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-import org.eclipse.jem.internal.instantiation.PTStringLiteral;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>String Literal</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.instantiation.impl.PTStringLiteralImpl#getEscapedValue <em>Escaped Value</em>}</li>
- * <li>{@link org.eclipse.jem.internal.instantiation.impl.PTStringLiteralImpl#getLiteralValue <em>Literal Value</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PTStringLiteralImpl extends PTExpressionImpl implements PTStringLiteral {
- /**
- * The default value of the '{@link #getEscapedValue() <em>Escaped Value</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getEscapedValue()
- * @generated
- * @ordered
- */
- protected static final String ESCAPED_VALUE_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getEscapedValue() <em>Escaped Value</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getEscapedValue()
- * @generated
- * @ordered
- */
- protected String escapedValue = ESCAPED_VALUE_EDEFAULT;
-
- /**
- * The default value of the '{@link #getLiteralValue() <em>Literal Value</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getLiteralValue()
- * @generated
- * @ordered
- */
- protected static final String LITERAL_VALUE_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getLiteralValue() <em>Literal Value</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getLiteralValue()
- * @generated
- * @ordered
- */
- protected String literalValue = LITERAL_VALUE_EDEFAULT;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected PTStringLiteralImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return InstantiationPackage.eINSTANCE.getPTStringLiteral();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getEscapedValue() {
- return escapedValue;
- }
-
- public void setEscapedValue(String newEscapedValue) {
- stringLiteralSet = false;
- setLiteralValueGen(LITERAL_VALUE_EDEFAULT);
- setEscapedValueGen(newEscapedValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setEscapedValueGen(String newEscapedValue) {
- String oldEscapedValue = escapedValue;
- escapedValue = newEscapedValue;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_STRING_LITERAL__ESCAPED_VALUE, oldEscapedValue, escapedValue));
- }
-
- private boolean stringLiteralSet;
-
- public String getLiteralValue() {
- if (!stringLiteralSet && escapedValue != ESCAPED_VALUE_EDEFAULT) {
- String s = getEscapedValue();
- int len = s.length();
- if (len < 2 || s.charAt(0) != '\"' || s.charAt(len-1) != '\"' ) {
- throw new IllegalArgumentException();
- }
-
- StringBuffer buffer = new StringBuffer(len);
- int stop = len-1;
- for (int i = 1; i < stop; i++) {
- char ati = s.charAt(i);
- if (ati == '\\') {
- if (++i < stop) {
- ati = s.charAt(i);
- if (ati == 'u') {
- int c1 = 0, c2 = 0, c3 = 0, c4 = 0;
- if (i+4 >= stop
- || (c1 = Character.getNumericValue(s.charAt(++i))) > 15
- || c1 < 0
- || (c2 = Character.getNumericValue(s.charAt(++i))) > 15
- || c2 < 0
- || (c3 = Character.getNumericValue(s.charAt(++i))) > 15
- || c3 < 0
- || (c4 = Character.getNumericValue(s.charAt(++i))) > 15
- || c4 < 0){
- throw new IllegalArgumentException("illegal string literal");//$NON-NLS-1$
- } else
- buffer.append((char) (((c1 * 16 + c2) * 16 + c3) * 16 + c4));
- } else
- buffer.append(PTCharacterLiteralImpl.getCharEscaped(ati));
- } else
- throw new IllegalArgumentException("illegal string literal");//$NON-NLS-1$
- } else
- buffer.append(ati);
- }
-
- stringLiteralSet = true;
- setLiteralValueGen(buffer.toString());
- }
-
- return getLiteralValueGen();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getLiteralValueGen() {
- return literalValue;
- }
-
- public void setLiteralValue(String newLiteralValue) {
- stringLiteralSet = true;
- setLiteralValueGen(newLiteralValue);
-
- StringBuffer b = new StringBuffer(newLiteralValue.length()+2);
- b.append('\"'); // opening delimiter
- int stop = newLiteralValue.length();
- for (int i = 0; i < stop; i++) {
- PTCharacterLiteralImpl.appendCharacter(newLiteralValue.charAt(i), b);
- }
- b.append('\"'); // closing delimiter
- setEscapedValueGen(b.toString());
-
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setLiteralValueGen(String newLiteralValue) {
- String oldLiteralValue = literalValue;
- literalValue = newLiteralValue;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_STRING_LITERAL__LITERAL_VALUE, oldLiteralValue, literalValue));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_STRING_LITERAL__ESCAPED_VALUE:
- return getEscapedValue();
- case InstantiationPackage.PT_STRING_LITERAL__LITERAL_VALUE:
- return getLiteralValue();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_STRING_LITERAL__ESCAPED_VALUE:
- setEscapedValue((String)newValue);
- return;
- case InstantiationPackage.PT_STRING_LITERAL__LITERAL_VALUE:
- setLiteralValue((String)newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_STRING_LITERAL__ESCAPED_VALUE:
- setEscapedValue(ESCAPED_VALUE_EDEFAULT);
- return;
- case InstantiationPackage.PT_STRING_LITERAL__LITERAL_VALUE:
- setLiteralValue(LITERAL_VALUE_EDEFAULT);
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_STRING_LITERAL__ESCAPED_VALUE:
- return ESCAPED_VALUE_EDEFAULT == null ? escapedValue != null : !ESCAPED_VALUE_EDEFAULT.equals(escapedValue);
- case InstantiationPackage.PT_STRING_LITERAL__LITERAL_VALUE:
- return LITERAL_VALUE_EDEFAULT == null ? literalValue != null : !LITERAL_VALUE_EDEFAULT.equals(literalValue);
- }
- return eDynamicIsSet(eFeature);
- }
-
- public String toString() {
- return super.toString(); // Really want toString to be final at PTExpression, but EMF doesn't allow it.
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.impl.ExpressionImpl#accept0(org.eclipse.jem.internal.instantiation.ParseVisitor)
- */
- protected void accept0(ParseVisitor visitor) {
- visitor.visit(this);
- visitor.endVisit(this);
- }
-
-} //StringLiteralImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTThisLiteralImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTThisLiteralImpl.java
deleted file mode 100644
index fc9698321..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTThisLiteralImpl.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PTThisLiteralImpl.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:36:09 $
- */
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-import org.eclipse.jem.internal.instantiation.PTThisLiteral;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>This Literal</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * </p>
- *
- * @generated
- */
-public class PTThisLiteralImpl extends PTExpressionImpl implements PTThisLiteral {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected PTThisLiteralImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return InstantiationPackage.eINSTANCE.getPTThisLiteral();
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.impl.ExpressionImpl#accept0(org.eclipse.jem.internal.instantiation.ParseVisitor)
- */
- protected void accept0(ParseVisitor visitor) {
- visitor.visit(this);
- visitor.endVisit(this);
- }
-
-} //ThisLiteralImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTTypeLiteralImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTTypeLiteralImpl.java
deleted file mode 100644
index 62d2b237e..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTTypeLiteralImpl.java
+++ /dev/null
@@ -1,166 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: PTTypeLiteralImpl.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:36:09 $
- */
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-import org.eclipse.jem.internal.instantiation.PTTypeLiteral;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Type Literal</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.instantiation.impl.PTTypeLiteralImpl#getType <em>Type</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PTTypeLiteralImpl extends PTExpressionImpl implements PTTypeLiteral {
- /**
- * The default value of the '{@link #getType() <em>Type</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getType()
- * @generated
- * @ordered
- */
- protected static final String TYPE_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getType()
- * @generated
- * @ordered
- */
- protected String type = TYPE_EDEFAULT;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected PTTypeLiteralImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return InstantiationPackage.eINSTANCE.getPTTypeLiteral();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getType() {
- return type;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setType(String newType) {
- String oldType = type;
- type = newType;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_TYPE_LITERAL__TYPE, oldType, type));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_TYPE_LITERAL__TYPE:
- return getType();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_TYPE_LITERAL__TYPE:
- setType((String)newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_TYPE_LITERAL__TYPE:
- setType(TYPE_EDEFAULT);
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PT_TYPE_LITERAL__TYPE:
- return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type);
- }
- return eDynamicIsSet(eFeature);
- }
-
- public String toString() {
- return super.toString(); // Really want toString to be final at PTExpression, but EMF doesn't allow it.
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.instantiation.impl.ExpressionImpl#accept0(org.eclipse.jem.internal.instantiation.ParseVisitor)
- */
- protected void accept0(ParseVisitor visitor) {
- visitor.visit(this);
- visitor.endVisit(this);
- }
-} //TypeLiteralImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/ParseTreeAllocationImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/ParseTreeAllocationImpl.java
deleted file mode 100644
index bd7c97e13..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/ParseTreeAllocationImpl.java
+++ /dev/null
@@ -1,193 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: ParseTreeAllocationImpl.java,v $
- * $Revision: 1.3 $ $Date: 2005/02/15 22:36:09 $
- */
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.jem.internal.instantiation.PTExpression;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-import org.eclipse.jem.internal.instantiation.ParseTreeAllocation;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Parse Tree Allocation</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.instantiation.impl.ParseTreeAllocationImpl#getExpression <em>Expression</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class ParseTreeAllocationImpl extends JavaAllocationImpl implements ParseTreeAllocation {
- /**
- * The cached value of the '{@link #getExpression() <em>Expression</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getExpression()
- * @generated
- * @ordered
- */
- protected PTExpression expression = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected ParseTreeAllocationImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return InstantiationPackage.eINSTANCE.getParseTreeAllocation();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public PTExpression getExpression() {
- return expression;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain basicSetExpression(PTExpression newExpression, NotificationChain msgs) {
- PTExpression oldExpression = expression;
- expression = newExpression;
- if (eNotificationRequired()) {
- ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, InstantiationPackage.PARSE_TREE_ALLOCATION__EXPRESSION, oldExpression, newExpression);
- if (msgs == null) msgs = notification; else msgs.add(notification);
- }
- return msgs;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setExpression(PTExpression newExpression) {
- if (newExpression != expression) {
- NotificationChain msgs = null;
- if (expression != null)
- msgs = ((InternalEObject)expression).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PARSE_TREE_ALLOCATION__EXPRESSION, null, msgs);
- if (newExpression != null)
- msgs = ((InternalEObject)newExpression).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PARSE_TREE_ALLOCATION__EXPRESSION, null, msgs);
- msgs = basicSetExpression(newExpression, msgs);
- if (msgs != null) msgs.dispatch();
- }
- else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PARSE_TREE_ALLOCATION__EXPRESSION, newExpression, newExpression));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case InstantiationPackage.PARSE_TREE_ALLOCATION__EXPRESSION:
- return basicSetExpression(null, msgs);
- default:
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PARSE_TREE_ALLOCATION__EXPRESSION:
- return getExpression();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PARSE_TREE_ALLOCATION__EXPRESSION:
- setExpression((PTExpression)newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PARSE_TREE_ALLOCATION__EXPRESSION:
- setExpression((PTExpression)null);
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case InstantiationPackage.PARSE_TREE_ALLOCATION__EXPRESSION:
- return expression != null;
- }
- return eDynamicIsSet(eFeature);
- }
-
- /* (non-Javadoc)
- * @see java.lang.Object#toString()
- */
- public String toString() {
- return getExpression() != null ? getExpression().toString() : super.toString();
- }
-
-} //ParseTreeAllocationImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/messages.properties b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/messages.properties
deleted file mode 100644
index 4300c41bd..000000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/messages.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 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
-###############################################################################
-NaiveExpressionFlattener_InvalidExpression= invalid: "{0}"
diff --git a/plugins/org.eclipse.jem/model/instance.ecore b/plugins/org.eclipse.jem/model/instance.ecore
deleted file mode 100644
index 653e729ec..000000000
--- a/plugins/org.eclipse.jem/model/instance.ecore
+++ /dev/null
@@ -1,482 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<ecore:EPackage xmi:version="2.0"
- xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="instantiation"
- nsURI="http:///org/eclipse/jem/internal/instantiation.ecore" nsPrefix="org.eclipse.jem.internal.instantiation">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Java Instantiation Package"/>
- </eAnnotations>
- <eClassifiers xsi:type="ecore:EClass" name="IJavaDataTypeInstance" instanceClassName="org.eclipse.jem.internal.instantiation.base.IJavaDataTypeInstance"
- abstract="true" interface="true" eSuperTypes="#//IJavaInstance"/>
- <eClassifiers xsi:type="ecore:EClass" name="IJavaInstance" instanceClassName="org.eclipse.jem.internal.instantiation.base.IJavaInstance"
- abstract="true" interface="true"/>
- <eClassifiers xsi:type="ecore:EClass" name="IJavaObjectInstance" instanceClassName="org.eclipse.jem.internal.instantiation.base.IJavaObjectInstance"
- abstract="true" interface="true" eSuperTypes="#//IJavaInstance">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="This interface is the instance of an java object in the java model."/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="JavaAllocation" abstract="true">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="This class is the abstract base class of the allocation class. It is the value of the &quot;allocation&quot; property on a Java Object so that the actual allocation can be controlled. For example, there could be one for just init string, or one for serialized."/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="InitStringAllocation" eSuperTypes="#//JavaAllocation">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="This is used when the allocation string can be parsed by the remote vm. It uses the allocString."/>
- </eAnnotations>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="initString" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="This is the initialization string for this object."/>
- </eAnnotations>
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ImplicitAllocation" eSuperTypes="#//JavaAllocation">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="This class is for an implicit allocation where the object comes from the feature of another object. It is the live Java value from the remote vm."/>
- </eAnnotations>
- <eStructuralFeatures xsi:type="ecore:EReference" name="parent" lowerBound="1"
- eType="ecore:EClass ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EObject"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="feature" lowerBound="1"
- eType="ecore:EClass ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EStructuralFeature"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ParseTreeAllocation" eSuperTypes="#//JavaAllocation">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Allocations via Parse Trees."/>
- </eAnnotations>
- <eStructuralFeatures xsi:type="ecore:EReference" name="expression" lowerBound="1"
- eType="#//PTExpression" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PTExpression" abstract="true"/>
- <eClassifiers xsi:type="ecore:EClass" name="PTArrayAccess" eSuperTypes="#//PTExpression">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Array access. e.g. x[3]. &#xD;&#xA;&#xD;&#xA;Unlike AST, the entire expression of type x[3][4] will be done in one expression rather than having a separate ArrayAccess for each dimension. This is just a simplification. This can only be used if it is a simple array access where it is of the form {expression}[expression][expression]."/>
- </eAnnotations>
- <eStructuralFeatures xsi:type="ecore:EReference" name="array" eType="#//PTExpression"
- containment="true">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="The expression representing the array to access."/>
- </eAnnotations>
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="indexes" lowerBound="1"
- upperBound="-1" eType="#//PTExpression" containment="true">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="The expressions representing the indexes of the access."/>
- </eAnnotations>
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PTArrayCreation" eSuperTypes="#//PTExpression">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Array Creation expression, e.g. new int[3] or new java.langString[][] {{&quot;a&quot;}, {&quot;b&quot;}}"/>
- </eAnnotations>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="The fully-qualified type, e.g. int[][] or java.lang.String[], including the number of dimension brackets."/>
- </eAnnotations>
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="dimensions" upperBound="-1"
- eType="#//PTExpression" containment="true">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="The list of expressions for the dimensions. You can have [3][4][] but [][33] is invalid. So for each dimension that has an expression, there will be an entry in the list, in the correct order. When you reach the empty dimensions, the list will end too. "/>
- </eAnnotations>
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="initializer" eType="#//PTArrayInitializer"
- containment="true">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="This is the initializer, if any, for this array. E.g. new int[] {2,3}. It is the {2,3}."/>
- </eAnnotations>
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PTArrayInitializer" eSuperTypes="#//PTExpression">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Array initialization expression. This is the entire expression, e.g. {2, 3}, or {{2,3}, 4}. In the second case, the {2,3} will be an ArrayInitializer contained within the expressions list for the top ArrayInitializer."/>
- </eAnnotations>
- <eStructuralFeatures xsi:type="ecore:EReference" name="expressions" upperBound="-1"
- eType="#//PTExpression" containment="true">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="This isthe list of expressions within the initializer, e.g. {2, 3}, or {{2,3}, 4}. In the first case it will be two NumberLiterals. In the second case, the {2,3} will be an ArrayInitializer, followed by a NumberLiteral."/>
- </eAnnotations>
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PTBooleanLiteral" eSuperTypes="#//PTExpression">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="This represents a primitive boolean literal, i.e. true or false directly in the code."/>
- </eAnnotations>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="booleanValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="The value of the literal."/>
- </eAnnotations>
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PTCastExpression" eSuperTypes="#//PTExpression">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Cast expression, e.g. (short) 10"/>
- </eAnnotations>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="This is the fully-qualified type of the cast, e.g. int or java.lang.String"/>
- </eAnnotations>
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="expression" eType="#//PTExpression"
- containment="true">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="The expression being casted."/>
- </eAnnotations>
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PTCharacterLiteral" eSuperTypes="#//PTExpression">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="This represents a primitive character expression, e.g. 'a' or '\r'."/>
- </eAnnotations>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="escapedValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="This is the escaped character. In other words the literal exactly as it is in the java file. E.g. 'a' or '\r'. Including the surrounding single quotes themselves."/>
- </eAnnotations>
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="charValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EChar"
- transient="true">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="The actual primitive character without the quotes. Escape are evaluated and turned into their character value. This is a transient field. If not set when created when queried it will create it. Typically it will be set when created from an AST node since the node already has evaluated it."/>
- </eAnnotations>
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PTClassInstanceCreation" eSuperTypes="#//PTExpression">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Class instance creation expression. E.g. new String(&quot;a&quot;)"/>
- </eAnnotations>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="This is the type of the class. E.g. java.lang.String. This should be fully-qualified for allocation purposes. It should also be in reflection format, i.e. if X is an inner class of j.Y, then the type here should be &quot;j.Y$X&quot;. "/>
- </eAnnotations>
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="arguments" upperBound="-1"
- eType="#//PTExpression" containment="true">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="The arguments to the constructor."/>
- </eAnnotations>
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PTConditionalExpression" eSuperTypes="#//PTExpression">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="The test Expresson, e.g. (x=3) ? 1 : 2"/>
- </eAnnotations>
- <eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="#//PTExpression"
- containment="true">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="The condition expression."/>
- </eAnnotations>
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="true" eType="#//PTExpression"
- containment="true">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="The true expression"/>
- </eAnnotations>
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="false" eType="#//PTExpression"
- containment="true">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="The false expression."/>
- </eAnnotations>
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PTFieldAccess" eSuperTypes="#//PTExpression">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Access a field expression, e.g. java.awt.Color.red"/>
- </eAnnotations>
- <eStructuralFeatures xsi:type="ecore:EReference" name="receiver" eType="#//PTExpression"
- containment="true">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="The expression representing the object that the field is in, e.g. java.awt.Color."/>
- </eAnnotations>
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="field" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="The name of the field being accessed, e.g. red."/>
- </eAnnotations>
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PTInfixExpression" eSuperTypes="#//PTExpression">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="An expression with an operator that has two operands, e.g. 3 + 4."/>
- </eAnnotations>
- <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//PTExpression"
- containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" eType="#//PTInfixOperator">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="The operator, e.g. +"/>
- </eAnnotations>
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//PTExpression"
- containment="true">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="The right expression. i.e. 4 of &quot;3 + 4&quot;"/>
- </eAnnotations>
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="extendedOperands" upperBound="-1"
- eType="#//PTExpression" containment="true">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Used when there are a series of infix operations of the same operator, e.g. 1 + 2 + 3 + 4. 1 and 2 will go into left and right, while {3, 4} will go into the extended operands. "/>
- </eAnnotations>
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="PTInfixOperator">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Enumerator for the operator on an InfixExpression."/>
- </eAnnotations>
- <eLiterals name="TIMES">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="* operator"/>
- </eAnnotations>
- </eLiterals>
- <eLiterals name="DIVIDE" value="1">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="/ operator"/>
- </eAnnotations>
- </eLiterals>
- <eLiterals name="REMAINDER" value="2">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="% operator"/>
- </eAnnotations>
- </eLiterals>
- <eLiterals name="PLUS" value="3">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="+ operator"/>
- </eAnnotations>
- </eLiterals>
- <eLiterals name="MINUS" value="4">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="- operator"/>
- </eAnnotations>
- </eLiterals>
- <eLiterals name="LEFT_SHIFT" value="5">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&lt;&lt; operator"/>
- </eAnnotations>
- </eLiterals>
- <eLiterals name="RIGHT_SHIFT_SIGNED" value="6">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value=">> operator"/>
- </eAnnotations>
- </eLiterals>
- <eLiterals name="RIGHT_SHIFT_UNSIGNED" value="7">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value=">>> operator"/>
- </eAnnotations>
- </eLiterals>
- <eLiterals name="LESS" value="8">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&lt; operator"/>
- </eAnnotations>
- </eLiterals>
- <eLiterals name="GREATER" value="9">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="> operator"/>
- </eAnnotations>
- </eLiterals>
- <eLiterals name="LESS_EQUALS" value="10">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&lt;= operator"/>
- </eAnnotations>
- </eLiterals>
- <eLiterals name="GREATER_EQUALS" value="11">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value=">= operator"/>
- </eAnnotations>
- </eLiterals>
- <eLiterals name="EQUALS" value="12">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="== operator"/>
- </eAnnotations>
- </eLiterals>
- <eLiterals name="NOT_EQUALS" value="13">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="!= operator"/>
- </eAnnotations>
- </eLiterals>
- <eLiterals name="XOR" value="14">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="^ operator"/>
- </eAnnotations>
- </eLiterals>
- <eLiterals name="AND" value="15">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&amp; operator"/>
- </eAnnotations>
- </eLiterals>
- <eLiterals name="OR" value="16">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="| operator"/>
- </eAnnotations>
- </eLiterals>
- <eLiterals name="CONDITIONAL_AND" value="17">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&amp;&amp; operator"/>
- </eAnnotations>
- </eLiterals>
- <eLiterals name="CONDITIONAL_OR" value="18">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="|| operator"/>
- </eAnnotations>
- </eLiterals>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PTInstanceof" eSuperTypes="#//PTExpression">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Instanceof expression, e.g. x instanceof java.lang.String"/>
- </eAnnotations>
- <eStructuralFeatures xsi:type="ecore:EReference" name="operand" eType="#//PTExpression"
- containment="true">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="The value to test, e.g. x in x instanceof java.lang.String"/>
- </eAnnotations>
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="The type of the instance test, e.g. java.lang.String. It must be fully-qualified. If it is an inner class, it needs to be in reflection format, i.e. Y is inner class of j.X, then a reference to Y must be j.X$Y."/>
- </eAnnotations>
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PTMethodInvocation" eSuperTypes="#//PTExpression">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="MethodInvocation expression, e.g. x.getY(3)"/>
- </eAnnotations>
- <eStructuralFeatures xsi:type="ecore:EReference" name="receiver" eType="#//PTExpression"
- containment="true">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Who the method is invoked against. This may be not set, which means &quot;this&quot;. It may also be a Name, which would mean a class like &quot;java.lang.String&quot;"/>
- </eAnnotations>
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="The name of the method being invoked."/>
- </eAnnotations>
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="arguments" upperBound="-1"
- eType="#//PTExpression" containment="true">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="The list of arguments, if any, to the method."/>
- </eAnnotations>
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PTName" eSuperTypes="#//PTExpression">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="This represents a name. This can happen for the receiver of a method invocation, e.g. x.getY() or java.lang.String.valueOf(10). In these cases you would have a name of &quot;x&quot; or &quot;java.lang.String&quot;."/>
- </eAnnotations>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="The name, which can be a type or a variable. If it is a type, then it must be fully-qualified. If it is an inner class, it needs to be in reflection format, i.e. Y is inner class of j.X, then a reference to Y must be j.X$Y."/>
- </eAnnotations>
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PTNullLiteral" eSuperTypes="#//PTExpression">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Represents the expression &quot;null&quot;"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PTNumberLiteral" eSuperTypes="#//PTExpression">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Represent a number primitive literal, e.g. 10. One optimization that will be performed is that if an expression is of the form +number or -number, it will be converted from a PrefixExpression with a NumberLiteral to just a NumberLiteral. This will simplify the model."/>
- </eAnnotations>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="token" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="The token value, e.g. 10, 10d, or -10.75"/>
- </eAnnotations>
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PTParenthesizedExpression" eSuperTypes="#//PTExpression">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="An expression within parenthesis, e.g. (x+3)"/>
- </eAnnotations>
- <eStructuralFeatures xsi:type="ecore:EReference" name="expression" eType="#//PTExpression"
- containment="true">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="The expression wrapped by the parenthesis, e.g. (x+3) then the expression is &quot;x+3&quot;"/>
- </eAnnotations>
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PTPrefixExpression" eSuperTypes="#//PTExpression">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="A one operand operator, where the operator comes before the operand, e.g. - (x+3). In AST, even -3 is modeled as a PrefixExpression of operator &quot;-&quot; and expression of NumberLiteral(3). But we optimize this away and just use a NumberLiteral(-3) directly instead."/>
- </eAnnotations>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" eType="#//PTPrefixOperator">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="The operator of this expression."/>
- </eAnnotations>
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="expression" eType="#//PTExpression"
- containment="true">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="The expression that the operator is applied to."/>
- </eAnnotations>
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="PTPrefixOperator">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="The prefix expression operator. We are not modeling ++ and --."/>
- </eAnnotations>
- <eLiterals name="PLUS">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="+ operator"/>
- </eAnnotations>
- </eLiterals>
- <eLiterals name="MINUS" value="1">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="- operator"/>
- </eAnnotations>
- </eLiterals>
- <eLiterals name="COMPLEMENT" value="2">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="~ operator"/>
- </eAnnotations>
- </eLiterals>
- <eLiterals name="NOT" value="3">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="! operator"/>
- </eAnnotations>
- </eLiterals>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PTStringLiteral" eSuperTypes="#//PTExpression">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Representation of a string literal, e.g. &quot;asdf&quot;."/>
- </eAnnotations>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="escapedValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="This is the escaped string. In other words the literal exactly as it is in the java file. E.g. &quot;ab&quot; or &quot;c\r&quot;. Including the surrounding quotes themselves."/>
- </eAnnotations>
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="literalValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
- transient="true">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="The actual string without the quotes. Escape are evaluated and turned into their character value. This is a transient field. If not set when created when queried it will create it. Typically it will be set when created from an AST node since the node already has evaluated it."/>
- </eAnnotations>
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PTThisLiteral" eSuperTypes="#//PTExpression">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Represents &quot;this&quot;, e.g. this.getX() will be a MethodInvocation with the receiver being a ThisLiteral. We can't handle the format XYZ.this because that is for inner classes and we don't support that right now."/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PTTypeLiteral" eSuperTypes="#//PTExpression">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="This represents a literal of the form j.XYZ.class. For instance in a method invocation x.getX(jXYZ.class) the argument will be a TypeLiteral."/>
- </eAnnotations>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="The type of the literal. It must be fully-qualified. If it is an inner class, it needs to be in reflection format, i.e. Y is inner class of j.X, then a reference to Y must be j.X$Y."/>
- </eAnnotations>
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PTInvalidExpression" eSuperTypes="#//PTExpression">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="This is used when we have some expression we just can't evaluate for our purposes. It allows us to tell the evaluation what is actually wrong. It should be placed as the root expression to prevent processing much of the tree and then finally fail."/>
- </eAnnotations>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="message" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="A message as to why it is invalid."/>
- </eAnnotations>
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PTInstanceReference" eSuperTypes="#//PTExpression">
- <eStructuralFeatures xsi:type="ecore:EReference" name="object" lowerBound="1"
- eType="#//IJavaObjectInstance"/>
- </eClassifiers>
-</ecore:EPackage>
diff --git a/plugins/org.eclipse.jem/model/instance.genmodel b/plugins/org.eclipse.jem/model/instance.genmodel
deleted file mode 100644
index a5495db74..000000000
--- a/plugins/org.eclipse.jem/model/instance.genmodel
+++ /dev/null
@@ -1,136 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<genmodel:GenModel xmi:version="2.0"
- xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
- xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.jem/javainst"
- editDirectory="/org.eclipse.jem.edit/src" editorDirectory="/org.eclipse.jem.editor/src"
- modelPluginID="" modelName="instance" editPluginClass="org.eclipse.jem.internal.instantiation.provider.instanceEditPlugin"
- editorPluginClass="org.eclipse.jem.internal.instantiation.presentation.instanceEditorPlugin"
- updateClasspath="false" usedGenPackages="../../org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore">
- <foreignModel>..\rose\instance.mdl</foreignModel>
- <foreignModel>WorkspaceRoot</foreignModel>
- <foreignModel>../..</foreignModel>
- <genPackages prefix="Instantiation" basePackage="org.eclipse.jem.internal" adapterFactory="false"
- ecorePackage="instance.ecore#/">
- <genEnums ecoreEnum="instance.ecore#//PTInfixOperator">
- <genEnumLiterals ecoreEnumLiteral="instance.ecore#//PTInfixOperator/TIMES"/>
- <genEnumLiterals ecoreEnumLiteral="instance.ecore#//PTInfixOperator/DIVIDE"/>
- <genEnumLiterals ecoreEnumLiteral="instance.ecore#//PTInfixOperator/REMAINDER"/>
- <genEnumLiterals ecoreEnumLiteral="instance.ecore#//PTInfixOperator/PLUS"/>
- <genEnumLiterals ecoreEnumLiteral="instance.ecore#//PTInfixOperator/MINUS"/>
- <genEnumLiterals ecoreEnumLiteral="instance.ecore#//PTInfixOperator/LEFT_SHIFT"/>
- <genEnumLiterals ecoreEnumLiteral="instance.ecore#//PTInfixOperator/RIGHT_SHIFT_SIGNED"/>
- <genEnumLiterals ecoreEnumLiteral="instance.ecore#//PTInfixOperator/RIGHT_SHIFT_UNSIGNED"/>
- <genEnumLiterals ecoreEnumLiteral="instance.ecore#//PTInfixOperator/LESS"/>
- <genEnumLiterals ecoreEnumLiteral="instance.ecore#//PTInfixOperator/GREATER"/>
- <genEnumLiterals ecoreEnumLiteral="instance.ecore#//PTInfixOperator/LESS_EQUALS"/>
- <genEnumLiterals ecoreEnumLiteral="instance.ecore#//PTInfixOperator/GREATER_EQUALS"/>
- <genEnumLiterals ecoreEnumLiteral="instance.ecore#//PTInfixOperator/EQUALS"/>
- <genEnumLiterals ecoreEnumLiteral="instance.ecore#//PTInfixOperator/NOT_EQUALS"/>
- <genEnumLiterals ecoreEnumLiteral="instance.ecore#//PTInfixOperator/XOR"/>
- <genEnumLiterals ecoreEnumLiteral="instance.ecore#//PTInfixOperator/AND"/>
- <genEnumLiterals ecoreEnumLiteral="instance.ecore#//PTInfixOperator/OR"/>
- <genEnumLiterals ecoreEnumLiteral="instance.ecore#//PTInfixOperator/CONDITIONAL_AND"/>
- <genEnumLiterals ecoreEnumLiteral="instance.ecore#//PTInfixOperator/CONDITIONAL_OR"/>
- </genEnums>
- <genEnums ecoreEnum="instance.ecore#//PTPrefixOperator">
- <genEnumLiterals ecoreEnumLiteral="instance.ecore#//PTPrefixOperator/PLUS"/>
- <genEnumLiterals ecoreEnumLiteral="instance.ecore#//PTPrefixOperator/MINUS"/>
- <genEnumLiterals ecoreEnumLiteral="instance.ecore#//PTPrefixOperator/COMPLEMENT"/>
- <genEnumLiterals ecoreEnumLiteral="instance.ecore#//PTPrefixOperator/NOT"/>
- </genEnums>
- <genClasses ecoreClass="instance.ecore#//IJavaDataTypeInstance"/>
- <genClasses ecoreClass="instance.ecore#//IJavaInstance"/>
- <genClasses ecoreClass="instance.ecore#//IJavaObjectInstance"/>
- <genClasses ecoreClass="instance.ecore#//JavaAllocation"/>
- <genClasses ecoreClass="instance.ecore#//InitStringAllocation">
- <genFeatures ecoreFeature="ecore:EAttribute instance.ecore#//InitStringAllocation/initString"/>
- </genClasses>
- <genClasses ecoreClass="instance.ecore#//ImplicitAllocation">
- <genFeatures notify="false" ecoreFeature="ecore:EReference instance.ecore#//ImplicitAllocation/parent"/>
- <genFeatures notify="false" ecoreFeature="ecore:EReference instance.ecore#//ImplicitAllocation/feature"/>
- </genClasses>
- <genClasses ecoreClass="instance.ecore#//ParseTreeAllocation">
- <genFeatures property="None" children="true" ecoreFeature="ecore:EReference instance.ecore#//ParseTreeAllocation/expression"/>
- </genClasses>
- <genClasses ecoreClass="instance.ecore#//PTExpression"/>
- <genClasses ecoreClass="instance.ecore#//PTArrayAccess">
- <genFeatures property="None" children="true" ecoreFeature="ecore:EReference instance.ecore#//PTArrayAccess/array"/>
- <genFeatures property="None" children="true" ecoreFeature="ecore:EReference instance.ecore#//PTArrayAccess/indexes"/>
- </genClasses>
- <genClasses ecoreClass="instance.ecore#//PTArrayCreation">
- <genFeatures ecoreFeature="ecore:EAttribute instance.ecore#//PTArrayCreation/type"/>
- <genFeatures property="None" children="true" ecoreFeature="ecore:EReference instance.ecore#//PTArrayCreation/dimensions"/>
- <genFeatures property="None" children="true" ecoreFeature="ecore:EReference instance.ecore#//PTArrayCreation/initializer"/>
- </genClasses>
- <genClasses ecoreClass="instance.ecore#//PTArrayInitializer">
- <genFeatures property="None" children="true" ecoreFeature="ecore:EReference instance.ecore#//PTArrayInitializer/expressions"/>
- </genClasses>
- <genClasses ecoreClass="instance.ecore#//PTBooleanLiteral">
- <genFeatures ecoreFeature="ecore:EAttribute instance.ecore#//PTBooleanLiteral/booleanValue"/>
- </genClasses>
- <genClasses ecoreClass="instance.ecore#//PTCastExpression">
- <genFeatures ecoreFeature="ecore:EAttribute instance.ecore#//PTCastExpression/type"/>
- <genFeatures property="None" children="true" ecoreFeature="ecore:EReference instance.ecore#//PTCastExpression/expression"/>
- </genClasses>
- <genClasses ecoreClass="instance.ecore#//PTCharacterLiteral">
- <genFeatures ecoreFeature="ecore:EAttribute instance.ecore#//PTCharacterLiteral/escapedValue"/>
- <genFeatures ecoreFeature="ecore:EAttribute instance.ecore#//PTCharacterLiteral/charValue"/>
- </genClasses>
- <genClasses ecoreClass="instance.ecore#//PTClassInstanceCreation">
- <genFeatures ecoreFeature="ecore:EAttribute instance.ecore#//PTClassInstanceCreation/type"/>
- <genFeatures property="None" children="true" ecoreFeature="ecore:EReference instance.ecore#//PTClassInstanceCreation/arguments"/>
- </genClasses>
- <genClasses ecoreClass="instance.ecore#//PTConditionalExpression">
- <genFeatures property="None" children="true" ecoreFeature="ecore:EReference instance.ecore#//PTConditionalExpression/condition"/>
- <genFeatures property="None" children="true" ecoreFeature="ecore:EReference instance.ecore#//PTConditionalExpression/true"/>
- <genFeatures property="None" children="true" ecoreFeature="ecore:EReference instance.ecore#//PTConditionalExpression/false"/>
- </genClasses>
- <genClasses ecoreClass="instance.ecore#//PTFieldAccess">
- <genFeatures property="None" children="true" ecoreFeature="ecore:EReference instance.ecore#//PTFieldAccess/receiver"/>
- <genFeatures ecoreFeature="ecore:EAttribute instance.ecore#//PTFieldAccess/field"/>
- </genClasses>
- <genClasses ecoreClass="instance.ecore#//PTInfixExpression">
- <genFeatures property="None" children="true" ecoreFeature="ecore:EReference instance.ecore#//PTInfixExpression/leftOperand"/>
- <genFeatures ecoreFeature="ecore:EAttribute instance.ecore#//PTInfixExpression/operator"/>
- <genFeatures property="None" children="true" ecoreFeature="ecore:EReference instance.ecore#//PTInfixExpression/rightOperand"/>
- <genFeatures property="None" children="true" ecoreFeature="ecore:EReference instance.ecore#//PTInfixExpression/extendedOperands"/>
- </genClasses>
- <genClasses ecoreClass="instance.ecore#//PTInstanceof">
- <genFeatures property="None" children="true" ecoreFeature="ecore:EReference instance.ecore#//PTInstanceof/operand"/>
- <genFeatures ecoreFeature="ecore:EAttribute instance.ecore#//PTInstanceof/type"/>
- </genClasses>
- <genClasses ecoreClass="instance.ecore#//PTMethodInvocation">
- <genFeatures property="None" children="true" ecoreFeature="ecore:EReference instance.ecore#//PTMethodInvocation/receiver"/>
- <genFeatures ecoreFeature="ecore:EAttribute instance.ecore#//PTMethodInvocation/name"/>
- <genFeatures property="None" children="true" ecoreFeature="ecore:EReference instance.ecore#//PTMethodInvocation/arguments"/>
- </genClasses>
- <genClasses ecoreClass="instance.ecore#//PTName">
- <genFeatures ecoreFeature="ecore:EAttribute instance.ecore#//PTName/name"/>
- </genClasses>
- <genClasses ecoreClass="instance.ecore#//PTNullLiteral"/>
- <genClasses ecoreClass="instance.ecore#//PTNumberLiteral">
- <genFeatures ecoreFeature="ecore:EAttribute instance.ecore#//PTNumberLiteral/token"/>
- </genClasses>
- <genClasses ecoreClass="instance.ecore#//PTParenthesizedExpression">
- <genFeatures property="None" children="true" ecoreFeature="ecore:EReference instance.ecore#//PTParenthesizedExpression/expression"/>
- </genClasses>
- <genClasses ecoreClass="instance.ecore#//PTPrefixExpression">
- <genFeatures ecoreFeature="ecore:EAttribute instance.ecore#//PTPrefixExpression/operator"/>
- <genFeatures property="None" children="true" ecoreFeature="ecore:EReference instance.ecore#//PTPrefixExpression/expression"/>
- </genClasses>
- <genClasses ecoreClass="instance.ecore#//PTStringLiteral">
- <genFeatures ecoreFeature="ecore:EAttribute instance.ecore#//PTStringLiteral/escapedValue"/>
- <genFeatures ecoreFeature="ecore:EAttribute instance.ecore#//PTStringLiteral/literalValue"/>
- </genClasses>
- <genClasses ecoreClass="instance.ecore#//PTThisLiteral"/>
- <genClasses ecoreClass="instance.ecore#//PTTypeLiteral">
- <genFeatures ecoreFeature="ecore:EAttribute instance.ecore#//PTTypeLiteral/type"/>
- </genClasses>
- <genClasses ecoreClass="instance.ecore#//PTInvalidExpression">
- <genFeatures ecoreFeature="ecore:EAttribute instance.ecore#//PTInvalidExpression/message"/>
- </genClasses>
- <genClasses ecoreClass="instance.ecore#//PTInstanceReference">
- <genFeatures notify="false" ecoreFeature="ecore:EReference instance.ecore#//PTInstanceReference/object"/>
- </genClasses>
- </genPackages>
-</genmodel:GenModel>
diff --git a/plugins/org.eclipse.jem/model/java.ecore b/plugins/org.eclipse.jem/model/java.ecore
deleted file mode 100644
index a83844b28..000000000
--- a/plugins/org.eclipse.jem/model/java.ecore
+++ /dev/null
@@ -1,353 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<ecore:EPackage xmi:version="2.0"
- xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="java"
- nsURI="java.xmi" nsPrefix="org.eclipse.jem.internal.java">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Changes to synch up with Java3e:&#xD;&#xA;- deleted JavaElement, BodyElement which didn't add anything useful&#xD;&#xA;- deleted NestedClass and the association which described nesting, contents can be used instead&#xD;&#xA;- deleted extends/extendedBy which is replaced with MOF subtype/supertype&#xD;&#xA;- deleted the clumsy main diagram&#xD;&#xA;- moved the MOF inheritance details to the MOF binding diagram&#xD;&#xA;- deleted &quot;final&quot; on JavaParameter, don't know what that was supposed to be&#xD;&#xA;- deleted the Category junk&#xD;&#xA;- changed the Block-typed attributes on Field, Method, Initializer to be associations to Block&#xD;&#xA;&#xD;&#xA;Outstanding questions/issues:&#xD;&#xA;- JavaParameterKind should go away if we get the base Parameter kind fixed up&#xD;&#xA;"/>
- </eAnnotations>
- <eClassifiers xsi:type="ecore:EClass" name="JavaClass" eSuperTypes="../../org.eclipse.emf.ecore/model/Ecore.ecore#//EClass">
- <eOperations name="isNested" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
- <eOperations name="getField" eType="#//Field">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Return an Field with the passed name, or null."/>
- </eAnnotations>
- <eParameters name="fieldName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </eOperations>
- <eOperations name="getFieldExtended" eType="#//Field">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value=" Return an Field with the passed name from this JavaClass or any supertypes.&#xD;&#xA;&#xD;&#xA;Return null if a Field named fieldName is not found."/>
- </eAnnotations>
- <eParameters name="fieldName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </eOperations>
- <eOperations name="getFieldNamed" eType="#//Field">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Return an Field with the passed name, or null."/>
- </eAnnotations>
- <eParameters name="fieldName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </eOperations>
- <eOperations name="getFieldsExtended" eType="#//JTypeList">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Return all fields, including those from supertypes."/>
- </eAnnotations>
- </eOperations>
- <eOperations name="getMethod" eType="#//Method">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Get the method of this name and these parameters. It will not look up the supertype hierarchy."/>
- </eAnnotations>
- <eParameters name="methodName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eParameters name="parameterTypes" eType="#//JTypeList">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="List of parameter types."/>
- </eAnnotations>
- </eParameters>
- </eOperations>
- <eOperations name="getMethodElementSignatures" eType="#//JTypeList">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Return a List of Strings that represent MethodElement signatures from most general to most specific."/>
- </eAnnotations>
- </eOperations>
- <eOperations name="getMethodExtended" eType="#//Method">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Get the method of this name and these parameters. It will look up the supertype hierarchy."/>
- </eAnnotations>
- <eParameters name="methodName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eParameters name="parameterTypes" eType="#//JTypeList">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="List of parameter types."/>
- </eAnnotations>
- </eParameters>
- </eOperations>
- <eOperations name="getMethodsExtended" eType="#//JTypeList">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Return all methods, including those from supertypes."/>
- </eAnnotations>
- </eOperations>
- <eOperations name="getOnlySpecificMethods" eType="#//JTypeList">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Return a List of Methods that begins with @aMethodNamePrefix and is not included in the @excludedNames list. If @aMethodNamePrefix is null, all methods will be returned.&#xD;&#xA;"/>
- </eAnnotations>
- <eParameters name="aMethodNamePrefix" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eParameters name="excludedNames" eType="#//JTypeList"/>
- </eOperations>
- <eOperations name="getPublicMethod" eType="#//Method">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Return a method matching the name, and non-return parameters with fully qualified types matching all the types in the list, if it exists. It will not look up the supertype hierarchy."/>
- </eAnnotations>
- <eParameters name="methodName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eParameters name="parameterTypes" eType="#//JTypeList">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="List of parameter types."/>
- </eAnnotations>
- </eParameters>
- </eOperations>
- <eOperations name="getPublicMethods" eType="#//JTypeList">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Return all methods, it will not go up the supertype hierarchy."/>
- </eAnnotations>
- </eOperations>
- <eOperations name="getPublicMethodsExtended" eType="#//JTypeList">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Return all public methods, including those from supertypes."/>
- </eAnnotations>
- </eOperations>
- <eOperations name="getPublicMethodsNamed" eType="#//JTypeList">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Returns a filtered list on the methods of this class, having a name equal to that of the parameter."/>
- </eAnnotations>
- <eParameters name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </eOperations>
- <eOperations name="getSupertype" eType="#//JavaClass"/>
- <eOperations name="implementsInterface" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Test whether the receiver implements the passed interface (or one of its supertypes)."/>
- </eAnnotations>
- <eParameters name="interfaceType" eType="#//JavaClass"/>
- </eOperations>
- <eOperations name="infoString" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Return a string showing our details."/>
- </eAnnotations>
- </eOperations>
- <eOperations name="inheritsFrom" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Tests whether this class inherits from the passed in class."/>
- </eAnnotations>
- <eParameters name="javaClass" eType="#//JavaClass"/>
- </eOperations>
- <eOperations name="isExistingType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Does this type exist."/>
- </eAnnotations>
- </eOperations>
- <eOperations name="isInterface" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Is this an interface."/>
- </eAnnotations>
- </eOperations>
- <eOperations name="setSupertype">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Set the supertype."/>
- </eAnnotations>
- <eParameters name="javaclass" eType="#//JavaClass"/>
- </eOperations>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//TypeKind"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="public" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="final" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="implementsInterfaces" upperBound="-1"
- eType="#//JavaClass"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="classImport" upperBound="-1"
- eType="#//JavaClass"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="packageImports" upperBound="-1"
- eType="#//JavaPackage"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="fields" upperBound="-1"
- eType="#//Field" containment="true" eOpposite="#//Field/javaClass"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="methods" upperBound="-1"
- eType="#//Method" containment="true" eOpposite="#//Method/javaClass"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="initializers" upperBound="-1"
- eType="#//Initializer" containment="true" eOpposite="#//Initializer/javaClass"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="declaredClasses" upperBound="-1"
- eType="#//JavaClass" eOpposite="#//JavaClass/declaringClass"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="declaringClass" eType="#//JavaClass"
- eOpposite="#//JavaClass/declaredClasses"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="javaPackage" eType="#//JavaPackage"
- changeable="false" volatile="true" transient="true" eOpposite="#//JavaPackage/javaClasses"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="events" upperBound="-1"
- eType="#//JavaEvent" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="allEvents" upperBound="-1"
- eType="#//JavaEvent" volatile="true" transient="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Initializer">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="isStatic" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="javaClass" eType="#//JavaClass"
- transient="true" eOpposite="#//JavaClass/initializers"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="source" eType="#//Block"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="JavaParameter" eSuperTypes="../../org.eclipse.emf.ecore/model/Ecore.ecore#//EParameter">
- <eOperations name="isArray" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Is this parameter type an array type."/>
- </eAnnotations>
- </eOperations>
- <eOperations name="isReturn" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Is this a return parameter."/>
- </eAnnotations>
- </eOperations>
- <eOperations name="getJavaType" eType="#//JTypeJavaHelpers"/>
- <eOperations name="getQualifiedName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="final" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="parameterKind" eType="#//JavaParameterKind"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Method" eSuperTypes="../../org.eclipse.emf.ecore/model/Ecore.ecore#//EOperation">
- <eOperations name="getContainingJavaClass" eType="#//JavaClass">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Return the java class that this method is defined in."/>
- </eAnnotations>
- </eOperations>
- <eOperations name="getMethodElementSignature" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Return a String with the the method name and its parameters. e.g. &lt;code> setFirstName(java.lang.String) &lt;/code> .&#xD;&#xA; "/>
- </eAnnotations>
- </eOperations>
- <eOperations name="getParameter" eType="#//JavaParameter">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Return a Parameter with the passed name, or null."/>
- </eAnnotations>
- <eParameters name="parameterName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </eOperations>
- <eOperations name="getReturnType" eType="#//JTypeJavaHelpers">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Get the return type."/>
- </eAnnotations>
- </eOperations>
- <eOperations name="setReturnType">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Set the return type"/>
- </eAnnotations>
- <eParameters name="type" eType="#//JTypeJavaHelpers"/>
- </eOperations>
- <eOperations name="getSignature" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Replicate the functionality of java.lang.reflect.Method.toString().&#xD;&#xA;&#xD;&#xA;Returns a string describing this Method. The string is formatted as the method access modifiers, if any, followed by the method return type, followed by a space, followed by the class declaring the method, followed by a period, followed by the method name, followed by a parenthesized, comma-separated list of the method's formal parameter types. If the method throws checked exceptions, the parameter list is followed by a space, followed by the word throws followed by a comma-separated list of the thrown exception types.&#xD;&#xA;&#xD;&#xA;For example:&#xD;&#xA;&#xD;&#xA; public boolean java.lang.Object.equals(java.lang.Object)&#xD;&#xA;&#xD;&#xA;The access modifiers are placed in canonical order as specified by &quot;The Java Language Specification&quot;. This is public, &lt;tt>protected&lt;/tt> or &lt;tt>private&lt;/tt> first, and then other modifiers in the following order: &lt;tt>abstract&lt;/tt>, &lt;tt>static&lt;/tt>, &lt;tt>final&lt;/tt>, &lt;tt>synchronized&lt;/tt> &lt;tt>native&lt;/tt>.&#xD;&#xA;"/>
- </eAnnotations>
- </eOperations>
- <eOperations name="isGenerated" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Returns true if the method is system generated.&#xD;&#xA;This is usually determined by the @generated tag in the comment."/>
- </eAnnotations>
- </eOperations>
- <eOperations name="setIsGenerated">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Set the isGenerated flag."/>
- </eAnnotations>
- <eParameters name="generated" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
- </eOperations>
- <eOperations name="isVoid" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Is this a void return type method."/>
- </eAnnotations>
- </eOperations>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="abstract" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="native" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="synchronized" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="final" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="constructor" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="static" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="javaVisibility" eType="#//JavaVisibilityKind"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
- eType="#//JavaParameter" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="javaExceptions" upperBound="-1"
- eType="#//JavaClass"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="javaClass" eType="#//JavaClass"
- transient="true" eOpposite="#//JavaClass/methods"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="source" eType="#//Block"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Field" eSuperTypes="../../org.eclipse.emf.ecore/model/Ecore.ecore#//ETypedElement">
- <eOperations name="getContainingJavaClass" eType="#//JavaClass">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Get the class that this field is within."/>
- </eAnnotations>
- </eOperations>
- <eOperations name="isArray" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Is this field an array type."/>
- </eAnnotations>
- </eOperations>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="final" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="static" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="javaVisibility" eType="#//JavaVisibilityKind"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="transient" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="volatile" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="javaClass" eType="#//JavaClass"
- transient="true" eOpposite="#//JavaClass/fields"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="initializer" eType="#//Block"
- containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="TypeKind">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="UNDEFINED=1 CLASS=2 INTERFACE=3 EXCEPTION=4"/>
- </eAnnotations>
- <eLiterals name="UNDEFINED"/>
- <eLiterals name="CLASS" value="1"/>
- <eLiterals name="INTERFACE" value="2"/>
- <eLiterals name="EXCEPTION" value="3"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Block">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="source" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="contents" upperBound="-1"
- eType="#//Block" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Comment" eSuperTypes="#//Block"/>
- <eClassifiers xsi:type="ecore:EClass" name="Statement" eSuperTypes="#//Block"/>
- <eClassifiers xsi:type="ecore:EClass" name="JavaPackage" eSuperTypes="../../org.eclipse.emf.ecore/model/Ecore.ecore#//EPackage">
- <eStructuralFeatures xsi:type="ecore:EReference" name="javaClasses" upperBound="-1"
- eType="#//JavaClass" changeable="false" volatile="true" transient="true" eOpposite="#//JavaClass/javaPackage"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="JavaVisibilityKind">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="PACKAGE=1&#xD;&#xA;PUBLIC=2&#xD;&#xA;PRIVATE=3&#xD;&#xA;PROTECTED=4"/>
- </eAnnotations>
- <eLiterals name="PUBLIC"/>
- <eLiterals name="PRIVATE" value="1"/>
- <eLiterals name="PROTECTED" value="2"/>
- <eLiterals name="PACKAGE" value="3"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="JavaParameterKind">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="IN=0&#xD;&#xA;OUT=1&#xD;&#xA;INOUT=2&#xD;&#xA;RETURN=3"/>
- </eAnnotations>
- <eLiterals name="IN"/>
- <eLiterals name="OUT" value="1"/>
- <eLiterals name="INOUT" value="2"/>
- <eLiterals name="RETURN" value="3"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="JavaDataType" eSuperTypes="../../org.eclipse.emf.ecore/model/Ecore.ecore#//EClass">
- <eOperations name="getDefaultValueString" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Return the default string representing the default value of the primitive."/>
- </eAnnotations>
- </eOperations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ArrayType" eSuperTypes="#//JavaClass">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Describes a Java Array type&#xD;&#xA; For multi-dimensional arrays, it is unlikely that the component type will be&#xD;&#xA; specified directly. This would require instantiating a chain of component types&#xD;&#xA; such as String[][][][]->String[][][]->String[][]->String[]->String.&#xD;&#xA;&#xD;&#xA; The component type relationship will be computed if the finalComponentType&#xD;&#xA; and array dimensions is specified.&#xD;&#xA; &#xD;&#xA; For this reason, the preferred way to create is through the JavaRefFactory factory method:&#xD;&#xA; createArrayType(JavaClass finalComponentType, int dimensions)"/>
- </eAnnotations>
- <eOperations name="getFinalComponentType" eType="#//JTypeJavaHelpers">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Get the final component type for this Array Type.&#xD;&#xA;&#xD;&#xA;In order to ensure a unique instance, we will resolve this type using reflection. It turns out to be most efficient to just do this by trimming the name."/>
- </eAnnotations>
- </eOperations>
- <eOperations name="getComponentTypeAsHelper" eType="#//JTypeJavaHelpers">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Get the component type of this array. &#xD;&#xA;&#xD;&#xA;If this is a multi-dimensional array, the component type will be the nested array type."/>
- </eAnnotations>
- </eOperations>
- <eOperations name="isPrimitiveArray" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Is this an array of java primitives"/>
- </eAnnotations>
- </eOperations>
- <eOperations name="setComponentType">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Set the component type."/>
- </eAnnotations>
- <eParameters name="helperComponentType" eType="#//JTypeJavaHelpers"/>
- </eOperations>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="arrayDimensions" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="componentType" lowerBound="1"
- eType="ecore:EClass ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EDataType" name="JTypeJavaHelpers" instanceClassName="org.eclipse.jem.java.JavaHelpers">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="This interface is a common interface between JavaClass and JavaDataType plus some common helper methods."/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EDataType" name="JTypeList" instanceClassName="java.util.List">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="java.util.List type"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="JavaEvent" abstract="true" eSuperTypes="../../org.eclipse.emf.ecore/model/Ecore.ecore#//EStructuralFeature"/>
-</ecore:EPackage>
diff --git a/plugins/org.eclipse.jem/model/javaModel.genmodel b/plugins/org.eclipse.jem/model/javaModel.genmodel
deleted file mode 100644
index 6f67ddf1e..000000000
--- a/plugins/org.eclipse.jem/model/javaModel.genmodel
+++ /dev/null
@@ -1,173 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<genmodel:GenModel xmi:version="2.0"
- xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
- xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.jem/mofjava"
- editDirectory="/org.eclipse.jem.edit/src" editorDirectory="/org.eclipse.jem.editor/src"
- modelPluginID="" modelName="Java" modelPluginClass="" editPluginClass="java.provider.JavaEditPlugin"
- editorPluginClass="java.presentation.JavaEditorPlugin" updateClasspath="false"
- usedGenPackages="../../org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore">
- <foreignModel>..\rose\javaModel.mdl</foreignModel>
- <foreignModel>WorkspaceRoot</foreignModel>
- <foreignModel>../..</foreignModel>
- <genPackages prefix="JavaRef" basePackage="org.eclipse.jem" ecorePackage="java.ecore#/">
- <genEnums ecoreEnum="java.ecore#//TypeKind">
- <genEnumLiterals ecoreEnumLiteral="java.ecore#//TypeKind/UNDEFINED"/>
- <genEnumLiterals ecoreEnumLiteral="java.ecore#//TypeKind/CLASS"/>
- <genEnumLiterals ecoreEnumLiteral="java.ecore#//TypeKind/INTERFACE"/>
- <genEnumLiterals ecoreEnumLiteral="java.ecore#//TypeKind/EXCEPTION"/>
- </genEnums>
- <genEnums ecoreEnum="java.ecore#//JavaVisibilityKind">
- <genEnumLiterals ecoreEnumLiteral="java.ecore#//JavaVisibilityKind/PUBLIC"/>
- <genEnumLiterals ecoreEnumLiteral="java.ecore#//JavaVisibilityKind/PRIVATE"/>
- <genEnumLiterals ecoreEnumLiteral="java.ecore#//JavaVisibilityKind/PROTECTED"/>
- <genEnumLiterals ecoreEnumLiteral="java.ecore#//JavaVisibilityKind/PACKAGE"/>
- </genEnums>
- <genEnums ecoreEnum="java.ecore#//JavaParameterKind">
- <genEnumLiterals ecoreEnumLiteral="java.ecore#//JavaParameterKind/IN"/>
- <genEnumLiterals ecoreEnumLiteral="java.ecore#//JavaParameterKind/OUT"/>
- <genEnumLiterals ecoreEnumLiteral="java.ecore#//JavaParameterKind/INOUT"/>
- <genEnumLiterals ecoreEnumLiteral="java.ecore#//JavaParameterKind/RETURN"/>
- </genEnums>
- <genDataTypes ecoreDataType="java.ecore#//JTypeJavaHelpers"/>
- <genDataTypes ecoreDataType="java.ecore#//JTypeList"/>
- <genClasses ecoreClass="java.ecore#//JavaClass">
- <genFeatures ecoreFeature="ecore:EAttribute java.ecore#//JavaClass/kind"/>
- <genFeatures ecoreFeature="ecore:EAttribute java.ecore#//JavaClass/public"/>
- <genFeatures ecoreFeature="ecore:EAttribute java.ecore#//JavaClass/final"/>
- <genFeatures property="None" notify="false" ecoreFeature="ecore:EReference java.ecore#//JavaClass/implementsInterfaces"/>
- <genFeatures property="None" notify="false" ecoreFeature="ecore:EReference java.ecore#//JavaClass/classImport"/>
- <genFeatures property="None" notify="false" ecoreFeature="ecore:EReference java.ecore#//JavaClass/packageImports"/>
- <genFeatures property="None" children="true" ecoreFeature="ecore:EReference java.ecore#//JavaClass/fields"/>
- <genFeatures property="None" children="true" ecoreFeature="ecore:EReference java.ecore#//JavaClass/methods"/>
- <genFeatures property="None" children="true" ecoreFeature="ecore:EReference java.ecore#//JavaClass/initializers"/>
- <genFeatures property="None" ecoreFeature="ecore:EReference java.ecore#//JavaClass/declaredClasses"/>
- <genFeatures property="None" notify="false" ecoreFeature="ecore:EReference java.ecore#//JavaClass/declaringClass"/>
- <genFeatures property="Readonly" ecoreFeature="ecore:EReference java.ecore#//JavaClass/javaPackage"/>
- <genFeatures property="None" children="true" ecoreFeature="ecore:EReference java.ecore#//JavaClass/events"/>
- <genFeatures property="None" notify="false" ecoreFeature="ecore:EReference java.ecore#//JavaClass/allEvents"/>
- <genOperations ecoreOperation="java.ecore#//JavaClass/isNested"/>
- <genOperations ecoreOperation="java.ecore#//JavaClass/getField">
- <genParameters ecoreParameter="java.ecore#//JavaClass/getField/fieldName"/>
- </genOperations>
- <genOperations ecoreOperation="java.ecore#//JavaClass/getFieldExtended">
- <genParameters ecoreParameter="java.ecore#//JavaClass/getFieldExtended/fieldName"/>
- </genOperations>
- <genOperations ecoreOperation="java.ecore#//JavaClass/getFieldNamed">
- <genParameters ecoreParameter="java.ecore#//JavaClass/getFieldNamed/fieldName"/>
- </genOperations>
- <genOperations ecoreOperation="java.ecore#//JavaClass/getFieldsExtended"/>
- <genOperations ecoreOperation="java.ecore#//JavaClass/getMethod">
- <genParameters ecoreParameter="java.ecore#//JavaClass/getMethod/methodName"/>
- <genParameters ecoreParameter="java.ecore#//JavaClass/getMethod/parameterTypes"/>
- </genOperations>
- <genOperations ecoreOperation="java.ecore#//JavaClass/getMethodElementSignatures"/>
- <genOperations ecoreOperation="java.ecore#//JavaClass/getMethodExtended">
- <genParameters ecoreParameter="java.ecore#//JavaClass/getMethodExtended/methodName"/>
- <genParameters ecoreParameter="java.ecore#//JavaClass/getMethodExtended/parameterTypes"/>
- </genOperations>
- <genOperations ecoreOperation="java.ecore#//JavaClass/getMethodsExtended"/>
- <genOperations ecoreOperation="java.ecore#//JavaClass/getOnlySpecificMethods">
- <genParameters ecoreParameter="java.ecore#//JavaClass/getOnlySpecificMethods/aMethodNamePrefix"/>
- <genParameters ecoreParameter="java.ecore#//JavaClass/getOnlySpecificMethods/excludedNames"/>
- </genOperations>
- <genOperations ecoreOperation="java.ecore#//JavaClass/getPublicMethod">
- <genParameters ecoreParameter="java.ecore#//JavaClass/getPublicMethod/methodName"/>
- <genParameters ecoreParameter="java.ecore#//JavaClass/getPublicMethod/parameterTypes"/>
- </genOperations>
- <genOperations ecoreOperation="java.ecore#//JavaClass/getPublicMethods"/>
- <genOperations ecoreOperation="java.ecore#//JavaClass/getPublicMethodsExtended"/>
- <genOperations ecoreOperation="java.ecore#//JavaClass/getPublicMethodsNamed">
- <genParameters ecoreParameter="java.ecore#//JavaClass/getPublicMethodsNamed/name"/>
- </genOperations>
- <genOperations ecoreOperation="java.ecore#//JavaClass/getSupertype"/>
- <genOperations ecoreOperation="java.ecore#//JavaClass/implementsInterface">
- <genParameters ecoreParameter="java.ecore#//JavaClass/implementsInterface/interfaceType"/>
- </genOperations>
- <genOperations ecoreOperation="java.ecore#//JavaClass/infoString"/>
- <genOperations ecoreOperation="java.ecore#//JavaClass/inheritsFrom">
- <genParameters ecoreParameter="java.ecore#//JavaClass/inheritsFrom/javaClass"/>
- </genOperations>
- <genOperations ecoreOperation="java.ecore#//JavaClass/isExistingType"/>
- <genOperations ecoreOperation="java.ecore#//JavaClass/isInterface"/>
- <genOperations ecoreOperation="java.ecore#//JavaClass/setSupertype">
- <genParameters ecoreParameter="java.ecore#//JavaClass/setSupertype/javaclass"/>
- </genOperations>
- </genClasses>
- <genClasses ecoreClass="java.ecore#//Initializer">
- <genFeatures ecoreFeature="ecore:EAttribute java.ecore#//Initializer/isStatic"/>
- <genFeatures property="None" notify="false" ecoreFeature="ecore:EReference java.ecore#//Initializer/javaClass"/>
- <genFeatures property="Readonly" ecoreFeature="ecore:EReference java.ecore#//Initializer/source"/>
- </genClasses>
- <genClasses ecoreClass="java.ecore#//JavaParameter">
- <genFeatures ecoreFeature="ecore:EAttribute java.ecore#//JavaParameter/final"/>
- <genFeatures ecoreFeature="ecore:EAttribute java.ecore#//JavaParameter/parameterKind"/>
- <genOperations ecoreOperation="java.ecore#//JavaParameter/isArray"/>
- <genOperations ecoreOperation="java.ecore#//JavaParameter/isReturn"/>
- <genOperations ecoreOperation="java.ecore#//JavaParameter/getJavaType"/>
- <genOperations ecoreOperation="java.ecore#//JavaParameter/getQualifiedName"/>
- </genClasses>
- <genClasses ecoreClass="java.ecore#//Method">
- <genFeatures ecoreFeature="ecore:EAttribute java.ecore#//Method/abstract"/>
- <genFeatures ecoreFeature="ecore:EAttribute java.ecore#//Method/native"/>
- <genFeatures ecoreFeature="ecore:EAttribute java.ecore#//Method/synchronized"/>
- <genFeatures ecoreFeature="ecore:EAttribute java.ecore#//Method/final"/>
- <genFeatures ecoreFeature="ecore:EAttribute java.ecore#//Method/constructor"/>
- <genFeatures ecoreFeature="ecore:EAttribute java.ecore#//Method/static"/>
- <genFeatures ecoreFeature="ecore:EAttribute java.ecore#//Method/javaVisibility"/>
- <genFeatures property="None" children="true" ecoreFeature="ecore:EReference java.ecore#//Method/parameters"/>
- <genFeatures property="None" notify="false" ecoreFeature="ecore:EReference java.ecore#//Method/javaExceptions"/>
- <genFeatures property="None" notify="false" ecoreFeature="ecore:EReference java.ecore#//Method/javaClass"/>
- <genFeatures property="Readonly" ecoreFeature="ecore:EReference java.ecore#//Method/source"/>
- <genOperations ecoreOperation="java.ecore#//Method/getContainingJavaClass"/>
- <genOperations ecoreOperation="java.ecore#//Method/getMethodElementSignature"/>
- <genOperations ecoreOperation="java.ecore#//Method/getParameter">
- <genParameters ecoreParameter="java.ecore#//Method/getParameter/parameterName"/>
- </genOperations>
- <genOperations ecoreOperation="java.ecore#//Method/getReturnType"/>
- <genOperations ecoreOperation="java.ecore#//Method/setReturnType">
- <genParameters ecoreParameter="java.ecore#//Method/setReturnType/type"/>
- </genOperations>
- <genOperations ecoreOperation="java.ecore#//Method/getSignature"/>
- <genOperations ecoreOperation="java.ecore#//Method/isGenerated"/>
- <genOperations ecoreOperation="java.ecore#//Method/setIsGenerated">
- <genParameters ecoreParameter="java.ecore#//Method/setIsGenerated/generated"/>
- </genOperations>
- <genOperations ecoreOperation="java.ecore#//Method/isVoid"/>
- </genClasses>
- <genClasses ecoreClass="java.ecore#//Field">
- <genFeatures ecoreFeature="ecore:EAttribute java.ecore#//Field/final"/>
- <genFeatures ecoreFeature="ecore:EAttribute java.ecore#//Field/static"/>
- <genFeatures ecoreFeature="ecore:EAttribute java.ecore#//Field/javaVisibility"/>
- <genFeatures ecoreFeature="ecore:EAttribute java.ecore#//Field/transient"/>
- <genFeatures ecoreFeature="ecore:EAttribute java.ecore#//Field/volatile"/>
- <genFeatures property="None" notify="false" ecoreFeature="ecore:EReference java.ecore#//Field/javaClass"/>
- <genFeatures property="None" children="true" ecoreFeature="ecore:EReference java.ecore#//Field/initializer"/>
- <genOperations ecoreOperation="java.ecore#//Field/getContainingJavaClass"/>
- <genOperations ecoreOperation="java.ecore#//Field/isArray"/>
- </genClasses>
- <genClasses ecoreClass="java.ecore#//Block">
- <genFeatures ecoreFeature="ecore:EAttribute java.ecore#//Block/source"/>
- <genFeatures ecoreFeature="ecore:EAttribute java.ecore#//Block/name"/>
- <genFeatures property="None" children="true" ecoreFeature="ecore:EReference java.ecore#//Block/contents"/>
- </genClasses>
- <genClasses ecoreClass="java.ecore#//Comment"/>
- <genClasses ecoreClass="java.ecore#//Statement"/>
- <genClasses ecoreClass="java.ecore#//JavaPackage">
- <genFeatures property="None" notify="false" ecoreFeature="ecore:EReference java.ecore#//JavaPackage/javaClasses"/>
- </genClasses>
- <genClasses ecoreClass="java.ecore#//JavaDataType">
- <genOperations ecoreOperation="java.ecore#//JavaDataType/getDefaultValueString"/>
- </genClasses>
- <genClasses ecoreClass="java.ecore#//ArrayType">
- <genFeatures ecoreFeature="ecore:EAttribute java.ecore#//ArrayType/arrayDimensions"/>
- <genFeatures property="Readonly" ecoreFeature="ecore:EReference java.ecore#//ArrayType/componentType"/>
- <genOperations ecoreOperation="java.ecore#//ArrayType/getFinalComponentType"/>
- <genOperations ecoreOperation="java.ecore#//ArrayType/getComponentTypeAsHelper"/>
- <genOperations ecoreOperation="java.ecore#//ArrayType/isPrimitiveArray"/>
- <genOperations ecoreOperation="java.ecore#//ArrayType/setComponentType">
- <genParameters ecoreParameter="java.ecore#//ArrayType/setComponentType/helperComponentType"/>
- </genOperations>
- </genClasses>
- <genClasses ecoreClass="java.ecore#//JavaEvent"/>
- </genPackages>
-</genmodel:GenModel>
diff --git a/plugins/org.eclipse.jem/mofjava/javaadapters.properties b/plugins/org.eclipse.jem/mofjava/javaadapters.properties
deleted file mode 100644
index 99c8ce365..000000000
--- a/plugins/org.eclipse.jem/mofjava/javaadapters.properties
+++ /dev/null
@@ -1,26 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/plugins/org.eclipse.jem/mofjava/javaadapters.properties,v $
-# $Revision: 1.4 $ $Date: 2005/02/15 22:37:02 $
-#
-
-Failed_reflecting_values_ERROR_ = IWAV0002E Failed reflecting values.
-Could_Not_Reflect_Methods_ERROR_ = IWAV0003E Could not reflect methods for {0} because one of the methods references a type that could not be loaded. Exception: {1}
-Could_Not_Reflect_Constructors_ERROR_ = IWAV0142E Could not reflect constructors for {0} because one of the methods references a type that could not be loaded. Exception: {1}
-Could_Not_Reflect_Fields_ERROR_ = IWAV0143E Could not reflect fields for {0} because one of the fields is a type that could not be loaded. Exception: {1}
-Error_Looking_Up_Type_ERROR_ = IWAV0144E Error looking up type {0}. Exception: {1}
-Error_Introspecting_Flags_ERROR_ = IWAV0145E Error introspecting flags on {0}. Exception: {1}
-Error_Setting_GenFlag_ERROR_ = IWAV0153E Error setting the generated flag on {0}. Exception: {1}
-Java_Inh_Cycle_ERROR_ = IWAV0154E Detected an inheritance cycle when {0} trys to extend {1}.
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/core/JEMPlugin.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/core/JEMPlugin.java
deleted file mode 100644
index 1018ea01b..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/core/JEMPlugin.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: JEMPlugin.java,v $
- * $Revision: 1.7 $ $Date: 2005/02/15 22:37:02 $
- */
-package org.eclipse.jem.internal.core;
-
-import org.eclipse.core.runtime.Plugin;
-import org.osgi.framework.BundleContext;
-
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jem.util.logger.proxyrender.EclipseLogger;
-
-
-/**
- * org.eclipse.jem plugin
- */
-public class JEMPlugin extends Plugin {
-
- private static JEMPlugin PLUGIN;
- private Logger logger;
-
- public JEMPlugin() {
- PLUGIN = this;
- }
-
- public static JEMPlugin getPlugin() {
- return PLUGIN;
- }
-
-
- /* (non-Javadoc)
- * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
- */
- public void start(BundleContext context) throws Exception {
- super.start(context);
- logger = EclipseLogger.getEclipseLogger(this);
- }
-
- public Logger getLogger() {
- return logger;
- }
-
-}
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/IJavaClassAdaptor.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/IJavaClassAdaptor.java
deleted file mode 100644
index 467c3ef95..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/IJavaClassAdaptor.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.java.adapters;
-/*
- * $RCSfile: IJavaClassAdaptor.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:37:02 $
- */
-/**
- * Insert the type's description here.
- * Creation date: (8/27/2001 1:17:46 PM)
- * @author: Administrator
- */
-public interface IJavaClassAdaptor {
-/**
- * Return true if the sourceType is null or if
- * it is a binary type.
- */
-boolean isSourceTypeFromBinary() ;
-/**
- * Return true if the sourceType can be found.
- */
-boolean sourceTypeExists() ;
-
-/**
- * Reflect the fields
- * @return <code>true</code> if reflection occurred.
- *
- * @since 1.0.0
- */
-boolean reflectFieldsIfNecessary();
-
-/**
- * Reflect the methods.
- * @return <code>true</code> if reflection occurred.
- *
- * @since 1.0.0
- */
-boolean reflectMethodsIfNecessary();
-}
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/IJavaMethodAdapter.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/IJavaMethodAdapter.java
deleted file mode 100644
index 0e7b96c3b..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/IJavaMethodAdapter.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: IJavaMethodAdapter.java,v $
- * $Revision: 1.3 $ $Date: 2005/02/15 22:37:02 $
- */
-package org.eclipse.jem.internal.java.adapters;
-
-
-/**
- * Used to reflect methods
- * @since 1.0.0
- */
-public interface IJavaMethodAdapter {
-
- /**
- * Reflect the generated if necessary.
- * @return <code>true</code> if reflection occurred.
- *
- * @since 1.0.0
- */
- public boolean reflectGeneratedIfNecessary();
-
- /**
- * Reflect the names of the method parameters if necessary.
- * @return <code>true</code> if reflection occurred.
- *
- * @since 1.0.0
- */
- public boolean reflectParamNamesIfNecessary();
-}
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/IJavaReflectionKeyExtension.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/IJavaReflectionKeyExtension.java
deleted file mode 100644
index 28bc6c4be..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/IJavaReflectionKeyExtension.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.eclipse.jem.internal.java.adapters;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: IJavaReflectionKeyExtension.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:37:02 $
- */
-/**
- * Interface for JavaReflectionKeyExtensions.
- * They are registered with the JavaXMIFactoryImpl.
- *
- * @version 1.0
- * @author R. L. Kulp
- */
-public interface IJavaReflectionKeyExtension {
-
- /**
- * Return object for the given id. Return null if this extension doesn't
- * process this type of id.
- */
- public Object getObject(String id, JavaReflectionKey reflectionKey);
-
-}
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/InternalReadAdaptable.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/InternalReadAdaptable.java
deleted file mode 100644
index 13926e6bd..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/InternalReadAdaptable.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.eclipse.jem.internal.java.adapters;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: InternalReadAdaptable.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:37:02 $
- */
-
-public interface InternalReadAdaptable extends org.eclipse.emf.common.notify.Notifier {
-/**
- * Implementers of this interface need to contain the following method
- * implementations:
- * public Object primRefValue(EObject a) {
- * return super.getValue(a);
- * }
- * public Object getValue(EObject a) {
- * return ReflectionAdaptor.getValue(this, a);
- * }
- */
-//public Object primRefValue(EObject a);
-void setReflected(boolean aBoolean);
-}
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/JavaArrayTypeReflectionAdapter.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/JavaArrayTypeReflectionAdapter.java
deleted file mode 100644
index f8d8a6aa0..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/JavaArrayTypeReflectionAdapter.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: JavaArrayTypeReflectionAdapter.java,v $
- * $Revision: 1.6 $ $Date: 2005/05/18 19:38:20 $
- */
-package org.eclipse.jem.internal.java.adapters;
-
-import java.util.List;
-
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.jem.java.ArrayType;
-import org.eclipse.jem.java.InheritanceCycleException;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaHelpers;
-import org.eclipse.jem.java.JavaRefFactory;
-import org.eclipse.jem.java.impl.ArrayTypeImpl;
-
-/**
- * Array type reflection adapter. Since arrays are very constant we don't need any fancy reflection to the source type (class object). It really
- * doesn't do anything. It is just here so that it exists. Everything is constant or depends on the final component type.
- *
- * @since 1.0.0
- */
-public class JavaArrayTypeReflectionAdapter extends JavaReflectionAdaptor implements IJavaClassAdaptor {
-
- public JavaArrayTypeReflectionAdapter(Notifier target) {
- super(target);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.java.adapters.JavaReflectionAdaptor#getReflectionSource()
- */
- public Object getReflectionSource() {
- return null; // There isn't any for arrays.
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.java.adapters.JavaReflectionAdaptor#hasReflectionSource()
- */
- public boolean hasReflectionSource() {
- // This method is used to determine if valid, so we pass on to use the final component.
- ArrayType jh = (ArrayType) getTarget();
- JavaHelpers fc = jh.getFinalComponentType();
- return (fc.isPrimitive() || ((JavaClass) fc).isExistingType());
- }
-
- public boolean hasCachedReflectionSource() {
- ArrayType jh = (ArrayType) getTarget();
- JavaHelpers fc = jh.getFinalComponentType();
- if(fc.isPrimitive())
- return true;
- else {
- JavaReflectionAdaptor reflectionAdaptor = (JavaReflectionAdaptor) EcoreUtil.getExistingAdapter(fc, ReflectionAdaptor.TYPE_KEY);
- return (reflectionAdaptor != null) ? reflectionAdaptor.hasCachedReflectionSource() : false;
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.java.adapters.ReflectionAdaptor#reflectValues()
- */
- public boolean reflectValues() {
- ArrayTypeImpl at = (ArrayTypeImpl) getTarget();
-
- // Arrays are always:
- // final
- // Supertype of java.lang.Object
- // implements java.lang.Cloneable, java.io.Serializable
- at.setFinal(true);
- try {
- at.setSupertype((JavaClass) JavaRefFactory.eINSTANCE.reflectType("java.lang.Object", (EObject) getTarget())); //$NON-NLS-1$
- } catch (InheritanceCycleException e) {
- }
- List list = at.getImplementsInterfacesGen();
- list.add(JavaRefFactory.eINSTANCE.createClassRef("java.lang.Cloneable")); //$NON-NLS-1$
- list.add(JavaRefFactory.eINSTANCE.createClassRef("java.io.Serializable")); //$NON-NLS-1$
- return super.reflectValues();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.java.adapters.JavaReflectionAdaptor#flushReflectedValues(boolean)
- */
- protected boolean flushReflectedValues(boolean clearCachedModelObject) {
- ArrayTypeImpl at = (ArrayTypeImpl) getTarget();
- at.getImplementsInterfacesGen().clear();
- return true;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.java.adapters.IJavaClassAdaptor#isSourceTypeFromBinary()
- */
- public boolean isSourceTypeFromBinary() {
- return false;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.java.adapters.IJavaClassAdaptor#reflectFieldsIfNecessary()
- */
- public synchronized boolean reflectFieldsIfNecessary() {
- return reflectValuesIfNecessary();
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.java.adapters.IJavaClassAdaptor#reflectMethodsIfNecessary()
- */
- public synchronized boolean reflectMethodsIfNecessary() {
- return reflectValuesIfNecessary();
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.java.adapters.IJavaClassAdaptor#sourceTypeExists()
- */
- public boolean sourceTypeExists() {
- return hasReflectionSource();
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/JavaReflectionAdapterFactory.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/JavaReflectionAdapterFactory.java
deleted file mode 100644
index 118cd2e1a..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/JavaReflectionAdapterFactory.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.java.adapters;
-/*
- * $RCSfile: JavaReflectionAdapterFactory.java,v $
- * $Revision: 1.6 $ $Date: 2005/02/15 22:37:02 $
- */
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-
-import org.eclipse.jem.java.JavaRefPackage;
-public abstract class JavaReflectionAdapterFactory extends AdapterFactoryImpl {
- // Maintain a mapping of the source objects to the adaptors which have
- // relfected from them. This allows a flush operation to force those
- // adapters to re-reflect.
- protected HashMap reflected = new HashMap();
- /**
- * Key for the type of adapters that this factory creates. (Used in isFactoryForType()).
- */
- public static final String TYPE_KEY = ReadAdaptor.TYPE_KEY;
- protected boolean isBusyIteratingReflected = false;
- protected Map registerQueue;
- protected List unregisterQueue;
-/**
- * JavaReflectionAdapterFactory constructor comment.
- */
-public JavaReflectionAdapterFactory() {
- super();
-}
-public Adapter createAdapter(Notifier target) {
- ReflectionAdaptor adapter = null;
- EObject object = (EObject) target;
- JavaRefPackage pack = getJavaRefPackage();
- if (object.eClass() == pack.getJavaClass())
- adapter = createJavaClassAdaptor(target);
- else
- if (object.eClass() == pack.getArrayType())
- adapter = createArrayTypeAdaptor(target);
- else
- if (object.eClass() == pack.getMethod())
- adapter = createJavaMethodAdaptor(target);
- else
- if (object.eClass() == pack.getField())
- adapter = createJavaFieldAdaptor(target);
- return adapter;
-}
-
-protected ReflectionAdaptor createArrayTypeAdaptor(Notifier target) {
- return new JavaArrayTypeReflectionAdapter(target);
-}
-
-protected abstract ReflectionAdaptor createJavaClassAdaptor(Notifier target) ;
-protected abstract ReflectionAdaptor createJavaFieldAdaptor(Notifier target) ;
-protected abstract ReflectionAdaptor createJavaMethodAdaptor(Notifier target) ;
-// Flush the adapter for a source object
-public Notification disAssociateSource(String source) {
- return disAssociateSource(source, true);
-}
-
-public Notification disAssociateSource(String source, boolean doNotify) {
- JavaReflectionAdaptor a = (JavaReflectionAdaptor) reflected.get(source);
- Notification notification = null;
- if (a != null) {
- if (doNotify)
- a.releaseSourceType();
- else
- notification = a.releaseSourceTypeNoNotification();
- }
- return notification;
-}
-public void flushAll() {}
-// Flush the adapter for a source object
-public void flushReflection(String source) {}
-protected JavaRefPackage getJavaRefPackage() {
- return (JavaRefPackage) EPackage.Registry.INSTANCE.getEPackage(JavaRefPackage.eNS_URI);
-}
-public void registerReflection(String source, ReflectionAdaptor adapter) {
- if (isBusyIteratingReflected) {
- if (registerQueue == null)
- registerQueue = new HashMap();
- registerQueue.put(source, adapter);
- } else
- reflected.put(source, adapter);
-}
-public void unregisterReflection(String source) {
- if (isBusyIteratingReflected) {
- if (unregisterQueue == null)
- unregisterQueue = new ArrayList();
- unregisterQueue.add(source);
- } else
- reflected.remove(source);
-}
-public void disAssociateSourcePlusInner(String source) {
- disAssociateSourcePlusInner(source, true);
-}
-
-public Notification disAssociateSourcePlusInner(String source, boolean doNotify) {
- isBusyIteratingReflected = true;
- Notification notification = null;
- try {
- String innerName = source + '$';
- Iterator it = reflected.entrySet().iterator();
- Map.Entry entry;
- String key;
- JavaReflectionAdaptor adaptor;
- while (it.hasNext()) {
- entry = (Map.Entry) it.next();
- key = (String) entry.getKey();
- if (key.equals(source) || key.startsWith(innerName)) {
- adaptor = (JavaReflectionAdaptor) reflected.get(key);
- if (adaptor != null) {
- if (doNotify)
- adaptor.releaseSourceType();
- else
- notification = adaptor.releaseSourceTypeNoNotification();
- }
- }
- }
- } finally {
- finishedIteratingReflected();
- }
- return notification;
-}
-
-protected void finishedIteratingReflected() {
- isBusyIteratingReflected = false;
- if (unregisterQueue != null && !unregisterQueue.isEmpty()) {
- for (int i = 0; i < unregisterQueue.size(); i++) {
- reflected.remove(unregisterQueue.get(i));
- }
- unregisterQueue.clear();
- }
- if (registerQueue != null && !registerQueue.isEmpty()) {
- Iterator it = registerQueue.entrySet().iterator();
- Map.Entry entry;
- while (it.hasNext()) {
- entry = (Map.Entry) it.next();
- reflected.put(entry.getKey(), entry.getValue());
- }
- registerQueue.clear();
- }
-}
-public boolean isFactoryForType(Object type) {
- return TYPE_KEY.equals(type);
-}
-}
-
-
-
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/JavaReflectionAdaptor.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/JavaReflectionAdaptor.java
deleted file mode 100644
index 534ac53bf..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/JavaReflectionAdaptor.java
+++ /dev/null
@@ -1,279 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.java.adapters;
-/*
- * $RCSfile: JavaReflectionAdaptor.java,v $
- * $Revision: 1.11 $ $Date: 2005/02/15 22:37:02 $
- */
-import java.util.List;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.*;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-
-import org.eclipse.jem.java.*;
-import org.eclipse.jem.util.logger.proxy.Logger;
-
-/**
- *
- */
-public abstract class JavaReflectionAdaptor extends ReflectionAdaptor {
- private static final String C_METHOD_DEFAULT_CTOR = String.valueOf(C_METHOD_PARM_DELIMITER) + S_CONSTRUCTOR_TOKEN;
- protected static final String LEFT_BRACKET = "[";//$NON-NLS-1$
-
- /**
- * Special notification event type. This is sent against a JavaClass (as the target) whenever flush of the reflection occurs. It will be
- * sent under the notification event type of REFLECTION_EVENT.
- * @since 1.1.0
- */
- public static final EAttribute FLUSH_REFLECTION_EVENT = EcorePackage.eINSTANCE.getEcoreFactory().createEAttribute();
-
- /**
- * Special notification event type. This is sent against a JavaClass (as the target) whenever flush of a new class (i.e.
- * no source was found) of the reflection occurs. It will be
- * sent under the notification event type of REFLECTION_EVENT.
- * @since 1.1.0
- */
- public static final EAttribute FLUSH_NEW_REFLECTION_EVENT = EcorePackage.eINSTANCE.getEcoreFactory().createEAttribute();
-
- /*
- * Fill in the name. Not really needed but it would be nice.
- */
- static {
- FLUSH_REFLECTION_EVENT.setName("flushReflectedValues"); //$NON-NLS-1$
- FLUSH_NEW_REFLECTION_EVENT.setName("flushNewReflectedValues"); //$NON-NLS-1$
- }
- protected boolean hasFlushed = false;
- protected boolean isFlushing = false;
-/**
- * JavaReflectionAdapter constructor comment.
- */
-public JavaReflectionAdaptor() {
- super();
-}
-/**
- * JavaReflectionAdapter constructor comment.
- * @param target org.eclipse.emf.common.notify.Notifier
- */
-public JavaReflectionAdaptor(org.eclipse.emf.common.notify.Notifier target) {
- super(target);
-}
-/**
- * createBlock - instantiate a Block containing the passed source
- */
-public Block createBlock(String name, String sourceString) {
- Block newBlock = getJavaFactory().createBlock();
- newBlock.setName(name + "_" + "block");//$NON-NLS-2$//$NON-NLS-1$
- newBlock.setSource(sourceString);
- return newBlock;
-}
-/**
- * setSuper - set our supertype here, implemented interface are handled separately
- */
-public JavaClass createJavaClassRef(String targetName) {
- JavaClass ref = org.eclipse.jem.java.impl.JavaRefFactoryImpl.getActiveFactory().createJavaClass();
- JavaURL javaurl = new JavaURL(targetName);
- ((InternalEObject) ref).eSetProxyURI(URI.createURI(javaurl.getFullString()));
- return ref;
-}
-/**
- * createJavaParameter - instantiate a Java Parameter based on the passed name and type name (a simple name, NOT A SIGNATURE!!!)
- * The id for a parameter has to be complex in order to be parsable into class, method, and parm.
- * It is created by appending the parm name to the method id, with a known separator.
- * It will look something like "Foo.doSomething(java.lang.Integer-arg0"
- */
-public JavaParameter createJavaParameter(Method parentMethod, String parmName, String parmTypeName) {
- JavaParameter newParm = getJavaFactory().createJavaParameter();
- if (parmName!=null)
- newParm.setName(parmName);
-// ((InternalEObject)newParm).eSetID(parentMethod.eID() + C_METHODID_PARMID_DELIMITER + parmName);
- String classRefString = parmTypeName;
- newParm.setEType(createJavaClassRef(classRefString));
- return newParm;
-}
-/**
- * This method will return a List of dimensions for a typeName.
- * For example "foo[][]" would return a List of Integers
- * 1, 1. At some point we may want to actually capture the size
- * for Fields but we would need the initializer source to determine that.
- */
-public List getArrayDimensions(String typeName) {
- List dimensions = new java.util.ArrayList();
- if (typeName != null) {
- int begin = 0;
- int index = -1;
- while (begin < typeName.length()) {
- index = typeName.indexOf(LEFT_BRACKET, begin);
- if (index > -1) {
- dimensions.add(new Integer(1));
- begin = index + 1;
- } else {
- begin = typeName.length();
- }
- }
- }
- return dimensions;
-}
-/* Get the Java Factory
- */
-protected static JavaRefFactory getJavaFactory() {
- return ((org.eclipse.jem.java.JavaRefPackage)EPackage.Registry.INSTANCE.getEPackage(org.eclipse.jem.java.JavaRefPackage.eNS_URI)).getJavaRefFactory();
-}
-public abstract Object getReflectionSource();
-/**
- * getTypeNamesFromMethodUUID - Pull the parm type names out of a method ID
- * It will be in the form: "simpleclass.methodName(com.fronk.Parm1_type,parm2type"
- */
-protected static String[] getTypeNamesFromMethodID(String methodID) {
- if (methodID.charAt(methodID.length()-1) == C_METHOD_PARM_DELIMITER || methodID.endsWith(C_METHOD_DEFAULT_CTOR))
- return emptyStringArray;
-
- // Count the parms first. The number of parms is the number of occurrences of ',' + 1
- int numParms = 1;
- int pos = -1;
- // Skip the '.' after classname
- pos = methodID.indexOf(C_CLASS_MEMBER_DELIMITER, ++pos);
- // Look for the start of the parms
- int parmPos = methodID.indexOf(C_METHOD_PARM_DELIMITER, ++pos);
- pos = parmPos;
- while ((pos = methodID.indexOf(C_PARM_PARM_DELIMITER, ++pos)) != -1)
- numParms++;
- String[] parmTypeNames = new String[numParms];
- // now collect the parm names
- // skip the method name
- pos = parmPos;
- int i = 0, end;
- do {
- end = methodID.indexOf(C_PARM_PARM_DELIMITER, pos + 1);
- // This is the last parameter, we may need to strip a trailing &V for a constructor
- if (end == -1)
- end = methodID.indexOf(S_CONSTRUCTOR_TOKEN, pos + 1);
- // otherwise take the rest of the ID
- if (end == -1)
- end = methodID.length();
- parmTypeNames[i++] = methodID.substring(pos + 1, end);
- } while ((pos = methodID.indexOf(C_PARM_PARM_DELIMITER, ++pos)) != -1);
- return parmTypeNames;
-}
-public abstract boolean hasCachedReflectionSource();
-
-public boolean hasReflectionSource() {
- return getReflectionSource() != null;
-}
-
-/**
- * Subclasses should override.
- *
- */
-public void releaseSourceType(){
-}
-
-/**
- * Subclasses should override.
- * @return
- */
-public Notification releaseSourceTypeNoNotification() {
- return null;
-}
-
-public static void releaseSourceType(JavaClass javaClass) {
- if (javaClass == null)
- return;
-
- JavaReflectionAdaptor existing = (JavaReflectionAdaptor) retrieveAdaptorFrom(javaClass);
- if (existing != null)
- existing.releaseSourceType();
-}
-/*
- * This method is called by a Field Adaptor to set the type of aField
- * to be aTypeName. aTypeName may contain array brackets which need
- * to be detected in order to set the array dimensions on aField.
- */
-protected void setFieldType(Field aField, String aTypeName) {
- if (aField != null && aTypeName != null) {
- String classRefString = aTypeName;
- aField.setEType(createJavaClassRef(classRefString));
- }
-}
-public final boolean flushReflectedValuesIfNecessary() {
- return flushReflectedValuesIfNecessary(false);
-}
-public final boolean flushReflectedValuesIfNecessary(boolean clearCachedModelObject) {
- Notification not = flushReflectedValuesIfNecessaryNoNotification(clearCachedModelObject);
- if (not != null)
- getTarget().eNotify(not);
- return hasFlushed;
-}
-
-public synchronized Notification flushReflectedValuesIfNecessaryNoNotification(boolean clearCachedModelObject) {
- if (!hasFlushed && !isFlushing) {
- boolean isExisting = hasCachedReflectionSource();
- try {
- isFlushing = true;
- hasReflected = false;
- hasFlushed = flushReflectedValues(clearCachedModelObject);
- } catch (Throwable e) {
- hasFlushed = false;
- Logger.getLogger().log(e);
- if (e instanceof RuntimeException)
- throw (RuntimeException) e;
- else if (e instanceof Error)
- throw (Error) e;
- else
- throw new RuntimeException(e.getMessage());
- } finally {
- isFlushing = false;
- postFlushReflectedValuesIfNecessary(isExisting);
- }
- return createFlushNotification(isExisting);
- }
- return null;
-}
-
-/**
- * @param isExisting
- * @return
- */
-protected Notification createFlushNotification(boolean isExisting) {
- EStructuralFeature feature = isExisting ? FLUSH_REFLECTION_EVENT : FLUSH_NEW_REFLECTION_EVENT;
- return new ENotificationImpl((InternalEObject)getTarget(),EVENT, feature, null, null);
-}
-protected void postFlushReflectedValuesIfNecessary(boolean isExisting) {
-}
-/**
- * Subclasses should override to perform the actual clearing of the values.
- */
-protected boolean flushReflectedValues(boolean clearCachedModelObject) {
- return true;
-}
-/**
- * Return a boolean indicating whether reflection had occurred.
- */
-public boolean reflectValuesIfNecessary() {
- if (isFlushing)
- return false;
- return super.reflectValuesIfNecessary();
-}
-
-/**
- * reflectValues - template method, subclasses override to pump values into target
- */
-public boolean reflectValues() {
- hasFlushed = false;
- return true;
-}
-}
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/JavaReflectionKey.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/JavaReflectionKey.java
deleted file mode 100644
index 1fce7825c..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/JavaReflectionKey.java
+++ /dev/null
@@ -1,393 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.java.adapters;
-/*
- * $RCSfile: JavaReflectionKey.java,v $
- * $Revision: 1.6 $ $Date: 2005/05/11 22:41:06 $
- */
-import java.util.*;
-
-import org.eclipse.emf.ecore.*;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-
-import org.eclipse.jem.java.*;
-
-/**
- * This key handles Java Reflection. It creates the appropriate type of entries if
- * they are not already in the resource. There is an extension mechanism for other
- * types of ids that are not recognized by this key. They are registered with the
- * JavaXMIFactory that is used to create these keys, and the factory will pass in
- * a List of these registered extension processers (IJavaReflectionKeyExtension).
- *
- * Creation date: (10/4/2000 8:24:36 AM)
- * @author: Administrator
- */
-public class JavaReflectionKey {
- /* Constants for the primitive type names
- * These are the values which are used to refer to a primitive type,
- * i.e. new JavaURL("int") or new URL("java://#int")
- * These types are cached by pre-loading documents for the primitives,
- * in "java://", and for the java.lang (Object and String) classes
- */
- static final public String N_VOID = "void"; //$NON-NLS-1$
- static final public String N_INT = "int";//$NON-NLS-1$
- static final public String N_BOOLEAN = "boolean";//$NON-NLS-1$
- static final public String N_CHAR = "char";//$NON-NLS-1$
- static final public String N_BYTE = "byte";//$NON-NLS-1$
- static final public String N_LONG = "long";//$NON-NLS-1$
- static final public String N_FLOAT = "float";//$NON-NLS-1$
- static final public String N_DOUBLE = "double";//$NON-NLS-1$
- static final public String N_SHORT = "short";//$NON-NLS-1$
- private static final Collection PRIMITIVES = new ArrayList(8);
-
- static { initializePrimitivesCollection(); }
-
- protected JavaXMIFactoryImpl.JavaXMIResource resource; //FB
- protected List extensions;
-
-public JavaReflectionKey(List extensions, JavaXMIFactoryImpl.JavaXMIResource resource) {
- this.extensions = extensions;
- this.resource = resource;
-}
-//FB END
-
-/*
- * Create an ArrayType instance in the current document
- * Handles the push and pop of the current document.
- */
-public ArrayType createArrayType() {
- return getJavaFactory().createArrayType();
-}
-/*
- * Create a JavaClass instance in the current document
- * Handles the push and pop of the current document.
- */
-public JavaClass createJavaClass() {
- return getJavaFactory().createJavaClass();
-}
-/**
- * Create a data type and put it in the primitives resource
- */
-protected EClassifier getJavaDataType(String typeName) {
- JavaDataType result = getJavaFactory().createJavaDataType();
- result.setName(typeName);
- // ((InternalEObject)result).eSetID(typeName);
- //result.eSetUUID((UUID) null);
- //result.setEPackage(getPackage());
- getPackage().getEClassifiers().add(result);
- resource.setID(result, typeName);
- return result;
-}
-/*
- * Create a Field instance in the current document
- * Handles the push and pop of the current document.
- */
-public Field createJavaField() {
- return getJavaFactory().createField();
-}
-/*
- * Create a Method instance in the current document
- * Handles the push and pop of the current document.
- */
-public Method createJavaMethod() {
- return getJavaFactory().createMethod();
-}
-/*
- * Create a JavaParameter instance in the current document
- */
-public JavaParameter createJavaParameter() {
- return getJavaFactory().createJavaParameter();
-}
-//FB/**
-//FB * Override to try to introspect objects
-//FB * that aren't found using the default mechanism.
-//FB */
-//FBpublic Object get(Object key) {
-//FB Object javaObject = super.get(key);
-//FB if (javaObject == null) {
-//FB javaObject = getObjectFromExtensions((String) key);
-//FB if (javaObject == null)
-//FB javaObject = getJavaObject((String) key);
-//FB }
-//FB return javaObject;
-//FB}
-
-//FB ADDED
-public Object get(String key) {
- Object javaObject = getObjectFromExtensions(key);
- if (javaObject == null)
- javaObject = getJavaObject(key);
- return javaObject;
-}
-//FB END
-
-/*
- * Instantiate the named class.
- * If we make it to this point, the class has not yet been instantiated or reflected.
- */
-public EClassifier getArrayType(String typeName) {
- ArrayType arrayType = this.createArrayType();
- arrayType.setName(typeName);
- // ((InternalEObject)arrayType).eSetID(typeName);
- //arrayType.eSetUUID((UUID) null);
- int pos = -1, braces = 0;
- do {
- pos = typeName.indexOf("[", pos+1);//$NON-NLS-1$
- if (pos != -1)
- braces++;
- } while (pos != -1);
- arrayType.setArrayDimensions(braces);
- //arrayType.setEPackage(getPackage());
- getPackage().getEClassifiers().add(arrayType);
- resource.setID(arrayType, typeName);
- return arrayType;
-}
-/*
- * Instantiate the named class.
- * If we make it to this point, teh class has not yet been instantiated or reflected.
- */
-public EClassifier getJavaClass(String typeName) {
- JavaClass javaClass = this.createJavaClass();
- javaClass.setName(typeName);
- // ((InternalEObject)javaClass).eSetID(javaClass.getName());
- //javaClass.eSetUUID((UUID) null);
- // javaClass.setEPackage(getPackage());
- getPackage().getEClassifiers().add(javaClass);
- resource.setID(javaClass, typeName);
- return javaClass;
-}
-/* Get the Java Factory
- */
-protected static JavaRefFactory getJavaFactory() {
- return JavaRefFactory.eINSTANCE;
-}
-/**
- * This allows for the direct retrieval of fields with the following notation:
- * field: java:/com.ibm.foo#Test.foo
- *
- */
-protected Field getJavaField(String keyValue) {
- Field result = null;
- String className, memberName;
- int memberDelimiter = keyValue.indexOf(ReflectionAdaptor.C_CLASS_MEMBER_DELIMITER);
- className = keyValue.substring(0, memberDelimiter);
- memberName = keyValue.substring(memberDelimiter + 1);
- EClassifier javaClass = (EClassifier) primGet(className);
- // if we haven't already instantiated the containing class, then go do it.
- if (javaClass == null)
- javaClass = getJavaType(className);
- if ((javaClass != null) && !((JavaHelpers) javaClass).isPrimitive()) {
- // We have a class. Now we need to force reflection, this will cause
- // the JavaReflectionKey to be updated and have the member added to the
- // list.
- ((JavaClass) javaClass).getFields();
- //FB result = (Field) super.get(keyValue); // It should now be registered.
- result = (Field) primGet(keyValue); // It should now be registered.
-
- if (result == null) {
- Field tempField = createJavaField();
- tempField.setName(memberName);
- // ((InternalEObject)tempField).eSetID(keyValue);
- //tempField.eSetUUID((UUID) null);
- ((JavaClass) javaClass).getFields().add(tempField);
- result = tempField;
- }
- }
- return result;
-}
-/**
- * This allows for the retrieval of methods with the following notation:
- * method: java:/com.ibm.foo#Test.foofoo(
- *
- */
-protected Method getJavaMethod(String keyValue) {
- Method result = null;
- String className, memberName;
- int memberDelimiter = keyValue.indexOf(ReflectionAdaptor.C_CLASS_MEMBER_DELIMITER);
- className = keyValue.substring(0, memberDelimiter);
- int parmDelimiter = keyValue.indexOf(ReflectionAdaptor.C_METHOD_PARM_DELIMITER, memberDelimiter);
- memberName = keyValue.substring(memberDelimiter + 1, parmDelimiter);
- EClassifier javaClass = (EClassifier) primGet(className);
- // if we haven't already instantiated the containing class, then go do it.
- if (javaClass == null)
- javaClass = getJavaType(className);
- if ((javaClass != null) && !((JavaHelpers) javaClass).isPrimitive()) {
- // We have a class. Now we need to force reflection, this will cause
- // the JavaReflectionKey to be updated and have the member added to the
- // list.
- ((JavaClass) javaClass).getMethods();
- result = (Method) primGet(keyValue); // It should now be registered.
-
- if (result == null) {
- Method tempMethod = createJavaMethod();
- tempMethod.setName(memberName);
- resource.setID(tempMethod, keyValue);
- ((JavaClass) javaClass).getMethods().add(tempMethod);
- result = tempMethod;
- }
- }
- return result;
-}
-/**
- * This allows for the retrieval of attributes/methods with the following notation:
- * field: java:/com.ibm.foo#Test.foo
- * method: java:/com.ibm.foo#Test.foofoo(
- * parameter: java:/com.ibm.foo#Test.foofoo(-arg0
- *
- */
-public EObject getJavaObject(String keyValue) {
- EObject result = null;
- int index = keyValue.indexOf(ReflectionAdaptor.C_CLASS_MEMBER_DELIMITER);
- if (index > 0) {
- // The reference is to a member: field, method, or parameter.
- // Take the most specific case first, a parameter.
- // Only a parameter should contain the methodID to parmID delimiter.
- boolean isParameter = (keyValue.indexOf(ReflectionAdaptor.C_METHODID_PARMID_DELIMITER, index) != -1);
- if (isParameter) {
- result = getJavaParameter(keyValue);
- } else {
- // The target is a field or method. If it has a "(", then it is a method.
- // If it is not found, then we will create a temporary object.
- int parmStart = keyValue.indexOf(ReflectionAdaptor.C_METHOD_PARM_DELIMITER, index);
- boolean isField = parmStart == -1;
- if (isField) {
- result = getJavaField(keyValue);
- } else {
- result = getJavaMethod(keyValue);
- }
- }
- } else {
- result = getJavaType(keyValue);
- }
- return result;
-}
-
-/**
- * See if the extensions can resolve this first.
- */
-protected Object getObjectFromExtensions(String keyValue) {
- if (extensions != null) {
- for (Iterator iter = extensions.iterator(); iter.hasNext();) {
- IJavaReflectionKeyExtension extension = (IJavaReflectionKeyExtension) iter.next();
- Object obj = extension.getObject(keyValue, this);
- if (obj != null)
- return obj;
- }
- }
-
- return null;
-}
-/**
- * This allows for the retrieval of parameters with the following notation:
- * parameter: java:/com.ibm.foo#Test.foofoo(-arg0
- *
- */
-protected JavaParameter getJavaParameter(String keyValue) {
- JavaParameter result = null;
- String parmName;
- int memberDelimiter = keyValue.indexOf(ReflectionAdaptor.C_CLASS_MEMBER_DELIMITER);
- int parmDelimiter = keyValue.indexOf(ReflectionAdaptor.C_METHODID_PARMID_DELIMITER, memberDelimiter);
- parmName = keyValue.substring(parmDelimiter + 1);
- // getMethod() will find or create a method
- Method method = this.getJavaMethod(keyValue.substring(parmDelimiter));
- if (method != null) {
- result = method.getParameter(parmName);
- if (result == null) {
- JavaParameter tempParameter = createJavaParameter();
- tempParameter.setName(parmName);
- // ((InternalEObject)tempParameter).eSetID(keyValue);
- // tempParameter.eSetUUID((UUID) null);
- method.getParameters().add(tempParameter);
- result = tempParameter;
- }
- }
- return result;
-}
-/**
- * Insert the method's description here.
- * Creation date: (10/4/2000 9:52:28 AM)
- * @return org.eclipse.emf.ecore.EClassifier
- * @param typeName java.lang.String
- */
-public EClassifier getJavaType(String typeName) {
- if (isPrimitive(typeName))
- return getJavaDataType(typeName);
- else if (isArray(typeName))
- return getArrayType(typeName);
- else if (isValidJavaIdentifier(typeName))
- return getJavaClass(typeName);
- return null;
-}
-
-protected boolean isValidJavaIdentifier(String typeName) {
- if (typeName.length() > 0) {
- if (Character.isJavaIdentifierStart(typeName.charAt(0))) {
- // Starts with a valid java identifier character.
- // Now see if the rest are valid.
- for (int i = 1; i < typeName.length(); i++) {
- if (!Character.isJavaIdentifierPart(typeName.charAt(i)))
- return false; // Not valid
- }
- return true;
- }
- }
- return false;
-}
-
-/**
- * Get the object from the key but don't do any
- * tries at creation of the key if not found.
- * The Key must be an ID for it to be found.
- */
-public Object primGet(String key) {
- return resource.primGetEObject(key);
-}
-protected EPackage getPackage() {
- //FB return (EPackage) super.get(JavaPackage.PACKAGE_ID);
- // return (EPackage) resource.getEObject(JavaPackage.PACKAGE_ID); //FB
- //return (EPackage) resource.getEObject(JavaPackage.PACKAGE_ID); //FB
- return (EPackage)EcoreUtil.getObjectByType(resource.getContents(), EcorePackage.eINSTANCE.getEPackage());
-}
-/**
- * Insert the method's description here.
- * Creation date: (10/4/2000 9:56:53 AM)
- */
-private static void initializePrimitivesCollection() {
- PRIMITIVES.add(N_VOID);
- PRIMITIVES.add(N_BOOLEAN);
- PRIMITIVES.add(N_BYTE);
- PRIMITIVES.add(N_CHAR);
- PRIMITIVES.add(N_DOUBLE);
- PRIMITIVES.add(N_FLOAT);
- PRIMITIVES.add(N_INT);
- PRIMITIVES.add(N_LONG);
- PRIMITIVES.add(N_SHORT);
-}
-/**
- * Return true if the passed type represents a Java Array type
- */
-public boolean isArray(String typeName) {
- return typeName.endsWith("[]");//$NON-NLS-1$
-}
-/**
- * Insert the method's description here.
- * Creation date: (10/4/2000 9:54:23 AM)
- * @return boolean
- * @param typeName java.lang.String
- */
-private boolean isPrimitive(String typeName) {
- return PRIMITIVES.contains(typeName);
-}
-}
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/JavaXMIFactoryImpl.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/JavaXMIFactoryImpl.java
deleted file mode 100644
index 622c04aea..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/JavaXMIFactoryImpl.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.java.adapters;
-/*
- * $RCSfile: JavaXMIFactoryImpl.java,v $
- * $Revision: 1.6 $ $Date: 2005/05/11 19:01:16 $
- */
-import java.io.IOException;
-import java.util.*;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.xmi.XMIResource;
-import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
-import org.eclipse.emf.ecore.xmi.impl.XMIResourceImpl;
-import org.eclipse.jem.java.JavaPackage;
-import org.eclipse.jem.java.JavaRefFactory;
-import org.eclipse.jem.java.impl.JavaFactoryImpl;
-
-/**
- * Factory to create the Resource for the Java protocol.
- *
- * It allows extensions to the reflection key to be registered with it.
- *
- * Creation date: (10/4/2000 8:22:23 AM)
- * @author: Administrator
- */
-public class JavaXMIFactoryImpl extends XMIResourceFactoryImpl {
- private static final String SCHEMA_SEPERATOR = ":/"; //$NON-NLS-1$
- public static final String SCHEME = "java"; //$NON-NLS-1$
-
- protected List extensions = new ArrayList();
-
- public static final JavaXMIFactoryImpl INSTANCE = new JavaXMIFactoryImpl();
-
- /**
- * JavaXMIFactoryImpl constructor comment.
- */
- public JavaXMIFactoryImpl() {
- super();
- }
-
- /**
- * Register an extension for java reflection key processing.
- */
- public void registerReflectionKeyExtension(IJavaReflectionKeyExtension extension) {
- extensions.add(extension);
- }
-
- /**
- * Deregister an extension for java reflection key processing.
- */
- public void deregisterReflectionKeyExtension(IJavaReflectionKeyExtension extension) {
- extensions.remove(extension);
- }
-
- protected void createJavaPackage(String packageName, String xmiuri, Resource resource) {
- // changed to allow a zero-length package name
- // for the special case of "java:/#int", etc.
- JavaRefFactory jfac = JavaRefFactory.eINSTANCE;
- JavaPackage pack = jfac.createJavaPackage();
- // Need to create and add special JavaFactory for instantiation to work.
- JavaFactoryImpl fact = new JavaFactoryImpl();
- pack.setEFactoryInstance(fact);
- if (packageName.length() > 0) {
- // Standard Java package
- pack.setNsPrefix(packageName);
- pack.setName(packageName);
- } else {
- // Primitive package
- pack.setNsPrefix(JavaPackage.PRIMITIVE_PACKAGE_NAME);
- pack.setName(JavaPackage.PRIMITIVE_PACKAGE_NAME);
- }
-
- pack.setNsURI(xmiuri);
- resource.getContents().add(pack);
- ((XMIResource) pack.eResource()).setID(pack, JavaPackage.PACKAGE_ID);
- }
- public static class JavaXMIResource extends XMIResourceImpl {
- protected JavaReflectionKey reflectionKey;
-
- public JavaXMIResource(URI uri) {
- super(uri);
- }
-
- public void setReflectionKey(JavaReflectionKey key) {
- reflectionKey = key;
- }
-
- public void load(Map options) throws IOException {
- try {
- super.load(options);
- } catch (Exception exception) {
- }
- }
-
- public EObject getEObject(String uriFragment) {
- EObject result = super.getEObject(uriFragment);
- if (result == null && reflectionKey != null) {
- result = (EObject) reflectionKey.get(uriFragment);
- }
- return result;
- }
-
- /**
- * Used by JavaReflectionKey to look directly into ID table to bypass an infinite loop. It will
- * call here because it may not of first been found, but then added, so now is found.
- *
- * @param uriFragment
- * @return
- *
- * @since 1.1.0
- */
- EObject primGetEObject(String uriFragment) {
- return super.getEObject(uriFragment);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl#useIDAttributes()
- */
- protected boolean useIDAttributes() {
- return false;
- }
-
- }
-
- public Resource createResource(URI uri) {
- JavaXMIResource resource = new JavaXMIResource(uri);
- resource.setReflectionKey(new JavaReflectionKey(extensions, resource));
-
- String uriString = uri.toString();
- createJavaPackage(stripScheme(uriString), uriString, resource);
-
- return resource;
- }
-
- public static void register() {
- Resource.Factory.Registry.INSTANCE.getProtocolToFactoryMap().put(SCHEME, INSTANCE);
- }
-
- /**
- * Strip the trailing identifier, if any, from the uri. An identifier
- * begins with # or |.
- */
- private String stripScheme(String uri) {
- int index = uri.indexOf(SCHEMA_SEPERATOR);
- if (index != -1)
- return uri.substring(index + SCHEMA_SEPERATOR.length(), uri.length());
- else
- return uri;
- }
-
-}
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/ReadAdaptor.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/ReadAdaptor.java
deleted file mode 100644
index 22ed8995e..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/ReadAdaptor.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.eclipse.jem.internal.java.adapters;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: ReadAdaptor.java,v $
- * $Revision: 1.3 $ $Date: 2005/05/18 19:38:20 $
- */
-
-import org.eclipse.emf.ecore.EObject;
-/**
- * Extended Adaptor interface which adds support for an adapter
- * providing default values for attributes.
- * Creation date: (6/6/2000 4:41:19 PM)
- * @author: Scott Rich
- */
-public interface ReadAdaptor extends org.eclipse.emf.common.notify.Adapter {
- public static final String TYPE_KEY = "JavaReflection"; //$NON-NLS-1$
- public Object getValueIn(EObject object, EObject attribute);
- public boolean reflectValuesIfNecessary(); //FB
-}
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/ReflectionAdaptor.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/ReflectionAdaptor.java
deleted file mode 100644
index fd30896bd..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/ReflectionAdaptor.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.java.adapters;
-/*
- * $RCSfile: ReflectionAdaptor.java,v $
- * $Revision: 1.11 $ $Date: 2005/05/18 19:38:20 $
- */
-import java.util.logging.Level;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.ecore.*;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-
-
-import org.eclipse.jem.internal.java.adapters.nls.ResourceHandler;
-import org.eclipse.jem.util.logger.proxy.Logger;
-/**
- * ReflectionAdaptor - a read adaptor base implementation which does a bulk
- * load of relflected values on the first request.
- * Subclasses can optimize to defer some properties.
- * Properties may also be deferred by setting their values with proxy references,
- * for example, for supertype and other referenced types.
- * Creation date: (6/6/2000 4:42:50 PM)
- * @author: Administrator
- */
-public abstract class ReflectionAdaptor extends org.eclipse.emf.common.notify.impl.AdapterImpl implements ReadAdaptor {
- public static final char C_CLASS_MEMBER_DELIMITER = '.';
- public static final char C_METHOD_PARM_DELIMITER = '(';
- public static final char C_METHODID_PARMID_DELIMITER = '-';
- public static final char C_PARM_PARM_DELIMITER = ',';
- public static final char PATH_DELIMITER = '/';
- // SW id contains & in xml file casues exception throw during load
- // public static final String S_CONSTRUCTOR_TOKEN = "&V";//$NON-NLS-1$
- public static final String S_CONSTRUCTOR_TOKEN = "_V";//$NON-NLS-1$ // SW
- // cache a static empty String[] for no parm methods
- protected static String[] emptyStringArray = new String[0];
-
-
- /**
- * Notification event type for special Reflection notifications. This will be the event type for the special ones, like REFLECTION_EVENT.
- * The listener should listen for this event type, and then check the feature for the type of special event (like REFLECTION_EVENT).
- * @since 1.1.0
- */
- public static final int EVENT = -3456; // Using a funny number to try to eliminate confliction with any other specials that may of occur from other code on the JavaClass.
-
- /**
- * Special notification event type. This is sent against a JavaClass (as the target) whenever reflection occurs. It will be
- * sent under the notification event type of REFLECTION_EVENT.
- * @since 1.1.0
- */
- public static final EAttribute REFLECTION_EVENT = EcoreFactory.eINSTANCE.createEAttribute();
-
- /*
- * Fill in the name. Not really needed but it would be nice.
- */
- static {REFLECTION_EVENT.setName("reflectValues");} //$NON-NLS-1$
-
- protected boolean hasReflected = false;
- protected boolean isReflecting = false;
-public ReflectionAdaptor() {
- super();
-}
-public ReflectionAdaptor(Notifier target) {
- super();
- setTarget(target);
-}
-/**
- * Helper method to ensure full initialization of the target. Required
- * for serialization.
- */
-public static void forceDeferredReadFor(EObject target) {
- ReflectionAdaptor adaptor = retrieveAdaptorFrom(target);
- if (adaptor != null) {
- adaptor.reflectValuesIfNecessary();
- }
-}
-protected Resource getTargetResource() {
- if (getTarget() != null)
- return ((org.eclipse.emf.ecore.EObject) getTarget()).eResource();
- return null;
-}
-/**
- * Helper method to fetch the adaptor from the object, and if it exists, get the adapted
- * value for the attribute. Overloaded for many-sided attributes where the return value would
- * otherwise be an enumeration; in this case will return an Array instead.
- */
-public static Object getValue(EObject object, EReference attribute) {
-//FB ReflectionAdaptor adaptor = retrieveAdaptorFrom(object);
-//FB if (adaptor != null)
-//FB return adaptor.getValueIn(object, attribute);
-//FB return ((IReadAdaptable) object).primRefValue(attribute);
- return object.eGet(attribute); //FB
-
-}
-/*Helper method to fetch the adaptor from the object, and if it exists, get the adapted
- *value for the attribute.
- */
-public static Object getValue(EObject object, EObject attribute) {
-//FB ReflectionAdaptor adaptor = retrieveAdaptorFrom(object);
-//FB if (adaptor != null)
-//FB return adaptor.getValueIn(object, attribute);
-//FB return ((IReadAdaptable) object).primRefValue(attribute);
- return object.eGet((EStructuralFeature)attribute); //FB
-}
-/**
- * getValueIn method comment.
- */
-public Object getValueIn(EObject object, EObject attribute) {
-//FB reflectValuesIfNecessary();
-//FB return ((IReadAdaptable) object).primRefValue(attribute);
- return object.eGet((EStructuralFeature)attribute); //FB
-}
-/**
- * isAdaptorForType method comment.
- */
-public boolean isAdapterForType(Object type) {
- return (type == ReadAdaptor.TYPE_KEY);
-}
-/**
- * reflectValues - template method, subclasses override to pump values into target
- */
-public abstract boolean reflectValues();
-/**
- * Return a boolean indicating whether reflection had occurred.
- */
-public synchronized boolean reflectValuesIfNecessary() {
- if (!hasReflected && !isReflecting) {
- try {
- isReflecting = true;
- if (!((EObject)getTarget()).eIsProxy())
- hasReflected = reflectValues();
- else
- hasReflected = false; // AS long we are a proxy, we won't reflect.
- } catch (Throwable e) {
- hasReflected = false;
- Logger logger = Logger.getLogger();
- if (logger.isLoggingLevel(Level.WARNING)) {
- logger.log(ResourceHandler.getString("Failed_reflecting_values_ERROR_"), Level.WARNING); //$NON-NLS-1$ = "Failed reflecting values!!!"
- logger.logWarning(e);
- }
- } finally {
- isReflecting = false;
- getTarget().eNotify(new ENotificationImpl((InternalEObject)getTarget(), EVENT, REFLECTION_EVENT, null, null, Notification.NO_INDEX));
- }
- }
- return hasReflected;
-}
-public static ReflectionAdaptor retrieveAdaptorFrom(EObject object) {
- synchronized (object) {
- return (ReflectionAdaptor)EcoreUtil.getRegisteredAdapter(object, ReadAdaptor.TYPE_KEY);
- }
-}
-}
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/jdk/JDKAdaptor.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/jdk/JDKAdaptor.java
deleted file mode 100644
index b2b14f2fb..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/jdk/JDKAdaptor.java
+++ /dev/null
@@ -1,320 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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.java.adapters.jdk;
-/*
- * $RCSfile: JDKAdaptor.java,v $
- * $Revision: 1.6 $ $Date: 2005/02/15 22:37:02 $
- */
-
-import java.lang.reflect.Array;
-
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.ecore.xmi.XMIResource;
-import org.eclipse.jem.java.*;
-import org.eclipse.jem.internal.java.adapters.JavaReflectionAdaptor;
-/**
- * Insert the type's description here.
- * Creation date: (6/6/2000 4:42:50 PM)
- * @author: Administrator
- */
-public abstract class JDKAdaptor extends JavaReflectionAdaptor {
- public JavaJDKAdapterFactory adapterFactory;
- public JDKAdaptor(Notifier target, JavaJDKAdapterFactory anAdapterFactory) {
- super(target);
- setAdapterFactory(anAdapterFactory);
- }
- /**
- * computeMethodID - generate the unique ID to be used to identify a constructor.
- * Similar to a Signature, but hopefully more readable.
- * The name format will be:
- * simpleClassName.simpleClassName(com.fronk.ParmType1_parmType2&V
- * Note: This implementation is tightly coupled with ReflectionAdapter.getTypeNamesFromMethodID().
- *
- * It has to be done separately for JDK because Constructors and Methods are different classes.
- * However, in the Java Model they are both just Methods with a flag indicating Constructor.
- */
- public static String computeMethodID(java.lang.reflect.Constructor jdkConstructor) {
- StringBuffer out = new StringBuffer();
- String className = getSimpleName(jdkConstructor.getDeclaringClass().getName());
- out.append(className);
- out.append(C_CLASS_MEMBER_DELIMITER);
- out.append(computeMethodName(jdkConstructor));
- out.append(C_METHOD_PARM_DELIMITER);
- Class[] parmTypes = jdkConstructor.getParameterTypes();
- for (int i = 0; i < parmTypes.length; i++) {
- out.append(parmTypes[i].getName());
- if (i < parmTypes.length - 1)
- out.append(C_PARM_PARM_DELIMITER);
- }
- out.append(S_CONSTRUCTOR_TOKEN); //It's a constructor
- return out.toString();
- }
- /**
- * computeMethodID - generate the unique ID to be used to identify a method.
- * Similar to a Signature, but hopefully more readable.
- * If there are no parms, it will end with a "(" so that it can be distictive from a field.
- * The name format will be:
- * simpleClassName.methodName(com.fronk.ParmType1_parmType2
- * Note: This implementation is tightly coupled with ReflectionAdapter.getTypeNamesFromMethodID().
- */
- public static String computeMethodID(java.lang.reflect.Method jdkMethod) {
- StringBuffer out = new StringBuffer();
- String className = getSimpleName(jdkMethod.getDeclaringClass().getName());
- out.append(className);
- out.append(C_CLASS_MEMBER_DELIMITER);
- out.append(computeMethodName(jdkMethod));
- out.append(C_METHOD_PARM_DELIMITER);
- Class[] parmTypes = jdkMethod.getParameterTypes();
- for (int i = 0; i < parmTypes.length; i++) {
- out.append(parmTypes[i].getName());
- if (i < parmTypes.length - 1)
- out.append(C_PARM_PARM_DELIMITER);
- }
- if (jdkMethod.getDeclaringClass().getName().equals(jdkMethod.getName()))
- out.append(S_CONSTRUCTOR_TOKEN); //It's a constructor
- return out.toString();
- }
- /**
- * computeMethodName - generate the name to be used to identify a constructor.
- * For the moment, names are simple, and UUID's are complex.
- *
- * It has to be done separately for JDK because Constructors and Methods are different classes.
- * However, in the Java Model they are both just Methods with a flag indicating Constructor.
- */
- public static String computeMethodName(java.lang.reflect.Constructor jdkConstructor) {
- return getSimpleName(jdkConstructor.getName()); // CTOR names come back fully-qualified with package.
- }
- /**
- * computeMethodName - generate the name to be used to identify a method.
- * For the moment, names are simple, and UUID's are complex.
- */
- public static String computeMethodName(java.lang.reflect.Method jdkMethod) {
- return jdkMethod.getName();
- }
- /**
- * createJavaField - instantiate a Java Field based on the passed Field
- * We are deferring field contents assuming that its adaptor will reflect its details.
- */
- public Field createJavaField(java.lang.reflect.Field reflectedField, XMIResource resource) {
- Field newField = getJavaFactory().createField();
- newField.setName(reflectedField.getName());
- String className = getSimpleName(reflectedField.getDeclaringClass().getName());
- resource.setID(newField, className + C_CLASS_MEMBER_DELIMITER + reflectedField.getName());
- return newField;
- }
- /**
- * createJavaMethod - instantiate a Java Method based on the passed Java Reflection Constructor
- * We are deferring method contents assuming that its adaptor will reflect its details.
- * We need to store enough info in the empty Method to find its Java source.
- * The ID will eventually hold enough info to identify the source, so we use it.
- */
- public Method createJavaMethod(java.lang.reflect.Constructor jdkConstructor, XMIResource resource) {
- Method newMethod = getJavaFactory().createMethod();
- // We use a simple name, but a complex ID
- newMethod.setName(computeMethodName(jdkConstructor));
- resource.setID(newMethod, computeMethodID(jdkConstructor));
- return newMethod;
- }
- /**
- * createJavaMethod - instantiate a Java Method based on the passed Java Reflection Method
- * We are deferring method contents assuming that its adaptor will reflect its details.
- * We need to store enough info in the empty Method to find its Java source.
- * The ID will eventually hold enough info to identify the source, so we use it.
- */
- public Method createJavaMethod(java.lang.reflect.Method jdkMethod, XMIResource resource) {
- Method newMethod = getJavaFactory().createMethod();
- // We use a simple name, but a complex ID
- newMethod.setName(computeMethodName(jdkMethod));
- resource.setID(newMethod, computeMethodID(jdkMethod));
- return newMethod;
- }
- /**
- * Insert the method's description here.
- * Creation date: (11/07/00 3:43:55 PM)
- * @return org.eclipse.jem.java.adapters.JavaJDKAdapterFactory
- */
- public JavaJDKAdapterFactory getAdapterFactory() {
- return adapterFactory;
- }
- public ClassLoader getAlternateClassLoader() {
- return getAdapterFactory().getContextClassLoader();
- }
- /*****************************************************************************
- * Method to convert the textual form of a primitive type into its Class object
- *
- * @param type The primitive type's textual representation
- */
- public static Class getPrimitiveType(String type) {
- Class c = null;
-
- if (type.equals(byte.class.getName())) {
- c = byte.class;
- } else if (type.equals(short.class.getName())) {
- c = short.class;
- } else if (type.equals(int.class.getName())) {
- c = int.class;
- } else if (type.equals(long.class.getName())) {
- c = long.class;
- } else if (type.equals(float.class.getName())) {
- c = float.class;
- } else if (type.equals(double.class.getName())) {
- c = double.class;
- } else if (type.equals(boolean.class.getName())) {
- c = boolean.class;
- } else if (type.equals(char.class.getName())) {
- c = char.class;
- } else if (type.equals(void.class.getName())) {
- c = void.class;
- }
-
- return c;
- }
- /**
- * Returns the last segment of a '.'-separated qualified name.
- * Returns the given name if it is not qualified.
- * For example:
- * <pre>
- * getSimpleName("java.lang.Object") -> "Object"
- * </pre>
- */
- public static String getSimpleName(String name) {
- int lastDot = name.lastIndexOf('.');
- if (lastDot == -1)
- return name;
- return name.substring(lastDot + 1);
- }
- public Class getType(JavaHelpers modelClass) {
- Class result = null;
- if (modelClass.isArray()) {
- ArrayType arrayType = (ArrayType) modelClass;
- Class componentClass = getType(arrayType.getFinalComponentType());
- result = (Array.newInstance(componentClass, new int[arrayType.getArrayDimensions()])).getClass();
- } else if (modelClass.isPrimitive()) {
- result = getType(modelClass.getQualifiedName());
- } else {
- result = getType(((JavaClass) modelClass).getQualifiedNameForReflection());
- }
- return result;
- }
- public Class getType(String qualifiedName) {
- // Try for a primitive type ("int","char",etc.) first
- Class primType = getPrimitiveType(qualifiedName);
- if (primType == null) {
- // Changed for defect #212147 botp@ausaix19.austin.ibm.com@7630 system.
- //
- // Search only one of the following classloaders (the first one that exists) in this order. If not found
- // in a classloader, it will not roll-over to another class loader. This is to avoid problems where a
- // class may exist in more than one classloader. You get errors when this happens due to one class that
- // was found in only one classloader that refers to another class that was found in both classloaders.
- // They don't match when trying to reflect later.
- // 1) Alternate classloader (if exists)
- // 2) Thread context classloader (if exists)
- // 3) System classloader (if exists)
- // 4) Class.forName().
- if (getAlternateClassLoader() != null) {
- try {
- return getAlternateClassLoader().loadClass(qualifiedName);
- } catch (ClassNotFoundException cnf2) {
- return null;
- }
- }
-
- ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();
- if (contextClassLoader != null) {
- try {
- return contextClassLoader.loadClass(qualifiedName);
- } catch (ClassNotFoundException e) {
- return null;
- }
- }
-
- ClassLoader systemClassLoader = ClassLoader.getSystemClassLoader();
- if (systemClassLoader != null) {
- try {
- return systemClassLoader.loadClass(qualifiedName);
- } catch (ClassNotFoundException e) {
- return null;
- }
- }
-
- try {
- return Class.forName(qualifiedName);
- } catch (ClassNotFoundException e) {
- return null;
- }
- } else
- return primType;
- }
- /*
- * Utility routine to paper over array type names
- * Borrowed from a package-visibility helper on java.lang.reflect.Field
- */
- static String getTypeName(Class type) {
- if (type.isArray()) {
- try {
- Class cl = type;
- int dimensions = 0;
- while (cl.isArray()) {
- dimensions++;
- cl = cl.getComponentType();
- }
- StringBuffer sb = new StringBuffer();
- sb.append(cl.getName());
- for (int i = 0; i < dimensions; i++) {
- sb.append("[]"); //$NON-NLS-1$
- }
- return sb.toString();
- } catch (Throwable e) { /*FALLTHRU*/
- }
- }
- return type.getName();
- }
-
- /*****************************************************************************
- * Method to convert the textual form of a primitive type into its Class object
- *
- * @param type The primitive type's textual representation
- */
- public static Class primitiveForName(String type) {
- Class c = null;
-
- if (type.equals(byte.class.getName())) {
- c = byte.class;
- } else if (type.equals(short.class.getName())) {
- c = short.class;
- } else if (type.equals(int.class.getName())) {
- c = int.class;
- } else if (type.equals(long.class.getName())) {
- c = long.class;
- } else if (type.equals(float.class.getName())) {
- c = float.class;
- } else if (type.equals(double.class.getName())) {
- c = double.class;
- } else if (type.equals(boolean.class.getName())) {
- c = boolean.class;
- } else if (type.equals(char.class.getName())) {
- c = char.class;
- } else if (type.equals(void.class.getName())) {
- c = void.class;
- }
-
- return c;
- }
-
- /**
- * Insert the method's description here.
- * Creation date: (11/07/00 3:43:55 PM)
- * @param newAdapterFactory org.eclipse.jem.java.adapters.JavaJDKAdapterFactory
- */
- public void setAdapterFactory(JavaJDKAdapterFactory newAdapterFactory) {
- adapterFactory = newAdapterFactory;
- }
-}
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/jdk/JavaClassJDKAdaptor.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/jdk/JavaClassJDKAdaptor.java
deleted file mode 100644
index 4462323b0..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/jdk/JavaClassJDKAdaptor.java
+++ /dev/null
@@ -1,341 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: JavaClassJDKAdaptor.java,v $
- * $Revision: 1.12 $ $Date: 2005/05/19 21:34:26 $
- */
-
-package org.eclipse.jem.internal.java.adapters.jdk;
-
-import java.util.List;
-import java.util.logging.Level;
-
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.xmi.XMIResource;
-
-
-import org.eclipse.jem.internal.java.adapters.IJavaClassAdaptor;
-import org.eclipse.jem.internal.java.adapters.nls.ResourceHandler;
-import org.eclipse.jem.java.*;
-import org.eclipse.jem.java.impl.JavaClassImpl;
-import org.eclipse.jem.util.logger.proxy.Logger;
-
-/**
- * Reflect the class using standard java.reflect methods.
- * Creation date: (6/6/2000 4:42:50 PM)
- * @author: Administrator
- */
-public class JavaClassJDKAdaptor extends JDKAdaptor implements IJavaClassAdaptor {
-
- protected Class sourceType = null;
-
- public JavaClassJDKAdaptor(Notifier target, JavaJDKAdapterFactory anAdapterFactory) {
- super(target, anAdapterFactory);
- }
-
- /**
- * addFields - reflect our fields
- */
- protected void addFields() {
- XMIResource resource = (XMIResource) getJavaClassTarget().eResource();
- List targetFields = getJavaClassTarget().getFieldsGen();
- targetFields.clear();
- java.lang.reflect.Field[] fields = {};
- try {
- fields = getSourceType().getDeclaredFields();
- } catch (NoClassDefFoundError error) {
- System.out.println(ResourceHandler.getString(
- "Could_Not_Reflect_Fields_ERROR_", new Object[] { getJavaClassTarget().getQualifiedName(), error.getMessage()})); //$NON-NLS-1$
- }
- for (int i = 0; i < fields.length; i++) {
- targetFields.add(createJavaField(fields[i], resource));
- }
- }
-
- /**
- * addMethods - reflect our methods
- */
- protected void addMethods() {
- // We need to first do methods and then do constructors because the JDK treats them as two
- // different objects, which the Java Model treats them as both Method's.
- XMIResource resource = (XMIResource) getJavaClassTarget().eResource();
- List targetMethods = getJavaClassTarget().getMethodsGen();
- targetMethods.clear();
- java.lang.reflect.Method[] methods = {};
- try {
- methods = getSourceType().getDeclaredMethods();
- } catch (NoClassDefFoundError error) {
- Logger logger = Logger.getLogger();
- if (logger.isLoggingLevel(Level.WARNING)) {
- logger
- .log(
- ResourceHandler
- .getString(
- "Could_Not_Reflect_Methods_ERROR_", new Object[] { getJavaClassTarget().getQualifiedName(), error.toString()}), Level.WARNING); //$NON-NLS-1$
- }
- }
- for (int i = 0; i < methods.length; i++) {
- targetMethods.add(createJavaMethod(methods[i], resource));
- }
-
- // Now do the constructors
- java.lang.reflect.Constructor[] ctors = {};
- try {
- ctors = getSourceType().getDeclaredConstructors();
- } catch (NoClassDefFoundError error) {
- Logger logger = Logger.getLogger();
- if (logger.isLoggingLevel(Level.WARNING)) {
- logger
- .log(
- ResourceHandler
- .getString(
- "Could_Not_Reflect_Constructors_ERROR_", new Object[] { getJavaClassTarget().getQualifiedName(), error.getMessage()}), Level.WARNING); //$NON-NLS-1$
- }
- }
- for (int i = 0; i < ctors.length; i++) {
- targetMethods.add(createJavaMethod(ctors[i], resource));
- }
-
- }
-
- /**
- * Clear the reflected fields list.
- */
- protected boolean flushFields() {
- getJavaClassTarget().getFieldsGen().clear();
- return true;
- }
-
- /**
- * Clear the implements list.
- */
- protected boolean flushImplements() {
- getJavaClassTarget().getImplementsInterfacesGen().clear();
- return true;
- }
-
- /**
- * Clear the reflected methods list.
- */
- protected boolean flushMethods() {
- getJavaClassTarget().getMethodsGen().clear();
- return true;
- }
-
- protected boolean flushInnerClasses() {
- getJavaClassTarget().getDeclaredClassesGen().clear();
- return true;
- }
-
- protected boolean flushModifiers() {
- JavaClass javaClassTarget = (JavaClass) getTarget();
- javaClassTarget.setAbstract(false);
- javaClassTarget.setFinal(false);
- javaClassTarget.setPublic(false);
- javaClassTarget.setKind(TypeKind.UNDEFINED_LITERAL);
- return true;
- }
-
- /**
- * @see org.eclipse.jem.java.adapters.JavaReflectionAdaptor#flushReflectedValues(boolean)
- */
- protected boolean flushReflectedValues(boolean clearCachedModelObject) {
- boolean result = flushModifiers();
- result &= flushSuper();
- result &= flushImplements();
- result &= flushMethods();
- result &= flushFields();
- result &= flushInnerClasses();
- return result;
- }
-
- /**
- * @see org.eclipse.jem.java.adapters.JavaReflectionAdaptor#postFlushReflectedValuesIfNecessary()
- */
- protected void postFlushReflectedValuesIfNecessary(boolean isExisting) {
- getJavaClassTarget().setReflected(false);
- super.postFlushReflectedValuesIfNecessary(isExisting);
- }
-
- /**
- * Set the supertype to be null.
- */
- protected boolean flushSuper() {
- List targetSupers = getJavaClassTarget().primGetESuperTypes();
- targetSupers.clear();
- return true;
- }
-
- /**
- * Return the target typed to a JavaClass.
- */
- protected JavaClassImpl getJavaClassTarget() {
- return (JavaClassImpl) getTarget();
- }
-
- public Object getReflectionSource() {
- return getSourceType();
- }
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.java.adapters.JavaReflectionAdaptor#hasReflectionSource()
- */
- public boolean hasCachedReflectionSource() {
- return sourceType != null;
- }
-
- /**
- * getSourceType - return the java.lang.Class which describes our existing Java class
- */
- protected Class getSourceType() {
- if (sourceType == null) {
- sourceType = getType((JavaClass) getTarget());
- }
- return sourceType;
- }
-
- /**
- * getValueIn method comment.
- */
- public Object getValueIn(EObject object, EObject attribute) {
- // At this point, this adapter does not dynamically compute any values,
- // all values are pushed back into the target on the initial call.
- return super.getValueIn(object, attribute);
- }
-
- /**
- * Return true if the sourceType is null or if it is a binary type. Reflection from the JDK is always from binary.
- */
- public boolean isSourceTypeFromBinary() {
- return true;
- }
-
- /**
- * reflectValues - template method, subclasses override to pump values into target. on entry: name, containing package (and qualified name), and
- * document must be set. Return true if successful JavaClass adaptor: - set modifiers - set name - set reference to super - create methods -
- * create fields - add imports
- */
- public boolean reflectValues() {
- super.reflectValues();
- try {
- if (getSourceType() != null) {
- setModifiers();
- setNaming();
- try {
- setSuper();
- } catch (InheritanceCycleException e) {
- Logger.getLogger().log(e);
- }
- setImplements();
- addMethods();
- addFields();
- reflectInnerClasses();
- getAdapterFactory().registerReflection(getSourceType().getName(), this);
- // addImports();
- return true;
- }
- return false;
- } finally {
- //Don't cache the class beyond the operation of reflect values;
- //this enables dynamic swapping of the alternate class loader
- //for java reflection, as well as avoids potential memory leakage
- sourceType = null;
- }
- }
-
- /**
- *
- */
- protected void reflectInnerClasses() {
- Class[] innerClasses = getSourceType().getClasses();
- if (innerClasses.length != 0) {
- List declaredClasses = getJavaClassTarget().getDeclaredClassesGen();
- JavaClass inner;
- ResourceSet set = getTargetResource().getResourceSet();
- for (int i = 0; i < innerClasses.length; i++) {
- inner = (JavaClass) JavaRefFactory.eINSTANCE.reflectType(innerClasses[i].getName(), set);
- declaredClasses.add(inner);
- }
- }
-
- }
-
- /**
- * setImplements - set our implemented/super interfaces here For an interface, these are superclasses. For a class, these are implemented
- * interfaces.
- */
- protected void setImplements() {
- Class[] interfaces = getSourceType().getInterfaces();
- // needs work, the names above will be simple names if we are relfecting from a source file
- JavaClassImpl javaClassTarget = (JavaClassImpl) getTarget();
- JavaClass ref;
- List intList = javaClassTarget.getImplementsInterfacesGen();
- intList.clear();
- for (int i = 0; i < interfaces.length; i++) {
- ref = createJavaClassRef(interfaces[i].getName());
- intList.add(ref);
- }
- }
-
- /**
- * setModifiers - set the attribute values related to modifiers here
- */
- protected void setModifiers() {
- JavaClass javaClassTarget = (JavaClass) getTarget();
- javaClassTarget.setAbstract(java.lang.reflect.Modifier.isAbstract(getSourceType().getModifiers()));
- javaClassTarget.setFinal(java.lang.reflect.Modifier.isFinal(getSourceType().getModifiers()));
- javaClassTarget.setPublic(java.lang.reflect.Modifier.isPublic(getSourceType().getModifiers()));
- // Set type to class or interface, not yet handling EXCEPTION
- if (getSourceType().isInterface())
- javaClassTarget.setKind(TypeKind.INTERFACE_LITERAL);
- else
- javaClassTarget.setKind(TypeKind.CLASS_LITERAL);
- }
-
- /**
- * setNaming - set the naming values here - qualified name (package name + name) must be set first, that is the path to the real Java class - ID -
- * simple name, identity within a package document - NO UUID!!!
- */
- protected void setNaming() {
- // JavaClass javaClassTarget = (JavaClass) getTarget();
- // javaClassTarget.refSetUUID((String) null);
- // ((XMIResource)javaClassTarget.eResource()).setID(javaClassTarget,getSimpleName(getSourceType().getName()));
- }
-
- /**
- * setSuper - set our supertype here, implemented interface are handled separately
- */
- protected void setSuper() throws InheritanceCycleException {
- Class superClass = null;
- superClass = getSourceType().getSuperclass();
- if (superClass != null) {
- JavaClass javaClassTarget = (JavaClass) getTarget();
- javaClassTarget.setSupertype(createJavaClassRef(superClass.getName()));
- }
- }
-
- /**
- * Return true if the sourceType can be found.
- */
- public boolean sourceTypeExists() {
- return getSourceType() != null;
- }
-
- public boolean reflectFieldsIfNecessary() {
- return reflectValuesIfNecessary();
- }
-
- public boolean reflectMethodsIfNecessary() {
- return reflectValuesIfNecessary();
- }
-}
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/jdk/JavaFieldJDKAdaptor.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/jdk/JavaFieldJDKAdaptor.java
deleted file mode 100644
index 1a10b9fea..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/jdk/JavaFieldJDKAdaptor.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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.java.adapters.jdk;
-/*
- * $RCSfile: JavaFieldJDKAdaptor.java,v $
- * $Revision: 1.6 $ $Date: 2005/05/11 22:41:06 $
- */
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.jem.java.*;
-import org.eclipse.jem.internal.java.adapters.ReadAdaptor;
-/**
- * Insert the type's description here.
- * Creation date: (6/6/2000 4:42:50 PM)
- * @author: Administrator
- */
-public class JavaFieldJDKAdaptor extends JDKAdaptor {
- protected java.lang.reflect.Field sourceField = null;
- protected Class parentType = null;
- public JavaFieldJDKAdaptor(Notifier target, JavaJDKAdapterFactory anAdapterFactory) {
- super(target, anAdapterFactory);
- }
- /**
- * getParentType - return the Class which corresponds to our parent JavaClass
- * we're going to do this a lot, so cache it.
- */
- protected Class getParentType() {
- if (parentType == null) {
- Field targetField = (Field) getTarget();
- JavaClass parentJavaClass = targetField.getJavaClass();
- JavaClassJDKAdaptor pa = (JavaClassJDKAdaptor) EcoreUtil.getAdapter(parentJavaClass.eAdapters(), ReadAdaptor.TYPE_KEY);
- if (pa != null)
- parentType = pa.getSourceType();
- }
- return parentType;
- }
- public Object getReflectionSource() {
- return getSourceField();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.java.adapters.JavaReflectionAdaptor#hasReflectionSource()
- */
- public boolean hasCachedReflectionSource() {
- return sourceField != null;
- }
- /**
- * getSourceField - return the java.lang.reflect.Field which describes our implementing field
- */
- protected java.lang.reflect.Field getSourceField() {
- if (sourceField == null) {
- Class parent = this.getParentType();
- if (parent != null) {
- try {
- sourceField = parent.getDeclaredField(((Field) getTarget()).getName());
- } catch (NoSuchFieldException e) {
- // OK, carry on
- }
- }
- }
- return sourceField;
- }
- public Field getTargetField() {
- return (Field) getTarget();
- }
- /**
- * getValueIn method comment.
- */
- public Object getValueIn(EObject object, EObject attribute) {
- // At this point, this adapter does not dynamically compute any values,
- // all values are pushed back into the target on the initial call.
- return super.getValueIn(object, attribute);
- }
- /**
- * reflectValues - template method, subclasses override to pump values into target.
- * on entry: name, containing package (and qualified name), and document must be set.
- * JavaClass adaptor:
- * - set modifiers
- * - set name
- * - set type
- */
- public boolean reflectValues() {
- if (getSourceField() != null) {
- setModifiers();
- setType();
- setInitializerIfPossible();
- return true;
- }
- return false;
- }
- /**
- * Used for the very narrow case of final static Strings
- */
- protected void setInitializerIfPossible() {
- if (!(getTargetField().isStatic() && getTargetField().isFinal() && "java.lang.String".equals(((JavaHelpers) getTargetField().getEType()).getQualifiedName()))) //$NON-NLS-1$
- return;
-
- String value = null;
- try {
- value = (String) getSourceField().get(null);
- } catch (IllegalAccessException ex) {
- return;
- }
-
- if (value == null)
- return;
- else
- value = "\"".concat(value).concat("\""); //$NON-NLS-2$//$NON-NLS-1$
-
- Block aBlock = createBlock(getTargetField().getName(), value);
- getTargetField().setInitializer(aBlock);
- }
- /**
- * setModifiers - set the attribute values related to modifiers here
- */
- protected void setModifiers() {
- Field javaFieldTarget = (Field) getTarget();
- // For JDK reflection, I don't think we can set the initializer
- int modifiers = getSourceField().getModifiers();
- javaFieldTarget.setStatic(java.lang.reflect.Modifier.isStatic(modifiers));
- javaFieldTarget.setTransient(java.lang.reflect.Modifier.isTransient(modifiers));
- javaFieldTarget.setVolatile(java.lang.reflect.Modifier.isVolatile(modifiers));
- javaFieldTarget.setFinal(java.lang.reflect.Modifier.isFinal(modifiers));
- // Set visibility
- if (java.lang.reflect.Modifier.isPublic(modifiers))
- javaFieldTarget.setJavaVisibility(JavaVisibilityKind.PUBLIC_LITERAL);
- else if (java.lang.reflect.Modifier.isPrivate(modifiers))
- javaFieldTarget.setJavaVisibility(JavaVisibilityKind.PRIVATE_LITERAL);
- else if (java.lang.reflect.Modifier.isProtected(modifiers))
- javaFieldTarget.setJavaVisibility(JavaVisibilityKind.PROTECTED_LITERAL);
- else
- javaFieldTarget.setJavaVisibility(JavaVisibilityKind.PACKAGE_LITERAL);
- }
- /**
- * setType - set our type here
- */
- protected void setType() {
- String typeName = getTypeName(getSourceField().getType());
- setFieldType(getTargetField(), typeName);
- }
-}
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/jdk/JavaJDKAdapterFactory.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/jdk/JavaJDKAdapterFactory.java
deleted file mode 100644
index af18d3322..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/jdk/JavaJDKAdapterFactory.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package org.eclipse.jem.internal.java.adapters.jdk;
-/*******************************************************************************
- * Copyright (c) 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: JavaJDKAdapterFactory.java,v $
- * $Revision: 1.3 $ $Date: 2005/02/15 22:37:02 $
- */
-import java.util.Iterator;
-
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.jem.internal.java.adapters.JavaReflectionAdapterFactory;
-import org.eclipse.jem.internal.java.adapters.ReflectionAdaptor;
-/**
- * Insert the type's description here.
- * Creation date: (6/13/2000 1:20:31 PM)
- * @author: Administrator
- */
-public class JavaJDKAdapterFactory extends JavaReflectionAdapterFactory {
- protected ClassLoader contextClassLoader;
- /**
- * JavaJDOMAdapterFactory constructor comment.
- */
- public JavaJDKAdapterFactory() {
- super();
- //adapterKey = TYPE_NAME;
- }
- /**
- * JavaJDOMAdapterFactory constructor comment.
- */
- public JavaJDKAdapterFactory(ClassLoader aClassLoader) {
- this();
- setContextClassLoader(aClassLoader);
- }
- protected ReflectionAdaptor createJavaClassAdaptor(Notifier target) {
- return new JavaClassJDKAdaptor(target, this);
- }
- protected ReflectionAdaptor createJavaFieldAdaptor(Notifier target) {
- return new JavaFieldJDKAdaptor(target, this);
- }
- protected ReflectionAdaptor createJavaMethodAdaptor(Notifier target) {
- return new JavaMethodJDKAdaptor(target, this);
- }
- // Flush ALL adapters, worst case
- public void flushAll() {
- isBusyIteratingReflected = true;
- try {
- Iterator i = reflected.values().iterator();
- while (i.hasNext())
- ((JavaClassJDKAdaptor) i.next()).flushReflectedValuesIfNecessary();
- } finally {
- finishedIteratingReflected();
- }
- }
- // Flush the adapter for a source object
- public void flushReflection(String source) {
- JavaClassJDKAdaptor a = (JavaClassJDKAdaptor) reflected.get(source);
- if (a != null)
- a.flushReflectedValuesIfNecessary();
- }
- /**
- * Insert the method's description here.
- * Creation date: (11/07/00 3:38:12 PM)
- * @return java.lang.ClassLoader
- */
- public java.lang.ClassLoader getContextClassLoader() {
- return contextClassLoader;
- }
- /**
- * Insert the method's description here.
- * Creation date: (11/07/00 3:38:12 PM)
- * @param newContextClassLoader java.lang.ClassLoader
- */
- public void setContextClassLoader(java.lang.ClassLoader newContextClassLoader) {
- contextClassLoader = newContextClassLoader;
- }
-}
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/jdk/JavaMethodJDKAdaptor.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/jdk/JavaMethodJDKAdaptor.java
deleted file mode 100644
index 2c31f8fff..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/jdk/JavaMethodJDKAdaptor.java
+++ /dev/null
@@ -1,245 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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.java.adapters.jdk;
-/*
- * $RCSfile: JavaMethodJDKAdaptor.java,v $
- * $Revision: 1.7 $ $Date: 2005/02/15 22:37:02 $
- */
-
-import java.util.List;
-
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.xmi.XMIResource;
-import org.eclipse.jem.java.*;
-import org.eclipse.jem.internal.java.adapters.IJavaMethodAdapter;
-import org.eclipse.jem.internal.java.adapters.ReadAdaptor;
-import org.eclipse.jem.java.impl.MethodImpl;
-/**
- * Insert the type's description here.
- * Creation date: (6/6/2000 4:42:50 PM)
- * @author: Administrator
- */
-public class JavaMethodJDKAdaptor extends JDKAdaptor implements IJavaMethodAdapter {
- protected java.lang.reflect.AccessibleObject sourceAccessible = null; // Could be method or ctor.
- protected Class parentType = null;
- // cache a static empty Class[] for no parm methods
- protected static Class[] emptyClassArray = new Class[0];
- // cache a static empty String[], too
- protected static String[] emptyStringArray = new String[0];
- public JavaMethodJDKAdaptor(Notifier target, JavaJDKAdapterFactory anAdapterFactory) {
- super(target, anAdapterFactory);
- }
- /**
- * addExceptions - reflect our exception list
- */
- protected void addExceptions() {
- Class[] exceptions =
- (getSourceAccessible() instanceof java.lang.reflect.Method)
- ? ((java.lang.reflect.Method) getSourceAccessible()).getExceptionTypes()
- : ((java.lang.reflect.Constructor) getSourceAccessible()).getExceptionTypes();
- // EList exList = (EList) javaMethodTarget.primRefValue(JavaRefPackage.eINSTANCE.getMethod_JavaExceptions());
- List exList = getMethodTarget().getJavaExceptionsGen();
- for (int i = 0; i < exceptions.length; i++) {
- exList.add(createJavaClassRef(exceptions[i].getName()));
- }
- }
-
- protected MethodImpl getMethodTarget() {
- return (MethodImpl) getTarget();
- }
- /**
- * addParameters - reflect our parms
- */
- protected void addParameters() {
- Class[] parmTypes =
- (getSourceAccessible() instanceof java.lang.reflect.Method)
- ? ((java.lang.reflect.Method) getSourceAccessible()).getParameterTypes()
- : ((java.lang.reflect.Constructor) getSourceAccessible()).getParameterTypes();
- MethodImpl javaMethodTarget = getMethodTarget();
- // List pList = (List) javaMethodTarget.primRefValue(JavaRefPackage.eINSTANCE.getMethod_Parameters());
- List pList = javaMethodTarget.getParametersGen();
- for (int i = 0; i < parmTypes.length; i++) {
- pList.add(createJavaParameter(javaMethodTarget, "arg" + i, getTypeName(parmTypes[i]))); //$NON-NLS-1$
- }
- }
- protected JavaClass getContainingJavaClass() {
- return ((Method) getTarget()).getContainingJavaClass();
- }
- /**
- * getParentType - return the Class which corresponds to our parent JavaClass
- * we're going to do this a lot, so cache it.
- */
- protected Class getParentType() {
- if (parentType == null) {
- Method targetMethod = (Method) getTarget();
- JavaClass parentJavaClass = targetMethod.getContainingJavaClass();
- JavaClassJDKAdaptor pa = (JavaClassJDKAdaptor) EcoreUtil.getAdapter(parentJavaClass.eAdapters(), ReadAdaptor.TYPE_KEY);
- if (pa != null)
- parentType = pa.getSourceType();
- }
- return parentType;
- }
- /**
- * getParmTypeSignatures - return an array of Classes for our parameter types
- * For reflection purposes, we can only rely on our ID, since our parms may
- * not yet be known.
- */
- protected Class[] getParmTypes() {
- Method javaMethodTarget = (Method) getTarget();
- String id = ((XMIResource) javaMethodTarget.eResource()).getID(javaMethodTarget);
- String[] typeNames = getTypeNamesFromMethodID(id);
- if (typeNames == null)
- return emptyClassArray;
- int n = typeNames.length;
- if (n == 0)
- return emptyClassArray;
- Class[] types = new Class[n];
- for (int i = 0; i < n; ++i) {
- types[i] = getType(typeNames[i]);
- }
- return types;
- }
- public Object getReflectionSource() {
- return getSourceAccessible();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.java.adapters.JavaReflectionAdaptor#hasReflectionSource()
- */
- public boolean hasCachedReflectionSource() {
- return sourceAccessible != null;
- }
- /**
- * getsourceMethod - return the java.lang.reflect.Method which describes our implementing method
- */
- protected java.lang.reflect.AccessibleObject getSourceAccessible() {
- if (sourceAccessible == null) {
- Class parent = this.getParentType();
- if (parent != null) {
- Class[] parmTypes = this.getParmTypes();
- try {
- sourceAccessible = parent.getDeclaredMethod(((Method) getTarget()).getName(), parmTypes);
- } catch (NoSuchMethodException e) {
- // OK, can't reflect it
- }
-
- if (sourceAccessible == null) {
- // It wasn't a method, try for constructor.
- try {
- sourceAccessible = parent.getDeclaredConstructor(parmTypes);
- } catch (NoSuchMethodException e) {
- // OK, can't reflect it
- }
- }
- }
- }
- return sourceAccessible;
- }
- /**
- * getValueIn method comment.
- */
- public Object getValueIn(EObject object, EObject attribute) {
- // At this point, this adapter does not dynamically compute any values,
- // all values are pushed back into the target on the initial call.
- return super.getValueIn(object, attribute);
- }
- /**
- * reflectValues - template method, subclasses override to pump values into target.
- * on entry: UUID, name, containing package (and qualified name), and document must be set.
- * Method adaptor:
- * - set modifiers
- * - set name
- * - set return type
- * - add parameters
- * - add exceptions
- */
- public boolean reflectValues() {
- if (getSourceAccessible() != null) {
- ((Method) getTarget()).setIsGenerated(false);
- setModifiers();
- setNaming();
- setReturnType();
- addParameters();
- addExceptions();
- return true;
- }
- return false;
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.java.adapters.IJavaMethodAdapter#reflectGeneratedIfNecessary()
- */
- public boolean reflectGeneratedIfNecessary() {
- return reflectValuesIfNecessary();
- }
-
- public boolean reflectParamNamesIfNecessary() {
- return reflectValuesIfNecessary();
- }
-
- /**
- * setModifiers - set the attribute values related to modifiers here
- */
- protected void setModifiers() {
- Method methodTarget = (Method) getTarget();
- int modifiers =
- (getSourceAccessible() instanceof java.lang.reflect.Method)
- ? ((java.lang.reflect.Method) getSourceAccessible()).getModifiers()
- : ((java.lang.reflect.Constructor) getSourceAccessible()).getModifiers();
- methodTarget.setAbstract(java.lang.reflect.Modifier.isAbstract(modifiers));
- methodTarget.setFinal(java.lang.reflect.Modifier.isFinal(modifiers));
- methodTarget.setNative(java.lang.reflect.Modifier.isNative(modifiers));
- methodTarget.setStatic(java.lang.reflect.Modifier.isStatic(modifiers));
- methodTarget.setSynchronized(java.lang.reflect.Modifier.isSynchronized(modifiers));
- methodTarget.setConstructor(getSourceAccessible() instanceof java.lang.reflect.Constructor);
- // Set visibility
- JavaClass javaClass = getContainingJavaClass();
- if ((javaClass.getKind() == TypeKind.INTERFACE_LITERAL) || (java.lang.reflect.Modifier.isPublic(modifiers)))
- methodTarget.setJavaVisibility(JavaVisibilityKind.PUBLIC_LITERAL);
- else if (java.lang.reflect.Modifier.isPrivate(modifiers))
- methodTarget.setJavaVisibility(JavaVisibilityKind.PRIVATE_LITERAL);
- else if (java.lang.reflect.Modifier.isProtected(modifiers))
- methodTarget.setJavaVisibility(JavaVisibilityKind.PROTECTED_LITERAL);
- else
- //Visibility must be package
- methodTarget.setJavaVisibility(JavaVisibilityKind.PACKAGE_LITERAL);
- }
- /**
- * setNaming - set the naming values here
- * - qualified name must be set first, that is the path to the real Java class
- * - ID
- * - name-based UUID
- */
- protected void setNaming() {
- //
- // naming is currently a no-op since the name and UUID must be set prior to reflection
- // ...and ID is redundant with UUID.
- // javaFieldTarget.setID(parent.getQualifiedName() + "_" + javaFieldTarget.getName());
- }
- /**
- * setType - set our return type here
- */
- protected void setReturnType() {
- if (getSourceAccessible() instanceof java.lang.reflect.Method) {
- Class type = ((java.lang.reflect.Method) getSourceAccessible()).getReturnType();
- Method javaMethodTarget = (Method) getTarget();
- /*
- JavaParameter newParameter = createJavaParameter(javaMethodTarget, "result", getTypeName(type));//$NON-NLS-1$
- newParameter.setParameterKind(MetaJavaParameterKind.RETURN);
- javaMethodTarget.getParameters().add(newParameter);
- */
- javaMethodTarget.setEType(createJavaClassRef(getTypeName(type)));
- }
- }
-}
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/nls/ResourceHandler.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/nls/ResourceHandler.java
deleted file mode 100644
index f99543a03..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/nls/ResourceHandler.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package org.eclipse.jem.internal.java.adapters.nls;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- * $RCSfile: ResourceHandler.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:37:02 $
- */
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-import java.text.MessageFormat;
-
-public class ResourceHandler {
-
- private static ResourceBundle fgResourceBundle;
-
- /**
- * Returns the resource bundle used by all classes in this Project
- */
- public static ResourceBundle getResourceBundle() {
- try {
- return ResourceBundle.getBundle("javaadapters");//$NON-NLS-1$
- } catch (MissingResourceException e) {
- // does nothing - this method will return null and
- // getString(String, String) will return the key
- // it was called with
- }
- return null;
- }
- public static String getString(String key) {
- if (fgResourceBundle == null) {
- fgResourceBundle= getResourceBundle();
- }
-
- if (fgResourceBundle != null) {
- try {
- return fgResourceBundle.getString(key);
- } catch (MissingResourceException e) {
- return "!" + key + "!";//$NON-NLS-2$//$NON-NLS-1$
- }
- } else {
- return "!" + key + "!";//$NON-NLS-2$//$NON-NLS-1$
- }
- }
-public static String getString(String key, Object[] args) {
-
- try {return MessageFormat.format(getString(key), args);}
- catch (IllegalArgumentException e) {return getString(key);}
-
-}
-}
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/beaninfo/IIntrospectionAdapter.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/beaninfo/IIntrospectionAdapter.java
deleted file mode 100644
index ac3ab8fdc..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/beaninfo/IIntrospectionAdapter.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.java.beaninfo;
-/*
- * $RCSfile: IIntrospectionAdapter.java,v $
- * $Revision: 1.5 $ $Date: 2005/02/15 22:37:02 $
- */
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.EList;
-
-
-/**
- * The interface for the Beaninfo adapter. The actual implementation
- * is in a separate project so that beaninfo code will not be loaded
- * unless it needs to be.
- */
-
-public interface IIntrospectionAdapter extends org.eclipse.emf.common.notify.Adapter {
- public static final Class ADAPTER_KEY = IIntrospectionAdapter.class;
- public void introspectIfNecessary();
- public boolean isStale();
- public EList getEStructuralFeatures();
- public EList getEOperations();
- public BasicEList getEAllOperations();
- public EList getEvents();
- public EList getAllEvents();
- public EList getAllProperties();
-}
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/init/JavaInit.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/init/JavaInit.java
deleted file mode 100644
index 3eba41b7d..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/init/JavaInit.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.java.init;
-/*
- * $RCSfile: JavaInit.java,v $
- * $Revision: 1.5 $ $Date: 2005/05/18 19:38:34 $
- */
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
-import org.eclipse.jem.java.JavaRefPackage;
-import org.eclipse.jem.internal.java.adapters.JavaXMIFactoryImpl;
-
-/**
- * Initialize the Java Reflection mechanisms.
- */
-public class JavaInit {
- protected static boolean initialized = false;
- protected static boolean plugin_initialized = false;
-
- public static void init() {
- init(true);
- }
-
- public static void init(boolean shouldPreRegisterPackages) {
- if (!initialized) {
- initialized = true;
- if (shouldPreRegisterPackages) {
- preRegisterPackages();
- setDefaultResourceFactory();
- }
- //Register resource factory
- JavaXMIFactoryImpl.register();
- }
- }
-
- private static void preRegisterPackages() {
- //ecore
- if (!EPackage.Registry.INSTANCE.containsKey("ecore.xmi")) //$NON-NLS-1$
- EPackage.Registry.INSTANCE.put("ecore.xmi", new EPackage.Descriptor() { //$NON-NLS-1$
- public EPackage getEPackage() {
- return EcorePackage.eINSTANCE;
- }
- });
- //java
- if (!EPackage.Registry.INSTANCE.containsKey("java.xmi")) //$NON-NLS-1$
- EPackage.Registry.INSTANCE.put("java.xmi", new EPackage.Descriptor() { //$NON-NLS-1$
- public EPackage getEPackage() {
- return JavaRefPackage.eINSTANCE;
- }
- });
- }
- protected static void setDefaultResourceFactory() {
- //This is not done outside of Eclipse
- if (Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().get(Resource.Factory.Registry.DEFAULT_EXTENSION) == null)
- Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put(
- Resource.Factory.Registry.DEFAULT_EXTENSION,
- new XMIResourceFactoryImpl());
- }
-
- public static void setPluginInit(boolean bPluginInit) {
- // Here's where the configuration file would be read.
- plugin_initialized = bPluginInit;
- }
-
-}
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/instantiation/IInstantiationHandler.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/instantiation/IInstantiationHandler.java
deleted file mode 100644
index 3c5b16ff5..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/instantiation/IInstantiationHandler.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.java.instantiation;
-/*
- * $RCSfile: IInstantiationHandler.java,v $
- * $Revision: 1.5 $ $Date: 2005/02/15 22:37:02 $
- */
-import org.eclipse.emf.ecore.*;
-
-import org.eclipse.jem.java.JavaDataType;
-
-/**
- * The interface for the Instantiation handler. The actual implementation
- * is in a separate project so that instantiation code will not be loaded
- * unless it needs to be.
- */
-
-public interface IInstantiationHandler {
- /**
- * Answers whether the adapter handles the datatype
- * or whether the standard EFactory does.
- */
- public boolean handlesDataType(JavaDataType type);
-
- /**
- * Answers whether the adapter handles the EClass or the
- * standard EFactory does.
- */
- public boolean handlesClass(EClass type);
-
- /**
- * If adapterHandlesInstance returns true, then
- * this method will be called to create the instance.
- */
- public EObject create(EClass javaClass);
-
-}
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/instantiation/IInstantiationHandlerFactoryAdapter.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/instantiation/IInstantiationHandlerFactoryAdapter.java
deleted file mode 100644
index ce7da94cc..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/instantiation/IInstantiationHandlerFactoryAdapter.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.java.instantiation;
-/*
- * $RCSfile: IInstantiationHandlerFactoryAdapter.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:37:02 $
- */
-import org.eclipse.emf.common.notify.Adapter;
-
-import org.eclipse.jem.java.impl.JavaFactoryImpl;
-
-/**
- * This adapter is a factory for IInstantiationHandler's. It is attached as
- * an adapter on the ResourceSet that contains the java model. JavaXMIFactory
- * will use it to retrieve its IInstantiationHandler. If the adapter is not
- * found, then no instantiation handler exists.
- */
-public interface IInstantiationHandlerFactoryAdapter extends Adapter {
-
- public final static Class ADAPTER_KEY = IInstantiationHandlerFactoryAdapter.class;
-
- /**
- * Return an IInstantiationHandler.
- */
- public IInstantiationHandler getInstantiationHandler(JavaFactoryImpl factory);
-
-}
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/instantiation/IInstantiationInstance.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/instantiation/IInstantiationInstance.java
deleted file mode 100644
index f58ec4451..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/instantiation/IInstantiationInstance.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.java.instantiation;
-/*
- * $RCSfile: IInstantiationInstance.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:37:02 $
- */
-import org.eclipse.jem.java.JavaHelpers;
-
-/**
- * The interface for an instance. The actual implementation
- * is in a separate project so that instantiation code will not be loaded
- * unless it needs to be.
- */
-public interface IInstantiationInstance {
- /**
- * @return The JavaHelpers for the java type of the instance.
- */
- public JavaHelpers getJavaType();
-
-}
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/ArrayType.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/ArrayType.java
deleted file mode 100644
index 2bf8ca091..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/ArrayType.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.java;
-
-/*
- * $RCSfile: ArrayType.java,v $
- * $Revision: 1.3 $ $Date: 2005/02/15 22:37:02 $
- */
-
-import org.eclipse.emf.ecore.EClassifier;
-/**
- * Describes a Java Array type
- * For multi-dimensional arrays, it is unlikely that the component type will be
- * specified directly. This would require instantiating a chain of component types
- * such as String[][][][]->String[][][]->String[][]->String[]->String.
- *
- * The component type relationship will be computed if the finalComponentType
- * and array dimensions is specified.
- *
- * For this reason, the preferred way to create is through the JavaRefFactory factory method:
- * createArrayType(JavaClass finalComponentType, int dimensions)
- */
-public interface ArrayType extends JavaClass{
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the ArrayDimensions attribute
- */
- int getArrayDimensions();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param value The new value of the ArrayDimensions attribute
- */
- void setArrayDimensions(int value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The ComponentType reference
- */
- EClassifier getComponentType();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.java.ArrayType#getComponentType <em>Component Type</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Component Type</em>' reference.
- * @see #getComponentType()
- * @generated
- */
- void setComponentType(EClassifier value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * Get the final component type for this Array Type.
- *
- * In order to ensure a unique instance, we will resolve this type using
- * reflection. It turns out to be most efficient to just do this by trimming the
- * name.
- */
- JavaHelpers getFinalComponentType();
-
- /**
- * @generated This field/method will be replaced during code generation
- * Get the component type of this array.
- *
- * If this is a multi-dimensional array, the component type will be the nested
- * array type.
- */
- JavaHelpers getComponentTypeAsHelper();
-
- /**
- * @generated This field/method will be replaced during code generation
- * Is this an array of java primitives
- */
- boolean isPrimitiveArray();
-
- /**
- * @generated This field/method will be replaced during code generation
- * Set the component type.
- */
- void setComponentType(JavaHelpers helperComponentType);
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/Block.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/Block.java
deleted file mode 100644
index 286b0a308..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/Block.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.java;
-
-/*
- * $RCSfile: Block.java,v $
- * $Revision: 1.3 $ $Date: 2005/02/15 22:37:02 $
- */
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-/**
- * @generated
- */
-public interface Block extends EObject{
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the Source attribute
- */
- String getSource();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param value The new value of the Source attribute
- */
- void setSource(String value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the Name attribute
- */
- String getName();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param value The new value of the Name attribute
- */
- void setName(String value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The list of Contents references
- */
- EList getContents();
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/Comment.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/Comment.java
deleted file mode 100644
index be8ce2301..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/Comment.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: Comment.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:37:02 $
- */
-package org.eclipse.jem.java;
-
-
-/**
- * @generated
- */
-public interface Comment extends Block {
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/Field.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/Field.java
deleted file mode 100644
index f1994aacd..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/Field.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.java;
-
-/*
- * $RCSfile: Field.java,v $
- * $Revision: 1.5 $ $Date: 2005/04/14 19:05:33 $
- */
-import org.eclipse.emf.ecore.ETypedElement;
-
-/**
- * @generated
- */
-public interface Field extends ETypedElement{
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the IsFinal attribute
- */
- boolean isFinal();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.java.Field#isFinal <em>Final</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Final</em>' attribute.
- * @see #isFinal()
- * @generated
- */
- void setFinal(boolean value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the IsStatic attribute
- */
- boolean isStatic();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.java.Field#isStatic <em>Static</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Static</em>' attribute.
- * @see #isStatic()
- * @generated
- */
- void setStatic(boolean value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the JavaVisibility attribute
- */
- JavaVisibilityKind getJavaVisibility();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.java.Field#getJavaVisibility <em>Java Visibility</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Java Visibility</em>' attribute.
- * @see org.eclipse.jem.java.JavaVisibilityKind
- * @see #getJavaVisibility()
- * @generated
- */
- void setJavaVisibility(JavaVisibilityKind value);
-
- /**
- * Returns the value of the '<em><b>Transient</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Transient</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Transient</em>' attribute.
- * @see #setTransient(boolean)
- * @see org.eclipse.jem.java.JavaRefPackage#getField_Transient()
- * @model
- * @generated
- */
- boolean isTransient();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.java.Field#isTransient <em>Transient</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Transient</em>' attribute.
- * @see #isTransient()
- * @generated
- */
- void setTransient(boolean value);
-
- /**
- * Returns the value of the '<em><b>Volatile</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Volatile</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Volatile</em>' attribute.
- * @see #setVolatile(boolean)
- * @see org.eclipse.jem.java.JavaRefPackage#getField_Volatile()
- * @model
- * @generated
- */
- boolean isVolatile();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.java.Field#isVolatile <em>Volatile</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Volatile</em>' attribute.
- * @see #isVolatile()
- * @generated
- */
- void setVolatile(boolean value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The JavaClass reference
- */
- JavaClass getJavaClass();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.java.Field#getJavaClass <em>Java Class</em>}' container reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Java Class</em>' container reference.
- * @see #getJavaClass()
- * @generated
- */
- void setJavaClass(JavaClass value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The Initializer reference
- */
- Block getInitializer();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.java.Field#getInitializer <em>Initializer</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Initializer</em>' containment reference.
- * @see #getInitializer()
- * @generated
- */
- void setInitializer(Block value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * Get the class that this field is within.
- */
- JavaClass getContainingJavaClass();
-
- /**
- * @generated This field/method will be replaced during code generation
- * Is this field an array type.
- */
- boolean isArray();
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/InheritanceCycleException.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/InheritanceCycleException.java
deleted file mode 100644
index 5d10b33a9..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/InheritanceCycleException.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.java;
-/*
- * $RCSfile: InheritanceCycleException.java,v $
- * $Revision: 1.5 $ $Date: 2005/06/16 17:46:17 $
- */
-import java.text.MessageFormat;
-
-import org.eclipse.jem.internal.java.adapters.nls.ResourceHandler;
-
-/**
- * @author DABERG
- *
- * To change the template for this generated type comment go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class InheritanceCycleException extends Exception {
- /**
- * Comment for <code>serialVersionUID</code>
- *
- * @since 1.1.0
- */
- private static final long serialVersionUID = -2385690847427897656L;
- private static String MSG_PATTERN = ResourceHandler.getString("Java_Inh_Cycle_ERROR_");//$NON-NLS-1$
-
- /**
- *
- */
- public InheritanceCycleException(JavaClass aSubclass, JavaClass aSuperclass) {
- this(MessageFormat.format(MSG_PATTERN, new String[]{aSubclass.getQualifiedName(), aSuperclass.getQualifiedName()}));
- }
-
- /**
- * @param s
- */
- public InheritanceCycleException(String s) {
- super(s);
- }
-
-}
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/Initializer.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/Initializer.java
deleted file mode 100644
index c58af8072..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/Initializer.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.java;
-
-/*
- * $RCSfile: Initializer.java,v $
- * $Revision: 1.3 $ $Date: 2005/02/15 22:37:02 $
- */
-import org.eclipse.emf.ecore.EObject;
-/**
- * @generated
- */
-public interface Initializer extends EObject{
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the IsStatic attribute
- */
- Boolean getIsStatic();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param value The new value of the IsStatic attribute
- */
- void setIsStatic(Boolean value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The JavaClass reference
- */
- JavaClass getJavaClass();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.java.Initializer#getJavaClass <em>Java Class</em>}' container reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Java Class</em>' container reference.
- * @see #getJavaClass()
- * @generated
- */
- void setJavaClass(JavaClass value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The Source reference
- */
- Block getSource();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.java.Initializer#getSource <em>Source</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Source</em>' reference.
- * @see #getSource()
- * @generated
- */
- void setSource(Block value);
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaClass.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaClass.java
deleted file mode 100644
index 33b0a2a98..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaClass.java
+++ /dev/null
@@ -1,420 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.java;
-/*
- * $RCSfile: JavaClass.java,v $
- * $Revision: 1.5 $ $Date: 2005/04/14 19:05:33 $
- */
-import java.util.List;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-/**
- * <!-- begin-user-doc -->
- * @extends JavaHelpers
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jem.java.JavaClass#getKind <em>Kind</em>}</li>
- * <li>{@link org.eclipse.jem.java.JavaClass#isPublic <em>Public</em>}</li>
- * <li>{@link org.eclipse.jem.java.JavaClass#isFinal <em>Final</em>}</li>
- * <li>{@link org.eclipse.jem.java.JavaClass#getImplementsInterfaces <em>Implements Interfaces</em>}</li>
- * <li>{@link org.eclipse.jem.java.JavaClass#getClassImport <em>Class Import</em>}</li>
- * <li>{@link org.eclipse.jem.java.JavaClass#getPackageImports <em>Package Imports</em>}</li>
- * <li>{@link org.eclipse.jem.java.JavaClass#getFields <em>Fields</em>}</li>
- * <li>{@link org.eclipse.jem.java.JavaClass#getMethods <em>Methods</em>}</li>
- * <li>{@link org.eclipse.jem.java.JavaClass#getInitializers <em>Initializers</em>}</li>
- * <li>{@link org.eclipse.jem.java.JavaClass#getDeclaredClasses <em>Declared Classes</em>}</li>
- * <li>{@link org.eclipse.jem.java.JavaClass#getDeclaringClass <em>Declaring Class</em>}</li>
- * <li>{@link org.eclipse.jem.java.JavaClass#getJavaPackage <em>Java Package</em>}</li>
- * <li>{@link org.eclipse.jem.java.JavaClass#getEvents <em>Events</em>}</li>
- * <li>{@link org.eclipse.jem.java.JavaClass#getAllEvents <em>All Events</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.java.JavaRefPackage#getJavaClass()
- * @model
- * @generated
- */
-public interface JavaClass extends EClass, JavaHelpers{
-
- public static final String DEFAULT_METHOD_NAME = "*";
- /**
- * Return a method matching the name, and non-return parameters with fully qualified types matching all the types in the list, if it exists. It will not look up the supertype hierarchy.
- */
- public Method getPublicMethodExtended(String methodName, List parameterTypes) ;
- /**
- * Returns a filtered list on the methods of this class, having a name equal to that of the parameter.
- */
- public List getPublicMethodsExtendedNamed(String name);
-
- /**
- * Return an array listing our Fields, including inherited fields.
- * The field relationship is derived from contents.
- */
- public Field[] listFieldExtended();
- /**
- * Return an array listing our Methods, including inherited methods.
- * The method relationship is derived from contents.
- */
- public Method[] listMethodExtended();
-//FB /**
-//FB * This is required for internal reflection. Do not use.
-//FB */
-//FB Object primRefValue(EObject feature);
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the Kind attribute
- */
- TypeKind getKind();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.java.JavaClass#getKind <em>Kind</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Kind</em>' attribute.
- * @see org.eclipse.jem.java.TypeKind
- * @see #getKind()
- * @generated
- */
- void setKind(TypeKind value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the IsPublic attribute
- */
- boolean isPublic();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.java.JavaClass#isPublic <em>Public</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Public</em>' attribute.
- * @see #isPublic()
- * @generated
- */
- void setPublic(boolean value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the IsFinal attribute
- */
- boolean isFinal();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.java.JavaClass#isFinal <em>Final</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Final</em>' attribute.
- * @see #isFinal()
- * @generated
- */
- void setFinal(boolean value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The list of ImplementsInterfaces references
- */
- EList getImplementsInterfaces();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The list of ClassImport references
- */
- EList getClassImport();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The list of PackageImports references
- */
- EList getPackageImports();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The list of Fields references
- */
- EList getFields();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The list of Methods references
- */
- EList getMethods();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The list of Initializers references
- */
- EList getInitializers();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The DeclaringClass reference
- */
- JavaClass getDeclaringClass();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.java.JavaClass#getDeclaringClass <em>Declaring Class</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Declaring Class</em>' reference.
- * @see #getDeclaringClass()
- * @generated
- */
- void setDeclaringClass(JavaClass value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The list of DeclaredClasses references
- */
- EList getDeclaredClasses();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The JavaPackage reference
- */
- JavaPackage getJavaPackage();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The list of Events references
- */
- EList getEvents();
-
- /**
- * Returns the value of the '<em><b>All Events</b></em>' reference list.
- * The list contents are of type {@link org.eclipse.jem.java.JavaEvent}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>All Events</em>' reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>All Events</em>' reference list.
- * @see org.eclipse.jem.java.JavaRefPackage#getJavaClass_AllEvents()
- * @model type="org.eclipse.jem.java.JavaEvent" transient="true" volatile="true"
- * @generated
- */
- EList getAllEvents();
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- boolean isNested();
-
- /**
- * @generated This field/method will be replaced during code generation
- * Return an Field with the passed name, or null.
- */
- Field getField(String fieldName);
-
- /**
- * @generated This field/method will be replaced during code generation
- * Return an Field with the passed name from this JavaClass or any supertypes.
- *
- * Return null if a Field named fieldName is not found.
- */
- Field getFieldExtended(String fieldName);
-
- /**
- * @generated This field/method will be replaced during code generation
- * Return an Field with the passed name, or null.
- */
- Field getFieldNamed(String fieldName);
-
- /**
- * @generated This field/method will be replaced during code generation
- * Return all fields, including those from supertypes.
- */
- List getFieldsExtended();
-
- /**
- * @generated This field/method will be replaced during code generation
- * Get the method of this name and these parameters. It will not look up the
- * supertype hierarchy.
- */
- Method getMethod(String methodName, List parameterTypes);
-
- /**
- * @generated This field/method will be replaced during code generation
- * Return a List of Strings that represent MethodElement signatures from most
- * general to most specific.
- */
- List getMethodElementSignatures();
-
- /**
- * @generated This field/method will be replaced during code generation
- * Get the method of this name and these parameters. It will look up the supertype
- * hierarchy.
- */
- Method getMethodExtended(String methodName, List parameterTypes);
-
- /**
- * @generated This field/method will be replaced during code generation
- * Return all methods, including those from supertypes.
- */
- List getMethodsExtended();
-
- /**
- * Return all methods, including those from supertypes excluding particular classes and methods.
- * @param excludedClasses - A list of JavaClass instances to be ignored.
- * @param excludedMethods - A list of Method instances to be ignored.
- */
- List getMethodsExtendedWithFilters(List excludedClasses, List excludedMethods) ;
-
- /**
- * @generated This field/method will be replaced during code generation
- * Return a List of Methods that begins with @aMethodNamePrefix and is not
- * included in the @excludedNames list. If @aMethodNamePrefix is null, all methods
- * will be returned.
-
- */
- List getOnlySpecificMethods(String aMethodNamePrefix, List excludedNames);
-
- /**
- * @generated This field/method will be replaced during code generation
- * Return a method matching the name, and non-return parameters with fully
- * qualified types matching all the types in the list, if it exists. It will not
- * look up the supertype hierarchy.
- */
- Method getPublicMethod(String methodName, List parameterTypes);
-
- /**
- * @generated This field/method will be replaced during code generation
- * Return all methods, it will not go up the supertype hierarchy.
- */
- List getPublicMethods();
-
- /**
- * @generated This field/method will be replaced during code generation
- * Return all public methods, including those from supertypes.
- */
- List getPublicMethodsExtended();
-
- /**
- * @generated This field/method will be replaced during code generation
- * Returns a filtered list on the methods of this class, having a name equal to
- * that of the parameter.
- */
- List getPublicMethodsNamed(String name);
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- JavaClass getSupertype();
-
- /**
- * @generated This field/method will be replaced during code generation
- * Test whether the receiver implements the passed interface (or one of its
- * supertypes).
- */
- boolean implementsInterface(JavaClass interfaceType);
-
- /**
- * @generated This field/method will be replaced during code generation
- * Return a string showing our details.
- */
- String infoString();
-
- /**
- * @generated This field/method will be replaced during code generation
- * Tests whether this class inherits from the passed in class.
- */
- boolean inheritsFrom(JavaClass javaClass);
-
- /**
- * @generated This field/method will be replaced during code generation
- * Does this type exist.
- */
- boolean isExistingType();
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * Is this an interface.
- * <!-- end-model-doc -->
- * @model
- * @generated
- */
- boolean isInterface();
-
- /**
- * @generated This field/method will be replaced during code generation
- * Set the supertype.
- */
- void setSupertype(JavaClass javaclass) throws InheritanceCycleException;
-
- /**
- * Return true if the passed JavaClass can be set as the supertype
- * of this JavaClass. This method will test to see if aJavaClass will
- * create a cycle in the inheritance structure. Return true if no
- * inheritance cycle will be created.
- */
- public boolean isValidSupertype(JavaClass aJavaClass) ;
-
- /**
- * Get the EStructuralFeatures that represent the BeanInfo properties for
- * just this Java class, not including inherited. It will return any EStructuralFeature
- * that was specified as being at this class either through the XMI override document or
- * through the BeanInfo. Structural features through the XMI may not be bean properties,
- * but they are part of the features available at this class only.
- *
- * This is a combination of getEAttributes() and getEReferences().
- *
- * To retrieve only the Bean Properties, then use Beaninfo
- * Utilities.getPropertiesIterator(javaclass.getProperties()) and this will iterate over
- * the Bean PropertyDecorators, and filter out the non-bean features.
- *
- * @return The list of properties (as EStructuralFeature's) for this java class. This list is
- * not modifiable.
- */
- EList getProperties();
-
- /**
- * Get all of the EStructuralFeatures that represent the BeanInfo properties for
- * just this Java class, including inherited. It will return any EStructuralFeature
- * that was specified through the XMI override document or
- * through the BeanInfo. Structural features through the XMI may not be bean properties,
- * but they are part of the features available.
- *
- * The is like getEAllStructuralFeatures() except that if BeanInfo hides any bean properties
- * from the super class, this list will also hide them, while getEAllStructuralFeatures
- * will not.
- *
- * To retrieve only the Bean Properties, then use Beaninfo
- * Utilities.getPropertiesIterator(javaclass.getAllProperties()) and this will iterate over
- * the Bean PropertyDecorators, and filter out the non-bean features.
- *
- * @return The list of all properties, including inherited, (as EStructuralFeature's) for this class. This list is
- * not modifiable.
- */
- EList getAllProperties();
-
-
- /**
- * Return the reflection type, if it exists, for this class. If running within Eclipse this
- * will be an {@link org.eclipse.jdt.core.IType}, or running outside of Eclipse it will be a {@link java.lang.Class}.
- *
- * @return IType if in Eclipse, Class if outside Eclipse, or <code>null</code> if type not found.
- *
- * @since 1.1.0
- */
- Object getReflectionType();
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaDataType.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaDataType.java
deleted file mode 100644
index c0e485223..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaDataType.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.java;
-
-/*
- * $RCSfile: JavaDataType.java,v $
- * $Revision: 1.4 $ $Date: 2005/04/14 19:05:33 $
- */
-import org.eclipse.emf.ecore.EClass;
-
-/**
- * <!-- begin-user-doc -->
- * @extends JavaHelpers
- * <!-- end-user-doc -->
- *
- *
- * @see org.eclipse.jem.java.JavaRefPackage#getJavaDataType()
- * @model
- * @generated
- */
-public interface JavaDataType extends EClass, JavaHelpers{
-
- /**
- * @generated This field/method will be replaced during code generation
- * Return the default string representing the default value of the primitive.
- */
- String getDefaultValueString();
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaEvent.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaEvent.java
deleted file mode 100644
index 2cb786fde..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaEvent.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.java;
-/*
- * $RCSfile: JavaEvent.java,v $
- * $Revision: 1.3 $ $Date: 2005/02/15 22:37:02 $
- */
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Java Event</b></em>'.
- * <!-- end-user-doc -->
- *
- *
- * @see org.eclipse.jem.java.JavaRefPackage#getJavaEvent()
- * @model abstract="true"
- * @generated
- */
-public interface JavaEvent extends EStructuralFeature{
-}
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaHelpers.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaHelpers.java
deleted file mode 100644
index 737f114c6..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaHelpers.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.java;
-
-/*
- * $RCSfile: JavaHelpers.java,v $
- * $Revision: 1.6 $ $Date: 2005/05/18 19:38:50 $
- */
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-
-/**
- * Insert the type's description here.
- * Creation date: (6/27/2000 4:42:04 PM)
- * @author: Administrator
- */
-public interface JavaHelpers extends EClass {
- static final String BOOLEAN_NAME = "java.lang.Boolean"; //$NON-NLS-1$
- static final String CHARACTER_NAME = "java.lang.Character"; //$NON-NLS-1$
- static final String BYTE_NAME = "java.lang.Byte"; //$NON-NLS-1$
- static final String DOUBLE_NAME = "java.lang.Double"; //$NON-NLS-1$
- static final String FLOAT_NAME = "java.lang.Float"; //$NON-NLS-1$
- static final String INTEGER_NAME = "java.lang.Integer"; //$NON-NLS-1$
- static final String LONG_NAME = "java.lang.Long"; //$NON-NLS-1$
- static final String SHORT_NAME = "java.lang.Short"; //$NON-NLS-1$
- static final String PRIM_BOOLEAN_NAME = "boolean"; //$NON-NLS-1$
- static final String PRIM_CHARACTER_NAME = "char"; //$NON-NLS-1$
- static final String PRIM_BYTE_NAME = "byte"; //$NON-NLS-1$
- static final String PRIM_DOUBLE_NAME = "double"; //$NON-NLS-1$
- static final String PRIM_FLOAT_NAME = "float"; //$NON-NLS-1$
- static final String PRIM_INTEGER_NAME = "int"; //$NON-NLS-1$
- static final String PRIM_LONG_NAME = "long"; //$NON-NLS-1$
- static final String PRIM_SHORT_NAME = "short"; //$NON-NLS-1$
-
- static final int PRIM_NOT_ID = 0;
- static final int PRIM_BOOLEAN_ID = 1;
- static final int PRIM_CHARACTER_ID = 2;
- static final int PRIM_BYTE_ID = 3;
- static final int PRIM_DOUBLE_ID = 4;
- static final int PRIM_FLOAT_ID = 5;
- static final int PRIM_INTEGER_ID = 6;
- static final int PRIM_LONG_ID = 7;
- static final int PRIM_SHORT_ID = 8;
-
- /**
- * Get the qualified name (with using '.' for inner classes). Will return the name if primitive too (e.g. "boolean")
- * Note: This should of been get the simple name and not the qualifed name, but it is too late and has been established
- * as the API. Use <code>getSimpleName()</code> instead if you want the name not qualified.
- * @return the qualified name of the type.
- * @see JavaHelpers#getSimpleName()
- * @since 1.0.0
- */
- public String getJavaName();
- /**
- * Get the simple name. This is the name of the primitive, or if a class, the name without the package. And if it is an
- * inner class, it will use '.' instead of '$'. If you want the simple name for reflection (i.e. with '$') use <code>getName()</code>.
- * @return the simple name (no package) of the type.
- *
- * @since 1.0.0
- */
- public String getSimpleName();
-
- /**
- * Get the primitive type that this helper wrappers or is (e.g. "java.lang.Integer" and "int" types return "int" type). If not a primitive
- * or a wrapper for a primitive, then return null.
- * @return
- *
- * @since 1.0.0
- */
- public JavaDataType getPrimitive();
-
- /**
- * Get the primitive id that this helper wrappers or is (e.g. "java.lang.Integer" and "int" will return {@link JavaHelpers#PRIM_INTEGER_ID}). If
- * not a wrapper for a primitive then return {@link JavaHelpers#PRIM_NOT_ID}.
- * @return
- *
- * @since 1.1.0
- */
- public int getPrimitiveID();
- /**
- * To be used by people that need to get the qualified name. This would use '.' for inner classes
- * and include the package name.
- * @return the qualified name, including package.
- *
- * @since 1.0.0
- */
- public String getQualifiedName();
- public JavaClass getWrapper();
- public boolean isArray();
- /**
- * Can an object of the passed in class be assigned to an
- * object of this class? In other words is this class a
- * supertype of the passed in class, or is it superinterface
- * of it? Or in the case of primitives, are they the same.
- * @param aClass
- * @return <code>true</code> if assignable from the given class.
- *
- * @since 1.0.0
- */
- public boolean isAssignableFrom(EClassifier aClass);
- public boolean isPrimitive();
-
- /**
- * To be used by people that need to get the qualified name used for reflection. This would use '$' instead of '.' for inner classes
- * and include the package name.
- * Typically bean info would need to use something like this.
- * @return the qualified name, use '$' for inner classes
- *
- * @since 1.0.0
- */
- public String getQualifiedNameForReflection() ;
-}
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaPackage.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaPackage.java
deleted file mode 100644
index e818dd0e8..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaPackage.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.java;
-/*
- * $RCSfile: JavaPackage.java,v $
- * $Revision: 1.4 $ $Date: 2005/05/18 19:38:50 $
- */
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EPackage;
-
-public interface JavaPackage extends EPackage{
-
- public static final String PACKAGE_ID = "*package"; // The id (the part that goes after the '#' for a java package.) //$NON-NLS-1$
- // There will only be one package per java resource so it
- // can be unique. No java types, methods, fields ids can
- // start with an asterick so will be unique.
-
- public static final String PRIMITIVE_PACKAGE_NAME = "_-javaprim"; //$NON-NLS-1$
- /**
- * @generated This field/method will be replaced during code generation
- * @return The list of JavaClasses references
- */
- EList getJavaClasses();
-
- public String getPackageName() ;
-
-} //JavaPackage
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaParameter.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaParameter.java
deleted file mode 100644
index ae0e13c28..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaParameter.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.java;
-
-/*
- * $RCSfile: JavaParameter.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:37:02 $
- */
-
-import org.eclipse.emf.ecore.EParameter;
-
-/**
- * @generated
- */
-public interface JavaParameter extends EParameter {
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the IsFinal attribute
- */
- boolean isFinal();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.java.JavaParameter#isFinal <em>Final</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Final</em>' attribute.
- * @see #isFinal()
- * @generated
- */
- void setFinal(boolean value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the ParameterKind attribute
- */
- JavaParameterKind getParameterKind();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.java.JavaParameter#getParameterKind <em>Parameter Kind</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Parameter Kind</em>' attribute.
- * @see org.eclipse.jem.java.JavaParameterKind
- * @see #getParameterKind()
- * @generated
- */
- void setParameterKind(JavaParameterKind value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * Is this parameter type an array type.
- */
- boolean isArray();
-
- /**
- * @generated This field/method will be replaced during code generation
- * Is this a return parameter.
- */
- boolean isReturn();
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- JavaHelpers getJavaType();
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- String getQualifiedName();
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaParameterKind.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaParameterKind.java
deleted file mode 100644
index 4bd3d1da2..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaParameterKind.java
+++ /dev/null
@@ -1,202 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.java;
-
-/*
- * $RCSfile: JavaParameterKind.java,v $
- * $Revision: 1.5 $ $Date: 2005/04/14 19:05:33 $
- */
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.common.util.AbstractEnumerator;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the literals of the enumeration '<em><b>Java Parameter Kind</b></em>',
- * and utility methods for working with them.
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * IN=0
- * OUT=1
- * INOUT=2
- * RETURN=3
- * <!-- end-model-doc -->
- * @see org.eclipse.jem.java.JavaRefPackage#getJavaParameterKind()
- * @model
- * @generated
- */
-public final class JavaParameterKind extends AbstractEnumerator
-{
- /**
- * The '<em><b>IN</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #IN_LITERAL
- * @model
- * @generated
- * @ordered
- */
- public static final int IN = 0;
- /**
- * The '<em><b>OUT</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #OUT_LITERAL
- * @model
- * @generated
- * @ordered
- */
- public static final int OUT = 1;
- /**
- * The '<em><b>INOUT</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #INOUT_LITERAL
- * @model
- * @generated
- * @ordered
- */
- public static final int INOUT = 2;
- /**
- * The '<em><b>RETURN</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #RETURN_LITERAL
- * @model
- * @generated
- * @ordered
- */
- public static final int RETURN = 3;
- /**
- * The '<em><b>IN</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>IN</b></em>' literal object isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @see #IN
- * @generated
- * @ordered
- */
- public static final JavaParameterKind IN_LITERAL = new JavaParameterKind(IN, "IN");
-
- /**
- * The '<em><b>OUT</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>OUT</b></em>' literal object isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @see #OUT
- * @generated
- * @ordered
- */
- public static final JavaParameterKind OUT_LITERAL = new JavaParameterKind(OUT, "OUT");
-
- /**
- * The '<em><b>INOUT</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>INOUT</b></em>' literal object isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @see #INOUT
- * @generated
- * @ordered
- */
- public static final JavaParameterKind INOUT_LITERAL = new JavaParameterKind(INOUT, "INOUT");
-
- /**
- * The '<em><b>RETURN</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>RETURN</b></em>' literal object isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @see #RETURN
- * @generated
- * @ordered
- */
- public static final JavaParameterKind RETURN_LITERAL = new JavaParameterKind(RETURN, "RETURN");
-
- /**
- * An array of all the '<em><b>Java Parameter Kind</b></em>' enumerators.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private static final JavaParameterKind[] VALUES_ARRAY =
- new JavaParameterKind[] {
- IN_LITERAL,
- OUT_LITERAL,
- INOUT_LITERAL,
- RETURN_LITERAL,
- };
-
- /**
- * A public read-only list of all the '<em><b>Java Parameter Kind</b></em>' enumerators.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
-
- /**
- * Returns the '<em><b>Java Parameter Kind</b></em>' literal with the specified name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static JavaParameterKind get(String name) {
- for (int i = 0; i < VALUES_ARRAY.length; ++i) {
- JavaParameterKind result = VALUES_ARRAY[i];
- if (result.toString().equals(name)) {
- return result;
- }
- }
- return null;
- }
-
- /**
- * Returns the '<em><b>Java Parameter Kind</b></em>' literal with the specified value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static JavaParameterKind get(int value) {
- switch (value) {
- case IN: return IN_LITERAL;
- case OUT: return OUT_LITERAL;
- case INOUT: return INOUT_LITERAL;
- case RETURN: return RETURN_LITERAL;
- }
- return null;
- }
-
- /**
- * Only this class can construct instances.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private JavaParameterKind(int value, String name) {
- super(value, name);
- }
-
-} //JavaParameterKind
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaRefFactory.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaRefFactory.java
deleted file mode 100644
index 18fbda0ca..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaRefFactory.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.java;
-
-/*
- * $RCSfile: JavaRefFactory.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:37:02 $
- */
-
-import org.eclipse.emf.ecore.EFactory;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-/**
- * @generated
- */
-public interface JavaRefFactory extends EFactory{
-
- /**
- * The singleton instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- JavaRefFactory eINSTANCE = new org.eclipse.jem.java.impl.JavaRefFactoryImpl();
-
-
- /**
- * Create a proxy reference to the class name.
- * @param targetName Classname to create a proxy reference too.
- * @return A proxy reference
- *
- * @since 1.0.0
- */
- public JavaClass createClassRef(String targetName);
-
- /**
- * reflect - reflect a java type (class or primitive) for a given qualified name.
- * <p>If the package or type does not exist, one will be created through
- * the reflection mechanism.
- * <p>Lookup the JavaClass in the context of the passed object, handling some error cases.
- * @param aQualifiedName Fully qualified name of class or primitive (e.g. <code>java.lang.Object</code> or <code>int</code>
- * @param relatedObject EObject that it will be related too (it will look through the resource set's project of the EObject)
- * @return The type. <code>null</code> if name is not of correct format, relatedObject is not contained by a resource set, or resource set is not associated with a project.
- *
- * @since 1.0.0
- */
- public JavaHelpers reflectType(String aQualifiedName, EObject relatedObject);
-
-
- /**
- * reflect - reflect a java type (class or primitive) for a given qualified name.
- * <p>If the package or class does not exist, one will be created through
- * the reflection mechanism.
- * @param aQualifiedName Fully qualified name of class or primitive (e.g. <code>java.lang.Object</code> or <code>int</code>
- * @param set Resource set to use. Its project will be used to find the type.
- * @return The type. <code>null</code> if name is not of correct format, or resource set is not associated with a project.
- *
- * @since 1.0.0
- */
- public JavaHelpers reflectType(String aQualifiedName, ResourceSet set);
-
-
- /**
- * reflect - reflect a type for a given package name and class name.
- * <p>If the package or class does not exist, one will be created through
- * the reflection mechanism.
- * @param aPackageName Package name
- * @param aTypeName Type name
- * @param set Resource set to use. Its project will be used to find the type.
- * @return The type. <code>null</code> if name is not of correct format, or resource set is not associated with a project.
- *
- * @since 1.0.0
- */
- public JavaHelpers reflectType(String aPackageName, String aTypeName, ResourceSet set);
-
- /**
- * reflect - reflect a Java package for a given package name.
- * <p>If the package does not exist, one will be created through
- * the reflection mechanism.
- * @param packageName Name of package
- * @param set Resource set to use. Its project will be used to find the package.
- * @return The package. <code>null</code> if name is not of correct format, or resource set is not associated with a project.
- *
- * @since 1.0.0
- */
- public JavaPackage reflectPackage(String packageName, ResourceSet set);
-
- /**
- * @return ArrayType value with an array of the component type
- */
- public ArrayType createArrayType(JavaHelpers componentType);
- /**
- * @return ArrayType value with an array of the specified dimensions and final component type.
- */
- public ArrayType createArrayType(JavaHelpers finalComponentType, int dimensions);
- /**
- * @generated This field/method will be replaced during code generation
- * @return Method value
- */
- Method createMethod();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return JavaClass value
- */
- JavaClass createJavaClass();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return Field value
- */
- Field createField();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return Block value
- */
- Block createBlock();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return Comment value
- */
- Comment createComment();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return Statement value
- */
- Statement createStatement();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return Initializer value
- */
- Initializer createInitializer();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return JavaParameter value
- */
- JavaParameter createJavaParameter();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return ArrayType value
- */
- ArrayType createArrayType();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return JavaDataType value
- */
- JavaDataType createJavaDataType();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return JavaPackage value
- */
- JavaPackage createJavaPackage();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- JavaRefPackage getJavaRefPackage();
-
-}
-
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaRefPackage.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaRefPackage.java
deleted file mode 100644
index e305ef9ab..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaRefPackage.java
+++ /dev/null
@@ -1,1972 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.java;
-/*
- * $RCSfile: JavaRefPackage.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:37:02 $
- */
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EEnum;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EcorePackage;
-
-
-/**
- * @lastgen interface JavaRefPackage extends EPackage {}
- */
-public interface JavaRefPackage extends EPackage{
- /**
- * The package name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNAME = "java";
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int JAVA_CLASS = 0;
- /**
- * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_CLASS__EANNOTATIONS = EcorePackage.ECLASS__EANNOTATIONS;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int JAVA_CLASS__NAME = EcorePackage.ECLASS__NAME;
- /**
- * The feature id for the '<em><b>Instance Class Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_CLASS__INSTANCE_CLASS_NAME = EcorePackage.ECLASS__INSTANCE_CLASS_NAME;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int JAVA_CLASS__INSTANCE_CLASS = EcorePackage.ECLASS__INSTANCE_CLASS;
- /**
- * The feature id for the '<em><b>Default Value</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_CLASS__DEFAULT_VALUE = EcorePackage.ECLASS__DEFAULT_VALUE;
-
- /**
- * The feature id for the '<em><b>EPackage</b></em>' container reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_CLASS__EPACKAGE = EcorePackage.ECLASS__EPACKAGE;
-
- /**
- * The feature id for the '<em><b>Abstract</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_CLASS__ABSTRACT = EcorePackage.ECLASS__ABSTRACT;
-
- /**
- * The feature id for the '<em><b>Interface</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_CLASS__INTERFACE = EcorePackage.ECLASS__INTERFACE;
-
- /**
- * The feature id for the '<em><b>ESuper Types</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_CLASS__ESUPER_TYPES = EcorePackage.ECLASS__ESUPER_TYPES;
-
- /**
- * The feature id for the '<em><b>EOperations</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_CLASS__EOPERATIONS = EcorePackage.ECLASS__EOPERATIONS;
-
- /**
- * The feature id for the '<em><b>EAll Attributes</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_CLASS__EALL_ATTRIBUTES = EcorePackage.ECLASS__EALL_ATTRIBUTES;
-
- /**
- * The feature id for the '<em><b>EAll References</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_CLASS__EALL_REFERENCES = EcorePackage.ECLASS__EALL_REFERENCES;
-
- /**
- * The feature id for the '<em><b>EReferences</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_CLASS__EREFERENCES = EcorePackage.ECLASS__EREFERENCES;
-
- /**
- * The feature id for the '<em><b>EAttributes</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_CLASS__EATTRIBUTES = EcorePackage.ECLASS__EATTRIBUTES;
-
- /**
- * The feature id for the '<em><b>EAll Containments</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_CLASS__EALL_CONTAINMENTS = EcorePackage.ECLASS__EALL_CONTAINMENTS;
-
- /**
- * The feature id for the '<em><b>EAll Operations</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_CLASS__EALL_OPERATIONS = EcorePackage.ECLASS__EALL_OPERATIONS;
-
- /**
- * The feature id for the '<em><b>EAll Structural Features</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_CLASS__EALL_STRUCTURAL_FEATURES = EcorePackage.ECLASS__EALL_STRUCTURAL_FEATURES;
-
- /**
- * The feature id for the '<em><b>EAll Super Types</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_CLASS__EALL_SUPER_TYPES = EcorePackage.ECLASS__EALL_SUPER_TYPES;
-
- /**
- * The feature id for the '<em><b>EID Attribute</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_CLASS__EID_ATTRIBUTE = EcorePackage.ECLASS__EID_ATTRIBUTE;
-
- /**
- * The feature id for the '<em><b>EStructural Features</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_CLASS__ESTRUCTURAL_FEATURES = EcorePackage.ECLASS__ESTRUCTURAL_FEATURES;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int JAVA_CLASS__KIND = EcorePackage.ECLASS_FEATURE_COUNT + 0;
- /**
- * The feature id for the '<em><b>Public</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_CLASS__PUBLIC = EcorePackage.ECLASS_FEATURE_COUNT + 1;
-
- /**
- * The feature id for the '<em><b>Final</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_CLASS__FINAL = EcorePackage.ECLASS_FEATURE_COUNT + 2;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int JAVA_CLASS__IMPLEMENTS_INTERFACES = EcorePackage.ECLASS_FEATURE_COUNT + 3;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int JAVA_CLASS__CLASS_IMPORT = EcorePackage.ECLASS_FEATURE_COUNT + 4;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int JAVA_CLASS__PACKAGE_IMPORTS = EcorePackage.ECLASS_FEATURE_COUNT + 5;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int JAVA_CLASS__FIELDS = EcorePackage.ECLASS_FEATURE_COUNT + 6;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int JAVA_CLASS__METHODS = EcorePackage.ECLASS_FEATURE_COUNT + 7;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int JAVA_CLASS__INITIALIZERS = EcorePackage.ECLASS_FEATURE_COUNT + 8;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int JAVA_CLASS__DECLARED_CLASSES = EcorePackage.ECLASS_FEATURE_COUNT + 9;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int JAVA_CLASS__DECLARING_CLASS = EcorePackage.ECLASS_FEATURE_COUNT + 10;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int JAVA_CLASS__JAVA_PACKAGE = EcorePackage.ECLASS_FEATURE_COUNT + 11;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int JAVA_CLASS__EVENTS = EcorePackage.ECLASS_FEATURE_COUNT + 12;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int JAVA_CLASS__ALL_EVENTS = EcorePackage.ECLASS_FEATURE_COUNT + 13;
- /**
- * The number of structural features of the the '<em>Java Class</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_CLASS_FEATURE_COUNT = EcorePackage.ECLASS_FEATURE_COUNT + 14;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int FIELD = 4;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int METHOD = 3;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int JAVA_PARAMETER = 2;
- /**
- * @generated This field/method will be replaced during code generation.
- */
-
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int ARRAY_TYPE = 10;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int JAVA_DATA_TYPE = 9;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int JAVA_EVENT = 11;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int JAVA_PACKAGE = 8;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int BLOCK = 5;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int COMMENT = 6;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int STATEMENT = 7;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int INITIALIZER = 1;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int INITIALIZER__IS_STATIC = 0;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int INITIALIZER__JAVA_CLASS = 1;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int INITIALIZER__SOURCE = 2;
-
- /**
- * The number of structural features of the the '<em>Initializer</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INITIALIZER_FEATURE_COUNT = 3;
-
- /**
- * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_PARAMETER__EANNOTATIONS = EcorePackage.EPARAMETER__EANNOTATIONS;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int JAVA_PARAMETER__NAME = EcorePackage.EPARAMETER__NAME;
- /**
- * The feature id for the '<em><b>Ordered</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_PARAMETER__ORDERED = EcorePackage.EPARAMETER__ORDERED;
-
- /**
- * The feature id for the '<em><b>Unique</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_PARAMETER__UNIQUE = EcorePackage.EPARAMETER__UNIQUE;
-
- /**
- * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_PARAMETER__LOWER_BOUND = EcorePackage.EPARAMETER__LOWER_BOUND;
-
- /**
- * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_PARAMETER__UPPER_BOUND = EcorePackage.EPARAMETER__UPPER_BOUND;
-
- /**
- * The feature id for the '<em><b>Many</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_PARAMETER__MANY = EcorePackage.EPARAMETER__MANY;
-
- /**
- * The feature id for the '<em><b>Required</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_PARAMETER__REQUIRED = EcorePackage.EPARAMETER__REQUIRED;
-
- /**
- * The feature id for the '<em><b>EType</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_PARAMETER__ETYPE = EcorePackage.EPARAMETER__ETYPE;
-
- /**
- * The feature id for the '<em><b>EOperation</b></em>' container reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_PARAMETER__EOPERATION = EcorePackage.EPARAMETER__EOPERATION;
-
- /**
- * The feature id for the '<em><b>Final</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_PARAMETER__FINAL = EcorePackage.EPARAMETER_FEATURE_COUNT + 0;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int JAVA_PARAMETER__PARAMETER_KIND = EcorePackage.EPARAMETER_FEATURE_COUNT + 1;
- /**
- * The number of structural features of the the '<em>Java Parameter</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_PARAMETER_FEATURE_COUNT = EcorePackage.EPARAMETER_FEATURE_COUNT + 2;
-
- /**
- * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD__EANNOTATIONS = EcorePackage.EOPERATION__EANNOTATIONS;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int METHOD__NAME = EcorePackage.EOPERATION__NAME;
- /**
- * The feature id for the '<em><b>Ordered</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD__ORDERED = EcorePackage.EOPERATION__ORDERED;
-
- /**
- * The feature id for the '<em><b>Unique</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD__UNIQUE = EcorePackage.EOPERATION__UNIQUE;
-
- /**
- * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD__LOWER_BOUND = EcorePackage.EOPERATION__LOWER_BOUND;
-
- /**
- * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD__UPPER_BOUND = EcorePackage.EOPERATION__UPPER_BOUND;
-
- /**
- * The feature id for the '<em><b>Many</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD__MANY = EcorePackage.EOPERATION__MANY;
-
- /**
- * The feature id for the '<em><b>Required</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD__REQUIRED = EcorePackage.EOPERATION__REQUIRED;
-
- /**
- * The feature id for the '<em><b>EType</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD__ETYPE = EcorePackage.EOPERATION__ETYPE;
-
- /**
- * The feature id for the '<em><b>EContaining Class</b></em>' container reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD__ECONTAINING_CLASS = EcorePackage.EOPERATION__ECONTAINING_CLASS;
-
- /**
- * The feature id for the '<em><b>EParameters</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD__EPARAMETERS = EcorePackage.EOPERATION__EPARAMETERS;
-
- /**
- * The feature id for the '<em><b>EExceptions</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD__EEXCEPTIONS = EcorePackage.EOPERATION__EEXCEPTIONS;
-
- /**
- * The feature id for the '<em><b>Abstract</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD__ABSTRACT = EcorePackage.EOPERATION_FEATURE_COUNT + 0;
-
- /**
- * The feature id for the '<em><b>Native</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD__NATIVE = EcorePackage.EOPERATION_FEATURE_COUNT + 1;
-
- /**
- * The feature id for the '<em><b>Synchronized</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD__SYNCHRONIZED = EcorePackage.EOPERATION_FEATURE_COUNT + 2;
-
- /**
- * The feature id for the '<em><b>Final</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD__FINAL = EcorePackage.EOPERATION_FEATURE_COUNT + 3;
-
- /**
- * The feature id for the '<em><b>Constructor</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD__CONSTRUCTOR = EcorePackage.EOPERATION_FEATURE_COUNT + 4;
-
- /**
- * The feature id for the '<em><b>Static</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD__STATIC = EcorePackage.EOPERATION_FEATURE_COUNT + 5;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int METHOD__JAVA_VISIBILITY = EcorePackage.EOPERATION_FEATURE_COUNT + 6;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int METHOD__PARAMETERS = EcorePackage.EOPERATION_FEATURE_COUNT + 7;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int METHOD__JAVA_EXCEPTIONS = EcorePackage.EOPERATION_FEATURE_COUNT + 8;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int METHOD__JAVA_CLASS = EcorePackage.EOPERATION_FEATURE_COUNT + 9;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int METHOD__SOURCE = EcorePackage.EOPERATION_FEATURE_COUNT + 10;
- /**
- * The number of structural features of the the '<em>Method</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD_FEATURE_COUNT = EcorePackage.EOPERATION_FEATURE_COUNT + 11;
-
- /**
- * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int FIELD__EANNOTATIONS = EcorePackage.ETYPED_ELEMENT__EANNOTATIONS;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int FIELD__NAME = EcorePackage.ETYPED_ELEMENT__NAME;
- /**
- * The feature id for the '<em><b>Ordered</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int FIELD__ORDERED = EcorePackage.ETYPED_ELEMENT__ORDERED;
-
- /**
- * The feature id for the '<em><b>Unique</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int FIELD__UNIQUE = EcorePackage.ETYPED_ELEMENT__UNIQUE;
-
- /**
- * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int FIELD__LOWER_BOUND = EcorePackage.ETYPED_ELEMENT__LOWER_BOUND;
-
- /**
- * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int FIELD__UPPER_BOUND = EcorePackage.ETYPED_ELEMENT__UPPER_BOUND;
-
- /**
- * The feature id for the '<em><b>Many</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int FIELD__MANY = EcorePackage.ETYPED_ELEMENT__MANY;
-
- /**
- * The feature id for the '<em><b>Required</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int FIELD__REQUIRED = EcorePackage.ETYPED_ELEMENT__REQUIRED;
-
- /**
- * The feature id for the '<em><b>EType</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int FIELD__ETYPE = EcorePackage.ETYPED_ELEMENT__ETYPE;
-
- /**
- * The feature id for the '<em><b>Final</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int FIELD__FINAL = EcorePackage.ETYPED_ELEMENT_FEATURE_COUNT + 0;
-
- /**
- * The feature id for the '<em><b>Static</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int FIELD__STATIC = EcorePackage.ETYPED_ELEMENT_FEATURE_COUNT + 1;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int FIELD__JAVA_VISIBILITY = EcorePackage.ETYPED_ELEMENT_FEATURE_COUNT + 2;
- /**
- * The feature id for the '<em><b>Transient</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int FIELD__TRANSIENT = EcorePackage.ETYPED_ELEMENT_FEATURE_COUNT + 3;
-
- /**
- * The feature id for the '<em><b>Volatile</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int FIELD__VOLATILE = EcorePackage.ETYPED_ELEMENT_FEATURE_COUNT + 4;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int FIELD__JAVA_CLASS = EcorePackage.ETYPED_ELEMENT_FEATURE_COUNT + 5;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int FIELD__INITIALIZER = EcorePackage.ETYPED_ELEMENT_FEATURE_COUNT + 6;
- /**
- * The number of structural features of the the '<em>Field</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int FIELD_FEATURE_COUNT = EcorePackage.ETYPED_ELEMENT_FEATURE_COUNT + 7;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int BLOCK__SOURCE = 0;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int BLOCK__NAME = 1;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int BLOCK__CONTENTS = 2;
-
- /**
- * The number of structural features of the the '<em>Block</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BLOCK_FEATURE_COUNT = 3;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int COMMENT__SOURCE = BLOCK__SOURCE;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int COMMENT__NAME = BLOCK__NAME;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int COMMENT__CONTENTS = BLOCK__CONTENTS;
-
- /**
- * The number of structural features of the the '<em>Comment</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int COMMENT_FEATURE_COUNT = BLOCK_FEATURE_COUNT + 0;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int STATEMENT__SOURCE = BLOCK__SOURCE;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int STATEMENT__NAME = BLOCK__NAME;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int STATEMENT__CONTENTS = BLOCK__CONTENTS;
-
- /**
- * The number of structural features of the the '<em>Statement</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int STATEMENT_FEATURE_COUNT = BLOCK_FEATURE_COUNT + 0;
-
- /**
- * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_PACKAGE__EANNOTATIONS = EcorePackage.EPACKAGE__EANNOTATIONS;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int JAVA_PACKAGE__NAME = EcorePackage.EPACKAGE__NAME;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int JAVA_PACKAGE__NS_URI = EcorePackage.EPACKAGE__NS_URI;
- /**
- * The feature id for the '<em><b>Ns Prefix</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_PACKAGE__NS_PREFIX = EcorePackage.EPACKAGE__NS_PREFIX;
-
- /**
- * The feature id for the '<em><b>EFactory Instance</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_PACKAGE__EFACTORY_INSTANCE = EcorePackage.EPACKAGE__EFACTORY_INSTANCE;
-
- /**
- * The feature id for the '<em><b>EClassifiers</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_PACKAGE__ECLASSIFIERS = EcorePackage.EPACKAGE__ECLASSIFIERS;
-
- /**
- * The feature id for the '<em><b>ESubpackages</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_PACKAGE__ESUBPACKAGES = EcorePackage.EPACKAGE__ESUBPACKAGES;
-
- /**
- * The feature id for the '<em><b>ESuper Package</b></em>' container reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_PACKAGE__ESUPER_PACKAGE = EcorePackage.EPACKAGE__ESUPER_PACKAGE;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int JAVA_PACKAGE__JAVA_CLASSES = EcorePackage.EPACKAGE_FEATURE_COUNT + 0;
- /**
- * The number of structural features of the the '<em>Java Package</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_PACKAGE_FEATURE_COUNT = EcorePackage.EPACKAGE_FEATURE_COUNT + 1;
-
- /**
- * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_DATA_TYPE__EANNOTATIONS = EcorePackage.ECLASS__EANNOTATIONS;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int JAVA_DATA_TYPE__NAME = EcorePackage.ECLASS__NAME;
- /**
- * The feature id for the '<em><b>Instance Class Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_DATA_TYPE__INSTANCE_CLASS_NAME = EcorePackage.ECLASS__INSTANCE_CLASS_NAME;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int JAVA_DATA_TYPE__INSTANCE_CLASS = EcorePackage.ECLASS__INSTANCE_CLASS;
- /**
- * The feature id for the '<em><b>Default Value</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_DATA_TYPE__DEFAULT_VALUE = EcorePackage.ECLASS__DEFAULT_VALUE;
-
- /**
- * The feature id for the '<em><b>EPackage</b></em>' container reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_DATA_TYPE__EPACKAGE = EcorePackage.ECLASS__EPACKAGE;
-
- /**
- * The feature id for the '<em><b>Abstract</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_DATA_TYPE__ABSTRACT = EcorePackage.ECLASS__ABSTRACT;
-
- /**
- * The feature id for the '<em><b>Interface</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_DATA_TYPE__INTERFACE = EcorePackage.ECLASS__INTERFACE;
-
- /**
- * The feature id for the '<em><b>ESuper Types</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_DATA_TYPE__ESUPER_TYPES = EcorePackage.ECLASS__ESUPER_TYPES;
-
- /**
- * The feature id for the '<em><b>EOperations</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_DATA_TYPE__EOPERATIONS = EcorePackage.ECLASS__EOPERATIONS;
-
- /**
- * The feature id for the '<em><b>EAll Attributes</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_DATA_TYPE__EALL_ATTRIBUTES = EcorePackage.ECLASS__EALL_ATTRIBUTES;
-
- /**
- * The feature id for the '<em><b>EAll References</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_DATA_TYPE__EALL_REFERENCES = EcorePackage.ECLASS__EALL_REFERENCES;
-
- /**
- * The feature id for the '<em><b>EReferences</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_DATA_TYPE__EREFERENCES = EcorePackage.ECLASS__EREFERENCES;
-
- /**
- * The feature id for the '<em><b>EAttributes</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_DATA_TYPE__EATTRIBUTES = EcorePackage.ECLASS__EATTRIBUTES;
-
- /**
- * The feature id for the '<em><b>EAll Containments</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_DATA_TYPE__EALL_CONTAINMENTS = EcorePackage.ECLASS__EALL_CONTAINMENTS;
-
- /**
- * The feature id for the '<em><b>EAll Operations</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_DATA_TYPE__EALL_OPERATIONS = EcorePackage.ECLASS__EALL_OPERATIONS;
-
- /**
- * The feature id for the '<em><b>EAll Structural Features</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_DATA_TYPE__EALL_STRUCTURAL_FEATURES = EcorePackage.ECLASS__EALL_STRUCTURAL_FEATURES;
-
- /**
- * The feature id for the '<em><b>EAll Super Types</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_DATA_TYPE__EALL_SUPER_TYPES = EcorePackage.ECLASS__EALL_SUPER_TYPES;
-
- /**
- * The feature id for the '<em><b>EID Attribute</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_DATA_TYPE__EID_ATTRIBUTE = EcorePackage.ECLASS__EID_ATTRIBUTE;
-
- /**
- * The feature id for the '<em><b>EStructural Features</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_DATA_TYPE__ESTRUCTURAL_FEATURES = EcorePackage.ECLASS__ESTRUCTURAL_FEATURES;
-
- /**
- * The number of structural features of the the '<em>Java Data Type</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_DATA_TYPE_FEATURE_COUNT = EcorePackage.ECLASS_FEATURE_COUNT + 0;
-
- /**
- * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ARRAY_TYPE__EANNOTATIONS = JAVA_CLASS__EANNOTATIONS;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int ARRAY_TYPE__NAME = JAVA_CLASS__NAME;
- /**
- * The feature id for the '<em><b>Instance Class Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ARRAY_TYPE__INSTANCE_CLASS_NAME = JAVA_CLASS__INSTANCE_CLASS_NAME;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int ARRAY_TYPE__INSTANCE_CLASS = JAVA_CLASS__INSTANCE_CLASS;
- /**
- * The feature id for the '<em><b>Default Value</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ARRAY_TYPE__DEFAULT_VALUE = JAVA_CLASS__DEFAULT_VALUE;
-
- /**
- * The feature id for the '<em><b>EPackage</b></em>' container reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ARRAY_TYPE__EPACKAGE = JAVA_CLASS__EPACKAGE;
-
- /**
- * The feature id for the '<em><b>Abstract</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ARRAY_TYPE__ABSTRACT = JAVA_CLASS__ABSTRACT;
-
- /**
- * The feature id for the '<em><b>Interface</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ARRAY_TYPE__INTERFACE = JAVA_CLASS__INTERFACE;
-
- /**
- * The feature id for the '<em><b>ESuper Types</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ARRAY_TYPE__ESUPER_TYPES = JAVA_CLASS__ESUPER_TYPES;
-
- /**
- * The feature id for the '<em><b>EOperations</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ARRAY_TYPE__EOPERATIONS = JAVA_CLASS__EOPERATIONS;
-
- /**
- * The feature id for the '<em><b>EAll Attributes</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ARRAY_TYPE__EALL_ATTRIBUTES = JAVA_CLASS__EALL_ATTRIBUTES;
-
- /**
- * The feature id for the '<em><b>EAll References</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ARRAY_TYPE__EALL_REFERENCES = JAVA_CLASS__EALL_REFERENCES;
-
- /**
- * The feature id for the '<em><b>EReferences</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ARRAY_TYPE__EREFERENCES = JAVA_CLASS__EREFERENCES;
-
- /**
- * The feature id for the '<em><b>EAttributes</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ARRAY_TYPE__EATTRIBUTES = JAVA_CLASS__EATTRIBUTES;
-
- /**
- * The feature id for the '<em><b>EAll Containments</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ARRAY_TYPE__EALL_CONTAINMENTS = JAVA_CLASS__EALL_CONTAINMENTS;
-
- /**
- * The feature id for the '<em><b>EAll Operations</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ARRAY_TYPE__EALL_OPERATIONS = JAVA_CLASS__EALL_OPERATIONS;
-
- /**
- * The feature id for the '<em><b>EAll Structural Features</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ARRAY_TYPE__EALL_STRUCTURAL_FEATURES = JAVA_CLASS__EALL_STRUCTURAL_FEATURES;
-
- /**
- * The feature id for the '<em><b>EAll Super Types</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ARRAY_TYPE__EALL_SUPER_TYPES = JAVA_CLASS__EALL_SUPER_TYPES;
-
- /**
- * The feature id for the '<em><b>EID Attribute</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ARRAY_TYPE__EID_ATTRIBUTE = JAVA_CLASS__EID_ATTRIBUTE;
-
- /**
- * The feature id for the '<em><b>EStructural Features</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ARRAY_TYPE__ESTRUCTURAL_FEATURES = JAVA_CLASS__ESTRUCTURAL_FEATURES;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int ARRAY_TYPE__KIND = JAVA_CLASS__KIND;
- /**
- * The feature id for the '<em><b>Public</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ARRAY_TYPE__PUBLIC = JAVA_CLASS__PUBLIC;
-
- /**
- * The feature id for the '<em><b>Final</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ARRAY_TYPE__FINAL = JAVA_CLASS__FINAL;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int ARRAY_TYPE__IMPLEMENTS_INTERFACES = JAVA_CLASS__IMPLEMENTS_INTERFACES;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int ARRAY_TYPE__CLASS_IMPORT = JAVA_CLASS__CLASS_IMPORT;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int ARRAY_TYPE__PACKAGE_IMPORTS = JAVA_CLASS__PACKAGE_IMPORTS;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int ARRAY_TYPE__FIELDS = JAVA_CLASS__FIELDS;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int ARRAY_TYPE__METHODS = JAVA_CLASS__METHODS;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int ARRAY_TYPE__INITIALIZERS = JAVA_CLASS__INITIALIZERS;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int ARRAY_TYPE__DECLARED_CLASSES = JAVA_CLASS__DECLARED_CLASSES;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int ARRAY_TYPE__DECLARING_CLASS = JAVA_CLASS__DECLARING_CLASS;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int ARRAY_TYPE__JAVA_PACKAGE = JAVA_CLASS__JAVA_PACKAGE;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int ARRAY_TYPE__EVENTS = JAVA_CLASS__EVENTS;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int ARRAY_TYPE__ALL_EVENTS = JAVA_CLASS__ALL_EVENTS;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int ARRAY_TYPE__ARRAY_DIMENSIONS = JAVA_CLASS_FEATURE_COUNT + 0;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int ARRAY_TYPE__COMPONENT_TYPE = JAVA_CLASS_FEATURE_COUNT + 1;
- /**
- * The number of structural features of the the '<em>Array Type</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ARRAY_TYPE_FEATURE_COUNT = JAVA_CLASS_FEATURE_COUNT + 2;
-
- /**
- * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_EVENT__EANNOTATIONS = EcorePackage.ESTRUCTURAL_FEATURE__EANNOTATIONS;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int JAVA_EVENT__NAME = EcorePackage.ESTRUCTURAL_FEATURE__NAME;
- /**
- * The feature id for the '<em><b>Ordered</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_EVENT__ORDERED = EcorePackage.ESTRUCTURAL_FEATURE__ORDERED;
-
- /**
- * The feature id for the '<em><b>Unique</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_EVENT__UNIQUE = EcorePackage.ESTRUCTURAL_FEATURE__UNIQUE;
-
- /**
- * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_EVENT__LOWER_BOUND = EcorePackage.ESTRUCTURAL_FEATURE__LOWER_BOUND;
-
- /**
- * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_EVENT__UPPER_BOUND = EcorePackage.ESTRUCTURAL_FEATURE__UPPER_BOUND;
-
- /**
- * The feature id for the '<em><b>Many</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_EVENT__MANY = EcorePackage.ESTRUCTURAL_FEATURE__MANY;
-
- /**
- * The feature id for the '<em><b>Required</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_EVENT__REQUIRED = EcorePackage.ESTRUCTURAL_FEATURE__REQUIRED;
-
- /**
- * The feature id for the '<em><b>EType</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_EVENT__ETYPE = EcorePackage.ESTRUCTURAL_FEATURE__ETYPE;
-
- /**
- * The feature id for the '<em><b>Changeable</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_EVENT__CHANGEABLE = EcorePackage.ESTRUCTURAL_FEATURE__CHANGEABLE;
-
- /**
- * The feature id for the '<em><b>Volatile</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_EVENT__VOLATILE = EcorePackage.ESTRUCTURAL_FEATURE__VOLATILE;
-
- /**
- * The feature id for the '<em><b>Transient</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_EVENT__TRANSIENT = EcorePackage.ESTRUCTURAL_FEATURE__TRANSIENT;
-
- /**
- * The feature id for the '<em><b>Default Value Literal</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_EVENT__DEFAULT_VALUE_LITERAL = EcorePackage.ESTRUCTURAL_FEATURE__DEFAULT_VALUE_LITERAL;
-
- /**
- * The feature id for the '<em><b>Default Value</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_EVENT__DEFAULT_VALUE = EcorePackage.ESTRUCTURAL_FEATURE__DEFAULT_VALUE;
-
- /**
- * The feature id for the '<em><b>Unsettable</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_EVENT__UNSETTABLE = EcorePackage.ESTRUCTURAL_FEATURE__UNSETTABLE;
-
- /**
- * The feature id for the '<em><b>Derived</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_EVENT__DERIVED = EcorePackage.ESTRUCTURAL_FEATURE__DERIVED;
-
- /**
- * The feature id for the '<em><b>EContaining Class</b></em>' container reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_EVENT__ECONTAINING_CLASS = EcorePackage.ESTRUCTURAL_FEATURE__ECONTAINING_CLASS;
-
- /**
- * The number of structural features of the the '<em>Java Event</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JAVA_EVENT_FEATURE_COUNT = EcorePackage.ESTRUCTURAL_FEATURE_FEATURE_COUNT + 0;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int JAVA_VISIBILITY_KIND = 13;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int JAVA_PARAMETER_KIND = 14;
- /**
- * The meta object id for the '<em>JType Java Helpers</em>' data type.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.java.JavaHelpers
- * @see org.eclipse.jem.java.impl.JavaRefPackageImpl#getJTypeJavaHelpers()
- * @generated
- */
- int JTYPE_JAVA_HELPERS = 15;
-
- /**
- * The meta object id for the '<em>JType List</em>' data type.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see java.util.List
- * @see org.eclipse.jem.java.impl.JavaRefPackageImpl#getJTypeList()
- * @generated
- */
- int JTYPE_LIST = 16;
-
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int TYPE_KIND = 12;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- String eNS_URI = "java.xmi";
- /**
- * The package namespace name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNS_PREFIX = "org.eclipse.jem.internal.java";
-
- /**
- * The singleton instance of the package.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- JavaRefPackage eINSTANCE = org.eclipse.jem.java.impl.JavaRefPackageImpl.init();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return JavaClass object
- */
- EClass getJavaClass();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EAttribute getJavaClass_Kind();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.java.JavaClass#isPublic <em>Public</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Public</em>'.
- * @see org.eclipse.jem.java.JavaClass#isPublic()
- * @see #getJavaClass()
- * @generated
- */
- EAttribute getJavaClass_Public();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.java.JavaClass#isFinal <em>Final</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Final</em>'.
- * @see org.eclipse.jem.java.JavaClass#isFinal()
- * @see #getJavaClass()
- * @generated
- */
- EAttribute getJavaClass_Final();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EReference getJavaClass_ImplementsInterfaces();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EReference getJavaClass_ClassImport();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EReference getJavaClass_PackageImports();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EReference getJavaClass_Fields();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EReference getJavaClass_Methods();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EReference getJavaClass_Initializers();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EReference getJavaClass_DeclaringClass();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EReference getJavaClass_DeclaredClasses();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EReference getJavaClass_JavaPackage();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EReference getJavaClass_Events();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EReference getJavaClass_AllEvents();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return Field object
- */
- EClass getField();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.java.Field#isFinal <em>Final</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Final</em>'.
- * @see org.eclipse.jem.java.Field#isFinal()
- * @see #getField()
- * @generated
- */
- EAttribute getField_Final();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.java.Field#isStatic <em>Static</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Static</em>'.
- * @see org.eclipse.jem.java.Field#isStatic()
- * @see #getField()
- * @generated
- */
- EAttribute getField_Static();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EAttribute getField_JavaVisibility();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.java.Field#isTransient <em>Transient</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Transient</em>'.
- * @see org.eclipse.jem.java.Field#isTransient()
- * @see #getField()
- * @generated
- */
- EAttribute getField_Transient();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.java.Field#isVolatile <em>Volatile</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Volatile</em>'.
- * @see org.eclipse.jem.java.Field#isVolatile()
- * @see #getField()
- * @generated
- */
- EAttribute getField_Volatile();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EReference getField_JavaClass();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EReference getField_Initializer();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return Method object
- */
- EClass getMethod();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.java.Method#isAbstract <em>Abstract</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Abstract</em>'.
- * @see org.eclipse.jem.java.Method#isAbstract()
- * @see #getMethod()
- * @generated
- */
- EAttribute getMethod_Abstract();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.java.Method#isNative <em>Native</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Native</em>'.
- * @see org.eclipse.jem.java.Method#isNative()
- * @see #getMethod()
- * @generated
- */
- EAttribute getMethod_Native();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.java.Method#isSynchronized <em>Synchronized</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Synchronized</em>'.
- * @see org.eclipse.jem.java.Method#isSynchronized()
- * @see #getMethod()
- * @generated
- */
- EAttribute getMethod_Synchronized();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.java.Method#isFinal <em>Final</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Final</em>'.
- * @see org.eclipse.jem.java.Method#isFinal()
- * @see #getMethod()
- * @generated
- */
- EAttribute getMethod_Final();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.java.Method#isConstructor <em>Constructor</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Constructor</em>'.
- * @see org.eclipse.jem.java.Method#isConstructor()
- * @see #getMethod()
- * @generated
- */
- EAttribute getMethod_Constructor();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.java.Method#isStatic <em>Static</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Static</em>'.
- * @see org.eclipse.jem.java.Method#isStatic()
- * @see #getMethod()
- * @generated
- */
- EAttribute getMethod_Static();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EAttribute getMethod_JavaVisibility();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EReference getMethod_Parameters();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EReference getMethod_JavaExceptions();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EReference getMethod_JavaClass();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EReference getMethod_Source();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return JavaParameter object
- */
- EClass getJavaParameter();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.java.JavaParameter#isFinal <em>Final</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Final</em>'.
- * @see org.eclipse.jem.java.JavaParameter#isFinal()
- * @see #getJavaParameter()
- * @generated
- */
- EAttribute getJavaParameter_Final();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EAttribute getJavaParameter_ParameterKind();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return ArrayType object
- */
- EClass getArrayType();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EAttribute getArrayType_ArrayDimensions();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EReference getArrayType_ComponentType();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return JavaDataType object
- */
- EClass getJavaDataType();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return JavaEvent object
- */
- EClass getJavaEvent();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return JavaPackage object
- */
- EClass getJavaPackage();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EReference getJavaPackage_JavaClasses();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return Block object
- */
- EClass getBlock();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EAttribute getBlock_Source();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EAttribute getBlock_Name();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EReference getBlock_Contents();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return Comment object
- */
- EClass getComment();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return Statement object
- */
- EClass getStatement();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return Initializer object
- */
- EClass getInitializer();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EAttribute getInitializer_IsStatic();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EReference getInitializer_JavaClass();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EReference getInitializer_Source();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return JavaVisibilityKind object
- */
- EEnum getJavaVisibilityKind();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return JavaParameterKind object
- */
- EEnum getJavaParameterKind();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return TypeKind object
- */
- EEnum getTypeKind();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return JTypeList object
- */
- EDataType getJTypeList();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return JTypeJavaHelpers object
- */
- EDataType getJTypeJavaHelpers();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- JavaRefFactory getJavaRefFactory();
-
-} //JavaRefPackage
-
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaURL.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaURL.java
deleted file mode 100644
index 2a8f775ad..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaURL.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.java;
-/*
- * $RCSfile: JavaURL.java,v $
- * $Revision: 1.4 $ $Date: 2005/05/18 19:38:50 $
- */
-
-
-public class JavaURL extends org.eclipse.jem.java.impl.URL {
- public static final String JAVA_PROTOCOL_URI_PREFIX = "java:/"; //$NON-NLS-1$
- /**
- * JavaURL constructor comment.
- * @param urlString java.lang.String
- */
- public JavaURL(String urlString) {
- super(urlString);
- }
- /**
- * JavaURL constructor comment.
- * @param nameSpaceName java.lang.String
- * @param iD java.lang.String
- */
- public JavaURL(String nameSpaceName, String iD) {
- super(null, null);
- initializeNamespaceString(nameSpaceName);
- this.ID = iD;
- }
- public String getClassName() {
- return ID;
- }
- /**
- * This method was created in VisualAge.
- * @return java.lang.String
- */
- public String getFullString() {
- StringBuffer buf = new StringBuffer();
- if (namespaceName != null) {
- buf.append(namespaceName);
- if (ID != null)
- buf.append("#"); //$NON-NLS-1$
- }
- if (ID != null)
- buf.append(ID);
- return buf.toString();
- }
- public String getPackageName() {
- String internalName = namespaceName.substring(JAVA_PROTOCOL_URI_PREFIX.length(), namespaceName.length());
- return JavaPackage.PRIMITIVE_PACKAGE_NAME.equals(internalName) ? "" : internalName; //$NON-NLS-1$
- }
- /* If we don't have a # sign to delimit the start of the java package us the inherited behavior
- */
- public void initializeFromString(String url) {
- if (url.indexOf("#") != -1) //$NON-NLS-1$
- super.initializeFromString(url);
- else {
- int endOfPackageName = url.lastIndexOf('.');
- if (endOfPackageName == -1)
- initializeNamespaceString(null);
- else
- initializeNamespaceString(url.substring(0, endOfPackageName));
- ID = url.substring(endOfPackageName + 1);
- }
-
- }
- /*
- */
- public void initializeNamespaceString(String aNamespaceName) {
- if (aNamespaceName == null)
- namespaceName = JAVA_PROTOCOL_URI_PREFIX;
- else
- namespaceName = JAVA_PROTOCOL_URI_PREFIX + aNamespaceName;
- }
- public static boolean isJavaURL(String aUrlString) {
- if (aUrlString == null)
- return false;
- return aUrlString.startsWith(JAVA_PROTOCOL_URI_PREFIX);
- }
-
- public String toString() {
- return "URL(" + getFullString() + ")"; //$NON-NLS-1$ //$NON-NLS-2$
- }
-}
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaVisibilityKind.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaVisibilityKind.java
deleted file mode 100644
index 75e4da596..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaVisibilityKind.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.java;
-/*
- * $RCSfile: JavaVisibilityKind.java,v $
- * $Revision: 1.5 $ $Date: 2005/04/14 19:05:33 $
- */
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.common.util.AbstractEnumerator;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the literals of the enumeration '<em><b>Java Visibility Kind</b></em>',
- * and utility methods for working with them.
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * PACKAGE=1
- * PUBLIC=2
- * PRIVATE=3
- * PROTECTED=4
- * <!-- end-model-doc -->
- * @see org.eclipse.jem.java.JavaRefPackage#getJavaVisibilityKind()
- * @model
- * @generated
- */
-public final class JavaVisibilityKind extends AbstractEnumerator
-{
- /**
- * The '<em><b>PUBLIC</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #PUBLIC_LITERAL
- * @model
- * @generated
- * @ordered
- */
- public static final int PUBLIC = 0;
-
- /**
- * The '<em><b>PRIVATE</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #PRIVATE_LITERAL
- * @model
- * @generated
- * @ordered
- */
- public static final int PRIVATE = 1;
-
- /**
- * The '<em><b>PROTECTED</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #PROTECTED_LITERAL
- * @model
- * @generated
- * @ordered
- */
- public static final int PROTECTED = 2;
-
- /**
- * The '<em><b>PACKAGE</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #PACKAGE_LITERAL
- * @model
- * @generated
- * @ordered
- */
- public static final int PACKAGE = 3;
-
- /**
- * The '<em><b>PUBLIC</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>PUBLIC</b></em>' literal object isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @see #PUBLIC
- * @generated
- * @ordered
- */
- public static final JavaVisibilityKind PUBLIC_LITERAL = new JavaVisibilityKind(PUBLIC, "PUBLIC");
-
- /**
- * The '<em><b>PRIVATE</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>PRIVATE</b></em>' literal object isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @see #PRIVATE
- * @generated
- * @ordered
- */
- public static final JavaVisibilityKind PRIVATE_LITERAL = new JavaVisibilityKind(PRIVATE, "PRIVATE");
-
- /**
- * The '<em><b>PROTECTED</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>PROTECTED</b></em>' literal object isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @see #PROTECTED
- * @generated
- * @ordered
- */
- public static final JavaVisibilityKind PROTECTED_LITERAL = new JavaVisibilityKind(PROTECTED, "PROTECTED");
-
- /**
- * The '<em><b>PACKAGE</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>PACKAGE</b></em>' literal object isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @see #PACKAGE
- * @generated
- * @ordered
- */
- public static final JavaVisibilityKind PACKAGE_LITERAL = new JavaVisibilityKind(PACKAGE, "PACKAGE");
-
- /**
- * An array of all the '<em><b>Java Visibility Kind</b></em>' enumerators.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private static final JavaVisibilityKind[] VALUES_ARRAY =
- new JavaVisibilityKind[] {
- PUBLIC_LITERAL,
- PRIVATE_LITERAL,
- PROTECTED_LITERAL,
- PACKAGE_LITERAL,
- };
-
- /**
- * A public read-only list of all the '<em><b>Java Visibility Kind</b></em>' enumerators.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
-
- /**
- * Returns the '<em><b>Java Visibility Kind</b></em>' literal with the specified name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static JavaVisibilityKind get(String name) {
- for (int i = 0; i < VALUES_ARRAY.length; ++i) {
- JavaVisibilityKind result = VALUES_ARRAY[i];
- if (result.toString().equals(name)) {
- return result;
- }
- }
- return null;
- }
-
- /**
- * Returns the '<em><b>Java Visibility Kind</b></em>' literal with the specified value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static JavaVisibilityKind get(int value) {
- switch (value) {
- case PUBLIC: return PUBLIC_LITERAL;
- case PRIVATE: return PRIVATE_LITERAL;
- case PROTECTED: return PROTECTED_LITERAL;
- case PACKAGE: return PACKAGE_LITERAL;
- }
- return null;
- }
-
- /**
- * Only this class can construct instances.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private JavaVisibilityKind(int value, String name) {
- super(value, name);
- }
-
-} //JavaVisibilityKind
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/Method.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/Method.java
deleted file mode 100644
index fdf994df3..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/Method.java
+++ /dev/null
@@ -1,279 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.java;
-
-/*
- * $RCSfile: Method.java,v $
- * $Revision: 1.5 $ $Date: 2005/04/14 19:05:33 $
- */
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EOperation;
-
-/**
- * @generated
- */
-public interface Method extends EOperation{
-
- public static final String GENERATED_COMMENT_TAG = "@generated";
- /**
- * Lists all the parameters, excluding the return type
- */
- public JavaParameter[] listParametersWithoutReturn();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the IsAbstract attribute
- */
- boolean isAbstract();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.java.Method#isAbstract <em>Abstract</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Abstract</em>' attribute.
- * @see #isAbstract()
- * @generated
- */
- void setAbstract(boolean value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the IsNative attribute
- */
- boolean isNative();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.java.Method#isNative <em>Native</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Native</em>' attribute.
- * @see #isNative()
- * @generated
- */
- void setNative(boolean value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the IsSynchronized attribute
- */
- boolean isSynchronized();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.java.Method#isSynchronized <em>Synchronized</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Synchronized</em>' attribute.
- * @see #isSynchronized()
- * @generated
- */
- void setSynchronized(boolean value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the IsFinal attribute
- */
- boolean isFinal();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.java.Method#isFinal <em>Final</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Final</em>' attribute.
- * @see #isFinal()
- * @generated
- */
- void setFinal(boolean value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the IsConstructor attribute
- */
- boolean isConstructor();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.java.Method#isConstructor <em>Constructor</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Constructor</em>' attribute.
- * @see #isConstructor()
- * @generated
- */
- void setConstructor(boolean value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the IsStatic attribute
- */
- boolean isStatic();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.java.Method#isStatic <em>Static</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Static</em>' attribute.
- * @see #isStatic()
- * @generated
- */
- void setStatic(boolean value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the JavaVisibility attribute
- */
- JavaVisibilityKind getJavaVisibility();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.java.Method#getJavaVisibility <em>Java Visibility</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Java Visibility</em>' attribute.
- * @see org.eclipse.jem.java.JavaVisibilityKind
- * @see #getJavaVisibility()
- * @generated
- */
- void setJavaVisibility(JavaVisibilityKind value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The list of Parameters references
- */
- EList getParameters();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The list of JavaExceptions references
- */
- EList getJavaExceptions();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The JavaClass reference
- */
- JavaClass getJavaClass();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.java.Method#getJavaClass <em>Java Class</em>}' container reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Java Class</em>' container reference.
- * @see #getJavaClass()
- * @generated
- */
- void setJavaClass(JavaClass value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The Source reference
- */
- Block getSource();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.java.Method#getSource <em>Source</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Source</em>' reference.
- * @see #getSource()
- * @generated
- */
- void setSource(Block value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * Return the java class that this method is defined in.
- */
- JavaClass getContainingJavaClass();
-
- /**
- * @generated This field/method will be replaced during code generation
- * Return a String with the the method name and its parameters. e.g. <code>
- * setFirstName(java.lang.String) <//code> .
- *
- */
- String getMethodElementSignature();
-
- /**
- * @generated This field/method will be replaced during code generation
- * Return a Parameter with the passed name, or null.
- */
- JavaParameter getParameter(String parameterName);
-
- /**
- * @generated This field/method will be replaced during code generation
- * Get the return type.
- */
- JavaHelpers getReturnType();
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * Set the return type
- * <!-- end-model-doc -->
- * @model parameters="org.eclipse.jem.java.JTypeJavaHelpers"
- * @generated
- */
- void setReturnType(JavaHelpers type);
-
- /**
- * @generated This field/method will be replaced during code generation
- * Replicate the functionality of java.lang.reflect.Method.toString().
- *
- * Returns a string describing this Method. The string is formatted as the method
- * access modifiers, if any, followed by the method return type, followed by a
- * space, followed by the class declaring the method, followed by a period,
- * followed by the method name, followed by a parenthesized, comma-separated list
- * of the method's formal parameter types. If the method throws checked
- * exceptions, the parameter list is followed by a space, followed by the word
- * throws followed by a comma-separated list of the thrown exception types.
- *
- * For example:
- *
- * public boolean java.lang.Object.equals(java.lang.Object)
- *
- * The access modifiers are placed in canonical order as specified by "The Java
- * Language Specification". This is public, <tt>protected<//tt> or
- * <tt>private<//tt> first, and then other modifiers in the following order:
- * <tt>abstract<//tt>, <tt>static<//tt>, <tt>final<//tt>, <tt>synchronized<//tt>
- * <tt>native<//tt>.
-
- */
- String getSignature();
-
- /**
- * @generated This field/method will be replaced during code generation
- * Returns true if the method is system generated.
- * This is usually determined by the @generated tag in the comment.
- */
- boolean isGenerated();
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * Set the isGenerated flag.
- * <!-- end-model-doc -->
- * @model
- * @generated
- */
- void setIsGenerated(boolean generated);
-
- /**
- * @generated This field/method will be replaced during code generation
- * Is this a void return type method.
- */
- boolean isVoid();
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/Statement.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/Statement.java
deleted file mode 100644
index e881d2de3..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/Statement.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: Statement.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:37:02 $
- */
-package org.eclipse.jem.java;
-
-/**
- * @generated
- */
-public interface Statement extends Block {
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/TypeKind.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/TypeKind.java
deleted file mode 100644
index 55bed143c..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/TypeKind.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.java;
-/*
- * $RCSfile: TypeKind.java,v $
- * $Revision: 1.5 $ $Date: 2005/04/14 19:05:33 $
- */
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.common.util.AbstractEnumerator;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the literals of the enumeration '<em><b>Type Kind</b></em>',
- * and utility methods for working with them.
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * UNDEFINED=1 CLASS=2 INTERFACE=3 EXCEPTION=4
- * <!-- end-model-doc -->
- * @see org.eclipse.jem.java.JavaRefPackage#getTypeKind()
- * @model
- * @generated
- */
-public final class TypeKind extends AbstractEnumerator
-{
- /**
- * The '<em><b>UNDEFINED</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #UNDEFINED_LITERAL
- * @model
- * @generated
- * @ordered
- */
- public static final int UNDEFINED = 0;
-
- /**
- * The '<em><b>CLASS</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #CLASS_LITERAL
- * @model
- * @generated
- * @ordered
- */
- public static final int CLASS = 1;
-
- /**
- * The '<em><b>INTERFACE</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #INTERFACE_LITERAL
- * @model
- * @generated
- * @ordered
- */
- public static final int INTERFACE = 2;
-
- /**
- * The '<em><b>EXCEPTION</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #EXCEPTION_LITERAL
- * @model
- * @generated
- * @ordered
- */
- public static final int EXCEPTION = 3;
-
- /**
- * The '<em><b>UNDEFINED</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>UNDEFINED</b></em>' literal object isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @see #UNDEFINED
- * @generated
- * @ordered
- */
- public static final TypeKind UNDEFINED_LITERAL = new TypeKind(UNDEFINED, "UNDEFINED");
-
- /**
- * The '<em><b>CLASS</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>CLASS</b></em>' literal object isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @see #CLASS
- * @generated
- * @ordered
- */
- public static final TypeKind CLASS_LITERAL = new TypeKind(CLASS, "CLASS");
-
- /**
- * The '<em><b>INTERFACE</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>INTERFACE</b></em>' literal object isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @see #INTERFACE
- * @generated
- * @ordered
- */
- public static final TypeKind INTERFACE_LITERAL = new TypeKind(INTERFACE, "INTERFACE");
-
- /**
- * The '<em><b>EXCEPTION</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>EXCEPTION</b></em>' literal object isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @see #EXCEPTION
- * @generated
- * @ordered
- */
- public static final TypeKind EXCEPTION_LITERAL = new TypeKind(EXCEPTION, "EXCEPTION");
-
- /**
- * An array of all the '<em><b>Type Kind</b></em>' enumerators.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private static final TypeKind[] VALUES_ARRAY =
- new TypeKind[] {
- UNDEFINED_LITERAL,
- CLASS_LITERAL,
- INTERFACE_LITERAL,
- EXCEPTION_LITERAL,
- };
-
- /**
- * A public read-only list of all the '<em><b>Type Kind</b></em>' enumerators.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
-
- /**
- * Returns the '<em><b>Type Kind</b></em>' literal with the specified name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static TypeKind get(String name) {
- for (int i = 0; i < VALUES_ARRAY.length; ++i) {
- TypeKind result = VALUES_ARRAY[i];
- if (result.toString().equals(name)) {
- return result;
- }
- }
- return null;
- }
-
- /**
- * Returns the '<em><b>Type Kind</b></em>' literal with the specified value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static TypeKind get(int value) {
- switch (value) {
- case UNDEFINED: return UNDEFINED_LITERAL;
- case CLASS: return CLASS_LITERAL;
- case INTERFACE: return INTERFACE_LITERAL;
- case EXCEPTION: return EXCEPTION_LITERAL;
- }
- return null;
- }
-
- /**
- * Only this class can construct instances.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private TypeKind(int value, String name) {
- super(value, name);
- }
-
-} //TypeKind
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/ArrayTypeImpl.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/ArrayTypeImpl.java
deleted file mode 100644
index 5bf147ff9..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/ArrayTypeImpl.java
+++ /dev/null
@@ -1,688 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.java.impl;
-/*
- * $RCSfile: ArrayTypeImpl.java,v $
- * $Revision: 1.7 $ $Date: 2005/04/14 19:05:33 $
- */
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.java.*;
-import org.eclipse.jem.java.ArrayType;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaHelpers;
-import org.eclipse.jem.java.JavaRefPackage;
-import org.eclipse.jem.java.TypeKind;
-
-/**
- * Describes a Java Array type
- * For multi-dimensional arrays, it is unlikely that the component type will be
- * specified directly. This would require instantiating a chain of component types
- * such as String[][][][]->String[][][]->String[][]->String[]->String.
- *
- * The component type relationship will be computed if the finalComponentType
- * and array dimensions is specified.
- *
- * For this reason, the preferred way to create is through the JavaRefFactory factory method:
- * createArrayType(JavaClass finalComponentType, int dimensions)
- */
-public class ArrayTypeImpl extends JavaClassImpl implements ArrayType, JavaClass{
-
- /**
- * The default value of the '{@link #getArrayDimensions() <em>Array Dimensions</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getArrayDimensions()
- * @generated
- * @ordered
- */
- protected static final int ARRAY_DIMENSIONS_EDEFAULT = 0;
-
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected int arrayDimensions = ARRAY_DIMENSIONS_EDEFAULT;
- /**
- * The cached value of the '{@link #getComponentType() <em>Component Type</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getComponentType()
- * @generated
- * @ordered
- */
- protected EClassifier componentType = null;
-
- protected JavaHelpers finalComponentType = null;
-
- protected ArrayTypeImpl() {
- super();
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return JavaRefPackage.eINSTANCE.getArrayType();
- }
-
- /**
- * Compute the component type for this array type from our type name.
- * The component type of this array type is essentially: new ArrayTypeImpl(finalComponentType, arrayDimensions-1)
- * unless our array dimension is 1, in which case it is only our final component type.
- *
- * In order to ensure a unique instance, we will resolve this type using reflection.
- * "java.lang.String[][]" component type is "java.lang.String[]"
- *
- */
- public JavaHelpers computeComponentType() {
- String componentName = getQualifiedNameForReflection();
- // Strip the last [] form my name to get my component type's name
- componentName = componentName.substring(0, componentName.length() - 2);
- return JavaRefFactory.eINSTANCE.reflectType(componentName, this);
- }
- /**
- * Override to perform some lazy initialization
- */
- public EClassifier getComponentType() {
- // If we do not have a component type set, but we have a name (which contains our component type name)
- // we can compute the component type.
- if ((this.getComponentTypeGen() == null) && (this.getName() != null)) {
- componentType = computeComponentType();
- }
- return getComponentTypeGen();
- }
- /**
- * Get the component type of this array.
- *
- * If this is a multi-dimensional array, the component type will be the nested array type.
- */
- public JavaHelpers getComponentTypeAsHelper() {
- return (JavaHelpers) getComponentType();
- }
- /**
- * Get the final component type for this Array Type.
- *
- * In order to ensure a unique instance, we will resolve this type using reflection. It turns out to be most efficient to just do this by trimming the name.
- */
- public JavaHelpers getFinalComponentType() {
- if (finalComponentType == null) {
- String componentName = getQualifiedNameForReflection();
- // Strip all the [] from my name to get my FINAL component type's name
- componentName = componentName.substring(0, componentName.indexOf("["));
- finalComponentType = JavaRefFactory.eINSTANCE.reflectType(componentName, this);
- }
- return finalComponentType;
- }
- /**
- * (JavaHelpers)isArray - ArrayTypes are arrays
- * Override from JavaClass.
- */
- public boolean isArray() {
- return true;
- }
- /**
- * Is this an array of java primitives
- */
- public boolean isPrimitiveArray() {
- return getFinalComponentType().isPrimitive();
- }
- /**
- * Set the component type.
- */
- public void setComponentType(JavaHelpers helperComponentType) {
- setComponentType((EClassifier) helperComponentType);
- }
- /**
- * @generated This field/method will be replaced during code generation
- */
- public int getArrayDimensions() {
- return arrayDimensions;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void setArrayDimensions(int newArrayDimensions) {
- int oldArrayDimensions = arrayDimensions;
- arrayDimensions = newArrayDimensions;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.ARRAY_TYPE__ARRAY_DIMENSIONS, oldArrayDimensions, arrayDimensions));
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case JavaRefPackage.ARRAY_TYPE__EANNOTATIONS:
- return eAnnotations != null && !eAnnotations.isEmpty();
- case JavaRefPackage.ARRAY_TYPE__NAME:
- return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
- case JavaRefPackage.ARRAY_TYPE__INSTANCE_CLASS_NAME:
- return INSTANCE_CLASS_NAME_EDEFAULT == null ? instanceClassName != null : !INSTANCE_CLASS_NAME_EDEFAULT.equals(instanceClassName);
- case JavaRefPackage.ARRAY_TYPE__INSTANCE_CLASS:
- return INSTANCE_CLASS_EDEFAULT == null ? getInstanceClass() != null : !INSTANCE_CLASS_EDEFAULT.equals(getInstanceClass());
- case JavaRefPackage.ARRAY_TYPE__DEFAULT_VALUE:
- return DEFAULT_VALUE_EDEFAULT == null ? getDefaultValue() != null : !DEFAULT_VALUE_EDEFAULT.equals(getDefaultValue());
- case JavaRefPackage.ARRAY_TYPE__EPACKAGE:
- return getEPackage() != null;
- case JavaRefPackage.ARRAY_TYPE__ABSTRACT:
- return ((eFlags & ABSTRACT_EFLAG) != 0) != ABSTRACT_EDEFAULT;
- case JavaRefPackage.ARRAY_TYPE__INTERFACE:
- return ((eFlags & INTERFACE_EFLAG) != 0) != INTERFACE_EDEFAULT;
- case JavaRefPackage.ARRAY_TYPE__ESUPER_TYPES:
- return eSuperTypes != null && !eSuperTypes.isEmpty();
- case JavaRefPackage.ARRAY_TYPE__EOPERATIONS:
- return eOperations != null && !eOperations.isEmpty();
- case JavaRefPackage.ARRAY_TYPE__EALL_ATTRIBUTES:
- return !getEAllAttributes().isEmpty();
- case JavaRefPackage.ARRAY_TYPE__EALL_REFERENCES:
- return !getEAllReferences().isEmpty();
- case JavaRefPackage.ARRAY_TYPE__EREFERENCES:
- return !getEReferences().isEmpty();
- case JavaRefPackage.ARRAY_TYPE__EATTRIBUTES:
- return !getEAttributes().isEmpty();
- case JavaRefPackage.ARRAY_TYPE__EALL_CONTAINMENTS:
- return !getEAllContainments().isEmpty();
- case JavaRefPackage.ARRAY_TYPE__EALL_OPERATIONS:
- return !getEAllOperations().isEmpty();
- case JavaRefPackage.ARRAY_TYPE__EALL_STRUCTURAL_FEATURES:
- return !getEAllStructuralFeatures().isEmpty();
- case JavaRefPackage.ARRAY_TYPE__EALL_SUPER_TYPES:
- return !getEAllSuperTypes().isEmpty();
- case JavaRefPackage.ARRAY_TYPE__EID_ATTRIBUTE:
- return getEIDAttribute() != null;
- case JavaRefPackage.ARRAY_TYPE__ESTRUCTURAL_FEATURES:
- return eStructuralFeatures != null && !eStructuralFeatures.isEmpty();
- case JavaRefPackage.ARRAY_TYPE__KIND:
- return kind != KIND_EDEFAULT;
- case JavaRefPackage.ARRAY_TYPE__PUBLIC:
- return public_ != PUBLIC_EDEFAULT;
- case JavaRefPackage.ARRAY_TYPE__FINAL:
- return final_ != FINAL_EDEFAULT;
- case JavaRefPackage.ARRAY_TYPE__IMPLEMENTS_INTERFACES:
- return implementsInterfaces != null && !implementsInterfaces.isEmpty();
- case JavaRefPackage.ARRAY_TYPE__CLASS_IMPORT:
- return classImport != null && !classImport.isEmpty();
- case JavaRefPackage.ARRAY_TYPE__PACKAGE_IMPORTS:
- return packageImports != null && !packageImports.isEmpty();
- case JavaRefPackage.ARRAY_TYPE__FIELDS:
- return fields != null && !fields.isEmpty();
- case JavaRefPackage.ARRAY_TYPE__METHODS:
- return methods != null && !methods.isEmpty();
- case JavaRefPackage.ARRAY_TYPE__INITIALIZERS:
- return initializers != null && !initializers.isEmpty();
- case JavaRefPackage.ARRAY_TYPE__DECLARED_CLASSES:
- return declaredClasses != null && !declaredClasses.isEmpty();
- case JavaRefPackage.ARRAY_TYPE__DECLARING_CLASS:
- return declaringClass != null;
- case JavaRefPackage.ARRAY_TYPE__JAVA_PACKAGE:
- return basicGetJavaPackage() != null;
- case JavaRefPackage.ARRAY_TYPE__EVENTS:
- return events != null && !events.isEmpty();
- case JavaRefPackage.ARRAY_TYPE__ALL_EVENTS:
- return !getAllEvents().isEmpty();
- case JavaRefPackage.ARRAY_TYPE__ARRAY_DIMENSIONS:
- return arrayDimensions != ARRAY_DIMENSIONS_EDEFAULT;
- case JavaRefPackage.ARRAY_TYPE__COMPONENT_TYPE:
- return componentType != null;
- }
- return eDynamicIsSet(eFeature);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case JavaRefPackage.ARRAY_TYPE__EANNOTATIONS:
- getEAnnotations().clear();
- getEAnnotations().addAll((Collection)newValue);
- return;
- case JavaRefPackage.ARRAY_TYPE__NAME:
- setName((String)newValue);
- return;
- case JavaRefPackage.ARRAY_TYPE__INSTANCE_CLASS_NAME:
- setInstanceClassName((String)newValue);
- return;
- case JavaRefPackage.ARRAY_TYPE__ABSTRACT:
- setAbstract(((Boolean)newValue).booleanValue());
- return;
- case JavaRefPackage.ARRAY_TYPE__INTERFACE:
- setInterface(((Boolean)newValue).booleanValue());
- return;
- case JavaRefPackage.ARRAY_TYPE__ESUPER_TYPES:
- getESuperTypes().clear();
- getESuperTypes().addAll((Collection)newValue);
- return;
- case JavaRefPackage.ARRAY_TYPE__EOPERATIONS:
- getEOperations().clear();
- getEOperations().addAll((Collection)newValue);
- return;
- case JavaRefPackage.ARRAY_TYPE__ESTRUCTURAL_FEATURES:
- getEStructuralFeatures().clear();
- getEStructuralFeatures().addAll((Collection)newValue);
- return;
- case JavaRefPackage.ARRAY_TYPE__KIND:
- setKind((TypeKind)newValue);
- return;
- case JavaRefPackage.ARRAY_TYPE__PUBLIC:
- setPublic(((Boolean)newValue).booleanValue());
- return;
- case JavaRefPackage.ARRAY_TYPE__FINAL:
- setFinal(((Boolean)newValue).booleanValue());
- return;
- case JavaRefPackage.ARRAY_TYPE__IMPLEMENTS_INTERFACES:
- getImplementsInterfaces().clear();
- getImplementsInterfaces().addAll((Collection)newValue);
- return;
- case JavaRefPackage.ARRAY_TYPE__CLASS_IMPORT:
- getClassImport().clear();
- getClassImport().addAll((Collection)newValue);
- return;
- case JavaRefPackage.ARRAY_TYPE__PACKAGE_IMPORTS:
- getPackageImports().clear();
- getPackageImports().addAll((Collection)newValue);
- return;
- case JavaRefPackage.ARRAY_TYPE__FIELDS:
- getFields().clear();
- getFields().addAll((Collection)newValue);
- return;
- case JavaRefPackage.ARRAY_TYPE__METHODS:
- getMethods().clear();
- getMethods().addAll((Collection)newValue);
- return;
- case JavaRefPackage.ARRAY_TYPE__INITIALIZERS:
- getInitializers().clear();
- getInitializers().addAll((Collection)newValue);
- return;
- case JavaRefPackage.ARRAY_TYPE__DECLARED_CLASSES:
- getDeclaredClasses().clear();
- getDeclaredClasses().addAll((Collection)newValue);
- return;
- case JavaRefPackage.ARRAY_TYPE__DECLARING_CLASS:
- setDeclaringClass((JavaClass)newValue);
- return;
- case JavaRefPackage.ARRAY_TYPE__EVENTS:
- getEvents().clear();
- getEvents().addAll((Collection)newValue);
- return;
- case JavaRefPackage.ARRAY_TYPE__ALL_EVENTS:
- getAllEvents().clear();
- getAllEvents().addAll((Collection)newValue);
- return;
- case JavaRefPackage.ARRAY_TYPE__ARRAY_DIMENSIONS:
- setArrayDimensions(((Integer)newValue).intValue());
- return;
- case JavaRefPackage.ARRAY_TYPE__COMPONENT_TYPE:
- setComponentType((EClassifier)newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case JavaRefPackage.ARRAY_TYPE__EANNOTATIONS:
- getEAnnotations().clear();
- return;
- case JavaRefPackage.ARRAY_TYPE__NAME:
- setName(NAME_EDEFAULT);
- return;
- case JavaRefPackage.ARRAY_TYPE__INSTANCE_CLASS_NAME:
- setInstanceClassName(INSTANCE_CLASS_NAME_EDEFAULT);
- return;
- case JavaRefPackage.ARRAY_TYPE__ABSTRACT:
- setAbstract(ABSTRACT_EDEFAULT);
- return;
- case JavaRefPackage.ARRAY_TYPE__INTERFACE:
- setInterface(INTERFACE_EDEFAULT);
- return;
- case JavaRefPackage.ARRAY_TYPE__ESUPER_TYPES:
- getESuperTypes().clear();
- return;
- case JavaRefPackage.ARRAY_TYPE__EOPERATIONS:
- getEOperations().clear();
- return;
- case JavaRefPackage.ARRAY_TYPE__ESTRUCTURAL_FEATURES:
- getEStructuralFeatures().clear();
- return;
- case JavaRefPackage.ARRAY_TYPE__KIND:
- setKind(KIND_EDEFAULT);
- return;
- case JavaRefPackage.ARRAY_TYPE__PUBLIC:
- setPublic(PUBLIC_EDEFAULT);
- return;
- case JavaRefPackage.ARRAY_TYPE__FINAL:
- setFinal(FINAL_EDEFAULT);
- return;
- case JavaRefPackage.ARRAY_TYPE__IMPLEMENTS_INTERFACES:
- getImplementsInterfaces().clear();
- return;
- case JavaRefPackage.ARRAY_TYPE__CLASS_IMPORT:
- getClassImport().clear();
- return;
- case JavaRefPackage.ARRAY_TYPE__PACKAGE_IMPORTS:
- getPackageImports().clear();
- return;
- case JavaRefPackage.ARRAY_TYPE__FIELDS:
- getFields().clear();
- return;
- case JavaRefPackage.ARRAY_TYPE__METHODS:
- getMethods().clear();
- return;
- case JavaRefPackage.ARRAY_TYPE__INITIALIZERS:
- getInitializers().clear();
- return;
- case JavaRefPackage.ARRAY_TYPE__DECLARED_CLASSES:
- getDeclaredClasses().clear();
- return;
- case JavaRefPackage.ARRAY_TYPE__DECLARING_CLASS:
- setDeclaringClass((JavaClass)null);
- return;
- case JavaRefPackage.ARRAY_TYPE__EVENTS:
- getEvents().clear();
- return;
- case JavaRefPackage.ARRAY_TYPE__ALL_EVENTS:
- getAllEvents().clear();
- return;
- case JavaRefPackage.ARRAY_TYPE__ARRAY_DIMENSIONS:
- setArrayDimensions(ARRAY_DIMENSIONS_EDEFAULT);
- return;
- case JavaRefPackage.ARRAY_TYPE__COMPONENT_TYPE:
- setComponentType((EClassifier)null);
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public String toString() {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (arrayDimensions: ");
- result.append(arrayDimensions);
- result.append(')');
- return result.toString();
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- public EClassifier getComponentTypeGen() {
- if (componentType != null && componentType.eIsProxy()) {
- EClassifier oldComponentType = componentType;
- componentType = (EClassifier)eResolveProxy((InternalEObject)componentType);
- if (componentType != oldComponentType) {
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, JavaRefPackage.ARRAY_TYPE__COMPONENT_TYPE, oldComponentType, componentType));
- }
- }
- return componentType;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClassifier basicGetComponentType() {
- return componentType;
- }
-
- public void setComponentType(EClassifier newComponentType) {
- finalComponentType = null;
- setComponentTypeGen(newComponentType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setComponentTypeGen(EClassifier newComponentType) {
- EClassifier oldComponentType = componentType;
- componentType = newComponentType;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.ARRAY_TYPE__COMPONENT_TYPE, oldComponentType, componentType));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case JavaRefPackage.ARRAY_TYPE__EANNOTATIONS:
- return ((InternalEList)getEAnnotations()).basicAdd(otherEnd, msgs);
- case JavaRefPackage.ARRAY_TYPE__EPACKAGE:
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, JavaRefPackage.ARRAY_TYPE__EPACKAGE, msgs);
- case JavaRefPackage.ARRAY_TYPE__EOPERATIONS:
- return ((InternalEList)getEOperations()).basicAdd(otherEnd, msgs);
- case JavaRefPackage.ARRAY_TYPE__ESTRUCTURAL_FEATURES:
- return ((InternalEList)getEStructuralFeatures()).basicAdd(otherEnd, msgs);
- case JavaRefPackage.ARRAY_TYPE__FIELDS:
- return ((InternalEList)getFields()).basicAdd(otherEnd, msgs);
- case JavaRefPackage.ARRAY_TYPE__METHODS:
- return ((InternalEList)getMethods()).basicAdd(otherEnd, msgs);
- case JavaRefPackage.ARRAY_TYPE__INITIALIZERS:
- return ((InternalEList)getInitializers()).basicAdd(otherEnd, msgs);
- case JavaRefPackage.ARRAY_TYPE__DECLARED_CLASSES:
- return ((InternalEList)getDeclaredClasses()).basicAdd(otherEnd, msgs);
- case JavaRefPackage.ARRAY_TYPE__DECLARING_CLASS:
- if (declaringClass != null)
- msgs = ((InternalEObject)declaringClass).eInverseRemove(this, JavaRefPackage.JAVA_CLASS__DECLARED_CLASSES, JavaClass.class, msgs);
- return basicSetDeclaringClass((JavaClass)otherEnd, msgs);
- default:
- return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
- }
- }
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case JavaRefPackage.ARRAY_TYPE__EANNOTATIONS:
- return ((InternalEList)getEAnnotations()).basicRemove(otherEnd, msgs);
- case JavaRefPackage.ARRAY_TYPE__EPACKAGE:
- return eBasicSetContainer(null, JavaRefPackage.ARRAY_TYPE__EPACKAGE, msgs);
- case JavaRefPackage.ARRAY_TYPE__EOPERATIONS:
- return ((InternalEList)getEOperations()).basicRemove(otherEnd, msgs);
- case JavaRefPackage.ARRAY_TYPE__ESTRUCTURAL_FEATURES:
- return ((InternalEList)getEStructuralFeatures()).basicRemove(otherEnd, msgs);
- case JavaRefPackage.ARRAY_TYPE__FIELDS:
- return ((InternalEList)getFields()).basicRemove(otherEnd, msgs);
- case JavaRefPackage.ARRAY_TYPE__METHODS:
- return ((InternalEList)getMethods()).basicRemove(otherEnd, msgs);
- case JavaRefPackage.ARRAY_TYPE__INITIALIZERS:
- return ((InternalEList)getInitializers()).basicRemove(otherEnd, msgs);
- case JavaRefPackage.ARRAY_TYPE__DECLARED_CLASSES:
- return ((InternalEList)getDeclaredClasses()).basicRemove(otherEnd, msgs);
- case JavaRefPackage.ARRAY_TYPE__DECLARING_CLASS:
- return basicSetDeclaringClass(null, msgs);
- case JavaRefPackage.ARRAY_TYPE__EVENTS:
- return ((InternalEList)getEvents()).basicRemove(otherEnd, msgs);
- default:
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
- if (eContainerFeatureID >= 0) {
- switch (eContainerFeatureID) {
- case JavaRefPackage.ARRAY_TYPE__EPACKAGE:
- return eContainer.eInverseRemove(this, EcorePackage.EPACKAGE__ECLASSIFIERS, EPackage.class, msgs);
- default:
- return eDynamicBasicRemoveFromContainer(msgs);
- }
- }
- return eContainer.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case JavaRefPackage.ARRAY_TYPE__EANNOTATIONS:
- return getEAnnotations();
- case JavaRefPackage.ARRAY_TYPE__NAME:
- return getName();
- case JavaRefPackage.ARRAY_TYPE__INSTANCE_CLASS_NAME:
- return getInstanceClassName();
- case JavaRefPackage.ARRAY_TYPE__INSTANCE_CLASS:
- return getInstanceClass();
- case JavaRefPackage.ARRAY_TYPE__DEFAULT_VALUE:
- return getDefaultValue();
- case JavaRefPackage.ARRAY_TYPE__EPACKAGE:
- return getEPackage();
- case JavaRefPackage.ARRAY_TYPE__ABSTRACT:
- return isAbstract() ? Boolean.TRUE : Boolean.FALSE;
- case JavaRefPackage.ARRAY_TYPE__INTERFACE:
- return isInterface() ? Boolean.TRUE : Boolean.FALSE;
- case JavaRefPackage.ARRAY_TYPE__ESUPER_TYPES:
- return getESuperTypes();
- case JavaRefPackage.ARRAY_TYPE__EOPERATIONS:
- return getEOperations();
- case JavaRefPackage.ARRAY_TYPE__EALL_ATTRIBUTES:
- return getEAllAttributes();
- case JavaRefPackage.ARRAY_TYPE__EALL_REFERENCES:
- return getEAllReferences();
- case JavaRefPackage.ARRAY_TYPE__EREFERENCES:
- return getEReferences();
- case JavaRefPackage.ARRAY_TYPE__EATTRIBUTES:
- return getEAttributes();
- case JavaRefPackage.ARRAY_TYPE__EALL_CONTAINMENTS:
- return getEAllContainments();
- case JavaRefPackage.ARRAY_TYPE__EALL_OPERATIONS:
- return getEAllOperations();
- case JavaRefPackage.ARRAY_TYPE__EALL_STRUCTURAL_FEATURES:
- return getEAllStructuralFeatures();
- case JavaRefPackage.ARRAY_TYPE__EALL_SUPER_TYPES:
- return getEAllSuperTypes();
- case JavaRefPackage.ARRAY_TYPE__EID_ATTRIBUTE:
- return getEIDAttribute();
- case JavaRefPackage.ARRAY_TYPE__ESTRUCTURAL_FEATURES:
- return getEStructuralFeatures();
- case JavaRefPackage.ARRAY_TYPE__KIND:
- return getKind();
- case JavaRefPackage.ARRAY_TYPE__PUBLIC:
- return isPublic() ? Boolean.TRUE : Boolean.FALSE;
- case JavaRefPackage.ARRAY_TYPE__FINAL:
- return isFinal() ? Boolean.TRUE : Boolean.FALSE;
- case JavaRefPackage.ARRAY_TYPE__IMPLEMENTS_INTERFACES:
- return getImplementsInterfaces();
- case JavaRefPackage.ARRAY_TYPE__CLASS_IMPORT:
- return getClassImport();
- case JavaRefPackage.ARRAY_TYPE__PACKAGE_IMPORTS:
- return getPackageImports();
- case JavaRefPackage.ARRAY_TYPE__FIELDS:
- return getFields();
- case JavaRefPackage.ARRAY_TYPE__METHODS:
- return getMethods();
- case JavaRefPackage.ARRAY_TYPE__INITIALIZERS:
- return getInitializers();
- case JavaRefPackage.ARRAY_TYPE__DECLARED_CLASSES:
- return getDeclaredClasses();
- case JavaRefPackage.ARRAY_TYPE__DECLARING_CLASS:
- if (resolve) return getDeclaringClass();
- return basicGetDeclaringClass();
- case JavaRefPackage.ARRAY_TYPE__JAVA_PACKAGE:
- if (resolve) return getJavaPackage();
- return basicGetJavaPackage();
- case JavaRefPackage.ARRAY_TYPE__EVENTS:
- return getEvents();
- case JavaRefPackage.ARRAY_TYPE__ALL_EVENTS:
- return getAllEvents();
- case JavaRefPackage.ARRAY_TYPE__ARRAY_DIMENSIONS:
- return new Integer(getArrayDimensions());
- case JavaRefPackage.ARRAY_TYPE__COMPONENT_TYPE:
- if (resolve) return getComponentType();
- return basicGetComponentType();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.java.JavaClass#getKind()
- */
- public TypeKind getKind() {
- // Override to always return the class if final type is valid.
- JavaHelpers ft = getFinalComponentType();
- if (!ft.isPrimitive()) {
- TypeKind ftKind = ((JavaClass) ft).getKind();
- return ftKind != TypeKind.UNDEFINED_LITERAL ? TypeKind.CLASS_LITERAL : TypeKind.UNDEFINED_LITERAL;
- } else
- return TypeKind.CLASS_LITERAL;
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.java.JavaClass#isPublic()
- */
- public boolean isPublic() {
- // Override to return the kind of the final component, because that determines it.
- JavaHelpers ft = getFinalComponentType();
- if (!ft.isPrimitive()) {
- return ((JavaClass) ft).isPublic();
- } else
- return true;
- }
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/BlockImpl.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/BlockImpl.java
deleted file mode 100644
index cfa49a614..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/BlockImpl.java
+++ /dev/null
@@ -1,243 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.java.impl;
-
-/*
- * $RCSfile: BlockImpl.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:37:02 $
- */
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.java.Block;
-import org.eclipse.jem.java.JavaRefPackage;
-
-/**
- * @generated
- */
-public class BlockImpl extends EObjectImpl implements Block{
-
- /**
- * The default value of the '{@link #getSource() <em>Source</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getSource()
- * @generated
- * @ordered
- */
- protected static final String SOURCE_EDEFAULT = null;
-
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected String source = SOURCE_EDEFAULT;
- /**
- * The default value of the '{@link #getName() <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getName()
- * @generated
- * @ordered
- */
- protected static final String NAME_EDEFAULT = null;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected String name = NAME_EDEFAULT;
- /**
- * The cached value of the '{@link #getContents() <em>Contents</em>}' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getContents()
- * @generated
- * @ordered
- */
- protected EList contents = null;
-
- protected BlockImpl() {
- super();
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return JavaRefPackage.eINSTANCE.getBlock();
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- public String getSource() {
- return source;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void setSource(String newSource) {
- String oldSource = source;
- source = newSource;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.BLOCK__SOURCE, oldSource, source));
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- public String getName() {
- return name;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void setName(String newName) {
- String oldName = name;
- name = newName;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.BLOCK__NAME, oldName, name));
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- public EList getContents() {
- if (contents == null) {
- contents = new EObjectContainmentEList(Block.class, this, JavaRefPackage.BLOCK__CONTENTS);
- }
- return contents;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case JavaRefPackage.BLOCK__CONTENTS:
- return ((InternalEList)getContents()).basicRemove(otherEnd, msgs);
- default:
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case JavaRefPackage.BLOCK__SOURCE:
- return getSource();
- case JavaRefPackage.BLOCK__NAME:
- return getName();
- case JavaRefPackage.BLOCK__CONTENTS:
- return getContents();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case JavaRefPackage.BLOCK__SOURCE:
- return SOURCE_EDEFAULT == null ? source != null : !SOURCE_EDEFAULT.equals(source);
- case JavaRefPackage.BLOCK__NAME:
- return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
- case JavaRefPackage.BLOCK__CONTENTS:
- return contents != null && !contents.isEmpty();
- }
- return eDynamicIsSet(eFeature);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case JavaRefPackage.BLOCK__SOURCE:
- setSource((String)newValue);
- return;
- case JavaRefPackage.BLOCK__NAME:
- setName((String)newValue);
- return;
- case JavaRefPackage.BLOCK__CONTENTS:
- getContents().clear();
- getContents().addAll((Collection)newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case JavaRefPackage.BLOCK__SOURCE:
- setSource(SOURCE_EDEFAULT);
- return;
- case JavaRefPackage.BLOCK__NAME:
- setName(NAME_EDEFAULT);
- return;
- case JavaRefPackage.BLOCK__CONTENTS:
- getContents().clear();
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public String toString() {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (source: ");
- result.append(source);
- result.append(", name: ");
- result.append(name);
- result.append(')');
- return result.toString();
- }
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/CommentImpl.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/CommentImpl.java
deleted file mode 100644
index a7d3485ee..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/CommentImpl.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.java.impl;
-
-/*
- * $RCSfile: CommentImpl.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:37:02 $
- */
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.java.Comment;
-import org.eclipse.jem.java.JavaRefPackage;
-/**
- * @generated
- */
-public class CommentImpl extends BlockImpl implements Comment{
-
-
- protected CommentImpl() {
- super();
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return JavaRefPackage.eINSTANCE.getComment();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case JavaRefPackage.COMMENT__CONTENTS:
- return ((InternalEList)getContents()).basicRemove(otherEnd, msgs);
- default:
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case JavaRefPackage.COMMENT__SOURCE:
- return getSource();
- case JavaRefPackage.COMMENT__NAME:
- return getName();
- case JavaRefPackage.COMMENT__CONTENTS:
- return getContents();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case JavaRefPackage.COMMENT__SOURCE:
- setSource((String)newValue);
- return;
- case JavaRefPackage.COMMENT__NAME:
- setName((String)newValue);
- return;
- case JavaRefPackage.COMMENT__CONTENTS:
- getContents().clear();
- getContents().addAll((Collection)newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case JavaRefPackage.COMMENT__SOURCE:
- setSource(SOURCE_EDEFAULT);
- return;
- case JavaRefPackage.COMMENT__NAME:
- setName(NAME_EDEFAULT);
- return;
- case JavaRefPackage.COMMENT__CONTENTS:
- getContents().clear();
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case JavaRefPackage.COMMENT__SOURCE:
- return SOURCE_EDEFAULT == null ? source != null : !SOURCE_EDEFAULT.equals(source);
- case JavaRefPackage.COMMENT__NAME:
- return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
- case JavaRefPackage.COMMENT__CONTENTS:
- return contents != null && !contents.isEmpty();
- }
- return eDynamicIsSet(eFeature);
- }
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/FieldImpl.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/FieldImpl.java
deleted file mode 100644
index 978090840..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/FieldImpl.java
+++ /dev/null
@@ -1,739 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: FieldImpl.java,v $
- * $Revision: 1.8 $ $Date: 2005/05/11 22:41:08 $
- */
-package org.eclipse.jem.java.impl;
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.ETypedElementImpl;
-
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.java.Block;
-import org.eclipse.jem.java.Field;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaHelpers;
-import org.eclipse.jem.java.JavaRefPackage;
-import org.eclipse.jem.java.JavaURL;
-import org.eclipse.jem.java.JavaVisibilityKind;
-import org.eclipse.jem.internal.java.adapters.ReadAdaptor;
-
-/**
- * @generated
- */
-public class FieldImpl extends ETypedElementImpl implements Field {
-
- /**
- * The default value of the '{@link #isFinal() <em>Final</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isFinal()
- * @generated
- * @ordered
- */
- protected static final boolean FINAL_EDEFAULT = false;
-
- /**
- * The cached value of the '{@link #isFinal() <em>Final</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isFinal()
- * @generated
- * @ordered
- */
- protected boolean final_ = FINAL_EDEFAULT;
-
- /**
- * The default value of the '{@link #isStatic() <em>Static</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isStatic()
- * @generated
- * @ordered
- */
- protected static final boolean STATIC_EDEFAULT = false;
-
- /**
- * The cached value of the '{@link #isStatic() <em>Static</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isStatic()
- * @generated
- * @ordered
- */
- protected boolean static_ = STATIC_EDEFAULT;
-
- /**
- * The default value of the '{@link #getJavaVisibility() <em>Java Visibility</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getJavaVisibility()
- * @generated
- * @ordered
- */
- protected static final JavaVisibilityKind JAVA_VISIBILITY_EDEFAULT = JavaVisibilityKind.PUBLIC_LITERAL;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected JavaVisibilityKind javaVisibility = JAVA_VISIBILITY_EDEFAULT;
-
- /**
- * The default value of the '{@link #isTransient() <em>Transient</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isTransient()
- * @generated
- * @ordered
- */
- protected static final boolean TRANSIENT_EDEFAULT = false;
-
- /**
- * The cached value of the '{@link #isTransient() <em>Transient</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isTransient()
- * @generated
- * @ordered
- */
- protected boolean transient_ = TRANSIENT_EDEFAULT;
-
- /**
- * The default value of the '{@link #isVolatile() <em>Volatile</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isVolatile()
- * @generated
- * @ordered
- */
- protected static final boolean VOLATILE_EDEFAULT = false;
-
- /**
- * The cached value of the '{@link #isVolatile() <em>Volatile</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isVolatile()
- * @generated
- * @ordered
- */
- protected boolean volatile_ = VOLATILE_EDEFAULT;
-
- /**
- * The cached value of the '{@link #getInitializer() <em>Initializer</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getInitializer()
- * @generated
- * @ordered
- */
- protected Block initializer = null;
-
- protected FieldImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return JavaRefPackage.eINSTANCE.getField();
- }
-
- /**
- * createFieldRef - return a JavaURL reference to the named field in the named Java class in the form "package.class_field"
- */
- public static Field createFieldRef(String className, String fieldName) {
- Field ref = JavaRefFactoryImpl.getActiveFactory().createField();
- JavaURL javaurl = new JavaURL(className + "/" + fieldName);
- ((InternalEObject) ref).eSetProxyURI(URI.createURI(javaurl.getFullString()));
- return ref;
- }
-
- /**
- * Get the class that this field is within.
- */
- public JavaClass getContainingJavaClass() {
- return this.getJavaClass();
- }
-
- /**
- * Overrides to perform lazy initializations/reflection.
- */
- public EClassifier getEType() {
- reflectValues();
- return super.getEType();
- }
-
- public Block getInitializer() {
- reflectValues();
- return getInitializerGen();
- }
-
- public boolean isFinal() {
- reflectValues();
- return isFinalGen();
- }
-
- public boolean isStatic() {
- reflectValues();
- return isStaticGen();
- }
-
- public boolean isTransient() {
- reflectValues();
- return isTransientGen();
- }
-
- public boolean isVolatile() {
- reflectValues();
- return isVolatileGen();
- }
-
- public JavaHelpers getJavaType() {
- return (JavaHelpers) getEType();
- }
-
- public JavaVisibilityKind getJavaVisibility() {
- reflectValues();
- return getJavaVisibilityGen();
- }
-
- protected synchronized ReadAdaptor getReadAdapter() {
- return (ReadAdaptor) EcoreUtil.getRegisteredAdapter(this, ReadAdaptor.TYPE_KEY);
- }
-
- protected boolean hasReflected = false;
-
- protected void reflectValues() {
- // We only want the testing of the hasReflected and get readadapter to be sync(this) so that
- // it is short and no deadlock possibility (this is because the the method reflection adapter may go
- // back to the containing java class to get its reflection adapter, which would lock on itself. So
- // we need to keep the sections that are sync(this) to not be deadlockable by not doing significant work
- // during the sync.
- ReadAdaptor readAdaptor = null;
- synchronized (this) {
- if (!hasReflected) {
- readAdaptor = getReadAdapter();
- }
- }
- if (readAdaptor != null) {
- boolean setReflected = readAdaptor.reflectValuesIfNecessary();
- synchronized (this) {
- // Don't want to set it false. That is job of reflection adapter. Otherwise we could have a race.
- if (setReflected)
- hasReflected = setReflected;
- }
- }
- }
-
- /*
- * Used by reflection adapter to clear the reflection. This not intended to be used by others.
- */
- public synchronized void setReflected(boolean reflected) {
- hasReflected = reflected;
- }
-
- /**
- * Is this field an array type.
- */
- public boolean isArray() {
- return getJavaType().isArray();
- }
-
- /**
- * Overridden to prevent the reflection of the class.
- */
- public EList eContents() {
- EList results = new BasicEList();
- //FB
- //FB EList containments = eClass().getEAllContainments();
- //FB if (containments != null) {
- //FB Iterator i = containments.iterator();
- //FB while (i.hasNext()) {
- //FB EStructuralFeature sf = (EStructuralFeature) i.next();
- //FB //Change from super to primRefValue
- //FB Object value = primRefValue(sf);
- //FB //EndChange
- //FB if (value != null)
- //FB if (sf.isMany())
- //FB results.addAll((Collection) value);
- //FB else
- //FB results.add(value);
- //FB }
- //FB }
- if (getInitializerGen() != null)
- results.add(getInitializerGen()); //FB
- return results;
- }
-
- public String toString() {
- return getClass().getName() + " " + "(" + getName() + ")";
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public JavaVisibilityKind getJavaVisibilityGen() {
- return javaVisibility;
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- public boolean isFinalGen() {
- return final_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setFinal(boolean newFinal) {
- boolean oldFinal = final_;
- final_ = newFinal;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.FIELD__FINAL, oldFinal, final_));
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- public boolean isStaticGen() {
- return static_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setStatic(boolean newStatic) {
- boolean oldStatic = static_;
- static_ = newStatic;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.FIELD__STATIC, oldStatic, static_));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setJavaVisibility(JavaVisibilityKind newJavaVisibility) {
- JavaVisibilityKind oldJavaVisibility = javaVisibility;
- javaVisibility = newJavaVisibility == null ? JAVA_VISIBILITY_EDEFAULT : newJavaVisibility;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.FIELD__JAVA_VISIBILITY, oldJavaVisibility, javaVisibility));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isTransientGen() {
- return transient_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setTransient(boolean newTransient) {
- boolean oldTransient = transient_;
- transient_ = newTransient;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.FIELD__TRANSIENT, oldTransient, transient_));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isVolatileGen() {
- return volatile_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setVolatile(boolean newVolatile) {
- boolean oldVolatile = volatile_;
- volatile_ = newVolatile;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.FIELD__VOLATILE, oldVolatile, volatile_));
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- public JavaClass getJavaClass() {
- if (eContainerFeatureID != JavaRefPackage.FIELD__JAVA_CLASS) return null;
- return (JavaClass)eContainer;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setJavaClass(JavaClass newJavaClass) {
- if (newJavaClass != eContainer || (eContainerFeatureID != JavaRefPackage.FIELD__JAVA_CLASS && newJavaClass != null)) {
- if (EcoreUtil.isAncestor(this, newJavaClass))
- throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
- NotificationChain msgs = null;
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- if (newJavaClass != null)
- msgs = ((InternalEObject)newJavaClass).eInverseAdd(this, JavaRefPackage.JAVA_CLASS__FIELDS, JavaClass.class, msgs);
- msgs = eBasicSetContainer((InternalEObject)newJavaClass, JavaRefPackage.FIELD__JAVA_CLASS, msgs);
- if (msgs != null) msgs.dispatch();
- }
- else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.FIELD__JAVA_CLASS, newJavaClass, newJavaClass));
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case JavaRefPackage.FIELD__EANNOTATIONS:
- return eAnnotations != null && !eAnnotations.isEmpty();
- case JavaRefPackage.FIELD__NAME:
- return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
- case JavaRefPackage.FIELD__ORDERED:
- return ((eFlags & ORDERED_EFLAG) != 0) != ORDERED_EDEFAULT;
- case JavaRefPackage.FIELD__UNIQUE:
- return ((eFlags & UNIQUE_EFLAG) != 0) != UNIQUE_EDEFAULT;
- case JavaRefPackage.FIELD__LOWER_BOUND:
- return lowerBound != LOWER_BOUND_EDEFAULT;
- case JavaRefPackage.FIELD__UPPER_BOUND:
- return upperBound != UPPER_BOUND_EDEFAULT;
- case JavaRefPackage.FIELD__MANY:
- return isMany() != MANY_EDEFAULT;
- case JavaRefPackage.FIELD__REQUIRED:
- return isRequired() != REQUIRED_EDEFAULT;
- case JavaRefPackage.FIELD__ETYPE:
- return eType != null;
- case JavaRefPackage.FIELD__FINAL:
- return final_ != FINAL_EDEFAULT;
- case JavaRefPackage.FIELD__STATIC:
- return static_ != STATIC_EDEFAULT;
- case JavaRefPackage.FIELD__JAVA_VISIBILITY:
- return javaVisibility != JAVA_VISIBILITY_EDEFAULT;
- case JavaRefPackage.FIELD__TRANSIENT:
- return transient_ != TRANSIENT_EDEFAULT;
- case JavaRefPackage.FIELD__VOLATILE:
- return volatile_ != VOLATILE_EDEFAULT;
- case JavaRefPackage.FIELD__JAVA_CLASS:
- return getJavaClass() != null;
- case JavaRefPackage.FIELD__INITIALIZER:
- return initializer != null;
- }
- return eDynamicIsSet(eFeature);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case JavaRefPackage.FIELD__EANNOTATIONS:
- getEAnnotations().clear();
- getEAnnotations().addAll((Collection)newValue);
- return;
- case JavaRefPackage.FIELD__NAME:
- setName((String)newValue);
- return;
- case JavaRefPackage.FIELD__ORDERED:
- setOrdered(((Boolean)newValue).booleanValue());
- return;
- case JavaRefPackage.FIELD__UNIQUE:
- setUnique(((Boolean)newValue).booleanValue());
- return;
- case JavaRefPackage.FIELD__LOWER_BOUND:
- setLowerBound(((Integer)newValue).intValue());
- return;
- case JavaRefPackage.FIELD__UPPER_BOUND:
- setUpperBound(((Integer)newValue).intValue());
- return;
- case JavaRefPackage.FIELD__ETYPE:
- setEType((EClassifier)newValue);
- return;
- case JavaRefPackage.FIELD__FINAL:
- setFinal(((Boolean)newValue).booleanValue());
- return;
- case JavaRefPackage.FIELD__STATIC:
- setStatic(((Boolean)newValue).booleanValue());
- return;
- case JavaRefPackage.FIELD__JAVA_VISIBILITY:
- setJavaVisibility((JavaVisibilityKind)newValue);
- return;
- case JavaRefPackage.FIELD__TRANSIENT:
- setTransient(((Boolean)newValue).booleanValue());
- return;
- case JavaRefPackage.FIELD__VOLATILE:
- setVolatile(((Boolean)newValue).booleanValue());
- return;
- case JavaRefPackage.FIELD__JAVA_CLASS:
- setJavaClass((JavaClass)newValue);
- return;
- case JavaRefPackage.FIELD__INITIALIZER:
- setInitializer((Block)newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case JavaRefPackage.FIELD__EANNOTATIONS:
- getEAnnotations().clear();
- return;
- case JavaRefPackage.FIELD__NAME:
- setName(NAME_EDEFAULT);
- return;
- case JavaRefPackage.FIELD__ORDERED:
- setOrdered(ORDERED_EDEFAULT);
- return;
- case JavaRefPackage.FIELD__UNIQUE:
- setUnique(UNIQUE_EDEFAULT);
- return;
- case JavaRefPackage.FIELD__LOWER_BOUND:
- setLowerBound(LOWER_BOUND_EDEFAULT);
- return;
- case JavaRefPackage.FIELD__UPPER_BOUND:
- setUpperBound(UPPER_BOUND_EDEFAULT);
- return;
- case JavaRefPackage.FIELD__ETYPE:
- setEType((EClassifier)null);
- return;
- case JavaRefPackage.FIELD__FINAL:
- setFinal(FINAL_EDEFAULT);
- return;
- case JavaRefPackage.FIELD__STATIC:
- setStatic(STATIC_EDEFAULT);
- return;
- case JavaRefPackage.FIELD__JAVA_VISIBILITY:
- setJavaVisibility(JAVA_VISIBILITY_EDEFAULT);
- return;
- case JavaRefPackage.FIELD__TRANSIENT:
- setTransient(TRANSIENT_EDEFAULT);
- return;
- case JavaRefPackage.FIELD__VOLATILE:
- setVolatile(VOLATILE_EDEFAULT);
- return;
- case JavaRefPackage.FIELD__JAVA_CLASS:
- setJavaClass((JavaClass)null);
- return;
- case JavaRefPackage.FIELD__INITIALIZER:
- setInitializer((Block)null);
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- public Block getInitializerGen() {
- return initializer;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain basicSetInitializer(Block newInitializer, NotificationChain msgs) {
- Block oldInitializer = initializer;
- initializer = newInitializer;
- if (eNotificationRequired()) {
- ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, JavaRefPackage.FIELD__INITIALIZER, oldInitializer, newInitializer);
- if (msgs == null) msgs = notification; else msgs.add(notification);
- }
- return msgs;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setInitializer(Block newInitializer) {
- if (newInitializer != initializer) {
- NotificationChain msgs = null;
- if (initializer != null)
- msgs = ((InternalEObject)initializer).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - JavaRefPackage.FIELD__INITIALIZER, null, msgs);
- if (newInitializer != null)
- msgs = ((InternalEObject)newInitializer).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - JavaRefPackage.FIELD__INITIALIZER, null, msgs);
- msgs = basicSetInitializer(newInitializer, msgs);
- if (msgs != null) msgs.dispatch();
- }
- else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.FIELD__INITIALIZER, newInitializer, newInitializer));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case JavaRefPackage.FIELD__EANNOTATIONS:
- return ((InternalEList)getEAnnotations()).basicAdd(otherEnd, msgs);
- case JavaRefPackage.FIELD__JAVA_CLASS:
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, JavaRefPackage.FIELD__JAVA_CLASS, msgs);
- default:
- return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
- }
- }
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case JavaRefPackage.FIELD__EANNOTATIONS:
- return ((InternalEList)getEAnnotations()).basicRemove(otherEnd, msgs);
- case JavaRefPackage.FIELD__JAVA_CLASS:
- return eBasicSetContainer(null, JavaRefPackage.FIELD__JAVA_CLASS, msgs);
- case JavaRefPackage.FIELD__INITIALIZER:
- return basicSetInitializer(null, msgs);
- default:
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
- if (eContainerFeatureID >= 0) {
- switch (eContainerFeatureID) {
- case JavaRefPackage.FIELD__JAVA_CLASS:
- return eContainer.eInverseRemove(this, JavaRefPackage.JAVA_CLASS__FIELDS, JavaClass.class, msgs);
- default:
- return eDynamicBasicRemoveFromContainer(msgs);
- }
- }
- return eContainer.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case JavaRefPackage.FIELD__EANNOTATIONS:
- return getEAnnotations();
- case JavaRefPackage.FIELD__NAME:
- return getName();
- case JavaRefPackage.FIELD__ORDERED:
- return isOrdered() ? Boolean.TRUE : Boolean.FALSE;
- case JavaRefPackage.FIELD__UNIQUE:
- return isUnique() ? Boolean.TRUE : Boolean.FALSE;
- case JavaRefPackage.FIELD__LOWER_BOUND:
- return new Integer(getLowerBound());
- case JavaRefPackage.FIELD__UPPER_BOUND:
- return new Integer(getUpperBound());
- case JavaRefPackage.FIELD__MANY:
- return isMany() ? Boolean.TRUE : Boolean.FALSE;
- case JavaRefPackage.FIELD__REQUIRED:
- return isRequired() ? Boolean.TRUE : Boolean.FALSE;
- case JavaRefPackage.FIELD__ETYPE:
- if (resolve) return getEType();
- return basicGetEType();
- case JavaRefPackage.FIELD__FINAL:
- return isFinal() ? Boolean.TRUE : Boolean.FALSE;
- case JavaRefPackage.FIELD__STATIC:
- return isStatic() ? Boolean.TRUE : Boolean.FALSE;
- case JavaRefPackage.FIELD__JAVA_VISIBILITY:
- return getJavaVisibility();
- case JavaRefPackage.FIELD__TRANSIENT:
- return isTransient() ? Boolean.TRUE : Boolean.FALSE;
- case JavaRefPackage.FIELD__VOLATILE:
- return isVolatile() ? Boolean.TRUE : Boolean.FALSE;
- case JavaRefPackage.FIELD__JAVA_CLASS:
- return getJavaClass();
- case JavaRefPackage.FIELD__INITIALIZER:
- return getInitializer();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public String toStringGen() {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (final: ");
- result.append(final_);
- result.append(", static: ");
- result.append(static_);
- result.append(", javaVisibility: ");
- result.append(javaVisibility);
- result.append(", transient: ");
- result.append(transient_);
- result.append(", volatile: ");
- result.append(volatile_);
- result.append(')');
- return result.toString();
- }
-
-}
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/InitializerImpl.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/InitializerImpl.java
deleted file mode 100644
index 66fc66b3e..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/InitializerImpl.java
+++ /dev/null
@@ -1,297 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.java.impl;
-/*
- * $RCSfile: InitializerImpl.java,v $
- * $Revision: 1.5 $ $Date: 2005/04/14 19:05:33 $
- */
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-
-import org.eclipse.jem.java.Block;
-import org.eclipse.jem.java.Initializer;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaRefPackage;
-/**
- * @generated
- */
-public class InitializerImpl extends EObjectImpl implements Initializer{
-
- /**
- * The default value of the '{@link #getIsStatic() <em>Is Static</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getIsStatic()
- * @generated
- * @ordered
- */
- protected static final Boolean IS_STATIC_EDEFAULT = null;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected Boolean isStatic = IS_STATIC_EDEFAULT;
- /**
- * The cached value of the '{@link #getSource() <em>Source</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getSource()
- * @generated
- * @ordered
- */
- protected Block source = null;
-
- protected InitializerImpl() {
- super();
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return JavaRefPackage.eINSTANCE.getInitializer();
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- public Boolean getIsStatic() {
- return isStatic;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void setIsStatic(Boolean newIsStatic) {
- Boolean oldIsStatic = isStatic;
- isStatic = newIsStatic;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.INITIALIZER__IS_STATIC, oldIsStatic, isStatic));
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- public JavaClass getJavaClass() {
- if (eContainerFeatureID != JavaRefPackage.INITIALIZER__JAVA_CLASS) return null;
- return (JavaClass)eContainer;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setJavaClass(JavaClass newJavaClass) {
- if (newJavaClass != eContainer || (eContainerFeatureID != JavaRefPackage.INITIALIZER__JAVA_CLASS && newJavaClass != null)) {
- if (EcoreUtil.isAncestor(this, newJavaClass))
- throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
- NotificationChain msgs = null;
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- if (newJavaClass != null)
- msgs = ((InternalEObject)newJavaClass).eInverseAdd(this, JavaRefPackage.JAVA_CLASS__INITIALIZERS, JavaClass.class, msgs);
- msgs = eBasicSetContainer((InternalEObject)newJavaClass, JavaRefPackage.INITIALIZER__JAVA_CLASS, msgs);
- if (msgs != null) msgs.dispatch();
- }
- else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.INITIALIZER__JAVA_CLASS, newJavaClass, newJavaClass));
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- public Block getSource() {
- if (source != null && source.eIsProxy()) {
- Block oldSource = source;
- source = (Block)eResolveProxy((InternalEObject)source);
- if (source != oldSource) {
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, JavaRefPackage.INITIALIZER__SOURCE, oldSource, source));
- }
- }
- return source;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Block basicGetSource() {
- return source;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setSource(Block newSource) {
- Block oldSource = source;
- source = newSource;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.INITIALIZER__SOURCE, oldSource, source));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case JavaRefPackage.INITIALIZER__JAVA_CLASS:
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, JavaRefPackage.INITIALIZER__JAVA_CLASS, msgs);
- default:
- return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
- }
- }
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case JavaRefPackage.INITIALIZER__JAVA_CLASS:
- return eBasicSetContainer(null, JavaRefPackage.INITIALIZER__JAVA_CLASS, msgs);
- default:
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
- if (eContainerFeatureID >= 0) {
- switch (eContainerFeatureID) {
- case JavaRefPackage.INITIALIZER__JAVA_CLASS:
- return eContainer.eInverseRemove(this, JavaRefPackage.JAVA_CLASS__INITIALIZERS, JavaClass.class, msgs);
- default:
- return eDynamicBasicRemoveFromContainer(msgs);
- }
- }
- return eContainer.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case JavaRefPackage.INITIALIZER__IS_STATIC:
- return getIsStatic();
- case JavaRefPackage.INITIALIZER__JAVA_CLASS:
- return getJavaClass();
- case JavaRefPackage.INITIALIZER__SOURCE:
- if (resolve) return getSource();
- return basicGetSource();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case JavaRefPackage.INITIALIZER__IS_STATIC:
- return IS_STATIC_EDEFAULT == null ? isStatic != null : !IS_STATIC_EDEFAULT.equals(isStatic);
- case JavaRefPackage.INITIALIZER__JAVA_CLASS:
- return getJavaClass() != null;
- case JavaRefPackage.INITIALIZER__SOURCE:
- return source != null;
- }
- return eDynamicIsSet(eFeature);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case JavaRefPackage.INITIALIZER__IS_STATIC:
- setIsStatic((Boolean)newValue);
- return;
- case JavaRefPackage.INITIALIZER__JAVA_CLASS:
- setJavaClass((JavaClass)newValue);
- return;
- case JavaRefPackage.INITIALIZER__SOURCE:
- setSource((Block)newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case JavaRefPackage.INITIALIZER__IS_STATIC:
- setIsStatic(IS_STATIC_EDEFAULT);
- return;
- case JavaRefPackage.INITIALIZER__JAVA_CLASS:
- setJavaClass((JavaClass)null);
- return;
- case JavaRefPackage.INITIALIZER__SOURCE:
- setSource((Block)null);
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public String toString() {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (isStatic: ");
- result.append(isStatic);
- result.append(')');
- return result.toString();
- }
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaClassImpl.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaClassImpl.java
deleted file mode 100644
index c2827d56f..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaClassImpl.java
+++ /dev/null
@@ -1,1959 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-/*
- * $RCSfile: JavaClassImpl.java,v $
- * $Revision: 1.18 $ $Date: 2005/06/16 17:46:17 $
- */
-package org.eclipse.jem.java.impl;
-
-import java.util.Collection;
-import java.util.List;
-
-import java.util.*;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.util.ECollections;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.EClassImpl;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
-import org.eclipse.emf.ecore.util.EObjectResolvingEList;
-import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.java.Field;
-import org.eclipse.jem.java.Initializer;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaEvent;
-import org.eclipse.jem.java.JavaPackage;
-import org.eclipse.jem.java.JavaRefPackage;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jem.java.TypeKind;
-
-import org.eclipse.emf.ecore.*;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.util.*;
-
-import org.eclipse.jem.internal.java.adapters.*;
-import org.eclipse.jem.internal.java.beaninfo.IIntrospectionAdapter;
-import org.eclipse.jem.internal.java.instantiation.IInstantiationInstance;
-import org.eclipse.jem.java.*;
-
-/**
- * <!-- begin-user-doc -->
- *
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jem.java.impl.JavaClassImpl#getKind <em>Kind</em>}</li>
- * <li>{@link org.eclipse.jem.java.impl.JavaClassImpl#isPublic <em>Public</em>}</li>
- * <li>{@link org.eclipse.jem.java.impl.JavaClassImpl#isFinal <em>Final</em>}</li>
- * <li>{@link org.eclipse.jem.java.impl.JavaClassImpl#getImplementsInterfaces <em>Implements Interfaces</em>}</li>
- * <li>{@link org.eclipse.jem.java.impl.JavaClassImpl#getClassImport <em>Class Import</em>}</li>
- * <li>{@link org.eclipse.jem.java.impl.JavaClassImpl#getPackageImports <em>Package Imports</em>}</li>
- * <li>{@link org.eclipse.jem.java.impl.JavaClassImpl#getFields <em>Fields</em>}</li>
- * <li>{@link org.eclipse.jem.java.impl.JavaClassImpl#getMethods <em>Methods</em>}</li>
- * <li>{@link org.eclipse.jem.java.impl.JavaClassImpl#getInitializers <em>Initializers</em>}</li>
- * <li>{@link org.eclipse.jem.java.impl.JavaClassImpl#getDeclaredClasses <em>Declared Classes</em>}</li>
- * <li>{@link org.eclipse.jem.java.impl.JavaClassImpl#getDeclaringClass <em>Declaring Class</em>}</li>
- * <li>{@link org.eclipse.jem.java.impl.JavaClassImpl#getJavaPackage <em>Java Package</em>}</li>
- * <li>{@link org.eclipse.jem.java.impl.JavaClassImpl#getEvents <em>Events</em>}</li>
- * <li>{@link org.eclipse.jem.java.impl.JavaClassImpl#getAllEvents <em>All Events</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class JavaClassImpl extends EClassImpl implements JavaClass {
-
- /**
- * The default value of the '{@link #getKind() <em>Kind</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getKind()
- * @generated
- * @ordered
- */
- protected static final TypeKind KIND_EDEFAULT = TypeKind.UNDEFINED_LITERAL;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected TypeKind kind = KIND_EDEFAULT;
-
- /**
- * The default value of the '{@link #isPublic() <em>Public</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isPublic()
- * @generated
- * @ordered
- */
- protected static final boolean PUBLIC_EDEFAULT = false;
-
- /**
- * The cached value of the '{@link #isPublic() <em>Public</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isPublic()
- * @generated
- * @ordered
- */
- protected boolean public_ = PUBLIC_EDEFAULT;
-
- /**
- * The default value of the '{@link #isFinal() <em>Final</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isFinal()
- * @generated
- * @ordered
- */
- protected static final boolean FINAL_EDEFAULT = false;
-
- /**
- * The cached value of the '{@link #isFinal() <em>Final</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isFinal()
- * @generated
- * @ordered
- */
- protected boolean final_ = FINAL_EDEFAULT;
-
- /**
- * The cached value of the '{@link #getImplementsInterfaces() <em>Implements Interfaces</em>}' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getImplementsInterfaces()
- * @generated
- * @ordered
- */
- protected EList implementsInterfaces = null;
-
- /**
- * The cached value of the '{@link #getClassImport() <em>Class Import</em>}' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getClassImport()
- * @generated
- * @ordered
- */
- protected EList classImport = null;
-
- /**
- * The cached value of the '{@link #getPackageImports() <em>Package Imports</em>}' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getPackageImports()
- * @generated
- * @ordered
- */
- protected EList packageImports = null;
-
- /**
- * The cached value of the '{@link #getFields() <em>Fields</em>}' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getFields()
- * @generated
- * @ordered
- */
- protected EList fields = null;
-
- /**
- * The cached value of the '{@link #getMethods() <em>Methods</em>}' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getMethods()
- * @generated
- * @ordered
- */
- protected EList methods = null;
-
- /**
- * The cached value of the '{@link #getInitializers() <em>Initializers</em>}' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getInitializers()
- * @generated
- * @ordered
- */
- protected EList initializers = null;
-
- /**
- * The cached value of the '{@link #getDeclaredClasses() <em>Declared Classes</em>}' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getDeclaredClasses()
- * @generated
- * @ordered
- */
- protected EList declaredClasses = null;
-
- /**
- * The cached value of the '{@link #getDeclaringClass() <em>Declaring Class</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getDeclaringClass()
- * @generated
- * @ordered
- */
- protected JavaClass declaringClass = null;
-
- /**
- * The cached value of the '{@link #getEvents() <em>Events</em>}' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getEvents()
- * @generated
- * @ordered
- */
- protected EList events = null;
-
- protected JavaClassImpl() {
- super();
- }
-
- public EList getEAnnotationsInternal() {
- return super.getEAnnotations();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return JavaRefPackage.eINSTANCE.getJavaClass();
- }
-
- /**
- * Protected helper methods.
- */
- protected void collectFieldsExtended(List fields) {
- fields.addAll(getFields());
- Iterator it;
- it = getExtendedLookupIterator();
- while (it.hasNext())
- ((JavaClassImpl) it.next()).collectFieldsExtended(fields);
- }
-
- protected void collectMethodsExtended(Map methods, boolean onlyPublic, List excludedClasses, List excludedMethods) {
- Iterator it1, it2;
- it2 = getExtendedLookupIterator();
- JavaClassImpl javaClass;
- while (it2.hasNext()) {
- javaClass = (JavaClassImpl) it2.next();
- if (!excludedClasses.contains(javaClass))
- javaClass.collectMethodsExtended(methods, onlyPublic, excludedClasses, excludedMethods);
- }
- it1 = onlyPublic ? getPublicMethods().iterator() : getMethods().iterator();
- Method nextMethod;
- while (it1.hasNext()) {
- nextMethod = (Method) it1.next();
- if (!excludedMethods.contains(nextMethod))
- methods.put(nextMethod.getMethodElementSignature(), nextMethod);
- }
- }
-
- /**
- * createClassRef - return a JavaURL reference to the named Java class
- *
- * @deprecated @see org.eclipse.jem.java.JavaRefFactory#createClassRef(java.lang.String)
- */
- public static JavaClass createClassRef(String targetName) {
- return JavaRefFactory.eINSTANCE.createClassRef(targetName);
- }
-
- /**
- * Get the method of this name and these parameters. It will look up the supertype hierarchy.
- */
- protected Method findClassMethodExtended(String methodName, List parameterTypes) {
- Method method = getMethod(methodName, parameterTypes);
- if (method != null)
- return method;
- else {
- JavaClassImpl mySuper;
- mySuper = (JavaClassImpl) getSupertype();
- if (mySuper != null)
- return mySuper.findClassMethodExtended(methodName, parameterTypes);
- }
- return null;
- }
-
- /**
- * Get the method of this name and these parameters. It will look up the supertype hierarchy.
- */
- protected Method findInterfaceMethodExtended(String methodName, List parameterTypes) {
- Method method = getMethod(methodName, parameterTypes);
- if (method != null)
- return method;
- else {
- JavaClassImpl superInterface;
- List list = getImplementsInterfaces();
- for (int i = 0; i < list.size(); i++) {
- superInterface = (JavaClassImpl) list.get(i);
- method = superInterface.findInterfaceMethodExtended(methodName, parameterTypes);
- if (method != null)
- return method;
- }
- }
- return null;
- }
-
- /**
- *
- * @return
- * @deprecated If anyone is referencing this, please use getEAllSuperTypes() instead. This was placed here and misspelled by mistake.
- */
- public EList getAllSupertypes() {
- getESuperTypes(); //Force reflection, if needed, before getting all supertypes.
- return super.getEAllSuperTypes();
- }
-
- /**
- * Overrides to perform reflection if necessary
- */
- public EList getClassImport() {
- reflectBase();
- return getClassImportGen();
- }
-
- public EList getEAllOperations() {
- IIntrospectionAdapter ia = getIntrospectionAdapter();
- if (ia == null)
- return super.getEAllOperations(); // No introspection, do normal.
- if (eAllOperations == null)
- eAllOperations = ia.getEAllOperations();
- return eAllOperations;
- }
-
- /**
- * This is not meant to be used by others. It is here so that BeanInfo adapter can access
- * un-introspected all operations.
- * @return
- *
- * @since 1.1.0
- */
- public EList primGetEAllOperations() {
- return super.getEAllOperations();
- }
-
- public EList getEOperations() {
- IIntrospectionAdapter adapter = getIntrospectionAdapter();
- if (adapter != null)
- return adapter.getEOperations();
- return super.getEOperations();
- }
-
- /**
- * This method is not meant to be used by others. It is here so that BeanInfo adapters can go to
- * the non-introspected operations.
- * @return
- *
- * @since 1.1.0
- */
- public EList getEOperationsInternal() {
- // An internal method for returning actual wo fluffing up.
- return super.getEOperations();
- }
-
- public EList getEAnnotations() {
- IIntrospectionAdapter adapter = getIntrospectionAdapter();
- if (adapter != null)
- adapter.introspectIfNecessary(); // To cause introspection so the appropriate decorator is added.
- return super.getEAnnotations();
- }
-
- public EList getEStructuralFeatures() {
- IIntrospectionAdapter adapter = getIntrospectionAdapter();
- if (adapter != null)
- return adapter.getEStructuralFeatures();
- return super.getEStructuralFeatures();
- }
-
- public EList getEStructuralFeaturesInternal() {
- // An internal method for returning actual wo fluffing up.
- return super.getEStructuralFeatures();
- }
-
- /**
- * Return an Iterator on the implemntsInferface List if this is an interface class or on the super List if it is a class.
- */
- protected Iterator getExtendedLookupIterator() {
- if (isInterface())
- return getImplementsInterfaces().iterator();
- else
- return getESuperTypes().iterator();
- }
-
- /**
- * Return an Field with the passed name, or null.
- */
- public Field getField(String fieldName) {
- java.util.List fields = getFields();
- Field field;
- for (int i = 0; i < fields.size(); i++) {
- field = (Field) fields.get(i);
- if (field.getName().equals(fieldName))
- return field;
- }
- return null;
- }
-
- /**
- * Return an Field with the passed name from this JavaClass or any supertypes.
- *
- * Return null if a Field named fieldName is not found.
- */
- public Field getFieldExtended(String fieldName) {
- Field field = getFieldNamed(fieldName);
- if (field != null)
- return field;
- Iterator it = getExtendedLookupIterator();
- while (it.hasNext()) {
- Field result = ((JavaClass) it.next()).getFieldExtended(fieldName);
- if (result != null)
- return result;
- }
- return null;
- }
-
- /**
- * Return an Field with the passed name, or null.
- */
- public Field getFieldNamed(String fieldName) {
- return getField(fieldName);
- }
-
- public EList getFields() {
- reflectFields();
- return getFieldsGen();
- }
-
- /**
- * Return all fields, including those from supertypes.
- */
- public List getFieldsExtended() {
- List fields = new ArrayList();
- collectFieldsExtended(fields);
- return fields;
- }
-
- public EList getImplementsInterfaces() {
- reflectBase();
- return getImplementsInterfacesGen();
- }
-
- /**
- * Return an IntrospectionAdaptor which can introspect our Java properties
- */
- protected synchronized IIntrospectionAdapter getIntrospectionAdapter() {
- // Need to sync this because we are now in multi-thread env.
- return (IIntrospectionAdapter) EcoreUtil.getRegisteredAdapter(this, IIntrospectionAdapter.ADAPTER_KEY);
- }
-
- public String getJavaName() {
- return getQualifiedName();
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.java.JavaHelpers#getSimpleName()
- */
- public String getSimpleName() {
- return primGetName().replace('$', '.');
- }
- /**
- * getJavaPackage. This is a derived relationship, so we must implement it here to get the EPackage that this object is contained in.
- */
- public JavaPackage getJavaPackage() {
- return (JavaPackage) getEPackage();
- }
-
- /**
- * Get the method of this name and these parameters. It will not look up the supertype hierarchy.
- */
- public Method getMethod(String methodName, List parameterTypes) {
- return getMethod(methodName, parameterTypes, getMethods());
- }
-
- protected Method getMethod(String name, List parameterTypes, List methodList) {
- boolean found = false;
- Method method;
- for (int i = 0; i < methodList.size(); i++) {
- method = (Method) methodList.get(i);
- JavaParameter[] params;
- if (method.getName().equals(name)) {
- params = method.listParametersWithoutReturn();
- if (params.length == parameterTypes.size()) {
- found = true; //Maybe; we need more info
- for (int j = 0; j < params.length; j++) {
- //if any one of the parameters doesn't match then flip back to false
- JavaHelpers jh = (JavaHelpers) params[j].getEType();
- if (!jh.getQualifiedName().equals(parameterTypes.get(j))) {
- found = false;
- break;
- } // end if params equal
- } // end compare all params
- if (found) //short circuit out of this loop and return the winner
- return method;
- } // end compare lengths
- } // end compare names
- } // end loop through all methodList
- return null;
- }
-
- /**
- * Return a List of Strings that represent MethodElement signatures from most general to most specific.
- */
- public List getMethodElementSignatures() {
- List methods, signatures, sameNames;
- methods = getMethodsExtended();
- sameNames = new ArrayList();
- signatures = new ArrayList(methods.size() + 1);
- signatures.add(DEFAULT_METHOD_NAME);
- Iterator it = methods.iterator();
- Method aMethod;
- String methodName;
- while (it.hasNext()) {
- aMethod = (Method) it.next();
- methodName = aMethod.getName();
- if (sameNames.contains(methodName)) {
- if (!signatures.contains(methodName))
- signatures.add(methodName);
- } else
- sameNames.add(methodName);
- signatures.add(aMethod.getMethodElementSignature());
- }
- Collections.sort(signatures);
- return signatures;
- }
-
- /**
- * Get the method of this name and these parameters. It will look up the supertype hierarchy.
- */
- public Method getMethodExtended(String methodName, List parameterTypes) {
- if (isInterface())
- return findInterfaceMethodExtended(methodName, parameterTypes);
- else
- return findClassMethodExtended(methodName, parameterTypes);
- }
-
- public EList getMethods() {
- reflectMethods();
- return getMethodsGen();
- }
-
- /**
- * Return all methods, including those from supertypes.
- */
- public List getMethodsExtended() {
- Map methods = new HashMap();
- collectMethodsExtended(methods, false, Collections.EMPTY_LIST, Collections.EMPTY_LIST);
- return new ArrayList(methods.values());
- }
-
- /*
- * @see getMethodsExtendedWithFilters(List, List) on JavaClass.
- */
- public List getMethodsExtendedWithFilters(List excludedClasses, List excludedMethods) {
- Map methods = new HashMap();
- collectMethodsExtended(methods, false, excludedClasses, excludedMethods);
- return new ArrayList(methods.values());
- }
-
- public String getName() {
- String result = this.primGetName();
- if (result == null && eIsProxy()) {
- JavaURL url = new JavaURL(eProxyURI().toString());
- result = url.getClassName();
- }
- return result;
- }
-
- /**
- * Return a List of Methods that begins with @aMethodNamePrefix and is not included in the @excludedNames list. If @aMethodNamePrefix is null, all methods will be returned.
-
- */
- public List getOnlySpecificMethods(String aMethodNamePrefix, List excludedNames) {
- List methods, specific;
- methods = getMethodsExtended();
- specific = new ArrayList(methods.size());
- Iterator it = methods.iterator();
- Method aMethod;
- String methodName;
- while (it.hasNext()) {
- aMethod = (Method) it.next();
- methodName = aMethod.getName();
- if (aMethodNamePrefix != null && methodName.startsWith(aMethodNamePrefix) && excludedNames != null && !excludedNames.contains(methodName))
- specific.add(aMethod);
- }
- return specific;
- }
-
- public EList getPackageImports() {
- reflectBase();
- return getPackageImportsGen();
- }
-
- /**
- * getPrimitive method comment.
- */
- public JavaDataType getPrimitive() {
- String primitiveName = getPrimitiveName();
- if (primitiveName != null) {
- Resource res = eResource();
- return (JavaDataType) JavaClassImpl.reflect(primitiveName, res.getResourceSet());
- }
- return null;
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.java.JavaHelpers#getPrimitiveID()
- */
- public int getPrimitiveID() {
- String myName = getQualifiedName();
- if (myName.equals(INTEGER_NAME))
- return PRIM_INTEGER_ID;
- if (myName.equals(BOOLEAN_NAME))
- return PRIM_BOOLEAN_ID;
- if (myName.equals(BYTE_NAME))
- return PRIM_BYTE_ID;
- if (myName.equals(SHORT_NAME))
- return PRIM_SHORT_ID;
- if (myName.equals(LONG_NAME))
- return PRIM_LONG_ID;
- if (myName.equals(FLOAT_NAME))
- return PRIM_FLOAT_ID;
- if (myName.equals(DOUBLE_NAME))
- return PRIM_DOUBLE_ID;
- if (myName.equals(CHARACTER_NAME))
- return PRIM_CHARACTER_ID;
- return PRIM_NOT_ID;
- }
-
- /**
- * Return the primitive name for this type if one exists.
- */
- protected String getPrimitiveName() {
- String myName = getQualifiedName();
- if (myName.equals(INTEGER_NAME))
- return PRIM_INTEGER_NAME;
- if (myName.equals(BOOLEAN_NAME))
- return PRIM_BOOLEAN_NAME;
- if (myName.equals(BYTE_NAME))
- return PRIM_BYTE_NAME;
- if (myName.equals(SHORT_NAME))
- return PRIM_SHORT_NAME;
- if (myName.equals(LONG_NAME))
- return PRIM_LONG_NAME;
- if (myName.equals(FLOAT_NAME))
- return PRIM_FLOAT_NAME;
- if (myName.equals(DOUBLE_NAME))
- return PRIM_DOUBLE_NAME;
- if (myName.equals(CHARACTER_NAME))
- return PRIM_CHARACTER_NAME;
- return null;
- }
-
- /**
- * Return a method matching the name, and non-return parameters with fully qualified types matching all the types in the list, if it exists. It
- * will not look up the supertype hierarchy.
- */
- public Method getPublicMethod(String methodName, List parameterTypes) {
- return getMethod(methodName, parameterTypes, getPublicMethods());
- }
-
- /**
- * Return a method matching the name, and non-return parameters with fully qualified types matching all the types in the list, if it exists. It
- * will not look up the supertype hierarchy.
- */
- public Method getPublicMethodExtended(String methodName, List parameterTypes) {
- return getMethod(methodName, parameterTypes, getPublicMethodsExtended());
- }
-
- /**
- * Return all methods, it will not go up the supertype hierarchy.
- */
- public List getPublicMethods() {
- List publicMethods = new ArrayList();
- List theMethods = getMethods();
- for (int i = 0; i < theMethods.size(); i++) {
- Method m = (Method) theMethods.get(i);
- if (JavaVisibilityKind.PUBLIC_LITERAL == m.getJavaVisibility())
- publicMethods.add(m);
- }
- return publicMethods;
- }
-
- /**
- * Return all public methods, including those from supertypes.
- */
- public List getPublicMethodsExtended() {
- Map methods = new HashMap();
- collectMethodsExtended(methods, true, Collections.EMPTY_LIST, Collections.EMPTY_LIST);
- return new ArrayList(methods.values());
- }
-
- /**
- * Returns a filtered list on the methods of this class, having a name equal to that of the parameter.
- */
- public List getPublicMethodsExtendedNamed(String name) {
- List publicMethods = new ArrayList();
- List theMethods = getPublicMethodsExtended();
- for (int i = 0; i < theMethods.size(); i++) {
- Method m = (Method) theMethods.get(i);
- if (m.getName().equals(name))
- publicMethods.add(m);
- }
- return publicMethods;
- }
-
- /**
- * Returns a filtered list on the methods of this class, having a name equal to that of the parameter.
- */
- public List getPublicMethodsNamed(String name) {
- List publicMethods = new ArrayList();
- List theMethods = getPublicMethods();
- for (int i = 0; i < theMethods.size(); i++) {
- Method m = (Method) theMethods.get(i);
- if (m.getName().equals(name))
- publicMethods.add(m);
- }
- return publicMethods;
- }
-
- public String getQualifiedName() {
- String result = null;
- if (eIsProxy()) {
- JavaURL url = new JavaURL(eProxyURI().toString());
- String internalName = url.getPackageName();
- if (internalName != null && internalName.length() > 0)
- result = internalName + "." + url.getClassName();
- else
- result = url.getClassName();
- } else {
- result = primGetQualifiedName();
- }
- if (result != null)
- result = result.replace('$', '.');
- return result;
- }
-
- /**
- * To be used by people that need to get the qualified name used for reflection. Typically bean info would need to use something like this.
- */
- public String getQualifiedNameForReflection() {
- return primGetQualifiedName();
- }
-
- /**
- * Return a ReadAdaptor which can reflect our Java properties
- */
- protected synchronized ReadAdaptor getReadAdapter() {
- // Need to sync because now in a multi-thread env.
- return (ReadAdaptor) EcoreUtil.getRegisteredAdapter(this, ReadAdaptor.TYPE_KEY);
- }
-
- private static final int NOT_REFLECTED = 0x0, REFLECTED_BASE = 0x1, REFLECTED_METHODS = 0x2, REFLECTED_FIELDS = 0x4;
-
- protected int reflectionStatus = NOT_REFLECTED;
-
- protected void reflectBase() {
- // We only want the testing of the hasReflected and get readadapter to be sync(this) so that
- // it is short and no deadlock possibility (this is because the the method reflection adapter may go
- // back to the containing java class to get its reflection adapter, which would lock on itself. So
- // we need to keep the sections that are sync(this) to not be deadlockable by not doing significant work
- // during the sync.
- ReadAdaptor readAdaptor = null;
- synchronized (this) {
- if ((reflectionStatus & REFLECTED_BASE) == 0) {
- readAdaptor = getReadAdapter();
- }
- }
- if (readAdaptor != null) {
- boolean setReflected = readAdaptor.reflectValuesIfNecessary();
- synchronized (this) {
- // Don't want to set it false. That is job of reflection adapter. Otherwise we could have a race.
- if (setReflected)
- reflectionStatus |= REFLECTED_BASE;
- }
- }
- }
-
- protected void reflectFields() {
- // We only want the testing of the hasReflected and get readadapter to be sync(this) so that
- // it is short and no deadlock possibility (this is because the the method reflection adapter may go
- // back to the containing java class to get its reflection adapter, which would lock on itself. So
- // we need to keep the sections that are sync(this) to not be deadlockable by not doing significant work
- // during the sync.
- ReadAdaptor readAdaptor = null;
- synchronized (this) {
- if ((reflectionStatus & REFLECTED_FIELDS) == 0) {
- readAdaptor = getReadAdapter();
- }
- }
- if (readAdaptor != null) {
- boolean setReflected = ((IJavaClassAdaptor) readAdaptor).reflectFieldsIfNecessary();
- synchronized (this) {
- // Don't want to set it false. That is job of reflection adapter. Otherwise we could have a race.
- if (setReflected)
- reflectionStatus |= (REFLECTED_FIELDS | REFLECTED_BASE); // We can be certain base will be done by reflect fields if not already
- // done.
- }
- }
- }
-
- protected void reflectMethods() {
- // We only want the testing of the hasReflected and get readadapter to be sync(this) so that
- // it is short and no deadlock possibility (this is because the the method reflection adapter may go
- // back to the containing java class to get its reflection adapter, which would lock on itself. So
- // we need to keep the sections that are sync(this) to not be deadlockable by not doing significant work
- // during the sync.
- ReadAdaptor readAdaptor = null;
- synchronized (this) {
- if ((reflectionStatus & REFLECTED_METHODS) == 0) {
- readAdaptor = getReadAdapter();
- }
- }
- if (readAdaptor != null) {
- boolean setReflected = ((IJavaClassAdaptor) readAdaptor).reflectMethodsIfNecessary();
- synchronized (this) {
- // Don't want to set it false. That is job of reflection adapter. Otherwise we could have a race.
- if (setReflected)
- reflectionStatus |= (REFLECTED_METHODS | REFLECTED_BASE); // We can be certain base will be done by reflect fields if not already
- // done.
- }
- }
- }
-
- public JavaClass getSupertype() {
- // If this is an interface, there is no supertype. However, the eSuperTypes IS filled in with any interface that this extends.
- if (isInterface())
- return null;
- List list = getESuperTypes();
- return (!list.isEmpty()) ? (JavaClass) list.get(0) : null;
- }
-
- public JavaClass getWrapper() {
- return this;
- }
-
- /**
- * Test whether the receiver implements the passed interface (or one of its supertypes).
- */
- public boolean implementsInterface(JavaClass interfaceType) {
- if (this == interfaceType)
- return true;
- EList implemented = getImplementsInterfaces();
- JavaClass anInterface;
- for (int i = 0; i < implemented.size(); i++) {
- anInterface = (JavaClass) implemented.get(i);
- if (anInterface.implementsInterface(interfaceType))
- return true;
- }
- if (getSupertype() != null)
- return getSupertype().implementsInterface(interfaceType);
- else
- return false;
- }
-
- /**
- * Return a string showing our details.
- */
- public String infoString() {
- StringBuffer out = new StringBuffer();
- // trip class reflection
- //FB this.eGet(JavaRefPackage.eINSTANCE.getJavaClass_Public());
- reflectBase(); //FB
- out.append("Java class: " + getQualifiedName() + "\n");
- out.append(" superclass: " + this.getSupertype() + "\n");
- EList fields = getFields();
- Field field;
- if (fields.size() > 0) {
- out.append(" Fields:\n");
- for (int i = 0; i < fields.size(); i++) {
- field = (Field) fields.get(i);
- out.append(" " + ((JavaHelpers) field.getEType()).getJavaName() + " " + field.getName() + "\n");
- }
- }
- EList methods = getMethods();
- Method method;
- if (methods.size() > 0) {
- out.append(" Methods:\n");
- for (int i = 0; i < methods.size(); i++) {
- method = (Method) methods.get(i);
- // trip method reflection
- method.isStatic();
- if (method.getReturnType() != null)
- out.append(" " + method.getReturnType().getJavaName() + " ");
- else
- out.append(" void ");
- out.append(method.getName() + "(");
- EList parms = method.getParameters();
- JavaParameter parm;
- if (parms.size() > 0) {
- for (int ii = 0; ii < parms.size(); ii++) {
- parm = (JavaParameter) parms.get(ii);
- //FB if (!parm.isReturn()) {
- out.append(((JavaHelpers) parm.getEType()).getJavaName() + " " + parm.getName());
- if (ii < parms.size() - 1)
- out.append(", ");
- //FB }
- }
- }
- out.append(")\n");
- }
- }
- return out.toString();
- }
-
- /**
- * Tests whether this class inherits from the passed in class.
- */
- public boolean inheritsFrom(JavaClass javaClass) {
- if (this == javaClass)
- return true;
- else if (getSupertype() != null)
- return getSupertype().inheritsFrom(javaClass);
- else
- return false;
- }
-
- public boolean isArray() {
- return false;
- }
-
- /**
- * Can an object of the passed in class be assigned to an object of this class. In other words is this class a supertype of the passed in class,
- * or is it superinterface of it.
- */
- public boolean isAssignableFrom(EClassifier aClass) {
- if (aClass instanceof JavaClass) {
- JavaClass theClass = (JavaClass) aClass;
- // If either this class or aClass kind is unknown then it isn't assignableFrom.
- if (getKind() == TypeKind.UNDEFINED_LITERAL || theClass.getKind() == TypeKind.UNDEFINED_LITERAL)
- return false;
- // If the "aClass" is not a JavaClass (i.e. it is either a JavaDatatype or
- // some other kind of MOF classifier), then it cannot be
- // assigned to something of this class.
- if (getKind() != TypeKind.INTERFACE_LITERAL)
- if (theClass.getKind() != TypeKind.INTERFACE_LITERAL)
- return theClass.inheritsFrom(this);
- else {
- // aClass is an interface, so it is assignable only if
- // "this" is "java.lang.Object".
- return getQualifiedName().equals("java.lang.Object");
- }
- else
- return theClass.implementsInterface(this);
- }
- return false;
- }
-
- /**
- * Does this type exist.
- */
- public boolean isExistingType() {
- // TODO: Temporary, inefficient implementation
- return ((JavaReflectionAdaptor) getReadAdapter()).hasReflectionSource();
- }
-
- /**
- * See if this is valid object of this type.
- */
- public boolean isInstance(Object o) {
- return o instanceof IInstantiationInstance ? isAssignableFrom(((IInstantiationInstance) o).getJavaType()) : false;
- }
-
- /**
- * Is this an interface.
- */
- public boolean isInterface() {
- return getKind() == TypeKind.INTERFACE_LITERAL;
- }
-
- public boolean isNested() {
- return getDeclaringClass() != null;
- }
-
- public boolean isPrimitive() {
- return false;
- }
-
- /**
- * Return an array listing our fields, including inherited fields. The field relationship is derived from contents. This implementation depends on
- * the assumption that supertypes above JavaClass will hold Attributes rather than Fields.
- */
- public Field[] listFieldExtended() {
- List fields = getFieldsExtended();
- Field[] result = new Field[fields.size()];
- fields.toArray(result);
- return result;
- }
-
- /**
- * Return an array listing our Methods, including inherited methods. The method relationship is derived from contents. This implementation depends
- * on the assumption that supertypes above JavaClass will hold Operations rather than Methods.
- */
- public Method[] listMethodExtended() {
- java.util.List methods = getMethodsExtended();
- Method[] result = new Method[methods.size()];
- methods.toArray(result);
- return result;
- }
-
- /**
- * This is required for internal reflection do not use.
- */
- public String primGetName() {
- return super.getName();
- }
-
- /**
- * This is required for internal reflection do not use.
- */
- public String primGetQualifiedName() {
- String result = "";
- JavaPackage pack = getJavaPackage();
- if (pack != null && pack.getPackageName().length() != 0)
- result = pack.getPackageName() + "." + this.primGetName();
- else
- result = this.getName();
- return result;
- }
-
- /**
- * reflect - reflect a JavaClass for a given qualified name. If the package or class does not exist, one will be created through the reflection
- * mechanism. Lookup the JavaClass in the context of the passed object, handling some error cases.
- *
- * @deprecated @see org.eclipse.jem.java.JavaRefFactory#reflectType(java.lang.String, org.eclipse.emf.ecore.EObject)
- *
- */
- public static JavaHelpers reflect(String aQualifiedName, EObject relatedObject) {
- return JavaRefFactory.eINSTANCE.reflectType(aQualifiedName, relatedObject);
- }
-
- /**
- * reflect - reflect a JavaClass for a given qualified name. If the package or class does not exist, one will be created through the reflection
- * mechanism.
- *
- * @deprecated @see org.eclipse.jem.java.JavaRefFactory#reflectType(java.lang.String, org.eclipse.emf.ecore.resource.ResourceSet)
- */
- public static JavaHelpers reflect(String aQualifiedName, ResourceSet set) {
- return JavaRefFactory.eINSTANCE.reflectType(aQualifiedName, set);
- }
-
- /**
- * reflect - reflect a JavaClass for a given package name or class name. If the package or class does not exist, one will be created through the
- * reflection mechanism.
- *
- * @deprecated @see org.eclipse.jem.java.JavaRefFactory#reflectType(java.lang.String, java.lang.String,
- * org.eclipse.emf.ecore.resource.ResourceSet)
- */
- public static JavaHelpers reflect(String aPackageName, String aClassName, ResourceSet set) {
- return JavaRefFactory.eINSTANCE.reflectType(aPackageName, aClassName, set);
- }
-
- public void setSupertype(JavaClass aJavaClass) throws InheritanceCycleException {
- validateSupertype(aJavaClass);
- List s = super.getESuperTypes();
- s.clear();
- if (aJavaClass != null)
- s.add(aJavaClass);
- }
-
- /**
- * Check to make sure that the passed JavaClass is a valid super class (i.e., it does not create any cycles in the inheritance.
- *
- * @param aJavaClass
- */
- protected void validateSupertype(JavaClass aJavaClass) throws InheritanceCycleException {
- if (!isValidSupertype(aJavaClass))
- throw new InheritanceCycleException(this, aJavaClass);
- }
-
- public boolean isValidSupertype(JavaClass aJavaClass) {
- if (aJavaClass != null) {
- if (this.equals(aJavaClass))
- return false;
- return extendedIsValidSupertype(getSubtypes(), aJavaClass);
- }
- return true;
- }
-
- /**
- * @param subtypes
- * @param aJavaClass
- */
- private boolean extendedIsValidSupertype(List subtypes, JavaClass aJavaClass) {
- if (!basicIsValidSupertype(subtypes, aJavaClass))
- return false;
- JavaClass subtype;
- for (int i = 0; i < subtypes.size(); i++) {
- subtype = (JavaClass) subtypes.get(i);
- if (!subtype.isValidSupertype(aJavaClass))
- return false;
- }
- return true;
- }
-
- private boolean basicIsValidSupertype(List subtypes, JavaClass aJavaClass) {
- JavaClass subtype;
- for (int i = 0; i < subtypes.size(); i++) {
- subtype = (JavaClass) subtypes.get(i);
- if (subtype.equals(aJavaClass))
- return false;
- }
- return true;
- }
-
- protected List getSubtypes() {
- return getESuperAdapter().getSubclasses();
- }
-
- public String toString() {
- return getClass().getName() + "(" + getQualifiedName() + ")";
- }
-
- public TypeKind getKind() {
- reflectBase();
- return getKindGen();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setKind(TypeKind newKind) {
- TypeKind oldKind = kind;
- kind = newKind == null ? KIND_EDEFAULT : newKind;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.JAVA_CLASS__KIND, oldKind, kind));
- }
-
- public boolean isPublic() {
- reflectBase();
- return isPublicGen();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setPublic(boolean newPublic) {
- boolean oldPublic = public_;
- public_ = newPublic;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.JAVA_CLASS__PUBLIC, oldPublic, public_));
- }
-
- public boolean isFinal() {
- reflectBase();
- return isFinalGen();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setFinal(boolean newFinal) {
- boolean oldFinal = final_;
- final_ = newFinal;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.JAVA_CLASS__FINAL, oldFinal, final_));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public TypeKind getKindGen() {
- return kind;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isPublicGen() {
- return public_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isFinalGen() {
- return final_;
- }
-
- public EList getInitializers() {
- if (initializers == null) {
- initializers = new EObjectContainmentWithInverseEList(Initializer.class, this, JavaRefPackage.JAVA_CLASS__INITIALIZERS,
- JavaRefPackage.INITIALIZER__JAVA_CLASS);
- }
- return initializers;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setDeclaringClass(JavaClass newDeclaringClass) {
- if (newDeclaringClass != declaringClass) {
- NotificationChain msgs = null;
- if (declaringClass != null)
- msgs = ((InternalEObject)declaringClass).eInverseRemove(this, JavaRefPackage.JAVA_CLASS__DECLARED_CLASSES, JavaClass.class, msgs);
- if (newDeclaringClass != null)
- msgs = ((InternalEObject)newDeclaringClass).eInverseAdd(this, JavaRefPackage.JAVA_CLASS__DECLARED_CLASSES, JavaClass.class, msgs);
- msgs = basicSetDeclaringClass(newDeclaringClass, msgs);
- if (msgs != null) msgs.dispatch();
- }
- else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.JAVA_CLASS__DECLARING_CLASS, newDeclaringClass, newDeclaringClass));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public JavaClass getDeclaringClass() {
- if (declaringClass != null && declaringClass.eIsProxy()) {
- JavaClass oldDeclaringClass = declaringClass;
- declaringClass = (JavaClass)eResolveProxy((InternalEObject)declaringClass);
- if (declaringClass != oldDeclaringClass) {
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, JavaRefPackage.JAVA_CLASS__DECLARING_CLASS, oldDeclaringClass, declaringClass));
- }
- }
- return declaringClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public JavaClass basicGetDeclaringClass() {
- return declaringClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain basicSetDeclaringClass(JavaClass newDeclaringClass, NotificationChain msgs) {
- JavaClass oldDeclaringClass = declaringClass;
- declaringClass = newDeclaringClass;
- if (eNotificationRequired()) {
- ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, JavaRefPackage.JAVA_CLASS__DECLARING_CLASS, oldDeclaringClass, newDeclaringClass);
- if (msgs == null) msgs = notification; else msgs.add(notification);
- }
- return msgs;
- }
-
- public EList getDeclaredClasses() {
- reflectBase();
- return getDeclaredClassesGen();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EList getDeclaredClassesGen() {
- if (declaredClasses == null) {
- declaredClasses = new EObjectWithInverseResolvingEList(JavaClass.class, this, JavaRefPackage.JAVA_CLASS__DECLARED_CLASSES, JavaRefPackage.JAVA_CLASS__DECLARING_CLASS);
- }
- return declaredClasses;
- }
-
- public EList getProperties() {
- return getEStructuralFeatures(); // As of EMF 2.0, local properties are the local features. Used to be a merge of eattributes and ereferences.
- }
-
- public EList getEvents() {
- IIntrospectionAdapter adapter = getIntrospectionAdapter();
- if (adapter != null)
- return adapter.getEvents();
- return getEventsGen();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EList getEventsGen() {
- if (events == null) {
- events = new EObjectContainmentEList(JavaEvent.class, this, JavaRefPackage.JAVA_CLASS__EVENTS);
- }
- return events;
- }
-
- private EList allEvents;
-
- public EList getAllEvents() {
- IIntrospectionAdapter ia = getIntrospectionAdapter();
- if (ia == null)
- return ECollections.EMPTY_ELIST; // No introspection, do normal.
- return allEvents = ia.getAllEvents();
- }
-
- public EList getAllEventsGen() {
- return allEvents;
- }
-
- private EList allProperties;
-
- public EList getAllProperties() {
- IIntrospectionAdapter ia = getIntrospectionAdapter();
- if (ia == null)
- return ECollections.EMPTY_ELIST; // No introspection, do normal.
- return allProperties = ia.getAllProperties();
- }
-
- public EList getAllPropertiesGen() {
- return allProperties;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case JavaRefPackage.JAVA_CLASS__EANNOTATIONS:
- return eAnnotations != null && !eAnnotations.isEmpty();
- case JavaRefPackage.JAVA_CLASS__NAME:
- return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
- case JavaRefPackage.JAVA_CLASS__INSTANCE_CLASS_NAME:
- return INSTANCE_CLASS_NAME_EDEFAULT == null ? instanceClassName != null : !INSTANCE_CLASS_NAME_EDEFAULT.equals(instanceClassName);
- case JavaRefPackage.JAVA_CLASS__INSTANCE_CLASS:
- return INSTANCE_CLASS_EDEFAULT == null ? getInstanceClass() != null : !INSTANCE_CLASS_EDEFAULT.equals(getInstanceClass());
- case JavaRefPackage.JAVA_CLASS__DEFAULT_VALUE:
- return DEFAULT_VALUE_EDEFAULT == null ? getDefaultValue() != null : !DEFAULT_VALUE_EDEFAULT.equals(getDefaultValue());
- case JavaRefPackage.JAVA_CLASS__EPACKAGE:
- return getEPackage() != null;
- case JavaRefPackage.JAVA_CLASS__ABSTRACT:
- return ((eFlags & ABSTRACT_EFLAG) != 0) != ABSTRACT_EDEFAULT;
- case JavaRefPackage.JAVA_CLASS__INTERFACE:
- return ((eFlags & INTERFACE_EFLAG) != 0) != INTERFACE_EDEFAULT;
- case JavaRefPackage.JAVA_CLASS__ESUPER_TYPES:
- return eSuperTypes != null && !eSuperTypes.isEmpty();
- case JavaRefPackage.JAVA_CLASS__EOPERATIONS:
- return eOperations != null && !eOperations.isEmpty();
- case JavaRefPackage.JAVA_CLASS__EALL_ATTRIBUTES:
- return !getEAllAttributes().isEmpty();
- case JavaRefPackage.JAVA_CLASS__EALL_REFERENCES:
- return !getEAllReferences().isEmpty();
- case JavaRefPackage.JAVA_CLASS__EREFERENCES:
- return !getEReferences().isEmpty();
- case JavaRefPackage.JAVA_CLASS__EATTRIBUTES:
- return !getEAttributes().isEmpty();
- case JavaRefPackage.JAVA_CLASS__EALL_CONTAINMENTS:
- return !getEAllContainments().isEmpty();
- case JavaRefPackage.JAVA_CLASS__EALL_OPERATIONS:
- return !getEAllOperations().isEmpty();
- case JavaRefPackage.JAVA_CLASS__EALL_STRUCTURAL_FEATURES:
- return !getEAllStructuralFeatures().isEmpty();
- case JavaRefPackage.JAVA_CLASS__EALL_SUPER_TYPES:
- return !getEAllSuperTypes().isEmpty();
- case JavaRefPackage.JAVA_CLASS__EID_ATTRIBUTE:
- return getEIDAttribute() != null;
- case JavaRefPackage.JAVA_CLASS__ESTRUCTURAL_FEATURES:
- return eStructuralFeatures != null && !eStructuralFeatures.isEmpty();
- case JavaRefPackage.JAVA_CLASS__KIND:
- return kind != KIND_EDEFAULT;
- case JavaRefPackage.JAVA_CLASS__PUBLIC:
- return public_ != PUBLIC_EDEFAULT;
- case JavaRefPackage.JAVA_CLASS__FINAL:
- return final_ != FINAL_EDEFAULT;
- case JavaRefPackage.JAVA_CLASS__IMPLEMENTS_INTERFACES:
- return implementsInterfaces != null && !implementsInterfaces.isEmpty();
- case JavaRefPackage.JAVA_CLASS__CLASS_IMPORT:
- return classImport != null && !classImport.isEmpty();
- case JavaRefPackage.JAVA_CLASS__PACKAGE_IMPORTS:
- return packageImports != null && !packageImports.isEmpty();
- case JavaRefPackage.JAVA_CLASS__FIELDS:
- return fields != null && !fields.isEmpty();
- case JavaRefPackage.JAVA_CLASS__METHODS:
- return methods != null && !methods.isEmpty();
- case JavaRefPackage.JAVA_CLASS__INITIALIZERS:
- return initializers != null && !initializers.isEmpty();
- case JavaRefPackage.JAVA_CLASS__DECLARED_CLASSES:
- return declaredClasses != null && !declaredClasses.isEmpty();
- case JavaRefPackage.JAVA_CLASS__DECLARING_CLASS:
- return declaringClass != null;
- case JavaRefPackage.JAVA_CLASS__JAVA_PACKAGE:
- return basicGetJavaPackage() != null;
- case JavaRefPackage.JAVA_CLASS__EVENTS:
- return events != null && !events.isEmpty();
- case JavaRefPackage.JAVA_CLASS__ALL_EVENTS:
- return !getAllEvents().isEmpty();
- }
- return eDynamicIsSet(eFeature);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case JavaRefPackage.JAVA_CLASS__EANNOTATIONS:
- getEAnnotations().clear();
- getEAnnotations().addAll((Collection)newValue);
- return;
- case JavaRefPackage.JAVA_CLASS__NAME:
- setName((String)newValue);
- return;
- case JavaRefPackage.JAVA_CLASS__INSTANCE_CLASS_NAME:
- setInstanceClassName((String)newValue);
- return;
- case JavaRefPackage.JAVA_CLASS__ABSTRACT:
- setAbstract(((Boolean)newValue).booleanValue());
- return;
- case JavaRefPackage.JAVA_CLASS__INTERFACE:
- setInterface(((Boolean)newValue).booleanValue());
- return;
- case JavaRefPackage.JAVA_CLASS__ESUPER_TYPES:
- getESuperTypes().clear();
- getESuperTypes().addAll((Collection)newValue);
- return;
- case JavaRefPackage.JAVA_CLASS__EOPERATIONS:
- getEOperations().clear();
- getEOperations().addAll((Collection)newValue);
- return;
- case JavaRefPackage.JAVA_CLASS__ESTRUCTURAL_FEATURES:
- getEStructuralFeatures().clear();
- getEStructuralFeatures().addAll((Collection)newValue);
- return;
- case JavaRefPackage.JAVA_CLASS__KIND:
- setKind((TypeKind)newValue);
- return;
- case JavaRefPackage.JAVA_CLASS__PUBLIC:
- setPublic(((Boolean)newValue).booleanValue());
- return;
- case JavaRefPackage.JAVA_CLASS__FINAL:
- setFinal(((Boolean)newValue).booleanValue());
- return;
- case JavaRefPackage.JAVA_CLASS__IMPLEMENTS_INTERFACES:
- getImplementsInterfaces().clear();
- getImplementsInterfaces().addAll((Collection)newValue);
- return;
- case JavaRefPackage.JAVA_CLASS__CLASS_IMPORT:
- getClassImport().clear();
- getClassImport().addAll((Collection)newValue);
- return;
- case JavaRefPackage.JAVA_CLASS__PACKAGE_IMPORTS:
- getPackageImports().clear();
- getPackageImports().addAll((Collection)newValue);
- return;
- case JavaRefPackage.JAVA_CLASS__FIELDS:
- getFields().clear();
- getFields().addAll((Collection)newValue);
- return;
- case JavaRefPackage.JAVA_CLASS__METHODS:
- getMethods().clear();
- getMethods().addAll((Collection)newValue);
- return;
- case JavaRefPackage.JAVA_CLASS__INITIALIZERS:
- getInitializers().clear();
- getInitializers().addAll((Collection)newValue);
- return;
- case JavaRefPackage.JAVA_CLASS__DECLARED_CLASSES:
- getDeclaredClasses().clear();
- getDeclaredClasses().addAll((Collection)newValue);
- return;
- case JavaRefPackage.JAVA_CLASS__DECLARING_CLASS:
- setDeclaringClass((JavaClass)newValue);
- return;
- case JavaRefPackage.JAVA_CLASS__EVENTS:
- getEvents().clear();
- getEvents().addAll((Collection)newValue);
- return;
- case JavaRefPackage.JAVA_CLASS__ALL_EVENTS:
- getAllEvents().clear();
- getAllEvents().addAll((Collection)newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case JavaRefPackage.JAVA_CLASS__EANNOTATIONS:
- getEAnnotations().clear();
- return;
- case JavaRefPackage.JAVA_CLASS__NAME:
- setName(NAME_EDEFAULT);
- return;
- case JavaRefPackage.JAVA_CLASS__INSTANCE_CLASS_NAME:
- setInstanceClassName(INSTANCE_CLASS_NAME_EDEFAULT);
- return;
- case JavaRefPackage.JAVA_CLASS__ABSTRACT:
- setAbstract(ABSTRACT_EDEFAULT);
- return;
- case JavaRefPackage.JAVA_CLASS__INTERFACE:
- setInterface(INTERFACE_EDEFAULT);
- return;
- case JavaRefPackage.JAVA_CLASS__ESUPER_TYPES:
- getESuperTypes().clear();
- return;
- case JavaRefPackage.JAVA_CLASS__EOPERATIONS:
- getEOperations().clear();
- return;
- case JavaRefPackage.JAVA_CLASS__ESTRUCTURAL_FEATURES:
- getEStructuralFeatures().clear();
- return;
- case JavaRefPackage.JAVA_CLASS__KIND:
- setKind(KIND_EDEFAULT);
- return;
- case JavaRefPackage.JAVA_CLASS__PUBLIC:
- setPublic(PUBLIC_EDEFAULT);
- return;
- case JavaRefPackage.JAVA_CLASS__FINAL:
- setFinal(FINAL_EDEFAULT);
- return;
- case JavaRefPackage.JAVA_CLASS__IMPLEMENTS_INTERFACES:
- getImplementsInterfaces().clear();
- return;
- case JavaRefPackage.JAVA_CLASS__CLASS_IMPORT:
- getClassImport().clear();
- return;
- case JavaRefPackage.JAVA_CLASS__PACKAGE_IMPORTS:
- getPackageImports().clear();
- return;
- case JavaRefPackage.JAVA_CLASS__FIELDS:
- getFields().clear();
- return;
- case JavaRefPackage.JAVA_CLASS__METHODS:
- getMethods().clear();
- return;
- case JavaRefPackage.JAVA_CLASS__INITIALIZERS:
- getInitializers().clear();
- return;
- case JavaRefPackage.JAVA_CLASS__DECLARED_CLASSES:
- getDeclaredClasses().clear();
- return;
- case JavaRefPackage.JAVA_CLASS__DECLARING_CLASS:
- setDeclaringClass((JavaClass)null);
- return;
- case JavaRefPackage.JAVA_CLASS__EVENTS:
- getEvents().clear();
- return;
- case JavaRefPackage.JAVA_CLASS__ALL_EVENTS:
- getAllEvents().clear();
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- */
- public EList getImplementsInterfacesGen() {
- if (implementsInterfaces == null) {
- implementsInterfaces = new EObjectResolvingEList(JavaClass.class, this, JavaRefPackage.JAVA_CLASS__IMPLEMENTS_INTERFACES) {
-
- /**
- * Comment for <code>serialVersionUID</code>
- *
- * @since 1.1.0
- */
- private static final long serialVersionUID = 1L;
-
- public Object get(int index) {
- if (isInterface())
- getInterfaceSuperTypes().get(index); //force resolution so the ESuperAdapter will be updated correctly
- return super.get(index);
- }
-
- public void clear() {
- super.clear();
- if (isInterface())
- getInterfaceSuperTypes().clear();
- }
-
- public Object remove(int index) {
- Object result = super.remove(index);
- if (isInterface())
- getInterfaceSuperTypes().remove(index);
- return result;
-
- }
-
- public boolean removeAll(Collection collection) {
- boolean result = super.removeAll(collection);
- if (isInterface())
- getInterfaceSuperTypes().removeAll(collection);
- return result;
- }
-
- public void add(int index, Object object) {
- super.add(index, object);
- if (isInterface())
- getInterfaceSuperTypes().add(index, object);
- }
-
- public boolean add(Object object) {
- boolean result = super.add(object);
- if (isInterface())
- getInterfaceSuperTypes().add(object);
- return result;
- }
-
- public boolean addAll(Collection collection) {
- boolean result = super.addAll(collection);
- if (isInterface())
- getInterfaceSuperTypes().addAll(collection);
- return result;
- }
-
- public boolean addAll(int index, Collection collection) {
- boolean result = super.addAll(index, collection);
- if (isInterface())
- getInterfaceSuperTypes().addAll(index, collection);
- return result;
- }
- };
- }
- return implementsInterfaces;
- }
-
- private EList getInterfaceSuperTypes() {
- return super.getESuperTypes();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EList getClassImportGen() {
- if (classImport == null) {
- classImport = new EObjectResolvingEList(JavaClass.class, this, JavaRefPackage.JAVA_CLASS__CLASS_IMPORT);
- }
- return classImport;
- }
-
- public EList getEAllSuperTypes() {
- reflectBase();//Force reflection, if needed, before getting all supertypes.
- return super.getEAllSuperTypes();
- }
-
- public EList getESuperTypes() {
- reflectBase();
- return super.getESuperTypes();
- }
-
- /**
- * This method is not meant to be used by others. It is here so that the reflection
- * adapters can reference the unreflected supertypes.
- *
- * @return
- *
- * @since 1.1.0
- */
- public EList primGetESuperTypes() {
- return super.getESuperTypes();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EList getPackageImportsGen() {
- if (packageImports == null) {
- packageImports = new EObjectResolvingEList(JavaPackage.class, this, JavaRefPackage.JAVA_CLASS__PACKAGE_IMPORTS);
- }
- return packageImports;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EList getFieldsGen() {
- if (fields == null) {
- fields = new EObjectContainmentWithInverseEList(Field.class, this, JavaRefPackage.JAVA_CLASS__FIELDS, JavaRefPackage.FIELD__JAVA_CLASS);
- }
- return fields;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EList getMethodsGen() {
- if (methods == null) {
- methods = new EObjectContainmentWithInverseEList(Method.class, this, JavaRefPackage.JAVA_CLASS__METHODS, JavaRefPackage.METHOD__JAVA_CLASS);
- }
- return methods;
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- public JavaPackage getJavaPackageGen() {
- JavaPackage javaPackage = basicGetJavaPackage();
- return javaPackage == null ? null : (JavaPackage)eResolveProxy((InternalEObject)javaPackage);
- }
-
- /*
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- */
- public JavaPackage basicGetJavaPackage() {
- return getJavaPackage();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case JavaRefPackage.JAVA_CLASS__EANNOTATIONS:
- return ((InternalEList)getEAnnotations()).basicAdd(otherEnd, msgs);
- case JavaRefPackage.JAVA_CLASS__EPACKAGE:
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, JavaRefPackage.JAVA_CLASS__EPACKAGE, msgs);
- case JavaRefPackage.JAVA_CLASS__EOPERATIONS:
- return ((InternalEList)getEOperations()).basicAdd(otherEnd, msgs);
- case JavaRefPackage.JAVA_CLASS__ESTRUCTURAL_FEATURES:
- return ((InternalEList)getEStructuralFeatures()).basicAdd(otherEnd, msgs);
- case JavaRefPackage.JAVA_CLASS__FIELDS:
- return ((InternalEList)getFields()).basicAdd(otherEnd, msgs);
- case JavaRefPackage.JAVA_CLASS__METHODS:
- return ((InternalEList)getMethods()).basicAdd(otherEnd, msgs);
- case JavaRefPackage.JAVA_CLASS__INITIALIZERS:
- return ((InternalEList)getInitializers()).basicAdd(otherEnd, msgs);
- case JavaRefPackage.JAVA_CLASS__DECLARED_CLASSES:
- return ((InternalEList)getDeclaredClasses()).basicAdd(otherEnd, msgs);
- case JavaRefPackage.JAVA_CLASS__DECLARING_CLASS:
- if (declaringClass != null)
- msgs = ((InternalEObject)declaringClass).eInverseRemove(this, JavaRefPackage.JAVA_CLASS__DECLARED_CLASSES, JavaClass.class, msgs);
- return basicSetDeclaringClass((JavaClass)otherEnd, msgs);
- default:
- return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
- }
- }
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case JavaRefPackage.JAVA_CLASS__EANNOTATIONS:
- return ((InternalEList)getEAnnotations()).basicRemove(otherEnd, msgs);
- case JavaRefPackage.JAVA_CLASS__EPACKAGE:
- return eBasicSetContainer(null, JavaRefPackage.JAVA_CLASS__EPACKAGE, msgs);
- case JavaRefPackage.JAVA_CLASS__EOPERATIONS:
- return ((InternalEList)getEOperations()).basicRemove(otherEnd, msgs);
- case JavaRefPackage.JAVA_CLASS__ESTRUCTURAL_FEATURES:
- return ((InternalEList)getEStructuralFeatures()).basicRemove(otherEnd, msgs);
- case JavaRefPackage.JAVA_CLASS__FIELDS:
- return ((InternalEList)getFields()).basicRemove(otherEnd, msgs);
- case JavaRefPackage.JAVA_CLASS__METHODS:
- return ((InternalEList)getMethods()).basicRemove(otherEnd, msgs);
- case JavaRefPackage.JAVA_CLASS__INITIALIZERS:
- return ((InternalEList)getInitializers()).basicRemove(otherEnd, msgs);
- case JavaRefPackage.JAVA_CLASS__DECLARED_CLASSES:
- return ((InternalEList)getDeclaredClasses()).basicRemove(otherEnd, msgs);
- case JavaRefPackage.JAVA_CLASS__DECLARING_CLASS:
- return basicSetDeclaringClass(null, msgs);
- case JavaRefPackage.JAVA_CLASS__EVENTS:
- return ((InternalEList)getEvents()).basicRemove(otherEnd, msgs);
- default:
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
- if (eContainerFeatureID >= 0) {
- switch (eContainerFeatureID) {
- case JavaRefPackage.JAVA_CLASS__EPACKAGE:
- return eContainer.eInverseRemove(this, EcorePackage.EPACKAGE__ECLASSIFIERS, EPackage.class, msgs);
- default:
- return eDynamicBasicRemoveFromContainer(msgs);
- }
- }
- return eContainer.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case JavaRefPackage.JAVA_CLASS__EANNOTATIONS:
- return getEAnnotations();
- case JavaRefPackage.JAVA_CLASS__NAME:
- return getName();
- case JavaRefPackage.JAVA_CLASS__INSTANCE_CLASS_NAME:
- return getInstanceClassName();
- case JavaRefPackage.JAVA_CLASS__INSTANCE_CLASS:
- return getInstanceClass();
- case JavaRefPackage.JAVA_CLASS__DEFAULT_VALUE:
- return getDefaultValue();
- case JavaRefPackage.JAVA_CLASS__EPACKAGE:
- return getEPackage();
- case JavaRefPackage.JAVA_CLASS__ABSTRACT:
- return isAbstract() ? Boolean.TRUE : Boolean.FALSE;
- case JavaRefPackage.JAVA_CLASS__INTERFACE:
- return isInterface() ? Boolean.TRUE : Boolean.FALSE;
- case JavaRefPackage.JAVA_CLASS__ESUPER_TYPES:
- return getESuperTypes();
- case JavaRefPackage.JAVA_CLASS__EOPERATIONS:
- return getEOperations();
- case JavaRefPackage.JAVA_CLASS__EALL_ATTRIBUTES:
- return getEAllAttributes();
- case JavaRefPackage.JAVA_CLASS__EALL_REFERENCES:
- return getEAllReferences();
- case JavaRefPackage.JAVA_CLASS__EREFERENCES:
- return getEReferences();
- case JavaRefPackage.JAVA_CLASS__EATTRIBUTES:
- return getEAttributes();
- case JavaRefPackage.JAVA_CLASS__EALL_CONTAINMENTS:
- return getEAllContainments();
- case JavaRefPackage.JAVA_CLASS__EALL_OPERATIONS:
- return getEAllOperations();
- case JavaRefPackage.JAVA_CLASS__EALL_STRUCTURAL_FEATURES:
- return getEAllStructuralFeatures();
- case JavaRefPackage.JAVA_CLASS__EALL_SUPER_TYPES:
- return getEAllSuperTypes();
- case JavaRefPackage.JAVA_CLASS__EID_ATTRIBUTE:
- return getEIDAttribute();
- case JavaRefPackage.JAVA_CLASS__ESTRUCTURAL_FEATURES:
- return getEStructuralFeatures();
- case JavaRefPackage.JAVA_CLASS__KIND:
- return getKind();
- case JavaRefPackage.JAVA_CLASS__PUBLIC:
- return isPublic() ? Boolean.TRUE : Boolean.FALSE;
- case JavaRefPackage.JAVA_CLASS__FINAL:
- return isFinal() ? Boolean.TRUE : Boolean.FALSE;
- case JavaRefPackage.JAVA_CLASS__IMPLEMENTS_INTERFACES:
- return getImplementsInterfaces();
- case JavaRefPackage.JAVA_CLASS__CLASS_IMPORT:
- return getClassImport();
- case JavaRefPackage.JAVA_CLASS__PACKAGE_IMPORTS:
- return getPackageImports();
- case JavaRefPackage.JAVA_CLASS__FIELDS:
- return getFields();
- case JavaRefPackage.JAVA_CLASS__METHODS:
- return getMethods();
- case JavaRefPackage.JAVA_CLASS__INITIALIZERS:
- return getInitializers();
- case JavaRefPackage.JAVA_CLASS__DECLARED_CLASSES:
- return getDeclaredClasses();
- case JavaRefPackage.JAVA_CLASS__DECLARING_CLASS:
- if (resolve) return getDeclaringClass();
- return basicGetDeclaringClass();
- case JavaRefPackage.JAVA_CLASS__JAVA_PACKAGE:
- if (resolve) return getJavaPackage();
- return basicGetJavaPackage();
- case JavaRefPackage.JAVA_CLASS__EVENTS:
- return getEvents();
- case JavaRefPackage.JAVA_CLASS__ALL_EVENTS:
- return getAllEvents();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public String toStringGen() {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (kind: ");
- result.append(kind);
- result.append(", public: ");
- result.append(public_);
- result.append(", final: ");
- result.append(final_);
- result.append(')');
- return result.toString();
- }
-
- /*
- * This should never be called with true. It is basically only for reset of reflection, not to set a particular state. But InternalReadAdaptable
- * may be used by someone that shouldn't so to be be safe we keep it. TODO Remove InternalReadAdaptable in next version. Need to wait because we
- * need time to notify everyone.
- *
- * @see org.eclipse.jem.java.adapters.InternalReadAdaptable#setReflected(boolean)
- */
- public synchronized void setReflected(boolean aBoolean) {
- if (!aBoolean)
- reflectionStatus = NOT_REFLECTED;
- }
- /* (non-Javadoc)
- * @see org.eclipse.jem.java.JavaClass#getReflectionType()
- */
- public Object getReflectionType() {
- JavaReflectionAdaptor ja = ((JavaReflectionAdaptor) getReadAdapter());
- return ja != null ? ja.getReflectionSource() : null;
- }
-}
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaDataTypeImpl.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaDataTypeImpl.java
deleted file mode 100644
index a6912a677..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaDataTypeImpl.java
+++ /dev/null
@@ -1,426 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.java.impl;
-/*
- * $RCSfile: JavaDataTypeImpl.java,v $
- * $Revision: 1.8 $ $Date: 2005/05/11 19:01:16 $
- */
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.EClassImpl;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.java.*;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaDataType;
-import org.eclipse.jem.java.JavaRefPackage;
-import org.eclipse.jem.internal.java.instantiation.IInstantiationInstance;
-/**
- * @generated
- */
-public class JavaDataTypeImpl extends EClassImpl implements JavaDataType{
-
-
- static final String FALSE = "false";
- static final String DOUBLE_ZERO = "0.0";
- static final String FLOAT_ZERO = "0.0f";
- static final String CHAR_ZERO = "'0'";
- static final String ZERO = "0";
-
- private int primitive_type = PRIM_NOT_ID;
-
- protected JavaDataTypeImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return JavaRefPackage.eINSTANCE.getJavaDataType();
- }
-
- /**
- * Return the default string representing the default value of the primitive.
- */
- public String getDefaultValueString() {
- String typeName = getJavaName();
- if (typeName.equals(PRIM_BOOLEAN_NAME))
- return FALSE;
- if (typeName.equals(PRIM_DOUBLE_NAME))
- return DOUBLE_ZERO;
- if (typeName.equals(PRIM_FLOAT_NAME))
- return FLOAT_ZERO;
- if (typeName.equals(PRIM_CHARACTER_NAME))
- return CHAR_ZERO;
- return ZERO;
- }
- public String getJavaName() {
- return getName();
- }
- public JavaDataType getPrimitive() {
- return this;
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.java.JavaHelpers#getPrimitiveID()
- */
- public int getPrimitiveID() {
- if (primitive_type == PRIM_NOT_ID) {
- String name = getName();
- if (name.equals(PRIM_BOOLEAN_NAME))
- primitive_type = PRIM_BOOLEAN_ID;
- if (name.equals(PRIM_CHARACTER_NAME))
- primitive_type = PRIM_CHARACTER_ID;
- if (name.equals(PRIM_BYTE_NAME))
- primitive_type = PRIM_BYTE_ID;
- if (name.equals(PRIM_SHORT_NAME))
- primitive_type = PRIM_SHORT_ID;
- if (name.equals(PRIM_INTEGER_NAME))
- primitive_type = PRIM_INTEGER_ID;
- if (name.equals(PRIM_LONG_NAME))
- primitive_type = PRIM_LONG_ID;
- if (name.equals(PRIM_FLOAT_NAME))
- primitive_type = PRIM_FLOAT_ID;
- if (name.equals(PRIM_DOUBLE_NAME))
- primitive_type = PRIM_DOUBLE_ID;
- }
- return primitive_type;
- }
-
- public String getSimpleName() {
- return getName();
- }
- public String getQualifiedName() {
- return getJavaName();
- }
- public JavaClass getWrapper() {
- String wrapperName = getWrapperQualifiedName();
- if (wrapperName != null) {
- return (JavaClass) JavaRefFactory.eINSTANCE.reflectType(wrapperName, this);
- }
- return null;
- }
- /**
- * getWrapper method comment.
- */
- protected String getWrapperQualifiedName() {
- switch (getPrimitiveID()) {
- case PRIM_INTEGER_ID:
- return INTEGER_NAME;
- case PRIM_CHARACTER_ID:
- return CHARACTER_NAME;
- case PRIM_BOOLEAN_ID:
- return BOOLEAN_NAME;
- case PRIM_BYTE_ID:
- return BYTE_NAME;
- case PRIM_SHORT_ID:
- return SHORT_NAME;
- case PRIM_LONG_ID:
- return LONG_NAME;
- case PRIM_FLOAT_ID:
- return FLOAT_NAME;
- case PRIM_DOUBLE_ID:
- return DOUBLE_NAME;
- default:
- return null;
- }
- }
- /*
- * JavaHelpers.isArray() - array types are always JavaClasses, even if their component type is
- * a primitive data type. Return false.
- */
- public boolean isArray() {
- return false;
- }
- /**
- * Can an object of the passed in class be assigned to an
- * object of this class? In the case of primitives, are they the same.
- */
- public boolean isAssignableFrom(EClassifier aClass) {
- return this == aClass;
- }
- /**
- * See if this is valid object of this type.
- */
- public boolean isInstance(Object o) {
- return o instanceof IInstantiationInstance ? isAssignableFrom(((IInstantiationInstance) o).getJavaType()) : false;
- }
- public boolean isPrimitive() {
- return true;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case JavaRefPackage.JAVA_DATA_TYPE__EANNOTATIONS:
- return ((InternalEList)getEAnnotations()).basicAdd(otherEnd, msgs);
- case JavaRefPackage.JAVA_DATA_TYPE__EPACKAGE:
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, JavaRefPackage.JAVA_DATA_TYPE__EPACKAGE, msgs);
- case JavaRefPackage.JAVA_DATA_TYPE__EOPERATIONS:
- return ((InternalEList)getEOperations()).basicAdd(otherEnd, msgs);
- case JavaRefPackage.JAVA_DATA_TYPE__ESTRUCTURAL_FEATURES:
- return ((InternalEList)getEStructuralFeatures()).basicAdd(otherEnd, msgs);
- default:
- return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
- }
- }
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case JavaRefPackage.JAVA_DATA_TYPE__EANNOTATIONS:
- return ((InternalEList)getEAnnotations()).basicRemove(otherEnd, msgs);
- case JavaRefPackage.JAVA_DATA_TYPE__EPACKAGE:
- return eBasicSetContainer(null, JavaRefPackage.JAVA_DATA_TYPE__EPACKAGE, msgs);
- case JavaRefPackage.JAVA_DATA_TYPE__EOPERATIONS:
- return ((InternalEList)getEOperations()).basicRemove(otherEnd, msgs);
- case JavaRefPackage.JAVA_DATA_TYPE__ESTRUCTURAL_FEATURES:
- return ((InternalEList)getEStructuralFeatures()).basicRemove(otherEnd, msgs);
- default:
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
- if (eContainerFeatureID >= 0) {
- switch (eContainerFeatureID) {
- case JavaRefPackage.JAVA_DATA_TYPE__EPACKAGE:
- return eContainer.eInverseRemove(this, EcorePackage.EPACKAGE__ECLASSIFIERS, EPackage.class, msgs);
- default:
- return eDynamicBasicRemoveFromContainer(msgs);
- }
- }
- return eContainer.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case JavaRefPackage.JAVA_DATA_TYPE__EANNOTATIONS:
- return getEAnnotations();
- case JavaRefPackage.JAVA_DATA_TYPE__NAME:
- return getName();
- case JavaRefPackage.JAVA_DATA_TYPE__INSTANCE_CLASS_NAME:
- return getInstanceClassName();
- case JavaRefPackage.JAVA_DATA_TYPE__INSTANCE_CLASS:
- return getInstanceClass();
- case JavaRefPackage.JAVA_DATA_TYPE__DEFAULT_VALUE:
- return getDefaultValue();
- case JavaRefPackage.JAVA_DATA_TYPE__EPACKAGE:
- return getEPackage();
- case JavaRefPackage.JAVA_DATA_TYPE__ABSTRACT:
- return isAbstract() ? Boolean.TRUE : Boolean.FALSE;
- case JavaRefPackage.JAVA_DATA_TYPE__INTERFACE:
- return isInterface() ? Boolean.TRUE : Boolean.FALSE;
- case JavaRefPackage.JAVA_DATA_TYPE__ESUPER_TYPES:
- return getESuperTypes();
- case JavaRefPackage.JAVA_DATA_TYPE__EOPERATIONS:
- return getEOperations();
- case JavaRefPackage.JAVA_DATA_TYPE__EALL_ATTRIBUTES:
- return getEAllAttributes();
- case JavaRefPackage.JAVA_DATA_TYPE__EALL_REFERENCES:
- return getEAllReferences();
- case JavaRefPackage.JAVA_DATA_TYPE__EREFERENCES:
- return getEReferences();
- case JavaRefPackage.JAVA_DATA_TYPE__EATTRIBUTES:
- return getEAttributes();
- case JavaRefPackage.JAVA_DATA_TYPE__EALL_CONTAINMENTS:
- return getEAllContainments();
- case JavaRefPackage.JAVA_DATA_TYPE__EALL_OPERATIONS:
- return getEAllOperations();
- case JavaRefPackage.JAVA_DATA_TYPE__EALL_STRUCTURAL_FEATURES:
- return getEAllStructuralFeatures();
- case JavaRefPackage.JAVA_DATA_TYPE__EALL_SUPER_TYPES:
- return getEAllSuperTypes();
- case JavaRefPackage.JAVA_DATA_TYPE__EID_ATTRIBUTE:
- return getEIDAttribute();
- case JavaRefPackage.JAVA_DATA_TYPE__ESTRUCTURAL_FEATURES:
- return getEStructuralFeatures();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case JavaRefPackage.JAVA_DATA_TYPE__EANNOTATIONS:
- getEAnnotations().clear();
- getEAnnotations().addAll((Collection)newValue);
- return;
- case JavaRefPackage.JAVA_DATA_TYPE__NAME:
- setName((String)newValue);
- return;
- case JavaRefPackage.JAVA_DATA_TYPE__INSTANCE_CLASS_NAME:
- setInstanceClassName((String)newValue);
- return;
- case JavaRefPackage.JAVA_DATA_TYPE__ABSTRACT:
- setAbstract(((Boolean)newValue).booleanValue());
- return;
- case JavaRefPackage.JAVA_DATA_TYPE__INTERFACE:
- setInterface(((Boolean)newValue).booleanValue());
- return;
- case JavaRefPackage.JAVA_DATA_TYPE__ESUPER_TYPES:
- getESuperTypes().clear();
- getESuperTypes().addAll((Collection)newValue);
- return;
- case JavaRefPackage.JAVA_DATA_TYPE__EOPERATIONS:
- getEOperations().clear();
- getEOperations().addAll((Collection)newValue);
- return;
- case JavaRefPackage.JAVA_DATA_TYPE__ESTRUCTURAL_FEATURES:
- getEStructuralFeatures().clear();
- getEStructuralFeatures().addAll((Collection)newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case JavaRefPackage.JAVA_DATA_TYPE__EANNOTATIONS:
- getEAnnotations().clear();
- return;
- case JavaRefPackage.JAVA_DATA_TYPE__NAME:
- setName(NAME_EDEFAULT);
- return;
- case JavaRefPackage.JAVA_DATA_TYPE__INSTANCE_CLASS_NAME:
- setInstanceClassName(INSTANCE_CLASS_NAME_EDEFAULT);
- return;
- case JavaRefPackage.JAVA_DATA_TYPE__ABSTRACT:
- setAbstract(ABSTRACT_EDEFAULT);
- return;
- case JavaRefPackage.JAVA_DATA_TYPE__INTERFACE:
- setInterface(INTERFACE_EDEFAULT);
- return;
- case JavaRefPackage.JAVA_DATA_TYPE__ESUPER_TYPES:
- getESuperTypes().clear();
- return;
- case JavaRefPackage.JAVA_DATA_TYPE__EOPERATIONS:
- getEOperations().clear();
- return;
- case JavaRefPackage.JAVA_DATA_TYPE__ESTRUCTURAL_FEATURES:
- getEStructuralFeatures().clear();
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case JavaRefPackage.JAVA_DATA_TYPE__EANNOTATIONS:
- return eAnnotations != null && !eAnnotations.isEmpty();
- case JavaRefPackage.JAVA_DATA_TYPE__NAME:
- return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
- case JavaRefPackage.JAVA_DATA_TYPE__INSTANCE_CLASS_NAME:
- return INSTANCE_CLASS_NAME_EDEFAULT == null ? instanceClassName != null : !INSTANCE_CLASS_NAME_EDEFAULT.equals(instanceClassName);
- case JavaRefPackage.JAVA_DATA_TYPE__INSTANCE_CLASS:
- return INSTANCE_CLASS_EDEFAULT == null ? getInstanceClass() != null : !INSTANCE_CLASS_EDEFAULT.equals(getInstanceClass());
- case JavaRefPackage.JAVA_DATA_TYPE__DEFAULT_VALUE:
- return DEFAULT_VALUE_EDEFAULT == null ? getDefaultValue() != null : !DEFAULT_VALUE_EDEFAULT.equals(getDefaultValue());
- case JavaRefPackage.JAVA_DATA_TYPE__EPACKAGE:
- return getEPackage() != null;
- case JavaRefPackage.JAVA_DATA_TYPE__ABSTRACT:
- return ((eFlags & ABSTRACT_EFLAG) != 0) != ABSTRACT_EDEFAULT;
- case JavaRefPackage.JAVA_DATA_TYPE__INTERFACE:
- return ((eFlags & INTERFACE_EFLAG) != 0) != INTERFACE_EDEFAULT;
- case JavaRefPackage.JAVA_DATA_TYPE__ESUPER_TYPES:
- return eSuperTypes != null && !eSuperTypes.isEmpty();
- case JavaRefPackage.JAVA_DATA_TYPE__EOPERATIONS:
- return eOperations != null && !eOperations.isEmpty();
- case JavaRefPackage.JAVA_DATA_TYPE__EALL_ATTRIBUTES:
- return !getEAllAttributes().isEmpty();
- case JavaRefPackage.JAVA_DATA_TYPE__EALL_REFERENCES:
- return !getEAllReferences().isEmpty();
- case JavaRefPackage.JAVA_DATA_TYPE__EREFERENCES:
- return !getEReferences().isEmpty();
- case JavaRefPackage.JAVA_DATA_TYPE__EATTRIBUTES:
- return !getEAttributes().isEmpty();
- case JavaRefPackage.JAVA_DATA_TYPE__EALL_CONTAINMENTS:
- return !getEAllContainments().isEmpty();
- case JavaRefPackage.JAVA_DATA_TYPE__EALL_OPERATIONS:
- return !getEAllOperations().isEmpty();
- case JavaRefPackage.JAVA_DATA_TYPE__EALL_STRUCTURAL_FEATURES:
- return !getEAllStructuralFeatures().isEmpty();
- case JavaRefPackage.JAVA_DATA_TYPE__EALL_SUPER_TYPES:
- return !getEAllSuperTypes().isEmpty();
- case JavaRefPackage.JAVA_DATA_TYPE__EID_ATTRIBUTE:
- return getEIDAttribute() != null;
- case JavaRefPackage.JAVA_DATA_TYPE__ESTRUCTURAL_FEATURES:
- return eStructuralFeatures != null && !eStructuralFeatures.isEmpty();
- }
- return eDynamicIsSet(eFeature);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.java.JavaHelpers#getQualifiedNameForReflection()
- */
- public String getQualifiedNameForReflection() {
- return getJavaName();
- }
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaEventImpl.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaEventImpl.java
deleted file mode 100644
index 179d8171b..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaEventImpl.java
+++ /dev/null
@@ -1,309 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.java.impl;
-/*
- * $RCSfile: JavaEventImpl.java,v $
- * $Revision: 1.5 $ $Date: 2005/04/14 19:05:33 $
- */
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.EStructuralFeatureImpl;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.java.JavaEvent;
-import org.eclipse.jem.java.JavaRefPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Java Event</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * </p>
- *
- * @generated
- */
-public abstract class JavaEventImpl extends EStructuralFeatureImpl implements JavaEvent {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected JavaEventImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return JavaRefPackage.eINSTANCE.getJavaEvent();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case JavaRefPackage.JAVA_EVENT__EANNOTATIONS:
- return ((InternalEList)getEAnnotations()).basicAdd(otherEnd, msgs);
- case JavaRefPackage.JAVA_EVENT__ECONTAINING_CLASS:
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, JavaRefPackage.JAVA_EVENT__ECONTAINING_CLASS, msgs);
- default:
- return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
- }
- }
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case JavaRefPackage.JAVA_EVENT__EANNOTATIONS:
- return ((InternalEList)getEAnnotations()).basicRemove(otherEnd, msgs);
- case JavaRefPackage.JAVA_EVENT__ECONTAINING_CLASS:
- return eBasicSetContainer(null, JavaRefPackage.JAVA_EVENT__ECONTAINING_CLASS, msgs);
- default:
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
- if (eContainerFeatureID >= 0) {
- switch (eContainerFeatureID) {
- case JavaRefPackage.JAVA_EVENT__ECONTAINING_CLASS:
- return eContainer.eInverseRemove(this, EcorePackage.ECLASS__ESTRUCTURAL_FEATURES, EClass.class, msgs);
- default:
- return eDynamicBasicRemoveFromContainer(msgs);
- }
- }
- return eContainer.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case JavaRefPackage.JAVA_EVENT__EANNOTATIONS:
- return getEAnnotations();
- case JavaRefPackage.JAVA_EVENT__NAME:
- return getName();
- case JavaRefPackage.JAVA_EVENT__ORDERED:
- return isOrdered() ? Boolean.TRUE : Boolean.FALSE;
- case JavaRefPackage.JAVA_EVENT__UNIQUE:
- return isUnique() ? Boolean.TRUE : Boolean.FALSE;
- case JavaRefPackage.JAVA_EVENT__LOWER_BOUND:
- return new Integer(getLowerBound());
- case JavaRefPackage.JAVA_EVENT__UPPER_BOUND:
- return new Integer(getUpperBound());
- case JavaRefPackage.JAVA_EVENT__MANY:
- return isMany() ? Boolean.TRUE : Boolean.FALSE;
- case JavaRefPackage.JAVA_EVENT__REQUIRED:
- return isRequired() ? Boolean.TRUE : Boolean.FALSE;
- case JavaRefPackage.JAVA_EVENT__ETYPE:
- if (resolve) return getEType();
- return basicGetEType();
- case JavaRefPackage.JAVA_EVENT__CHANGEABLE:
- return isChangeable() ? Boolean.TRUE : Boolean.FALSE;
- case JavaRefPackage.JAVA_EVENT__VOLATILE:
- return isVolatile() ? Boolean.TRUE : Boolean.FALSE;
- case JavaRefPackage.JAVA_EVENT__TRANSIENT:
- return isTransient() ? Boolean.TRUE : Boolean.FALSE;
- case JavaRefPackage.JAVA_EVENT__DEFAULT_VALUE_LITERAL:
- return getDefaultValueLiteral();
- case JavaRefPackage.JAVA_EVENT__DEFAULT_VALUE:
- return getDefaultValue();
- case JavaRefPackage.JAVA_EVENT__UNSETTABLE:
- return isUnsettable() ? Boolean.TRUE : Boolean.FALSE;
- case JavaRefPackage.JAVA_EVENT__DERIVED:
- return isDerived() ? Boolean.TRUE : Boolean.FALSE;
- case JavaRefPackage.JAVA_EVENT__ECONTAINING_CLASS:
- return getEContainingClass();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case JavaRefPackage.JAVA_EVENT__EANNOTATIONS:
- getEAnnotations().clear();
- getEAnnotations().addAll((Collection)newValue);
- return;
- case JavaRefPackage.JAVA_EVENT__NAME:
- setName((String)newValue);
- return;
- case JavaRefPackage.JAVA_EVENT__ORDERED:
- setOrdered(((Boolean)newValue).booleanValue());
- return;
- case JavaRefPackage.JAVA_EVENT__UNIQUE:
- setUnique(((Boolean)newValue).booleanValue());
- return;
- case JavaRefPackage.JAVA_EVENT__LOWER_BOUND:
- setLowerBound(((Integer)newValue).intValue());
- return;
- case JavaRefPackage.JAVA_EVENT__UPPER_BOUND:
- setUpperBound(((Integer)newValue).intValue());
- return;
- case JavaRefPackage.JAVA_EVENT__ETYPE:
- setEType((EClassifier)newValue);
- return;
- case JavaRefPackage.JAVA_EVENT__CHANGEABLE:
- setChangeable(((Boolean)newValue).booleanValue());
- return;
- case JavaRefPackage.JAVA_EVENT__VOLATILE:
- setVolatile(((Boolean)newValue).booleanValue());
- return;
- case JavaRefPackage.JAVA_EVENT__TRANSIENT:
- setTransient(((Boolean)newValue).booleanValue());
- return;
- case JavaRefPackage.JAVA_EVENT__DEFAULT_VALUE_LITERAL:
- setDefaultValueLiteral((String)newValue);
- return;
- case JavaRefPackage.JAVA_EVENT__UNSETTABLE:
- setUnsettable(((Boolean)newValue).booleanValue());
- return;
- case JavaRefPackage.JAVA_EVENT__DERIVED:
- setDerived(((Boolean)newValue).booleanValue());
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case JavaRefPackage.JAVA_EVENT__EANNOTATIONS:
- getEAnnotations().clear();
- return;
- case JavaRefPackage.JAVA_EVENT__NAME:
- setName(NAME_EDEFAULT);
- return;
- case JavaRefPackage.JAVA_EVENT__ORDERED:
- setOrdered(ORDERED_EDEFAULT);
- return;
- case JavaRefPackage.JAVA_EVENT__UNIQUE:
- setUnique(UNIQUE_EDEFAULT);
- return;
- case JavaRefPackage.JAVA_EVENT__LOWER_BOUND:
- setLowerBound(LOWER_BOUND_EDEFAULT);
- return;
- case JavaRefPackage.JAVA_EVENT__UPPER_BOUND:
- setUpperBound(UPPER_BOUND_EDEFAULT);
- return;
- case JavaRefPackage.JAVA_EVENT__ETYPE:
- setEType((EClassifier)null);
- return;
- case JavaRefPackage.JAVA_EVENT__CHANGEABLE:
- setChangeable(CHANGEABLE_EDEFAULT);
- return;
- case JavaRefPackage.JAVA_EVENT__VOLATILE:
- setVolatile(VOLATILE_EDEFAULT);
- return;
- case JavaRefPackage.JAVA_EVENT__TRANSIENT:
- setTransient(TRANSIENT_EDEFAULT);
- return;
- case JavaRefPackage.JAVA_EVENT__DEFAULT_VALUE_LITERAL:
- setDefaultValueLiteral(DEFAULT_VALUE_LITERAL_EDEFAULT);
- return;
- case JavaRefPackage.JAVA_EVENT__UNSETTABLE:
- setUnsettable(UNSETTABLE_EDEFAULT);
- return;
- case JavaRefPackage.JAVA_EVENT__DERIVED:
- setDerived(DERIVED_EDEFAULT);
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case JavaRefPackage.JAVA_EVENT__EANNOTATIONS:
- return eAnnotations != null && !eAnnotations.isEmpty();
- case JavaRefPackage.JAVA_EVENT__NAME:
- return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
- case JavaRefPackage.JAVA_EVENT__ORDERED:
- return ((eFlags & ORDERED_EFLAG) != 0) != ORDERED_EDEFAULT;
- case JavaRefPackage.JAVA_EVENT__UNIQUE:
- return ((eFlags & UNIQUE_EFLAG) != 0) != UNIQUE_EDEFAULT;
- case JavaRefPackage.JAVA_EVENT__LOWER_BOUND:
- return lowerBound != LOWER_BOUND_EDEFAULT;
- case JavaRefPackage.JAVA_EVENT__UPPER_BOUND:
- return upperBound != UPPER_BOUND_EDEFAULT;
- case JavaRefPackage.JAVA_EVENT__MANY:
- return isMany() != MANY_EDEFAULT;
- case JavaRefPackage.JAVA_EVENT__REQUIRED:
- return isRequired() != REQUIRED_EDEFAULT;
- case JavaRefPackage.JAVA_EVENT__ETYPE:
- return eType != null;
- case JavaRefPackage.JAVA_EVENT__CHANGEABLE:
- return ((eFlags & CHANGEABLE_EFLAG) != 0) != CHANGEABLE_EDEFAULT;
- case JavaRefPackage.JAVA_EVENT__VOLATILE:
- return ((eFlags & VOLATILE_EFLAG) != 0) != VOLATILE_EDEFAULT;
- case JavaRefPackage.JAVA_EVENT__TRANSIENT:
- return ((eFlags & TRANSIENT_EFLAG) != 0) != TRANSIENT_EDEFAULT;
- case JavaRefPackage.JAVA_EVENT__DEFAULT_VALUE_LITERAL:
- return DEFAULT_VALUE_LITERAL_EDEFAULT == null ? defaultValueLiteral != null : !DEFAULT_VALUE_LITERAL_EDEFAULT.equals(defaultValueLiteral);
- case JavaRefPackage.JAVA_EVENT__DEFAULT_VALUE:
- return DEFAULT_VALUE_EDEFAULT == null ? getDefaultValue() != null : !DEFAULT_VALUE_EDEFAULT.equals(getDefaultValue());
- case JavaRefPackage.JAVA_EVENT__UNSETTABLE:
- return ((eFlags & UNSETTABLE_EFLAG) != 0) != UNSETTABLE_EDEFAULT;
- case JavaRefPackage.JAVA_EVENT__DERIVED:
- return ((eFlags & DERIVED_EFLAG) != 0) != DERIVED_EDEFAULT;
- case JavaRefPackage.JAVA_EVENT__ECONTAINING_CLASS:
- return getEContainingClass() != null;
- }
- return eDynamicIsSet(eFeature);
- }
-
-}
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaFactoryImpl.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaFactoryImpl.java
deleted file mode 100644
index 9428d69ca..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaFactoryImpl.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.java.impl;
-/*
- * $RCSfile: JavaFactoryImpl.java,v $
- * $Revision: 1.3 $ $Date: 2005/02/15 22:37:02 $
- */
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.impl.EFactoryImpl;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-
-import org.eclipse.jem.internal.java.instantiation.IInstantiationHandler;
-import org.eclipse.jem.internal.java.instantiation.IInstantiationHandlerFactoryAdapter;
-
-/**
- * The factory to use JavaRef packages. It will use the
- * IInstantiationHandler, if there is one, to do the
- * factory requests. Else it will let the superclass handle it.
- */
-public class JavaFactoryImpl extends EFactoryImpl {
-
- private IInstantiationHandler instantiationHandler;
- private boolean retrievedHandler;
-
- /**
- * Constructor for JavaFactoryImpl.
- */
- public JavaFactoryImpl() {
- super();
- }
-
- protected IInstantiationHandler getInstantiationHandler() {
- if (!retrievedHandler) {
- // Need to retrieve handler lazily because when factory is created it does not yet know what ResourceSet it is in.
- // Can't know that until the first time we need a handler.
- ResourceSet rset = getEPackage().eResource().getResourceSet();
- if (rset != null) {
- retrievedHandler = true;
- IInstantiationHandlerFactoryAdapter factory = (IInstantiationHandlerFactoryAdapter) EcoreUtil.getExistingAdapter(rset, IInstantiationHandlerFactoryAdapter.ADAPTER_KEY);
- if (factory != null)
- instantiationHandler = factory.getInstantiationHandler(this);
- }
- }
- return instantiationHandler;
- }
-
- /**
- * @see org.eclipse.emf.ecore.EFactory#create(EClass)
- */
- public EObject create(EClass eClass) {
- IInstantiationHandler ia = getInstantiationHandler();
- if (ia == null || !ia.handlesClass(eClass))
- return super.create(eClass);
- else
- return ia.create(eClass);
- }
-
-}
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaPackageImpl.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaPackageImpl.java
deleted file mode 100644
index e3d59ecef..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaPackageImpl.java
+++ /dev/null
@@ -1,319 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.java.impl;
-/*
- * $RCSfile: JavaPackageImpl.java,v $
- * $Revision: 1.7 $ $Date: 2005/04/14 19:05:33 $
- */
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.util.ECollections;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EFactory;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.EPackageImpl;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.java.JavaPackage;
-import org.eclipse.jem.java.JavaRefPackage;
-
-import org.eclipse.jem.java.*;
-
-public class JavaPackageImpl extends EPackageImpl implements JavaPackage, EPackage {
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected JavaPackageImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return JavaRefPackage.eINSTANCE.getJavaPackage();
- }
-
- /**
- * Get the list of classes that this package contains.
- * Since this is a derived relationship, we need to implement
- * it here. It will get the metaobjects list. These are the
- * java classes this package contains.
- *
- * If this is the primitives package, then it must return
- * an empty list because it doesn't contain any classes.
- */
- public EList getJavaClasses() {
- return !PRIMITIVE_PACKAGE_NAME.equals(getName()) ?
- ECollections.unmodifiableEList(getEClassifiers()) :
- ECollections.EMPTY_ELIST;
- }
-/**
- * Return the name for this package.
- * We do not want to expose the .javaprim package
- * since this is the name of the default package.
- */
-public String getName() {
- if (isDefault())
- return "";
- else
- return super.getName();
-}
- public String getPackageName() {
-
- String internalName = super.getName() ;
- return JavaPackage.PRIMITIVE_PACKAGE_NAME.equals(internalName) ? "" : internalName ;
-}
-protected boolean isDefault() {
- return JavaPackage.PRIMITIVE_PACKAGE_NAME.equals(super.getName());
-}
- /**
- * Since classes are loaded dynamically and not from a schema, a
- * class could be asked for through this method, and if not yet reflected,
- * it wouldn't be found. We need to make sure that any class asked for
- * in this package is found (i.e. poofed up). Otherwise loading an instance
- * document that refers to java class through namespaces won't be found.
- */
- public EClassifier getEClassifier(String className) {
- // Try to get the class from the resource that this package is in.
- // This will create it if not found. This works because the
- // structure is there is one java package per resource, and
- // the id of the class is the class name without the package
- // portion, which is what className above is.
- Object result = eResource().getEObject(className);
- return (result instanceof EClassifier) ? (EClassifier) result : null;
- }
-
- /**
- * reflect - reflect a Java package for a given package name.
- * If the package does not exist, one will be created through
- * the reflection mechanism.
- * @deprecated
- * @see org.eclipse.jem.java.JavaRefFactory#reflectPackage(java.lang.String, org.eclipse.emf.ecore.resource.ResourceSet)
- */
- public static JavaPackage reflect(String packageName, ResourceSet set) {
- return JavaRefFactory.eINSTANCE.reflectPackage(packageName, set);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case JavaRefPackage.JAVA_PACKAGE__EANNOTATIONS:
- return ((InternalEList)getEAnnotations()).basicAdd(otherEnd, msgs);
- case JavaRefPackage.JAVA_PACKAGE__EFACTORY_INSTANCE:
- if (eFactoryInstance != null)
- msgs = ((InternalEObject)eFactoryInstance).eInverseRemove(this, EcorePackage.EFACTORY__EPACKAGE, EFactory.class, msgs);
- return basicSetEFactoryInstance((EFactory)otherEnd, msgs);
- case JavaRefPackage.JAVA_PACKAGE__ECLASSIFIERS:
- return ((InternalEList)getEClassifiers()).basicAdd(otherEnd, msgs);
- case JavaRefPackage.JAVA_PACKAGE__ESUBPACKAGES:
- return ((InternalEList)getESubpackages()).basicAdd(otherEnd, msgs);
- case JavaRefPackage.JAVA_PACKAGE__ESUPER_PACKAGE:
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, JavaRefPackage.JAVA_PACKAGE__ESUPER_PACKAGE, msgs);
- default:
- return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
- }
- }
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case JavaRefPackage.JAVA_PACKAGE__EANNOTATIONS:
- return ((InternalEList)getEAnnotations()).basicRemove(otherEnd, msgs);
- case JavaRefPackage.JAVA_PACKAGE__EFACTORY_INSTANCE:
- return basicSetEFactoryInstance(null, msgs);
- case JavaRefPackage.JAVA_PACKAGE__ECLASSIFIERS:
- return ((InternalEList)getEClassifiers()).basicRemove(otherEnd, msgs);
- case JavaRefPackage.JAVA_PACKAGE__ESUBPACKAGES:
- return ((InternalEList)getESubpackages()).basicRemove(otherEnd, msgs);
- case JavaRefPackage.JAVA_PACKAGE__ESUPER_PACKAGE:
- return eBasicSetContainer(null, JavaRefPackage.JAVA_PACKAGE__ESUPER_PACKAGE, msgs);
- default:
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
- if (eContainerFeatureID >= 0) {
- switch (eContainerFeatureID) {
- case JavaRefPackage.JAVA_PACKAGE__ESUPER_PACKAGE:
- return eContainer.eInverseRemove(this, EcorePackage.EPACKAGE__ESUBPACKAGES, EPackage.class, msgs);
- default:
- return eDynamicBasicRemoveFromContainer(msgs);
- }
- }
- return eContainer.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case JavaRefPackage.JAVA_PACKAGE__EANNOTATIONS:
- return getEAnnotations();
- case JavaRefPackage.JAVA_PACKAGE__NAME:
- return getName();
- case JavaRefPackage.JAVA_PACKAGE__NS_URI:
- return getNsURI();
- case JavaRefPackage.JAVA_PACKAGE__NS_PREFIX:
- return getNsPrefix();
- case JavaRefPackage.JAVA_PACKAGE__EFACTORY_INSTANCE:
- return getEFactoryInstance();
- case JavaRefPackage.JAVA_PACKAGE__ECLASSIFIERS:
- return getEClassifiers();
- case JavaRefPackage.JAVA_PACKAGE__ESUBPACKAGES:
- return getESubpackages();
- case JavaRefPackage.JAVA_PACKAGE__ESUPER_PACKAGE:
- return getESuperPackage();
- case JavaRefPackage.JAVA_PACKAGE__JAVA_CLASSES:
- return getJavaClasses();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case JavaRefPackage.JAVA_PACKAGE__EANNOTATIONS:
- getEAnnotations().clear();
- getEAnnotations().addAll((Collection)newValue);
- return;
- case JavaRefPackage.JAVA_PACKAGE__NAME:
- setName((String)newValue);
- return;
- case JavaRefPackage.JAVA_PACKAGE__NS_URI:
- setNsURI((String)newValue);
- return;
- case JavaRefPackage.JAVA_PACKAGE__NS_PREFIX:
- setNsPrefix((String)newValue);
- return;
- case JavaRefPackage.JAVA_PACKAGE__EFACTORY_INSTANCE:
- setEFactoryInstance((EFactory)newValue);
- return;
- case JavaRefPackage.JAVA_PACKAGE__ECLASSIFIERS:
- getEClassifiers().clear();
- getEClassifiers().addAll((Collection)newValue);
- return;
- case JavaRefPackage.JAVA_PACKAGE__ESUBPACKAGES:
- getESubpackages().clear();
- getESubpackages().addAll((Collection)newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case JavaRefPackage.JAVA_PACKAGE__EANNOTATIONS:
- getEAnnotations().clear();
- return;
- case JavaRefPackage.JAVA_PACKAGE__NAME:
- setName(NAME_EDEFAULT);
- return;
- case JavaRefPackage.JAVA_PACKAGE__NS_URI:
- setNsURI(NS_URI_EDEFAULT);
- return;
- case JavaRefPackage.JAVA_PACKAGE__NS_PREFIX:
- setNsPrefix(NS_PREFIX_EDEFAULT);
- return;
- case JavaRefPackage.JAVA_PACKAGE__EFACTORY_INSTANCE:
- setEFactoryInstance((EFactory)null);
- return;
- case JavaRefPackage.JAVA_PACKAGE__ECLASSIFIERS:
- getEClassifiers().clear();
- return;
- case JavaRefPackage.JAVA_PACKAGE__ESUBPACKAGES:
- getESubpackages().clear();
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case JavaRefPackage.JAVA_PACKAGE__EANNOTATIONS:
- return eAnnotations != null && !eAnnotations.isEmpty();
- case JavaRefPackage.JAVA_PACKAGE__NAME:
- return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
- case JavaRefPackage.JAVA_PACKAGE__NS_URI:
- return NS_URI_EDEFAULT == null ? nsURI != null : !NS_URI_EDEFAULT.equals(nsURI);
- case JavaRefPackage.JAVA_PACKAGE__NS_PREFIX:
- return NS_PREFIX_EDEFAULT == null ? nsPrefix != null : !NS_PREFIX_EDEFAULT.equals(nsPrefix);
- case JavaRefPackage.JAVA_PACKAGE__EFACTORY_INSTANCE:
- return eFactoryInstance != null;
- case JavaRefPackage.JAVA_PACKAGE__ECLASSIFIERS:
- return eClassifiers != null && !eClassifiers.isEmpty();
- case JavaRefPackage.JAVA_PACKAGE__ESUBPACKAGES:
- return eSubpackages != null && !eSubpackages.isEmpty();
- case JavaRefPackage.JAVA_PACKAGE__ESUPER_PACKAGE:
- return getESuperPackage() != null;
- case JavaRefPackage.JAVA_PACKAGE__JAVA_CLASSES:
- return !getJavaClasses().isEmpty();
- }
- return eDynamicIsSet(eFeature);
- }
-
-} //JavaPackageImpl
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaParameterImpl.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaParameterImpl.java
deleted file mode 100644
index b1898f958..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaParameterImpl.java
+++ /dev/null
@@ -1,418 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.java.impl;
-
-/*
- * $RCSfile: JavaParameterImpl.java,v $
- * $Revision: 1.8 $ $Date: 2005/04/14 19:05:33 $
- */
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EOperation;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EParameterImpl;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-
-import org.eclipse.jem.internal.java.adapters.IJavaMethodAdapter;
-import org.eclipse.jem.internal.java.adapters.ReadAdaptor;
-import org.eclipse.jem.java.JavaHelpers;
-import org.eclipse.jem.java.JavaParameter;
-import org.eclipse.jem.java.JavaParameterKind;
-import org.eclipse.jem.java.JavaRefPackage;
-import org.eclipse.jem.java.Method;
-
-/**
- * @generated
- */
-public class JavaParameterImpl extends EParameterImpl implements JavaParameter{
-
- /**
- * The default value of the '{@link #isFinal() <em>Final</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isFinal()
- * @generated
- * @ordered
- */
- protected static final boolean FINAL_EDEFAULT = false;
-
- /**
- * The cached value of the '{@link #isFinal() <em>Final</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isFinal()
- * @generated
- * @ordered
- */
- protected boolean final_ = FINAL_EDEFAULT;
-
- /**
- * The default value of the '{@link #getParameterKind() <em>Parameter Kind</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getParameterKind()
- * @generated
- * @ordered
- */
- protected static final JavaParameterKind PARAMETER_KIND_EDEFAULT = JavaParameterKind.IN_LITERAL;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected JavaParameterKind parameterKind = PARAMETER_KIND_EDEFAULT;
- protected JavaParameterImpl() {
- super();
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return JavaRefPackage.eINSTANCE.getJavaParameter();
- }
-
- public JavaHelpers getJavaType() {
- return (JavaHelpers)getEType();
- }
- public String getQualifiedName() {
- return (eContainer() instanceof Method) ? ((Method)eContainer()).getName() + "." + this.getName() : this.getName();
- }
- /**
- * Is this parameter type an array type.
- */
- public boolean isArray() {
- return getJavaType().isArray();
- }
- /**
- * Is this a return parameter.
- */
- public boolean isReturn() {
- return JavaParameterKind.RETURN == getParameterKind().getValue();
- }
- /**
- * @generated This field/method will be replaced during code generation
- */
- public boolean isFinal() {
- return final_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setFinal(boolean newFinal) {
- boolean oldFinal = final_;
- final_ = newFinal;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.JAVA_PARAMETER__FINAL, oldFinal, final_));
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- public JavaParameterKind getParameterKind() {
- return parameterKind;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setParameterKind(JavaParameterKind newParameterKind) {
- JavaParameterKind oldParameterKind = parameterKind;
- parameterKind = newParameterKind == null ? PARAMETER_KIND_EDEFAULT : newParameterKind;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.JAVA_PARAMETER__PARAMETER_KIND, oldParameterKind, parameterKind));
- }
-
- /*
- * This is not meant to be used outside of the reflection adapters.
- */
- public synchronized ReadAdaptor getReadAdapter() {
- return (ReadAdaptor) EcoreUtil.getRegisteredAdapter(eContainer(), ReadAdaptor.TYPE_KEY);
- }
-
- private static final int REFLECTED_BASE = 0x1, REFLECTED_PARAM_NAME = 0x2;
-
- protected int reflectionStatus = REFLECTED_BASE; // At this time base reflection
- // is performed at creation.
-
- protected void reflectParamName() {
- // We only want the testing of the hasReflected and get readadapter to be sync(this) so that
- // it is short and no deadlock possibility (this is because the the method reflection adapter may go
- // back to the containing java class to get its reflection adapter, which would lock on itself. So
- // we need to keep the sections that are sync(this) to not be deadlockable by not doing significant work
- // during the sync.
- ReadAdaptor readAdaptor = null;
- synchronized (this) {
- if ((reflectionStatus & REFLECTED_PARAM_NAME) == 0) {
- readAdaptor = getReadAdapter();
- }
- }
- if (readAdaptor != null) {
- boolean setReflected = ((IJavaMethodAdapter) readAdaptor).reflectParamNamesIfNecessary();
- synchronized (this) {
- // Don't want to set it false. That is job of reflection adapter. Otherwise we could have a race.
- // Normally we wouldn't need to set this because it would be set during the reflectParamNamesIfNecessary, but
- // in case there was a problem we mark it still reflected so we don't try again.
- if (setReflected)
- reflectionStatus |= (REFLECTED_BASE | REFLECTED_PARAM_NAME); // We can be certain base will be done by reflect generated if not already
- // done.
- }
- }
- }
-
- public String getName() {
- reflectParamName();
- return super.getName();
- }
-
- public void setName(String name) {
- super.setName(name);
- synchronized (this) {
- reflectionStatus |= (REFLECTED_PARAM_NAME);
- }
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case JavaRefPackage.JAVA_PARAMETER__EANNOTATIONS:
- return eAnnotations != null && !eAnnotations.isEmpty();
- case JavaRefPackage.JAVA_PARAMETER__NAME:
- return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
- case JavaRefPackage.JAVA_PARAMETER__ORDERED:
- return ((eFlags & ORDERED_EFLAG) != 0) != ORDERED_EDEFAULT;
- case JavaRefPackage.JAVA_PARAMETER__UNIQUE:
- return ((eFlags & UNIQUE_EFLAG) != 0) != UNIQUE_EDEFAULT;
- case JavaRefPackage.JAVA_PARAMETER__LOWER_BOUND:
- return lowerBound != LOWER_BOUND_EDEFAULT;
- case JavaRefPackage.JAVA_PARAMETER__UPPER_BOUND:
- return upperBound != UPPER_BOUND_EDEFAULT;
- case JavaRefPackage.JAVA_PARAMETER__MANY:
- return isMany() != MANY_EDEFAULT;
- case JavaRefPackage.JAVA_PARAMETER__REQUIRED:
- return isRequired() != REQUIRED_EDEFAULT;
- case JavaRefPackage.JAVA_PARAMETER__ETYPE:
- return eType != null;
- case JavaRefPackage.JAVA_PARAMETER__EOPERATION:
- return getEOperation() != null;
- case JavaRefPackage.JAVA_PARAMETER__FINAL:
- return final_ != FINAL_EDEFAULT;
- case JavaRefPackage.JAVA_PARAMETER__PARAMETER_KIND:
- return parameterKind != PARAMETER_KIND_EDEFAULT;
- }
- return eDynamicIsSet(eFeature);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case JavaRefPackage.JAVA_PARAMETER__EANNOTATIONS:
- getEAnnotations().clear();
- getEAnnotations().addAll((Collection)newValue);
- return;
- case JavaRefPackage.JAVA_PARAMETER__NAME:
- setName((String)newValue);
- return;
- case JavaRefPackage.JAVA_PARAMETER__ORDERED:
- setOrdered(((Boolean)newValue).booleanValue());
- return;
- case JavaRefPackage.JAVA_PARAMETER__UNIQUE:
- setUnique(((Boolean)newValue).booleanValue());
- return;
- case JavaRefPackage.JAVA_PARAMETER__LOWER_BOUND:
- setLowerBound(((Integer)newValue).intValue());
- return;
- case JavaRefPackage.JAVA_PARAMETER__UPPER_BOUND:
- setUpperBound(((Integer)newValue).intValue());
- return;
- case JavaRefPackage.JAVA_PARAMETER__ETYPE:
- setEType((EClassifier)newValue);
- return;
- case JavaRefPackage.JAVA_PARAMETER__FINAL:
- setFinal(((Boolean)newValue).booleanValue());
- return;
- case JavaRefPackage.JAVA_PARAMETER__PARAMETER_KIND:
- setParameterKind((JavaParameterKind)newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case JavaRefPackage.JAVA_PARAMETER__EANNOTATIONS:
- getEAnnotations().clear();
- return;
- case JavaRefPackage.JAVA_PARAMETER__NAME:
- setName(NAME_EDEFAULT);
- return;
- case JavaRefPackage.JAVA_PARAMETER__ORDERED:
- setOrdered(ORDERED_EDEFAULT);
- return;
- case JavaRefPackage.JAVA_PARAMETER__UNIQUE:
- setUnique(UNIQUE_EDEFAULT);
- return;
- case JavaRefPackage.JAVA_PARAMETER__LOWER_BOUND:
- setLowerBound(LOWER_BOUND_EDEFAULT);
- return;
- case JavaRefPackage.JAVA_PARAMETER__UPPER_BOUND:
- setUpperBound(UPPER_BOUND_EDEFAULT);
- return;
- case JavaRefPackage.JAVA_PARAMETER__ETYPE:
- setEType((EClassifier)null);
- return;
- case JavaRefPackage.JAVA_PARAMETER__FINAL:
- setFinal(FINAL_EDEFAULT);
- return;
- case JavaRefPackage.JAVA_PARAMETER__PARAMETER_KIND:
- setParameterKind(PARAMETER_KIND_EDEFAULT);
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public String toString() {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (final: ");
- result.append(final_);
- result.append(", parameterKind: ");
- result.append(parameterKind);
- result.append(')');
- return result.toString();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case JavaRefPackage.JAVA_PARAMETER__EANNOTATIONS:
- return ((InternalEList)getEAnnotations()).basicAdd(otherEnd, msgs);
- case JavaRefPackage.JAVA_PARAMETER__EOPERATION:
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, JavaRefPackage.JAVA_PARAMETER__EOPERATION, msgs);
- default:
- return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
- }
- }
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case JavaRefPackage.JAVA_PARAMETER__EANNOTATIONS:
- return ((InternalEList)getEAnnotations()).basicRemove(otherEnd, msgs);
- case JavaRefPackage.JAVA_PARAMETER__EOPERATION:
- return eBasicSetContainer(null, JavaRefPackage.JAVA_PARAMETER__EOPERATION, msgs);
- default:
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
- if (eContainerFeatureID >= 0) {
- switch (eContainerFeatureID) {
- case JavaRefPackage.JAVA_PARAMETER__EOPERATION:
- return eContainer.eInverseRemove(this, EcorePackage.EOPERATION__EPARAMETERS, EOperation.class, msgs);
- default:
- return eDynamicBasicRemoveFromContainer(msgs);
- }
- }
- return eContainer.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case JavaRefPackage.JAVA_PARAMETER__EANNOTATIONS:
- return getEAnnotations();
- case JavaRefPackage.JAVA_PARAMETER__NAME:
- return getName();
- case JavaRefPackage.JAVA_PARAMETER__ORDERED:
- return isOrdered() ? Boolean.TRUE : Boolean.FALSE;
- case JavaRefPackage.JAVA_PARAMETER__UNIQUE:
- return isUnique() ? Boolean.TRUE : Boolean.FALSE;
- case JavaRefPackage.JAVA_PARAMETER__LOWER_BOUND:
- return new Integer(getLowerBound());
- case JavaRefPackage.JAVA_PARAMETER__UPPER_BOUND:
- return new Integer(getUpperBound());
- case JavaRefPackage.JAVA_PARAMETER__MANY:
- return isMany() ? Boolean.TRUE : Boolean.FALSE;
- case JavaRefPackage.JAVA_PARAMETER__REQUIRED:
- return isRequired() ? Boolean.TRUE : Boolean.FALSE;
- case JavaRefPackage.JAVA_PARAMETER__ETYPE:
- if (resolve) return getEType();
- return basicGetEType();
- case JavaRefPackage.JAVA_PARAMETER__EOPERATION:
- return getEOperation();
- case JavaRefPackage.JAVA_PARAMETER__FINAL:
- return isFinal() ? Boolean.TRUE : Boolean.FALSE;
- case JavaRefPackage.JAVA_PARAMETER__PARAMETER_KIND:
- return getParameterKind();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaRefFactoryImpl.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaRefFactoryImpl.java
deleted file mode 100644
index 380f33466..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaRefFactoryImpl.java
+++ /dev/null
@@ -1,382 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.java.impl;
-/*
- * $RCSfile: JavaRefFactoryImpl.java,v $
- * $Revision: 1.7 $ $Date: 2005/04/14 19:05:33 $
- */
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.*;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.emf.ecore.impl.EFactoryImpl;
-
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-
-import org.eclipse.jem.java.*;
-import org.eclipse.jem.internal.java.adapters.jdk.JavaJDKAdapterFactory;
-
-
-
-/**
- * @generated
- */
-public class JavaRefFactoryImpl extends EFactoryImpl implements JavaRefFactory {
-
-
- protected static Class ReflectionFactoryClass = JavaJDKAdapterFactory.class;
- public JavaRefFactoryImpl() {
- super();
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EObject create(EClass eClass) {
- switch (eClass.getClassifierID()) {
- case JavaRefPackage.JAVA_CLASS: return createJavaClass();
- case JavaRefPackage.INITIALIZER: return createInitializer();
- case JavaRefPackage.JAVA_PARAMETER: return createJavaParameter();
- case JavaRefPackage.METHOD: return createMethod();
- case JavaRefPackage.FIELD: return createField();
- case JavaRefPackage.BLOCK: return createBlock();
- case JavaRefPackage.COMMENT: return createComment();
- case JavaRefPackage.STATEMENT: return createStatement();
- case JavaRefPackage.JAVA_PACKAGE: return createJavaPackage();
- case JavaRefPackage.JAVA_DATA_TYPE: return createJavaDataType();
- case JavaRefPackage.ARRAY_TYPE: return createArrayType();
- default:
- throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object createFromString(EDataType eDataType, String initialValue) {
- switch (eDataType.getClassifierID()) {
- case JavaRefPackage.TYPE_KIND: {
- TypeKind result = TypeKind.get(initialValue);
- if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
- return result;
- }
- case JavaRefPackage.JAVA_VISIBILITY_KIND: {
- JavaVisibilityKind result = JavaVisibilityKind.get(initialValue);
- if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
- return result;
- }
- case JavaRefPackage.JAVA_PARAMETER_KIND: {
- JavaParameterKind result = JavaParameterKind.get(initialValue);
- if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
- return result;
- }
- case JavaRefPackage.JTYPE_JAVA_HELPERS:
- return createJTypeJavaHelpersFromString(eDataType, initialValue);
- case JavaRefPackage.JTYPE_LIST:
- return createJTypeListFromString(eDataType, initialValue);
- default:
- throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String convertToString(EDataType eDataType, Object instanceValue) {
- switch (eDataType.getClassifierID()) {
- case JavaRefPackage.TYPE_KIND:
- return instanceValue == null ? null : instanceValue.toString();
- case JavaRefPackage.JAVA_VISIBILITY_KIND:
- return instanceValue == null ? null : instanceValue.toString();
- case JavaRefPackage.JAVA_PARAMETER_KIND:
- return instanceValue == null ? null : instanceValue.toString();
- case JavaRefPackage.JTYPE_JAVA_HELPERS:
- return convertJTypeJavaHelpersToString(eDataType, instanceValue);
- case JavaRefPackage.JTYPE_LIST:
- return convertJTypeListToString(eDataType, instanceValue);
- default:
- throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
- }
- }
-
- public ArrayType createArrayType(JavaHelpers componentType) {
- ArrayType at = createArrayType();
-
- String computedName = componentType.getQualifiedName() + "[]";
- at.setName(computedName);
- return at;
- }
- public ArrayType createArrayType(JavaHelpers finalComponentType, int dimensions) {
- ArrayType at = createArrayType();
-
- String computedName = finalComponentType.getQualifiedName();
- for (int i = 0; i < dimensions; i++){
- computedName = computedName + "[]";
- }
- at.setName(computedName);
- return at;
- }
- public static ResourceSet createJavaContext() {
- org.eclipse.jem.internal.java.init.JavaInit.init();
- ResourceSet set = new ResourceSetImpl();
- set.getAdapterFactories().add(createJavaReflectionAdapterFactory());
- return set;
- }
- protected static AdapterFactory createJavaReflectionAdapterFactory() {
- AdapterFactory factoryInstance = null;
- try {
- if (getReflectionAdapterFactoryClass() != null)
- factoryInstance = (AdapterFactory) getReflectionAdapterFactoryClass().newInstance();
- } catch (Exception e) {
- // Reflection or instantiation problems.
- // OK, can't do Java Model reflection
- }
- return factoryInstance;
- }
- /**
- * Return the Class for the Java refection adapter factory.
- */
- public static Class getReflectionAdapterFactoryClass() {
- return ReflectionFactoryClass;
- }
- /**
- * Set the Class for the Java refection adapter factory.
- *
- * @see JavaPlugin.startup()
- */
- public static void setReflectionAdapterFactoryClass(Class javaReflectionFactoryClass) {
- ReflectionFactoryClass = javaReflectionFactoryClass;
- }
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Method createMethod() {
- MethodImpl method = new MethodImpl();
- return method;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public JavaClass createJavaClass() {
- JavaClassImpl javaClass = new JavaClassImpl();
- return javaClass;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Field createField() {
- FieldImpl field = new FieldImpl();
- return field;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Block createBlock() {
- BlockImpl block = new BlockImpl();
- return block;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Comment createComment() {
- CommentImpl comment = new CommentImpl();
- return comment;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Statement createStatement() {
- StatementImpl statement = new StatementImpl();
- return statement;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Initializer createInitializer() {
- InitializerImpl initializer = new InitializerImpl();
- return initializer;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public JavaParameter createJavaParameter() {
- JavaParameterImpl javaParameter = new JavaParameterImpl();
- return javaParameter;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public ArrayType createArrayType() {
- ArrayTypeImpl arrayType = new ArrayTypeImpl();
- return arrayType;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public JavaHelpers createJTypeJavaHelpersFromString(EDataType eDataType, String initialValue) {
- return (JavaHelpers)super.createFromString(eDataType, initialValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String convertJTypeJavaHelpersToString(EDataType eDataType, Object instanceValue) {
- return super.convertToString(eDataType, instanceValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public List createJTypeListFromString(EDataType eDataType, String initialValue) {
- return (List)super.createFromString(eDataType, initialValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String convertJTypeListToString(EDataType eDataType, Object instanceValue) {
- return super.convertToString(eDataType, instanceValue);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public JavaDataType createJavaDataType() {
- JavaDataTypeImpl javaDataType = new JavaDataTypeImpl();
- return javaDataType;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public JavaPackage createJavaPackage() {
- JavaPackageImpl javaPackage = new JavaPackageImpl();
- return javaPackage;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public JavaRefPackage getJavaRefPackage() {
- return (JavaRefPackage)getEPackage();
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public static JavaRefPackage getPackage() {
- return JavaRefPackage.eINSTANCE;
- }
-
- public static JavaRefFactory getActiveFactory() {
- return JavaRefFactory.eINSTANCE;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.java.JavaRefFactory#createClassRef(java.lang.String)
- */
- public JavaClass createClassRef(String targetName) {
- JavaClass ref = createJavaClass();
- JavaURL javaurl = new JavaURL(targetName);
- ((InternalEObject) ref).eSetProxyURI(URI.createURI(javaurl.getFullString()));
- return ref;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.java.JavaRefFactory#reflectType(java.lang.String, org.eclipse.emf.ecore.EObject)
- */
- public JavaHelpers reflectType(String aQualifiedName, EObject relatedObject) {
- Resource r = relatedObject.eResource();
- if (r != null) {
- ResourceSet rs = r.getResourceSet();
- if (rs != null) {
- return reflectType(aQualifiedName, rs);
- }
- }
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.java.JavaRefFactory#reflectType(java.lang.String, org.eclipse.emf.ecore.resource.ResourceSet)
- */
- public JavaHelpers reflectType(String aQualifiedName, ResourceSet set) {
- if (aQualifiedName != null) {
- int index = aQualifiedName.lastIndexOf(".");
- if (index > 0)
- return reflectType(aQualifiedName.substring(0, index), aQualifiedName.substring(index + 1, aQualifiedName.length()), set);
- else
- return reflectType("", aQualifiedName, set);
- }
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.java.JavaRefFactory#reflectType(java.lang.String, java.lang.String, org.eclipse.emf.ecore.resource.ResourceSet)
- */
- public JavaHelpers reflectType(String aPackageName, String aTypeName, ResourceSet set) {
- if (aTypeName != null && aPackageName != null) {
- org.eclipse.jem.internal.java.init.JavaInit.init();
- JavaURL url = new JavaURL(aPackageName, aTypeName);
- return (JavaHelpers) set.getEObject(URI.createURI(url.getFullString()), true);
- }
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.java.JavaRefFactory#reflectPackage(java.lang.String, org.eclipse.emf.ecore.resource.ResourceSet)
- */
- public JavaPackage reflectPackage(String packageName, ResourceSet set) {
- if (packageName != null) {
- org.eclipse.jem.internal.java.init.JavaInit.init();
- JavaURL url = new JavaURL(packageName, JavaPackage.PACKAGE_ID);
- return (JavaPackage) set.getEObject(URI.createURI(url.getFullString()), true);
- }
- return null;
- }
-
-}
-
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaRefPackageImpl.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaRefPackageImpl.java
deleted file mode 100644
index d6f746740..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaRefPackageImpl.java
+++ /dev/null
@@ -1,1002 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.java.impl;
-/*
- * $RCSfile: JavaRefPackageImpl.java,v $
- * $Revision: 1.7 $ $Date: 2005/04/14 19:05:33 $
- */
-import java.util.List;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EEnum;
-import org.eclipse.emf.ecore.EOperation;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.impl.EPackageImpl;
-import org.eclipse.emf.ecore.impl.EcorePackageImpl;
-
-
-import org.eclipse.jem.java.ArrayType;
-import org.eclipse.jem.java.Block;
-import org.eclipse.jem.java.Comment;
-import org.eclipse.jem.java.Field;
-import org.eclipse.jem.java.Initializer;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaDataType;
-import org.eclipse.jem.java.JavaEvent;
-import org.eclipse.jem.java.JavaHelpers;
-import org.eclipse.jem.java.JavaPackage;
-import org.eclipse.jem.java.JavaParameter;
-import org.eclipse.jem.java.JavaParameterKind;
-import org.eclipse.jem.java.JavaRefFactory;
-import org.eclipse.jem.java.JavaRefPackage;
-import org.eclipse.jem.java.JavaVisibilityKind;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jem.java.Statement;
-import org.eclipse.jem.java.TypeKind;
-
-
-/**
- * @lastgen class JavaRefPackageImpl extends EPackageImpl implements JavaRefPackage, EPackage {}
- */
-public class JavaRefPackageImpl extends EPackageImpl implements JavaRefPackage {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass javaClassEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass initializerEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass javaParameterEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass methodEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass fieldEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass blockEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass commentEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass statementEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass javaPackageEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass javaDataTypeEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass arrayTypeEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass javaEventEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EEnum typeKindEEnum = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EEnum javaVisibilityKindEEnum = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EEnum javaParameterKindEEnum = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EDataType jTypeJavaHelpersEDataType = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EDataType jTypeListEDataType = null;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- private JavaRefPackageImpl() {
- super(eNS_URI, JavaRefFactory.eINSTANCE);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private static boolean isInited = false;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public static JavaRefPackage init() {
- if (isInited) return (JavaRefPackage)EPackage.Registry.INSTANCE.getEPackage(JavaRefPackage.eNS_URI);
-
- // Obtain or create and register package
- JavaRefPackageImpl theJavaRefPackage = (JavaRefPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(eNS_URI) instanceof JavaRefPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(eNS_URI) : new JavaRefPackageImpl());
-
- isInited = true;
-
- // Initialize simple dependencies
- EcorePackageImpl.init();
-
- // Create package meta-data objects
- theJavaRefPackage.createPackageContents();
-
- // Initialize created meta-data
- theJavaRefPackage.initializePackageContents();
-
- // Mark meta-data to indicate it can't be changed
- theJavaRefPackage.freeze();
-
- return theJavaRefPackage;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EClass getJavaClass() {
- return javaClassEClass;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EAttribute getJavaClass_Kind() {
- return (EAttribute)javaClassEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getJavaClass_Public() {
- return (EAttribute)javaClassEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getJavaClass_Final() {
- return (EAttribute)javaClassEClass.getEStructuralFeatures().get(2);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EReference getJavaClass_ImplementsInterfaces() {
- return (EReference)javaClassEClass.getEStructuralFeatures().get(3);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EReference getJavaClass_ClassImport() {
- return (EReference)javaClassEClass.getEStructuralFeatures().get(4);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EReference getJavaClass_PackageImports() {
- return (EReference)javaClassEClass.getEStructuralFeatures().get(5);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EReference getJavaClass_Fields() {
- return (EReference)javaClassEClass.getEStructuralFeatures().get(6);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EReference getJavaClass_Methods() {
- return (EReference)javaClassEClass.getEStructuralFeatures().get(7);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EReference getJavaClass_Initializers() {
- return (EReference)javaClassEClass.getEStructuralFeatures().get(8);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EReference getJavaClass_DeclaringClass() {
- return (EReference)javaClassEClass.getEStructuralFeatures().get(10);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EReference getJavaClass_DeclaredClasses() {
- return (EReference)javaClassEClass.getEStructuralFeatures().get(9);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EReference getJavaClass_JavaPackage() {
- return (EReference)javaClassEClass.getEStructuralFeatures().get(11);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EReference getJavaClass_Events() {
- return (EReference)javaClassEClass.getEStructuralFeatures().get(12);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EReference getJavaClass_AllEvents() {
- return (EReference)javaClassEClass.getEStructuralFeatures().get(13);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EClass getField() {
- return fieldEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getField_Final() {
- return (EAttribute)fieldEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getField_Static() {
- return (EAttribute)fieldEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EAttribute getField_JavaVisibility() {
- return (EAttribute)fieldEClass.getEStructuralFeatures().get(2);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getField_Transient() {
- return (EAttribute)fieldEClass.getEStructuralFeatures().get(3);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getField_Volatile() {
- return (EAttribute)fieldEClass.getEStructuralFeatures().get(4);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EReference getField_JavaClass() {
- return (EReference)fieldEClass.getEStructuralFeatures().get(5);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EReference getField_Initializer() {
- return (EReference)fieldEClass.getEStructuralFeatures().get(6);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EClass getMethod() {
- return methodEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getMethod_Abstract() {
- return (EAttribute)methodEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getMethod_Native() {
- return (EAttribute)methodEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getMethod_Synchronized() {
- return (EAttribute)methodEClass.getEStructuralFeatures().get(2);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getMethod_Final() {
- return (EAttribute)methodEClass.getEStructuralFeatures().get(3);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getMethod_Constructor() {
- return (EAttribute)methodEClass.getEStructuralFeatures().get(4);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getMethod_Static() {
- return (EAttribute)methodEClass.getEStructuralFeatures().get(5);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EAttribute getMethod_JavaVisibility() {
- return (EAttribute)methodEClass.getEStructuralFeatures().get(6);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EReference getMethod_Parameters() {
- return (EReference)methodEClass.getEStructuralFeatures().get(7);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EReference getMethod_JavaExceptions() {
- return (EReference)methodEClass.getEStructuralFeatures().get(8);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EReference getMethod_JavaClass() {
- return (EReference)methodEClass.getEStructuralFeatures().get(9);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EReference getMethod_Source() {
- return (EReference)methodEClass.getEStructuralFeatures().get(10);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EClass getJavaParameter() {
- return javaParameterEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getJavaParameter_Final() {
- return (EAttribute)javaParameterEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EAttribute getJavaParameter_ParameterKind() {
- return (EAttribute)javaParameterEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EClass getArrayType() {
- return arrayTypeEClass;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EAttribute getArrayType_ArrayDimensions() {
- return (EAttribute)arrayTypeEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EReference getArrayType_ComponentType() {
- return (EReference)arrayTypeEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EClass getJavaDataType() {
- return javaDataTypeEClass;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EClass getJavaEvent() {
- return javaEventEClass;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EClass getJavaPackage() {
- return javaPackageEClass;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EReference getJavaPackage_JavaClasses() {
- return (EReference)javaPackageEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EClass getBlock() {
- return blockEClass;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EAttribute getBlock_Source() {
- return (EAttribute)blockEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EAttribute getBlock_Name() {
- return (EAttribute)blockEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EReference getBlock_Contents() {
- return (EReference)blockEClass.getEStructuralFeatures().get(2);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EClass getComment() {
- return commentEClass;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EClass getStatement() {
- return statementEClass;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EClass getInitializer() {
- return initializerEClass;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EAttribute getInitializer_IsStatic() {
- return (EAttribute)initializerEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EReference getInitializer_JavaClass() {
- return (EReference)initializerEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EReference getInitializer_Source() {
- return (EReference)initializerEClass.getEStructuralFeatures().get(2);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EEnum getJavaVisibilityKind() {
- return javaVisibilityKindEEnum;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EEnum getJavaParameterKind() {
- return javaParameterKindEEnum;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EEnum getTypeKind() {
- return typeKindEEnum;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EDataType getJTypeList() {
- return jTypeListEDataType;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EDataType getJTypeJavaHelpers() {
- return jTypeJavaHelpersEDataType;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public JavaRefFactory getJavaRefFactory() {
- return (JavaRefFactory)getEFactoryInstance();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private boolean isCreated = false;
-
- /**
- * Creates the meta-model objects for the package. This method is
- * guarded to have no affect on any invocation but its first.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void createPackageContents() {
- if (isCreated) return;
- isCreated = true;
-
- // Create classes and their features
- javaClassEClass = createEClass(JAVA_CLASS);
- createEAttribute(javaClassEClass, JAVA_CLASS__KIND);
- createEAttribute(javaClassEClass, JAVA_CLASS__PUBLIC);
- createEAttribute(javaClassEClass, JAVA_CLASS__FINAL);
- createEReference(javaClassEClass, JAVA_CLASS__IMPLEMENTS_INTERFACES);
- createEReference(javaClassEClass, JAVA_CLASS__CLASS_IMPORT);
- createEReference(javaClassEClass, JAVA_CLASS__PACKAGE_IMPORTS);
- createEReference(javaClassEClass, JAVA_CLASS__FIELDS);
- createEReference(javaClassEClass, JAVA_CLASS__METHODS);
- createEReference(javaClassEClass, JAVA_CLASS__INITIALIZERS);
- createEReference(javaClassEClass, JAVA_CLASS__DECLARED_CLASSES);
- createEReference(javaClassEClass, JAVA_CLASS__DECLARING_CLASS);
- createEReference(javaClassEClass, JAVA_CLASS__JAVA_PACKAGE);
- createEReference(javaClassEClass, JAVA_CLASS__EVENTS);
- createEReference(javaClassEClass, JAVA_CLASS__ALL_EVENTS);
-
- initializerEClass = createEClass(INITIALIZER);
- createEAttribute(initializerEClass, INITIALIZER__IS_STATIC);
- createEReference(initializerEClass, INITIALIZER__JAVA_CLASS);
- createEReference(initializerEClass, INITIALIZER__SOURCE);
-
- javaParameterEClass = createEClass(JAVA_PARAMETER);
- createEAttribute(javaParameterEClass, JAVA_PARAMETER__FINAL);
- createEAttribute(javaParameterEClass, JAVA_PARAMETER__PARAMETER_KIND);
-
- methodEClass = createEClass(METHOD);
- createEAttribute(methodEClass, METHOD__ABSTRACT);
- createEAttribute(methodEClass, METHOD__NATIVE);
- createEAttribute(methodEClass, METHOD__SYNCHRONIZED);
- createEAttribute(methodEClass, METHOD__FINAL);
- createEAttribute(methodEClass, METHOD__CONSTRUCTOR);
- createEAttribute(methodEClass, METHOD__STATIC);
- createEAttribute(methodEClass, METHOD__JAVA_VISIBILITY);
- createEReference(methodEClass, METHOD__PARAMETERS);
- createEReference(methodEClass, METHOD__JAVA_EXCEPTIONS);
- createEReference(methodEClass, METHOD__JAVA_CLASS);
- createEReference(methodEClass, METHOD__SOURCE);
-
- fieldEClass = createEClass(FIELD);
- createEAttribute(fieldEClass, FIELD__FINAL);
- createEAttribute(fieldEClass, FIELD__STATIC);
- createEAttribute(fieldEClass, FIELD__JAVA_VISIBILITY);
- createEAttribute(fieldEClass, FIELD__TRANSIENT);
- createEAttribute(fieldEClass, FIELD__VOLATILE);
- createEReference(fieldEClass, FIELD__JAVA_CLASS);
- createEReference(fieldEClass, FIELD__INITIALIZER);
-
- blockEClass = createEClass(BLOCK);
- createEAttribute(blockEClass, BLOCK__SOURCE);
- createEAttribute(blockEClass, BLOCK__NAME);
- createEReference(blockEClass, BLOCK__CONTENTS);
-
- commentEClass = createEClass(COMMENT);
-
- statementEClass = createEClass(STATEMENT);
-
- javaPackageEClass = createEClass(JAVA_PACKAGE);
- createEReference(javaPackageEClass, JAVA_PACKAGE__JAVA_CLASSES);
-
- javaDataTypeEClass = createEClass(JAVA_DATA_TYPE);
-
- arrayTypeEClass = createEClass(ARRAY_TYPE);
- createEAttribute(arrayTypeEClass, ARRAY_TYPE__ARRAY_DIMENSIONS);
- createEReference(arrayTypeEClass, ARRAY_TYPE__COMPONENT_TYPE);
-
- javaEventEClass = createEClass(JAVA_EVENT);
-
- // Create enums
- typeKindEEnum = createEEnum(TYPE_KIND);
- javaVisibilityKindEEnum = createEEnum(JAVA_VISIBILITY_KIND);
- javaParameterKindEEnum = createEEnum(JAVA_PARAMETER_KIND);
-
- // Create data types
- jTypeJavaHelpersEDataType = createEDataType(JTYPE_JAVA_HELPERS);
- jTypeListEDataType = createEDataType(JTYPE_LIST);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private boolean isInitialized = false;
-
- /**
- * Complete the initialization of the package and its meta-model. This
- * method is guarded to have no affect on any invocation but its first.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void initializePackageContents() {
- if (isInitialized) return;
- isInitialized = true;
-
- // Initialize package
- setName(eNAME);
- setNsPrefix(eNS_PREFIX);
- setNsURI(eNS_URI);
-
- // Obtain other dependent packages
- EcorePackageImpl theEcorePackage = (EcorePackageImpl)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
-
- // Add supertypes to classes
- javaClassEClass.getESuperTypes().add(theEcorePackage.getEClass());
- javaParameterEClass.getESuperTypes().add(theEcorePackage.getEParameter());
- methodEClass.getESuperTypes().add(theEcorePackage.getEOperation());
- fieldEClass.getESuperTypes().add(theEcorePackage.getETypedElement());
- commentEClass.getESuperTypes().add(this.getBlock());
- statementEClass.getESuperTypes().add(this.getBlock());
- javaPackageEClass.getESuperTypes().add(theEcorePackage.getEPackage());
- javaDataTypeEClass.getESuperTypes().add(theEcorePackage.getEClass());
- arrayTypeEClass.getESuperTypes().add(this.getJavaClass());
- javaEventEClass.getESuperTypes().add(theEcorePackage.getEStructuralFeature());
-
- // Initialize classes and features; add operations and parameters
- initEClass(javaClassEClass, JavaClass.class, "JavaClass", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEAttribute(getJavaClass_Kind(), this.getTypeKind(), "kind", null, 0, 1, JavaClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getJavaClass_Public(), ecorePackage.getEBoolean(), "public", null, 0, 1, JavaClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getJavaClass_Final(), ecorePackage.getEBoolean(), "final", null, 0, 1, JavaClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getJavaClass_ImplementsInterfaces(), this.getJavaClass(), null, "implementsInterfaces", null, 0, -1, JavaClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getJavaClass_ClassImport(), this.getJavaClass(), null, "classImport", null, 0, -1, JavaClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getJavaClass_PackageImports(), this.getJavaPackage(), null, "packageImports", null, 0, -1, JavaClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getJavaClass_Fields(), this.getField(), this.getField_JavaClass(), "fields", null, 0, -1, JavaClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getJavaClass_Methods(), this.getMethod(), this.getMethod_JavaClass(), "methods", null, 0, -1, JavaClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getJavaClass_Initializers(), this.getInitializer(), this.getInitializer_JavaClass(), "initializers", null, 0, -1, JavaClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getJavaClass_DeclaredClasses(), this.getJavaClass(), this.getJavaClass_DeclaringClass(), "declaredClasses", null, 0, -1, JavaClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getJavaClass_DeclaringClass(), this.getJavaClass(), this.getJavaClass_DeclaredClasses(), "declaringClass", null, 0, 1, JavaClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getJavaClass_JavaPackage(), this.getJavaPackage(), this.getJavaPackage_JavaClasses(), "javaPackage", null, 0, 1, JavaClass.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getJavaClass_Events(), this.getJavaEvent(), null, "events", null, 0, -1, JavaClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getJavaClass_AllEvents(), this.getJavaEvent(), null, "allEvents", null, 0, -1, JavaClass.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
- addEOperation(javaClassEClass, ecorePackage.getEBoolean(), "isNested");
-
- EOperation op = addEOperation(javaClassEClass, this.getField(), "getField");
- addEParameter(op, ecorePackage.getEString(), "fieldName");
-
- op = addEOperation(javaClassEClass, this.getField(), "getFieldExtended");
- addEParameter(op, ecorePackage.getEString(), "fieldName");
-
- op = addEOperation(javaClassEClass, this.getField(), "getFieldNamed");
- addEParameter(op, ecorePackage.getEString(), "fieldName");
-
- addEOperation(javaClassEClass, this.getJTypeList(), "getFieldsExtended");
-
- op = addEOperation(javaClassEClass, this.getMethod(), "getMethod");
- addEParameter(op, ecorePackage.getEString(), "methodName");
- addEParameter(op, this.getJTypeList(), "parameterTypes");
-
- addEOperation(javaClassEClass, this.getJTypeList(), "getMethodElementSignatures");
-
- op = addEOperation(javaClassEClass, this.getMethod(), "getMethodExtended");
- addEParameter(op, ecorePackage.getEString(), "methodName");
- addEParameter(op, this.getJTypeList(), "parameterTypes");
-
- addEOperation(javaClassEClass, this.getJTypeList(), "getMethodsExtended");
-
- op = addEOperation(javaClassEClass, this.getJTypeList(), "getOnlySpecificMethods");
- addEParameter(op, ecorePackage.getEString(), "aMethodNamePrefix");
- addEParameter(op, this.getJTypeList(), "excludedNames");
-
- op = addEOperation(javaClassEClass, this.getMethod(), "getPublicMethod");
- addEParameter(op, ecorePackage.getEString(), "methodName");
- addEParameter(op, this.getJTypeList(), "parameterTypes");
-
- addEOperation(javaClassEClass, this.getJTypeList(), "getPublicMethods");
-
- addEOperation(javaClassEClass, this.getJTypeList(), "getPublicMethodsExtended");
-
- op = addEOperation(javaClassEClass, this.getJTypeList(), "getPublicMethodsNamed");
- addEParameter(op, ecorePackage.getEString(), "name");
-
- addEOperation(javaClassEClass, this.getJavaClass(), "getSupertype");
-
- op = addEOperation(javaClassEClass, ecorePackage.getEBoolean(), "implementsInterface");
- addEParameter(op, this.getJavaClass(), "interfaceType");
-
- addEOperation(javaClassEClass, ecorePackage.getEString(), "infoString");
-
- op = addEOperation(javaClassEClass, ecorePackage.getEBoolean(), "inheritsFrom");
- addEParameter(op, this.getJavaClass(), "javaClass");
-
- addEOperation(javaClassEClass, ecorePackage.getEBoolean(), "isExistingType");
-
- addEOperation(javaClassEClass, ecorePackage.getEBoolean(), "isInterface");
-
- op = addEOperation(javaClassEClass, null, "setSupertype");
- addEParameter(op, this.getJavaClass(), "javaclass");
-
- initEClass(initializerEClass, Initializer.class, "Initializer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEAttribute(getInitializer_IsStatic(), ecorePackage.getEBooleanObject(), "isStatic", null, 0, 1, Initializer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getInitializer_JavaClass(), this.getJavaClass(), this.getJavaClass_Initializers(), "javaClass", null, 0, 1, Initializer.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getInitializer_Source(), this.getBlock(), null, "source", null, 0, 1, Initializer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
- initEClass(javaParameterEClass, JavaParameter.class, "JavaParameter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEAttribute(getJavaParameter_Final(), ecorePackage.getEBoolean(), "final", null, 0, 1, JavaParameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getJavaParameter_ParameterKind(), this.getJavaParameterKind(), "parameterKind", null, 0, 1, JavaParameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
- addEOperation(javaParameterEClass, ecorePackage.getEBoolean(), "isArray");
-
- addEOperation(javaParameterEClass, ecorePackage.getEBoolean(), "isReturn");
-
- addEOperation(javaParameterEClass, this.getJTypeJavaHelpers(), "getJavaType");
-
- addEOperation(javaParameterEClass, ecorePackage.getEString(), "getQualifiedName");
-
- initEClass(methodEClass, Method.class, "Method", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEAttribute(getMethod_Abstract(), ecorePackage.getEBoolean(), "abstract", null, 0, 1, Method.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getMethod_Native(), ecorePackage.getEBoolean(), "native", null, 0, 1, Method.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getMethod_Synchronized(), ecorePackage.getEBoolean(), "synchronized", null, 0, 1, Method.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getMethod_Final(), ecorePackage.getEBoolean(), "final", null, 0, 1, Method.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getMethod_Constructor(), ecorePackage.getEBoolean(), "constructor", null, 0, 1, Method.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getMethod_Static(), ecorePackage.getEBoolean(), "static", null, 0, 1, Method.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getMethod_JavaVisibility(), this.getJavaVisibilityKind(), "javaVisibility", null, 0, 1, Method.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getMethod_Parameters(), this.getJavaParameter(), null, "parameters", null, 0, -1, Method.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getMethod_JavaExceptions(), this.getJavaClass(), null, "javaExceptions", null, 0, -1, Method.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getMethod_JavaClass(), this.getJavaClass(), this.getJavaClass_Methods(), "javaClass", null, 0, 1, Method.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getMethod_Source(), this.getBlock(), null, "source", null, 0, 1, Method.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
- addEOperation(methodEClass, this.getJavaClass(), "getContainingJavaClass");
-
- addEOperation(methodEClass, ecorePackage.getEString(), "getMethodElementSignature");
-
- op = addEOperation(methodEClass, this.getJavaParameter(), "getParameter");
- addEParameter(op, ecorePackage.getEString(), "parameterName");
-
- addEOperation(methodEClass, this.getJTypeJavaHelpers(), "getReturnType");
-
- op = addEOperation(methodEClass, null, "setReturnType");
- addEParameter(op, this.getJTypeJavaHelpers(), "type");
-
- addEOperation(methodEClass, ecorePackage.getEString(), "getSignature");
-
- addEOperation(methodEClass, ecorePackage.getEBoolean(), "isGenerated");
-
- op = addEOperation(methodEClass, null, "setIsGenerated");
- addEParameter(op, ecorePackage.getEBoolean(), "generated");
-
- addEOperation(methodEClass, ecorePackage.getEBoolean(), "isVoid");
-
- initEClass(fieldEClass, Field.class, "Field", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEAttribute(getField_Final(), ecorePackage.getEBoolean(), "final", null, 0, 1, Field.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getField_Static(), ecorePackage.getEBoolean(), "static", null, 0, 1, Field.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getField_JavaVisibility(), this.getJavaVisibilityKind(), "javaVisibility", null, 0, 1, Field.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getField_Transient(), ecorePackage.getEBoolean(), "transient", null, 0, 1, Field.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getField_Volatile(), ecorePackage.getEBoolean(), "volatile", null, 0, 1, Field.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getField_JavaClass(), this.getJavaClass(), this.getJavaClass_Fields(), "javaClass", null, 0, 1, Field.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getField_Initializer(), this.getBlock(), null, "initializer", null, 0, 1, Field.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
- addEOperation(fieldEClass, this.getJavaClass(), "getContainingJavaClass");
-
- addEOperation(fieldEClass, ecorePackage.getEBoolean(), "isArray");
-
- initEClass(blockEClass, Block.class, "Block", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEAttribute(getBlock_Source(), ecorePackage.getEString(), "source", null, 0, 1, Block.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getBlock_Name(), ecorePackage.getEString(), "name", null, 0, 1, Block.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getBlock_Contents(), this.getBlock(), null, "contents", null, 0, -1, Block.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
- initEClass(commentEClass, Comment.class, "Comment", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-
- initEClass(statementEClass, Statement.class, "Statement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-
- initEClass(javaPackageEClass, JavaPackage.class, "JavaPackage", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEReference(getJavaPackage_JavaClasses(), this.getJavaClass(), this.getJavaClass_JavaPackage(), "javaClasses", null, 0, -1, JavaPackage.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
- initEClass(javaDataTypeEClass, JavaDataType.class, "JavaDataType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-
- addEOperation(javaDataTypeEClass, ecorePackage.getEString(), "getDefaultValueString");
-
- initEClass(arrayTypeEClass, ArrayType.class, "ArrayType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEAttribute(getArrayType_ArrayDimensions(), ecorePackage.getEInt(), "arrayDimensions", null, 0, 1, ArrayType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getArrayType_ComponentType(), theEcorePackage.getEClassifier(), null, "componentType", null, 1, 1, ArrayType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
- addEOperation(arrayTypeEClass, this.getJTypeJavaHelpers(), "getFinalComponentType");
-
- addEOperation(arrayTypeEClass, this.getJTypeJavaHelpers(), "getComponentTypeAsHelper");
-
- addEOperation(arrayTypeEClass, ecorePackage.getEBoolean(), "isPrimitiveArray");
-
- op = addEOperation(arrayTypeEClass, null, "setComponentType");
- addEParameter(op, this.getJTypeJavaHelpers(), "helperComponentType");
-
- initEClass(javaEventEClass, JavaEvent.class, "JavaEvent", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-
- // Initialize enums and add enum literals
- initEEnum(typeKindEEnum, TypeKind.class, "TypeKind");
- addEEnumLiteral(typeKindEEnum, TypeKind.UNDEFINED_LITERAL);
- addEEnumLiteral(typeKindEEnum, TypeKind.CLASS_LITERAL);
- addEEnumLiteral(typeKindEEnum, TypeKind.INTERFACE_LITERAL);
- addEEnumLiteral(typeKindEEnum, TypeKind.EXCEPTION_LITERAL);
-
- initEEnum(javaVisibilityKindEEnum, JavaVisibilityKind.class, "JavaVisibilityKind");
- addEEnumLiteral(javaVisibilityKindEEnum, JavaVisibilityKind.PUBLIC_LITERAL);
- addEEnumLiteral(javaVisibilityKindEEnum, JavaVisibilityKind.PRIVATE_LITERAL);
- addEEnumLiteral(javaVisibilityKindEEnum, JavaVisibilityKind.PROTECTED_LITERAL);
- addEEnumLiteral(javaVisibilityKindEEnum, JavaVisibilityKind.PACKAGE_LITERAL);
-
- initEEnum(javaParameterKindEEnum, JavaParameterKind.class, "JavaParameterKind");
- addEEnumLiteral(javaParameterKindEEnum, JavaParameterKind.IN_LITERAL);
- addEEnumLiteral(javaParameterKindEEnum, JavaParameterKind.OUT_LITERAL);
- addEEnumLiteral(javaParameterKindEEnum, JavaParameterKind.INOUT_LITERAL);
- addEEnumLiteral(javaParameterKindEEnum, JavaParameterKind.RETURN_LITERAL);
-
- // Initialize data types
- initEDataType(jTypeJavaHelpersEDataType, JavaHelpers.class, "JTypeJavaHelpers", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
- initEDataType(jTypeListEDataType, List.class, "JTypeList", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
-
- // Create resource
- createResource(eNS_URI);
- }
-
-} //JavaRefPackageImpl
-
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/MethodImpl.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/MethodImpl.java
deleted file mode 100644
index 0c622e9a8..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/MethodImpl.java
+++ /dev/null
@@ -1,1133 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.java.impl;
-
-/*
- * $RCSfile: MethodImpl.java,v $
- * $Revision: 1.10 $ $Date: 2005/05/11 22:41:06 $
- */
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EOperationImpl;
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.EObjectResolvingEList;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.java.Block;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaHelpers;
-import org.eclipse.jem.java.JavaParameter;
-import org.eclipse.jem.java.JavaRefPackage;
-import org.eclipse.jem.java.JavaVisibilityKind;
-import org.eclipse.jem.java.Method;
-
-
-import org.eclipse.jem.internal.java.adapters.IJavaMethodAdapter;
-import org.eclipse.jem.internal.java.adapters.ReadAdaptor;
-
-/**
- * @generated
- */
-public class MethodImpl extends EOperationImpl implements Method {
-
- protected String signature;
-
- /**
- * The default value of the '{@link #isAbstract() <em>Abstract</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isAbstract()
- * @generated
- * @ordered
- */
- protected static final boolean ABSTRACT_EDEFAULT = false;
-
- /**
- * The cached value of the '{@link #isAbstract() <em>Abstract</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isAbstract()
- * @generated
- * @ordered
- */
- protected boolean abstract_ = ABSTRACT_EDEFAULT;
-
- /**
- * The default value of the '{@link #isNative() <em>Native</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isNative()
- * @generated
- * @ordered
- */
- protected static final boolean NATIVE_EDEFAULT = false;
-
- /**
- * The cached value of the '{@link #isNative() <em>Native</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isNative()
- * @generated
- * @ordered
- */
- protected boolean native_ = NATIVE_EDEFAULT;
-
- /**
- * The default value of the '{@link #isSynchronized() <em>Synchronized</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSynchronized()
- * @generated
- * @ordered
- */
- protected static final boolean SYNCHRONIZED_EDEFAULT = false;
-
- /**
- * The cached value of the '{@link #isSynchronized() <em>Synchronized</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSynchronized()
- * @generated
- * @ordered
- */
- protected boolean synchronized_ = SYNCHRONIZED_EDEFAULT;
-
- /**
- * The default value of the '{@link #isFinal() <em>Final</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isFinal()
- * @generated
- * @ordered
- */
- protected static final boolean FINAL_EDEFAULT = false;
-
- /**
- * The cached value of the '{@link #isFinal() <em>Final</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isFinal()
- * @generated
- * @ordered
- */
- protected boolean final_ = FINAL_EDEFAULT;
-
- /**
- * The default value of the '{@link #isConstructor() <em>Constructor</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isConstructor()
- * @generated
- * @ordered
- */
- protected static final boolean CONSTRUCTOR_EDEFAULT = false;
-
- /**
- * The cached value of the '{@link #isConstructor() <em>Constructor</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isConstructor()
- * @generated
- * @ordered
- */
- protected boolean constructor = CONSTRUCTOR_EDEFAULT;
-
- /**
- * The default value of the '{@link #isStatic() <em>Static</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isStatic()
- * @generated
- * @ordered
- */
- protected static final boolean STATIC_EDEFAULT = false;
-
- /**
- * The cached value of the '{@link #isStatic() <em>Static</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isStatic()
- * @generated
- * @ordered
- */
- protected boolean static_ = STATIC_EDEFAULT;
-
- /**
- * The default value of the '{@link #getJavaVisibility() <em>Java Visibility</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getJavaVisibility()
- * @generated
- * @ordered
- */
- protected static final JavaVisibilityKind JAVA_VISIBILITY_EDEFAULT = JavaVisibilityKind.PUBLIC_LITERAL;
-
- private transient boolean isGenerated = false;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected JavaVisibilityKind javaVisibility = JAVA_VISIBILITY_EDEFAULT;
-
- /**
- * The cached value of the '{@link #getParameters() <em>Parameters</em>}' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getParameters()
- * @generated
- * @ordered
- */
- protected EList parameters = null;
-
- /**
- * The cached value of the '{@link #getJavaExceptions() <em>Java Exceptions</em>}' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getJavaExceptions()
- * @generated
- * @ordered
- */
- protected EList javaExceptions = null;
-
- /**
- * The cached value of the '{@link #getSource() <em>Source</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getSource()
- * @generated
- * @ordered
- */
- protected Block source = null;
-
- protected MethodImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return JavaRefPackage.eINSTANCE.getMethod();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isAbstractGen() {
- return abstract_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setAbstract(boolean newAbstract) {
- boolean oldAbstract = abstract_;
- abstract_ = newAbstract;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.METHOD__ABSTRACT, oldAbstract, abstract_));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isNativeGen() {
- return native_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setNative(boolean newNative) {
- boolean oldNative = native_;
- native_ = newNative;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.METHOD__NATIVE, oldNative, native_));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSynchronizedGen() {
- return synchronized_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setSynchronized(boolean newSynchronized) {
- boolean oldSynchronized = synchronized_;
- synchronized_ = newSynchronized;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.METHOD__SYNCHRONIZED, oldSynchronized, synchronized_));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isFinalGen() {
- return final_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setFinal(boolean newFinal) {
- boolean oldFinal = final_;
- final_ = newFinal;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.METHOD__FINAL, oldFinal, final_));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isConstructorGen() {
- return constructor;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setConstructor(boolean newConstructor) {
- boolean oldConstructor = constructor;
- constructor = newConstructor;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.METHOD__CONSTRUCTOR, oldConstructor, constructor));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isStaticGen() {
- return static_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setStatic(boolean newStatic) {
- boolean oldStatic = static_;
- static_ = newStatic;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.METHOD__STATIC, oldStatic, static_));
- }
-
- /**
- * Return the java class that this method is defined in.
- */
- public JavaClass getContainingJavaClass() {
- return this.getJavaClass();
- }
-
- /**
- * Overrides to ensure reflection is done.
- */
- public boolean isAbstract() {
- reflectValues();
- return isAbstractGen();
- }
-
- public boolean isConstructor() {
- reflectValues();
- return isConstructorGen();
- }
-
- public boolean isFinal() {
- reflectValues();
- return isFinalGen();
- }
-
- public boolean isNative() {
- reflectValues();
- return isNativeGen();
- }
-
- public boolean isStatic() {
- reflectValues();
- return isStaticGen();
- }
-
- public boolean isSynchronized() {
- reflectValues();
- return isSynchronizedGen();
- }
-
- public EList getJavaExceptions() {
- reflectValues();
- return getJavaExceptionsGen();
- }
-
- public JavaVisibilityKind getJavaVisibility() {
- reflectValues();
- return getJavaVisibilityGen();
- }
-
- public EList getParameters() {
- reflectValues();
- return getParametersGen();
- }
-
- /**
- * @see org.eclipse.emf.ecore.ETypedElement#getEType()
- */
- public EClassifier getEType() {
- reflectValues();
- return super.getEType();
- }
-
- /**
- * Return a String with the the method name and its parameters. e.g. <code> setFirstName(java.lang.String) <//code> .
- *
- */
- public String getMethodElementSignature() {
- StringBuffer sb = new StringBuffer(75);
- sb.append(getName());
- sb.append("(");
- List params = getParameters();
- JavaParameter param;
- int parmSize = params.size();
- int commaTest = 0;
- for (int j = 0; j < parmSize; j++) {
- if (j > commaTest) {
- sb.append(",");
- }
- param = (JavaParameter) params.get(j);
- //FB if (param.isReturn()) {
- //FB commaTest ++;
- //FB continue;
- //FB }
- sb.append(((JavaHelpers) param.getEType()).getQualifiedName());
- }
- sb.append(")");
- return sb.toString();
- }
-
- /**
- * Return a Parameter with the passed name, or null.
- */
- public JavaParameter getParameter(String parameterName) {
- List parms = getParameters();
- JavaParameter parm;
- int parmSize = parms.size();
- for (int j = 0; j < parmSize; j++) {
- parm = (JavaParameter) parms.get(j);
- if (parm.getName().equals(parameterName))
- return parm;
- }
- return null;
- }
-
- private static final int NOT_REFLECTED = 0x0, REFLECTED_BASE = 0x1, REFLECTED_GENERATED = 0x2;
-
- protected int reflectionStatus = NOT_REFLECTED;
-
- protected void reflectValues() {
- // We only want the testing of the hasReflected and get readadapter to be sync(this) so that
- // it is short and no deadlock possibility (this is because the the method reflection adapter may go
- // back to the containing java class to get its reflection adapter, which would lock on itself. So
- // we need to keep the sections that are sync(this) to not be deadlockable by not doing significant work
- // during the sync.
- ReadAdaptor readAdaptor = null;
- synchronized (this) {
- if ((reflectionStatus & REFLECTED_BASE) == 0) {
- readAdaptor = getReadAdapter();
- }
- }
- if (readAdaptor != null) {
- boolean setReflected = readAdaptor.reflectValuesIfNecessary();
- synchronized (this) {
- // Don't want to set it false. That is job of reflection adapter. Otherwise we could have a race.
- if (setReflected)
- reflectionStatus |= REFLECTED_BASE;
- }
- }
- }
-
- /*
- * This is not meant to be used outside of the reflection adapters.
- */
- public synchronized ReadAdaptor getReadAdapter() {
- return (ReadAdaptor) EcoreUtil.getRegisteredAdapter(this, ReadAdaptor.TYPE_KEY);
- }
-
- /*
- * Used by reflection adapter to clear the reflection. This not intended to be used by others.
- */
- public synchronized void setReflected(boolean reflected) {
- if (!reflected)
- reflectionStatus = NOT_REFLECTED;
- }
-
- /**
- * Get the return type.
- */
- public JavaHelpers getReturnType() {
- return (JavaHelpers) getEType();
- }
-
- public String getSignature() {
- if (signature == null)
- signature = doGetSignature();
- return signature;
- }
-
- /**
- * Replicate the functionality of java.lang.reflect.Method.toString().
- *
- * Returns a string describing this Method. The string is formatted as the method access modifiers, if any, followed by the method return type,
- * followed by a space, followed by the class declaring the method, followed by a period, followed by the method name, followed by a
- * parenthesized, comma-separated list of the method's formal parameter types. If the method throws checked exceptions, the parameter list is
- * followed by a space, followed by the word throws followed by a comma-separated list of the thrown exception types.
- *
- * For example:
- *
- * public boolean java.lang.Object.equals(java.lang.Object)
- *
- * The access modifiers are placed in canonical order as specified by "The Java Language Specification". This is public,
- * <tt>protected<//tt> or <tt>private<//tt> first, and then other modifiers in the following order: <tt>abstract<//tt>, <tt>static<//tt>, <tt>final<//tt>, <tt>synchronized<//tt> <tt>native<//tt>.
-
- */
- protected String doGetSignature() {
- StringBuffer sb = new StringBuffer();
- switch (getJavaVisibility().getValue()) {
- case JavaVisibilityKind.PUBLIC:
- sb.append("Public ");
- break;
- case JavaVisibilityKind.PROTECTED:
- sb.append("Protected ");
- break;
- case JavaVisibilityKind.PRIVATE:
- sb.append("Private ");
- break;
- case JavaVisibilityKind.PACKAGE:
- sb.append("Package ");
- break;
- }
- if (isAbstract())
- sb.append("abstract ");
- if (isStatic())
- sb.append("static ");
- if (isFinal())
- sb.append("final ");
- if (isSynchronized())
- sb.append("synchronized ");
- if (isNative())
- sb.append("native ");
- if (isVoid())
- sb.append("void ");
- else
- sb.append(getReturnType().getQualifiedName() + " ");
- sb.append(getContainingJavaClass().getJavaName() + ".");
- sb.append(getName() + "(");
- List params = getParameters();
- JavaParameter param;
- int parmSize = params.size();
- for (int j = 0; j < parmSize; j++) {
- param = (JavaParameter) params.get(j);
- //FB if (param.isReturn())
- //FB continue; // listParameters() includes return type in array
- sb.append(((JavaHelpers) param.getEType()).getQualifiedName());
- if (j < (params.size() - 1)) {
- sb.append(",");
- }
- }
- sb.append(")");
- List exceptions = getJavaExceptions();
- JavaClass exception;
- if (exceptions.size() > 0) {
- sb.append(" throws ");
- for (int k = 0; k < exceptions.size(); k++) {
- exception = (JavaClass) exceptions.get(k);
- sb.append(exception.getJavaName());
- if (k < (exceptions.size() - 1)) {
- sb.append(",");
- }
- }
- }
- return sb.toString();
- }
-
- protected void reflectGenerated() {
- // We only want the testing of the hasReflected and get readadapter to be sync(this) so that
- // it is short and no deadlock possibility (this is because the the method reflection adapter may go
- // back to the containing java class to get its reflection adapter, which would lock on itself. So
- // we need to keep the sections that are sync(this) to not be deadlockable by not doing significant work
- // during the sync.
- ReadAdaptor readAdaptor = null;
- synchronized (this) {
- if ((reflectionStatus & REFLECTED_GENERATED) == 0) {
- readAdaptor = getReadAdapter();
- }
- }
- if (readAdaptor != null) {
- boolean setReflected = ((IJavaMethodAdapter) readAdaptor).reflectGeneratedIfNecessary();
- synchronized (this) {
- // Don't want to set it false. That is job of reflection adapter. Otherwise we could have a race.
- if (setReflected)
- reflectionStatus |= (REFLECTED_GENERATED | REFLECTED_BASE); // We can be certain base will be done by reflect generated if not already
- // done.
- }
- }
- }
-
- /**
- * Returns true if the method is system generated. This is usually determined by the "generated" tag in the comment.
- */
- public boolean isGenerated() {
- reflectGenerated();
- return isGenerated;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- */
- public boolean isGeneratedGen() {
- // Ensure that you remove @generated or mark it @generated NOT
- throw new UnsupportedOperationException();
- }
-
- /**
- * Is this a void return type method.
- */
- public boolean isVoid() {
- //FB return (getReturnParameter() == null || "void".equals(getReturnType().getName()));
- return (getReturnType() == null || "void".equals(getReturnType().getName()));
- }
-
- public JavaParameter[] listParametersWithoutReturn() {
- Collection v = getParameters();
- JavaParameter[] result = new JavaParameter[v.size()];
- v.toArray(result);
- return result;
- }
-
- public EList eContents() {
- EList results = new BasicEList();
- results.addAll(getParametersGen()); //FB
- return results;
- }
-
- /**
- * Set the isGenerated flag.
- */
- public void setIsGenerated(boolean generated) {
- isGenerated = generated;
- }
-
- /**
- * Set the return type
- */
- public void setReturnType(JavaHelpers type) {
- this.setEType(type);
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- public JavaVisibilityKind getJavaVisibilityGen() {
- return javaVisibility;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setJavaVisibility(JavaVisibilityKind newJavaVisibility) {
- JavaVisibilityKind oldJavaVisibility = javaVisibility;
- javaVisibility = newJavaVisibility == null ? JAVA_VISIBILITY_EDEFAULT : newJavaVisibility;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.METHOD__JAVA_VISIBILITY, oldJavaVisibility, javaVisibility));
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- public JavaClass getJavaClass() {
- if (eContainerFeatureID != JavaRefPackage.METHOD__JAVA_CLASS) return null;
- return (JavaClass)eContainer;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setJavaClass(JavaClass newJavaClass) {
- if (newJavaClass != eContainer || (eContainerFeatureID != JavaRefPackage.METHOD__JAVA_CLASS && newJavaClass != null)) {
- if (EcoreUtil.isAncestor(this, newJavaClass))
- throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
- NotificationChain msgs = null;
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- if (newJavaClass != null)
- msgs = ((InternalEObject)newJavaClass).eInverseAdd(this, JavaRefPackage.JAVA_CLASS__METHODS, JavaClass.class, msgs);
- msgs = eBasicSetContainer((InternalEObject)newJavaClass, JavaRefPackage.METHOD__JAVA_CLASS, msgs);
- if (msgs != null) msgs.dispatch();
- }
- else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.METHOD__JAVA_CLASS, newJavaClass, newJavaClass));
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- public Block getSource() {
- if (source != null && source.eIsProxy()) {
- Block oldSource = source;
- source = (Block)eResolveProxy((InternalEObject)source);
- if (source != oldSource) {
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, JavaRefPackage.METHOD__SOURCE, oldSource, source));
- }
- }
- return source;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Block basicGetSource() {
- return source;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setSource(Block newSource) {
- Block oldSource = source;
- source = newSource;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.METHOD__SOURCE, oldSource, source));
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case JavaRefPackage.METHOD__EANNOTATIONS:
- return eAnnotations != null && !eAnnotations.isEmpty();
- case JavaRefPackage.METHOD__NAME:
- return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
- case JavaRefPackage.METHOD__ORDERED:
- return ((eFlags & ORDERED_EFLAG) != 0) != ORDERED_EDEFAULT;
- case JavaRefPackage.METHOD__UNIQUE:
- return ((eFlags & UNIQUE_EFLAG) != 0) != UNIQUE_EDEFAULT;
- case JavaRefPackage.METHOD__LOWER_BOUND:
- return lowerBound != LOWER_BOUND_EDEFAULT;
- case JavaRefPackage.METHOD__UPPER_BOUND:
- return upperBound != UPPER_BOUND_EDEFAULT;
- case JavaRefPackage.METHOD__MANY:
- return isMany() != MANY_EDEFAULT;
- case JavaRefPackage.METHOD__REQUIRED:
- return isRequired() != REQUIRED_EDEFAULT;
- case JavaRefPackage.METHOD__ETYPE:
- return eType != null;
- case JavaRefPackage.METHOD__ECONTAINING_CLASS:
- return getEContainingClass() != null;
- case JavaRefPackage.METHOD__EPARAMETERS:
- return eParameters != null && !eParameters.isEmpty();
- case JavaRefPackage.METHOD__EEXCEPTIONS:
- return eExceptions != null && !eExceptions.isEmpty();
- case JavaRefPackage.METHOD__ABSTRACT:
- return abstract_ != ABSTRACT_EDEFAULT;
- case JavaRefPackage.METHOD__NATIVE:
- return native_ != NATIVE_EDEFAULT;
- case JavaRefPackage.METHOD__SYNCHRONIZED:
- return synchronized_ != SYNCHRONIZED_EDEFAULT;
- case JavaRefPackage.METHOD__FINAL:
- return final_ != FINAL_EDEFAULT;
- case JavaRefPackage.METHOD__CONSTRUCTOR:
- return constructor != CONSTRUCTOR_EDEFAULT;
- case JavaRefPackage.METHOD__STATIC:
- return static_ != STATIC_EDEFAULT;
- case JavaRefPackage.METHOD__JAVA_VISIBILITY:
- return javaVisibility != JAVA_VISIBILITY_EDEFAULT;
- case JavaRefPackage.METHOD__PARAMETERS:
- return parameters != null && !parameters.isEmpty();
- case JavaRefPackage.METHOD__JAVA_EXCEPTIONS:
- return javaExceptions != null && !javaExceptions.isEmpty();
- case JavaRefPackage.METHOD__JAVA_CLASS:
- return getJavaClass() != null;
- case JavaRefPackage.METHOD__SOURCE:
- return source != null;
- }
- return eDynamicIsSet(eFeature);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case JavaRefPackage.METHOD__EANNOTATIONS:
- getEAnnotations().clear();
- getEAnnotations().addAll((Collection)newValue);
- return;
- case JavaRefPackage.METHOD__NAME:
- setName((String)newValue);
- return;
- case JavaRefPackage.METHOD__ORDERED:
- setOrdered(((Boolean)newValue).booleanValue());
- return;
- case JavaRefPackage.METHOD__UNIQUE:
- setUnique(((Boolean)newValue).booleanValue());
- return;
- case JavaRefPackage.METHOD__LOWER_BOUND:
- setLowerBound(((Integer)newValue).intValue());
- return;
- case JavaRefPackage.METHOD__UPPER_BOUND:
- setUpperBound(((Integer)newValue).intValue());
- return;
- case JavaRefPackage.METHOD__ETYPE:
- setEType((EClassifier)newValue);
- return;
- case JavaRefPackage.METHOD__EPARAMETERS:
- getEParameters().clear();
- getEParameters().addAll((Collection)newValue);
- return;
- case JavaRefPackage.METHOD__EEXCEPTIONS:
- getEExceptions().clear();
- getEExceptions().addAll((Collection)newValue);
- return;
- case JavaRefPackage.METHOD__ABSTRACT:
- setAbstract(((Boolean)newValue).booleanValue());
- return;
- case JavaRefPackage.METHOD__NATIVE:
- setNative(((Boolean)newValue).booleanValue());
- return;
- case JavaRefPackage.METHOD__SYNCHRONIZED:
- setSynchronized(((Boolean)newValue).booleanValue());
- return;
- case JavaRefPackage.METHOD__FINAL:
- setFinal(((Boolean)newValue).booleanValue());
- return;
- case JavaRefPackage.METHOD__CONSTRUCTOR:
- setConstructor(((Boolean)newValue).booleanValue());
- return;
- case JavaRefPackage.METHOD__STATIC:
- setStatic(((Boolean)newValue).booleanValue());
- return;
- case JavaRefPackage.METHOD__JAVA_VISIBILITY:
- setJavaVisibility((JavaVisibilityKind)newValue);
- return;
- case JavaRefPackage.METHOD__PARAMETERS:
- getParameters().clear();
- getParameters().addAll((Collection)newValue);
- return;
- case JavaRefPackage.METHOD__JAVA_EXCEPTIONS:
- getJavaExceptions().clear();
- getJavaExceptions().addAll((Collection)newValue);
- return;
- case JavaRefPackage.METHOD__JAVA_CLASS:
- setJavaClass((JavaClass)newValue);
- return;
- case JavaRefPackage.METHOD__SOURCE:
- setSource((Block)newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case JavaRefPackage.METHOD__EANNOTATIONS:
- getEAnnotations().clear();
- return;
- case JavaRefPackage.METHOD__NAME:
- setName(NAME_EDEFAULT);
- return;
- case JavaRefPackage.METHOD__ORDERED:
- setOrdered(ORDERED_EDEFAULT);
- return;
- case JavaRefPackage.METHOD__UNIQUE:
- setUnique(UNIQUE_EDEFAULT);
- return;
- case JavaRefPackage.METHOD__LOWER_BOUND:
- setLowerBound(LOWER_BOUND_EDEFAULT);
- return;
- case JavaRefPackage.METHOD__UPPER_BOUND:
- setUpperBound(UPPER_BOUND_EDEFAULT);
- return;
- case JavaRefPackage.METHOD__ETYPE:
- setEType((EClassifier)null);
- return;
- case JavaRefPackage.METHOD__EPARAMETERS:
- getEParameters().clear();
- return;
- case JavaRefPackage.METHOD__EEXCEPTIONS:
- getEExceptions().clear();
- return;
- case JavaRefPackage.METHOD__ABSTRACT:
- setAbstract(ABSTRACT_EDEFAULT);
- return;
- case JavaRefPackage.METHOD__NATIVE:
- setNative(NATIVE_EDEFAULT);
- return;
- case JavaRefPackage.METHOD__SYNCHRONIZED:
- setSynchronized(SYNCHRONIZED_EDEFAULT);
- return;
- case JavaRefPackage.METHOD__FINAL:
- setFinal(FINAL_EDEFAULT);
- return;
- case JavaRefPackage.METHOD__CONSTRUCTOR:
- setConstructor(CONSTRUCTOR_EDEFAULT);
- return;
- case JavaRefPackage.METHOD__STATIC:
- setStatic(STATIC_EDEFAULT);
- return;
- case JavaRefPackage.METHOD__JAVA_VISIBILITY:
- setJavaVisibility(JAVA_VISIBILITY_EDEFAULT);
- return;
- case JavaRefPackage.METHOD__PARAMETERS:
- getParameters().clear();
- return;
- case JavaRefPackage.METHOD__JAVA_EXCEPTIONS:
- getJavaExceptions().clear();
- return;
- case JavaRefPackage.METHOD__JAVA_CLASS:
- setJavaClass((JavaClass)null);
- return;
- case JavaRefPackage.METHOD__SOURCE:
- setSource((Block)null);
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public String toString() {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (abstract: ");
- result.append(abstract_);
- result.append(", native: ");
- result.append(native_);
- result.append(", synchronized: ");
- result.append(synchronized_);
- result.append(", final: ");
- result.append(final_);
- result.append(", constructor: ");
- result.append(constructor);
- result.append(", static: ");
- result.append(static_);
- result.append(", javaVisibility: ");
- result.append(javaVisibility);
- result.append(')');
- return result.toString();
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- public EList getParametersGen() {
- if (parameters == null) {
- parameters = new EObjectContainmentEList(JavaParameter.class, this, JavaRefPackage.METHOD__PARAMETERS);
- }
- return parameters;
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- public EList getJavaExceptionsGen() {
- if (javaExceptions == null) {
- javaExceptions = new EObjectResolvingEList(JavaClass.class, this, JavaRefPackage.METHOD__JAVA_EXCEPTIONS);
- }
- return javaExceptions;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case JavaRefPackage.METHOD__EANNOTATIONS:
- return ((InternalEList)getEAnnotations()).basicAdd(otherEnd, msgs);
- case JavaRefPackage.METHOD__ECONTAINING_CLASS:
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, JavaRefPackage.METHOD__ECONTAINING_CLASS, msgs);
- case JavaRefPackage.METHOD__EPARAMETERS:
- return ((InternalEList)getEParameters()).basicAdd(otherEnd, msgs);
- case JavaRefPackage.METHOD__JAVA_CLASS:
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, JavaRefPackage.METHOD__JAVA_CLASS, msgs);
- default:
- return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
- }
- }
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case JavaRefPackage.METHOD__EANNOTATIONS:
- return ((InternalEList)getEAnnotations()).basicRemove(otherEnd, msgs);
- case JavaRefPackage.METHOD__ECONTAINING_CLASS:
- return eBasicSetContainer(null, JavaRefPackage.METHOD__ECONTAINING_CLASS, msgs);
- case JavaRefPackage.METHOD__EPARAMETERS:
- return ((InternalEList)getEParameters()).basicRemove(otherEnd, msgs);
- case JavaRefPackage.METHOD__PARAMETERS:
- return ((InternalEList)getParameters()).basicRemove(otherEnd, msgs);
- case JavaRefPackage.METHOD__JAVA_CLASS:
- return eBasicSetContainer(null, JavaRefPackage.METHOD__JAVA_CLASS, msgs);
- default:
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
- if (eContainerFeatureID >= 0) {
- switch (eContainerFeatureID) {
- case JavaRefPackage.METHOD__ECONTAINING_CLASS:
- return eContainer.eInverseRemove(this, EcorePackage.ECLASS__EOPERATIONS, EClass.class, msgs);
- case JavaRefPackage.METHOD__JAVA_CLASS:
- return eContainer.eInverseRemove(this, JavaRefPackage.JAVA_CLASS__METHODS, JavaClass.class, msgs);
- default:
- return eDynamicBasicRemoveFromContainer(msgs);
- }
- }
- return eContainer.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case JavaRefPackage.METHOD__EANNOTATIONS:
- return getEAnnotations();
- case JavaRefPackage.METHOD__NAME:
- return getName();
- case JavaRefPackage.METHOD__ORDERED:
- return isOrdered() ? Boolean.TRUE : Boolean.FALSE;
- case JavaRefPackage.METHOD__UNIQUE:
- return isUnique() ? Boolean.TRUE : Boolean.FALSE;
- case JavaRefPackage.METHOD__LOWER_BOUND:
- return new Integer(getLowerBound());
- case JavaRefPackage.METHOD__UPPER_BOUND:
- return new Integer(getUpperBound());
- case JavaRefPackage.METHOD__MANY:
- return isMany() ? Boolean.TRUE : Boolean.FALSE;
- case JavaRefPackage.METHOD__REQUIRED:
- return isRequired() ? Boolean.TRUE : Boolean.FALSE;
- case JavaRefPackage.METHOD__ETYPE:
- if (resolve) return getEType();
- return basicGetEType();
- case JavaRefPackage.METHOD__ECONTAINING_CLASS:
- return getEContainingClass();
- case JavaRefPackage.METHOD__EPARAMETERS:
- return getEParameters();
- case JavaRefPackage.METHOD__EEXCEPTIONS:
- return getEExceptions();
- case JavaRefPackage.METHOD__ABSTRACT:
- return isAbstract() ? Boolean.TRUE : Boolean.FALSE;
- case JavaRefPackage.METHOD__NATIVE:
- return isNative() ? Boolean.TRUE : Boolean.FALSE;
- case JavaRefPackage.METHOD__SYNCHRONIZED:
- return isSynchronized() ? Boolean.TRUE : Boolean.FALSE;
- case JavaRefPackage.METHOD__FINAL:
- return isFinal() ? Boolean.TRUE : Boolean.FALSE;
- case JavaRefPackage.METHOD__CONSTRUCTOR:
- return isConstructor() ? Boolean.TRUE : Boolean.FALSE;
- case JavaRefPackage.METHOD__STATIC:
- return isStatic() ? Boolean.TRUE : Boolean.FALSE;
- case JavaRefPackage.METHOD__JAVA_VISIBILITY:
- return getJavaVisibility();
- case JavaRefPackage.METHOD__PARAMETERS:
- return getParameters();
- case JavaRefPackage.METHOD__JAVA_EXCEPTIONS:
- return getJavaExceptions();
- case JavaRefPackage.METHOD__JAVA_CLASS:
- return getJavaClass();
- case JavaRefPackage.METHOD__SOURCE:
- if (resolve) return getSource();
- return basicGetSource();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
-}
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/StatementImpl.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/StatementImpl.java
deleted file mode 100644
index fe40d2a25..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/StatementImpl.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.java.impl;
-/*
- * $RCSfile: StatementImpl.java,v $
- * $Revision: 1.4 $ $Date: 2005/02/15 22:37:02 $
- */
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.java.JavaRefPackage;
-import org.eclipse.jem.java.Statement;
-/**
- * @generated
- */
-public class StatementImpl extends BlockImpl implements Statement{
-
- protected StatementImpl() {
- super();
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return JavaRefPackage.eINSTANCE.getStatement();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case JavaRefPackage.STATEMENT__CONTENTS:
- return ((InternalEList)getContents()).basicRemove(otherEnd, msgs);
- default:
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case JavaRefPackage.STATEMENT__SOURCE:
- return getSource();
- case JavaRefPackage.STATEMENT__NAME:
- return getName();
- case JavaRefPackage.STATEMENT__CONTENTS:
- return getContents();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case JavaRefPackage.STATEMENT__SOURCE:
- setSource((String)newValue);
- return;
- case JavaRefPackage.STATEMENT__NAME:
- setName((String)newValue);
- return;
- case JavaRefPackage.STATEMENT__CONTENTS:
- getContents().clear();
- getContents().addAll((Collection)newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case JavaRefPackage.STATEMENT__SOURCE:
- setSource(SOURCE_EDEFAULT);
- return;
- case JavaRefPackage.STATEMENT__NAME:
- setName(NAME_EDEFAULT);
- return;
- case JavaRefPackage.STATEMENT__CONTENTS:
- getContents().clear();
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case JavaRefPackage.STATEMENT__SOURCE:
- return SOURCE_EDEFAULT == null ? source != null : !SOURCE_EDEFAULT.equals(source);
- case JavaRefPackage.STATEMENT__NAME:
- return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
- case JavaRefPackage.STATEMENT__CONTENTS:
- return contents != null && !contents.isEmpty();
- }
- return eDynamicIsSet(eFeature);
- }
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/URL.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/URL.java
deleted file mode 100644
index e5402e303..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/URL.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.java.impl;
-/*
- * $RCSfile: URL.java,v $
- * $Revision: 1.4 $ $Date: 2005/05/18 19:39:02 $
- */
-import java.util.ArrayList;
-import java.util.List;
-
-public class URL {
- public String namespaceName;
- public String ID;
- List attributeNames;
-/**
- * URL constructor comment.
- */
-public URL(String urlString) {
- initializeFromString(urlString);
-}
-/**
- * URL constructor comment.
- */
-public URL(String nameSpaceName, String anID) {
- this.namespaceName = nameSpaceName;
- this.ID = anID;
-}
-public List getAttributeNames() {
- return attributeNames;
-}
-public void initializeFromString(String urlString) {
- int poundInx = urlString.lastIndexOf('#');
- if (poundInx > -1) {
- namespaceName = urlString.substring(0, poundInx);
- urlString = urlString.substring(poundInx + 1);
- int dotIndex = urlString.indexOf("->"); //$NON-NLS-1$
- if (dotIndex > -1) {
- ID = urlString.substring(0, dotIndex);
- String attributeNameString = urlString.substring(dotIndex + 2);
- attributeNames = new ArrayList();
- do {
- dotIndex = attributeNameString.indexOf("->"); //$NON-NLS-1$
- if (dotIndex > -1) {
- attributeNames.add(attributeNameString.substring(0, dotIndex));
- attributeNameString = attributeNameString.substring(dotIndex + 2);
- } else
- attributeNames.add(attributeNameString);
- } while (dotIndex > -1);
- } else {
- ID = urlString;
- }
- } else {
- // assume that any URL string that ends with .xmi is a namespace.
- if (urlString.endsWith(".xmi")){ //$NON-NLS-1$
- namespaceName = urlString;
- ID = null;
- } else {
- namespaceName = "?defaultURL?"; //$NON-NLS-1$
- ID = urlString;
- }
- }
-}
-public String toString() {
- return "URL(" + ((namespaceName == null) ? "" : namespaceName + "#") + ((ID == null) ? "" : ID) + ")"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/util/JavaRefAdapterFactory.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/util/JavaRefAdapterFactory.java
deleted file mode 100644
index 271d4c208..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/util/JavaRefAdapterFactory.java
+++ /dev/null
@@ -1,478 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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.java.util;
-/*
- * $RCSfile: JavaRefAdapterFactory.java,v $
- * $Revision: 1.5 $ $Date: 2005/02/15 22:37:02 $
- */
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notifier;
-
-import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EModelElement;
-import org.eclipse.emf.ecore.ENamedElement;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EOperation;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EParameter;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.ETypedElement;
-
-import org.eclipse.jem.java.*;
-
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Adapter Factory</b> for the model.
- * It provides an adapter <code>createXXX</code> method for each class of the model.
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.java.JavaRefPackage
- * @generated
- */
-public class JavaRefAdapterFactory extends AdapterFactoryImpl
-{
- /**
- * The cached model package.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected static JavaRefPackage modelPackage;
-
- /**
- * Creates an instance of the adapter factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public JavaRefAdapterFactory() {
- if (modelPackage == null) {
- modelPackage = JavaRefPackage.eINSTANCE;
- }
- }
-
- /**
- * Returns whether this factory is applicable for the type of the object.
- * <!-- begin-user-doc -->
- * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
- * <!-- end-user-doc -->
- * @return whether this factory is applicable for the type of the object.
- * @generated
- */
- public boolean isFactoryForType(Object object) {
- if (object == modelPackage) {
- return true;
- }
- if (object instanceof EObject) {
- return ((EObject)object).eClass().getEPackage() == modelPackage;
- }
- return false;
- }
-
- /**
- * The switch the delegates to the <code>createXXX</code> methods.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected JavaRefSwitch modelSwitch =
- new JavaRefSwitch() {
- public Object caseJavaClass(JavaClass object) {
- return createJavaClassAdapter();
- }
- public Object caseInitializer(Initializer object) {
- return createInitializerAdapter();
- }
- public Object caseJavaParameter(JavaParameter object) {
- return createJavaParameterAdapter();
- }
- public Object caseMethod(Method object) {
- return createMethodAdapter();
- }
- public Object caseField(Field object) {
- return createFieldAdapter();
- }
- public Object caseBlock(Block object) {
- return createBlockAdapter();
- }
- public Object caseComment(Comment object) {
- return createCommentAdapter();
- }
- public Object caseStatement(Statement object) {
- return createStatementAdapter();
- }
- public Object caseJavaPackage(JavaPackage object) {
- return createJavaPackageAdapter();
- }
- public Object caseJavaDataType(JavaDataType object) {
- return createJavaDataTypeAdapter();
- }
- public Object caseArrayType(ArrayType object) {
- return createArrayTypeAdapter();
- }
- public Object caseJavaEvent(JavaEvent object) {
- return createJavaEventAdapter();
- }
- public Object caseEModelElement(EModelElement object) {
- return createEModelElementAdapter();
- }
- public Object caseENamedElement(ENamedElement object) {
- return createENamedElementAdapter();
- }
- public Object caseEClassifier(EClassifier object) {
- return createEClassifierAdapter();
- }
- public Object caseEClass(EClass object) {
- return createEClassAdapter();
- }
- public Object caseETypedElement(ETypedElement object) {
- return createETypedElementAdapter();
- }
- public Object caseEParameter(EParameter object) {
- return createEParameterAdapter();
- }
- public Object caseEOperation(EOperation object) {
- return createEOperationAdapter();
- }
- public Object caseEPackage(EPackage object) {
- return createEPackageAdapter();
- }
- public Object caseEStructuralFeature(EStructuralFeature object) {
- return createEStructuralFeatureAdapter();
- }
- public Object defaultCase(EObject object) {
- return createEObjectAdapter();
- }
- };
-
- /**
- * Creates an adapter for the <code>target</code>.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param target the object to adapt.
- * @return the adapter for the <code>target</code>.
- * @generated
- */
- public Adapter createAdapter(Notifier target) {
- return (Adapter)modelSwitch.doSwitch((EObject)target);
- }
-
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.jem.java.JavaClass <em>Java Class</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.jem.java.JavaClass
- * @generated
- */
- public Adapter createJavaClassAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.jem.java.Initializer <em>Initializer</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.jem.java.Initializer
- * @generated
- */
- public Adapter createInitializerAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.jem.java.JavaParameter <em>Java Parameter</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.jem.java.JavaParameter
- * @generated
- */
- public Adapter createJavaParameterAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.jem.java.Method <em>Method</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.jem.java.Method
- * @generated
- */
- public Adapter createMethodAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.jem.java.Field <em>Field</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.jem.java.Field
- * @generated
- */
- public Adapter createFieldAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.jem.java.Block <em>Block</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.jem.java.Block
- * @generated
- */
- public Adapter createBlockAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.jem.java.Comment <em>Comment</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.jem.java.Comment
- * @generated
- */
- public Adapter createCommentAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.jem.java.Statement <em>Statement</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.jem.java.Statement
- * @generated
- */
- public Adapter createStatementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.jem.java.JavaPackage <em>Java Package</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.jem.java.JavaPackage
- * @generated
- */
- public Adapter createJavaPackageAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.jem.java.JavaDataType <em>Java Data Type</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.jem.java.JavaDataType
- * @generated
- */
- public Adapter createJavaDataTypeAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.jem.java.ArrayType <em>Array Type</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.jem.java.ArrayType
- * @generated
- */
- public Adapter createArrayTypeAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.jem.java.JavaEvent <em>Java Event</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.jem.java.JavaEvent
- * @generated
- */
- public Adapter createJavaEventAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.emf.ecore.EModelElement <em>EModel Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.emf.ecore.EModelElement
- * @generated
- */
- public Adapter createEModelElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.emf.ecore.ENamedElement <em>ENamed Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.emf.ecore.ENamedElement
- * @generated
- */
- public Adapter createENamedElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.emf.ecore.EClassifier <em>EClassifier</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.emf.ecore.EClassifier
- * @generated
- */
- public Adapter createEClassifierAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.emf.ecore.EClass <em>EClass</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.emf.ecore.EClass
- * @generated
- */
- public Adapter createEClassAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.emf.ecore.ETypedElement <em>ETyped Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.emf.ecore.ETypedElement
- * @generated
- */
- public Adapter createETypedElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.emf.ecore.EParameter <em>EParameter</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.emf.ecore.EParameter
- * @generated
- */
- public Adapter createEParameterAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.emf.ecore.EOperation <em>EOperation</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.emf.ecore.EOperation
- * @generated
- */
- public Adapter createEOperationAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.emf.ecore.EStructuralFeature <em>EStructural Feature</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.emf.ecore.EStructuralFeature
- * @generated
- */
- public Adapter createEStructuralFeatureAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.emf.ecore.EPackage <em>EPackage</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.emf.ecore.EPackage
- * @generated
- */
- public Adapter createEPackageAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for the default case.
- * <!-- begin-user-doc -->
- * This default implementation returns null.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @generated
- */
- public Adapter createEObjectAdapter() {
- return null;
- }
-
-} //JavaRefAdapterFactory
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/util/JavaRefSwitch.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/util/JavaRefSwitch.java
deleted file mode 100644
index ad276641a..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/util/JavaRefSwitch.java
+++ /dev/null
@@ -1,547 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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.java.util;
-
-/*
- * $RCSfile: JavaRefSwitch.java,v $
- * $Revision: 1.6 $ $Date: 2005/04/14 19:05:33 $
- */
-import java.util.List;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EModelElement;
-import org.eclipse.emf.ecore.ENamedElement;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EOperation;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EParameter;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.ETypedElement;
-
-import org.eclipse.jem.java.*;
-
-
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Switch</b> for the model's inheritance hierarchy.
- * It supports the call {@link #doSwitch doSwitch(object)}
- * to invoke the <code>caseXXX</code> method for each class of the model,
- * starting with the actual class of the object
- * and proceeding up the inheritance hierarchy
- * until a non-null result is returned,
- * which is the result of the switch.
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.java.JavaRefPackage
- * @generated
- */
-public class JavaRefSwitch {
- /**
- * The cached model package
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected static JavaRefPackage modelPackage;
-
- /**
- * Creates an instance of the switch.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public JavaRefSwitch() {
- if (modelPackage == null) {
- modelPackage = JavaRefPackage.eINSTANCE;
- }
- }
-
- /**
- * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the first non-null result returned by a <code>caseXXX</code> call.
- * @generated
- */
- public Object doSwitch(EObject theEObject) {
- return doSwitch(theEObject.eClass(), theEObject);
- }
-
- /**
- * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the first non-null result returned by a <code>caseXXX</code> call.
- * @generated
- */
- protected Object doSwitch(EClass theEClass, EObject theEObject) {
- if (theEClass.eContainer() == modelPackage) {
- return doSwitch(theEClass.getClassifierID(), theEObject);
- }
- else {
- List eSuperTypes = theEClass.getESuperTypes();
- return
- eSuperTypes.isEmpty() ?
- defaultCase(theEObject) :
- doSwitch((EClass)eSuperTypes.get(0), theEObject);
- }
- }
-
- /**
- * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the first non-null result returned by a <code>caseXXX</code> call.
- * @generated
- */
- protected Object doSwitch(int classifierID, EObject theEObject) {
- switch (classifierID) {
- case JavaRefPackage.JAVA_CLASS: {
- JavaClass javaClass = (JavaClass)theEObject;
- Object result = caseJavaClass(javaClass);
- if (result == null) result = caseEClass(javaClass);
- if (result == null) result = caseEClassifier(javaClass);
- if (result == null) result = caseENamedElement(javaClass);
- if (result == null) result = caseEModelElement(javaClass);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case JavaRefPackage.INITIALIZER: {
- Initializer initializer = (Initializer)theEObject;
- Object result = caseInitializer(initializer);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case JavaRefPackage.JAVA_PARAMETER: {
- JavaParameter javaParameter = (JavaParameter)theEObject;
- Object result = caseJavaParameter(javaParameter);
- if (result == null) result = caseEParameter(javaParameter);
- if (result == null) result = caseETypedElement(javaParameter);
- if (result == null) result = caseENamedElement(javaParameter);
- if (result == null) result = caseEModelElement(javaParameter);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case JavaRefPackage.METHOD: {
- Method method = (Method)theEObject;
- Object result = caseMethod(method);
- if (result == null) result = caseEOperation(method);
- if (result == null) result = caseETypedElement(method);
- if (result == null) result = caseENamedElement(method);
- if (result == null) result = caseEModelElement(method);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case JavaRefPackage.FIELD: {
- Field field = (Field)theEObject;
- Object result = caseField(field);
- if (result == null) result = caseETypedElement(field);
- if (result == null) result = caseENamedElement(field);
- if (result == null) result = caseEModelElement(field);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case JavaRefPackage.BLOCK: {
- Block block = (Block)theEObject;
- Object result = caseBlock(block);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case JavaRefPackage.COMMENT: {
- Comment comment = (Comment)theEObject;
- Object result = caseComment(comment);
- if (result == null) result = caseBlock(comment);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case JavaRefPackage.STATEMENT: {
- Statement statement = (Statement)theEObject;
- Object result = caseStatement(statement);
- if (result == null) result = caseBlock(statement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case JavaRefPackage.JAVA_PACKAGE: {
- JavaPackage javaPackage = (JavaPackage)theEObject;
- Object result = caseJavaPackage(javaPackage);
- if (result == null) result = caseEPackage(javaPackage);
- if (result == null) result = caseENamedElement(javaPackage);
- if (result == null) result = caseEModelElement(javaPackage);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case JavaRefPackage.JAVA_DATA_TYPE: {
- JavaDataType javaDataType = (JavaDataType)theEObject;
- Object result = caseJavaDataType(javaDataType);
- if (result == null) result = caseEClass(javaDataType);
- if (result == null) result = caseEClassifier(javaDataType);
- if (result == null) result = caseENamedElement(javaDataType);
- if (result == null) result = caseEModelElement(javaDataType);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case JavaRefPackage.ARRAY_TYPE: {
- ArrayType arrayType = (ArrayType)theEObject;
- Object result = caseArrayType(arrayType);
- if (result == null) result = caseJavaClass(arrayType);
- if (result == null) result = caseEClass(arrayType);
- if (result == null) result = caseEClassifier(arrayType);
- if (result == null) result = caseENamedElement(arrayType);
- if (result == null) result = caseEModelElement(arrayType);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case JavaRefPackage.JAVA_EVENT: {
- JavaEvent javaEvent = (JavaEvent)theEObject;
- Object result = caseJavaEvent(javaEvent);
- if (result == null) result = caseEStructuralFeature(javaEvent);
- if (result == null) result = caseETypedElement(javaEvent);
- if (result == null) result = caseENamedElement(javaEvent);
- if (result == null) result = caseEModelElement(javaEvent);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- default: return defaultCase(theEObject);
- }
- }
-
- /**
- * Returns the result of interpretting the object as an instance of '<em>Java Class</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpretting the object as an instance of '<em>Java Class</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public Object caseJavaClass(JavaClass object) {
- return null;
- }
-
- /**
- * Returns the result of interpretting the object as an instance of '<em>Initializer</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpretting the object as an instance of '<em>Initializer</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public Object caseInitializer(Initializer object) {
- return null;
- }
-
- /**
- * Returns the result of interpretting the object as an instance of '<em>Java Parameter</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpretting the object as an instance of '<em>Java Parameter</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public Object caseJavaParameter(JavaParameter object) {
- return null;
- }
-
- /**
- * Returns the result of interpretting the object as an instance of '<em>Method</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpretting the object as an instance of '<em>Method</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public Object caseMethod(Method object) {
- return null;
- }
-
- /**
- * Returns the result of interpretting the object as an instance of '<em>Field</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpretting the object as an instance of '<em>Field</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public Object caseField(Field object) {
- return null;
- }
-
- /**
- * Returns the result of interpretting the object as an instance of '<em>Block</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpretting the object as an instance of '<em>Block</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public Object caseBlock(Block object) {
- return null;
- }
-
- /**
- * Returns the result of interpretting the object as an instance of '<em>Comment</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpretting the object as an instance of '<em>Comment</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public Object caseComment(Comment object) {
- return null;
- }
-
- /**
- * Returns the result of interpretting the object as an instance of '<em>Statement</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpretting the object as an instance of '<em>Statement</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public Object caseStatement(Statement object) {
- return null;
- }
-
- /**
- * Returns the result of interpretting the object as an instance of '<em>Java Package</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpretting the object as an instance of '<em>Java Package</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public Object caseJavaPackage(JavaPackage object) {
- return null;
- }
-
- /**
- * Returns the result of interpretting the object as an instance of '<em>Java Data Type</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpretting the object as an instance of '<em>Java Data Type</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public Object caseJavaDataType(JavaDataType object) {
- return null;
- }
-
- /**
- * Returns the result of interpretting the object as an instance of '<em>Array Type</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpretting the object as an instance of '<em>Array Type</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public Object caseArrayType(ArrayType object) {
- return null;
- }
-
- /**
- * Returns the result of interpretting the object as an instance of '<em>Java Event</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpretting the object as an instance of '<em>Java Event</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public Object caseJavaEvent(JavaEvent object) {
- return null;
- }
-
- /**
- * Returns the result of interpretting the object as an instance of '<em>EModel Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpretting the object as an instance of '<em>EModel Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public Object caseEModelElement(EModelElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpretting the object as an instance of '<em>ENamed Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpretting the object as an instance of '<em>ENamed Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public Object caseENamedElement(ENamedElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpretting the object as an instance of '<em>EClassifier</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpretting the object as an instance of '<em>EClassifier</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public Object caseEClassifier(EClassifier object) {
- return null;
- }
-
- /**
- * Returns the result of interpretting the object as an instance of '<em>EClass</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpretting the object as an instance of '<em>EClass</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public Object caseEClass(EClass object) {
- return null;
- }
-
- /**
- * Returns the result of interpretting the object as an instance of '<em>ETyped Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpretting the object as an instance of '<em>ETyped Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public Object caseETypedElement(ETypedElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpretting the object as an instance of '<em>EParameter</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpretting the object as an instance of '<em>EParameter</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public Object caseEParameter(EParameter object) {
- return null;
- }
-
- /**
- * Returns the result of interpretting the object as an instance of '<em>EOperation</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpretting the object as an instance of '<em>EOperation</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public Object caseEOperation(EOperation object) {
- return null;
- }
-
- /**
- * Returns the result of interpretting the object as an instance of '<em>EStructural Feature</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpretting the object as an instance of '<em>EStructural Feature</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public Object caseEStructuralFeature(EStructuralFeature object) {
- return null;
- }
-
- /**
- * Returns the result of interpretting the object as an instance of '<em>EPackage</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpretting the object as an instance of '<em>EPackage</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public Object caseEPackage(EPackage object) {
- return null;
- }
-
- /**
- * Returns the result of interpretting the object as an instance of '<em>EObject</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch, but this is the last case anyway.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpretting the object as an instance of '<em>EObject</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject)
- * @generated
- */
- public Object defaultCase(EObject object) {
- return null;
- }
-
-} //JavaRefSwitch
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/util/NotificationUtil.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/util/NotificationUtil.java
deleted file mode 100644
index c479002ab..000000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/util/NotificationUtil.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- * $RCSfile: NotificationUtil.java,v $
- * $Revision: 1.2 $ $Date: 2005/02/15 22:37:02 $
- */
-package org.eclipse.jem.java.util;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.jem.internal.java.adapters.JavaReflectionAdaptor;
-import org.eclipse.jem.internal.java.adapters.ReflectionAdaptor;
-
-
-/**
- * This is a utility class of static methods for handling special JEM notifications.
- *
- * @since 1.1.0
- */
-public class NotificationUtil {
- /*
- * Not meant to be constructed.
- */
- private NotificationUtil() {
-
- }
-
- /**
- * Answer whether this notification is a reflection notification. If it is, then it means that the JavaClass has
- * just had reflection performed on it.
- * @param msg
- * @return <code>true</code> if this is a reflection event.
- *
- * @since 1.1.0
- */
- public static boolean isReflectionEvent(Notification msg) {
- return msg.getEventType() == ReflectionAdaptor.EVENT && msg.getFeature() == ReflectionAdaptor.REFLECTION_EVENT;
- }
-
- /**
- * Answer whether this notification is a reflection flush event of a JavaClass with existing code. If it is, then it means that the
- * JavaClass has just had the reflection results flushed, AND this was a class that had either source or binary code on it..
- * @param msg
- * @return <code>true</code> if this is a flush event.
- *
- * @since 1.1.0
- */
- public static boolean isFlushEvent(Notification msg) {
- return msg.getEventType() == ReflectionAdaptor.EVENT && msg.getFeature() == JavaReflectionAdaptor.FLUSH_REFLECTION_EVENT;
- }
-
- /**
- * Answer whether this notification is a reflection flush event of a JavaClass that is new and doesn't have existing code.
- * If it is, then it means that the JavaClass has just had the reflection results flushed, AND this was a class that was new and
- * had no code behind it.
- * @param msg
- * @return <code>true</code> if this is a flush event of new class.
- *
- * @since 1.1.0
- */
- public static boolean isFlushNewEvent(Notification msg) {
- return msg.getEventType() == ReflectionAdaptor.EVENT && msg.getFeature() == JavaReflectionAdaptor.FLUSH_NEW_REFLECTION_EVENT;
- }
-
-}
diff --git a/plugins/org.eclipse.jem/overrides/..ROOT...override b/plugins/org.eclipse.jem/overrides/..ROOT...override
deleted file mode 100644
index 8c1ea3a24..000000000
--- a/plugins/org.eclipse.jem/overrides/..ROOT...override
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<event:AddMany xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:event="event.xmi"
- featureName="eStructuralFeatures">
- <addedEObjects xsi:type="ecore:EReference" name="allocation" containment="true" eType="ecore:EClass http:///org/eclipse/jem/internal/instantiation.ecore#//JavaAllocation"/>
-<!-- too remind us that these are need to be done yet in the new allocation scheme.
- <addedEObjects xsi:type="ecore:EAttribute" name="instantiateUsing" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <addedEObjects xsi:type="ecore:EAttribute" name="serializeData" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
--->
-</event:AddMany>
diff --git a/plugins/org.eclipse.jem/overrides/java/lang/Object.override b/plugins/org.eclipse.jem/overrides/java/lang/Object.override
deleted file mode 100644
index fdbffdcb7..000000000
--- a/plugins/org.eclipse.jem/overrides/java/lang/Object.override
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:event="event.xmi">
-
- <!--
- This is kind of cheat, but datatypes are never introspected, so we can't get these attributes
- added to them in a normal way. By doing it here, when java.lang.Object is introspected, these
- will be done at the same time. And since Object needs to be introspected before anything else
- can be done, these will be done before anything needs them. -->
-
- <event:Add notifierURI="java:/#boolean" featureName="eStructuralFeatures">
- <addedEObjects xsi:type="ecore:EReference" name="allocation" containment="true" eType="ecore:EClass http:///org/eclipse/jem/internal/instantiation.ecore#//JavaAllocation"/>
- </event:Add>
- <event:Add notifierURI="java:/#char" featureName="eStructuralFeatures">
- <addedEObjects xsi:type="ecore:EReference" name="allocation" containment="true" eType="ecore:EClass http:///org/eclipse/jem/internal/instantiation.ecore#//JavaAllocation"/>
- </event:Add>
- <event:Add notifierURI="java:/#int" featureName="eStructuralFeatures">
- <addedEObjects xsi:type="ecore:EReference" name="allocation" containment="true" eType="ecore:EClass http:///org/eclipse/jem/internal/instantiation.ecore#//JavaAllocation"/>
- </event:Add>
- <event:Add notifierURI="java:/#float" featureName="eStructuralFeatures">
- <addedEObjects xsi:type="ecore:EReference" name="allocation" containment="true" eType="ecore:EClass http:///org/eclipse/jem/internal/instantiation.ecore#//JavaAllocation"/>
- </event:Add>
- <event:Add notifierURI="java:/#short" featureName="eStructuralFeatures">
- <addedEObjects xsi:type="ecore:EReference" name="allocation" containment="true" eType="ecore:EClass http:///org/eclipse/jem/internal/instantiation.ecore#//JavaAllocation"/>
- </event:Add>
- <event:Add notifierURI="java:/#long" featureName="eStructuralFeatures">
- <addedEObjects xsi:type="ecore:EReference" name="allocation" containment="true" eType="ecore:EClass http:///org/eclipse/jem/internal/instantiation.ecore#//JavaAllocation"/>
- </event:Add>
- <event:Add notifierURI="java:/#double" featureName="eStructuralFeatures">
- <addedEObjects xsi:type="ecore:EReference" name="allocation" containment="true" eType="ecore:EClass http:///org/eclipse/jem/internal/instantiation.ecore#//JavaAllocation"/>
- </event:Add>
- <event:Add notifierURI="java:/#byte" featureName="eStructuralFeatures">
- <addedEObjects xsi:type="ecore:EReference" name="allocation" containment="true" eType="ecore:EClass http:///org/eclipse/jem/internal/instantiation.ecore#//JavaAllocation"/>
- </event:Add>
-</xmi:XMI>
diff --git a/plugins/org.eclipse.jem/plugin.properties b/plugins/org.eclipse.jem/plugin.properties
deleted file mode 100644
index 32046c169..000000000
--- a/plugins/org.eclipse.jem/plugin.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2003 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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/plugins/org.eclipse.jem/plugin.properties,v $
-# $Revision: 1.2 $ $Date: 2005/02/15 22:38:01 $
-#
-
-
-pluginName = Java EMF Model
-providerName = Eclipse.org \ No newline at end of file
diff --git a/plugins/org.eclipse.jem/plugin.xml b/plugins/org.eclipse.jem/plugin.xml
deleted file mode 100644
index bad4c0ee6..000000000
--- a/plugins/org.eclipse.jem/plugin.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
- <extension
- point="org.eclipse.emf.ecore.generated_package">
- <package
- uri="http:///org/eclipse/jem/internal/instantiation.ecore"
- class="org.eclipse.jem.internal.instantiation.InstantiationPackage">
- </package>
- <package
- uri="java.xmi"
- class="org.eclipse.jem.java.JavaRefPackage">
- </package>
- </extension>
- <extension
- point="org.eclipse.jem.beaninfo.registrations">
- <registration container="org.eclipse.jdt.launching.JRE_CONTAINER">
- <override
- package="java.lang"
- path="overrides/java/lang">
- </override>
- <override
- package="..ROOT.."
- path="overrides">
- </override>
- </registration>
- </extension>
-
-</plugin>
diff --git a/plugins/org.eclipse.jem/rose/.cvsignore b/plugins/org.eclipse.jem/rose/.cvsignore
deleted file mode 100644
index 1be3a373d..000000000
--- a/plugins/org.eclipse.jem/rose/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*.md~
-*.ca~ \ No newline at end of file
diff --git a/plugins/org.eclipse.jem/rose/edocjava2.cat b/plugins/org.eclipse.jem/rose/edocjava2.cat
deleted file mode 100644
index 25b1eec2a..000000000
--- a/plugins/org.eclipse.jem/rose/edocjava2.cat
+++ /dev/null
@@ -1,5613 +0,0 @@
-
-(object Petal
- version 47
- _written "Rose 8.0.0303.1400"
- charSet 0)
-
-(object Class_Category "java"
- is_unit TRUE
- is_loaded TRUE
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0000-005d9e6adec4:1"))
- (object Attribute
- tool "Ecore"
- name "basePackage"
- value (value Text "org.eclipse.jem"))
- (object Attribute
- tool "Ecore"
- name "prefix"
- value (value Text "JavaRef"))
- (object Attribute
- tool "Ecore"
- name "nsURI"
- value (value Text "java.xmi")))
- quid "36549F2C004E"
- documentation
-|Changes to synch up with Java3e:
-|- deleted JavaElement, BodyElement which didn't add anything useful
-|- deleted NestedClass and the association which described nesting, contents can be used instead
-|- deleted extends/extendedBy which is replaced with MOF subtype/supertype
-|- deleted the clumsy main diagram
-|- moved the MOF inheritance details to the MOF binding diagram
-|- deleted "final" on JavaParameter, don't know what that was supposed to be
-|- deleted the Category junk
-|- changed the Block-typed attributes on Field, Method, Initializer to be associations to Block
-|
-|Outstanding questions/issues:
-|- JavaParameterKind should go away if we get the base Parameter kind fixed up
-|
-
- stereotype "metamodel"
- visible_categories (list visibility_relationship_list
- (object Visibility_Relationship
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0001-005d9e6adec4:1")))
- quid "381DDF470271"
- supplier "Logical View::mof"
- quidu "374AA8F9028E")
- (object Visibility_Relationship
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0002-005d9e6adec4:1")))
- quid "39BD366000FE"
- supplier "Logical View::ecore"
- quidu "39A5ED04004E"))
- exportControl "Public"
- logical_models (list unit_reference_list
- (object Class "JavaClass"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0003-005d9e6adec4:1")))
- quid "36549FCC00FA"
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0004-005d9e6adec4:1")))
- quid "3990950000B3"
- supplier "Logical View::ecore::EClass"
- quidu "3903D5BF000A"))
- operations (list Operations
- (object Operation "isNested"
- quid "3A9D7C2101D6"
- result "boolean"
- concurrency "Sequential"
- opExportControl "Public"
- uid 0)
- (object Operation "getField"
- quid "3B65B5B30044"
- documentation "Return an Field with the passed name, or null."
- parameters (list Parameters
- (object Parameter "fieldName"
- quid "3C62FAB901AA"
- type "String"))
- result "Field"
- concurrency "Sequential"
- opExportControl "Public"
- uid 0
- quidu "3654AF8F0280")
- (object Operation "getFieldExtended"
- quid "3B65B625011A"
- documentation
-| Return an Field with the passed name from this JavaClass or any supertypes.
-|
-|Return null if a Field named fieldName is not found.
-
- parameters (list Parameters
- (object Parameter "fieldName"
- quid "3C62FAB901AC"
- type "String"))
- result "Field"
- concurrency "Sequential"
- opExportControl "Public"
- uid 0
- quidu "3654AF8F0280")
- (object Operation "getFieldNamed"
- quid "3B65B6670255"
- documentation "Return an Field with the passed name, or null."
- parameters (list Parameters
- (object Parameter "fieldName"
- quid "3C62FAB901AE"
- type "String"))
- result "Field"
- concurrency "Sequential"
- opExportControl "Public"
- uid 0
- quidu "3654AF8F0280")
- (object Operation "getFieldsExtended"
- quid "3B65B68A0328"
- documentation "Return all fields, including those from supertypes."
- result "JTypeList"
- concurrency "Sequential"
- opExportControl "Public"
- uid 0
- quidu "3B65B87602C1")
- (object Operation "getMethod"
- quid "3B65B911021A"
- documentation "Get the method of this name and these parameters. It will not look up the supertype hierarchy."
- parameters (list Parameters
- (object Parameter "methodName"
- quid "3C62FAB901B1"
- type "String")
- (object Parameter "parameterTypes"
- quid "3C62FAB901B2"
- documentation "List of parameter types."
- type "JTypeList"
- quidu "3B65B87602C1"))
- result "Method"
- concurrency "Sequential"
- opExportControl "Public"
- uid 0
- quidu "3654AE910271")
- (object Operation "getMethodElementSignatures"
- quid "3B65B9EA03CA"
- documentation "Return a List of Strings that represent MethodElement signatures from most general to most specific."
- result "JTypeList"
- concurrency "Sequential"
- opExportControl "Public"
- uid 0
- quidu "3B65B87602C1")
- (object Operation "getMethodExtended"
- quid "3B65BA510115"
- documentation "Get the method of this name and these parameters. It will look up the supertype hierarchy."
- parameters (list Parameters
- (object Parameter "methodName"
- quid "3C62FAB901B5"
- type "String")
- (object Parameter "parameterTypes"
- quid "3C62FAB901B6"
- documentation "List of parameter types."
- type "JTypeList"
- quidu "3B65B87602C1"))
- result "Method"
- concurrency "Sequential"
- opExportControl "Public"
- uid 0
- quidu "3654AE910271")
- (object Operation "getMethodsExtended"
- quid "3B65BA7D0354"
- documentation "Return all methods, including those from supertypes."
- result "JTypeList"
- concurrency "Sequential"
- opExportControl "Public"
- uid 0
- quidu "3B65B87602C1")
- (object Operation "getOnlySpecificMethods"
- quid "3B65BAC3021E"
- documentation
-|Return a List of Methods that begins with @aMethodNamePrefix and is not included in the @excludedNames list. If @aMethodNamePrefix is null, all methods will be returned.
-|
-
- parameters (list Parameters
- (object Parameter "aMethodNamePrefix"
- quid "3C62FAB901B9"
- type "String")
- (object Parameter "excludedNames"
- quid "3C62FAB901BA"
- type "JTypeList"
- quidu "3B65B87602C1"))
- result "JTypeList"
- concurrency "Sequential"
- opExportControl "Public"
- uid 0
- quidu "3B65B87602C1")
- (object Operation "getPublicMethod"
- quid "3B65BBC90383"
- documentation "Return a method matching the name, and non-return parameters with fully qualified types matching all the types in the list, if it exists. It will not look up the supertype hierarchy."
- parameters (list Parameters
- (object Parameter "methodName"
- quid "3C62FAB901BC"
- type "String")
- (object Parameter "parameterTypes"
- quid "3C62FAB901BD"
- documentation "List of parameter types."
- type "JTypeList"
- quidu "3B65B87602C1"))
- result "Method"
- concurrency "Sequential"
- opExportControl "Public"
- uid 0
- quidu "3654AE910271")
- (object Operation "getPublicMethods"
- quid "3B65BC3D034E"
- documentation "Return all methods, it will not go up the supertype hierarchy."
- result "JTypeList"
- concurrency "Sequential"
- opExportControl "Public"
- uid 0
- quidu "3B65B87602C1")
- (object Operation "getPublicMethodsExtended"
- quid "3B65BC630320"
- documentation "Return all public methods, including those from supertypes."
- result "JTypeList"
- concurrency "Sequential"
- opExportControl "Public"
- uid 0
- quidu "3B65B87602C1")
- (object Operation "getPublicMethodsNamed"
- quid "3B65BCAA005B"
- documentation "Returns a filtered list on the methods of this class, having a name equal to that of the parameter."
- parameters (list Parameters
- (object Parameter "name"
- quid "3C62FAB901C1"
- type "String"))
- result "JTypeList"
- concurrency "Sequential"
- opExportControl "Public"
- uid 0
- quidu "3B65B87602C1")
- (object Operation "getSupertype"
- quid "3B65BCF900CD"
- result "JavaClass"
- concurrency "Sequential"
- opExportControl "Public"
- uid 0
- quidu "36549FCC00FA")
- (object Operation "implementsInterface"
- quid "3B65BD39009D"
- documentation "Test whether the receiver implements the passed interface (or one of its supertypes)."
- parameters (list Parameters
- (object Parameter "interfaceType"
- quid "3C62FAB901C4"
- type "JavaClass"
- quidu "36549FCC00FA"))
- result "boolean"
- concurrency "Sequential"
- opExportControl "Public"
- uid 0)
- (object Operation "infoString"
- quid "3B65BD8202D3"
- documentation "Return a string showing our details."
- result "String"
- concurrency "Sequential"
- opExportControl "Public"
- uid 0)
- (object Operation "inheritsFrom"
- quid "3B65BD9E02E7"
- documentation "Tests whether this class inherits from the passed in class."
- parameters (list Parameters
- (object Parameter "javaClass"
- quid "3C62FAB901C7"
- type "JavaClass"
- quidu "36549FCC00FA"))
- result "boolean"
- concurrency "Sequential"
- opExportControl "Public"
- uid 0)
- (object Operation "isExistingType"
- quid "3B65BE110120"
- documentation "Does this type exist."
- result "boolean"
- concurrency "Sequential"
- opExportControl "Public"
- uid 0)
- (object Operation "isInterface"
- quid "3B65BE2F0137"
- documentation "Is this an interface."
- result "boolean"
- concurrency "Sequential"
- opExportControl "Public"
- uid 0)
- (object Operation "setSupertype"
- quid "3B65BE7B00A0"
- documentation "Set the supertype."
- parameters (list Parameters
- (object Parameter "javaclass"
- quid "3C62FAB901CB"
- type "JavaClass"
- quidu "36549FCC00FA"))
- result "void"
- concurrency "Sequential"
- opExportControl "Public"
- uid 0))
- class_attributes (list class_attribute_list
- (object ClassAttribute "kind"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0005-005d9e6adec4:1")))
- quid "3654A45E0232"
- type "TypeKind"
- quidu "3654B46002BF"
- exportControl "Public")
- (object ClassAttribute "public"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0006-005d9e6adec4:1")))
- quid "380F8CE8020C"
- type "boolean"
- exportControl "Public")
- (object ClassAttribute "final"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0008-005d9e6adec4:1")))
- quid "380F8F9C02D7"
- type "boolean"
- exportControl "Public"))
- language "none")
- (object Class "Initializer"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0009-005d9e6adec4:1")))
- quid "3654A5DC00BB"
- class_attributes (list class_attribute_list
- (object ClassAttribute "isStatic"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-000a-005d9e6adec4:1")))
- quid "3654A865000F"
- type "Boolean"
- exportControl "Public"))
- language "none")
- (object Class "JavaParameter"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-000b-005d9e6adec4:1")))
- quid "3654AD780280"
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "3B7818B00186"
- supplier "Logical View::ecore::EParameter"
- quidu "3903E6150104"))
- operations (list Operations
- (object Operation "isArray"
- quid "3B65BFD4034F"
- documentation "Is this parameter type an array type."
- result "boolean"
- concurrency "Sequential"
- opExportControl "Public"
- uid 0)
- (object Operation "isReturn"
- quid "3B65BFEF0005"
- documentation "Is this a return parameter."
- result "boolean"
- concurrency "Sequential"
- opExportControl "Public"
- uid 0)
- (object Operation "getJavaType"
- quid "3B65C8E7001A"
- result "JTypeJavaHelpers"
- concurrency "Sequential"
- opExportControl "Public"
- uid 0
- quidu "3B65ADE403A6")
- (object Operation "getQualifiedName"
- quid "3B65C926002F"
- result "String"
- concurrency "Sequential"
- opExportControl "Public"
- uid 0))
- class_attributes (list class_attribute_list
- (object ClassAttribute "final"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-000c-005d9e6adec4:1")))
- quid "3654B64702AF"
- type "boolean"
- exportControl "Public")
- (object ClassAttribute "parameterKind"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-000e-005d9e6adec4:1")))
- quid "391C1EB400C2"
- type "JavaParameterKind"
- quidu "391C1E8F0123"
- exportControl "Public"))
- language "none")
- (object Class "Method"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-000f-005d9e6adec4:1")))
- quid "3654AE910271"
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0010-005d9e6adec4:1")))
- quid "3990953803AD"
- supplier "Logical View::ecore::EOperation"
- quidu "3904DAA200A0"))
- operations (list Operations
- (object Operation "getContainingJavaClass"
- quid "3B65C04202A3"
- documentation "Return the java class that this method is defined in."
- result "JavaClass"
- concurrency "Sequential"
- opExportControl "Public"
- uid 0
- quidu "36549FCC00FA")
- (object Operation "getMethodElementSignature"
- quid "3B65C076013F"
- documentation
-|Return a String with the the method name and its parameters. e.g. <code> setFirstName(java.lang.String) </code> .
-|
-
- result "String"
- concurrency "Sequential"
- opExportControl "Public"
- uid 0)
- (object Operation "getParameter"
- quid "3B65C0B8011C"
- documentation "Return a Parameter with the passed name, or null."
- parameters (list Parameters
- (object Parameter "parameterName"
- quid "3C62FAB901E3"
- type "String"))
- result "JavaParameter"
- concurrency "Sequential"
- opExportControl "Public"
- uid 0
- quidu "3654AD780280")
- (object Operation "getReturnType"
- quid "3B65C1470013"
- documentation "Get the return type."
- result "JTypeJavaHelpers"
- concurrency "Sequential"
- opExportControl "Public"
- uid 0
- quidu "3B65ADE403A6")
- (object Operation "setReturnType"
- quid "3B65C27403CE"
- documentation "Set the return type"
- parameters (list Parameters
- (object Parameter "type"
- quid "3C62FAB901E8"
- type "JTypeJavaHelpers"
- quidu "3B65ADE403A6"))
- result "void"
- concurrency "Sequential"
- opExportControl "Public"
- uid 0)
- (object Operation "getSignature"
- quid "3B65C17D0043"
- documentation
-|Replicate the functionality of java.lang.reflect.Method.toString().
-|
-|Returns a string describing this Method. The string is formatted as the method access modifiers, if any, followed by the method return type, followed by a space, followed by the class declaring the method, followed by a period, followed by the method name, followed by a parenthesized, comma-separated list of the method's formal parameter types. If the method throws checked exceptions, the parameter list is followed by a space, followed by the word throws followed by a comma-separated list of the thrown exception types.
-|
-|For example:
-|
-| public boolean java.lang.Object.equals(java.lang.Object)
-|
-|The access modifiers are placed in canonical order as specified by "The Java Language Specification". This is public, <tt>protected</tt> or <tt>private</tt> first, and then other modifiers in the following order: <tt>abstract</tt>, <tt>static</tt>, <tt>final</tt>, <tt>synchronized</tt> <tt>native</tt>.
-|
-
- result "String"
- concurrency "Sequential"
- opExportControl "Public"
- uid 0)
- (object Operation "isGenerated"
- quid "3B65C1FC006E"
- documentation
-|Returns true if the method is system generated.
-|This is usually determined by the @generated tag in the comment.
-
- result "boolean"
- concurrency "Sequential"
- opExportControl "Public"
- uid 0)
- (object Operation "setIsGenerated"
- quid "3B65C244037F"
- documentation "Set the isGenerated flag."
- parameters (list Parameters
- (object Parameter "generated"
- quid "3C62FAB901EC"
- type "boolean"))
- result "void"
- concurrency "Sequential"
- opExportControl "Public"
- uid 0)
- (object Operation "isVoid"
- quid "3B65C218038F"
- documentation "Is this a void return type method."
- result "boolean"
- concurrency "Sequential"
- opExportControl "Public"
- uid 0))
- class_attributes (list class_attribute_list
- (object ClassAttribute "abstract"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0011-005d9e6adec4:1")))
- quid "380F90BC022B"
- type "boolean"
- exportControl "Public")
- (object ClassAttribute "native"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0012-005d9e6adec4:1")))
- quid "380F90D10364"
- type "boolean"
- exportControl "Public")
- (object ClassAttribute "synchronized"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0013-005d9e6adec4:1")))
- quid "380F90DB03C1"
- type "boolean"
- exportControl "Public")
- (object ClassAttribute "final"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0014-005d9e6adec4:1")))
- quid "3829C6E00033"
- type "boolean"
- exportControl "Public")
- (object ClassAttribute "constructor"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0015-005d9e6adec4:1")))
- quid "391ADD280245"
- type "boolean"
- exportControl "Public")
- (object ClassAttribute "static"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0016-005d9e6adec4:1")))
- quid "3829C6E40350"
- type "boolean"
- exportControl "Public")
- (object ClassAttribute "javaVisibility"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0017-005d9e6adec4:1")))
- quid "3829C6EB0397"
- type "JavaVisibilityKind"
- quidu "382333BE032E"
- exportControl "Public"))
- language "none")
- (object Class "Field"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0018-005d9e6adec4:1")))
- quid "3654AF8F0280"
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "400487F90334"
- supplier "Logical View::ecore::ETypedElement"
- quidu "3903D4F60398"))
- operations (list Operations
- (object Operation "getContainingJavaClass"
- quid "3B65B5120024"
- documentation "Get the class that this field is within."
- result "JavaClass"
- concurrency "Sequential"
- opExportControl "Public"
- uid 0
- quidu "36549FCC00FA")
- (object Operation "isArray"
- quid "3B65B55F01E7"
- documentation "Is this field an array type."
- result "boolean"
- concurrency "Sequential"
- opExportControl "Public"
- uid 0))
- class_attributes (list class_attribute_list
- (object ClassAttribute "final"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-001d-005d9e6adec4:1")))
- quid "3829C6BE026F"
- type "boolean"
- exportControl "Public")
- (object ClassAttribute "static"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-001e-005d9e6adec4:1")))
- quid "3829C6C202ED"
- type "boolean"
- exportControl "Public")
- (object ClassAttribute "javaVisibility"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-001f-005d9e6adec4:1")))
- quid "3829C6C7034F"
- type "JavaVisibilityKind"
- quidu "382333BE032E"
- exportControl "Public")
- (object ClassAttribute "transient"
- quid "4004880103B8"
- type "boolean"
- exportControl "Public")
- (object ClassAttribute "volatile"
- quid "40048808012D"
- type "boolean"
- exportControl "Public"))
- language "none")
- (object Class "TypeKind"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0020-005d9e6adec4:1")))
- quid "3654B46002BF"
- documentation "UNDEFINED=1 CLASS=2 INTERFACE=3 EXCEPTION=4"
- stereotype "enumeration"
- class_attributes (list class_attribute_list
- (object ClassAttribute "UNDEFINED"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0021-005d9e6adec4:1")))
- quid "380B9E3601A1"
- exportControl "Public")
- (object ClassAttribute "CLASS"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0022-005d9e6adec4:1")))
- quid "380B9E44025D"
- exportControl "Public")
- (object ClassAttribute "INTERFACE"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0023-005d9e6adec4:1")))
- quid "380B9E560124"
- exportControl "Public")
- (object ClassAttribute "EXCEPTION"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0024-005d9e6adec4:1")))
- quid "380B9E6501A1"
- exportControl "Public"))
- language "none")
- (object Class "Block"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0025-005d9e6adec4:1")))
- quid "380F88370150"
- class_attributes (list class_attribute_list
- (object ClassAttribute "source"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0026-005d9e6adec4:1")))
- quid "3810E7FC0239"
- type "String"
- exportControl "Public")
- (object ClassAttribute "name"
- quid "3A6C53E10029"
- type "String"
- exportControl "Public")))
- (object Class "Comment"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0027-005d9e6adec4:1")))
- quid "380F889B02B8"
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0028-005d9e6adec4:1")))
- quid "380F88D600A5"
- supplier "Logical View::java::Block"
- quidu "380F88370150")))
- (object Class "Statement"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0029-005d9e6adec4:1")))
- quid "380F88B9025A"
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-002a-005d9e6adec4:1")))
- quid "380F88DA0056"
- supplier "Logical View::java::Block"
- quidu "380F88370150")))
- (object Class "JavaPackage"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-002b-005d9e6adec4:1")))
- quid "38108E0301D2"
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-002c-005d9e6adec4:1")))
- quid "399094D70046"
- supplier "Logical View::ecore::EPackage"
- quidu "3905C3F7000A"))
- language "Java")
- (object Class "JavaVisibilityKind"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0030-005d9e6adec4:1")))
- quid "382333BE032E"
- documentation
-|PACKAGE=1
-|PUBLIC=2
-|PRIVATE=3
-|PROTECTED=4
-
- stereotype "enumeration"
- class_attributes (list class_attribute_list
- (object ClassAttribute "PUBLIC"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0031-005d9e6adec4:1")))
- quid "382333E2022C"
- exportControl "Public")
- (object ClassAttribute "PRIVATE"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0032-005d9e6adec4:1")))
- quid "382333E7003E"
- exportControl "Public")
- (object ClassAttribute "PROTECTED"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0033-005d9e6adec4:1")))
- quid "382333E80389"
- exportControl "Public")
- (object ClassAttribute "PACKAGE"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0034-005d9e6adec4:1")))
- quid "382333EA038C"
- exportControl "Public")))
- (object Class "JavaParameterKind"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0035-005d9e6adec4:1")))
- quid "391C1E8F0123"
- documentation
-|IN=0
-|OUT=1
-|INOUT=2
-|RETURN=3
-
- stereotype "enumeration"
- class_attributes (list class_attribute_list
- (object ClassAttribute "IN"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0036-005d9e6adec4:1")))
- quid "391C1EFC02EC"
- exportControl "Public")
- (object ClassAttribute "OUT"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0037-005d9e6adec4:1")))
- quid "391C1EFF016A"
- exportControl "Public")
- (object ClassAttribute "INOUT"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0038-005d9e6adec4:1")))
- quid "391C1F010040"
- exportControl "Public")
- (object ClassAttribute "RETURN"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0039-005d9e6adec4:1")))
- quid "391C21940387"
- exportControl "Public")))
- (object Class "JavaDataType"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-003a-005d9e6adec4:1")))
- quid "395913340316"
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "3E5268E201B1"
- supplier "Logical View::ecore::EClass"
- quidu "3903D5BF000A"))
- operations (list Operations
- (object Operation "getDefaultValueString"
- quid "3B65BF910303"
- documentation "Return the default string representing the default value of the primitive."
- result "String"
- concurrency "Sequential"
- opExportControl "Public"
- uid 0)))
- (object Class "ArrayType"
- quid "3A9D79ED01DF"
- documentation
-|Describes a Java Array type
-| For multi-dimensional arrays, it is unlikely that the component type will be
-| specified directly. This would require instantiating a chain of component types
-| such as String[][][][]->String[][][]->String[][]->String[]->String.
-|
-| The component type relationship will be computed if the finalComponentType
-| and array dimensions is specified.
-|
-| For this reason, the preferred way to create is through the JavaRefFactory factory method:
-| createArrayType(JavaClass finalComponentType, int dimensions)
-
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "3A9D79FD010F"
- supplier "Logical View::java::JavaClass"
- quidu "36549FCC00FA"))
- operations (list Operations
- (object Operation "getFinalComponentType"
- quid "3A9D7A820193"
- documentation
-|Get the final component type for this Array Type.
-|
-|In order to ensure a unique instance, we will resolve this type using reflection. It turns out to be most efficient to just do this by trimming the name.
-
- result "JTypeJavaHelpers"
- concurrency "Sequential"
- opExportControl "Public"
- uid 0
- quidu "3B65ADE403A6")
- (object Operation "getComponentTypeAsHelper"
- quid "3B65AF980136"
- documentation
-|Get the component type of this array.
-|
-|If this is a multi-dimensional array, the component type will be the nested array type.
-
- result "JTypeJavaHelpers"
- concurrency "Sequential"
- opExportControl "Public"
- uid 0
- quidu "3B65ADE403A6")
- (object Operation "isPrimitiveArray"
- quid "3B65B41702B8"
- documentation "Is this an array of java primitives"
- result "boolean"
- concurrency "Sequential"
- opExportControl "Public"
- uid 0)
- (object Operation "setComponentType"
- quid "3B65B45503BC"
- documentation "Set the component type."
- parameters (list Parameters
- (object Parameter "helperComponentType"
- quid "3C62FAB90226"
- type "JTypeJavaHelpers"
- quidu "3B65ADE403A6"))
- concurrency "Sequential"
- opExportControl "Public"
- uid 0))
- class_attributes (list class_attribute_list
- (object ClassAttribute "arrayDimensions"
- attributes (list Attribute_Set
- (object Attribute
- tool "Java"
- name "Final"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Volatile"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Transient"
- value FALSE)
- (object Attribute
- tool "Java"
- name "IndividualChangeMgt"
- value FALSE)
- (object Attribute
- tool "Java"
- name "PropertyType"
- value ("BeanProperty_Set" 71))
- (object Attribute
- tool "Java"
- name "Read/Write"
- value ("Read/Write_Set" 81)))
- quid "3A9D7AC80284"
- type "int"
- exportControl "Public"))
- language "Java")
- (object Class "JTypeJavaHelpers"
- quid "3B65ADE403A6"
- documentation "This interface is a common interface between JavaClass and JavaDataType plus some common helper methods."
- stereotype "datatype"
- class_attributes (list class_attribute_list
- (object ClassAttribute "org.eclipse.jem.java.JavaHelpers"
- quid "3B65AE170269"
- stereotype "javaclass"
- exportControl "Public")))
- (object Class "JTypeList"
- quid "3B65B87602C1"
- documentation "java.util.List type"
- stereotype "datatype"
- class_attributes (list class_attribute_list
- (object ClassAttribute "java.util.List"
- quid "3B65B88F0399"
- stereotype "javaclass"
- exportControl "Public")))
- (object Class "JavaEvent"
- quid "3C62FAF103C8"
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "3DF4CE830390"
- supplier "Logical View::ecore::EStructuralFeature"
- quidu "3903D59D0230"))
- abstract TRUE)
- (object Association "Implements"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-003c-005d9e6adec4:1")))
- quid "3654A0D70242"
- documentation "Constraint - Source of implements is of TypeKind CLASSTYPE and target is INTERFACETYPE"
- roles (list role_list
- (object Role "implementsInterfaces"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-003d-005d9e6adec4:1")))
- quid "3654A0DA0109"
- label "implementsInterfaces"
- supplier "Logical View::java::JavaClass"
- quidu "36549FCC00FA"
- client_cardinality (value cardinality "0..n")
- is_navigable TRUE)
- (object Role "implementedBy"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-003e-005d9e6adec4:1")))
- quid "3654A0DA0138"
- label "implementedBy"
- supplier "Logical View::java::JavaClass"
- quidu "36549FCC00FA"
- client_cardinality (value cardinality "0..n"))))
- (object Association "MethodHas"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-003f-005d9e6adec4:1")))
- quid "3654AF0302CE"
- roles (list role_list
- (object Role "parameters"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0040-005d9e6adec4:1")))
- quid "3654AF080196"
- label "parameters"
- supplier "Logical View::java::JavaParameter"
- quidu "3654AD780280"
- client_cardinality (value cardinality "0..n")
- Constraints "ordered"
- Containment "By Value"
- is_navigable TRUE)
- (object Role "method"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0041-005d9e6adec4:1")))
- quid "3654AF080197"
- label "method"
- supplier "Logical View::java::Method"
- quidu "3654AE910271"
- client_cardinality (value cardinality "0..1")
- is_aggregate TRUE)))
- (object Association "$UNNAMED$0"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0042-005d9e6adec4:1")))
- quid "3654B08801A5"
- roles (list role_list
- (object Role "/type"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0043-005d9e6adec4:1")))
- quid "3654B091007D"
- label "/type"
- supplier "Logical View::java::JavaClass"
- quidu "36549FCC00FA"
- is_navigable TRUE)
- (object Role "/typedElement"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0044-005d9e6adec4:1")))
- quid "3654B091008C"
- label "/typedElement"
- supplier "Logical View::java::JavaParameter"
- quidu "3654AD780280"
- client_cardinality (value cardinality "1"))))
- (object Association "MethodThrows"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0045-005d9e6adec4:1")))
- quid "3810B61B0178"
- documentation "Target must be of kind EXCEPTIONTYPE"
- roles (list role_list
- (object Role "javaExceptions"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0046-005d9e6adec4:1")))
- quid "3810B61E01C3"
- label "javaExceptions"
- supplier "Logical View::java::JavaClass"
- quidu "36549FCC00FA"
- client_cardinality (value cardinality "0..n")
- is_navigable TRUE)
- (object Role "method"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0047-005d9e6adec4:1")))
- quid "3810B61E0227"
- label "method"
- supplier "Logical View::java::Method"
- quidu "3654AE910271")))
- (object Association "Contents"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0048-005d9e6adec4:1")))
- quid "3810E6080268"
- roles (list role_list
- (object Role "containedBy"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0049-005d9e6adec4:1")))
- quid "3810E60E0144"
- label "containedBy"
- supplier "Logical View::java::Block"
- quidu "380F88370150"
- client_cardinality (value cardinality "0..1")
- is_aggregate TRUE)
- (object Role "contents"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-004a-005d9e6adec4:1")))
- quid "3810E60E0162"
- label "contents"
- supplier "Logical View::java::Block"
- quidu "380F88370150"
- client_cardinality (value cardinality "0..n")
- Containment "By Value"
- is_navigable TRUE)))
- (object Association "ClassImports"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-004b-005d9e6adec4:1")))
- quid "3829C4BF000D"
- roles (list role_list
- (object Role "classImport"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-004c-005d9e6adec4:1")))
- quid "3829C4BF000E"
- label "classImport"
- supplier "Logical View::java::JavaClass"
- quidu "36549FCC00FA"
- client_cardinality (value cardinality "0..n")
- Constraints "ordered"
- is_navigable TRUE)
- (object Role "importedBy"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-004d-005d9e6adec4:1")))
- quid "3829C4BF000F"
- label "importedBy"
- supplier "Logical View::java::JavaClass"
- quidu "36549FCC00FA"
- client_cardinality (value cardinality "0..n"))))
- (object Association "PackageImports"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-004e-005d9e6adec4:1")))
- quid "3829C4EC0207"
- roles (list role_list
- (object Role "packageImports"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-004f-005d9e6adec4:1")))
- quid "3829C4EE00FB"
- label "packageImports"
- supplier "Logical View::java::JavaPackage"
- quidu "38108E0301D2"
- client_cardinality (value cardinality "0..n")
- Constraints "ordered"
- is_navigable TRUE)
- (object Role "importedBy"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0050-005d9e6adec4:1")))
- quid "3829C4EE0105"
- label "importedBy"
- supplier "Logical View::java::JavaClass"
- quidu "36549FCC00FA"
- client_cardinality (value cardinality "0..n"))))
- (object Association "$UNNAMED$1"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0051-005d9e6adec4:1")))
- quid "382A29BD0219"
- roles (list role_list
- (object Role "fields"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0052-005d9e6adec4:1")))
- quid "382A29BE0350"
- label "fields"
- supplier "Logical View::java::Field"
- quidu "3654AF8F0280"
- client_cardinality (value cardinality "0..n")
- Containment "By Value"
- is_navigable TRUE)
- (object Role "javaClass"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0053-005d9e6adec4:1")))
- quid "382A29BE03BF"
- label "javaClass"
- supplier "Logical View::java::JavaClass"
- quidu "36549FCC00FA"
- is_navigable TRUE
- is_aggregate TRUE)))
- (object Association "$UNNAMED$2"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0054-005d9e6adec4:1")))
- quid "382A29C0017D"
- roles (list role_list
- (object Role "methods"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0055-005d9e6adec4:1")))
- quid "382A29C10174"
- label "methods"
- supplier "Logical View::java::Method"
- quidu "3654AE910271"
- client_cardinality (value cardinality "0..n")
- Containment "By Value"
- is_navigable TRUE)
- (object Role "javaClass"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0056-005d9e6adec4:1")))
- quid "382A29C1020A"
- label "javaClass"
- supplier "Logical View::java::JavaClass"
- quidu "36549FCC00FA"
- is_navigable TRUE
- is_aggregate TRUE)))
- (object Association "$UNNAMED$3"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0057-005d9e6adec4:1")))
- quid "392A9EB403C6"
- roles (list role_list
- (object Role "/supertype"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0058-005d9e6adec4:1")))
- quid "392A9EB803B7"
- label "/supertype"
- supplier "Logical View::java::JavaClass"
- quidu "36549FCC00FA"
- client_cardinality (value cardinality "1")
- is_navigable TRUE)
- (object Role "/subtype"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0059-005d9e6adec4:1")))
- quid "392A9EB90098"
- label "/subtype"
- supplier "Logical View::java::JavaClass"
- quidu "36549FCC00FA"
- client_cardinality (value cardinality "0..n"))))
- (object Association "$UNNAMED$4"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-005a-005d9e6adec4:1")))
- quid "392A9F0301AC"
- roles (list role_list
- (object Role "/supertype"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-005b-005d9e6adec4:1")))
- quid "392A9F090328"
- label "/supertype"
- supplier "Logical View::java::JavaClass"
- quidu "36549FCC00FA"
- client_cardinality (value cardinality "0..n")
- is_navigable TRUE)
- (object Role "/subtype"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-005c-005d9e6adec4:1")))
- quid "392A9F0A001C"
- label "/subtype"
- supplier "Logical View::java::JavaClass"
- quidu "36549FCC00FA"
- client_cardinality (value cardinality "0..n")
- is_navigable TRUE)))
- (object Association "$UNNAMED$5"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-005d-005d9e6adec4:1")))
- quid "392AA09503E5"
- roles (list role_list
- (object Role "initializers"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-005e-005d9e6adec4:1")))
- quid "392AA0970153"
- label "initializers"
- supplier "Logical View::java::Initializer"
- quidu "3654A5DC00BB"
- client_cardinality (value cardinality "0..n")
- Containment "By Value"
- is_navigable TRUE)
- (object Role "javaClass"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-005f-005d9e6adec4:1")))
- quid "392AA097015D"
- label "javaClass"
- supplier "Logical View::java::JavaClass"
- quidu "36549FCC00FA"
- is_navigable TRUE
- is_aggregate TRUE)))
- (object Association "$UNNAMED$6"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0060-005d9e6adec4:1")))
- quid "392AA21200C2"
- roles (list role_list
- (object Role "declaredClasses"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0061-005d9e6adec4:1")))
- quid "392AA21701D8"
- label "declaredClasses"
- supplier "Logical View::java::JavaClass"
- quidu "36549FCC00FA"
- client_cardinality (value cardinality "0..n")
- is_navigable TRUE)
- (object Role "declaringClass"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0062-005d9e6adec4:1")))
- quid "392AA21702DC"
- label "declaringClass"
- supplier "Logical View::java::JavaClass"
- quidu "36549FCC00FA"
- client_cardinality (value cardinality "0..1")
- is_navigable TRUE
- is_aggregate TRUE)))
- (object Association "$UNNAMED$7"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0063-005d9e6adec4:1")))
- quid "392AA2A701C1"
- stereotype "derived"
- roles (list role_list
- (object Role "javaClasses"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0064-005d9e6adec4:1"))
- (object Attribute
- tool "Ecore"
- name "isTransient"
- value TRUE)
- (object Attribute
- tool "Ecore"
- name "isVolatile"
- value TRUE)
- (object Attribute
- tool "Ecore"
- name "isChangeable"
- value FALSE))
- quid "392AA2A80367"
- label "javaClasses"
- supplier "Logical View::java::JavaClass"
- quidu "36549FCC00FA"
- client_cardinality (value cardinality "0..n")
- is_navigable TRUE)
- (object Role "javaPackage"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0065-005d9e6adec4:1"))
- (object Attribute
- tool "Ecore"
- name "isTransient"
- value TRUE)
- (object Attribute
- tool "Ecore"
- name "isVolatile"
- value TRUE)
- (object Attribute
- tool "Ecore"
- name "isChangeable"
- value FALSE))
- quid "392AA2A90083"
- label "javaPackage"
- supplier "Logical View::java::JavaPackage"
- quidu "38108E0301D2"
- client_cardinality (value cardinality "0..1")
- is_navigable TRUE
- is_aggregate TRUE)))
- (object Association "$UNNAMED$8"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0066-005d9e6adec4:1")))
- quid "392AAC33036A"
- roles (list role_list
- (object Role "source"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0067-005d9e6adec4:1")))
- quid "392AAC380140"
- label "source"
- supplier "Logical View::java::Block"
- quidu "380F88370150"
- client_cardinality (value cardinality "0..1")
- is_navigable TRUE)
- (object Role "initializer"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0068-005d9e6adec4:1")))
- quid "392AAC380168"
- label "initializer"
- supplier "Logical View::java::Initializer"
- quidu "3654A5DC00BB")))
- (object Association "$UNNAMED$9"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-0069-005d9e6adec4:1")))
- quid "392AAC5602A2"
- roles (list role_list
- (object Role "initializer"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-006a-005d9e6adec4:1")))
- quid "392AAC5702DF"
- label "initializer"
- supplier "Logical View::java::Block"
- quidu "380F88370150"
- client_cardinality (value cardinality "0..1")
- Containment "By Value"
- is_navigable TRUE)
- (object Role "field"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-006b-005d9e6adec4:1")))
- quid "392AAC570307"
- label "field"
- supplier "Logical View::java::Field"
- quidu "3654AF8F0280"
- is_aggregate TRUE)))
- (object Association "$UNNAMED$10"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c74525a0-8826-11e1-006c-005d9e6adec4:1")))
- quid "392AACA501E7"
- roles (list role_list
- (object Role "source"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c746ac40-8826-11e1-0000-005d9e6adec4:1")))
- quid "392AACA7017C"
- label "source"
- supplier "Logical View::java::Block"
- quidu "380F88370150"
- client_cardinality (value cardinality "0..1")
- is_navigable TRUE)
- (object Role "method"
- attributes (list Attribute_Set
- (object Attribute
- tool "IDL"
- name "uuid"
- value (value Text "DCE:c746ac40-8826-11e1-0001-005d9e6adec4:1")))
- quid "392AACA701B8"
- label "method"
- supplier "Logical View::java::Method"
- quidu "3654AE910271")))
- (object Association "$UNNAMED$11"
- quid "3C62FBE00168"
- roles (list role_list
- (object Role "events"
- quid "3C62FBE2008F"
- label "events"
- supplier "Logical View::java::JavaEvent"
- quidu "3C62FAF103C8"
- client_cardinality (value cardinality "0..n")
- Containment "By Value"
- is_navigable TRUE)
- (object Role "$UNNAMED$12"
- quid "3C62FBE20091"
- supplier "Logical View::java::JavaClass"
- quidu "36549FCC00FA"
- is_aggregate TRUE)))
- (object Association "$UNNAMED$13"
- quid "3C8938770253"
- roles (list role_list
- (object Role "allEvents"
- attributes (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "isTransient"
- value TRUE)
- (object Attribute
- tool "Ecore"
- name "isVolatile"
- value TRUE))
- quid "3C89387802CC"
- label "allEvents"
- supplier "Logical View::java::JavaEvent"
- quidu "3C62FAF103C8"
- client_cardinality (value cardinality "0..n")
- Containment "By Reference"
- is_navigable TRUE)
- (object Role "$UNNAMED$14"
- quid "3C89387802CE"
- supplier "Logical View::java::JavaClass"
- quidu "36549FCC00FA"
- is_aggregate TRUE)))
- (object Association "$UNNAMED$15"
- quid "3DF4CAAD01A3"
- roles (list role_list
- (object Role "componentType"
- quid "3DF4CAAE01EB"
- label "componentType"
- supplier "Logical View::ecore::EClassifier"
- quidu "3ACE4FEE0371"
- client_cardinality (value cardinality "1")
- is_navigable TRUE)
- (object Role "$UNNAMED$16"
- quid "3DF4CAAE01F5"
- supplier "Logical View::java::ArrayType"
- quidu "3A9D79ED01DF"))))
- logical_presentations (list unit_reference_list
- (object ClassDiagram "Ecore binding"
- quid "38109C0F009B"
- title "Ecore binding"
- zoom 100
- max_height 28350
- max_width 21600
- origin_x 0
- origin_y 4094
- items (list diagram_item_list
- (object ClassView "Class" "Logical View::java::Field" @1
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- ShowOperationSignature TRUE
- location (1104, 576)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @1
- location (689, 368)
- fill_color 13434879
- nlines 1
- max_width 830
- justify 0
- label "Field")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "3654AF8F0280"
- compartment (object Compartment
- Parent_View @1
- location (689, 424)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 16777215
- anchor 2
- nlines 8
- max_width 709)
- width 848
- height 438
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::java::JavaPackage" @2
- ShowCompartmentStereotypes TRUE
- IncludeOperation TRUE
- location (192, 480)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @2
- location (31, 434)
- fill_color 13434879
- nlines 1
- max_width 322
- justify 0
- label "JavaPackage")
- icon_style "Label"
- line_color 3342489
- fill_color 13434879
- quidu "38108E0301D2"
- width 340
- height 114
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::ecore::EPackage" @3
- ShowCompartmentStereotypes TRUE
- location (192, 144)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @3
- location (103, 45)
- nlines 2
- max_width 178
- justify 0
- label "EPackage")
- icon_style "Label"
- line_color 3342489
- fill_color 16777215
- quidu "3905C3F7000A"
- width 196
- height 222
- annotation 8
- autoResize TRUE)
- (object InheritView "" @4
- stereotype TRUE
- line_color 3342489
- quidu "399094D70046"
- client @2
- supplier @3
- line_style 0)
- (object ClassView "Class" "Logical View::ecore::EClass" @5
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (1728, 1824)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @5
- location (1465, 1615)
- nlines 2
- max_width 526
- justify 0
- label "EClass")
- icon_style "Label"
- line_color 3342489
- fill_color 16777215
- quidu "3903D5BF000A"
- compartment (object Compartment
- Parent_View @5
- location (1465, 1715)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- anchor 2
- nlines 6
- max_width 452)
- width 544
- height 440
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::ecore::EOperation" @6
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (2320, 144)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @6
- location (2231, 45)
- nlines 2
- max_width 178
- justify 0
- label "EOperation")
- icon_style "Label"
- line_color 3342489
- fill_color 16777215
- quidu "3904DAA200A0"
- width 196
- height 222
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::java::JavaDataType" @7
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- ShowOperationSignature TRUE
- location (352, 1216)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @7
- location (11, 1143)
- fill_color 13434879
- nlines 1
- max_width 682
- justify 0
- label "JavaDataType")
- icon_style "Label"
- line_color 3342489
- fill_color 13434879
- quidu "395913340316"
- compartment (object Compartment
- Parent_View @7
- location (11, 1199)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 16777215
- anchor 2
- nlines 2
- max_width 585)
- width 700
- height 168
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::java::Method" @8
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- ShowOperationSignature TRUE
- location (2336, 768)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @8
- location (1736, 357)
- fill_color 13434879
- nlines 1
- max_width 1200
- justify 0
- label "Method")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "3654AE910271"
- compartment (object Compartment
- Parent_View @8
- location (1736, 413)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 16777215
- anchor 2
- nlines 17
- max_width 1027)
- width 1218
- height 844
- annotation 8
- autoResize TRUE)
- (object InheritView "" @9
- stereotype TRUE
- line_color 3342489
- quidu "3990953803AD"
- client @8
- supplier @6
- line_style 3
- origin_attachment (2376, 346)
- terminal_attachment (2376, 255))
- (object ClassView "Class" "Logical View::java::JavaClass" @10
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- ShowOperationSignature TRUE
- location (1312, 2864)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @10
- location (330, 2273)
- fill_color 13434879
- nlines 1
- max_width 1964
- justify 0
- label "JavaClass")
- icon_style "Label"
- line_color 3342489
- fill_color 13434879
- quidu "36549FCC00FA"
- compartment (object Compartment
- Parent_View @10
- location (330, 2329)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 16777215
- anchor 2
- nlines 25
- max_width 1680)
- width 1982
- height 1204
- annotation 8
- autoResize TRUE)
- (object InheritView "" @11
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- stereotype TRUE
- line_color 3342489
- quidu "3990950000B3"
- client @10
- supplier @5
- line_style 3
- origin_attachment (1594, 2262)
- terminal_attachment (1594, 2044))
- (object ClassView "Class" "Logical View::java::JavaParameter" @12
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- ShowOperationSignature TRUE
- location (1008, 1472)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @12
- location (608, 1286)
- fill_color 13434879
- nlines 1
- max_width 800
- justify 0
- label "JavaParameter")
- icon_style "Label"
- line_color 3342489
- fill_color 13434879
- quidu "3654AD780280"
- compartment (object Compartment
- Parent_View @12
- location (608, 1342)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 16777215
- anchor 2
- nlines 7
- max_width 685)
- width 818
- height 394
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::ecore::EParameter" @13
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (1008, 960)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @13
- location (919, 861)
- nlines 2
- max_width 178
- justify 0
- label "EParameter")
- icon_style "Icon"
- line_color 3342489
- fill_color 16777215
- quidu "3903E6150104"
- width 196
- height 222
- annotation 8
- autoResize TRUE)
- (object InheritView "" @14
- stereotype TRUE
- line_color 3342489
- quidu "3B7818B00186"
- client @12
- supplier @13
- line_style 0)
- (object ClassView "Class" "Logical View::ecore::EClass" @15
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (320, 816)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @15
- location (56, 630)
- nlines 1
- max_width 528
- justify 0
- label "EClass")
- icon_style "Icon"
- line_color 3342489
- fill_color 16777215
- quidu "3903D5BF000A"
- compartment (object Compartment
- Parent_View @15
- location (56, 730)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- anchor 2
- nlines 6
- max_width 452)
- width 546
- height 394
- annotation 8
- autoResize TRUE)
- (object InheritView "" @16
- stereotype TRUE
- line_color 3342489
- quidu "3E5268E201B1"
- client @7
- supplier @15
- line_style 0)
- (object ClassView "Class" "Logical View::ecore::ETypedElement" @17
- ShowCompartmentStereotypes TRUE
- IncludeOperation TRUE
- location (1104, 112)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics TRUE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @17
- location (916, 41)
- nlines 1
- max_width 376
- justify 0
- label "ETypedElement")
- icon_style "Icon"
- line_color 3342489
- fill_color 16777215
- quidu "3903D4F60398"
- width 394
- height 164
- annotation 8
- autoResize TRUE)
- (object InheritView "" @18
- stereotype TRUE
- line_color 3342489
- quidu "400487F90334"
- client @1
- supplier @17
- line_style 0)))
- (object ClassDiagram "Polymorphism"
- quid "38109D000373"
- title "Polymorphism"
- zoom 100
- max_height 28350
- max_width 21600
- origin_x 0
- origin_y 0
- items (list diagram_item_list
- (object ClassView "Class" "Logical View::java::JavaClass" @19
- ShowCompartmentStereotypes TRUE
- location (496, 576)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @19
- location (365, 530)
- fill_color 13434879
- nlines 1
- max_width 262
- justify 0
- label "JavaClass")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "36549FCC00FA"
- width 280
- height 114
- annotation 8
- autoResize TRUE)
- (object AssociationViewNew "$UNNAMED$3" @20
- location (166, 537)
- stereotype TRUE
- line_color 3342489
- quidu "392A9EB403C6"
- roleview_list (list RoleViews
- (object RoleView "/supertype" @21
- Parent_View @20
- location (-330, 217)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @22
- Parent_View @21
- location (234, 480)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 226
- justify 0
- label "+/supertype"
- pctDist 0.419192
- height 38
- orientation 0)
- stereotype TRUE
- line_color 3342489
- quidu "392A9EB803B7"
- client @20
- supplier @19
- vertices (list Points
- (166, 537)
- (166, 517)
- (356, 517))
- line_style 3
- origin_attachment (166, 537)
- terminal_attachment (356, 517)
- label (object SegLabel @23
- Parent_View @21
- location (334, 464)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "1"
- pctDist 0.900000
- height 54
- orientation 0))
- (object RoleView "/subtype" @24
- Parent_View @20
- location (-330, 217)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @25
- Parent_View @24
- location (257, 582)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 188
- justify 0
- label "+/subtype"
- pctDist 0.532468
- height 24
- orientation 1)
- stereotype TRUE
- line_color 3342489
- quidu "392A9EB90098"
- client @20
- supplier @19
- vertices (list Points
- (166, 537)
- (166, 558)
- (356, 558))
- line_style 3
- origin_attachment (166, 537)
- terminal_attachment (356, 558)
- label (object SegLabel @26
- Parent_View @24
- location (334, 612)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "0..n"
- pctDist 0.900000
- height 54
- orientation 1))))
- (object ClassView "Class" "Logical View::java::JavaClass" @27
- ShowCompartmentStereotypes TRUE
- location (1392, 576)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @27
- location (1261, 530)
- fill_color 13434879
- nlines 1
- max_width 262
- justify 0
- label "JavaClass")
- icon_style "Label"
- line_color 3342489
- fill_color 13434879
- quidu "36549FCC00FA"
- width 280
- height 114
- annotation 8
- autoResize TRUE)
- (object AssociationViewNew "Implements" @28
- location (944, 521)
- stereotype TRUE
- line_color 3342489
- quidu "3654A0D70242"
- roleview_list (list RoleViews
- (object RoleView "implementsInterfaces" @29
- Parent_View @28
- location (430, -54)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @30
- Parent_View @29
- location (839, 488)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 407
- justify 0
- label "+implementsInterfaces"
- pctDist -0.343558
- height 34
- orientation 0)
- stereotype TRUE
- line_color 3342489
- quidu "3654A0DA0109"
- client @28
- supplier @27
- line_style 3
- origin_attachment (944, 521)
- terminal_attachment (1252, 521)
- label (object SegLabel @31
- Parent_View @29
- location (1181, 485)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "0..n"
- pctDist 0.773006
- height 37
- orientation 0))
- (object RoleView "implementedBy" @32
- Parent_View @28
- location (430, -54)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @33
- Parent_View @32
- location (1087, 575)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 312
- justify 0
- label "+implementedBy"
- pctDist -0.470769
- height 54
- orientation 0)
- stereotype TRUE
- line_color 3342489
- quidu "3654A0DA0138"
- client @28
- supplier @19
- line_style 3
- origin_attachment (944, 521)
- terminal_attachment (636, 521)
- label (object SegLabel @34
- Parent_View @32
- location (684, 564)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "0..n"
- pctDist 0.843230
- height 43
- orientation 0))))
- (object AssociationViewNew "$UNNAMED$4" @35
- location (1750, 601)
- stereotype TRUE
- line_color 3342489
- quidu "392A9F0301AC"
- roleview_list (list RoleViews
- (object RoleView "/supertype" @36
- Parent_View @35
- location (358, 265)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @37
- Parent_View @36
- location (1721, 640)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 226
- justify 0
- label "+/supertype"
- pctDist 0.227273
- height 13
- orientation 0)
- stereotype TRUE
- line_color 3342489
- quidu "392A9F090328"
- client @35
- supplier @27
- vertices (list Points
- (1750, 601)
- (1750, 627)
- (1532, 627))
- line_style 3
- origin_attachment (1750, 601)
- terminal_attachment (1532, 627)
- label (object SegLabel @38
- Parent_View @36
- location (1557, 574)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "0..n"
- pctDist 0.900000
- height 54
- orientation 1))
- (object RoleView "/subtype" @39
- Parent_View @35
- location (358, 265)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @40
- Parent_View @39
- location (1626, 553)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 188
- justify 0
- label "+/subtype"
- pctDist 0.615970
- height 24
- orientation 1)
- stereotype TRUE
- line_color 3342489
- quidu "392A9F0A001C"
- client @35
- supplier @27
- vertices (list Points
- (1750, 601)
- (1750, 576)
- (1532, 576))
- line_style 3
- origin_attachment (1750, 601)
- terminal_attachment (1532, 576)
- label (object SegLabel @41
- Parent_View @39
- location (1557, 630)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "0..n"
- pctDist 0.900000
- height 54
- orientation 0))))))
- (object ClassDiagram "Main"
- quid "38109F92000B"
- title "Main"
- zoom 100
- max_height 28350
- max_width 21600
- origin_x 0
- origin_y 2760
- items (list diagram_item_list
- (object NoteView @42
- location (848, 1840)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @42
- location (551, 1718)
- fill_color 13434879
- nlines 4
- max_width 559
- label "This should really be JavaClass and JavaDataType, eClassifier is their closest common ancestor.")
- line_color 3342489
- fill_color 8421631
- width 619
- height 256)
- (object NoteView @43
- location (272, 320)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @43
- location (107, 166)
- fill_color 13434879
- nlines 6
- max_width 295
- label "The classes will be contained by the standard EPackage metaObjects relationship.")
- line_color 3342489
- fill_color 13434879
- width 355
- height 320)
- (object ClassView "Class" "Logical View::java::Field" @44
- ShowCompartmentStereotypes TRUE
- location (1776, 480)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @44
- location (1680, 434)
- fill_color 13434879
- nlines 1
- max_width 192
- justify 0
- label "Field")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "3654AF8F0280"
- width 210
- height 114
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::java::Initializer" @45
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (1568, 224)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @45
- location (1363, 151)
- fill_color 13434879
- nlines 1
- max_width 410
- justify 0
- label "Initializer")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "3654A5DC00BB"
- compartment (object Compartment
- Parent_View @45
- location (1363, 207)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 16777215
- anchor 2
- nlines 2
- max_width 345)
- width 428
- height 168
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::java::JavaPackage" @46
- ShowCompartmentStereotypes TRUE
- IncludeOperation TRUE
- location (608, 96)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @46
- location (447, 50)
- fill_color 13434879
- nlines 1
- max_width 322
- justify 0
- label "JavaPackage")
- icon_style "Label"
- line_color 3342489
- fill_color 13434879
- quidu "38108E0301D2"
- width 340
- height 114
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::java::JavaParameter" @47
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- location (1744, 1584)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @47
- location (1344, 1488)
- fill_color 13434879
- nlines 1
- max_width 800
- justify 0
- label "JavaParameter")
- icon_style "Label"
- line_color 3342489
- fill_color 13434879
- quidu "3654AD780280"
- compartment (object Compartment
- Parent_View @47
- location (1344, 1544)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 16777215
- anchor 2
- nlines 3
- max_width 678)
- width 818
- height 214
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::java::Method" @48
- ShowCompartmentStereotypes TRUE
- location (1712, 992)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @48
- location (1613, 946)
- fill_color 13434879
- nlines 1
- max_width 198
- justify 0
- label "Method")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "3654AE910271"
- width 216
- height 114
- annotation 8
- autoResize TRUE)
- (object AssociationViewNew "MethodHas" @49
- location (1700, 1262)
- stereotype TRUE
- line_color 3342489
- quidu "3654AF0302CE"
- roleview_list (list RoleViews
- (object RoleView "method" @50
- Parent_View @49
- location (308, 238)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- stereotype TRUE
- line_color 3342489
- quidu "3654AF080197"
- client @49
- supplier @48
- line_style 3
- origin_attachment (1700, 1262)
- terminal_attachment (1700, 1049)
- label (object SegLabel @51
- Parent_View @50
- location (1633, 1097)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "0..1"
- pctDist 0.781659
- height 68
- orientation 0))
- (object RoleView "parameters" @52
- Parent_View @49
- location (308, 238)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @53
- Parent_View @52
- location (1837, 1433)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 235
- justify 0
- label "+parameters"
- pctDist 0.803565
- height 137
- orientation 0)
- stereotype TRUE
- line_color 3342489
- quidu "3654AF080196"
- client @49
- supplier @47
- line_style 3
- origin_attachment (1700, 1262)
- terminal_attachment (1700, 1476)
- label (object SegLabel @54
- Parent_View @52
- location (1636, 1456)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "0..n"
- pctDist 0.905128
- height 65
- orientation 1)
- label (object SegLabel @55
- Parent_View @52
- location (1592, 1397)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 3
- anchor_loc 1
- nlines 1
- max_width 159
- justify 0
- label "{ordered}"
- pctDist 0.628821
- height 109
- orientation 1))))
- (object ClassView "Class" "Logical View::java::JavaEvent" @56
- ShowCompartmentStereotypes TRUE
- IncludeOperation TRUE
- ShowOperationSignature TRUE
- location (2192, 656)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics TRUE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @56
- location (2064, 607)
- fill_color 13434879
- nlines 1
- max_width 256
- justify 0
- label "JavaEvent")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "3C62FAF103C8"
- width 274
- height 122
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::java::JavaClass" @57
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- location (560, 672)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @57
- location (374, 554)
- fill_color 13434879
- nlines 1
- max_width 372
- justify 0
- label "JavaClass")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "36549FCC00FA"
- compartment (object Compartment
- Parent_View @57
- location (374, 610)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 16777215
- anchor 2
- nlines 4
- max_width 313)
- width 390
- height 258
- annotation 8
- autoResize TRUE)
- (object AssociationViewNew "$UNNAMED$1" @58
- location (1213, 538)
- stereotype TRUE
- line_color 3342489
- quidu "382A29BD0219"
- roleview_list (list RoleViews
- (object RoleView "fields" @59
- Parent_View @58
- location (733, 282)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @60
- Parent_View @59
- location (1511, 513)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 192
- justify 0
- label "+fields"
- pctDist 0.653017
- height 26
- orientation 0)
- stereotype TRUE
- line_color 3342489
- quidu "382A29BE0350"
- client @58
- supplier @44
- line_style 3
- origin_attachment (1213, 538)
- terminal_attachment (1671, 538)
- label (object SegLabel @61
- Parent_View @59
- location (1624, 485)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "0..n"
- pctDist 0.900000
- height 54
- orientation 0))
- (object RoleView "javaClass" @62
- Parent_View @58
- location (733, 282)
- stereotype TRUE
- line_color 3342489
- quidu "382A29BE03BF"
- client @58
- supplier @57
- line_style 3
- origin_attachment (1213, 538)
- terminal_attachment (755, 538))))
- (object AssociationViewNew "$UNNAMED$5" @63
- location (916, 307)
- stereotype TRUE
- line_color 3342489
- quidu "392AA09503E5"
- roleview_list (list RoleViews
- (object RoleView "initializers" @64
- Parent_View @63
- location (276, 99)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @65
- Parent_View @64
- location (1096, 216)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 212
- justify 0
- label "+initializers"
- pctDist 0.410719
- height 92
- orientation 0)
- stereotype TRUE
- line_color 3342489
- quidu "392AA0970153"
- client @63
- supplier @45
- line_style 3
- origin_attachment (916, 307)
- terminal_attachment (1354, 307)
- label (object SegLabel @66
- Parent_View @64
- location (1345, 368)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "0..n"
- pctDist 0.979687
- height 61
- orientation 1))
- (object RoleView "javaClass" @67
- Parent_View @63
- location (276, 99)
- stereotype TRUE
- line_color 3342489
- quidu "392AA097015D"
- client @63
- supplier @57
- vertices (list Points
- (916, 307)
- (713, 307)
- (713, 543))
- line_style 3
- origin_attachment (916, 307)
- terminal_attachment (713, 543))))
- (object AssociationViewNew "$UNNAMED$6" @68
- location (206, 642)
- stereotype TRUE
- line_color 3342489
- quidu "392AA21200C2"
- roleview_list (list RoleViews
- (object RoleView "declaredClasses" @69
- Parent_View @68
- location (-578, 274)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @70
- Parent_View @69
- location (240, 582)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 325
- justify 0
- label "+declaredClasses"
- pctDist 0.343195
- height 31
- orientation 0)
- stereotype TRUE
- line_color 3342489
- quidu "392AA21701D8"
- client @68
- supplier @57
- vertices (list Points
- (206, 642)
- (206, 612)
- (365, 612))
- line_style 3
- origin_attachment (206, 642)
- terminal_attachment (365, 612)
- label (object SegLabel @71
- Parent_View @69
- location (347, 556)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "0..n"
- pctDist 0.902367
- height 57
- orientation 0))
- (object RoleView "declaringClass" @72
- Parent_View @68
- location (-578, 274)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @73
- Parent_View @72
- location (258, 675)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 298
- justify 0
- label "+declaringClass"
- pctDist 0.434286
- height 3
- orientation 1)
- stereotype TRUE
- line_color 3342489
- quidu "392AA21702DC"
- client @68
- supplier @57
- vertices (list Points
- (206, 642)
- (206, 672)
- (365, 672))
- line_style 3
- origin_attachment (206, 642)
- terminal_attachment (365, 672)
- label (object SegLabel @74
- Parent_View @72
- location (345, 726)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "0..1"
- pctDist 0.900000
- height 54
- orientation 1))))
- (object AssociationViewNew "$UNNAMED$7" @75
- location (603, 347)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- stereotype (object SegLabel @76
- Parent_View @75
- location (603, 228)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 10
- anchor_loc 1
- nlines 1
- max_width 450
- justify 0
- label "<<derived>>"
- pctDist 0.500000
- height 120
- orientation 0)
- line_color 3342489
- quidu "392AA2A701C1"
- roleview_list (list RoleViews
- (object RoleView "javaClasses" @77
- Parent_View @75
- location (27, 219)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @78
- Parent_View @77
- location (720, 419)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 248
- justify 0
- label "+javaClasses"
- pctDist 0.367521
- height 117
- orientation 0)
- stereotype TRUE
- line_color 3342489
- quidu "392AA2A80367"
- client @75
- supplier @57
- line_style 3
- origin_attachment (603, 347)
- terminal_attachment (603, 543)
- label (object SegLabel @79
- Parent_View @77
- location (657, 522)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "0..n"
- pctDist 0.900000
- height 54
- orientation 0))
- (object RoleView "javaPackage" @80
- Parent_View @75
- location (27, 219)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @81
- Parent_View @80
- location (482, 179)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 263
- justify 0
- label "+javaPackage"
- pctDist 0.862903
- height 122
- orientation 0)
- stereotype TRUE
- line_color 3342489
- quidu "392AA2A90083"
- client @75
- supplier @46
- line_style 3
- origin_attachment (603, 347)
- terminal_attachment (603, 152)
- label (object SegLabel @82
- Parent_View @80
- location (657, 172)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "0..1"
- pctDist 0.900000
- height 54
- orientation 1))))
- (object AttachView "" @83
- stereotype TRUE
- line_color 3342489
- client @43
- supplier @75
- line_style 0)
- (object AssociationViewNew "$UNNAMED$0" @84
- location (616, 1524)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @85
- Parent_View @84
- location (616, 1465)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics TRUE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- hidden TRUE
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 600
- justify 0
- label ""
- pctDist 0.500000
- height 60
- orientation 0)
- stereotype TRUE
- line_color 3342489
- quidu "3654B08801A5"
- roleview_list (list RoleViews
- (object RoleView "/typedElement" @86
- Parent_View @84
- location (56, 948)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- stereotype TRUE
- line_color 3342489
- quidu "3654B091008C"
- client @84
- supplier @47
- vertices (list Points
- (616, 1524)
- (616, 1584)
- (1335, 1584))
- line_style 3
- origin_attachment (616, 1524)
- terminal_attachment (1335, 1584)
- label (object SegLabel @87
- Parent_View @86
- location (1256, 1531)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "1"
- pctDist 0.900000
- height 54
- orientation 0))
- (object RoleView "/type" @88
- Parent_View @84
- location (56, 948)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @89
- Parent_View @88
- location (697, 1099)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 116
- justify 0
- label "+/type"
- pctDist 0.588161
- height 81
- orientation 1)
- stereotype TRUE
- line_color 3342489
- quidu "3654B091007D"
- client @84
- supplier @57
- line_style 3
- origin_attachment (616, 1524)
- terminal_attachment (616, 801))))
- (object AssociationViewNew "$UNNAMED$2" @90
- location (1088, 961)
- stereotype TRUE
- line_color 3342489
- quidu "382A29C0017D"
- roleview_list (list RoleViews
- (object RoleView "methods" @91
- Parent_View @90
- location (608, 705)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @92
- Parent_View @91
- location (1409, 889)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 192
- justify 0
- label "+methods"
- pctDist 0.624023
- height 73
- orientation 0)
- stereotype TRUE
- line_color 3342489
- quidu "382A29C10174"
- client @90
- supplier @48
- line_style 3
- origin_attachment (1088, 961)
- terminal_attachment (1604, 961)
- label (object SegLabel @93
- Parent_View @91
- location (1483, 1017)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "0..n"
- pctDist 0.766040
- height 56
- orientation 1))
- (object RoleView "javaClass" @94
- Parent_View @90
- location (608, 705)
- stereotype TRUE
- line_color 3342489
- quidu "382A29C1020A"
- client @90
- supplier @57
- vertices (list Points
- (1088, 961)
- (732, 961)
- (732, 801))
- line_style 3
- origin_attachment (1088, 961)
- terminal_attachment (732, 801))))
- (object AssociationViewNew "MethodThrows" @95
- location (1047, 981)
- stereotype TRUE
- line_color 3342489
- quidu "3810B61B0178"
- roleview_list (list RoleViews
- (object RoleView "method" @96
- Parent_View @95
- location (487, 405)
- stereotype TRUE
- line_color 3342489
- quidu "3810B61E0227"
- client @95
- supplier @48
- line_style 3
- origin_attachment (1047, 981)
- terminal_attachment (1604, 981))
- (object RoleView "javaExceptions" @97
- Parent_View @95
- location (487, 405)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @98
- Parent_View @97
- location (733, 945)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 312
- justify 0
- label "+javaExceptions"
- pctDist 0.563664
- height 37
- orientation 1)
- stereotype TRUE
- line_color 3342489
- quidu "3810B61E01C3"
- client @95
- supplier @57
- vertices (list Points
- (1047, 981)
- (669, 981)
- (669, 801))
- line_style 3
- origin_attachment (1047, 981)
- terminal_attachment (669, 801)
- label (object SegLabel @99
- Parent_View @97
- location (723, 857)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "0..n"
- pctDist 0.900000
- height 54
- orientation 1))))
- (object AssociationViewNew "$UNNAMED$11" @100
- location (1541, 806)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- stereotype TRUE
- line_color 3342489
- quidu "3C62FBE00168"
- roleview_list (list RoleViews
- (object RoleView "events" @101
- Parent_View @100
- location (981, 134)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @102
- Parent_View @101
- location (2169, 765)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 144
- justify 0
- label "+events"
- pctDist 0.800000
- height 42
- orientation 0)
- stereotype TRUE
- line_color 3342489
- quidu "3C62FBE2008F"
- client @100
- supplier @56
- vertices (list Points
- (1541, 806)
- (2238, 806)
- (2238, 717))
- line_style 3
- origin_attachment (1541, 806)
- terminal_attachment (2238, 717)
- label (object SegLabel @103
- Parent_View @101
- location (2292, 796)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "0..n"
- pctDist 0.900000
- height 54
- orientation 1))
- (object RoleView "$UNNAMED$12" @104
- Parent_View @100
- location (981, 134)
- stereotype TRUE
- line_color 3342489
- quidu "3C62FBE20091"
- client @100
- supplier @57
- line_style 3
- origin_attachment (1541, 806)
- terminal_attachment (755, 806))))
- (object AssociationViewNew "$UNNAMED$13" @105
- location (1405, 663)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- stereotype TRUE
- line_color 3342489
- quidu "3C8938770253"
- roleview_list (list RoleViews
- (object RoleView "allEvents" @106
- Parent_View @105
- location (845, -9)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @107
- Parent_View @106
- location (1925, 622)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 193
- justify 0
- label "+allEvents"
- pctDist 0.800000
- height 42
- orientation 0)
- stereotype TRUE
- line_color 3342489
- quidu "3C89387802CC"
- client @105
- supplier @56
- line_style 3
- origin_attachment (1405, 663)
- terminal_attachment (2055, 663)
- label (object SegLabel @108
- Parent_View @106
- location (1975, 702)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "0..n"
- pctDist 0.876336
- height 39
- orientation 1))
- (object RoleView "$UNNAMED$14" @109
- Parent_View @105
- location (845, -9)
- stereotype TRUE
- line_color 3342489
- quidu "3C89387802CE"
- client @105
- supplier @57
- line_style 3
- origin_attachment (1405, 663)
- terminal_attachment (755, 663))))
- (object ClassView "Class" "Logical View::ecore::EClassifier" @110
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (448, 2256)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics TRUE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @110
- location (130, 2059)
- nlines 1
- max_width 636
- justify 0
- label "EClassifier")
- icon_style "Icon"
- line_color 3342489
- fill_color 16777215
- quidu "3ACE4FEE0371"
- compartment (object Compartment
- Parent_View @110
- location (130, 2162)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics TRUE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- anchor 2
- nlines 6
- max_width 538)
- width 654
- height 418
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::java::ArrayType" @111
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- location (352, 1328)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @111
- location (112, 1255)
- fill_color 13434879
- nlines 1
- max_width 480
- justify 0
- label "ArrayType")
- icon_style "Label"
- line_color 3342489
- fill_color 13434879
- quidu "3A9D79ED01DF"
- compartment (object Compartment
- Parent_View @111
- location (112, 1311)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 16777215
- anchor 2
- nlines 2
- max_width 405)
- width 498
- height 168
- annotation 8
- autoResize TRUE)
- (object InheritView "" @112
- stereotype TRUE
- line_color 3342489
- quidu "3A9D79FD010F"
- client @111
- supplier @57
- line_style 3
- origin_attachment (431, 1243)
- terminal_attachment (431, 801))
- (object AssociationViewNew "$UNNAMED$15" @113
- location (393, 1729)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- stereotype TRUE
- line_color 3342489
- quidu "3DF4CAAD01A3"
- roleview_list (list RoleViews
- (object RoleView "componentType" @114
- Parent_View @113
- location (-55, 385)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @115
- Parent_View @114
- location (378, 1986)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 328
- justify 0
- label "+componentType"
- pctDist 0.800000
- height 42
- orientation 1)
- stereotype TRUE
- line_color 3342489
- quidu "3DF4CAAE01EB"
- client @113
- supplier @110
- line_style 0
- label (object SegLabel @116
- Parent_View @114
- location (477, 2008)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "1"
- pctDist 0.900000
- height 54
- orientation 0))
- (object RoleView "$UNNAMED$16" @117
- Parent_View @113
- location (-55, 385)
- stereotype TRUE
- line_color 3342489
- quidu "3DF4CAAE01F5"
- client @113
- supplier @111
- line_style 0)))
- (object ClassView "Class" "Logical View::ecore::EStructuralFeature" @118
- ShowCompartmentStereotypes TRUE
- location (2224, 224)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics TRUE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @118
- location (2033, 145)
- nlines 1
- max_width 382
- justify 0
- label "EStructuralFeature")
- icon_style "Icon"
- line_color 3342489
- fill_color 16777215
- quidu "3903D59D0230"
- width 400
- height 182
- annotation 8
- autoResize TRUE)
- (object InheritView "" @119
- stereotype TRUE
- line_color 3342489
- quidu "3DF4CE830390"
- client @56
- supplier @118
- line_style 0)))
- (object ClassDiagram "Imports"
- quid "3810A0DC015D"
- title "Imports"
- zoom 100
- max_height 28350
- max_width 21600
- origin_x 0
- origin_y 0
- items (list diagram_item_list
- (object ClassView "Class" "Logical View::java::JavaClass" @120
- ShowCompartmentStereotypes TRUE
- location (320, 672)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @120
- location (189, 626)
- fill_color 13434879
- nlines 1
- max_width 262
- justify 0
- label "JavaClass")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "36549FCC00FA"
- width 280
- height 114
- annotation 8
- autoResize TRUE)
- (object AssociationViewNew "ClassImports" @121
- location (643, 1115)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @122
- Parent_View @121
- location (677, 1040)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics TRUE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 600
- justify 0
- label "ClassImports"
- pctDist 1.066667
- height 76
- orientation 0)
- stereotype TRUE
- line_color 3342489
- quidu "3829C4BF000D"
- roleview_list (list RoleViews
- (object RoleView "classImport" @123
- Parent_View @121
- location (227, 331)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @124
- Parent_View @123
- location (665, 671)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 240
- justify 0
- label "+classImport"
- pctDist 0.727154
- height 2
- orientation 1)
- stereotype TRUE
- line_color 3342489
- quidu "3829C4BF000E"
- client @121
- supplier @120
- vertices (list Points
- (643, 1115)
- (703, 1115)
- (703, 672)
- (460, 672))
- line_style 3
- origin_attachment (643, 1115)
- terminal_attachment (460, 672)
- label (object SegLabel @125
- Parent_View @123
- location (525, 723)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "0..n"
- pctDist 0.914676
- height 51
- orientation 0)
- label (object SegLabel @126
- Parent_View @123
- location (742, 737)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 3
- anchor_loc 1
- nlines 1
- max_width 159
- justify 0
- label "{ordered}"
- pctDist 0.587467
- height 39
- orientation 1))
- (object RoleView "importedBy" @127
- Parent_View @121
- location (227, 331)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @128
- Parent_View @127
- location (330, 936)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 240
- justify 0
- label "+importedBy"
- pctDist 0.708040
- height 10
- orientation 1)
- stereotype TRUE
- line_color 3342489
- quidu "3829C4BF000F"
- client @121
- supplier @120
- vertices (list Points
- (643, 1115)
- (320, 1115)
- (320, 729))
- line_style 3
- origin_attachment (643, 1115)
- terminal_attachment (320, 729)
- label (object SegLabel @129
- Parent_View @127
- location (280, 802)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "0..n"
- pctDist 0.897611
- height 41
- orientation 0))))
- (object ClassView "Class" "Logical View::java::JavaPackage" @130
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (1408, 224)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @130
- location (1247, 178)
- fill_color 13434879
- nlines 1
- max_width 322
- justify 0
- label "JavaPackage")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "38108E0301D2"
- width 340
- height 114
- annotation 8
- autoResize TRUE)
- (object AssociationViewNew "PackageImports" @131
- location (1023, 382)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @132
- Parent_View @131
- location (1038, 419)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics TRUE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 600
- justify 0
- label "PackageImports"
- pctDist 0.750000
- height 37
- orientation 1)
- stereotype TRUE
- line_color 3342489
- quidu "3829C4EC0207"
- roleview_list (list RoleViews
- (object RoleView "importedBy" @133
- Parent_View @131
- location (-417, -306)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @134
- Parent_View @133
- location (648, 430)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 240
- justify 0
- label "+importedBy"
- pctDist 0.646526
- height 41
- orientation 1)
- stereotype TRUE
- line_color 3342489
- quidu "3829C4EE0105"
- client @131
- supplier @120
- vertices (list Points
- (1023, 382)
- (1023, 255)
- (413, 614))
- line_style 0
- label (object SegLabel @135
- Parent_View @133
- location (512, 618)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "0..n"
- pctDist 0.900000
- height 54
- orientation 0))
- (object RoleView "packageImports" @136
- Parent_View @131
- location (-417, -306)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @137
- Parent_View @136
- location (1223, 579)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 312
- justify 0
- label "+packageImports"
- pctDist 0.522472
- height 40
- orientation 0)
- stereotype TRUE
- line_color 3342489
- quidu "3829C4EE00FB"
- client @131
- supplier @130
- vertices (list Points
- (1023, 382)
- (1023, 618)
- (1265, 618)
- (1386, 281))
- line_style 0
- label (object SegLabel @138
- Parent_View @136
- location (1409, 378)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "0..n"
- pctDist 0.900000
- height 54
- orientation 1)
- label (object SegLabel @139
- Parent_View @136
- location (1424, 500)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 3
- anchor_loc 1
- nlines 1
- max_width 159
- justify 0
- label "{ordered}"
- pctDist 0.769663
- height 109
- orientation 1))))))
- (object ClassDiagram "Source code"
- quid "3810A13B0159"
- title "Source code"
- zoom 100
- max_height 28350
- max_width 21600
- origin_x 0
- origin_y 0
- items (list diagram_item_list
- (object ClassView "Class" "Logical View::java::Comment" @140
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (592, 688)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @140
- location (475, 642)
- fill_color 13434879
- nlines 1
- max_width 234
- justify 0
- label "Comment")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "380F889B02B8"
- width 252
- height 114
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::java::Statement" @141
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (1104, 688)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @141
- location (983, 642)
- fill_color 13434879
- nlines 1
- max_width 242
- justify 0
- label "Statement")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "380F88B9025A"
- width 260
- height 114
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::java::Initializer" @142
- ShowCompartmentStereotypes TRUE
- IncludeOperation TRUE
- location (144, 288)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @142
- location (33, 242)
- fill_color 13434879
- nlines 1
- max_width 222
- justify 0
- label "Initializer")
- icon_style "Label"
- line_color 3342489
- fill_color 13434879
- quidu "3654A5DC00BB"
- width 240
- height 114
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::java::Field" @143
- ShowCompartmentStereotypes TRUE
- location (256, 112)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @143
- location (160, 66)
- fill_color 13434879
- nlines 1
- max_width 192
- justify 0
- label "Field")
- icon_style "Label"
- line_color 3342489
- fill_color 13434879
- quidu "3654AF8F0280"
- width 210
- height 114
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::java::Block" @144
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (864, 352)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @144
- location (692, 256)
- fill_color 13434879
- nlines 1
- max_width 344
- justify 0
- label "Block")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "380F88370150"
- compartment (object Compartment
- Parent_View @144
- location (692, 312)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 16777215
- anchor 2
- nlines 3
- max_width 290)
- width 362
- height 214
- annotation 8
- autoResize TRUE)
- (object InheritTreeView "" @145
- location (864, 580)
- line_color 3342489
- fill_color 13434879
- supplier @144
- vertices (list Points
- (864, 580)
- (864, 459)))
- (object InheritView "" @146
- stereotype TRUE
- line_color 3342489
- quidu "380F88D600A5"
- client @140
- supplier @144
- line_style 3
- origin_attachment (581, 631)
- terminal_attachment (581, 580)
- drawSupplier @145)
- (object InheritView "" @147
- stereotype TRUE
- line_color 3342489
- quidu "380F88DA0056"
- client @141
- supplier @144
- line_style 3
- origin_attachment (1121, 630)
- terminal_attachment (1121, 580)
- drawSupplier @145)
- (object AssociationViewNew "$UNNAMED$8" @148
- location (473, 300)
- stereotype TRUE
- line_color 3342489
- quidu "392AAC33036A"
- roleview_list (list RoleViews
- (object RoleView "source" @149
- Parent_View @148
- location (153, -388)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @150
- Parent_View @149
- location (599, 267)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 145
- justify 0
- label "+source"
- pctDist 0.599393
- height 34
- orientation 0)
- stereotype TRUE
- line_color 3342489
- quidu "392AAC380140"
- client @148
- supplier @144
- line_style 3
- origin_attachment (473, 300)
- terminal_attachment (683, 300)
- label (object SegLabel @151
- Parent_View @149
- location (605, 334)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "0..1"
- pctDist 0.635266
- height 34
- orientation 1))
- (object RoleView "initializer" @152
- Parent_View @148
- location (153, -388)
- stereotype TRUE
- line_color 3342489
- quidu "392AAC380168"
- client @148
- supplier @142
- line_style 3
- origin_attachment (473, 300)
- terminal_attachment (264, 300))))
- (object AssociationViewNew "$UNNAMED$9" @153
- location (671, 114)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @154
- Parent_View @153
- location (671, 55)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics TRUE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- hidden TRUE
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 60
- justify 0
- label ""
- pctDist 0.500000
- height 60
- orientation 0)
- stereotype TRUE
- line_color 3342489
- quidu "392AAC5602A2"
- roleview_list (list RoleViews
- (object RoleView "initializer" @155
- Parent_View @153
- location (319, -334)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @156
- Parent_View @155
- location (954, 210)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 195
- justify 0
- label "+initializer"
- pctDist 0.891827
- height 104
- orientation 0)
- stereotype TRUE
- line_color 3342489
- quidu "392AAC5702DF"
- client @153
- supplier @144
- vertices (list Points
- (671, 114)
- (850, 114)
- (850, 245))
- line_style 3
- origin_attachment (671, 114)
- terminal_attachment (850, 245)
- label (object SegLabel @157
- Parent_View @155
- location (790, 218)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "0..1"
- pctDist 0.913462
- height 61
- orientation 1))
- (object RoleView "field" @158
- Parent_View @153
- location (319, -334)
- stereotype TRUE
- line_color 3342489
- quidu "392AAC570307"
- client @153
- supplier @143
- line_style 3
- origin_attachment (671, 114)
- terminal_attachment (361, 114))))
- (object ClassView "Class" "Logical View::java::Method" @159
- ShowCompartmentStereotypes TRUE
- location (288, 496)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @159
- location (190, 450)
- fill_color 13434879
- nlines 1
- max_width 196
- justify 0
- label "Method")
- icon_style "Label"
- line_color 3342489
- fill_color 13434879
- quidu "3654AE910271"
- width 214
- height 114
- annotation 8
- autoResize TRUE)
- (object AssociationViewNew "$UNNAMED$10" @160
- location (596, 496)
- stereotype TRUE
- line_color 3342489
- quidu "392AACA501E7"
- roleview_list (list RoleViews
- (object RoleView "source" @161
- Parent_View @160
- location (276, -448)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @162
- Parent_View @161
- location (690, 463)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 145
- justify 0
- label "+source"
- pctDist 0.474777
- height 34
- orientation 0)
- stereotype TRUE
- line_color 3342489
- quidu "392AACA7017C"
- client @160
- supplier @144
- vertices (list Points
- (596, 496)
- (759, 496)
- (759, 459))
- line_style 3
- origin_attachment (596, 496)
- terminal_attachment (759, 459)
- label (object SegLabel @163
- Parent_View @161
- location (817, 477)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "0..1"
- pctDist 0.915367
- height 58
- orientation 1))
- (object RoleView "method" @164
- Parent_View @160
- location (276, -448)
- stereotype TRUE
- line_color 3342489
- quidu "392AACA701B8"
- client @160
- supplier @159
- line_style 3
- origin_attachment (596, 496)
- terminal_attachment (395, 496))))))
- (object ClassDiagram "Data Types"
- quid "3810A1CE02EB"
- title "Data Types"
- zoom 100
- max_height 28350
- max_width 21600
- origin_x 0
- origin_y 0
- items (list diagram_item_list
- (object ClassView "Class" "Logical View::java::TypeKind" @165
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (240, 224)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @165
- location (77, 84)
- fill_color 13434879
- nlines 1
- max_width 326
- justify 0
- label "TypeKind")
- stereotype (object ItemLabel
- Parent_View @165
- location (77, 39)
- fill_color 13434879
- anchor 10
- nlines 1
- max_width 326
- justify 0
- label "<<enumeration>>")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "3654B46002BF"
- compartment (object Compartment
- Parent_View @165
- location (77, 140)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 16777215
- anchor 2
- nlines 5
- max_width 277)
- width 344
- height 392
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::java::JavaVisibilityKind" @166
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (240, 640)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @166
- location (68, 500)
- fill_color 13434879
- nlines 1
- max_width 344
- justify 0
- label "JavaVisibilityKind")
- stereotype (object ItemLabel
- Parent_View @166
- location (68, 455)
- fill_color 13434879
- anchor 10
- nlines 1
- max_width 344
- justify 0
- label "<<enumeration>>")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "382333BE032E"
- compartment (object Compartment
- Parent_View @166
- location (68, 556)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 16777215
- anchor 2
- nlines 5
- max_width 292)
- width 362
- height 392
- annotation 8
- autoResize TRUE)
- (object NoteView @167
- location (1296, 208)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @167
- location (887, 52)
- fill_color 13434879
- nlines 6
- max_width 783
- label
-|The Java primitive types are instances of JavaDataType. The common parent class with JavaClass is Classifier. The primitive types can be obtained via a JavaURL("int"), which resolves to a reference like: "java:/#int"
- )
- line_color 3342489
- fill_color 13434879
- width 843
- height 325)
- (object ClassView "Class" "Logical View::java::JavaParameterKind" @168
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (256, 1088)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @168
- location (63, 948)
- fill_color 13434879
- nlines 1
- max_width 386
- justify 0
- label "JavaParameterKind")
- stereotype (object ItemLabel
- Parent_View @168
- location (63, 903)
- fill_color 13434879
- anchor 10
- nlines 1
- max_width 386
- justify 0
- label "<<enumeration>>")
- icon_style "Label"
- line_color 3342489
- fill_color 13434879
- quidu "391C1E8F0123"
- compartment (object Compartment
- Parent_View @168
- location (63, 1004)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 16777215
- anchor 2
- nlines 5
- max_width 207)
- width 404
- height 392
- annotation 8
- autoResize TRUE)
- (object NoteView @169
- location (768, 1120)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @169
- location (574, 1017)
- fill_color 13434879
- nlines 4
- max_width 352
- label "Temporary enum for Java parameter kind until we get the base sorted out")
- line_color 3342489
- fill_color 13434879
- width 412
- height 219)
- (object ClassView "Class" "Logical View::java::JavaDataType" @170
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- ShowOperationSignature TRUE
- location (1168, 1408)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @170
- location (999, 1362)
- fill_color 13434879
- nlines 1
- max_width 338
- justify 0
- label "JavaDataType")
- icon_style "Label"
- line_color 3342489
- fill_color 13434879
- quidu "395913340316"
- width 356
- height 114
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::ecore::EDataType" @171
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (1088, 640)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @171
- location (812, 511)
- nlines 2
- max_width 552
- justify 0
- label "EDataType")
- icon_style "Label"
- line_color 3342489
- fill_color 16777215
- quidu "3903D525033E"
- compartment (object Compartment
- Parent_View @171
- location (812, 611)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- anchor 2
- nlines 2
- max_width 522)
- width 570
- height 282
- annotation 8
- autoResize TRUE)
- (object AttachView "" @172
- stereotype TRUE
- line_color 3342489
- client @169
- supplier @168
- line_style 0)))
- (object ClassDiagram "Java Types"
- quid "3B65B823020D"
- title "Java Types"
- documentation "This class diagram contains the Java Types that are not EMF classes but are referenced in this diagram."
- zoom 100
- max_height 28350
- max_width 21600
- origin_x 478
- origin_y 35
- items (list diagram_item_list
- (object ClassView "Class" "Logical View::java::JTypeJavaHelpers" @173
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (912, 208)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @173
- location (398, 154)
- fill_color 13434879
- nlines 1
- max_width 1028
- justify 0
- label "JTypeJavaHelpers")
- stereotype (object ItemLabel
- Parent_View @173
- location (398, 109)
- fill_color 13434879
- anchor 10
- nlines 1
- max_width 1028
- justify 0
- label "<<datatype>>")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "3B65ADE403A6"
- compartment (object Compartment
- Parent_View @173
- location (398, 210)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 16777215
- anchor 2
- nlines 2
- max_width 873)
- width 1046
- height 220
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::java::JTypeList" @174
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (880, 576)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @174
- location (628, 523)
- fill_color 13434879
- nlines 1
- max_width 504
- justify 0
- label "JTypeList")
- stereotype (object ItemLabel
- Parent_View @174
- location (628, 478)
- fill_color 13434879
- anchor 10
- nlines 1
- max_width 504
- justify 0
- label "<<datatype>>")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "3B65B87602C1"
- compartment (object Compartment
- Parent_View @174
- location (628, 579)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 16777215
- anchor 2
- nlines 2
- max_width 507)
- width 522
- height 218
- annotation 8
- autoResize TRUE)))))
diff --git a/plugins/org.eclipse.jem/rose/instance.mdl b/plugins/org.eclipse.jem/rose/instance.mdl
deleted file mode 100644
index a9007e507..000000000
--- a/plugins/org.eclipse.jem/rose/instance.mdl
+++ /dev/null
@@ -1,8669 +0,0 @@
-
-(object Petal
- version 47
- _written "Rose 8.0.0303.1400"
- charSet 0)
-
-(object Design "Logical View"
- is_unit TRUE
- is_loaded TRUE
- attributes (list Attribute_Set
- (object Attribute
- tool "Java"
- name "IDE"
- value "Internal Editor")
- (object Attribute
- tool "Java"
- name "UserDefineTagName1"
- value "")
- (object Attribute
- tool "Java"
- name "UserDefineTagText1"
- value "")
- (object Attribute
- tool "Java"
- name "UserDefineTagApply1"
- value "")
- (object Attribute
- tool "Java"
- name "UserDefineTagName2"
- value "")
- (object Attribute
- tool "Java"
- name "UserDefineTagText2"
- value "")
- (object Attribute
- tool "Java"
- name "UserDefineTagApply2"
- value "")
- (object Attribute
- tool "Java"
- name "UserDefineTagName3"
- value "")
- (object Attribute
- tool "Java"
- name "UserDefineTagText3"
- value "")
- (object Attribute
- tool "Java"
- name "UserDefineTagApply3"
- value ""))
- quid "3A79EBA50331"
- defaults (object defaults
- rightMargin 0.250000
- leftMargin 0.250000
- topMargin 0.250000
- bottomMargin 0.500000
- pageOverlap 0.250000
- clipIconLabels TRUE
- autoResize TRUE
- snapToGrid FALSE
- gridX 16
- gridY 16
- defaultFont (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- showMessageNum 1
- showClassOfObject TRUE
- notation "Unified")
- root_usecase_package (object Class_Category "Use Case View"
- quid "3A7999AD0297"
- exportControl "Public"
- global TRUE
- logical_models (list unit_reference_list)
- logical_presentations (list unit_reference_list
- (object UseCaseDiagram "Main"
- quid "3A7999B702F6"
- title "Main"
- zoom 100
- max_height 28350
- max_width 21600
- origin_x 0
- origin_y 0
- items (list diagram_item_list))))
- root_category (object Class_Category "Logical View"
- quid "3A7999AD028E"
- exportControl "Public"
- global TRUE
- subsystem "Component View"
- quidu "3B86F172016F"
- logical_models (list unit_reference_list
- (object Class_Category "instantiation"
- is_unit TRUE
- is_loaded FALSE
- file_name "$WorkspaceRoot\\org.eclipse.jem\\rose\\instantiation.cat"
- quid "3B86F1720180")
- (object Class_Category "ecore"
- is_unit TRUE
- is_loaded FALSE
- file_name "$WorkspaceRoot\\org.eclipse.emf.ecore\\model\\org.eclipse.emf.Ecore.cat"
- quid "39A5ED04004E"))
- logical_presentations (list unit_reference_list
- (object ClassDiagram "Main"
- quid "3B86F1720173"
- title "Main"
- zoom 100
- max_height 28350
- max_width 21600
- origin_x 0
- origin_y 0
- items (list diagram_item_list
- (object CategoryView "Logical View::instantiation" @1
- location (334, 240)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @1
- location (190, 156)
- fill_color 13434879
- nlines 2
- max_width 288
- justify 0
- label "instantiation")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "3B86F1720180"
- width 300
- height 180)))
- (object ClassDiagram "Dependencies (Don't edit)"
- quid "3B86F31F0281"
- title "Dependencies (Don't edit)"
- zoom 100
- max_height 28350
- max_width 21600
- origin_x 0
- origin_y 0
- items (list diagram_item_list
- (object NoteView @2
- location (753, 685)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @2
- location (305, 539)
- fill_color 13434879
- nlines 6
- max_width 860
- label "These are the dependencies. They are not to be edited. They must only be edited by their owner models.")
- line_color 3342489
- fill_color 8421631
- width 920
- height 305)
- (object CategoryView "Logical View::ecore" @3
- location (263, 185)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @3
- location (119, 101)
- fill_color 13434879
- nlines 2
- max_width 288
- justify 0
- label "ecore")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "39A5ED04004E"
- width 300
- height 180)))))
- root_subsystem (object SubSystem "Component View"
- quid "3B86F172016F"
- physical_models (list unit_reference_list)
- physical_presentations (list unit_reference_list
- (object Module_Diagram "Main"
- quid "3B86F1720176"
- title "Main"
- zoom 100
- max_height 28350
- max_width 21600
- origin_x 0
- origin_y 0
- items (list diagram_item_list))))
- process_structure (object Processes
- quid "3B86F1720170"
- ProcsNDevs (list
- (object Process_Diagram "Deployment View"
- quid "3B86F1720172"
- title "Deployment View"
- zoom 100
- max_height 28350
- max_width 21600
- origin_x 0
- origin_y 0
- items (list diagram_item_list))))
- properties (object Properties
- attributes (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "propertyId"
- value "809135966")
- (object Attribute
- tool "Cplusplus"
- name "default__Role"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "Synchronize"
- value TRUE)
- (object Attribute
- tool "Cplusplus"
- name "CodeName"
- value "")
- (object Attribute
- tool "Cplusplus"
- name "Const"
- value FALSE)
- (object Attribute
- tool "Cplusplus"
- name "InitialValue"
- value "")))
- (object Attribute
- tool "Cplusplus"
- name "default__Inherit"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "Synchronize"
- value TRUE)))
- (object Attribute
- tool "Cplusplus"
- name "default__Module-Spec"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "Synchronize"
- value TRUE)
- (object Attribute
- tool "Cplusplus"
- name "Copyright"
- value (value Text ""))
- (object Attribute
- tool "Cplusplus"
- name "RootPackage"
- value "C++ Reverse Engineered")
- (object Attribute
- tool "Cplusplus"
- name "InitialHeaderIncludes"
- value (value Text ""))
- (object Attribute
- tool "Cplusplus"
- name "InitialBodyIncludes"
- value (value Text ""))
- (object Attribute
- tool "Cplusplus"
- name "RevEngRootDirectory"
- value "")
- (object Attribute
- tool "Cplusplus"
- name "RevEngDirectoriesAsPackages"
- value FALSE)
- (object Attribute
- tool "Cplusplus"
- name "HeaderFileExtension"
- value ".h")
- (object Attribute
- tool "Cplusplus"
- name "ImplementationFileExtension"
- value ".cpp")
- (object Attribute
- tool "Cplusplus"
- name "NewHeaderFileDirectory"
- value "")
- (object Attribute
- tool "Cplusplus"
- name "NewImplementationFileDirectory"
- value "")
- (object Attribute
- tool "Cplusplus"
- name "FileCapitalization"
- value ("FileCapitalizationSet" 0))
- (object Attribute
- tool "Cplusplus"
- name "CodeGenExtraDirectories"
- value ("CodeGenExtraDirectoriesSet" 0))
- (object Attribute
- tool "Cplusplus"
- name "StripClassPrefix"
- value "")
- (object Attribute
- tool "Cplusplus"
- name "UseTabs"
- value FALSE)
- (object Attribute
- tool "Cplusplus"
- name "TabWidth"
- value 8)
- (object Attribute
- tool "Cplusplus"
- name "IndentWidth"
- value 4)
- (object Attribute
- tool "Cplusplus"
- name "AccessIndentation"
- value -2)
- (object Attribute
- tool "Cplusplus"
- name "ModelIdCommentRules"
- value ("ModelIdCommentRulesSet" 1))
- (object Attribute
- tool "Cplusplus"
- name "PageWidth"
- value 80)
- (object Attribute
- tool "Cplusplus"
- name "ClassMemberOrder"
- value ("MemberOrderSet" 1))
- (object Attribute
- tool "Cplusplus"
- name "OneParameterPerLine"
- value FALSE)
- (object Attribute
- tool "Cplusplus"
- name "NamespaceBraceStyle"
- value ("BraceStyleSet" 2))
- (object Attribute
- tool "Cplusplus"
- name "ClassBraceStyle"
- value ("BraceStyleSet" 2))
- (object Attribute
- tool "Cplusplus"
- name "FunctionBraceStyle"
- value ("BraceStyleSet" 2))
- (object Attribute
- tool "Cplusplus"
- name "CodeGenExtraDirectoriesSet"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "None"
- value 0)
- (object Attribute
- tool "Cplusplus"
- name "Namespaces"
- value 1)
- (object Attribute
- tool "Cplusplus"
- name "Packages"
- value 2)))
- (object Attribute
- tool "Cplusplus"
- name "FileCapitalizationSet"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "Same as model"
- value 0)
- (object Attribute
- tool "Cplusplus"
- name "Lower case"
- value 1)
- (object Attribute
- tool "Cplusplus"
- name "Upper case"
- value 2)
- (object Attribute
- tool "Cplusplus"
- name "Lower case with underscores"
- value 3)))
- (object Attribute
- tool "Cplusplus"
- name "BraceStyleSet"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "B1"
- value 1)
- (object Attribute
- tool "Cplusplus"
- name "B2"
- value 2)
- (object Attribute
- tool "Cplusplus"
- name "B3"
- value 3)
- (object Attribute
- tool "Cplusplus"
- name "B4"
- value 4)
- (object Attribute
- tool "Cplusplus"
- name "B5"
- value 5)))
- (object Attribute
- tool "Cplusplus"
- name "MemberOrderSet"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "Public First"
- value 1)
- (object Attribute
- tool "Cplusplus"
- name "Private First"
- value 2)
- (object Attribute
- tool "Cplusplus"
- name "Order by kind"
- value 3)
- (object Attribute
- tool "Cplusplus"
- name "Unordered"
- value 4)))
- (object Attribute
- tool "Cplusplus"
- name "ModelIdCommentRulesSet"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "Code generation only"
- value 1)
- (object Attribute
- tool "Cplusplus"
- name "Code generation and reverse engineering"
- value 2)
- (object Attribute
- tool "Cplusplus"
- name "Never generate model IDs"
- value 3)))))
- (object Attribute
- tool "Cplusplus"
- name "default__Param"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "CodeName"
- value "")))
- (object Attribute
- tool "Cplusplus"
- name "default__Attribute"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "Synchronize"
- value TRUE)
- (object Attribute
- tool "Cplusplus"
- name "CodeName"
- value "")))
- (object Attribute
- tool "Cplusplus"
- name "default__Operation"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "Synchronize"
- value TRUE)
- (object Attribute
- tool "Cplusplus"
- name "CodeName"
- value "")
- (object Attribute
- tool "Cplusplus"
- name "InitialCodeBody"
- value "")
- (object Attribute
- tool "Cplusplus"
- name "Inline"
- value FALSE)
- (object Attribute
- tool "Cplusplus"
- name "GenerateFunctionBody"
- value ("GenerateFunctionBodySet" 2))
- (object Attribute
- tool "Cplusplus"
- name "GenerateFunctionBodySet"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "Default"
- value 2)
- (object Attribute
- tool "Cplusplus"
- name "True"
- value 1)
- (object Attribute
- tool "Cplusplus"
- name "False"
- value 0)))))
- (object Attribute
- tool "Cplusplus"
- name "default__Class"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "Synchronize"
- value TRUE)
- (object Attribute
- tool "Cplusplus"
- name "CodeName"
- value "")
- (object Attribute
- tool "Cplusplus"
- name "ImplementationType"
- value "")
- (object Attribute
- tool "Cplusplus"
- name "HeaderSourceFile"
- value "")
- (object Attribute
- tool "Cplusplus"
- name "BodySourceFile"
- value "")))
- (object Attribute
- tool "Cplusplus"
- name "default__Category"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "CodeName"
- value "")
- (object Attribute
- tool "Cplusplus"
- name "IsNamespace"
- value FALSE)))
- (object Attribute
- tool "Cplusplus"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "ANSI C++ Event Watcher"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "ANSIConvert"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "propertyId"
- value "838326200")
- (object Attribute
- tool "Ada83"
- name "default__Project"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "SpecFileExtension"
- value "1.ada")
- (object Attribute
- tool "Ada83"
- name "SpecFileBackupExtension"
- value "1.ad~")
- (object Attribute
- tool "Ada83"
- name "SpecFileTemporaryExtension"
- value "1.ad#")
- (object Attribute
- tool "Ada83"
- name "BodyFileExtension"
- value "2.ada")
- (object Attribute
- tool "Ada83"
- name "BodyFileBackupExtension"
- value "2.ad~")
- (object Attribute
- tool "Ada83"
- name "BodyFileTemporaryExtension"
- value "2.ad#")
- (object Attribute
- tool "Ada83"
- name "CreateMissingDirectories"
- value TRUE)
- (object Attribute
- tool "Ada83"
- name "GenerateBodies"
- value TRUE)
- (object Attribute
- tool "Ada83"
- name "GenerateAccessorOperations"
- value TRUE)
- (object Attribute
- tool "Ada83"
- name "GenerateStandardOperations"
- value TRUE)
- (object Attribute
- tool "Ada83"
- name "DefaultCodeBody"
- value "[statement]")
- (object Attribute
- tool "Ada83"
- name "ImplicitParameter"
- value TRUE)
- (object Attribute
- tool "Ada83"
- name "CommentWidth"
- value 60)
- (object Attribute
- tool "Ada83"
- name "StopOnError"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "ErrorLimit"
- value 30)
- (object Attribute
- tool "Ada83"
- name "UseFileName"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "Directory"
- value "$ROSEADA83_SOURCE")))
- (object Attribute
- tool "Ada83"
- name "default__Class"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "CodeName"
- value "")
- (object Attribute
- tool "Ada83"
- name "ClassName"
- value "Object")
- (object Attribute
- tool "Ada83"
- name "ClassAccess"
- value ("ImplementationSet" 43))
- (object Attribute
- tool "Ada83"
- name "ImplementationType"
- value (value Text ""))
- (object Attribute
- tool "Ada83"
- name "IsSubtype"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "PolymorphicUnit"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "HandleName"
- value "Handle")
- (object Attribute
- tool "Ada83"
- name "HandleAccess"
- value ("ImplementationSet" 45))
- (object Attribute
- tool "Ada83"
- name "Discriminant"
- value "")
- (object Attribute
- tool "Ada83"
- name "Variant"
- value "")
- (object Attribute
- tool "Ada83"
- name "EnumerationLiteralPrefix"
- value "A_")
- (object Attribute
- tool "Ada83"
- name "RecordFieldPrefix"
- value "The_")
- (object Attribute
- tool "Ada83"
- name "GenerateAccessorOperations"
- value TRUE)
- (object Attribute
- tool "Ada83"
- name "GenerateStandardOperations"
- value TRUE)
- (object Attribute
- tool "Ada83"
- name "ImplicitParameter"
- value TRUE)
- (object Attribute
- tool "Ada83"
- name "ClassParameterName"
- value "This")
- (object Attribute
- tool "Ada83"
- name "DefaultConstructorKind"
- value ("ConstructorKindSet" 199))
- (object Attribute
- tool "Ada83"
- name "DefaultConstructorName"
- value "Create")
- (object Attribute
- tool "Ada83"
- name "InlineDefaultConstructor"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "CopyConstructorKind"
- value ("ConstructorKindSet" 199))
- (object Attribute
- tool "Ada83"
- name "CopyConstructorName"
- value "Copy")
- (object Attribute
- tool "Ada83"
- name "InlineCopyConstructor"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "DestructorName"
- value "Free")
- (object Attribute
- tool "Ada83"
- name "InlineDestructor"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "ClassEqualityOperation"
- value "")
- (object Attribute
- tool "Ada83"
- name "HandleEqualityOperation"
- value "")
- (object Attribute
- tool "Ada83"
- name "InlineEquality"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "IsTask"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "Representation"
- value (value Text ""))
- (object Attribute
- tool "Ada83"
- name "ImplementationSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "Public"
- value 45)
- (object Attribute
- tool "Ada83"
- name "Private"
- value 43)
- (object Attribute
- tool "Ada83"
- name "LimitedPrivate"
- value 200)
- (object Attribute
- tool "Ada83"
- name "DoNotCreate"
- value 201)))
- (object Attribute
- tool "Ada83"
- name "ConstructorKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "Procedure"
- value 202)
- (object Attribute
- tool "Ada83"
- name "Function"
- value 199)
- (object Attribute
- tool "Ada83"
- name "DoNotCreate"
- value 201)))))
- (object Attribute
- tool "Ada83"
- name "default__Module-Spec"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "Generate"
- value TRUE)
- (object Attribute
- tool "Ada83"
- name "CopyrightNotice"
- value (value Text ""))
- (object Attribute
- tool "Ada83"
- name "FileName"
- value "")
- (object Attribute
- tool "Ada83"
- name "ReturnType"
- value "")
- (object Attribute
- tool "Ada83"
- name "GenericFormalParameters"
- value (value Text ""))
- (object Attribute
- tool "Ada83"
- name "AdditionalWiths"
- value (value Text ""))))
- (object Attribute
- tool "Ada83"
- name "default__Module-Body"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "Generate"
- value TRUE)
- (object Attribute
- tool "Ada83"
- name "CopyrightNotice"
- value (value Text ""))
- (object Attribute
- tool "Ada83"
- name "FileName"
- value "")
- (object Attribute
- tool "Ada83"
- name "ReturnType"
- value "")
- (object Attribute
- tool "Ada83"
- name "AdditionalWiths"
- value (value Text ""))
- (object Attribute
- tool "Ada83"
- name "IsSubunit"
- value FALSE)))
- (object Attribute
- tool "Ada83"
- name "default__Operation"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "CodeName"
- value "")
- (object Attribute
- tool "Ada83"
- name "SubprogramImplementation"
- value ("SubprogramImplementationSet" 2))
- (object Attribute
- tool "Ada83"
- name "Renames"
- value "")
- (object Attribute
- tool "Ada83"
- name "ClassParameterMode"
- value ("ParameterModeSet" 203))
- (object Attribute
- tool "Ada83"
- name "Inline"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "EntryCode"
- value (value Text ""))
- (object Attribute
- tool "Ada83"
- name "ExitCode"
- value (value Text ""))
- (object Attribute
- tool "Ada83"
- name "InitialCodeBody"
- value "${default}")
- (object Attribute
- tool "Ada83"
- name "Representation"
- value (value Text ""))
- (object Attribute
- tool "Ada83"
- name "SubprogramImplementationSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "Spec"
- value 224)
- (object Attribute
- tool "Ada83"
- name "Body"
- value 2)
- (object Attribute
- tool "Ada83"
- name "Renaming"
- value 222)
- (object Attribute
- tool "Ada83"
- name "Separate"
- value 223)))
- (object Attribute
- tool "Ada83"
- name "ParameterModeSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "In"
- value 204)
- (object Attribute
- tool "Ada83"
- name "Out"
- value 205)
- (object Attribute
- tool "Ada83"
- name "InOut"
- value 203)
- (object Attribute
- tool "Ada83"
- name "FunctionReturn"
- value 206)
- (object Attribute
- tool "Ada83"
- name "DoNotCreate"
- value 201)))))
- (object Attribute
- tool "Ada83"
- name "default__Has"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "CodeName"
- value "")
- (object Attribute
- tool "Ada83"
- name "NameIfUnlabeled"
- value "The_${supplier}")
- (object Attribute
- tool "Ada83"
- name "DataMemberName"
- value "${relationship}")
- (object Attribute
- tool "Ada83"
- name "GetName"
- value "Get_${relationship}")
- (object Attribute
- tool "Ada83"
- name "InlineGet"
- value TRUE)
- (object Attribute
- tool "Ada83"
- name "SetName"
- value "Set_${relationship}")
- (object Attribute
- tool "Ada83"
- name "InlineSet"
- value TRUE)
- (object Attribute
- tool "Ada83"
- name "IsConstant"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "InitialValue"
- value "")
- (object Attribute
- tool "Ada83"
- name "Variant"
- value "")
- (object Attribute
- tool "Ada83"
- name "ContainerGeneric"
- value "List")
- (object Attribute
- tool "Ada83"
- name "ContainerType"
- value "")
- (object Attribute
- tool "Ada83"
- name "ContainerDeclarations"
- value (value Text ""))
- (object Attribute
- tool "Ada83"
- name "SelectorName"
- value "")
- (object Attribute
- tool "Ada83"
- name "SelectorType"
- value "")))
- (object Attribute
- tool "Ada83"
- name "default__Attribute"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "CodeName"
- value "")
- (object Attribute
- tool "Ada83"
- name "DataMemberName"
- value "${attribute}")
- (object Attribute
- tool "Ada83"
- name "GetName"
- value "Get_${attribute}")
- (object Attribute
- tool "Ada83"
- name "InlineGet"
- value TRUE)
- (object Attribute
- tool "Ada83"
- name "SetName"
- value "Set_${attribute}")
- (object Attribute
- tool "Ada83"
- name "InlineSet"
- value TRUE)
- (object Attribute
- tool "Ada83"
- name "IsConstant"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "InitialValue"
- value "")
- (object Attribute
- tool "Ada83"
- name "Variant"
- value "")
- (object Attribute
- tool "Ada83"
- name "Representation"
- value (value Text ""))))
- (object Attribute
- tool "Ada83"
- name "default__Association"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "NameIfUnlabeled"
- value "The_${targetClass}")
- (object Attribute
- tool "Ada83"
- name "GetName"
- value "Get_${association}")
- (object Attribute
- tool "Ada83"
- name "InlineGet"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "SetName"
- value "Set_${association}")
- (object Attribute
- tool "Ada83"
- name "InlineSet"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "GenerateAssociate"
- value ("ProcedureKindSet" 202))
- (object Attribute
- tool "Ada83"
- name "AssociateName"
- value "Associate")
- (object Attribute
- tool "Ada83"
- name "InlineAssociate"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "GenerateDissociate"
- value ("ProcedureKindSet" 202))
- (object Attribute
- tool "Ada83"
- name "DissociateName"
- value "Dissociate")
- (object Attribute
- tool "Ada83"
- name "InlineDissociate"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "ProcedureKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "Procedure"
- value 202)
- (object Attribute
- tool "Ada83"
- name "DoNotCreate"
- value 201)))
- (object Attribute
- tool "Ada83"
- name "FunctionKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "Function"
- value 199)
- (object Attribute
- tool "Ada83"
- name "DoNotCreate"
- value 201)))))
- (object Attribute
- tool "Ada83"
- name "default__Role"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "CodeName"
- value "")
- (object Attribute
- tool "Ada83"
- name "NameIfUnlabeled"
- value "The_${targetClass}")
- (object Attribute
- tool "Ada83"
- name "DataMemberName"
- value "${target}")
- (object Attribute
- tool "Ada83"
- name "GetName"
- value "Get_${target}")
- (object Attribute
- tool "Ada83"
- name "InlineGet"
- value TRUE)
- (object Attribute
- tool "Ada83"
- name "SetName"
- value "Set_${target}")
- (object Attribute
- tool "Ada83"
- name "InlineSet"
- value TRUE)
- (object Attribute
- tool "Ada83"
- name "IsConstant"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "InitialValue"
- value "")
- (object Attribute
- tool "Ada83"
- name "ContainerGeneric"
- value "List")
- (object Attribute
- tool "Ada83"
- name "ContainerType"
- value "")
- (object Attribute
- tool "Ada83"
- name "ContainerDeclarations"
- value (value Text ""))
- (object Attribute
- tool "Ada83"
- name "SelectorName"
- value "")
- (object Attribute
- tool "Ada83"
- name "SelectorType"
- value "")
- (object Attribute
- tool "Ada83"
- name "ProcedureKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "Procedure"
- value 202)
- (object Attribute
- tool "Ada83"
- name "DoNotCreate"
- value 201)))))
- (object Attribute
- tool "Ada83"
- name "default__Subsystem"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "Directory"
- value "AUTO GENERATE")))
- (object Attribute
- tool "Ada83"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "propertyId"
- value "838326200")
- (object Attribute
- tool "Ada95"
- name "default__Project"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "SpecFileExtension"
- value "1.ada")
- (object Attribute
- tool "Ada95"
- name "SpecFileBackupExtension"
- value "1.ad~")
- (object Attribute
- tool "Ada95"
- name "SpecFileTemporaryExtension"
- value "1.ad#")
- (object Attribute
- tool "Ada95"
- name "BodyFileExtension"
- value "2.ada")
- (object Attribute
- tool "Ada95"
- name "BodyFileBackupExtension"
- value "2.ad~")
- (object Attribute
- tool "Ada95"
- name "BodyFileTemporaryExtension"
- value "2.ad#")
- (object Attribute
- tool "Ada95"
- name "CreateMissingDirectories"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "UseColonNotation"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "GenerateBodies"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "GenerateAccessorOperations"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "GenerateStandardOperations"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "DefaultCodeBody"
- value "[statement]")
- (object Attribute
- tool "Ada95"
- name "ImplicitParameter"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "CommentWidth"
- value 60)
- (object Attribute
- tool "Ada95"
- name "StopOnError"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "ErrorLimit"
- value 30)
- (object Attribute
- tool "Ada95"
- name "UseFileName"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "Directory"
- value "$ROSEADA95_SOURCE")))
- (object Attribute
- tool "Ada95"
- name "default__Class"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "CodeName"
- value "")
- (object Attribute
- tool "Ada95"
- name "TypeName"
- value "Object")
- (object Attribute
- tool "Ada95"
- name "TypeVisibility"
- value ("TypeVisibilitySet" 43))
- (object Attribute
- tool "Ada95"
- name "TypeImplementation"
- value ("TypeImplementationSet" 208))
- (object Attribute
- tool "Ada95"
- name "TypeControl"
- value ("TypeControlSet" 225))
- (object Attribute
- tool "Ada95"
- name "TypeControlName"
- value "Controlled_${type}")
- (object Attribute
- tool "Ada95"
- name "TypeDefinition"
- value (value Text ""))
- (object Attribute
- tool "Ada95"
- name "RecordImplementation"
- value ("RecordImplementationSet" 209))
- (object Attribute
- tool "Ada95"
- name "RecordKindPackageName"
- value "${class}_Record_Kinds")
- (object Attribute
- tool "Ada95"
- name "IsLimited"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "IsSubtype"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "GenerateAccessType"
- value ("GenerateAccessTypeSet" 230))
- (object Attribute
- tool "Ada95"
- name "AccessTypeName"
- value "Handle")
- (object Attribute
- tool "Ada95"
- name "AccessTypeVisibility"
- value ("TypeVisibilitySet" 45))
- (object Attribute
- tool "Ada95"
- name "AccessTypeDefinition"
- value (value Text ""))
- (object Attribute
- tool "Ada95"
- name "AccessClassWide"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "MaybeAliased"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "ParameterizedImplementation"
- value ("ParameterizedImplementationSet" 11))
- (object Attribute
- tool "Ada95"
- name "ParentClassName"
- value "Superclass")
- (object Attribute
- tool "Ada95"
- name "EnumerationLiteralPrefix"
- value "A_")
- (object Attribute
- tool "Ada95"
- name "RecordFieldPrefix"
- value "The_")
- (object Attribute
- tool "Ada95"
- name "ArrayOfTypeName"
- value "Array_Of_${type}")
- (object Attribute
- tool "Ada95"
- name "AccessArrayOfTypeName"
- value "Access_Array_Of_${type}")
- (object Attribute
- tool "Ada95"
- name "ArrayOfAccessTypeName"
- value "Array_Of_${access_type}")
- (object Attribute
- tool "Ada95"
- name "AccessArrayOfAccessTypeName"
- value "Access_Array_Of_${access_type}")
- (object Attribute
- tool "Ada95"
- name "ArrayIndexDefinition"
- value "Positive range <>")
- (object Attribute
- tool "Ada95"
- name "GenerateAccessorOperations"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "GenerateStandardOperations"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "ImplicitParameter"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "ImplicitParameterName"
- value "This")
- (object Attribute
- tool "Ada95"
- name "GenerateDefaultConstructor"
- value ("SubprogramKindSet" 199))
- (object Attribute
- tool "Ada95"
- name "DefaultConstructorName"
- value "Create")
- (object Attribute
- tool "Ada95"
- name "InlineDefaultConstructor"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "GenerateCopyConstructor"
- value ("SubprogramKindSet" 199))
- (object Attribute
- tool "Ada95"
- name "CopyConstructorName"
- value "Copy")
- (object Attribute
- tool "Ada95"
- name "InlineCopyConstructor"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "GenerateDestructor"
- value ("ProcedureKindSet" 202))
- (object Attribute
- tool "Ada95"
- name "DestructorName"
- value "Free")
- (object Attribute
- tool "Ada95"
- name "InlineDestructor"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "GenerateTypeEquality"
- value ("FunctionKindSet" 201))
- (object Attribute
- tool "Ada95"
- name "TypeEqualityName"
- value "${quote}=${quote}")
- (object Attribute
- tool "Ada95"
- name "InlineEquality"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "Representation"
- value (value Text ""))
- (object Attribute
- tool "Ada95"
- name "TypeImplementationSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Tagged"
- value 208)
- (object Attribute
- tool "Ada95"
- name "Record"
- value 210)
- (object Attribute
- tool "Ada95"
- name "Mixin"
- value 211)
- (object Attribute
- tool "Ada95"
- name "Protected"
- value 44)
- (object Attribute
- tool "Ada95"
- name "Task"
- value 212)))
- (object Attribute
- tool "Ada95"
- name "RecordImplementationSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "SingleType"
- value 209)
- (object Attribute
- tool "Ada95"
- name "MultipleTypes"
- value 213)))
- (object Attribute
- tool "Ada95"
- name "ParameterizedImplementationSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Generic"
- value 11)
- (object Attribute
- tool "Ada95"
- name "Unconstrained"
- value 214)))
- (object Attribute
- tool "Ada95"
- name "TypeVisibilitySet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Public"
- value 45)
- (object Attribute
- tool "Ada95"
- name "Private"
- value 43)))
- (object Attribute
- tool "Ada95"
- name "SubprogramKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Procedure"
- value 202)
- (object Attribute
- tool "Ada95"
- name "Function"
- value 199)
- (object Attribute
- tool "Ada95"
- name "DoNotCreate"
- value 201)))
- (object Attribute
- tool "Ada95"
- name "ProcedureKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Procedure"
- value 202)
- (object Attribute
- tool "Ada95"
- name "DoNotCreate"
- value 201)))
- (object Attribute
- tool "Ada95"
- name "FunctionKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Function"
- value 199)
- (object Attribute
- tool "Ada95"
- name "DoNotCreate"
- value 201)))
- (object Attribute
- tool "Ada95"
- name "TypeControlSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "None"
- value 225)
- (object Attribute
- tool "Ada95"
- name "InitializationOnly"
- value 226)
- (object Attribute
- tool "Ada95"
- name "AssignmentFinalizationOnly"
- value 227)
- (object Attribute
- tool "Ada95"
- name "All"
- value 228)))
- (object Attribute
- tool "Ada95"
- name "GenerateAccessTypeSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Always"
- value 229)
- (object Attribute
- tool "Ada95"
- name "Auto"
- value 230)))))
- (object Attribute
- tool "Ada95"
- name "default__Module-Spec"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Generate"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "CopyrightNotice"
- value (value Text ""))
- (object Attribute
- tool "Ada95"
- name "FileName"
- value "")
- (object Attribute
- tool "Ada95"
- name "ReturnType"
- value "")
- (object Attribute
- tool "Ada95"
- name "GenericFormalParameters"
- value (value Text ""))
- (object Attribute
- tool "Ada95"
- name "AdditionalWiths"
- value (value Text ""))
- (object Attribute
- tool "Ada95"
- name "IsPrivate"
- value FALSE)))
- (object Attribute
- tool "Ada95"
- name "default__Module-Body"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Generate"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "CopyrightNotice"
- value (value Text ""))
- (object Attribute
- tool "Ada95"
- name "FileName"
- value "")
- (object Attribute
- tool "Ada95"
- name "ReturnType"
- value "")
- (object Attribute
- tool "Ada95"
- name "AdditionalWiths"
- value (value Text ""))
- (object Attribute
- tool "Ada95"
- name "IsSubunit"
- value FALSE)))
- (object Attribute
- tool "Ada95"
- name "default__Operation"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "CodeName"
- value "")
- (object Attribute
- tool "Ada95"
- name "SubprogramImplementation"
- value ("SubprogramImplementationSet" 2))
- (object Attribute
- tool "Ada95"
- name "Renames"
- value "")
- (object Attribute
- tool "Ada95"
- name "GenerateOverriding"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "ImplicitParameterMode"
- value ("ParameterModeSet" 203))
- (object Attribute
- tool "Ada95"
- name "ImplicitParameterClassWide"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "GenerateAccessOperation"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "Inline"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "EntryCode"
- value (value Text ""))
- (object Attribute
- tool "Ada95"
- name "ExitCode"
- value (value Text ""))
- (object Attribute
- tool "Ada95"
- name "InitialCodeBody"
- value "${default}")
- (object Attribute
- tool "Ada95"
- name "EntryBarrierCondition"
- value "True")
- (object Attribute
- tool "Ada95"
- name "Representation"
- value (value Text ""))
- (object Attribute
- tool "Ada95"
- name "SubprogramImplementationSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Spec"
- value 224)
- (object Attribute
- tool "Ada95"
- name "Body"
- value 2)
- (object Attribute
- tool "Ada95"
- name "Abstract"
- value 221)
- (object Attribute
- tool "Ada95"
- name "Renaming"
- value 222)
- (object Attribute
- tool "Ada95"
- name "RenamingAsBody"
- value 231)
- (object Attribute
- tool "Ada95"
- name "Separate"
- value 223)))
- (object Attribute
- tool "Ada95"
- name "ParameterModeSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "In"
- value 204)
- (object Attribute
- tool "Ada95"
- name "Out"
- value 205)
- (object Attribute
- tool "Ada95"
- name "InOut"
- value 203)
- (object Attribute
- tool "Ada95"
- name "Access"
- value 220)
- (object Attribute
- tool "Ada95"
- name "DoNotCreate"
- value 201)))))
- (object Attribute
- tool "Ada95"
- name "default__Has"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "CodeName"
- value "")
- (object Attribute
- tool "Ada95"
- name "NameIfUnlabeled"
- value "The_${supplier}")
- (object Attribute
- tool "Ada95"
- name "RecordFieldImplementation"
- value ("RecordFieldImplementationSet" 216))
- (object Attribute
- tool "Ada95"
- name "RecordFieldName"
- value "${relationship}")
- (object Attribute
- tool "Ada95"
- name "GenerateGet"
- value ("FunctionKindSet" 199))
- (object Attribute
- tool "Ada95"
- name "GenerateAccessGet"
- value ("FunctionKindSet" 201))
- (object Attribute
- tool "Ada95"
- name "GetName"
- value "Get_${relationship}")
- (object Attribute
- tool "Ada95"
- name "InlineGet"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "GenerateSet"
- value ("ProcedureKindSet" 202))
- (object Attribute
- tool "Ada95"
- name "GenerateAccessSet"
- value ("ProcedureKindSet" 201))
- (object Attribute
- tool "Ada95"
- name "SetName"
- value "Set_${relationship}")
- (object Attribute
- tool "Ada95"
- name "InlineSet"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "IsAliased"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "IsConstant"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "InitialValue"
- value "")
- (object Attribute
- tool "Ada95"
- name "ContainerImplementation"
- value ("ContainerImplementationSet" 217))
- (object Attribute
- tool "Ada95"
- name "ContainerGeneric"
- value "List")
- (object Attribute
- tool "Ada95"
- name "ContainerType"
- value "")
- (object Attribute
- tool "Ada95"
- name "ContainerDeclarations"
- value (value Text ""))
- (object Attribute
- tool "Ada95"
- name "SelectorName"
- value "")
- (object Attribute
- tool "Ada95"
- name "SelectorType"
- value "")
- (object Attribute
- tool "Ada95"
- name "RecordFieldImplementationSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Component"
- value 216)
- (object Attribute
- tool "Ada95"
- name "Discriminant"
- value 218)
- (object Attribute
- tool "Ada95"
- name "AccessDiscriminant"
- value 219)))
- (object Attribute
- tool "Ada95"
- name "ContainerImplementationSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Array"
- value 217)
- (object Attribute
- tool "Ada95"
- name "Generic"
- value 11)))
- (object Attribute
- tool "Ada95"
- name "ProcedureKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Procedure"
- value 202)
- (object Attribute
- tool "Ada95"
- name "DoNotCreate"
- value 201)))
- (object Attribute
- tool "Ada95"
- name "FunctionKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Function"
- value 199)
- (object Attribute
- tool "Ada95"
- name "DoNotCreate"
- value 201)))))
- (object Attribute
- tool "Ada95"
- name "default__Attribute"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "CodeName"
- value "")
- (object Attribute
- tool "Ada95"
- name "RecordFieldImplementation"
- value ("RecordFieldImplementationSet" 216))
- (object Attribute
- tool "Ada95"
- name "RecordFieldName"
- value "${attribute}")
- (object Attribute
- tool "Ada95"
- name "GenerateGet"
- value ("FunctionKindSet" 199))
- (object Attribute
- tool "Ada95"
- name "GenerateAccessGet"
- value ("FunctionKindSet" 201))
- (object Attribute
- tool "Ada95"
- name "GetName"
- value "Get_${attribute}")
- (object Attribute
- tool "Ada95"
- name "InlineGet"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "GenerateSet"
- value ("ProcedureKindSet" 202))
- (object Attribute
- tool "Ada95"
- name "GenerateAccessSet"
- value ("ProcedureKindSet" 201))
- (object Attribute
- tool "Ada95"
- name "SetName"
- value "Set_${attribute}")
- (object Attribute
- tool "Ada95"
- name "InlineSet"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "IsAliased"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "IsConstant"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "InitialValue"
- value "")
- (object Attribute
- tool "Ada95"
- name "Representation"
- value (value Text ""))
- (object Attribute
- tool "Ada95"
- name "RecordFieldImplementationSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Component"
- value 216)
- (object Attribute
- tool "Ada95"
- name "Discriminant"
- value 218)
- (object Attribute
- tool "Ada95"
- name "AccessDiscriminant"
- value 219)))
- (object Attribute
- tool "Ada95"
- name "ProcedureKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Procedure"
- value 202)
- (object Attribute
- tool "Ada95"
- name "DoNotCreate"
- value 201)))
- (object Attribute
- tool "Ada95"
- name "FunctionKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Function"
- value 199)
- (object Attribute
- tool "Ada95"
- name "DoNotCreate"
- value 201)))))
- (object Attribute
- tool "Ada95"
- name "default__Association"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "NameIfUnlabeled"
- value "The_${targetClass}")
- (object Attribute
- tool "Ada95"
- name "GenerateGet"
- value ("FunctionKindSet" 199))
- (object Attribute
- tool "Ada95"
- name "GetName"
- value "Get_${association}")
- (object Attribute
- tool "Ada95"
- name "InlineGet"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "GenerateSet"
- value ("ProcedureKindSet" 202))
- (object Attribute
- tool "Ada95"
- name "SetName"
- value "Set_${association}")
- (object Attribute
- tool "Ada95"
- name "InlineSet"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "GenerateAssociate"
- value ("ProcedureKindSet" 202))
- (object Attribute
- tool "Ada95"
- name "AssociateName"
- value "Associate")
- (object Attribute
- tool "Ada95"
- name "InlineAssociate"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "GenerateDissociate"
- value ("ProcedureKindSet" 202))
- (object Attribute
- tool "Ada95"
- name "DissociateName"
- value "Dissociate")
- (object Attribute
- tool "Ada95"
- name "InlineDissociate"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "ProcedureKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Procedure"
- value 202)
- (object Attribute
- tool "Ada95"
- name "DoNotCreate"
- value 201)))
- (object Attribute
- tool "Ada95"
- name "FunctionKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Function"
- value 199)
- (object Attribute
- tool "Ada95"
- name "DoNotCreate"
- value 201)))))
- (object Attribute
- tool "Ada95"
- name "default__Role"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "CodeName"
- value "")
- (object Attribute
- tool "Ada95"
- name "NameIfUnlabeled"
- value "The_${targetClass}")
- (object Attribute
- tool "Ada95"
- name "RecordFieldImplementation"
- value ("RecordFieldImplementationSet" 216))
- (object Attribute
- tool "Ada95"
- name "RecordFieldName"
- value "${target}")
- (object Attribute
- tool "Ada95"
- name "GenerateGet"
- value ("FunctionKindSet" 199))
- (object Attribute
- tool "Ada95"
- name "GenerateAccessGet"
- value ("FunctionKindSet" 201))
- (object Attribute
- tool "Ada95"
- name "GetName"
- value "Get_${target}")
- (object Attribute
- tool "Ada95"
- name "InlineGet"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "GenerateSet"
- value ("ProcedureKindSet" 202))
- (object Attribute
- tool "Ada95"
- name "GenerateAccessSet"
- value ("ProcedureKindSet" 201))
- (object Attribute
- tool "Ada95"
- name "SetName"
- value "Set_${target}")
- (object Attribute
- tool "Ada95"
- name "InlineSet"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "IsAliased"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "IsConstant"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "InitialValue"
- value "")
- (object Attribute
- tool "Ada95"
- name "ContainerImplementation"
- value ("ContainerImplementationSet" 217))
- (object Attribute
- tool "Ada95"
- name "ContainerGeneric"
- value "List")
- (object Attribute
- tool "Ada95"
- name "ContainerType"
- value "")
- (object Attribute
- tool "Ada95"
- name "ContainerDeclarations"
- value (value Text ""))
- (object Attribute
- tool "Ada95"
- name "SelectorName"
- value "")
- (object Attribute
- tool "Ada95"
- name "SelectorType"
- value "")
- (object Attribute
- tool "Ada95"
- name "ProcedureKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Procedure"
- value 202)
- (object Attribute
- tool "Ada95"
- name "DoNotCreate"
- value 201)))
- (object Attribute
- tool "Ada95"
- name "RecordFieldImplementationSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Component"
- value 216)
- (object Attribute
- tool "Ada95"
- name "Discriminant"
- value 218)
- (object Attribute
- tool "Ada95"
- name "AccessDiscriminant"
- value 219)))
- (object Attribute
- tool "Ada95"
- name "ContainerImplementationSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Array"
- value 217)
- (object Attribute
- tool "Ada95"
- name "Generic"
- value 11)))
- (object Attribute
- tool "Ada95"
- name "FunctionKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Function"
- value 199)
- (object Attribute
- tool "Ada95"
- name "DoNotCreate"
- value 201)))))
- (object Attribute
- tool "Ada95"
- name "default__Subsystem"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Directory"
- value "AUTO GENERATE")))
- (object Attribute
- tool "Ada95"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "CORBA"
- name "propertyId"
- value "809135966")
- (object Attribute
- tool "CORBA"
- name "default__Project"
- value (list Attribute_Set
- (object Attribute
- tool "CORBA"
- name "CreateMissingDirectories"
- value TRUE)
- (object Attribute
- tool "CORBA"
- name "Editor"
- value ("EditorType" 100))
- (object Attribute
- tool "CORBA"
- name "IncludePath"
- value "")
- (object Attribute
- tool "CORBA"
- name "StopOnError"
- value TRUE)
- (object Attribute
- tool "CORBA"
- name "EditorType"
- value (list Attribute_Set
- (object Attribute
- tool "CORBA"
- name "BuiltIn"
- value 100)
- (object Attribute
- tool "CORBA"
- name "WindowsShell"
- value 101)))
- (object Attribute
- tool "CORBA"
- name "PathSeparator"
- value "")))
- (object Attribute
- tool "CORBA"
- name "default__Class"
- value (list Attribute_Set
- (object Attribute
- tool "CORBA"
- name "ArrayDimensions"
- value "")
- (object Attribute
- tool "CORBA"
- name "ConstValue"
- value "")
- (object Attribute
- tool "CORBA"
- name "ImplementationType"
- value "")))
- (object Attribute
- tool "CORBA"
- name "default__Module-Spec"
- value (list Attribute_Set
- (object Attribute
- tool "CORBA"
- name "AdditionalIncludes"
- value (value Text ""))
- (object Attribute
- tool "CORBA"
- name "CmIdentification"
- value (value Text " %X% %Q% %Z% %W%"))
- (object Attribute
- tool "CORBA"
- name "CopyrightNotice"
- value (value Text ""))
- (object Attribute
- tool "CORBA"
- name "InclusionProtectionSymbol"
- value "AUTO GENERATE")))
- (object Attribute
- tool "CORBA"
- name "default__Module-Body"
- value (list Attribute_Set
- (object Attribute
- tool "CORBA"
- name "AdditionalIncludes"
- value (value Text ""))
- (object Attribute
- tool "CORBA"
- name "CmIdentification"
- value (value Text " %X% %Q% %Z% %W%"))
- (object Attribute
- tool "CORBA"
- name "CopyrightNotice"
- value (value Text ""))
- (object Attribute
- tool "CORBA"
- name "InclusionProtectionSymbol"
- value "AUTO GENERATE")))
- (object Attribute
- tool "CORBA"
- name "default__Operation"
- value (list Attribute_Set
- (object Attribute
- tool "CORBA"
- name "Context"
- value "")
- (object Attribute
- tool "CORBA"
- name "OperationIsOneWay"
- value FALSE)))
- (object Attribute
- tool "CORBA"
- name "default__Attribute"
- value (list Attribute_Set
- (object Attribute
- tool "CORBA"
- name "ArrayDimensions"
- value "")
- (object Attribute
- tool "CORBA"
- name "CaseSpecifier"
- value "")
- (object Attribute
- tool "CORBA"
- name "IsReadOnly"
- value FALSE)
- (object Attribute
- tool "CORBA"
- name "Order"
- value "")))
- (object Attribute
- tool "CORBA"
- name "default__Role"
- value (list Attribute_Set
- (object Attribute
- tool "CORBA"
- name "ArrayDimensions"
- value "")
- (object Attribute
- tool "CORBA"
- name "CaseSpecifier"
- value "")
- (object Attribute
- tool "CORBA"
- name "GenerateForwardReference"
- value FALSE)
- (object Attribute
- tool "CORBA"
- name "IsReadOnly"
- value FALSE)
- (object Attribute
- tool "CORBA"
- name "Order"
- value "")
- (object Attribute
- tool "CORBA"
- name "BoundedRoleType"
- value ("AssocTypeSet" 47))
- (object Attribute
- tool "CORBA"
- name "AssocTypeSet"
- value (list Attribute_Set
- (object Attribute
- tool "CORBA"
- name "Array"
- value 24)
- (object Attribute
- tool "CORBA"
- name "Sequence"
- value 47)))))
- (object Attribute
- tool "CORBA"
- name "default__Uses"
- value (list Attribute_Set
- (object Attribute
- tool "CORBA"
- name "GenerateForwardReference"
- value FALSE)))
- (object Attribute
- tool "CORBA"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "ClearCase"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "propertyId"
- value "809135966")
- (object Attribute
- tool "Data Modeler"
- name "default__Project"
- value (list Attribute_Set
- (object Attribute
- tool "Data Modeler"
- name "project"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "TableCounter"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "ViewCounter"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "DomainCounter"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "SPPackageCounter"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "TriggerCounter"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "IndexCounter"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "ConstraintCounter"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "StoreProcedureCounter"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "PrimaryKeyCounter"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "ForeignKeyCounter"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "JoinCounter"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "TableSpaceCounter"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "cONTAINERCounter"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "TablePrefix"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "ViewPrefix"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "DomainPrefix"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "TriggerPrefix"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "IndexPrefix"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "ConstraintPrefix"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "StoreProcedurePrefix"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "PrimaryKeyPrefix"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "ForeignKeyPrefix"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "TableSpacePrefix"
- value "")))
- (object Attribute
- tool "Data Modeler"
- name "default__Module-Spec"
- value (list Attribute_Set
- (object Attribute
- tool "Data Modeler"
- name "dmItem"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "DMName"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "IsDatabase"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "TargetDatabase"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "Location"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "IsTableSpace"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "TableSpaceType"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "IsDeault"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "BufferPool"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "ExtentSize"
- value 1)
- (object Attribute
- tool "Data Modeler"
- name "PrefetchSize"
- value 1)
- (object Attribute
- tool "Data Modeler"
- name "PageSize"
- value 4)
- (object Attribute
- tool "Data Modeler"
- name "ManagedBy"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "ContainerList"
- value "")))
- (object Attribute
- tool "Data Modeler"
- name "default__Category"
- value (list Attribute_Set
- (object Attribute
- tool "Data Modeler"
- name "dmItem"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "DMName"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "dmSchema"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "dmDomainPackage"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "IsSchema"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "IsDomainPackage"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "IsRootSchema"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "IsRootDomainPackage"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "IsSchemaPackage"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "DatabaseID"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "DBMS"
- value "")))
- (object Attribute
- tool "Data Modeler"
- name "default__Class"
- value (list Attribute_Set
- (object Attribute
- tool "Data Modeler"
- name "dmItem"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "DMName"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "IsTable"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "IsView"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "IsDomain"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "IsSPPackage"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "Synonymns"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "TableSpaceID"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "SourceId"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "SourceType"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "CorrelationName"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "SelectClause"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "IsUpdateable"
- value TRUE)
- (object Attribute
- tool "Data Modeler"
- name "CheckOption"
- value "None")
- (object Attribute
- tool "Data Modeler"
- name "IsSnapShot"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "IsDistinct"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "PersistToServer"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "IsPackage"
- value FALSE)))
- (object Attribute
- tool "Data Modeler"
- name "default__Attribute"
- value (list Attribute_Set
- (object Attribute
- tool "Data Modeler"
- name "dmItem"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "DMName"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "Ordinal"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "IsIdentity"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "IsUnique"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "NullsAllowed"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "Length"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "Scale"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "ColumnType"
- value "Native")
- (object Attribute
- tool "Data Modeler"
- name "ForBitData"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "DefaultValueType"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "DefaultValue"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "SourceId"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "SourceType"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "OID"
- value FALSE)))
- (object Attribute
- tool "Data Modeler"
- name "default__Association"
- value (list Attribute_Set
- (object Attribute
- tool "Data Modeler"
- name "dmItem"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "DMName"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "IsRelationship"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "SourceId"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "SourceType"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "RIMethod"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "ParentUpdateRule"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "ParentUpdateRuleName"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "ParentDeleteRule"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "ParentDeleteRuleName"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "ChildInsertRestrict"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "ChildInsertRestrictName"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "ChildMultiplicity"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "ChildMultiplicityName"
- value "")))
- (object Attribute
- tool "Data Modeler"
- name "default__Role"
- value (list Attribute_Set
- (object Attribute
- tool "Data Modeler"
- name "dmItem"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "DMName"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "ConstraintName"
- value "")))
- (object Attribute
- tool "Data Modeler"
- name "default__Operation"
- value (list Attribute_Set
- (object Attribute
- tool "Data Modeler"
- name "dmItem"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "DMName"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "IsConstraint"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "ConstraintType"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "IsIndex"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "IsTrigger"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "IsStoredProcedure"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "IsCluster"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "TableSpace"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "FillFactor"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "KeyList"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "CheckPredicate"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "IsUnique"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "DeferalMode"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "InitialCheckTime"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "TriggerType"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "IsInsertEvent"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "IsUpdateEvent"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "IsDeleteEvent"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "RefOldTable"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "RefNewTable"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "RefOldRow"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "RefNewRow"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "IsRow"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "WhenClause"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "Language"
- value "SQL")
- (object Attribute
- tool "Data Modeler"
- name "ProcType"
- value "Procedure")
- (object Attribute
- tool "Data Modeler"
- name "IsDeterministic"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "ParameterStyle"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "ReturnedNull"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "ExternalName"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "Length"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "Scale"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "ForBitData"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "DefaultValue"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "DefaultValueType"
- value "")))
- (object Attribute
- tool "Data Modeler"
- name "default__Parameter"
- value (list Attribute_Set
- (object Attribute
- tool "Data Modeler"
- name "dmItem"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "DMName"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "IsInParameter"
- value TRUE)
- (object Attribute
- tool "Data Modeler"
- name "IsOutParameter"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "Ordinal"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "Length"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "Scale"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "ForBitData"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "DefaultValueType"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "DefaultValue"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "OperationID"
- value "")))
- (object Attribute
- tool "Data Modeler"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "Data Modeler Communicator"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "framework"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "Java"
- name "propertyId"
- value "809135966")
- (object Attribute
- tool "Java"
- name "default__Project"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "RootDir"
- value "")
- (object Attribute
- tool "Java"
- name "CreateMissingDirectories"
- value TRUE)
- (object Attribute
- tool "Java"
- name "StopOnError"
- value FALSE)
- (object Attribute
- tool "Java"
- name "UsePrefixes"
- value FALSE)
- (object Attribute
- tool "Java"
- name "AutoSync"
- value FALSE)
- (object Attribute
- tool "Java"
- name "NotShowRoseIDDlg"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ShowCodegenDlg"
- value FALSE)
- (object Attribute
- tool "Java"
- name "GenerateRoseID"
- value TRUE)
- (object Attribute
- tool "Java"
- name "GenerateDefaultReturnLine"
- value TRUE)
- (object Attribute
- tool "Java"
- name "JavadocDefaultAuthor"
- value "")
- (object Attribute
- tool "Java"
- name "JavadocDefaultVersion"
- value "")
- (object Attribute
- tool "Java"
- name "JavadocDefaultSince"
- value "")
- (object Attribute
- tool "Java"
- name "UserDefineTagName1"
- value "")
- (object Attribute
- tool "Java"
- name "UserDefineTagApply1"
- value "")
- (object Attribute
- tool "Java"
- name "UserDefineTagText1"
- value "")
- (object Attribute
- tool "Java"
- name "UserDefineTagName2"
- value "")
- (object Attribute
- tool "Java"
- name "UserDefineTagApply2"
- value "")
- (object Attribute
- tool "Java"
- name "UserDefineTagText2"
- value "")
- (object Attribute
- tool "Java"
- name "UserDefineTagName3"
- value "")
- (object Attribute
- tool "Java"
- name "UserDefineTagApply3"
- value "")
- (object Attribute
- tool "Java"
- name "UserDefineTagText3"
- value "")
- (object Attribute
- tool "Java"
- name "JavadocNumAsterisks"
- value 0)
- (object Attribute
- tool "Java"
- name "MaxNumChars"
- value 80)
- (object Attribute
- tool "Java"
- name "Editor"
- value ("EditorType" 100))
- (object Attribute
- tool "Java"
- name "VM"
- value ("VMType" 200))
- (object Attribute
- tool "Java"
- name "ClassPath"
- value ";D:\\Program Files\\Sun\\jdk1.4.2_02\\jre\\lib\\charsets.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\jre\\lib\\jce.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\jre\\lib\\jsse.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\jre\\lib\\rt.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\jre\\lib\\sunrsasign.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\jre\\lib\\ext\\dnsns.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\jre\\lib\\ext\\ldapsec.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\jre\\lib\\ext\\localedata.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\jre\\lib\\ext\\sunjce_provider.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\jre\\lib\\security\\local_policy.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\jre\\lib\\security\\US_export_policy.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\lib\\dt.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\lib\\htmlconverter.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\lib\\tools.jar")
- (object Attribute
- tool "Java"
- name "ReferenceClasspath"
- value "")
- (object Attribute
- tool "Java"
- name "EditorType"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "BuiltIn"
- value 100)
- (object Attribute
- tool "Java"
- name "WindowsShell"
- value 101)))
- (object Attribute
- tool "Java"
- name "VMType"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "Sun"
- value 200)))
- (object Attribute
- tool "Java"
- name "VAJavaWorkingFolder"
- value "")
- (object Attribute
- tool "Java"
- name "InstanceVariablePrefix"
- value "")
- (object Attribute
- tool "Java"
- name "ClassVariablePrefix"
- value "")
- (object Attribute
- tool "Java"
- name "DefaultAttributeDataType"
- value "int")
- (object Attribute
- tool "Java"
- name "DefaultOperationReturnType"
- value "void")
- (object Attribute
- tool "Java"
- name "NoClassCustomDlg"
- value FALSE)
- (object Attribute
- tool "Java"
- name "GlobalImports"
- value (value Text ""))
- (object Attribute
- tool "Java"
- name "OpenBraceClassStyle"
- value TRUE)
- (object Attribute
- tool "Java"
- name "OpenBraceMethodStyle"
- value TRUE)
- (object Attribute
- tool "Java"
- name "UseTabs"
- value FALSE)
- (object Attribute
- tool "Java"
- name "UseSpaces"
- value TRUE)
- (object Attribute
- tool "Java"
- name "SpacingItems"
- value 3)
- (object Attribute
- tool "Java"
- name "RoseDefaultCommentStyle"
- value TRUE)
- (object Attribute
- tool "Java"
- name "AsteriskCommentStyle"
- value TRUE)
- (object Attribute
- tool "Java"
- name "JavaCommentStyle"
- value TRUE)
- (object Attribute
- tool "Java"
- name "JavadocAuthor"
- value FALSE)
- (object Attribute
- tool "Java"
- name "JavadocSince"
- value FALSE)
- (object Attribute
- tool "Java"
- name "JavadocVersion"
- value FALSE)
- (object Attribute
- tool "Java"
- name "BeanPrefix"
- value "")
- (object Attribute
- tool "Java"
- name "BeanSuffix"
- value "")
- (object Attribute
- tool "Java"
- name "RemotePrefix"
- value "")
- (object Attribute
- tool "Java"
- name "RemoteSuffix"
- value "")
- (object Attribute
- tool "Java"
- name "HomePrefix"
- value "")
- (object Attribute
- tool "Java"
- name "HomeSuffix"
- value "")
- (object Attribute
- tool "Java"
- name "PrimaryKeyPrefix"
- value "")
- (object Attribute
- tool "Java"
- name "PrimaryKeySuffix"
- value "")
- (object Attribute
- tool "Java"
- name "EJBDTDLocation"
- value "")
- (object Attribute
- tool "Java"
- name "ServletDTDLocation"
- value "")
- (object Attribute
- tool "Java"
- name "DefaultEJBVersion"
- value "")
- (object Attribute
- tool "Java"
- name "DefaultServletVersion"
- value "")
- (object Attribute
- tool "Java"
- name "GenerateDefaultJ2EEJavadoc"
- value TRUE)
- (object Attribute
- tool "Java"
- name "UserDefineJavaDocTags"
- value "")
- (object Attribute
- tool "Java"
- name "LocalPrefix"
- value "")
- (object Attribute
- tool "Java"
- name "LocalSuffix"
- value "")
- (object Attribute
- tool "Java"
- name "LocalHomePrefix"
- value "")
- (object Attribute
- tool "Java"
- name "LocalHomeSuffix"
- value "")
- (object Attribute
- tool "Java"
- name "SourceControl"
- value FALSE)
- (object Attribute
- tool "Java"
- name "SCCSelected"
- value FALSE)
- (object Attribute
- tool "Java"
- name "SCCProjectSourceRoot"
- value "")
- (object Attribute
- tool "Java"
- name "SCCProjectName"
- value "")
- (object Attribute
- tool "Java"
- name "SCCComment"
- value FALSE)))
- (object Attribute
- tool "Java"
- name "default__Class"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "Final"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Static"
- value FALSE)
- (object Attribute
- tool "Java"
- name "GenerateDefaultConstructor"
- value TRUE)
- (object Attribute
- tool "Java"
- name "ConstructorIs"
- value ("Ctor_Set" 62))
- (object Attribute
- tool "Java"
- name "Ctor_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "public"
- value 62)
- (object Attribute
- tool "Java"
- name "protected"
- value 63)
- (object Attribute
- tool "Java"
- name "private"
- value 64)
- (object Attribute
- tool "Java"
- name "package"
- value 65)))
- (object Attribute
- tool "Java"
- name "GenerateFinalizer"
- value FALSE)
- (object Attribute
- tool "Java"
- name "GenerateStaticInitializer"
- value FALSE)
- (object Attribute
- tool "Java"
- name "GenerateInstanceInitializer"
- value FALSE)
- (object Attribute
- tool "Java"
- name "GenerateCode"
- value TRUE)
- (object Attribute
- tool "Java"
- name "DisableAutoSync"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ReadOnly"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Strictfp"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletName"
- value "")
- (object Attribute
- tool "Java"
- name "ServletContextRef"
- value FALSE)
- (object Attribute
- tool "Java"
- name "IsSingleThread"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletInitParameter"
- value "")
- (object Attribute
- tool "Java"
- name "ServletInitParameterNames"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletIsSecure"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletRequestDispatcher"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletRequestDispatcherPath"
- value "")
- (object Attribute
- tool "Java"
- name "DispatcherInclude"
- value FALSE)
- (object Attribute
- tool "Java"
- name "DispatcherForward"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletSecurityRoles"
- value "")
- (object Attribute
- tool "Java"
- name "ServletgetInfo"
- value "")
- (object Attribute
- tool "Java"
- name "ServletXMLFilePath"
- value "")
- (object Attribute
- tool "Java"
- name "ServletRequestAttribute"
- value "")
- (object Attribute
- tool "Java"
- name "ServletRequestAttributesNames"
- value FALSE)
- (object Attribute
- tool "Java"
- name "MethodForRequestAttributes"
- value "")
- (object Attribute
- tool "Java"
- name "ServletRequestParameter"
- value "")
- (object Attribute
- tool "Java"
- name "ServletRequestParameterNames"
- value FALSE)
- (object Attribute
- tool "Java"
- name "MethodForRequestParameters"
- value "")
- (object Attribute
- tool "Java"
- name "ServletHeader"
- value "")
- (object Attribute
- tool "Java"
- name "ServletHeaderNames"
- value FALSE)
- (object Attribute
- tool "Java"
- name "MethodForHeaders"
- value "")
- (object Attribute
- tool "Java"
- name "ServletIntHeader"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletDateHeader"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletCookie"
- value FALSE)
- (object Attribute
- tool "Java"
- name "MethodForCookie"
- value "")
- (object Attribute
- tool "Java"
- name "ServletContentType"
- value "")
- (object Attribute
- tool "Java"
- name "GenerateHTML"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Generate_XML_DD"
- value TRUE)
- (object Attribute
- tool "Java"
- name "EJBCmpField"
- value "")
- (object Attribute
- tool "Java"
- name "EJBEnvironmentProperties"
- value "")
- (object Attribute
- tool "Java"
- name "EJBCnxFactory"
- value "")
- (object Attribute
- tool "Java"
- name "EJBReferences"
- value "")
- (object Attribute
- tool "Java"
- name "EJBSecurityRoles"
- value "")
- (object Attribute
- tool "Java"
- name "EJBNameInJAR"
- value "")
- (object Attribute
- tool "Java"
- name "EJBSessionType"
- value ("EJBSessionType_Set" 200))
- (object Attribute
- tool "Java"
- name "EJBSessionType_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name ""
- value 200)
- (object Attribute
- tool "Java"
- name "Stateless"
- value 201)
- (object Attribute
- tool "Java"
- name "Stateful"
- value 202)))
- (object Attribute
- tool "Java"
- name "EJBTransactionType"
- value ("EJBTransactionType_Set" 211))
- (object Attribute
- tool "Java"
- name "EJBTransactionType_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "Container"
- value 211)
- (object Attribute
- tool "Java"
- name "Bean"
- value 212)))
- (object Attribute
- tool "Java"
- name "EJBPersistenceType"
- value ("EJBPersistenceType_Set" 220))
- (object Attribute
- tool "Java"
- name "EJBPersistenceType_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name ""
- value 220)
- (object Attribute
- tool "Java"
- name "Bean"
- value 221)
- (object Attribute
- tool "Java"
- name "Container"
- value 222)))
- (object Attribute
- tool "Java"
- name "EJBReentrant"
- value FALSE)
- (object Attribute
- tool "Java"
- name "EJBSessionSync"
- value FALSE)
- (object Attribute
- tool "Java"
- name "EJBVersion"
- value ("EJBVersion_Set" 230))
- (object Attribute
- tool "Java"
- name "EJBVersion_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "2.0"
- value 230)
- (object Attribute
- tool "Java"
- name "1.x"
- value 231)))
- (object Attribute
- tool "Java"
- name "EJBXMLFilePath"
- value "")))
- (object Attribute
- tool "Java"
- name "Default_Servlet__Class"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "ServletName"
- value "")
- (object Attribute
- tool "Java"
- name "ServletContextRef"
- value FALSE)
- (object Attribute
- tool "Java"
- name "IsSingleThread"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletInitParameter"
- value "")
- (object Attribute
- tool "Java"
- name "ServletInitParameterNames"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletIsSecure"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletRequestDispatcher"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletRequestDispatcherPath"
- value "")
- (object Attribute
- tool "Java"
- name "DispatcherInclude"
- value FALSE)
- (object Attribute
- tool "Java"
- name "DispatcherForward"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletSecurityRoles"
- value "")
- (object Attribute
- tool "Java"
- name "ServletgetInfo"
- value "")
- (object Attribute
- tool "Java"
- name "ServletXMLFilePath"
- value "")
- (object Attribute
- tool "Java"
- name "Final"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Static"
- value FALSE)
- (object Attribute
- tool "Java"
- name "GenerateDefaultConstructor"
- value TRUE)
- (object Attribute
- tool "Java"
- name "ConstructorIs"
- value ("Ctor_Set" 62))
- (object Attribute
- tool "Java"
- name "Ctor_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "public"
- value 62)
- (object Attribute
- tool "Java"
- name "protected"
- value 63)
- (object Attribute
- tool "Java"
- name "private"
- value 64)
- (object Attribute
- tool "Java"
- name "package"
- value 65)))
- (object Attribute
- tool "Java"
- name "GenerateFinalizer"
- value FALSE)
- (object Attribute
- tool "Java"
- name "GenerateStaticInitializer"
- value FALSE)
- (object Attribute
- tool "Java"
- name "GenerateInstanceInitializer"
- value FALSE)
- (object Attribute
- tool "Java"
- name "GenerateCode"
- value TRUE)
- (object Attribute
- tool "Java"
- name "DisableAutoSync"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ReadOnly"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Strictfp"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletRequestAttribute"
- value "")
- (object Attribute
- tool "Java"
- name "ServletRequestAttributesNames"
- value FALSE)
- (object Attribute
- tool "Java"
- name "MethodForRequestAttributes"
- value "")
- (object Attribute
- tool "Java"
- name "ServletRequestParameter"
- value "")
- (object Attribute
- tool "Java"
- name "ServletRequestParameterNames"
- value FALSE)
- (object Attribute
- tool "Java"
- name "MethodForRequestParameters"
- value "")
- (object Attribute
- tool "Java"
- name "ServletHeader"
- value "")
- (object Attribute
- tool "Java"
- name "ServletHeaderNames"
- value FALSE)
- (object Attribute
- tool "Java"
- name "MethodForHeaders"
- value "")
- (object Attribute
- tool "Java"
- name "ServletIntHeader"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletDateHeader"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletCookie"
- value FALSE)
- (object Attribute
- tool "Java"
- name "MethodForCookie"
- value "")
- (object Attribute
- tool "Java"
- name "ServletContentType"
- value "")
- (object Attribute
- tool "Java"
- name "GenerateHTML"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Generate_XML_DD"
- value TRUE)
- (object Attribute
- tool "Java"
- name "EJBCmpField"
- value "")
- (object Attribute
- tool "Java"
- name "EJBEnvironmentProperties"
- value "")
- (object Attribute
- tool "Java"
- name "EJBCnxFactory"
- value "")
- (object Attribute
- tool "Java"
- name "EJBReferences"
- value "")
- (object Attribute
- tool "Java"
- name "EJBSecurityRoles"
- value "")
- (object Attribute
- tool "Java"
- name "EJBNameInJAR"
- value "")
- (object Attribute
- tool "Java"
- name "EJBSessionType"
- value ("EJBSessionType_Set" 200))
- (object Attribute
- tool "Java"
- name "EJBSessionType_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name ""
- value 200)
- (object Attribute
- tool "Java"
- name "Stateless"
- value 201)
- (object Attribute
- tool "Java"
- name "Stateful"
- value 202)))
- (object Attribute
- tool "Java"
- name "EJBTransactionType"
- value ("EJBTransactionType_Set" 211))
- (object Attribute
- tool "Java"
- name "EJBTransactionType_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "Container"
- value 211)
- (object Attribute
- tool "Java"
- name "Bean"
- value 212)))
- (object Attribute
- tool "Java"
- name "EJBPersistenceType"
- value ("EJBPersistenceType_Set" 220))
- (object Attribute
- tool "Java"
- name "EJBPersistenceType_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name ""
- value 220)
- (object Attribute
- tool "Java"
- name "Bean"
- value 221)
- (object Attribute
- tool "Java"
- name "Container"
- value 222)))
- (object Attribute
- tool "Java"
- name "EJBReentrant"
- value FALSE)
- (object Attribute
- tool "Java"
- name "EJBSessionSync"
- value FALSE)
- (object Attribute
- tool "Java"
- name "EJBVersion"
- value ("EJBVersion_Set" 230))
- (object Attribute
- tool "Java"
- name "EJBVersion_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "2.0"
- value 230)
- (object Attribute
- tool "Java"
- name "1.x"
- value 231)))
- (object Attribute
- tool "Java"
- name "EJBXMLFilePath"
- value "")))
- (object Attribute
- tool "Java"
- name "Http_Servlet__Class"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "ServletRequestAttribute"
- value "")
- (object Attribute
- tool "Java"
- name "ServletRequestAttributesNames"
- value FALSE)
- (object Attribute
- tool "Java"
- name "MethodForRequestAttributes"
- value "")
- (object Attribute
- tool "Java"
- name "ServletRequestParameter"
- value "")
- (object Attribute
- tool "Java"
- name "ServletRequestParameterNames"
- value FALSE)
- (object Attribute
- tool "Java"
- name "MethodForRequestParameters"
- value "")
- (object Attribute
- tool "Java"
- name "ServletHeader"
- value "")
- (object Attribute
- tool "Java"
- name "ServletHeaderNames"
- value FALSE)
- (object Attribute
- tool "Java"
- name "MethodForHeaders"
- value "")
- (object Attribute
- tool "Java"
- name "ServletIntHeader"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletDateHeader"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletCookie"
- value FALSE)
- (object Attribute
- tool "Java"
- name "MethodForCookie"
- value "")
- (object Attribute
- tool "Java"
- name "ServletContentType"
- value "")
- (object Attribute
- tool "Java"
- name "GenerateHTML"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Final"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Static"
- value FALSE)
- (object Attribute
- tool "Java"
- name "GenerateDefaultConstructor"
- value TRUE)
- (object Attribute
- tool "Java"
- name "ConstructorIs"
- value ("Ctor_Set" 62))
- (object Attribute
- tool "Java"
- name "Ctor_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "public"
- value 62)
- (object Attribute
- tool "Java"
- name "protected"
- value 63)
- (object Attribute
- tool "Java"
- name "private"
- value 64)
- (object Attribute
- tool "Java"
- name "package"
- value 65)))
- (object Attribute
- tool "Java"
- name "GenerateFinalizer"
- value FALSE)
- (object Attribute
- tool "Java"
- name "GenerateStaticInitializer"
- value FALSE)
- (object Attribute
- tool "Java"
- name "GenerateInstanceInitializer"
- value FALSE)
- (object Attribute
- tool "Java"
- name "GenerateCode"
- value TRUE)
- (object Attribute
- tool "Java"
- name "DisableAutoSync"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ReadOnly"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Strictfp"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletName"
- value "")
- (object Attribute
- tool "Java"
- name "ServletContextRef"
- value FALSE)
- (object Attribute
- tool "Java"
- name "IsSingleThread"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletInitParameter"
- value "")
- (object Attribute
- tool "Java"
- name "ServletInitParameterNames"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletIsSecure"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletRequestDispatcher"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletRequestDispatcherPath"
- value "")
- (object Attribute
- tool "Java"
- name "DispatcherInclude"
- value FALSE)
- (object Attribute
- tool "Java"
- name "DispatcherForward"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletSecurityRoles"
- value "")
- (object Attribute
- tool "Java"
- name "ServletgetInfo"
- value "")
- (object Attribute
- tool "Java"
- name "ServletXMLFilePath"
- value "")
- (object Attribute
- tool "Java"
- name "Generate_XML_DD"
- value TRUE)
- (object Attribute
- tool "Java"
- name "EJBCmpField"
- value "")
- (object Attribute
- tool "Java"
- name "EJBEnvironmentProperties"
- value "")
- (object Attribute
- tool "Java"
- name "EJBCnxFactory"
- value "")
- (object Attribute
- tool "Java"
- name "EJBReferences"
- value "")
- (object Attribute
- tool "Java"
- name "EJBSecurityRoles"
- value "")
- (object Attribute
- tool "Java"
- name "EJBNameInJAR"
- value "")
- (object Attribute
- tool "Java"
- name "EJBSessionType"
- value ("EJBSessionType_Set" 200))
- (object Attribute
- tool "Java"
- name "EJBSessionType_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name ""
- value 200)
- (object Attribute
- tool "Java"
- name "Stateless"
- value 201)
- (object Attribute
- tool "Java"
- name "Stateful"
- value 202)))
- (object Attribute
- tool "Java"
- name "EJBTransactionType"
- value ("EJBTransactionType_Set" 211))
- (object Attribute
- tool "Java"
- name "EJBTransactionType_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "Container"
- value 211)
- (object Attribute
- tool "Java"
- name "Bean"
- value 212)))
- (object Attribute
- tool "Java"
- name "EJBPersistenceType"
- value ("EJBPersistenceType_Set" 220))
- (object Attribute
- tool "Java"
- name "EJBPersistenceType_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name ""
- value 220)
- (object Attribute
- tool "Java"
- name "Bean"
- value 221)
- (object Attribute
- tool "Java"
- name "Container"
- value 222)))
- (object Attribute
- tool "Java"
- name "EJBReentrant"
- value FALSE)
- (object Attribute
- tool "Java"
- name "EJBSessionSync"
- value FALSE)
- (object Attribute
- tool "Java"
- name "EJBVersion"
- value ("EJBVersion_Set" 230))
- (object Attribute
- tool "Java"
- name "EJBVersion_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "2.0"
- value 230)
- (object Attribute
- tool "Java"
- name "1.x"
- value 231)))
- (object Attribute
- tool "Java"
- name "EJBXMLFilePath"
- value "")))
- (object Attribute
- tool "Java"
- name "Default_EJB__Class"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "Generate_XML_DD"
- value TRUE)
- (object Attribute
- tool "Java"
- name "EJBCmpField"
- value "")
- (object Attribute
- tool "Java"
- name "EJBEnvironmentProperties"
- value "")
- (object Attribute
- tool "Java"
- name "EJBCnxFactory"
- value "")
- (object Attribute
- tool "Java"
- name "EJBReferences"
- value "")
- (object Attribute
- tool "Java"
- name "EJBSecurityRoles"
- value "")
- (object Attribute
- tool "Java"
- name "EJBNameInJAR"
- value "")
- (object Attribute
- tool "Java"
- name "EJBSessionType"
- value ("EJBSessionType_Set" 200))
- (object Attribute
- tool "Java"
- name "EJBSessionType_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name ""
- value 200)
- (object Attribute
- tool "Java"
- name "Stateless"
- value 201)
- (object Attribute
- tool "Java"
- name "Stateful"
- value 202)))
- (object Attribute
- tool "Java"
- name "EJBTransactionType"
- value ("EJBTransactionType_Set" 211))
- (object Attribute
- tool "Java"
- name "EJBTransactionType_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "Container"
- value 211)
- (object Attribute
- tool "Java"
- name "Bean"
- value 212)))
- (object Attribute
- tool "Java"
- name "EJBPersistenceType"
- value ("EJBPersistenceType_Set" 220))
- (object Attribute
- tool "Java"
- name "EJBPersistenceType_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name ""
- value 220)
- (object Attribute
- tool "Java"
- name "Bean"
- value 221)
- (object Attribute
- tool "Java"
- name "Container"
- value 222)))
- (object Attribute
- tool "Java"
- name "EJBReentrant"
- value FALSE)
- (object Attribute
- tool "Java"
- name "EJBSessionSync"
- value FALSE)
- (object Attribute
- tool "Java"
- name "EJBVersion"
- value ("EJBVersion_Set" 230))
- (object Attribute
- tool "Java"
- name "EJBVersion_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "2.0"
- value 230)
- (object Attribute
- tool "Java"
- name "1.x"
- value 231)))
- (object Attribute
- tool "Java"
- name "EJBXMLFilePath"
- value "")
- (object Attribute
- tool "Java"
- name "Final"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Static"
- value FALSE)
- (object Attribute
- tool "Java"
- name "GenerateDefaultConstructor"
- value TRUE)
- (object Attribute
- tool "Java"
- name "ConstructorIs"
- value ("Ctor_Set" 62))
- (object Attribute
- tool "Java"
- name "Ctor_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "public"
- value 62)
- (object Attribute
- tool "Java"
- name "protected"
- value 63)
- (object Attribute
- tool "Java"
- name "private"
- value 64)
- (object Attribute
- tool "Java"
- name "package"
- value 65)))
- (object Attribute
- tool "Java"
- name "GenerateFinalizer"
- value FALSE)
- (object Attribute
- tool "Java"
- name "GenerateStaticInitializer"
- value FALSE)
- (object Attribute
- tool "Java"
- name "GenerateInstanceInitializer"
- value FALSE)
- (object Attribute
- tool "Java"
- name "GenerateCode"
- value TRUE)
- (object Attribute
- tool "Java"
- name "DisableAutoSync"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ReadOnly"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Strictfp"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletName"
- value "")
- (object Attribute
- tool "Java"
- name "ServletContextRef"
- value FALSE)
- (object Attribute
- tool "Java"
- name "IsSingleThread"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletInitParameter"
- value "")
- (object Attribute
- tool "Java"
- name "ServletInitParameterNames"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletIsSecure"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletRequestDispatcher"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletRequestDispatcherPath"
- value "")
- (object Attribute
- tool "Java"
- name "DispatcherInclude"
- value FALSE)
- (object Attribute
- tool "Java"
- name "DispatcherForward"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletSecurityRoles"
- value "")
- (object Attribute
- tool "Java"
- name "ServletgetInfo"
- value "")
- (object Attribute
- tool "Java"
- name "ServletXMLFilePath"
- value "")
- (object Attribute
- tool "Java"
- name "ServletRequestAttribute"
- value "")
- (object Attribute
- tool "Java"
- name "ServletRequestAttributesNames"
- value FALSE)
- (object Attribute
- tool "Java"
- name "MethodForRequestAttributes"
- value "")
- (object Attribute
- tool "Java"
- name "ServletRequestParameter"
- value "")
- (object Attribute
- tool "Java"
- name "ServletRequestParameterNames"
- value FALSE)
- (object Attribute
- tool "Java"
- name "MethodForRequestParameters"
- value "")
- (object Attribute
- tool "Java"
- name "ServletHeader"
- value "")
- (object Attribute
- tool "Java"
- name "ServletHeaderNames"
- value FALSE)
- (object Attribute
- tool "Java"
- name "MethodForHeaders"
- value "")
- (object Attribute
- tool "Java"
- name "ServletIntHeader"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletDateHeader"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletCookie"
- value FALSE)
- (object Attribute
- tool "Java"
- name "MethodForCookie"
- value "")
- (object Attribute
- tool "Java"
- name "ServletContentType"
- value "")
- (object Attribute
- tool "Java"
- name "GenerateHTML"
- value FALSE)))
- (object Attribute
- tool "Java"
- name "default__Module-Spec"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "CmIdentification"
- value (value Text ""))
- (object Attribute
- tool "Java"
- name "CopyrightNotice"
- value (value Text ""))))
- (object Attribute
- tool "Java"
- name "default__Module-Body"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "CmIdentification"
- value (value Text ""))
- (object Attribute
- tool "Java"
- name "CopyrightNotice"
- value (value Text ""))))
- (object Attribute
- tool "Java"
- name "default__Operation"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "Abstract"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Static"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Final"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Native"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Synchronized"
- value FALSE)
- (object Attribute
- tool "Java"
- name "GenerateFullyQualifiedReturn"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ReplaceExistingCode"
- value TRUE)
- (object Attribute
- tool "Java"
- name "Strictfp"
- value FALSE)))
- (object Attribute
- tool "Java"
- name "default__Attribute"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "Final"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Transient"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Volatile"
- value FALSE)
- (object Attribute
- tool "Java"
- name "PropertyType"
- value ("BeanProperty_Set" 71))
- (object Attribute
- tool "Java"
- name "BeanProperty_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "Not A Property"
- value 71)
- (object Attribute
- tool "Java"
- name "Simple"
- value 72)
- (object Attribute
- tool "Java"
- name "Bound"
- value 73)
- (object Attribute
- tool "Java"
- name "Constrained"
- value 74)))
- (object Attribute
- tool "Java"
- name "IndividualChangeMgt"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Read/Write"
- value ("Read/Write_Set" 81))
- (object Attribute
- tool "Java"
- name "Read/Write_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "Read & Write"
- value 81)
- (object Attribute
- tool "Java"
- name "Read Only"
- value 82)
- (object Attribute
- tool "Java"
- name "Write Only"
- value 83)))
- (object Attribute
- tool "Java"
- name "GenerateFullyQualifiedTypes"
- value FALSE)))
- (object Attribute
- tool "Java"
- name "default__Role"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "ContainerClass"
- value "")
- (object Attribute
- tool "Java"
- name "InitialValue"
- value "")
- (object Attribute
- tool "Java"
- name "Final"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Transient"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Volatile"
- value FALSE)
- (object Attribute
- tool "Java"
- name "PropertyType"
- value ("BeanProperty_Set" 71))
- (object Attribute
- tool "Java"
- name "BeanProperty_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "Not A Property"
- value 71)
- (object Attribute
- tool "Java"
- name "Simple"
- value 72)
- (object Attribute
- tool "Java"
- name "Bound"
- value 73)
- (object Attribute
- tool "Java"
- name "Constrained"
- value 74)))
- (object Attribute
- tool "Java"
- name "IndividualChangeMgt"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Read/Write"
- value ("Read/Write_Set" 81))
- (object Attribute
- tool "Java"
- name "Read/Write_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "Read & Write"
- value 81)
- (object Attribute
- tool "Java"
- name "Read Only"
- value 82)
- (object Attribute
- tool "Java"
- name "Write Only"
- value 83)))
- (object Attribute
- tool "Java"
- name "GenerateFullyQualifiedTypes"
- value FALSE)
- (object Attribute
- tool "Java"
- name "IsNavigable"
- value TRUE)))
- (object Attribute
- tool "Java"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "Oracle8"
- name "propertyId"
- value "360000002")
- (object Attribute
- tool "Oracle8"
- name "default__Project"
- value (list Attribute_Set
- (object Attribute
- tool "Oracle8"
- name "DDLScriptFilename"
- value "DDL1.SQL")
- (object Attribute
- tool "Oracle8"
- name "DropClause"
- value FALSE)
- (object Attribute
- tool "Oracle8"
- name "PrimaryKeyColumnName"
- value "_ID")
- (object Attribute
- tool "Oracle8"
- name "PrimaryKeyColumnType"
- value "NUMBER(5,0)")
- (object Attribute
- tool "Oracle8"
- name "SchemaNamePrefix"
- value "")
- (object Attribute
- tool "Oracle8"
- name "SchemaNameSuffix"
- value "")
- (object Attribute
- tool "Oracle8"
- name "TableNamePrefix"
- value "")
- (object Attribute
- tool "Oracle8"
- name "TableNameSuffix"
- value "")
- (object Attribute
- tool "Oracle8"
- name "TypeNamePrefix"
- value "")
- (object Attribute
- tool "Oracle8"
- name "TypeNameSuffix"
- value "")
- (object Attribute
- tool "Oracle8"
- name "ViewNamePrefix"
- value "")
- (object Attribute
- tool "Oracle8"
- name "ViewNameSuffix"
- value "")
- (object Attribute
- tool "Oracle8"
- name "VarrayNamePrefix"
- value "")
- (object Attribute
- tool "Oracle8"
- name "VarrayNameSuffix"
- value "")
- (object Attribute
- tool "Oracle8"
- name "NestedTableNamePrefix"
- value "")
- (object Attribute
- tool "Oracle8"
- name "NestedTableNameSuffix"
- value "")
- (object Attribute
- tool "Oracle8"
- name "ObjectTableNamePrefix"
- value "")
- (object Attribute
- tool "Oracle8"
- name "ObjectTableNameSuffix"
- value "")))
- (object Attribute
- tool "Oracle8"
- name "default__Module-Spec"
- value (list Attribute_Set
- (object Attribute
- tool "Oracle8"
- name "IsSchema"
- value FALSE)))
- (object Attribute
- tool "Oracle8"
- name "default__Class"
- value (list Attribute_Set
- (object Attribute
- tool "Oracle8"
- name "OID"
- value "")
- (object Attribute
- tool "Oracle8"
- name "WhereClause"
- value "")
- (object Attribute
- tool "Oracle8"
- name "CheckConstraint"
- value "")
- (object Attribute
- tool "Oracle8"
- name "CollectionTypeLength"
- value "")
- (object Attribute
- tool "Oracle8"
- name "CollectionTypePrecision"
- value "")
- (object Attribute
- tool "Oracle8"
- name "CollectionTypeScale"
- value "")
- (object Attribute
- tool "Oracle8"
- name "CollectionOfREFS"
- value FALSE)))
- (object Attribute
- tool "Oracle8"
- name "default__Operation"
- value (list Attribute_Set
- (object Attribute
- tool "Oracle8"
- name "MethodKind"
- value ("MethodKindSet" 1903))
- (object Attribute
- tool "Oracle8"
- name "OverloadID"
- value "")
- (object Attribute
- tool "Oracle8"
- name "OrderNumber"
- value "")
- (object Attribute
- tool "Oracle8"
- name "IsReadNoDataState"
- value FALSE)
- (object Attribute
- tool "Oracle8"
- name "IsReadNoProcessState"
- value FALSE)
- (object Attribute
- tool "Oracle8"
- name "IsWriteNoDataState"
- value FALSE)
- (object Attribute
- tool "Oracle8"
- name "IsWriteNoProcessState"
- value FALSE)
- (object Attribute
- tool "Oracle8"
- name "IsSelfish"
- value FALSE)
- (object Attribute
- tool "Oracle8"
- name "TriggerType"
- value ("TriggerTypeSet" 1801))
- (object Attribute
- tool "Oracle8"
- name "TriggerEvent"
- value ("TriggerEventSet" 1601))
- (object Attribute
- tool "Oracle8"
- name "TriggerText"
- value "")
- (object Attribute
- tool "Oracle8"
- name "TriggerReferencingNames"
- value "")
- (object Attribute
- tool "Oracle8"
- name "TriggerForEach"
- value ("TriggerForEachSet" 1701))
- (object Attribute
- tool "Oracle8"
- name "TriggerWhenClause"
- value "")
- (object Attribute
- tool "Oracle8"
- name "MethodKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "Oracle8"
- name "MapMethod"
- value 1901)
- (object Attribute
- tool "Oracle8"
- name "OrderMethod"
- value 1902)
- (object Attribute
- tool "Oracle8"
- name "Function"
- value 1903)
- (object Attribute
- tool "Oracle8"
- name "Procedure"
- value 1904)
- (object Attribute
- tool "Oracle8"
- name "Operator"
- value 1905)
- (object Attribute
- tool "Oracle8"
- name "Constructor"
- value 1906)
- (object Attribute
- tool "Oracle8"
- name "Destructor"
- value 1907)
- (object Attribute
- tool "Oracle8"
- name "Trigger"
- value 1908)
- (object Attribute
- tool "Oracle8"
- name "Calculated"
- value 1909)))
- (object Attribute
- tool "Oracle8"
- name "TriggerTypeSet"
- value (list Attribute_Set
- (object Attribute
- tool "Oracle8"
- name "AFTER"
- value 1801)
- (object Attribute
- tool "Oracle8"
- name "BEFORE"
- value 1802)
- (object Attribute
- tool "Oracle8"
- name "INSTEAD OF"
- value 1803)))
- (object Attribute
- tool "Oracle8"
- name "TriggerForEachSet"
- value (list Attribute_Set
- (object Attribute
- tool "Oracle8"
- name "ROW"
- value 1701)
- (object Attribute
- tool "Oracle8"
- name "STATEMENT"
- value 1702)))
- (object Attribute
- tool "Oracle8"
- name "TriggerEventSet"
- value (list Attribute_Set
- (object Attribute
- tool "Oracle8"
- name "INSERT"
- value 1601)
- (object Attribute
- tool "Oracle8"
- name "UPDATE"
- value 1602)
- (object Attribute
- tool "Oracle8"
- name "DELETE"
- value 1603)
- (object Attribute
- tool "Oracle8"
- name "INSERT OR UPDATE"
- value 1604)
- (object Attribute
- tool "Oracle8"
- name "INSERT OR DELETE"
- value 1605)
- (object Attribute
- tool "Oracle8"
- name "UPDATE OR DELETE"
- value 1606)
- (object Attribute
- tool "Oracle8"
- name "INSERT OR UPDATE OR DELETE"
- value 1607)))))
- (object Attribute
- tool "Oracle8"
- name "default__Role"
- value (list Attribute_Set
- (object Attribute
- tool "Oracle8"
- name "OrderNumber"
- value "")))
- (object Attribute
- tool "Oracle8"
- name "default__Attribute"
- value (list Attribute_Set
- (object Attribute
- tool "Oracle8"
- name "OrderNumber"
- value "")
- (object Attribute
- tool "Oracle8"
- name "IsUnique"
- value FALSE)
- (object Attribute
- tool "Oracle8"
- name "NullsAllowed"
- value TRUE)
- (object Attribute
- tool "Oracle8"
- name "Length"
- value "")
- (object Attribute
- tool "Oracle8"
- name "Precision"
- value "2")
- (object Attribute
- tool "Oracle8"
- name "Scale"
- value "6")
- (object Attribute
- tool "Oracle8"
- name "IsIndex"
- value FALSE)
- (object Attribute
- tool "Oracle8"
- name "IsPrimaryKey"
- value FALSE)
- (object Attribute
- tool "Oracle8"
- name "CompositeUnique"
- value FALSE)
- (object Attribute
- tool "Oracle8"
- name "CheckConstraint"
- value "")))
- (object Attribute
- tool "Oracle8"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "ComponentTest"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "RequisitePro"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "cg"
- name "propertyId"
- value "809135966")
- (object Attribute
- tool "cg"
- name "default__Project"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "AllowGenerateOverNewerAnnotations"
- value FALSE)
- (object Attribute
- tool "cg"
- name "AllowGenerateOverNewerVersion"
- value FALSE)
- (object Attribute
- tool "cg"
- name "UseMSVC"
- value FALSE)
- (object Attribute
- tool "cg"
- name "HeaderFileExtension"
- value "h")
- (object Attribute
- tool "cg"
- name "HeaderFileBackupExtension"
- value "h~")
- (object Attribute
- tool "cg"
- name "HeaderFileTemporaryExtension"
- value "h#")
- (object Attribute
- tool "cg"
- name "CodeFileExtension"
- value "cpp")
- (object Attribute
- tool "cg"
- name "CodeFileBackupExtension"
- value "cp~")
- (object Attribute
- tool "cg"
- name "CodeFileTemporaryExtension"
- value "cp#")
- (object Attribute
- tool "cg"
- name "CreateMissingDirectories"
- value TRUE)
- (object Attribute
- tool "cg"
- name "StopOnError"
- value FALSE)
- (object Attribute
- tool "cg"
- name "ErrorLimit"
- value 30)
- (object Attribute
- tool "cg"
- name "Directory"
- value "$ROSECPP_SOURCE")
- (object Attribute
- tool "cg"
- name "PathSeparator"
- value "")
- (object Attribute
- tool "cg"
- name "FileNameFormat"
- value "128vx_b")
- (object Attribute
- tool "cg"
- name "BooleanType"
- value "int")
- (object Attribute
- tool "cg"
- name "AllowTemplates"
- value TRUE)
- (object Attribute
- tool "cg"
- name "AllowExplicitInstantiations"
- value FALSE)
- (object Attribute
- tool "cg"
- name "AllowProtectedInheritance"
- value TRUE)
- (object Attribute
- tool "cg"
- name "CommentWidth"
- value 60)
- (object Attribute
- tool "cg"
- name "OneByValueContainer"
- value "$targetClass")
- (object Attribute
- tool "cg"
- name "OneByReferenceContainer"
- value "$targetClass *")
- (object Attribute
- tool "cg"
- name "OptionalByValueContainer"
- value "OptionalByValue<$targetClass>")
- (object Attribute
- tool "cg"
- name "OptionalByReferenceContainer"
- value "$targetClass *")
- (object Attribute
- tool "cg"
- name "FixedByValueContainer"
- value "$targetClass[$limit]")
- (object Attribute
- tool "cg"
- name "UnorderedFixedByValueContainer"
- value "$targetClass[$limit]")
- (object Attribute
- tool "cg"
- name "FixedByReferenceContainer"
- value "$targetClass *[$limit]")
- (object Attribute
- tool "cg"
- name "UnorderedFixedByReferenceContainer"
- value "$targetClass *[$limit]")
- (object Attribute
- tool "cg"
- name "BoundedByValueContainer"
- value "BoundedListByValue<$targetClass,$limit>")
- (object Attribute
- tool "cg"
- name "UnorderedBoundedByValueContainer"
- value "BoundedSetByValue<$targetClass,$limit>")
- (object Attribute
- tool "cg"
- name "BoundedByReferenceContainer"
- value "BoundedListByReference<$targetClass,$limit>")
- (object Attribute
- tool "cg"
- name "UnorderedBoundedByReferenceContainer"
- value "BoundedSetByReference<$targetClass,$limit>")
- (object Attribute
- tool "cg"
- name "UnboundedByValueContainer"
- value "UnboundedListByValue<$targetClass>")
- (object Attribute
- tool "cg"
- name "UnorderedUnboundedByValueContainer"
- value "UnboundedSetByValue<$targetClass>")
- (object Attribute
- tool "cg"
- name "UnboundedByReferenceContainer"
- value "UnboundedListByReference<$targetClass>")
- (object Attribute
- tool "cg"
- name "UnorderedUnboundedByReferenceContainer"
- value "UnboundedSetByReference<$targetClass>")
- (object Attribute
- tool "cg"
- name "QualifiedByValueContainer"
- value "AssociationByValue<$qualtype, $qualcont>")
- (object Attribute
- tool "cg"
- name "UnorderedQualifiedByValueContainer"
- value "DictionaryByValue<$qualtype, $qualcont>")
- (object Attribute
- tool "cg"
- name "QualifiedByReferenceContainer"
- value "AssociationByReference<$qualtype, $qualcont>")
- (object Attribute
- tool "cg"
- name "UnorderedQualifiedByReferenceContainer"
- value "DictionaryByReference<$qualtype, $qualcont>")
- (object Attribute
- tool "cg"
- name "AlwaysKeepOrphanedCode"
- value FALSE)))
- (object Attribute
- tool "cg"
- name "compiler2.1__Project"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "AllowGenerateOverNewerAnnotations"
- value FALSE)
- (object Attribute
- tool "cg"
- name "AllowGenerateOverNewerVersion"
- value FALSE)
- (object Attribute
- tool "cg"
- name "HeaderFileExtension"
- value "h")
- (object Attribute
- tool "cg"
- name "HeaderFileBackupExtension"
- value "h~")
- (object Attribute
- tool "cg"
- name "HeaderFileTemporaryExtension"
- value "h#")
- (object Attribute
- tool "cg"
- name "CodeFileExtension"
- value "cpp")
- (object Attribute
- tool "cg"
- name "CodeFileBackupExtension"
- value "cp~")
- (object Attribute
- tool "cg"
- name "CodeFileTemporaryExtension"
- value "cp#")
- (object Attribute
- tool "cg"
- name "CreateMissingDirectories"
- value TRUE)
- (object Attribute
- tool "cg"
- name "StopOnError"
- value FALSE)
- (object Attribute
- tool "cg"
- name "ErrorLimit"
- value 30)
- (object Attribute
- tool "cg"
- name "Directory"
- value "$ROSECPP_SOURCE")
- (object Attribute
- tool "cg"
- name "BooleanType"
- value "int")
- (object Attribute
- tool "cg"
- name "AllowTemplates"
- value FALSE)
- (object Attribute
- tool "cg"
- name "AllowExplicitInstantiations"
- value FALSE)
- (object Attribute
- tool "cg"
- name "AllowProtectedInheritance"
- value FALSE)
- (object Attribute
- tool "cg"
- name "OneByValueContainer"
- value "$targetClass")
- (object Attribute
- tool "cg"
- name "OneByReferenceContainer"
- value "$targetClass *")
- (object Attribute
- tool "cg"
- name "OptionalByValueContainer"
- value "OptionalByValue(sizeof($targetClass))")
- (object Attribute
- tool "cg"
- name "OptionalByReferenceContainer"
- value "$targetClass *")
- (object Attribute
- tool "cg"
- name "FixedByValueContainer"
- value "$targetClass[$limit]")
- (object Attribute
- tool "cg"
- name "UnorderedFixedByValueContainer"
- value "$targetClass[$limit]")
- (object Attribute
- tool "cg"
- name "FixedByReferenceContainer"
- value "$targetClass *[$limit]")
- (object Attribute
- tool "cg"
- name "UnorderedFixedByReferenceContainer"
- value "$targetClass *[$limit]")
- (object Attribute
- tool "cg"
- name "BoundedByValueContainer"
- value "BoundedListByValue(sizeof($targetClass),$limit)")
- (object Attribute
- tool "cg"
- name "UnorderedBoundedByValueContainer"
- value "BoundedSetByValue(sizeof($targetClass),$limit)")
- (object Attribute
- tool "cg"
- name "BoundedByReferenceContainer"
- value "BoundedListByReference($limit)")
- (object Attribute
- tool "cg"
- name "UnorderedBoundedByReferenceContainer"
- value "BoundedSetByReference($limit)")
- (object Attribute
- tool "cg"
- name "UnboundedByValueContainer"
- value "UnboundedListByValue(sizeof($targetClass))")
- (object Attribute
- tool "cg"
- name "UnorderedUnboundedByValueContainer"
- value "UnboundedSetByValue(sizeof($targetClass))")
- (object Attribute
- tool "cg"
- name "UnboundedByReferenceContainer"
- value "UnboundedListByReference")
- (object Attribute
- tool "cg"
- name "UnorderedUnboundedByReferenceContainer"
- value "UnboundedSetByReference")
- (object Attribute
- tool "cg"
- name "QualifiedByValueContainer"
- value "AssociationByValue(sizeof($qualtype), sizeof($qualcont))")
- (object Attribute
- tool "cg"
- name "UnorderedQualifiedByValueContainer"
- value "DictionaryByValue(sizeof($qualtype), sizeof($qualcont))")
- (object Attribute
- tool "cg"
- name "QualifiedByReferenceContainer"
- value "AssociationByReference(sizeof($qualtype), sizeof($qualcont))")
- (object Attribute
- tool "cg"
- name "UnorderedQualifiedByReferenceContainer"
- value "DictionaryByReference(sizeof($qualtype), sizeof($qualcont))")
- (object Attribute
- tool "cg"
- name "PathSeparator"
- value "")
- (object Attribute
- tool "cg"
- name "FileNameFormat"
- value "128vx_b")
- (object Attribute
- tool "cg"
- name "AlwaysKeepOrphanedCode"
- value FALSE)))
- (object Attribute
- tool "cg"
- name "compiler3.0__Project"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "AllowGenerateOverNewerAnnotations"
- value FALSE)
- (object Attribute
- tool "cg"
- name "AllowGenerateOverNewerVersion"
- value FALSE)
- (object Attribute
- tool "cg"
- name "HeaderFileExtension"
- value "h")
- (object Attribute
- tool "cg"
- name "HeaderFileBackupExtension"
- value "h~")
- (object Attribute
- tool "cg"
- name "HeaderFileTemporaryExtension"
- value "h#")
- (object Attribute
- tool "cg"
- name "CodeFileExtension"
- value "cpp")
- (object Attribute
- tool "cg"
- name "CodeFileBackupExtension"
- value "cp~")
- (object Attribute
- tool "cg"
- name "CodeFileTemporaryExtension"
- value "cp#")
- (object Attribute
- tool "cg"
- name "CreateMissingDirectories"
- value TRUE)
- (object Attribute
- tool "cg"
- name "StopOnError"
- value FALSE)
- (object Attribute
- tool "cg"
- name "ErrorLimit"
- value 30)
- (object Attribute
- tool "cg"
- name "Directory"
- value "$ROSECPP_SOURCE")
- (object Attribute
- tool "cg"
- name "BooleanType"
- value "int")
- (object Attribute
- tool "cg"
- name "AllowTemplates"
- value TRUE)
- (object Attribute
- tool "cg"
- name "AllowExplicitInstantiations"
- value FALSE)
- (object Attribute
- tool "cg"
- name "AllowProtectedInheritance"
- value TRUE)
- (object Attribute
- tool "cg"
- name "OneByValueContainer"
- value "$targetClass")
- (object Attribute
- tool "cg"
- name "OneByReferenceContainer"
- value "$targetClass *")
- (object Attribute
- tool "cg"
- name "OptionalByValueContainer"
- value "OptionalByValue<$targetClass>")
- (object Attribute
- tool "cg"
- name "OptionalByReferenceContainer"
- value "$targetClass *")
- (object Attribute
- tool "cg"
- name "FixedByValueContainer"
- value "$targetClass[$limit]")
- (object Attribute
- tool "cg"
- name "UnorderedFixedByValueContainer"
- value "$targetClass[$limit]")
- (object Attribute
- tool "cg"
- name "FixedByReferenceContainer"
- value "$targetClass *[$limit]")
- (object Attribute
- tool "cg"
- name "UnorderedFixedByReferenceContainer"
- value "$targetClass *[$limit]")
- (object Attribute
- tool "cg"
- name "BoundedByValueContainer"
- value "BoundedListByValue<$targetClass,$limit>")
- (object Attribute
- tool "cg"
- name "UnorderedBoundedByValueContainer"
- value "BoundedSetByValue<$targetClass,$limit>")
- (object Attribute
- tool "cg"
- name "BoundedByReferenceContainer"
- value "BoundedListByReference<$targetClass,$limit>")
- (object Attribute
- tool "cg"
- name "UnorderedBoundedByReferenceContainer"
- value "BoundedSetByReference<$targetClass,$limit>")
- (object Attribute
- tool "cg"
- name "UnboundedByValueContainer"
- value "UnboundedListByValue<$targetClass>")
- (object Attribute
- tool "cg"
- name "UnorderedUnboundedByValueContainer"
- value "UnboundedSetByValue<$targetClass>")
- (object Attribute
- tool "cg"
- name "UnboundedByReferenceContainer"
- value "UnboundedListByReference<$targetClass>")
- (object Attribute
- tool "cg"
- name "UnorderedUnboundedByReferenceContainer"
- value "UnboundedSetByReference<$targetClass>")
- (object Attribute
- tool "cg"
- name "QualifiedByValueContainer"
- value "AssociationByValue<$qualtype, $qualcont>")
- (object Attribute
- tool "cg"
- name "UnorderedQualifiedByValueContainer"
- value "DictionaryByValue<$qualtype, $qualcont>")
- (object Attribute
- tool "cg"
- name "QualifiedByReferenceContainer"
- value "AssociationByReference<$qualtype, $qualcont>")
- (object Attribute
- tool "cg"
- name "UnorderedQualifiedByReferenceContainer"
- value "DictionaryByReference<$qualtype, $qualcont>")
- (object Attribute
- tool "cg"
- name "PathSeparator"
- value "")
- (object Attribute
- tool "cg"
- name "FileNameFormat"
- value "128vx_b")
- (object Attribute
- tool "cg"
- name "AlwaysKeepOrphanedCode"
- value FALSE)))
- (object Attribute
- tool "cg"
- name "default__Class"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "CodeName"
- value "")
- (object Attribute
- tool "cg"
- name "ImplementationType"
- value "")
- (object Attribute
- tool "cg"
- name "ClassKey"
- value "class")
- (object Attribute
- tool "cg"
- name "GenerateEmptyRegions"
- value ("GenerateEmptyRegionSet" 3))
- (object Attribute
- tool "cg"
- name "GenerateEmptyRegionSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "None"
- value 0)
- (object Attribute
- tool "cg"
- name "Preserved"
- value 1)
- (object Attribute
- tool "cg"
- name "Unpreserved"
- value 2)
- (object Attribute
- tool "cg"
- name "All"
- value 3)))
- (object Attribute
- tool "cg"
- name "PutBodiesInSpec"
- value FALSE)
- (object Attribute
- tool "cg"
- name "GenerateDefaultConstructor"
- value ("GenerateSet" 199))
- (object Attribute
- tool "cg"
- name "DefaultConstructorVisibility"
- value ("VisibilitySet" 45))
- (object Attribute
- tool "cg"
- name "InlineDefaultConstructor"
- value FALSE)
- (object Attribute
- tool "cg"
- name "ExplicitDefaultConstructor"
- value FALSE)
- (object Attribute
- tool "cg"
- name "GenerateCopyConstructor"
- value ("GenerateSet" 199))
- (object Attribute
- tool "cg"
- name "CopyConstructorVisibility"
- value ("VisibilitySet" 45))
- (object Attribute
- tool "cg"
- name "InlineCopyConstructor"
- value FALSE)
- (object Attribute
- tool "cg"
- name "ExplicitCopyConstructor"
- value FALSE)
- (object Attribute
- tool "cg"
- name "GenerateDestructor"
- value TRUE)
- (object Attribute
- tool "cg"
- name "DestructorVisibility"
- value ("VisibilitySet" 45))
- (object Attribute
- tool "cg"
- name "DestructorKind"
- value ("ThreeKindSet" 200))
- (object Attribute
- tool "cg"
- name "InlineDestructor"
- value FALSE)
- (object Attribute
- tool "cg"
- name "GenerateAssignmentOperation"
- value ("GenerateSet" 199))
- (object Attribute
- tool "cg"
- name "AssignmentVisibility"
- value ("VisibilitySet" 45))
- (object Attribute
- tool "cg"
- name "AssignmentKind"
- value ("ThreeKindSet" 200))
- (object Attribute
- tool "cg"
- name "InlineAssignmentOperation"
- value FALSE)
- (object Attribute
- tool "cg"
- name "GenerateEqualityOperations"
- value ("GenerateSet" 199))
- (object Attribute
- tool "cg"
- name "EqualityVisibility"
- value ("VisibilitySet" 45))
- (object Attribute
- tool "cg"
- name "EqualityKind"
- value ("FriendKindSet" 200))
- (object Attribute
- tool "cg"
- name "InlineEqualityOperations"
- value FALSE)
- (object Attribute
- tool "cg"
- name "GenerateRelationalOperations"
- value FALSE)
- (object Attribute
- tool "cg"
- name "RelationalVisibility"
- value ("VisibilitySet" 45))
- (object Attribute
- tool "cg"
- name "RelationalKind"
- value ("FriendKindSet" 200))
- (object Attribute
- tool "cg"
- name "InlineRelationalOperations"
- value FALSE)
- (object Attribute
- tool "cg"
- name "GenerateStorageMgmtOperations"
- value FALSE)
- (object Attribute
- tool "cg"
- name "StorageMgmtVisibility"
- value ("VisibilitySet" 45))
- (object Attribute
- tool "cg"
- name "InlineStorageMgmtOperations"
- value FALSE)
- (object Attribute
- tool "cg"
- name "GenerateSubscriptOperation"
- value FALSE)
- (object Attribute
- tool "cg"
- name "SubscriptVisibility"
- value ("VisibilitySet" 45))
- (object Attribute
- tool "cg"
- name "SubscriptKind"
- value ("ThreeKindSet" 200))
- (object Attribute
- tool "cg"
- name "SubscriptResultType"
- value "")
- (object Attribute
- tool "cg"
- name "InlineSubscriptOperation"
- value FALSE)
- (object Attribute
- tool "cg"
- name "GenerateDereferenceOperation"
- value FALSE)
- (object Attribute
- tool "cg"
- name "DereferenceVisibility"
- value ("VisibilitySet" 45))
- (object Attribute
- tool "cg"
- name "DereferenceKind"
- value ("ThreeKindSet" 200))
- (object Attribute
- tool "cg"
- name "DereferenceResultType"
- value "")
- (object Attribute
- tool "cg"
- name "InlineDereferenceOperation"
- value FALSE)
- (object Attribute
- tool "cg"
- name "GenerateIndirectionOperation"
- value FALSE)
- (object Attribute
- tool "cg"
- name "IndirectionVisibility"
- value ("VisibilitySet" 45))
- (object Attribute
- tool "cg"
- name "IndirectionKind"
- value ("ThreeKindSet" 200))
- (object Attribute
- tool "cg"
- name "IndirectionResultType"
- value "")
- (object Attribute
- tool "cg"
- name "InlineIndirectionOperation"
- value FALSE)
- (object Attribute
- tool "cg"
- name "GenerateStreamOperations"
- value FALSE)
- (object Attribute
- tool "cg"
- name "StreamVisibility"
- value ("VisibilitySet" 45))
- (object Attribute
- tool "cg"
- name "InlineStreamOperations"
- value FALSE)
- (object Attribute
- tool "cg"
- name "ThreeKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Common"
- value 200)
- (object Attribute
- tool "cg"
- name "Virtual"
- value 201)
- (object Attribute
- tool "cg"
- name "Abstract"
- value 202)))
- (object Attribute
- tool "cg"
- name "KindSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Common"
- value 200)
- (object Attribute
- tool "cg"
- name "Virtual"
- value 201)
- (object Attribute
- tool "cg"
- name "Abstract"
- value 202)
- (object Attribute
- tool "cg"
- name "Static"
- value 203)))
- (object Attribute
- tool "cg"
- name "FriendKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Common"
- value 200)
- (object Attribute
- tool "cg"
- name "Virtual"
- value 201)
- (object Attribute
- tool "cg"
- name "Abstract"
- value 202)
- (object Attribute
- tool "cg"
- name "Friend"
- value 204)))
- (object Attribute
- tool "cg"
- name "GenerateSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "DeclareAndDefine"
- value 199)
- (object Attribute
- tool "cg"
- name "DeclareOnly"
- value 205)
- (object Attribute
- tool "cg"
- name "DoNotDeclare"
- value 206)))
- (object Attribute
- tool "cg"
- name "VisibilitySet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Public"
- value 45)
- (object Attribute
- tool "cg"
- name "Protected"
- value 44)
- (object Attribute
- tool "cg"
- name "Private"
- value 43)
- (object Attribute
- tool "cg"
- name "Implementation"
- value 14)))))
- (object Attribute
- tool "cg"
- name "default__Module-Spec"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Generate"
- value TRUE)
- (object Attribute
- tool "cg"
- name "GenerateEmptyRegions"
- value ("GenerateEmptyRegionSet" 3))
- (object Attribute
- tool "cg"
- name "GenerateEmptyRegionSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "None"
- value 0)
- (object Attribute
- tool "cg"
- name "Preserved"
- value 1)
- (object Attribute
- tool "cg"
- name "Unpreserved"
- value 2)
- (object Attribute
- tool "cg"
- name "All"
- value 3)))
- (object Attribute
- tool "cg"
- name "CmIdentification"
- value (value Text " %X% %Q% %Z% %W%"))
- (object Attribute
- tool "cg"
- name "CopyrightNotice"
- value (value Text ""))
- (object Attribute
- tool "cg"
- name "FileName"
- value "AUTO GENERATE")
- (object Attribute
- tool "cg"
- name "AllowExtensionlessFileName"
- value FALSE)
- (object Attribute
- tool "cg"
- name "InclusionProtectionSymbol"
- value "AUTO GENERATE")
- (object Attribute
- tool "cg"
- name "IncludeFormat"
- value (value Text
-|// $package
-|#include "$file"
-|
- ))
- (object Attribute
- tool "cg"
- name "IncludeBySimpleName"
- value FALSE)
- (object Attribute
- tool "cg"
- name "IncludePrecompiledHeader"
- value FALSE)
- (object Attribute
- tool "cg"
- name "IncludeOrder"
- value "AMIR")
- (object Attribute
- tool "cg"
- name "AdditionalIncludes"
- value (value Text ""))
- (object Attribute
- tool "cg"
- name "InliningStyle"
- value ("InliningStyleSet" 207))
- (object Attribute
- tool "cg"
- name "InliningStyleSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "InClassDeclaration"
- value 208)
- (object Attribute
- tool "cg"
- name "FollowingClassDeclaration"
- value 207)))
- (object Attribute
- tool "cg"
- name "TypesDefined"
- value (value Text ""))
- (object Attribute
- tool "cg"
- name "IncludeClosure"
- value (value Text ""))))
- (object Attribute
- tool "cg"
- name "default__Module-Body"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Generate"
- value TRUE)
- (object Attribute
- tool "cg"
- name "GenerateEmptyRegions"
- value ("GenerateEmptyRegionSet" 3))
- (object Attribute
- tool "cg"
- name "GenerateEmptyRegionSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "None"
- value 0)
- (object Attribute
- tool "cg"
- name "Preserved"
- value 1)
- (object Attribute
- tool "cg"
- name "Unpreserved"
- value 2)
- (object Attribute
- tool "cg"
- name "All"
- value 3)))
- (object Attribute
- tool "cg"
- name "CmIdentification"
- value (value Text " %X% %Q% %Z% %W%"))
- (object Attribute
- tool "cg"
- name "CopyrightNotice"
- value (value Text ""))
- (object Attribute
- tool "cg"
- name "FileName"
- value "AUTO GENERATE")
- (object Attribute
- tool "cg"
- name "AllowExtensionlessFileName"
- value FALSE)
- (object Attribute
- tool "cg"
- name "IncludeFormat"
- value (value Text
-|// $package
-|#include "$file"
-|
- ))
- (object Attribute
- tool "cg"
- name "IncludeBySimpleName"
- value FALSE)
- (object Attribute
- tool "cg"
- name "IncludePrecompiledHeader"
- value TRUE)
- (object Attribute
- tool "cg"
- name "IncludeOrder"
- value "AMIR")
- (object Attribute
- tool "cg"
- name "AdditionalIncludes"
- value (value Text ""))
- (object Attribute
- tool "cg"
- name "InliningStyle"
- value ("InliningStyleSet" 207))
- (object Attribute
- tool "cg"
- name "InliningStyleSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "InClassDeclaration"
- value 208)
- (object Attribute
- tool "cg"
- name "FollowingClassDeclaration"
- value 207)))
- (object Attribute
- tool "cg"
- name "TypesDefined"
- value (value Text ""))
- (object Attribute
- tool "cg"
- name "IncludeClosure"
- value (value Text ""))))
- (object Attribute
- tool "cg"
- name "default__Operation"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "CodeName"
- value "")
- (object Attribute
- tool "cg"
- name "OperationKind"
- value ("OperationKindSet" 200))
- (object Attribute
- tool "cg"
- name "OperationKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Common"
- value 200)
- (object Attribute
- tool "cg"
- name "Virtual"
- value 201)
- (object Attribute
- tool "cg"
- name "Abstract"
- value 202)
- (object Attribute
- tool "cg"
- name "Static"
- value 203)
- (object Attribute
- tool "cg"
- name "Friend"
- value 204)))
- (object Attribute
- tool "cg"
- name "GenerateAbstractBody"
- value FALSE)
- (object Attribute
- tool "cg"
- name "GenerateFriendBody"
- value FALSE)
- (object Attribute
- tool "cg"
- name "GenerateFriendDecl"
- value FALSE)
- (object Attribute
- tool "cg"
- name "SpecialDeclReturnType"
- value "")
- (object Attribute
- tool "cg"
- name "OperationIsConst"
- value FALSE)
- (object Attribute
- tool "cg"
- name "OperationIsExplicit"
- value FALSE)
- (object Attribute
- tool "cg"
- name "Inline"
- value FALSE)
- (object Attribute
- tool "cg"
- name "EntryCode"
- value (value Text ""))
- (object Attribute
- tool "cg"
- name "ExitCode"
- value (value Text ""))
- (object Attribute
- tool "cg"
- name "CCRegion"
- value "")
- (object Attribute
- tool "cg"
- name "GenerateEmptyRegions"
- value ("GenerateEmptyRegionSet" 3))
- (object Attribute
- tool "cg"
- name "GenerateEmptyRegionSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "None"
- value 0)
- (object Attribute
- tool "cg"
- name "Preserved"
- value 1)
- (object Attribute
- tool "cg"
- name "Unpreserved"
- value 2)
- (object Attribute
- tool "cg"
- name "All"
- value 3)))
- (object Attribute
- tool "cg"
- name "BodyAnnotations"
- value "")))
- (object Attribute
- tool "cg"
- name "default__Has"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "CodeName"
- value "")
- (object Attribute
- tool "cg"
- name "Ordered"
- value TRUE)
- (object Attribute
- tool "cg"
- name "NameIfUnlabeled"
- value "the_$supplier")
- (object Attribute
- tool "cg"
- name "GenerateDataMember"
- value TRUE)
- (object Attribute
- tool "cg"
- name "DataMemberName"
- value "$relationship")
- (object Attribute
- tool "cg"
- name "DataMemberVisibility"
- value ("DataMemberVisibilitySet" 14))
- (object Attribute
- tool "cg"
- name "DataMemberVisibilitySet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Public"
- value 45)
- (object Attribute
- tool "cg"
- name "Protected"
- value 44)
- (object Attribute
- tool "cg"
- name "Private"
- value 43)
- (object Attribute
- tool "cg"
- name "Implementation"
- value 14)
- (object Attribute
- tool "cg"
- name "AtRelationshipVisibility"
- value 210)))
- (object Attribute
- tool "cg"
- name "DataMemberMutability"
- value ("DataMemberMutabilitySet" 0))
- (object Attribute
- tool "cg"
- name "DataMemberMutabilitySet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Unrestricted"
- value 0)
- (object Attribute
- tool "cg"
- name "Mutable"
- value 1)
- (object Attribute
- tool "cg"
- name "Const"
- value 2)))
- (object Attribute
- tool "cg"
- name "DataMemberIsVolatile"
- value FALSE)
- (object Attribute
- tool "cg"
- name "DataMemberFieldSize"
- value "")
- (object Attribute
- tool "cg"
- name "InitialValue"
- value (value Text ""))
- (object Attribute
- tool "cg"
- name "GenerateGetOperation"
- value TRUE)
- (object Attribute
- tool "cg"
- name "GenerateSetOperation"
- value TRUE)
- (object Attribute
- tool "cg"
- name "GetName"
- value "get_$relationship")
- (object Attribute
- tool "cg"
- name "SetName"
- value "set_$relationship")
- (object Attribute
- tool "cg"
- name "GetSetKinds"
- value ("GetSetKindsSet" 200))
- (object Attribute
- tool "cg"
- name "GetSetKindsSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Common"
- value 200)
- (object Attribute
- tool "cg"
- name "Virtual"
- value 201)
- (object Attribute
- tool "cg"
- name "Abstract"
- value 202)
- (object Attribute
- tool "cg"
- name "Static"
- value 203)
- (object Attribute
- tool "cg"
- name "Friend"
- value 204)))
- (object Attribute
- tool "cg"
- name "ContainerClass"
- value "")
- (object Attribute
- tool "cg"
- name "SelectorName"
- value "")
- (object Attribute
- tool "cg"
- name "SelectorType"
- value "")
- (object Attribute
- tool "cg"
- name "GetIsConst"
- value TRUE)
- (object Attribute
- tool "cg"
- name "GetResultIsConst"
- value ("GetResultIsConstSet" 2))
- (object Attribute
- tool "cg"
- name "GetResultIsConstSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "False"
- value 0)
- (object Attribute
- tool "cg"
- name "True"
- value 1)
- (object Attribute
- tool "cg"
- name "Same_As_Function"
- value 2)))
- (object Attribute
- tool "cg"
- name "GetSetByReference"
- value FALSE)
- (object Attribute
- tool "cg"
- name "InlineGet"
- value TRUE)
- (object Attribute
- tool "cg"
- name "SetReturnsValue"
- value FALSE)
- (object Attribute
- tool "cg"
- name "InlineSet"
- value TRUE)
- (object Attribute
- tool "cg"
- name "ForwardReferenceOnly"
- value FALSE)
- (object Attribute
- tool "cg"
- name "HasRelTypeSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Array"
- value 24)
- (object Attribute
- tool "cg"
- name "Sequence"
- value 47)))))
- (object Attribute
- tool "cg"
- name "default__Association"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "NameIfUnlabeled"
- value "the_$targetClass")))
- (object Attribute
- tool "cg"
- name "default__Inherit"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "InstanceArguments"
- value "")))
- (object Attribute
- tool "cg"
- name "default__Role"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "CodeName"
- value "")
- (object Attribute
- tool "cg"
- name "ForwardReferenceOnly"
- value FALSE)
- (object Attribute
- tool "cg"
- name "NameIfUnlabeled"
- value "the_$targetClass")
- (object Attribute
- tool "cg"
- name "GenerateDataMember"
- value TRUE)
- (object Attribute
- tool "cg"
- name "DataMemberName"
- value "$target")
- (object Attribute
- tool "cg"
- name "DataMemberVisibility"
- value ("DataMemberVisibilitySet" 14))
- (object Attribute
- tool "cg"
- name "DataMemberVisibilitySet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Public"
- value 45)
- (object Attribute
- tool "cg"
- name "Protected"
- value 44)
- (object Attribute
- tool "cg"
- name "Private"
- value 43)
- (object Attribute
- tool "cg"
- name "Implementation"
- value 14)
- (object Attribute
- tool "cg"
- name "AtRelationshipVisibility"
- value 210)))
- (object Attribute
- tool "cg"
- name "DataMemberMutability"
- value ("DataMemberMutabilitySet" 0))
- (object Attribute
- tool "cg"
- name "DataMemberMutabilitySet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Unrestricted"
- value 0)
- (object Attribute
- tool "cg"
- name "Mutable"
- value 1)
- (object Attribute
- tool "cg"
- name "Const"
- value 2)))
- (object Attribute
- tool "cg"
- name "DataMemberIsVolatile"
- value FALSE)
- (object Attribute
- tool "cg"
- name "DataMemberFieldSize"
- value "")
- (object Attribute
- tool "cg"
- name "InitialValue"
- value (value Text ""))
- (object Attribute
- tool "cg"
- name "ContainerClass"
- value "")
- (object Attribute
- tool "cg"
- name "ContainerGet"
- value "$data.get($keys)")
- (object Attribute
- tool "cg"
- name "ContainerSet"
- value "$data.set($keys,$value)")
- (object Attribute
- tool "cg"
- name "QualifiedContainer"
- value "")
- (object Attribute
- tool "cg"
- name "AssocClassContainer"
- value "$supplier *")
- (object Attribute
- tool "cg"
- name "AssocClassInitialValue"
- value (value Text ""))
- (object Attribute
- tool "cg"
- name "GetSetKinds"
- value ("GetSetKindsSet" 200))
- (object Attribute
- tool "cg"
- name "GetSetKindsSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Common"
- value 200)
- (object Attribute
- tool "cg"
- name "Virtual"
- value 201)
- (object Attribute
- tool "cg"
- name "Abstract"
- value 202)
- (object Attribute
- tool "cg"
- name "Static"
- value 203)
- (object Attribute
- tool "cg"
- name "Friend"
- value 204)))
- (object Attribute
- tool "cg"
- name "GetSetByReference"
- value FALSE)
- (object Attribute
- tool "cg"
- name "GenerateGetOperation"
- value TRUE)
- (object Attribute
- tool "cg"
- name "GetName"
- value "get_$target")
- (object Attribute
- tool "cg"
- name "GetIsConst"
- value TRUE)
- (object Attribute
- tool "cg"
- name "GetResultIsConst"
- value ("GetResultIsConstSet" 2))
- (object Attribute
- tool "cg"
- name "GetResultIsConstSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "False"
- value 0)
- (object Attribute
- tool "cg"
- name "True"
- value 1)
- (object Attribute
- tool "cg"
- name "Same_As_Function"
- value 2)))
- (object Attribute
- tool "cg"
- name "InlineGet"
- value TRUE)
- (object Attribute
- tool "cg"
- name "GenerateSetOperation"
- value TRUE)
- (object Attribute
- tool "cg"
- name "SetName"
- value "set_$target")
- (object Attribute
- tool "cg"
- name "SetReturnsValue"
- value FALSE)
- (object Attribute
- tool "cg"
- name "InlineSet"
- value TRUE)
- (object Attribute
- tool "cg"
- name "QualifiedGetSetByReference"
- value ("QualifiedGetSetByReferenceSet" 2))
- (object Attribute
- tool "cg"
- name "QualifiedGetSetByReferenceSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "False"
- value 0)
- (object Attribute
- tool "cg"
- name "True"
- value 1)
- (object Attribute
- tool "cg"
- name "Same_As_GetSetByReference"
- value 2)))
- (object Attribute
- tool "cg"
- name "GenerateQualifiedGetOperation"
- value TRUE)
- (object Attribute
- tool "cg"
- name "QualifiedGetName"
- value "get_$target")
- (object Attribute
- tool "cg"
- name "QualifiedGetIsConst"
- value TRUE)
- (object Attribute
- tool "cg"
- name "QualifiedGetResultIsConst"
- value ("GetResultIsConstSet" 2))
- (object Attribute
- tool "cg"
- name "InlineQualifiedGet"
- value TRUE)
- (object Attribute
- tool "cg"
- name "GenerateQualifiedSetOperation"
- value TRUE)
- (object Attribute
- tool "cg"
- name "QualifiedSetName"
- value "set_$target")
- (object Attribute
- tool "cg"
- name "QualifiedSetReturnsValue"
- value FALSE)
- (object Attribute
- tool "cg"
- name "InlineQualifiedSet"
- value TRUE)
- (object Attribute
- tool "cg"
- name "GenerateAssocClassDataMember"
- value TRUE)
- (object Attribute
- tool "cg"
- name "AssocClassDataMemberName"
- value "$target")
- (object Attribute
- tool "cg"
- name "AssocClassDataMemberVisibility"
- value ("DataMemberVisibilitySet" 14))
- (object Attribute
- tool "cg"
- name "DataMemberVisibilitySet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Public"
- value 45)
- (object Attribute
- tool "cg"
- name "Protected"
- value 44)
- (object Attribute
- tool "cg"
- name "Private"
- value 43)
- (object Attribute
- tool "cg"
- name "Implementation"
- value 14)
- (object Attribute
- tool "cg"
- name "AtRelationshipVisibility"
- value 210)))
- (object Attribute
- tool "cg"
- name "AssocClassDataMemberMutability"
- value ("DataMemberMutabilitySet" 0))
- (object Attribute
- tool "cg"
- name "DataMemberMutabilitySet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Unrestricted"
- value 0)
- (object Attribute
- tool "cg"
- name "Mutable"
- value 1)
- (object Attribute
- tool "cg"
- name "Const"
- value 2)))
- (object Attribute
- tool "cg"
- name "AssocClassDataMemberIsVolatile"
- value FALSE)
- (object Attribute
- tool "cg"
- name "AssocClassGetSetKinds"
- value ("GetSetKindsSet" 200))
- (object Attribute
- tool "cg"
- name "GenerateAssocClassGetOperation"
- value TRUE)
- (object Attribute
- tool "cg"
- name "AssocClassGetName"
- value "get_$target")
- (object Attribute
- tool "cg"
- name "AssocClassGetIsConst"
- value TRUE)
- (object Attribute
- tool "cg"
- name "AssocClassGetResultIsConst"
- value ("GetResultIsConstSet" 2))
- (object Attribute
- tool "cg"
- name "InlineAssocClassGet"
- value TRUE)
- (object Attribute
- tool "cg"
- name "GenerateAssocClassSetOperation"
- value TRUE)
- (object Attribute
- tool "cg"
- name "AssocClassSetName"
- value "set_$target")
- (object Attribute
- tool "cg"
- name "AssocClassSetReturnsValue"
- value FALSE)
- (object Attribute
- tool "cg"
- name "InlineAssocClassSet"
- value TRUE)
- (object Attribute
- tool "cg"
- name "AssocClassForwardReferenceOnly"
- value TRUE)
- (object Attribute
- tool "cg"
- name "AssocTypeSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Array"
- value 24)
- (object Attribute
- tool "cg"
- name "Sequence"
- value 47)))))
- (object Attribute
- tool "cg"
- name "default__Attribute"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "CodeName"
- value "")
- (object Attribute
- tool "cg"
- name "GenerateDataMember"
- value TRUE)
- (object Attribute
- tool "cg"
- name "DataMemberName"
- value "$attribute")
- (object Attribute
- tool "cg"
- name "DataMemberVisibility"
- value ("DataMemberVisibilitySet" 14))
- (object Attribute
- tool "cg"
- name "DataMemberVisibilitySet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Public"
- value 45)
- (object Attribute
- tool "cg"
- name "Protected"
- value 44)
- (object Attribute
- tool "cg"
- name "Private"
- value 43)
- (object Attribute
- tool "cg"
- name "Implementation"
- value 14)
- (object Attribute
- tool "cg"
- name "AtAttributeVisibility"
- value 211)))
- (object Attribute
- tool "cg"
- name "DataMemberMutability"
- value ("DataMemberMutabilitySet" 0))
- (object Attribute
- tool "cg"
- name "DataMemberMutabilitySet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Unrestricted"
- value 0)
- (object Attribute
- tool "cg"
- name "Mutable"
- value 1)
- (object Attribute
- tool "cg"
- name "Const"
- value 2)))
- (object Attribute
- tool "cg"
- name "DataMemberIsVolatile"
- value FALSE)
- (object Attribute
- tool "cg"
- name "DataMemberFieldSize"
- value "")
- (object Attribute
- tool "cg"
- name "GenerateGetOperation"
- value TRUE)
- (object Attribute
- tool "cg"
- name "GenerateSetOperation"
- value TRUE)
- (object Attribute
- tool "cg"
- name "GetName"
- value "get_$attribute")
- (object Attribute
- tool "cg"
- name "SetName"
- value "set_$attribute")
- (object Attribute
- tool "cg"
- name "GetSetKinds"
- value ("GetSetKindsSet" 200))
- (object Attribute
- tool "cg"
- name "GetSetKindsSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Common"
- value 200)
- (object Attribute
- tool "cg"
- name "Virtual"
- value 201)
- (object Attribute
- tool "cg"
- name "Abstract"
- value 202)
- (object Attribute
- tool "cg"
- name "Static"
- value 203)
- (object Attribute
- tool "cg"
- name "Friend"
- value 204)))
- (object Attribute
- tool "cg"
- name "GetIsConst"
- value TRUE)
- (object Attribute
- tool "cg"
- name "GetResultIsConst"
- value ("GetResultIsConstSet" 2))
- (object Attribute
- tool "cg"
- name "GetResultIsConstSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "False"
- value 0)
- (object Attribute
- tool "cg"
- name "True"
- value 1)
- (object Attribute
- tool "cg"
- name "Same_As_Function"
- value 2)))
- (object Attribute
- tool "cg"
- name "GetSetByReference"
- value FALSE)
- (object Attribute
- tool "cg"
- name "InlineGet"
- value TRUE)
- (object Attribute
- tool "cg"
- name "SetReturnsValue"
- value FALSE)
- (object Attribute
- tool "cg"
- name "InlineSet"
- value TRUE)
- (object Attribute
- tool "cg"
- name "CCRegion"
- value "")))
- (object Attribute
- tool "cg"
- name "default__Uses"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "ForwardReferenceOnly"
- value FALSE)
- (object Attribute
- tool "cg"
- name "BodyReferenceOnly"
- value FALSE)))
- (object Attribute
- tool "cg"
- name "default__Subsystem"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Directory"
- value "AUTO GENERATE")
- (object Attribute
- tool "cg"
- name "DirectoryIsOnSearchList"
- value FALSE)
- (object Attribute
- tool "cg"
- name "PrecompiledHeader"
- value "")))
- (object Attribute
- tool "cg"
- name "default__Category"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "IsNamespace"
- value FALSE)
- (object Attribute
- tool "cg"
- name "Indent"
- value 2)
- (object Attribute
- tool "cg"
- name "CodeName"
- value "")
- (object Attribute
- tool "cg"
- name "GenerateEmptyRegions"
- value ("GenerateEmptyRegionSet" 3))
- (object Attribute
- tool "cg"
- name "GenerateEmptyRegionSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "None"
- value 0)
- (object Attribute
- tool "cg"
- name "Preserved"
- value 1)
- (object Attribute
- tool "cg"
- name "Unpreserved"
- value 2)
- (object Attribute
- tool "cg"
- name "All"
- value 3)))))
- (object Attribute
- tool "MSVC"
- name "propertyId"
- value "809135966")
- (object Attribute
- tool "MSVC"
- name "default__Project"
- value (list Attribute_Set
- (object Attribute
- tool "MSVC"
- name "Version"
- value "5.0")))
- (object Attribute
- tool "MSVC"
- name "default__Class"
- value (list Attribute_Set
- (object Attribute
- tool "MSVC"
- name "Type"
- value ("MSVCClassTypeSet" 0))
- (object Attribute
- tool "MSVC"
- name "MSVCClassTypeSet"
- value (list Attribute_Set
- (object Attribute
- tool "MSVC"
- name "Normal"
- value 0)
- (object Attribute
- tool "MSVC"
- name "Interface_Part"
- value 1)
- (object Attribute
- tool "MSVC"
- name "Connection_Part"
- value 2)
- (object Attribute
- tool "MSVC"
- name "Class_Factory"
- value 3)))
- (object Attribute
- tool "MSVC"
- name "CObjectFunctionality"
- value ("CObjectFunctionalitySet" 0))
- (object Attribute
- tool "MSVC"
- name "CObjectFunctionalitySet"
- value (list Attribute_Set
- (object Attribute
- tool "MSVC"
- name "None"
- value 0)
- (object Attribute
- tool "MSVC"
- name "Dynamic"
- value 1)
- (object Attribute
- tool "MSVC"
- name "Dyncreate"
- value 2)
- (object Attribute
- tool "MSVC"
- name "Serial"
- value 3)))
- (object Attribute
- tool "MSVC"
- name "GenerateOverrideGroup"
- value FALSE)
- (object Attribute
- tool "MSVC"
- name "GenerateDataGroup"
- value FALSE)
- (object Attribute
- tool "MSVC"
- name "AFX_DATA_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "GenerateFieldGroup"
- value FALSE)
- (object Attribute
- tool "MSVC"
- name "AFX_FIELD_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "GenerateMessageGroup"
- value FALSE)
- (object Attribute
- tool "MSVC"
- name "GenerateMessageMap"
- value FALSE)
- (object Attribute
- tool "MSVC"
- name "AFX_MSG_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "MESSAGE_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "OLEFactory"
- value ("OLEFactorySet" 0))
- (object Attribute
- tool "MSVC"
- name "OLEFactorySet"
- value (list Attribute_Set
- (object Attribute
- tool "MSVC"
- name "None"
- value 0)
- (object Attribute
- tool "MSVC"
- name "Built_in"
- value 1)
- (object Attribute
- tool "MSVC"
- name "Simple"
- value 2)
- (object Attribute
- tool "MSVC"
- name "Licensed"
- value 3)))
- (object Attribute
- tool "MSVC"
- name "OLEName"
- value "")
- (object Attribute
- tool "MSVC"
- name "OLEClassID"
- value "")
- (object Attribute
- tool "MSVC"
- name "GenerateOLECtlType"
- value FALSE)
- (object Attribute
- tool "MSVC"
- name "OLECtlType"
- value "")
- (object Attribute
- tool "MSVC"
- name "GenerateOLETypeLib"
- value FALSE)
- (object Attribute
- tool "MSVC"
- name "OLETypeLibID"
- value "")
- (object Attribute
- tool "MSVC"
- name "OLETypeLibMajor"
- value "")
- (object Attribute
- tool "MSVC"
- name "OLETypeLibMinor"
- value "")
- (object Attribute
- tool "MSVC"
- name "GeneratePropPageIDs"
- value FALSE)
- (object Attribute
- tool "MSVC"
- name "OLEPropPageIDs"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "GenerateDispatchMap"
- value FALSE)
- (object Attribute
- tool "MSVC"
- name "AFX_DISPATCH_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "AFX_DISPATCH_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "DISPATCH_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "StockProperties"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "StockFunctions"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "DispatchDefValue"
- value "")
- (object Attribute
- tool "MSVC"
- name "GenerateDispIdEnum"
- value FALSE)
- (object Attribute
- tool "MSVC"
- name "AFX_DISP_ID_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "GenerateInterfaceMap"
- value FALSE)
- (object Attribute
- tool "MSVC"
- name "INTERFACE_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "InitInterface"
- value "")
- (object Attribute
- tool "MSVC"
- name "GenerateEventMap"
- value FALSE)
- (object Attribute
- tool "MSVC"
- name "AFX_EVENT_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "AFX_EVENT_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "EVENT_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "StockEvents"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "GenerateEventSinkMap"
- value FALSE)
- (object Attribute
- tool "MSVC"
- name "AFX_EVENTSINK_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "AFX_EVENTSINK_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "EVENTSINK_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "PropNotifySinks"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "GenerateConnectionMap"
- value FALSE)
- (object Attribute
- tool "MSVC"
- name "CONNECTION_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "ConnectionPointIID"
- value "")
- (object Attribute
- tool "MSVC"
- name "InheritanceType"
- value "")
- (object Attribute
- tool "MSVC"
- name "DeclSpec"
- value "")
- (object Attribute
- tool "MSVC"
- name "OLECommands"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "MFCDeclares"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "MFCImplements"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "ATL_Declares"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "GenerateCOMMap"
- value FALSE)
- (object Attribute
- tool "MSVC"
- name "COM_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "GenerateConnectionPointMap"
- value FALSE)
- (object Attribute
- tool "MSVC"
- name "CONNECTION_POINT_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "GenerateMsgMap"
- value FALSE)
- (object Attribute
- tool "MSVC"
- name "MSG_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "GeneratePropertyMap"
- value FALSE)
- (object Attribute
- tool "MSVC"
- name "PROPERTY_MAP_Entries"
- value (value Text ""))))
- (object Attribute
- tool "MSVC"
- name "default__Operation"
- value (list Attribute_Set
- (object Attribute
- tool "MSVC"
- name "Type"
- value ("MSVCOperationTypeSet" 0))
- (object Attribute
- tool "MSVC"
- name "MSVCOperationTypeSet"
- value (list Attribute_Set
- (object Attribute
- tool "MSVC"
- name "Normal"
- value 0)
- (object Attribute
- tool "MSVC"
- name "Virtual_Override"
- value 1)
- (object Attribute
- tool "MSVC"
- name "Message_Handler"
- value 2)
- (object Attribute
- tool "MSVC"
- name "Dispatch_Handler"
- value 3)
- (object Attribute
- tool "MSVC"
- name "Event_Firing_Function"
- value 4)
- (object Attribute
- tool "MSVC"
- name "Event_Sink_Handler"
- value 5)
- (object Attribute
- tool "MSVC"
- name "Std_OLE_Method"
- value 6)
- (object Attribute
- tool "MSVC"
- name "Command_Parser"
- value 7)
- (object Attribute
- tool "MSVC"
- name "Property_Get_Function"
- value 8)
- (object Attribute
- tool "MSVC"
- name "Property_Set_Function"
- value 9)
- (object Attribute
- tool "MSVC"
- name "Property_Notify_Function"
- value 10)
- (object Attribute
- tool "MSVC"
- name "Macro_Generated_Function"
- value 11)))
- (object Attribute
- tool "MSVC"
- name "AFX_MSG_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "MESSAGE_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "AFX_DISPATCH_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "DISPATCH_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "AFX_EVENT_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "EVENT_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "AFX_EVENTSINK_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "EVENTSINK_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "CallType"
- value "")
- (object Attribute
- tool "MSVC"
- name "DeclSpec"
- value "")
- (object Attribute
- tool "MSVC"
- name "BodyImage"
- value (value Text ""))))
- (object Attribute
- tool "MSVC"
- name "default__Role"
- value (list Attribute_Set
- (object Attribute
- tool "MSVC"
- name "Type"
- value ("MSVCAttributeTypeSet" 0))
- (object Attribute
- tool "MSVC"
- name "MSVCAttributeTypeSet"
- value (list Attribute_Set
- (object Attribute
- tool "MSVC"
- name "Normal"
- value 0)
- (object Attribute
- tool "MSVC"
- name "Member_Property"
- value 1)
- (object Attribute
- tool "MSVC"
- name "Get_Set_Property"
- value 2)
- (object Attribute
- tool "MSVC"
- name "Dialog_Data"
- value 3)
- (object Attribute
- tool "MSVC"
- name "Field_Data"
- value 4)
- (object Attribute
- tool "MSVC"
- name "Stock_Property"
- value 5)))
- (object Attribute
- tool "MSVC"
- name "AFX_DISPATCH_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "DISPATCH_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "DeclSpec"
- value "")
- (object Attribute
- tool "MSVC"
- name "PointerBase"
- value "")
- (object Attribute
- tool "MSVC"
- name "CallType"
- value "")
- (object Attribute
- tool "MSVC"
- name "StockPropertyImplementation"
- value "")))
- (object Attribute
- tool "MSVC"
- name "default__Has"
- value (list Attribute_Set
- (object Attribute
- tool "MSVC"
- name "Type"
- value ("MSVCAttributeTypeSet" 0))
- (object Attribute
- tool "MSVC"
- name "MSVCAttributeTypeSet"
- value (list Attribute_Set
- (object Attribute
- tool "MSVC"
- name "Normal"
- value 0)
- (object Attribute
- tool "MSVC"
- name "Member_Property"
- value 1)
- (object Attribute
- tool "MSVC"
- name "Get_Set_Property"
- value 2)
- (object Attribute
- tool "MSVC"
- name "Dialog_Data"
- value 3)
- (object Attribute
- tool "MSVC"
- name "Field_Data"
- value 4)
- (object Attribute
- tool "MSVC"
- name "Stock_Property"
- value 5)))
- (object Attribute
- tool "MSVC"
- name "AFX_DISPATCH_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "DISPATCH_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "DeclSpec"
- value "")
- (object Attribute
- tool "MSVC"
- name "PointerBase"
- value "")
- (object Attribute
- tool "MSVC"
- name "CallType"
- value "")
- (object Attribute
- tool "MSVC"
- name "StockPropertyImplementation"
- value "")))
- (object Attribute
- tool "MSVC"
- name "default__Attribute"
- value (list Attribute_Set
- (object Attribute
- tool "MSVC"
- name "Type"
- value ("MSVCAttributeTypeSet" 0))
- (object Attribute
- tool "MSVC"
- name "MSVCAttributeTypeSet"
- value (list Attribute_Set
- (object Attribute
- tool "MSVC"
- name "Normal"
- value 0)
- (object Attribute
- tool "MSVC"
- name "Member_Property"
- value 1)
- (object Attribute
- tool "MSVC"
- name "Get_Set_Property"
- value 2)
- (object Attribute
- tool "MSVC"
- name "Dialog_Data"
- value 3)
- (object Attribute
- tool "MSVC"
- name "Field_Data"
- value 4)
- (object Attribute
- tool "MSVC"
- name "Stock_Property"
- value 5)))
- (object Attribute
- tool "MSVC"
- name "AFX_DISPATCH_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "DISPATCH_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "DeclSpec"
- value "")
- (object Attribute
- tool "MSVC"
- name "PointerBase"
- value "")
- (object Attribute
- tool "MSVC"
- name "CallType"
- value "")
- (object Attribute
- tool "MSVC"
- name "StockPropertyImplementation"
- value "")))
- (object Attribute
- tool "MSVC"
- name "default__Module-Spec"
- value (list Attribute_Set
- (object Attribute
- tool "MSVC"
- name "GenerateIncludesGroup"
- value FALSE)
- (object Attribute
- tool "MSVC"
- name "AFX_INCLUDES_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "GenerateInsertLocation"
- value FALSE)))
- (object Attribute
- tool "MSVC"
- name "default__Module-Body"
- value (list Attribute_Set
- (object Attribute
- tool "MSVC"
- name "GenerateIncludesGroup"
- value FALSE)
- (object Attribute
- tool "MSVC"
- name "AFX_INCLUDES_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "GenerateInsertLocation"
- value FALSE)))
- (object Attribute
- tool "cg"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "Rose Model Integrator"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "Rose Web Publisher"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "SoDA"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "TopLink"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "COM"
- name "propertyId"
- value "783606378")
- (object Attribute
- tool "COM"
- name "default__Class"
- value (list Attribute_Set
- (object Attribute
- tool "COM"
- name "TypeKinds"
- value (list Attribute_Set
- (object Attribute
- tool "COM"
- name "enum"
- value 100)
- (object Attribute
- tool "COM"
- name "record"
- value 101)
- (object Attribute
- tool "COM"
- name "module"
- value 102)
- (object Attribute
- tool "COM"
- name "interface"
- value 103)
- (object Attribute
- tool "COM"
- name "dispinterface"
- value 104)
- (object Attribute
- tool "COM"
- name "coclass"
- value 105)
- (object Attribute
- tool "COM"
- name "alias"
- value 106)
- (object Attribute
- tool "COM"
- name "union"
- value 107)
- (object Attribute
- tool "COM"
- name "max"
- value 108)
- (object Attribute
- tool "COM"
- name "(none)"
- value 109)))
- (object Attribute
- tool "COM"
- name "Generate"
- value TRUE)
- (object Attribute
- tool "COM"
- name "kind"
- value ("TypeKinds" 109))
- (object Attribute
- tool "COM"
- name "uuid"
- value "")
- (object Attribute
- tool "COM"
- name "version"
- value "")
- (object Attribute
- tool "COM"
- name "helpstring"
- value "")
- (object Attribute
- tool "COM"
- name "helpcontext"
- value "")
- (object Attribute
- tool "COM"
- name "attributes"
- value "")
- (object Attribute
- tool "COM"
- name "dllname"
- value "")
- (object Attribute
- tool "COM"
- name "alias"
- value "")))
- (object Attribute
- tool "COM"
- name "default__Operation"
- value (list Attribute_Set
- (object Attribute
- tool "COM"
- name "Generate"
- value TRUE)
- (object Attribute
- tool "COM"
- name "id"
- value "")
- (object Attribute
- tool "COM"
- name "helpstring"
- value "")
- (object Attribute
- tool "COM"
- name "attributes"
- value "")))
- (object Attribute
- tool "COM"
- name "default__Attribute"
- value (list Attribute_Set
- (object Attribute
- tool "COM"
- name "Generate"
- value TRUE)
- (object Attribute
- tool "COM"
- name "id"
- value "")
- (object Attribute
- tool "COM"
- name "helpstring"
- value "")
- (object Attribute
- tool "COM"
- name "attributes"
- value "")))
- (object Attribute
- tool "COM"
- name "default__Module-Spec"
- value (list Attribute_Set
- (object Attribute
- tool "COM"
- name "Generate"
- value TRUE)
- (object Attribute
- tool "COM"
- name "filename"
- value "")
- (object Attribute
- tool "COM"
- name "library"
- value "")
- (object Attribute
- tool "COM"
- name "uuid"
- value "")
- (object Attribute
- tool "COM"
- name "version"
- value "")
- (object Attribute
- tool "COM"
- name "helpstring"
- value "")
- (object Attribute
- tool "COM"
- name "helpfile"
- value "")
- (object Attribute
- tool "COM"
- name "helpcontext"
- value "")
- (object Attribute
- tool "COM"
- name "lcid"
- value "")
- (object Attribute
- tool "COM"
- name "attributes"
- value "")))
- (object Attribute
- tool "COM"
- name "default__Param"
- value (list Attribute_Set
- (object Attribute
- tool "COM"
- name "attributes"
- value "")))
- (object Attribute
- tool "COM"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "Visual Basic"
- name "propertyId"
- value "783606378")
- (object Attribute
- tool "Visual Basic"
- name "default__Class"
- value (list Attribute_Set
- (object Attribute
- tool "Visual Basic"
- name "UpdateCode"
- value TRUE)
- (object Attribute
- tool "Visual Basic"
- name "UpdateModel"
- value TRUE)
- (object Attribute
- tool "Visual Basic"
- name "InstancingSet"
- value (list Attribute_Set
- (object Attribute
- tool "Visual Basic"
- name "Private"
- value 221)
- (object Attribute
- tool "Visual Basic"
- name "PublicNotCreatable"
- value 213)
- (object Attribute
- tool "Visual Basic"
- name "SingleUse"
- value 214)
- (object Attribute
- tool "Visual Basic"
- name "GlobalSingleUse"
- value 215)
- (object Attribute
- tool "Visual Basic"
- name "MultiUse"
- value 219)
- (object Attribute
- tool "Visual Basic"
- name "GlobalMultiUse"
- value 220)))
- (object Attribute
- tool "Visual Basic"
- name "BaseSet"
- value (list Attribute_Set
- (object Attribute
- tool "Visual Basic"
- name "(none)"
- value 222)
- (object Attribute
- tool "Visual Basic"
- name "0"
- value 223)
- (object Attribute
- tool "Visual Basic"
- name "1"
- value 224)))
- (object Attribute
- tool "Visual Basic"
- name "OptionBase"
- value ("BaseSet" 222))
- (object Attribute
- tool "Visual Basic"
- name "OptionExplicit"
- value TRUE)
- (object Attribute
- tool "Visual Basic"
- name "OptionCompare"
- value ("CompareSet" 202))
- (object Attribute
- tool "Visual Basic"
- name "Instancing"
- value ("InstancingSet" 219))
- (object Attribute
- tool "Visual Basic"
- name "CompareSet"
- value (list Attribute_Set
- (object Attribute
- tool "Visual Basic"
- name "(none)"
- value 202)
- (object Attribute
- tool "Visual Basic"
- name "Binary"
- value 203)
- (object Attribute
- tool "Visual Basic"
- name "Text"
- value 204)))))
- (object Attribute
- tool "Visual Basic"
- name "default__Operation"
- value (list Attribute_Set
- (object Attribute
- tool "Visual Basic"
- name "LibraryName"
- value "")
- (object Attribute
- tool "Visual Basic"
- name "AliasName"
- value "")
- (object Attribute
- tool "Visual Basic"
- name "IsStatic"
- value FALSE)
- (object Attribute
- tool "Visual Basic"
- name "ProcedureID"
- value "")
- (object Attribute
- tool "Visual Basic"
- name "ReplaceExistingBody"
- value FALSE)
- (object Attribute
- tool "Visual Basic"
- name "DefaultBody"
- value (value Text ""))))
- (object Attribute
- tool "Visual Basic"
- name "default__Attribute"
- value (list Attribute_Set
- (object Attribute
- tool "Visual Basic"
- name "New"
- value FALSE)
- (object Attribute
- tool "Visual Basic"
- name "WithEvents"
- value FALSE)
- (object Attribute
- tool "Visual Basic"
- name "ProcedureID"
- value "")
- (object Attribute
- tool "Visual Basic"
- name "PropertyName"
- value "")
- (object Attribute
- tool "Visual Basic"
- name "Subscript"
- value "")))
- (object Attribute
- tool "Visual Basic"
- name "default__Role"
- value (list Attribute_Set
- (object Attribute
- tool "Visual Basic"
- name "UpdateCode"
- value TRUE)
- (object Attribute
- tool "Visual Basic"
- name "New"
- value FALSE)
- (object Attribute
- tool "Visual Basic"
- name "WithEvents"
- value FALSE)
- (object Attribute
- tool "Visual Basic"
- name "FullName"
- value FALSE)
- (object Attribute
- tool "Visual Basic"
- name "ProcedureID"
- value "")
- (object Attribute
- tool "Visual Basic"
- name "PropertyName"
- value "")
- (object Attribute
- tool "Visual Basic"
- name "Subscript"
- value "")))
- (object Attribute
- tool "Visual Basic"
- name "default__Inherit"
- value (list Attribute_Set
- (object Attribute
- tool "Visual Basic"
- name "ImplementsDelegation"
- value TRUE)
- (object Attribute
- tool "Visual Basic"
- name "FullName"
- value FALSE)))
- (object Attribute
- tool "Visual Basic"
- name "default__Param"
- value (list Attribute_Set
- (object Attribute
- tool "Visual Basic"
- name "ByVal"
- value FALSE)
- (object Attribute
- tool "Visual Basic"
- name "ByRef"
- value FALSE)
- (object Attribute
- tool "Visual Basic"
- name "Optional"
- value FALSE)
- (object Attribute
- tool "Visual Basic"
- name "ParamArray"
- value FALSE)))
- (object Attribute
- tool "Visual Basic"
- name "default__Module-Spec"
- value (list Attribute_Set
- (object Attribute
- tool "Visual Basic"
- name "ProjectFile"
- value "")
- (object Attribute
- tool "Visual Basic"
- name "UpdateCode"
- value TRUE)
- (object Attribute
- tool "Visual Basic"
- name "UpdateModel"
- value TRUE)
- (object Attribute
- tool "Visual Basic"
- name "ImportReferences"
- value TRUE)
- (object Attribute
- tool "Visual Basic"
- name "QuickImport"
- value TRUE)
- (object Attribute
- tool "Visual Basic"
- name "ImportBinary"
- value FALSE)))
- (object Attribute
- tool "Visual Basic"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "VisualStudio"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "Web Modeler"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "XML_DTD"
- name "propertyId"
- value "809135966")
- (object Attribute
- tool "XML_DTD"
- name "default__Project"
- value (list Attribute_Set
- (object Attribute
- tool "XML_DTD"
- name "CreateMissingDirectories"
- value TRUE)
- (object Attribute
- tool "XML_DTD"
- name "Editor"
- value ("EditorType" 100))
- (object Attribute
- tool "XML_DTD"
- name "StopOnError"
- value TRUE)
- (object Attribute
- tool "XML_DTD"
- name "EditorType"
- value (list Attribute_Set
- (object Attribute
- tool "XML_DTD"
- name "BuiltIn"
- value 100)
- (object Attribute
- tool "XML_DTD"
- name "WindowsShell"
- value 101)))))
- (object Attribute
- tool "XML_DTD"
- name "default__Class"
- value (list Attribute_Set
- (object Attribute
- tool "XML_DTD"
- name "Entity_SystemID"
- value "")
- (object Attribute
- tool "XML_DTD"
- name "Entity_PublicID"
- value "")
- (object Attribute
- tool "XML_DTD"
- name "NotationValue"
- value "")
- (object Attribute
- tool "XML_DTD"
- name "InternalValue"
- value "")
- (object Attribute
- tool "XML_DTD"
- name "ParameterEntity"
- value FALSE)
- (object Attribute
- tool "XML_DTD"
- name "ExternalEntity"
- value FALSE)
- (object Attribute
- tool "XML_DTD"
- name "Notation_SystemID"
- value "")
- (object Attribute
- tool "XML_DTD"
- name "Notation_PublicID"
- value "")))
- (object Attribute
- tool "XML_DTD"
- name "default__Attribute"
- value (list Attribute_Set
- (object Attribute
- tool "XML_DTD"
- name "DefaultDeclType"
- value "")))
- (object Attribute
- tool "XML_DTD"
- name "default__Module-Spec"
- value (list Attribute_Set
- (object Attribute
- tool "XML_DTD"
- name "Assign All"
- value FALSE)
- (object Attribute
- tool "XML_DTD"
- name "ComponentPath"
- value "")))
- (object Attribute
- tool "XML_DTD"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "Cplusplus"
- name "default__Module-Body"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "Synchronize"
- value TRUE)
- (object Attribute
- tool "Cplusplus"
- name "RevEngRootDirectory"
- value "")
- (object Attribute
- tool "Cplusplus"
- name "RootPackage"
- value "C++ Reverse Engineered")
- (object Attribute
- tool "Cplusplus"
- name "RevEngDirectoriesAsPackages"
- value FALSE)
- (object Attribute
- tool "Cplusplus"
- name "HeaderFileExtension"
- value ".h")
- (object Attribute
- tool "Cplusplus"
- name "ImplementationFileExtension"
- value ".cpp")
- (object Attribute
- tool "Cplusplus"
- name "NewHeaderFileDirectory"
- value "")
- (object Attribute
- tool "Cplusplus"
- name "NewImplementationFileDirectory"
- value "")
- (object Attribute
- tool "Cplusplus"
- name "FileCapitalization"
- value ("FileCapitalizationSet" 0))
- (object Attribute
- tool "Cplusplus"
- name "CodeGenExtraDirectories"
- value ("CodeGenExtraDirectoriesSet" 0))
- (object Attribute
- tool "Cplusplus"
- name "StripClassPrefix"
- value "")
- (object Attribute
- tool "Cplusplus"
- name "UseTabs"
- value FALSE)
- (object Attribute
- tool "Cplusplus"
- name "TabWidth"
- value 8)
- (object Attribute
- tool "Cplusplus"
- name "IndentWidth"
- value 4)
- (object Attribute
- tool "Cplusplus"
- name "AccessIndentation"
- value -2)
- (object Attribute
- tool "Cplusplus"
- name "ModelIdCommentRules"
- value ("ModelIdCommentRulesSet" 1))
- (object Attribute
- tool "Cplusplus"
- name "PageWidth"
- value 80)
- (object Attribute
- tool "Cplusplus"
- name "ClassMemberOrder"
- value ("MemberOrderSet" 1))
- (object Attribute
- tool "Cplusplus"
- name "OneParameterPerLine"
- value FALSE)
- (object Attribute
- tool "Cplusplus"
- name "NamespaceBraceStyle"
- value ("BraceStyleSet" 2))
- (object Attribute
- tool "Cplusplus"
- name "ClassBraceStyle"
- value ("BraceStyleSet" 2))
- (object Attribute
- tool "Cplusplus"
- name "FunctionBraceStyle"
- value ("BraceStyleSet" 2))
- (object Attribute
- tool "Cplusplus"
- name "Copyright"
- value (value Text ""))
- (object Attribute
- tool "Cplusplus"
- name "InitialHeaderIncludes"
- value (value Text ""))
- (object Attribute
- tool "Cplusplus"
- name "InitialBodyIncludes"
- value (value Text ""))
- (object Attribute
- tool "Cplusplus"
- name "CodeGenExtraDirectoriesSet"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "None"
- value 0)
- (object Attribute
- tool "Cplusplus"
- name "Namespaces"
- value 1)
- (object Attribute
- tool "Cplusplus"
- name "Packages"
- value 2)))
- (object Attribute
- tool "Cplusplus"
- name "FileCapitalizationSet"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "Same as model"
- value 0)
- (object Attribute
- tool "Cplusplus"
- name "Lower case"
- value 1)
- (object Attribute
- tool "Cplusplus"
- name "Upper case"
- value 2)
- (object Attribute
- tool "Cplusplus"
- name "Lower case with underscores"
- value 3)))
- (object Attribute
- tool "Cplusplus"
- name "BraceStyleSet"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "B1"
- value 1)
- (object Attribute
- tool "Cplusplus"
- name "B2"
- value 2)
- (object Attribute
- tool "Cplusplus"
- name "B3"
- value 3)
- (object Attribute
- tool "Cplusplus"
- name "B4"
- value 4)
- (object Attribute
- tool "Cplusplus"
- name "B5"
- value 5)))
- (object Attribute
- tool "Cplusplus"
- name "MemberOrderSet"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "Public First"
- value 1)
- (object Attribute
- tool "Cplusplus"
- name "Private First"
- value 2)
- (object Attribute
- tool "Cplusplus"
- name "Order by kind"
- value 3)
- (object Attribute
- tool "Cplusplus"
- name "Unordered"
- value 4)))
- (object Attribute
- tool "Cplusplus"
- name "ModelIdCommentRulesSet"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "Code generation only"
- value 1)
- (object Attribute
- tool "Cplusplus"
- name "Code generation and reverse engineering"
- value 2)
- (object Attribute
- tool "Cplusplus"
- name "Never generate model IDs"
- value 3)))))
- (object Attribute
- tool "Deploy"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "Version Control"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "Ecore"
- name "default__Category"
- value (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "packageName"
- value "")
- (object Attribute
- tool "Ecore"
- name "nsPrefix"
- value "")
- (object Attribute
- tool "Ecore"
- name "nsURI"
- value "")
- (object Attribute
- tool "Ecore"
- name "basePackage"
- value "")
- (object Attribute
- tool "Ecore"
- name "prefix"
- value "")
- (object Attribute
- tool "Ecore"
- name "annotation"
- value "")))
- (object Attribute
- tool "Ecore"
- name "default__Class"
- value (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "classifierName"
- value "")
- (object Attribute
- tool "Ecore"
- name "constraints"
- value "")
- (object Attribute
- tool "Ecore"
- name "xmlName"
- value "")
- (object Attribute
- tool "Ecore"
- name "xmlContentKind"
- value ("ContentKind" 0))
- (object Attribute
- tool "Ecore"
- name "ContentKind"
- value (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "Unspecified"
- value 0)
- (object Attribute
- tool "Ecore"
- name "Empty"
- value 1)
- (object Attribute
- tool "Ecore"
- name "Simple"
- value 2)
- (object Attribute
- tool "Ecore"
- name "Mixed"
- value 3)
- (object Attribute
- tool "Ecore"
- name "ElementOnly"
- value 4)))
- (object Attribute
- tool "Ecore"
- name "annotation"
- value "")))
- (object Attribute
- tool "Ecore"
- name "default__Operation"
- value (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "operationName"
- value "")
- (object Attribute
- tool "Ecore"
- name "isUnique"
- value TRUE)
- (object Attribute
- tool "Ecore"
- name "annotation"
- value "")))
- (object Attribute
- tool "Ecore"
- name "default__Attribute"
- value (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "attributeName"
- value "")
- (object Attribute
- tool "Ecore"
- name "isTransient"
- value FALSE)
- (object Attribute
- tool "Ecore"
- name "isVolatile"
- value FALSE)
- (object Attribute
- tool "Ecore"
- name "isChangeable"
- value TRUE)
- (object Attribute
- tool "Ecore"
- name "isUnsettable"
- value FALSE)
- (object Attribute
- tool "Ecore"
- name "isUnique"
- value TRUE)
- (object Attribute
- tool "Ecore"
- name "isID"
- value FALSE)
- (object Attribute
- tool "Ecore"
- name "visibility"
- value ("VisibilityKind" 0))
- (object Attribute
- tool "Ecore"
- name "VisibilityKind"
- value (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "Unspecified"
- value 0)
- (object Attribute
- tool "Ecore"
- name "None"
- value 1)
- (object Attribute
- tool "Ecore"
- name "Read-only"
- value 2)
- (object Attribute
- tool "Ecore"
- name "Read-write"
- value 3)
- (object Attribute
- tool "Ecore"
- name "Read-only unsettable"
- value 4)
- (object Attribute
- tool "Ecore"
- name "Read-write unsettable"
- value 5)))
- (object Attribute
- tool "Ecore"
- name "xmlName"
- value "")
- (object Attribute
- tool "Ecore"
- name "xmlNamespace"
- value "")
- (object Attribute
- tool "Ecore"
- name "xmlFeatureKind"
- value ("FeatureKind" 0))
- (object Attribute
- tool "Ecore"
- name "FeatureKind"
- value (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "Unspecified"
- value 0)
- (object Attribute
- tool "Ecore"
- name "Simple"
- value 1)
- (object Attribute
- tool "Ecore"
- name "Attribute"
- value 2)
- (object Attribute
- tool "Ecore"
- name "Element"
- value 4)))
- (object Attribute
- tool "Ecore"
- name "annotation"
- value "")))
- (object Attribute
- tool "Ecore"
- name "default__Role"
- value (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "referenceName"
- value "")
- (object Attribute
- tool "Ecore"
- name "isTransient"
- value FALSE)
- (object Attribute
- tool "Ecore"
- name "isVolatile"
- value FALSE)
- (object Attribute
- tool "Ecore"
- name "isChangeable"
- value TRUE)
- (object Attribute
- tool "Ecore"
- name "isUnsettable"
- value FALSE)
- (object Attribute
- tool "Ecore"
- name "isResolveProxies"
- value TRUE)
- (object Attribute
- tool "Ecore"
- name "visibility"
- value ("VisibilityKind" 0))
- (object Attribute
- tool "Ecore"
- name "VisibilityKind"
- value (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "Unspecified"
- value 0)
- (object Attribute
- tool "Ecore"
- name "None"
- value 1)
- (object Attribute
- tool "Ecore"
- name "Read-only"
- value 2)
- (object Attribute
- tool "Ecore"
- name "Read-write"
- value 3)
- (object Attribute
- tool "Ecore"
- name "Read-only unsettable"
- value 4)
- (object Attribute
- tool "Ecore"
- name "Read-write unsettable"
- value 5)))
- (object Attribute
- tool "Ecore"
- name "xmlName"
- value "")
- (object Attribute
- tool "Ecore"
- name "xmlNamespace"
- value "")
- (object Attribute
- tool "Ecore"
- name "xmlFeatureKind"
- value ("FeatureKind" 0))
- (object Attribute
- tool "Ecore"
- name "FeatureKind"
- value (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "Unspecified"
- value 0)
- (object Attribute
- tool "Ecore"
- name "Simple"
- value 1)
- (object Attribute
- tool "Ecore"
- name "Attribute"
- value 2)
- (object Attribute
- tool "Ecore"
- name "Element"
- value 4)))
- (object Attribute
- tool "Ecore"
- name "annotation"
- value "")))
- (object Attribute
- tool "Ecore"
- name "propertyId"
- value "809135969"))
- quid "3B86F1720171"))
diff --git a/plugins/org.eclipse.jem/rose/instantiation.cat b/plugins/org.eclipse.jem/rose/instantiation.cat
deleted file mode 100644
index 7376d22c9..000000000
--- a/plugins/org.eclipse.jem/rose/instantiation.cat
+++ /dev/null
@@ -1,3072 +0,0 @@
-
-(object Petal
- version 47
- _written "Rose 8.0.0303.1400"
- charSet 0)
-
-(object Class_Category "instantiation"
- is_unit TRUE
- is_loaded TRUE
- attributes (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "basePackage"
- value (value Text "org.eclipse.jem.internal")))
- quid "3B86F1720180"
- documentation "Java Instantiation Package"
- exportControl "Public"
- logical_models (list unit_reference_list
- (object Class "IJavaDataTypeInstance"
- quid "3B8AB17802B1"
- stereotype "Interface"
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "3E529562014E"
- supplier "Logical View::instantiation::IJavaInstance"
- quidu "3E51575A02D4"))
- class_attributes (list class_attribute_list
- (object ClassAttribute "org.eclipse.jem.internal.instantiation.base.IJavaDataTypeInstance"
- quid "3B8AB19100C2"
- stereotype "javaclass")))
- (object Class "IJavaInstance"
- quid "3E51575A02D4"
- stereotype "Interface"
- class_attributes (list class_attribute_list
- (object ClassAttribute "org.eclipse.jem.internal.instantiation.base.IJavaInstance"
- quid "3E51577802B9"
- stereotype "javaclass")))
- (object Class "IJavaObjectInstance"
- quid "3B782D790296"
- documentation "This interface is the instance of an java object in the java model."
- stereotype "Interface"
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "3E5157DA03DD"
- supplier "Logical View::instantiation::IJavaInstance"
- quidu "3E51575A02D4"))
- class_attributes (list class_attribute_list
- (object ClassAttribute "org.eclipse.jem.internal.instantiation.base.IJavaObjectInstance"
- quid "3B78301801C9"
- stereotype "javaclass")))
- (object Class "JavaAllocation"
- quid "3FD9E6900061"
- documentation
-|This class is the abstract base class of the allocation class. It is the value of the "allocation" property on a Java Object so that the actual allocation can be controlled. For example, there could be one for just init string, or one for serialized.
-
- abstract TRUE)
- (object Class "InitStringAllocation"
- quid "3FD9EAF9001E"
- documentation "This is used when the allocation string can be parsed by the remote vm. It uses the allocString."
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "3FD9EB7502DA"
- supplier "Logical View::instantiation::JavaAllocation"
- quidu "3FD9E6900061"))
- class_attributes (list class_attribute_list
- (object ClassAttribute "initString"
- quid "3FFDE1DE032E"
- documentation "This is the initialization string for this object."
- type "String"
- exportControl "Public")))
- (object Class "ImplicitAllocation"
- quid "3FD9EC140242"
- documentation "This class is for an implicit allocation where the object comes from the feature of another object. It is the live Java value from the remote vm."
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "3FD9EC4700E7"
- supplier "Logical View::instantiation::JavaAllocation"
- quidu "3FD9E6900061")))
- (object Class "ParseTreeAllocation"
- quid "40082C910005"
- documentation "Allocations via Parse Trees."
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "40082CB701D6"
- supplier "Logical View::instantiation::JavaAllocation"
- quidu "3FD9E6900061")))
- (object Class "PTExpression"
- quid "40082D0A01CB"
- abstract TRUE)
- (object Class "PTArrayAccess"
- quid "40082E140250"
- documentation
-|Array access. e.g. x[3].
-|
-|Unlike AST, the entire expression of type x[3][4] will be done in one expression rather than having a separate ArrayAccess for each dimension. This is just a simplification. This can only be used if it is a simple array access where it is of the form {expression}[expression][expression].
-
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "40082E6F01F7"
- supplier "Logical View::instantiation::PTExpression"
- quidu "40082D0A01CB"))
- class_attributes (list class_attribute_list
- (object ClassAttribute "array"
- quid "40082E8E0237"
- documentation "The expression representing the array to access."
- type "PTExpression"
- quidu "40082D0A01CB"
- exportControl "Public")
- (object ClassAttribute "indexes"
- quid "40082E9B007D"
- documentation "The expressions representing the indexes of the access."
- stereotype "1..*"
- type "PTExpression"
- quidu "40082D0A01CB"
- exportControl "Public")))
- (object Class "PTArrayCreation"
- quid "40083712025A"
- documentation
-|Array Creation expression, e.g. new int[3] or new java.langString[][] {{"a"}, {"b"}}
-
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "400837210049"
- supplier "Logical View::instantiation::PTExpression"
- quidu "40082D0A01CB"))
- class_attributes (list class_attribute_list
- (object ClassAttribute "type"
- quid "400837E902BD"
- documentation "The fully-qualified type, e.g. int[][] or java.lang.String[], including the number of dimension brackets."
- type "String"
- exportControl "Public")
- (object ClassAttribute "dimensions"
- quid "4008389501E8"
- documentation "The list of expressions for the dimensions. You can have [3][4][] but [][33] is invalid. So for each dimension that has an expression, there will be an entry in the list, in the correct order. When you reach the empty dimensions, the list will end too. "
- stereotype "0..*"
- type "PTExpression"
- quidu "40082D0A01CB"
- exportControl "Public")
- (object ClassAttribute "initializer"
- quid "4008397C0231"
- documentation "This is the initializer, if any, for this array. E.g. new int[] {2,3}. It is the {2,3}."
- type "PTArrayInitializer"
- quidu "40083968014C"
- exportControl "Public")))
- (object Class "PTArrayInitializer"
- quid "40083968014C"
- documentation "Array initialization expression. This is the entire expression, e.g. {2, 3}, or {{2,3}, 4}. In the second case, the {2,3} will be an ArrayInitializer contained within the expressions list for the top ArrayInitializer."
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "400839790038"
- supplier "Logical View::instantiation::PTExpression"
- quidu "40082D0A01CB"))
- class_attributes (list class_attribute_list
- (object ClassAttribute "expressions"
- quid "40083A5700EB"
- documentation "This isthe list of expressions within the initializer, e.g. {2, 3}, or {{2,3}, 4}. In the first case it will be two NumberLiterals. In the second case, the {2,3} will be an ArrayInitializer, followed by a NumberLiteral."
- stereotype "0..*"
- type "PTExpression"
- quidu "40082D0A01CB"
- exportControl "Public")))
- (object Class "PTBooleanLiteral"
- quid "40083AE70247"
- documentation "This represents a primitive boolean literal, i.e. true or false directly in the code."
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "40083B1D0000"
- supplier "Logical View::instantiation::PTExpression"
- quidu "40082D0A01CB"))
- class_attributes (list class_attribute_list
- (object ClassAttribute "booleanValue"
- quid "40083B3D001A"
- documentation "The value of the literal."
- type "boolean"
- exportControl "Public")))
- (object Class "PTCastExpression"
- quid "40083B6F0058"
- documentation "Cast expression, e.g. (short) 10"
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "40083BD60309"
- supplier "Logical View::instantiation::PTExpression"
- quidu "40082D0A01CB"))
- class_attributes (list class_attribute_list
- (object ClassAttribute "type"
- quid "40083B9600F4"
- documentation "This is the fully-qualified type of the cast, e.g. int or java.lang.String"
- type "String"
- exportControl "Public")
- (object ClassAttribute "expression"
- quid "40083BB6033F"
- documentation "The expression being casted."
- type "PTExpression"
- quidu "40082D0A01CB"
- exportControl "Public")))
- (object Class "PTCharacterLiteral"
- quid "40084DF10277"
- documentation "This represents a primitive character expression, e.g. 'a' or '\\r'."
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "40084E1301EA"
- supplier "Logical View::instantiation::PTExpression"
- quidu "40082D0A01CB"))
- class_attributes (list class_attribute_list
- (object ClassAttribute "escapedValue"
- quid "40084E39014E"
- documentation "This is the escaped character. In other words the literal exactly as it is in the java file. E.g. 'a' or '\\r'. Including the surrounding single quotes themselves."
- type "String"
- exportControl "Public")
- (object ClassAttribute "charValue"
- attributes (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "isTransient"
- value TRUE))
- quid "40084EB702CC"
- documentation "The actual primitive character without the quotes. Escape are evaluated and turned into their character value. This is a transient field. If not set when created when queried it will create it. Typically it will be set when created from an AST node since the node already has evaluated it."
- type "char"
- exportControl "Public")))
- (object Class "PTClassInstanceCreation"
- quid "40084F40026F"
- documentation
-|Class instance creation expression. E.g. new String("a")
-
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "40084F4C02F8"
- supplier "Logical View::instantiation::PTExpression"
- quidu "40082D0A01CB"))
- class_attributes (list class_attribute_list
- (object ClassAttribute "type"
- quid "40084FAD0294"
- documentation
-|This is the type of the class. E.g. java.lang.String. This should be fully-qualified for allocation purposes. It should also be in reflection format, i.e. if X is an inner class of j.Y, then the type here should be "j.Y$X".
-
- type "String"
- exportControl "Public")
- (object ClassAttribute "arguments"
- quid "4008515E0138"
- documentation "The arguments to the constructor."
- stereotype "0..*"
- type "PTExpression"
- quidu "40082D0A01CB"
- exportControl "Public")))
- (object Class "PTConditionalExpression"
- quid "400851FB026A"
- documentation "The test Expresson, e.g. (x=3) ? 1 : 2"
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "40085274012E"
- supplier "Logical View::instantiation::PTExpression"
- quidu "40082D0A01CB"))
- class_attributes (list class_attribute_list
- (object ClassAttribute "condition"
- quid "4008521D02AF"
- documentation "The condition expression."
- type "PTExpression"
- quidu "40082D0A01CB"
- exportControl "Public")
- (object ClassAttribute "true"
- quid "400852410333"
- documentation "The true expression"
- type "PTExpression"
- quidu "40082D0A01CB"
- exportControl "Public")
- (object ClassAttribute "false"
- quid "4008525F0296"
- documentation "The false expression."
- type "PTExpression"
- quidu "40082D0A01CB"
- exportControl "Public")))
- (object Class "PTFieldAccess"
- quid "400852DF0204"
- documentation "Access a field expression, e.g. java.awt.Color.red"
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "4008535D0241"
- supplier "Logical View::instantiation::PTExpression"
- quidu "40082D0A01CB"))
- class_attributes (list class_attribute_list
- (object ClassAttribute "receiver"
- quid "40085313012C"
- documentation "The expression representing the object that the field is in, e.g. java.awt.Color."
- type "PTExpression"
- quidu "40082D0A01CB"
- exportControl "Public")
- (object ClassAttribute "field"
- quid "4008534500AC"
- documentation "The name of the field being accessed, e.g. red."
- type "String"
- exportControl "Public")))
- (object Class "PTInfixExpression"
- quid "4008538B0143"
- documentation "An expression with an operator that has two operands, e.g. 3 + 4."
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "400855700032"
- supplier "Logical View::instantiation::PTExpression"
- quidu "40082D0A01CB"))
- class_attributes (list class_attribute_list
- (object ClassAttribute "leftOperand"
- quid "400853AC0000"
- type "PTExpression"
- quidu "40082D0A01CB"
- exportControl "Public")
- (object ClassAttribute "operator"
- quid "400853B600D7"
- documentation "The operator, e.g. +"
- type "PTInfixOperator"
- quidu "400853E10359"
- exportControl "Public")
- (object ClassAttribute "rightOperand"
- quid "4008540D0186"
- documentation
-|The right expression. i.e. 4 of "3 + 4"
-
- type "PTExpression"
- quidu "40082D0A01CB"
- exportControl "Public")
- (object ClassAttribute "extendedOperands"
- quid "40085511039C"
- documentation "Used when there are a series of infix operations of the same operator, e.g. 1 + 2 + 3 + 4. 1 and 2 will go into left and right, while {3, 4} will go into the extended operands. "
- stereotype "0..*"
- type "PTExpression"
- quidu "40082D0A01CB"
- exportControl "Public")))
- (object Class "PTInfixOperator"
- quid "400853E10359"
- documentation "Enumerator for the operator on an InfixExpression."
- stereotype "enumeration"
- class_attributes (list class_attribute_list
- (object ClassAttribute "TIMES"
- quid "400856830240"
- documentation "* operator"
- exportControl "Public")
- (object ClassAttribute "DIVIDE"
- quid "4008568E01E2"
- documentation "/ operator"
- exportControl "Public")
- (object ClassAttribute "REMAINDER"
- quid "4008569202BA"
- documentation "% operator"
- exportControl "Public")
- (object ClassAttribute "PLUS"
- quid "40085697039D"
- documentation "+ operator"
- exportControl "Public")
- (object ClassAttribute "MINUS"
- quid "4008569C01D8"
- documentation "- operator"
- exportControl "Public")
- (object ClassAttribute "LEFT_SHIFT"
- quid "400856B50274"
- documentation "<< operator"
- exportControl "Public")
- (object ClassAttribute "RIGHT_SHIFT_SIGNED"
- quid "400856BA00CD"
- documentation ">> operator"
- exportControl "Public")
- (object ClassAttribute "RIGHT_SHIFT_UNSIGNED"
- quid "400856C3038D"
- documentation ">>> operator"
- exportControl "Public")
- (object ClassAttribute "LESS"
- quid "400856CC03CC"
- documentation "< operator"
- exportControl "Public")
- (object ClassAttribute "GREATER"
- quid "400856D9001D"
- documentation "> operator"
- exportControl "Public")
- (object ClassAttribute "LESS_EQUALS"
- quid "400856DD004B"
- documentation "<= operator"
- exportControl "Public")
- (object ClassAttribute "GREATER_EQUALS"
- quid "400856E5029B"
- documentation ">= operator"
- exportControl "Public")
- (object ClassAttribute "EQUALS"
- quid "400856EC0273"
- documentation "== operator"
- exportControl "Public")
- (object ClassAttribute "NOT_EQUALS"
- quid "400856F9039E"
- documentation "!= operator"
- exportControl "Public")
- (object ClassAttribute "XOR"
- quid "400857010328"
- documentation "^ operator"
- exportControl "Public")
- (object ClassAttribute "AND"
- quid "40085712034A"
- documentation "& operator"
- exportControl "Public")
- (object ClassAttribute "OR"
- quid "4008570402FA"
- documentation "| operator"
- exportControl "Public")
- (object ClassAttribute "CONDITIONAL_AND"
- quid "400857160075"
- documentation "&& operator"
- exportControl "Public")
- (object ClassAttribute "CONDITIONAL_OR"
- quid "4008572602BD"
- documentation "|| operator"
- exportControl "Public")))
- (object Class "PTInstanceof"
- quid "400857D303A2"
- documentation "Instanceof expression, e.g. x instanceof java.lang.String"
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "4008589103AF"
- supplier "Logical View::instantiation::PTExpression"
- quidu "40082D0A01CB"))
- class_attributes (list class_attribute_list
- (object ClassAttribute "operand"
- quid "400858070234"
- documentation "The value to test, e.g. x in x instanceof java.lang.String"
- type "PTExpression"
- quidu "40082D0A01CB"
- exportControl "Public")
- (object ClassAttribute "type"
- quid "4008582A0220"
- documentation "The type of the instance test, e.g. java.lang.String. It must be fully-qualified. If it is an inner class, it needs to be in reflection format, i.e. Y is inner class of j.X, then a reference to Y must be j.X$Y."
- type "String"
- exportControl "Public")))
- (object Class "PTMethodInvocation"
- quid "400858B6018B"
- documentation "MethodInvocation expression, e.g. x.getY(3)"
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "40085B9D0067"
- supplier "Logical View::instantiation::PTExpression"
- quidu "40082D0A01CB"))
- class_attributes (list class_attribute_list
- (object ClassAttribute "receiver"
- quid "40085B0A01EC"
- documentation
-|Who the method is invoked against. This may be not set, which means "this". It may also be a Name, which would mean a class like "java.lang.String"
-
- type "PTExpression"
- quidu "40082D0A01CB"
- exportControl "Public")
- (object ClassAttribute "name"
- quid "40085B6100D9"
- documentation "The name of the method being invoked."
- type "String"
- exportControl "Public")
- (object ClassAttribute "arguments"
- quid "40085B6902ED"
- documentation "The list of arguments, if any, to the method."
- stereotype "0..*"
- type "PTExpression"
- quidu "40082D0A01CB"
- exportControl "Public")))
- (object Class "PTName"
- quid "400858EA0280"
- documentation
-|This represents a name. This can happen for the receiver of a method invocation, e.g. x.getY() or java.lang.String.valueOf(10). In these cases you would have a name of "x" or "java.lang.String".
-
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "40085BA100DB"
- supplier "Logical View::instantiation::PTExpression"
- quidu "40082D0A01CB"))
- class_attributes (list class_attribute_list
- (object ClassAttribute "name"
- quid "400C110401BE"
- documentation "The name, which can be a type or a variable. If it is a type, then it must be fully-qualified. If it is an inner class, it needs to be in reflection format, i.e. Y is inner class of j.X, then a reference to Y must be j.X$Y."
- type "String"
- exportControl "Public")))
- (object Class "PTNullLiteral"
- quid "40085BBF0020"
- documentation
-|Represents the expression "null"
-
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "40085BD402F1"
- supplier "Logical View::instantiation::PTExpression"
- quidu "40082D0A01CB")))
- (object Class "PTNumberLiteral"
- quid "40085C40035B"
- documentation "Represent a number primitive literal, e.g. 10. One optimization that will be performed is that if an expression is of the form +number or -number, it will be converted from a PrefixExpression with a NumberLiteral to just a NumberLiteral. This will simplify the model."
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "40085CEF0244"
- supplier "Logical View::instantiation::PTExpression"
- quidu "40082D0A01CB"))
- class_attributes (list class_attribute_list
- (object ClassAttribute "token"
- quid "40085CAA024F"
- documentation "The token value, e.g. 10, 10d, or -10.75"
- type "String"
- exportControl "Public")))
- (object Class "PTParenthesizedExpression"
- quid "40085CF9007C"
- documentation "An expression within parenthesis, e.g. (x+3)"
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "40085F4E03E1"
- supplier "Logical View::instantiation::PTExpression"
- quidu "40082D0A01CB"))
- class_attributes (list class_attribute_list
- (object ClassAttribute "expression"
- quid "40085F22012B"
- documentation
-|The expression wrapped by the parenthesis, e.g. (x+3) then the expression is "x+3"
-
- type "PTExpression"
- quidu "40082D0A01CB"
- exportControl "Public")))
- (object Class "PTPrefixExpression"
- quid "40085FAD008B"
- documentation
-|A one operand operator, where the operator comes before the operand, e.g. - (x+3). In AST, even -3 is modeled as a PrefixExpression of operator "-" and expression of NumberLiteral(3). But we optimize this away and just use a NumberLiteral(-3) directly instead.
-
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "400862DC01D7"
- supplier "Logical View::instantiation::PTExpression"
- quidu "40082D0A01CB"))
- class_attributes (list class_attribute_list
- (object ClassAttribute "operator"
- quid "400860BC0199"
- documentation "The operator of this expression."
- type "PTPrefixOperator"
- quidu "4008602400D2"
- exportControl "Public")
- (object ClassAttribute "expression"
- quid "400860C50065"
- documentation "The expression that the operator is applied to."
- type "PTExpression"
- quidu "40082D0A01CB"
- exportControl "Public")))
- (object Class "PTPrefixOperator"
- quid "4008602400D2"
- documentation "The prefix expression operator. We are not modeling ++ and --."
- stereotype "enumeration"
- class_attributes (list class_attribute_list
- (object ClassAttribute "PLUS"
- quid "4008606F01B6"
- documentation "+ operator"
- exportControl "Public")
- (object ClassAttribute "MINUS"
- quid "4008607203B9"
- documentation "- operator"
- exportControl "Public")
- (object ClassAttribute "COMPLEMENT"
- quid "4008607800AB"
- documentation "~ operator"
- exportControl "Public")
- (object ClassAttribute "NOT"
- quid "4008607D0148"
- documentation "! operator"
- exportControl "Public")))
- (object Class "PTStringLiteral"
- quid "400861E2000B"
- documentation
-|Representation of a string literal, e.g. "asdf".
-
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "400862D70338"
- supplier "Logical View::instantiation::PTExpression"
- quidu "40082D0A01CB"))
- class_attributes (list class_attribute_list
- (object ClassAttribute "escapedValue"
- quid "400861FC01CB"
- documentation
-|This is the escaped string. In other words the literal exactly as it is in the java file. E.g. "ab" or "c\r". Including the surrounding quotes themselves.
-
- type "String"
- exportControl "Public")
- (object ClassAttribute "literalValue"
- attributes (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "isTransient"
- value TRUE))
- quid "4008620A00BD"
- documentation "The actual string without the quotes. Escape are evaluated and turned into their character value. This is a transient field. If not set when created when queried it will create it. Typically it will be set when created from an AST node since the node already has evaluated it."
- type "String"
- exportControl "Public")))
- (object Class "PTThisLiteral"
- quid "400863A700CB"
- documentation
-|Represents "this", e.g. this.getX() will be a MethodInvocation with the receiver being a ThisLiteral. We can't handle the format XYZ.this because that is for inner classes and we don't support that right now.
-
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "40086418019F"
- supplier "Logical View::instantiation::PTExpression"
- quidu "40082D0A01CB")))
- (object Class "PTTypeLiteral"
- quid "400864950181"
- documentation "This represents a literal of the form j.XYZ.class. For instance in a method invocation x.getX(jXYZ.class) the argument will be a TypeLiteral."
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "4008654C0008"
- supplier "Logical View::instantiation::PTExpression"
- quidu "40082D0A01CB"))
- class_attributes (list class_attribute_list
- (object ClassAttribute "type"
- quid "400864D7037B"
- documentation "The type of the literal. It must be fully-qualified. If it is an inner class, it needs to be in reflection format, i.e. Y is inner class of j.X, then a reference to Y must be j.X$Y."
- type "String"
- exportControl "Public")))
- (object Class "PTInvalidExpression"
- quid "400865AF0209"
- documentation "This is used when we have some expression we just can't evaluate for our purposes. It allows us to tell the evaluation what is actually wrong. It should be placed as the root expression to prevent processing much of the tree and then finally fail."
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "400866F50258"
- supplier "Logical View::instantiation::PTExpression"
- quidu "40082D0A01CB"))
- class_attributes (list class_attribute_list
- (object ClassAttribute "message"
- quid "400866E40299"
- documentation "A message as to why it is invalid."
- type "String"
- exportControl "Public")))
- (object Class "PTInstanceReference"
- quid "4017DB1802B3"
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "4017DB4A0341"
- supplier "Logical View::instantiation::PTExpression"
- quidu "40082D0A01CB")))
- (object Association "$UNNAMED$0"
- quid "3FD9ED7103D5"
- documentation "The parent who is to give up the value."
- roles (list role_list
- (object Role "parent"
- quid "3FD9ED720390"
- label "parent"
- supplier "Logical View::ecore::EObject"
- quidu "3C4F1C860123"
- client_cardinality (value cardinality "1")
- Containment "By Reference"
- is_navigable TRUE)
- (object Role "$UNNAMED$1"
- quid "3FD9ED72039A"
- supplier "Logical View::instantiation::ImplicitAllocation"
- quidu "3FD9EC140242")))
- (object Association "$UNNAMED$2"
- quid "3FD9EDD00088"
- documentation "The feature that will be used to query the live value."
- roles (list role_list
- (object Role "feature"
- quid "3FD9EDD10148"
- label "feature"
- supplier "Logical View::ecore::EStructuralFeature"
- quidu "3903D59D0230"
- client_cardinality (value cardinality "1")
- Containment "By Reference"
- is_navigable TRUE)
- (object Role "$UNNAMED$3"
- quid "3FD9EDD10152"
- supplier "Logical View::instantiation::ImplicitAllocation"
- quidu "3FD9EC140242")))
- (object Association "$UNNAMED$4"
- quid "400834CE001B"
- documentation "The root expression of the parse tree. The result of it is the allocation."
- roles (list role_list
- (object Role "expression"
- quid "400834CF02E4"
- label "expression"
- supplier "Logical View::instantiation::PTExpression"
- quidu "40082D0A01CB"
- client_cardinality (value cardinality "1")
- Containment "By Value"
- is_navigable TRUE)
- (object Role "$UNNAMED$5"
- quid "400834CF02E6"
- supplier "Logical View::instantiation::ParseTreeAllocation"
- quidu "40082C910005"
- Containment "By Value"
- is_aggregate TRUE)))
- (object Association "$UNNAMED$6"
- quid "4017DBE30138"
- roles (list role_list
- (object Role "object"
- quid "4017DBE60006"
- label "object"
- supplier "Logical View::instantiation::IJavaObjectInstance"
- quidu "3B782D790296"
- client_cardinality (value cardinality "1")
- is_navigable TRUE)
- (object Role "$UNNAMED$7"
- quid "4017DBE60164"
- supplier "Logical View::instantiation::PTInstanceReference"
- quidu "4017DB1802B3"
- Containment "By Reference"))))
- logical_presentations (list unit_reference_list
- (object ClassDiagram "Main"
- quid "3B782D1B034F"
- title "Main"
- zoom 100
- max_height 28350
- max_width 21600
- origin_x 384
- origin_y 0
- items (list diagram_item_list
- (object NoteView @1
- location (747, 1008)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @1
- location (342, 854)
- fill_color 13434879
- nlines 6
- max_width 775
- label "This is used as the EClassifier when you want a code-generated class to point to an instance of a IJavaObjectInstance implementer. (Which is an instance of a java model java object).")
- line_color 3342489
- fill_color 13434879
- width 835
- height 320)
- (object ClassView "Class" "Logical View::instantiation::IJavaDataTypeInstance" @2
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (2659, 664)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @2
- location (1779, 605)
- fill_color 13434879
- nlines 1
- max_width 1760
- justify 0
- label "IJavaDataTypeInstance")
- stereotype (object ItemLabel
- Parent_View @2
- location (1779, 555)
- fill_color 13434879
- anchor 10
- nlines 1
- max_width 1760
- justify 0
- label "<<Interface>>")
- icon "Interface"
- icon_style "Label"
- line_color 3342489
- fill_color 13434879
- quidu "3B8AB17802B1"
- compartment (object Compartment
- Parent_View @2
- location (1779, 666)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 16777215
- anchor 2
- nlines 2
- max_width 1499)
- width 1778
- height 242
- annotation 8
- autoResize TRUE)
- (object NoteView @3
- location (2378, 1053)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @3
- location (1970, 889)
- fill_color 13434879
- nlines 7
- max_width 780
- label "This is used as the EClassifier when you want a code-generated class to point to an instance of an IJavaDataTypeInstance implementer. (Which is an instance of a java model java primitive).")
- line_color 3342489
- fill_color 13434879
- width 840
- height 340)
- (object AttachView "" @4
- stereotype TRUE
- line_color 3342489
- client @2
- supplier @3
- line_style 0)
- (object ClassView "Class" "Logical View::instantiation::IJavaInstance" @5
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (1584, 166)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @5
- location (804, 85)
- fill_color 13434879
- nlines 1
- max_width 1560
- justify 0
- label "IJavaInstance")
- icon "Interface"
- icon_style "None"
- line_color 3342489
- fill_color 13434879
- quidu "3E51575A02D4"
- compartment (object Compartment
- Parent_View @5
- location (804, 146)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 16777215
- anchor 2
- nlines 2
- max_width 1328)
- width 1578
- height 186
- annotation 8
- autoResize TRUE)
- (object InheritTreeView "" @6
- location (1584, 455)
- line_color 3342489
- fill_color 13434879
- supplier @5
- vertices (list Points
- (1584, 455)
- (1584, 259)))
- (object ClassView "Class" "Logical View::instantiation::IJavaObjectInstance" @7
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- ShowOperationSignature TRUE
- location (858, 666)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @7
- location (9, 607)
- fill_color 13434879
- nlines 1
- max_width 1698
- justify 0
- label "IJavaObjectInstance")
- stereotype (object ItemLabel
- Parent_View @7
- location (9, 557)
- fill_color 13434879
- anchor 10
- nlines 1
- max_width 1698
- justify 0
- label "<<Interface>>")
- icon "Interface"
- icon_style "Label"
- line_color 3342489
- fill_color 13434879
- quidu "3B782D790296"
- compartment (object Compartment
- Parent_View @7
- location (9, 668)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 16777215
- anchor 2
- nlines 2
- max_width 1446)
- width 1716
- height 242
- annotation 8
- autoResize TRUE)
- (object AttachView "" @8
- stereotype TRUE
- line_color 3342489
- client @1
- supplier @7
- line_style 0)
- (object InheritView "" @9
- stereotype TRUE
- line_color 3342489
- quidu "3E5157DA03DD"
- client @7
- supplier @5
- line_style 3
- origin_attachment (795, 544)
- terminal_attachment (795, 455)
- drawSupplier @6)
- (object InheritView "" @10
- stereotype TRUE
- line_color 3342489
- quidu "3E529562014E"
- client @2
- supplier @5
- line_style 3
- origin_attachment (2659, 543)
- terminal_attachment (2659, 455)
- drawSupplier @6)))
- (object ClassDiagram "Java Constructors"
- quid "3FD9E66D007F"
- title "Java Constructors"
- zoom 100
- max_height 28350
- max_width 21600
- origin_x 0
- origin_y 0
- items (list diagram_item_list
- (object ClassView "Class" "Logical View::instantiation::JavaAllocation" @11
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (1073, 120)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics TRUE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @11
- location (902, 69)
- fill_color 13434879
- nlines 1
- max_width 342
- justify 0
- label "JavaAllocation")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "3FD9E6900061"
- width 360
- height 126
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::instantiation::InitStringAllocation" @12
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (553, 495)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @12
- location (329, 414)
- fill_color 13434879
- nlines 1
- max_width 448
- justify 0
- label "InitStringAllocation")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "3FD9EAF9001E"
- compartment (object Compartment
- Parent_View @12
- location (329, 475)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 16777215
- anchor 2
- nlines 2
- max_width 353)
- width 466
- height 186
- annotation 8
- autoResize TRUE)
- (object InheritTreeView "" @13
- location (1073, 323)
- line_color 3342489
- fill_color 13434879
- supplier @11
- vertices (list Points
- (1073, 323)
- (1073, 183)))
- (object InheritView "" @14
- stereotype TRUE
- line_color 3342489
- quidu "3FD9EB7502DA"
- client @12
- supplier @11
- line_style 3
- origin_attachment (668, 401)
- terminal_attachment (668, 323)
- drawSupplier @13)
- (object ClassView "Class" "Logical View::ecore::EObject" @15
- ShowCompartmentStereotypes TRUE
- location (1751, 942)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @15
- location (1645, 896)
- fill_color 13434879
- nlines 1
- max_width 212
- justify 0
- label "EObject")
- icon_style "Icon"
- line_color 3342489
- fill_color 16776960
- quidu "3C4F1C860123"
- width 230
- height 117
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::ecore::EStructuralFeature" @16
- ShowCompartmentStereotypes TRUE
- location (2142, 927)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics TRUE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @16
- location (1918, 881)
- fill_color 13434879
- nlines 1
- max_width 448
- justify 0
- label "EStructuralFeature")
- icon_style "Icon"
- line_color 3342489
- fill_color 16776960
- quidu "3903D59D0230"
- width 466
- height 117
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::instantiation::ImplicitAllocation" @17
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (2018, 510)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @17
- location (1819, 458)
- fill_color 13434879
- nlines 1
- max_width 398
- justify 0
- label "ImplicitAllocation")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "3FD9EC140242"
- width 416
- height 128
- annotation 8
- autoResize TRUE)
- (object InheritView "" @18
- stereotype TRUE
- line_color 3342489
- quidu "3FD9EC4700E7"
- client @17
- supplier @11
- line_style 3
- origin_attachment (2023, 446)
- terminal_attachment (2023, 323)
- drawSupplier @13)
- (object AssociationViewNew "$UNNAMED$0" @19
- location (1881, 728)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- stereotype TRUE
- line_color 3342489
- quidu "3FD9ED7103D5"
- roleview_list (list RoleViews
- (object RoleView "parent" @20
- Parent_View @19
- location (716, 228)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @21
- Parent_View @20
- location (1727, 844)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 137
- justify 0
- label "+parent"
- pctDist 0.991224
- height 72
- orientation 1)
- stereotype TRUE
- line_color 3342489
- quidu "3FD9ED720390"
- client @19
- supplier @15
- line_style 0
- label (object SegLabel @22
- Parent_View @20
- location (1871, 794)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "1"
- pctDist 0.337817
- height 26
- orientation 0))
- (object RoleView "$UNNAMED$1" @23
- Parent_View @19
- location (716, 228)
- stereotype TRUE
- line_color 3342489
- quidu "3FD9ED72039A"
- client @19
- supplier @17
- line_style 0)))
- (object AssociationViewNew "$UNNAMED$2" @24
- location (2080, 721)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- stereotype TRUE
- line_color 3342489
- quidu "3FD9EDD00088"
- roleview_list (list RoleViews
- (object RoleView "feature" @25
- Parent_View @24
- location (915, 221)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @26
- Parent_View @25
- location (2028, 766)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 159
- justify 0
- label "+feature"
- pctDist 0.181346
- height 64
- orientation 1)
- stereotype TRUE
- line_color 3342489
- quidu "3FD9EDD10148"
- client @24
- supplier @16
- line_style 0
- label (object SegLabel @27
- Parent_View @25
- location (2172, 839)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "1"
- pctDist 0.900000
- height 54
- orientation 0))
- (object RoleView "$UNNAMED$3" @28
- Parent_View @24
- location (915, 221)
- stereotype TRUE
- line_color 3342489
- quidu "3FD9EDD10152"
- client @24
- supplier @17
- line_style 0)))
- (object ClassView "Class" "Logical View::instantiation::PTExpression" @29
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (1264, 776)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics TRUE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @29
- location (1095, 725)
- fill_color 13434879
- nlines 1
- max_width 338
- justify 0
- label "PTExpression")
- icon_style "Icon"
- line_color 3342489
- fill_color 12615935
- quidu "40082D0A01CB"
- width 356
- height 126
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::instantiation::ParseTreeAllocation" @30
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (1265, 495)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @30
- location (1032, 443)
- fill_color 13434879
- nlines 1
- max_width 466
- justify 0
- label "ParseTreeAllocation")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "40082C910005"
- width 484
- height 128
- annotation 8
- autoResize TRUE)
- (object InheritView "" @31
- stereotype TRUE
- line_color 3342489
- quidu "40082CB701D6"
- client @30
- supplier @11
- line_style 3
- origin_attachment (1265, 431)
- terminal_attachment (1265, 323)
- drawSupplier @13)
- (object AssociationViewNew "$UNNAMED$4" @32
- location (1264, 635)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- stereotype TRUE
- line_color 3342489
- quidu "400834CE001B"
- roleview_list (list RoleViews
- (object RoleView "expression" @33
- Parent_View @32
- location (-1, 140)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @34
- Parent_View @33
- location (1111, 672)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 220
- justify 0
- label "+expression"
- pctDist 0.492537
- height 154
- orientation 1)
- stereotype TRUE
- line_color 3342489
- quidu "400834CF02E4"
- client @32
- supplier @29
- line_style 0
- label (object SegLabel @35
- Parent_View @33
- location (1307, 679)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "1"
- pctDist 0.567164
- height 43
- orientation 0))
- (object RoleView "$UNNAMED$5" @36
- Parent_View @32
- location (-1, 140)
- stereotype TRUE
- line_color 3342489
- quidu "400834CF02E6"
- client @32
- supplier @30
- line_style 0)))))
- (object ClassDiagram "Parse Tree Expressions"
- quid "40082CC20146"
- title "Parse Tree Expressions"
- zoom 100
- max_height 28350
- max_width 21600
- origin_x 1081
- origin_y 5768
- items (list diagram_item_list
- (object ClassView "Class" "Logical View::instantiation::PTExpression" @37
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (1348, 124)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics TRUE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @37
- location (1179, 73)
- fill_color 13434879
- nlines 1
- max_width 338
- justify 0
- label "PTExpression")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "40082D0A01CB"
- width 356
- height 126
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::instantiation::PTArrayAccess" @38
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (2235, 544)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @38
- location (1877, 426)
- fill_color 13434879
- nlines 2
- max_width 716
- justify 0
- label "PTArrayAccess")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "40082E140250"
- compartment (object Compartment
- Parent_View @38
- location (1877, 487)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 13434879
- anchor 2
- nlines 3
- max_width 665)
- width 734
- height 258
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::instantiation::PTArrayCreation" @39
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (434, 519)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @39
- location (38, 379)
- fill_color 13434879
- nlines 2
- max_width 792
- justify 0
- label "PTArrayCreation")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "40083712025A"
- compartment (object Compartment
- Parent_View @39
- location (38, 440)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 13434879
- anchor 2
- nlines 4
- max_width 731)
- width 810
- height 302
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::instantiation::PTArrayInitializer" @40
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (1361, 519)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @40
- location (959, 446)
- fill_color 13434879
- nlines 1
- max_width 804
- justify 0
- label "PTArrayInitializer")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "40083968014C"
- compartment (object Compartment
- Parent_View @40
- location (959, 507)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 13434879
- anchor 2
- nlines 2
- max_width 743)
- width 822
- height 168
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::instantiation::PTBooleanLiteral" @41
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (997, 870)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @41
- location (734, 789)
- fill_color 13434879
- nlines 1
- max_width 527
- justify 0
- label "PTBooleanLiteral")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "40083AE70247"
- compartment (object Compartment
- Parent_View @41
- location (734, 850)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 13434879
- anchor 2
- nlines 2
- max_width 481)
- width 545
- height 185
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::instantiation::PTCastExpression" @42
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (1791, 889)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @42
- location (1493, 771)
- fill_color 13434879
- nlines 2
- max_width 596
- justify 0
- label "PTCastExpression")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "40083B6F0058"
- compartment (object Compartment
- Parent_View @42
- location (1493, 832)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 13434879
- anchor 2
- nlines 3
- max_width 546)
- width 614
- height 258
- annotation 8
- autoResize TRUE)
- (object InheritTreeView "" @43
- location (1348, 330)
- line_color 3342489
- fill_color 13434879
- supplier @37
- vertices (list Points
- (1348, 330)
- (1348, 187)))
- (object InheritView "" @44
- stereotype TRUE
- line_color 3342489
- quidu "400839790038"
- client @40
- supplier @37
- line_style 3
- origin_attachment (1381, 434)
- terminal_attachment (1381, 330)
- drawSupplier @43)
- (object InheritView "" @45
- stereotype TRUE
- line_color 3342489
- quidu "40083B1D0000"
- client @41
- supplier @37
- line_style 3
- origin_attachment (918, 778)
- terminal_attachment (918, 330)
- drawSupplier @43)
- (object InheritView "" @46
- stereotype TRUE
- line_color 3342489
- quidu "40083BD60309"
- client @42
- supplier @37
- line_style 3
- origin_attachment (1791, 760)
- terminal_attachment (1791, 330)
- drawSupplier @43)
- (object InheritView "" @47
- stereotype TRUE
- line_color 3342489
- quidu "40082E6F01F7"
- client @38
- supplier @37
- line_style 3
- origin_attachment (2235, 415)
- terminal_attachment (2235, 330)
- drawSupplier @43)
- (object ClassView "Class" "Logical View::instantiation::PTExpression" @48
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (1372, 1095)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics TRUE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @48
- location (1203, 1044)
- fill_color 13434879
- nlines 1
- max_width 338
- justify 0
- label "PTExpression")
- icon_style "Icon"
- line_color 3342489
- fill_color 12615935
- quidu "40082D0A01CB"
- width 356
- height 126
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::instantiation::PTCharacterLiteral" @49
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (430, 1438)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @49
- location (207, 1329)
- fill_color 13434879
- nlines 1
- max_width 447
- justify 0
- label "PTCharacterLiteral")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "40084DF10277"
- compartment (object Compartment
- Parent_View @49
- location (207, 1390)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 13434879
- anchor 2
- nlines 3
- max_width 459)
- width 465
- height 240
- annotation 8
- autoResize TRUE)
- (object InheritView "" @50
- stereotype TRUE
- line_color 3342489
- quidu "400837210049"
- client @39
- supplier @37
- line_style 3
- origin_attachment (561, 367)
- terminal_attachment (561, 330)
- drawSupplier @43)
- (object ClassView "Class" "Logical View::instantiation::PTClassInstanceCreation" @51
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (1346, 1464)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @51
- location (960, 1346)
- fill_color 13434879
- nlines 2
- max_width 772
- justify 0
- label "PTClassInstanceCreation")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "40084F40026F"
- compartment (object Compartment
- Parent_View @51
- location (960, 1407)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 13434879
- anchor 2
- nlines 3
- max_width 715)
- width 790
- height 258
- annotation 8
- autoResize TRUE)
- (object InheritTreeView "" @52
- location (1372, 1260)
- line_color 3342489
- fill_color 13434879
- supplier @48
- vertices (list Points
- (1372, 1260)
- (1372, 1158)))
- (object InheritView "" @53
- stereotype TRUE
- line_color 3342489
- quidu "40084E1301EA"
- client @49
- supplier @48
- line_style 3
- origin_attachment (564, 1317)
- terminal_attachment (564, 1260)
- drawSupplier @52)
- (object InheritView "" @54
- stereotype TRUE
- line_color 3342489
- quidu "40084F4C02F8"
- client @51
- supplier @48
- line_style 3
- origin_attachment (1267, 1334)
- terminal_attachment (1267, 1260)
- drawSupplier @52)
- (object ClassView "Class" "Logical View::instantiation::PTConditionalExpression" @55
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (2169, 1481)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @55
- location (1890, 1341)
- fill_color 13434879
- nlines 2
- max_width 558
- justify 0
- label "PTConditionalExpression")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "400851FB026A"
- compartment (object Compartment
- Parent_View @55
- location (1890, 1402)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 13434879
- anchor 2
- nlines 4
- max_width 512)
- width 576
- height 302
- annotation 8
- autoResize TRUE)
- (object InheritView "" @56
- stereotype TRUE
- line_color 3342489
- quidu "40085274012E"
- client @55
- supplier @48
- line_style 3
- origin_attachment (2168, 1330)
- terminal_attachment (2168, 1260)
- drawSupplier @52)
- (object ClassView "Class" "Logical View::instantiation::PTFieldAccess" @57
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (761, 1794)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @57
- location (492, 1676)
- fill_color 13434879
- nlines 2
- max_width 538
- justify 0
- label "PTFieldAccess")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "400852DF0204"
- compartment (object Compartment
- Parent_View @57
- location (492, 1737)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 13434879
- anchor 2
- nlines 3
- max_width 487)
- width 556
- height 258
- annotation 8
- autoResize TRUE)
- (object InheritView "" @58
- stereotype TRUE
- line_color 3342489
- quidu "4008535D0241"
- client @57
- supplier @48
- line_style 3
- origin_attachment (760, 1665)
- terminal_attachment (760, 1260)
- drawSupplier @52)
- (object ClassView "Class" "Logical View::instantiation::PTInfixExpression" @59
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (1790, 1845)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @59
- location (1316, 1682)
- fill_color 13434879
- nlines 2
- max_width 948
- justify 0
- label "PTInfixExpression")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "4008538B0143"
- compartment (object Compartment
- Parent_View @59
- location (1316, 1743)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 13434879
- anchor 2
- nlines 5
- max_width 865)
- width 966
- height 348
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::instantiation::PTInfixOperator" @60
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (2660, 2207)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @60
- location (2345, 1699)
- fill_color 13434879
- nlines 1
- max_width 630
- justify 0
- label "PTInfixOperator")
- stereotype (object ItemLabel
- Parent_View @60
- location (2345, 1649)
- fill_color 13434879
- anchor 10
- nlines 1
- max_width 630
- justify 0
- label "<<enumeration>>")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "400853E10359"
- compartment (object Compartment
- Parent_View @60
- location (2345, 1760)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 16777215
- anchor 2
- nlines 20
- max_width 534)
- width 648
- height 1140
- annotation 8
- autoResize TRUE)
- (object InheritView "" @61
- stereotype TRUE
- line_color 3342489
- quidu "400855700032"
- client @59
- supplier @48
- line_style 3
- origin_attachment (1789, 1671)
- terminal_attachment (1789, 1260)
- drawSupplier @52)
- (object ClassView "Class" "Logical View::instantiation::PTExpression" @62
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (1272, 2853)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics TRUE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @62
- location (1103, 2802)
- fill_color 13434879
- nlines 1
- max_width 338
- justify 0
- label "PTExpression")
- icon_style "Icon"
- line_color 3342489
- fill_color 12615935
- quidu "40082D0A01CB"
- width 356
- height 126
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::instantiation::PTInstanceof" @63
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (371, 3255)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @63
- location (99, 3137)
- fill_color 13434879
- nlines 2
- max_width 544
- justify 0
- label "PTInstanceof")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "400857D303A2"
- compartment (object Compartment
- Parent_View @63
- location (99, 3198)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 13434879
- anchor 2
- nlines 3
- max_width 493)
- width 562
- height 258
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::instantiation::PTMethodInvocation" @64
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (1246, 3258)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @64
- location (860, 3117)
- fill_color 13434879
- nlines 2
- max_width 772
- justify 0
- label "PTMethodInvocation")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "400858B6018B"
- compartment (object Compartment
- Parent_View @64
- location (860, 3178)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 13434879
- anchor 2
- nlines 4
- max_width 715)
- width 790
- height 304
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::instantiation::PTName" @65
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (1962, 3212)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @65
- location (1809, 3121)
- fill_color 13434879
- nlines 1
- max_width 307
- justify 0
- label "PTName")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "400858EA0280"
- compartment (object Compartment
- Parent_View @65
- location (1809, 3182)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 16777215
- anchor 2
- nlines 2
- max_width 303)
- width 325
- height 205
- annotation 8
- autoResize TRUE)
- (object InheritTreeView "" @66
- location (1272, 3061)
- line_color 3342489
- fill_color 13434879
- supplier @62
- vertices (list Points
- (1272, 3061)
- (1272, 2916)))
- (object InheritView "" @67
- stereotype TRUE
- line_color 3342489
- quidu "4008589103AF"
- client @63
- supplier @62
- line_style 3
- origin_attachment (474, 3126)
- terminal_attachment (474, 3061)
- drawSupplier @66)
- (object InheritView "" @68
- stereotype TRUE
- line_color 3342489
- quidu "40085B9D0067"
- client @64
- supplier @62
- line_style 3
- origin_attachment (1245, 3106)
- terminal_attachment (1245, 3061)
- drawSupplier @66)
- (object InheritView "" @69
- stereotype TRUE
- line_color 3342489
- quidu "40085BA100DB"
- client @65
- supplier @62
- line_style 3
- origin_attachment (1905, 3110)
- terminal_attachment (1905, 3061)
- drawSupplier @66)
- (object ClassView "Class" "Logical View::instantiation::PTNullLiteral" @70
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (2328, 3195)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @70
- location (2170, 3143)
- fill_color 13434879
- nlines 1
- max_width 316
- justify 0
- label "PTNullLiteral")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "40085BBF0020"
- width 334
- height 128
- annotation 8
- autoResize TRUE)
- (object InheritView "" @71
- stereotype TRUE
- line_color 3342489
- quidu "40085BD402F1"
- client @70
- supplier @62
- line_style 3
- origin_attachment (2297, 3131)
- terminal_attachment (2297, 3061)
- drawSupplier @66)
- (object ClassView "Class" "Logical View::instantiation::PTExpression" @72
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (1243, 3867)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics TRUE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @72
- location (1074, 3816)
- fill_color 13434879
- nlines 1
- max_width 338
- justify 0
- label "PTExpression")
- icon_style "Icon"
- line_color 3342489
- fill_color 12615935
- quidu "40082D0A01CB"
- width 356
- height 126
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::instantiation::PTNumberLiteral" @73
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (802, 3583)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @73
- location (619, 3489)
- fill_color 13434879
- nlines 1
- max_width 367
- justify 0
- label "PTNumberLiteral")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "40085C40035B"
- compartment (object Compartment
- Parent_View @73
- location (619, 3550)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 13434879
- anchor 2
- nlines 2
- max_width 303)
- width 385
- height 210
- annotation 8
- autoResize TRUE)
- (object InheritView "" @74
- stereotype TRUE
- line_color 3342489
- quidu "40085CEF0244"
- client @73
- supplier @62
- line_style 3
- origin_attachment (730, 3478)
- terminal_attachment (730, 3061)
- drawSupplier @66)
- (object ClassView "Class" "Logical View::instantiation::PTParenthesizedExpression" @75
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (1679, 3609)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @75
- location (1381, 3513)
- fill_color 13434879
- nlines 2
- max_width 596
- justify 0
- label "PTParenthesizedExpression")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "40085CF9007C"
- compartment (object Compartment
- Parent_View @75
- location (1381, 3574)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 13434879
- anchor 2
- nlines 2
- max_width 546)
- width 614
- height 214
- annotation 8
- autoResize TRUE)
- (object InheritView "" @76
- stereotype TRUE
- line_color 3342489
- quidu "40085F4E03E1"
- client @75
- supplier @62
- line_style 3
- origin_attachment (1677, 3502)
- terminal_attachment (1677, 3061)
- drawSupplier @66)
- (object ClassView "Class" "Logical View::instantiation::PTPrefixExpression" @77
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (318, 4221)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @77
- location (9, 4103)
- fill_color 13434879
- nlines 2
- max_width 618
- justify 0
- label "PTPrefixExpression")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "40085FAD008B"
- compartment (object Compartment
- Parent_View @77
- location (9, 4164)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 13434879
- anchor 2
- nlines 3
- max_width 553)
- width 636
- height 258
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::instantiation::PTPrefixOperator" @78
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (233, 4602)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @78
- location (34, 4468)
- fill_color 13434879
- nlines 1
- max_width 398
- justify 0
- label "PTPrefixOperator")
- stereotype (object ItemLabel
- Parent_View @78
- location (34, 4418)
- fill_color 13434879
- anchor 10
- nlines 1
- max_width 398
- justify 0
- label "<<enumeration>>")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "4008602400D2"
- compartment (object Compartment
- Parent_View @78
- location (34, 4529)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 13434879
- anchor 2
- nlines 5
- max_width 334)
- width 416
- height 392
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::instantiation::PTStringLiteral" @79
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (1025, 4196)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @79
- location (849, 4092)
- fill_color 13434879
- nlines 1
- max_width 352
- justify 0
- label "PTStringLiteral")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "400861E2000B"
- compartment (object Compartment
- Parent_View @79
- location (849, 4153)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 13434879
- anchor 2
- nlines 3
- max_width 459)
- width 370
- height 230
- annotation 8
- autoResize TRUE)
- (object InheritTreeView "" @80
- location (1243, 4020)
- line_color 3342489
- fill_color 13434879
- supplier @72
- vertices (list Points
- (1243, 4020)
- (1243, 3930)))
- (object InheritView "" @81
- stereotype TRUE
- line_color 3342489
- quidu "400862D70338"
- client @79
- supplier @72
- line_style 3
- origin_attachment (1008, 4081)
- terminal_attachment (1008, 4020)
- drawSupplier @80)
- (object InheritView "" @82
- stereotype TRUE
- line_color 3342489
- quidu "400862DC01D7"
- client @77
- supplier @72
- line_style 3
- origin_attachment (297, 4092)
- terminal_attachment (297, 4020)
- drawSupplier @80)
- (object ClassView "Class" "Logical View::instantiation::PTThisLiteral" @83
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (1655, 4180)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @83
- location (1494, 4129)
- fill_color 13434879
- nlines 1
- max_width 322
- justify 0
- label "PTThisLiteral")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "400863A700CB"
- width 340
- height 126
- annotation 8
- autoResize TRUE)
- (object InheritView "" @84
- stereotype TRUE
- line_color 3342489
- quidu "40086418019F"
- client @83
- supplier @72
- line_style 3
- origin_attachment (1627, 4117)
- terminal_attachment (1627, 4020)
- drawSupplier @80)
- (object ClassView "Class" "Logical View::instantiation::PTTypeLiteral" @85
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (2256, 4201)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @85
- location (2093, 4106)
- fill_color 13434879
- nlines 1
- max_width 327
- justify 0
- label "PTTypeLiteral")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "400864950181"
- compartment (object Compartment
- Parent_View @85
- location (2093, 4167)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 13434879
- anchor 2
- nlines 2
- max_width 281)
- width 345
- height 215
- annotation 8
- autoResize TRUE)
- (object InheritView "" @86
- stereotype TRUE
- line_color 3342489
- quidu "4008654C0008"
- client @85
- supplier @72
- line_style 3
- origin_attachment (2197, 4093)
- terminal_attachment (2197, 4020)
- drawSupplier @80)
- (object ClassView "Class" "Logical View::instantiation::PTInvalidExpression" @87
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (1457, 4545)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @87
- location (1279, 4449)
- fill_color 13434879
- nlines 1
- max_width 357
- justify 0
- label "PTInvalidExpression")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "400865AF0209"
- compartment (object Compartment
- Parent_View @87
- location (1279, 4510)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- fill_color 13434879
- anchor 2
- nlines 2
- max_width 368)
- width 375
- height 215
- annotation 8
- autoResize TRUE)
- (object InheritView "" @88
- stereotype TRUE
- line_color 3342489
- quidu "400866F50258"
- client @87
- supplier @72
- line_style 3
- origin_attachment (1413, 4438)
- terminal_attachment (1413, 4020)
- drawSupplier @80)
- (object ClassView "Class" "Logical View::instantiation::PTInstanceReference" @89
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (2005, 4509)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @89
- location (1805, 4393)
- fill_color 13434879
- nlines 1
- max_width 401
- justify 0
- label "PTInstanceReference")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "4017DB1802B3"
- width 419
- height 257
- annotation 8
- autoResize TRUE)
- (object InheritView "" @90
- stereotype TRUE
- line_color 3342489
- quidu "4017DB4A0341"
- client @89
- supplier @72
- line_style 3
- origin_attachment (1943, 4381)
- terminal_attachment (1943, 4020)
- drawSupplier @80)
- (object ClassView "Class" "Logical View::instantiation::IJavaObjectInstance" @91
- ShowCompartmentStereotypes TRUE
- IncludeOperation TRUE
- location (2236, 4886)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @91
- location (2005, 4856)
- fill_color 13434879
- nlines 1
- max_width 462
- justify 0
- label "IJavaObjectInstance")
- stereotype (object ItemLabel
- Parent_View @91
- location (2005, 4806)
- fill_color 13434879
- anchor 10
- nlines 1
- max_width 462
- justify 0
- label "<<Interface>>")
- icon "Interface"
- icon_style "Label"
- line_color 3342489
- fill_color 13434879
- quidu "3B782D790296"
- width 480
- height 184
- annotation 8
- autoResize TRUE)
- (object AssociationViewNew "$UNNAMED$6" @92
- location (2130, 4715)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- stereotype TRUE
- line_color 3342489
- quidu "4017DBE30138"
- roleview_list (list RoleViews
- (object RoleView "object" @93
- Parent_View @92
- location (192, 244)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object SegLabel @94
- Parent_View @93
- location (2077, 4774)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 1
- anchor_loc 1
- nlines 1
- max_width 134
- justify 0
- label "+object"
- pctDist 0.231960
- height 77
- orientation 1)
- stereotype TRUE
- line_color 3342489
- quidu "4017DBE60006"
- client @92
- supplier @91
- line_style 0
- label (object SegLabel @95
- Parent_View @93
- location (2220, 4757)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- anchor 2
- anchor_loc 1
- nlines 1
- max_width 15
- justify 0
- label "1"
- pctDist 0.900000
- height 54
- orientation 0))
- (object RoleView "$UNNAMED$7" @96
- Parent_View @92
- location (192, 244)
- stereotype TRUE
- line_color 3342489
- quidu "4017DBE60164"
- client @92
- supplier @89
- line_style 0)))))))
diff --git a/plugins/org.eclipse.jem/rose/javaModel.mdl b/plugins/org.eclipse.jem/rose/javaModel.mdl
deleted file mode 100644
index 5efb92d59..000000000
--- a/plugins/org.eclipse.jem/rose/javaModel.mdl
+++ /dev/null
@@ -1,8819 +0,0 @@
-
-(object Petal
- version 47
- _written "Rose 8.0.0303.1400"
- charSet 0)
-
-(object Design "Logical View"
- is_unit TRUE
- is_loaded TRUE
- attributes (list Attribute_Set
- (object Attribute
- tool "Java"
- name "IDE"
- value "Internal Editor")
- (object Attribute
- tool "Java"
- name "UserDefineTagName1"
- value "")
- (object Attribute
- tool "Java"
- name "UserDefineTagText1"
- value "")
- (object Attribute
- tool "Java"
- name "UserDefineTagApply1"
- value "")
- (object Attribute
- tool "Java"
- name "UserDefineTagName2"
- value "")
- (object Attribute
- tool "Java"
- name "UserDefineTagText2"
- value "")
- (object Attribute
- tool "Java"
- name "UserDefineTagApply2"
- value "")
- (object Attribute
- tool "Java"
- name "UserDefineTagName3"
- value "")
- (object Attribute
- tool "Java"
- name "UserDefineTagText3"
- value "")
- (object Attribute
- tool "Java"
- name "UserDefineTagApply3"
- value ""))
- quid "39EDFBE003B4"
- defaults (object defaults
- rightMargin 0.250000
- leftMargin 0.250000
- topMargin 0.250000
- bottomMargin 0.500000
- pageOverlap 0.250000
- clipIconLabels TRUE
- autoResize TRUE
- snapToGrid TRUE
- gridX 16
- gridY 16
- defaultFont (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- showMessageNum 1
- showClassOfObject TRUE
- notation "Unified")
- root_usecase_package (object Class_Category "Use Case View"
- quid "39EDFBE003B6"
- exportControl "Public"
- global TRUE
- logical_models (list unit_reference_list)
- logical_presentations (list unit_reference_list
- (object UseCaseDiagram "Main"
- quid "39EDFBE2008D"
- title "Main"
- zoom 100
- max_height 28350
- max_width 21600
- origin_x 0
- origin_y 0
- items (list diagram_item_list))))
- root_category (object Class_Category "Logical View"
- quid "39EDFBE003B5"
- exportControl "Public"
- global TRUE
- subsystem "Component View"
- quidu "39EDFBE003B7"
- logical_models (list unit_reference_list
- (object Class_Category "java"
- is_unit TRUE
- is_loaded FALSE
- file_name "$WorkspaceRoot\\org.eclipse.jem\\rose\\edocjava2.cat"
- quid "36549F2C004E")
- (object Class_Category "ecore"
- is_unit TRUE
- is_loaded FALSE
- file_name "$WorkspaceRoot\\org.eclipse.emf.ecore\\model\\org.eclipse.emf.Ecore.cat"
- quid "39A5ED04004E"))
- logical_presentations (list unit_reference_list
- (object ClassDiagram "Main"
- quid "39EDFBE2008E"
- title "Main"
- zoom 100
- max_height 28350
- max_width 21600
- origin_x 0
- origin_y 0
- items (list diagram_item_list
- (object CategoryView "Logical View::java" @1
- location (784, 528)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @1
- location (630, 493)
- fill_color 13434879
- nlines 2
- max_width 308
- justify 0
- label "java")
- stereotype (object ItemLabel
- Parent_View @1
- location (630, 443)
- fill_color 13434879
- anchor 10
- nlines 1
- max_width 308
- justify 0
- label "<<metamodel>>")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "36549F2C004E"
- width 320
- height 182)
- (object CategoryView "Logical View::ecore" @2
- location (304, 544)
- font (object Font
- size 10
- face "Arial"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @2
- location (160, 460)
- fill_color 13434879
- nlines 2
- max_width 288
- justify 0
- label "ecore")
- icon_style "Icon"
- line_color 3342489
- fill_color 13434879
- quidu "39A5ED04004E"
- width 300
- height 180)))))
- root_subsystem (object SubSystem "Component View"
- quid "39EDFBE003B7"
- physical_models (list unit_reference_list)
- physical_presentations (list unit_reference_list
- (object Module_Diagram "Main"
- quid "39EDFBE2008C"
- title "Main"
- zoom 100
- max_height 28350
- max_width 21600
- origin_x 0
- origin_y 0
- items (list diagram_item_list))))
- process_structure (object Processes
- quid "39EDFBE003B8"
- ProcsNDevs (list
- (object Process_Diagram "Deployment View"
- quid "39EDFBE003BA"
- title "Deployment View"
- zoom 100
- max_height 28350
- max_width 21600
- origin_x 0
- origin_y 0
- items (list diagram_item_list))))
- properties (object Properties
- attributes (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "roseId"
- value "753117540")
- (object Attribute
- tool "Ecore"
- name "propertyId"
- value "809135969")
- (object Attribute
- tool "Ecore"
- name "default__Category"
- value (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "prefix"
- value "")
- (object Attribute
- tool "Ecore"
- name "packageName"
- value "")
- (object Attribute
- tool "Ecore"
- name "basePackage"
- value "")
- (object Attribute
- tool "Ecore"
- name "nsName"
- value "")
- (object Attribute
- tool "Ecore"
- name "nsURI"
- value "")
- (object Attribute
- tool "Ecore"
- name "nsPrefix"
- value "")
- (object Attribute
- tool "Ecore"
- name "annotation"
- value "")))
- (object Attribute
- tool "Ecore"
- name "default__Category"
- value (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "packageName"
- value "")
- (object Attribute
- tool "Ecore"
- name "prefix"
- value "")
- (object Attribute
- tool "Ecore"
- name "basePackage"
- value "")
- (object Attribute
- tool "Ecore"
- name "nsName"
- value "")
- (object Attribute
- tool "Ecore"
- name "nsURI"
- value "")
- (object Attribute
- tool "Ecore"
- name "nsPrefix"
- value "")
- (object Attribute
- tool "Ecore"
- name "annotation"
- value "")))
- (object Attribute
- tool "Ecore"
- name "default__Category"
- value (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "basePackage"
- value "")
- (object Attribute
- tool "Ecore"
- name "prefix"
- value "")
- (object Attribute
- tool "Ecore"
- name "packageName"
- value "")
- (object Attribute
- tool "Ecore"
- name "nsName"
- value "")
- (object Attribute
- tool "Ecore"
- name "nsURI"
- value "")
- (object Attribute
- tool "Ecore"
- name "nsPrefix"
- value "")
- (object Attribute
- tool "Ecore"
- name "annotation"
- value "")))
- (object Attribute
- tool "Ecore"
- name "default__Category"
- value (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "nsName"
- value "")
- (object Attribute
- tool "Ecore"
- name "prefix"
- value "")
- (object Attribute
- tool "Ecore"
- name "packageName"
- value "")
- (object Attribute
- tool "Ecore"
- name "basePackage"
- value "")
- (object Attribute
- tool "Ecore"
- name "nsURI"
- value "")
- (object Attribute
- tool "Ecore"
- name "nsPrefix"
- value "")
- (object Attribute
- tool "Ecore"
- name "annotation"
- value "")))
- (object Attribute
- tool "Ecore"
- name "default__Category"
- value (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "nsURI"
- value "")
- (object Attribute
- tool "Ecore"
- name "prefix"
- value "")
- (object Attribute
- tool "Ecore"
- name "packageName"
- value "")
- (object Attribute
- tool "Ecore"
- name "basePackage"
- value "")
- (object Attribute
- tool "Ecore"
- name "nsName"
- value "")
- (object Attribute
- tool "Ecore"
- name "nsPrefix"
- value "")
- (object Attribute
- tool "Ecore"
- name "annotation"
- value "")))
- (object Attribute
- tool "Ecore"
- name "default__Attribute"
- value (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "isTransient"
- value FALSE)
- (object Attribute
- tool "Ecore"
- name "isVolatile"
- value FALSE)
- (object Attribute
- tool "Ecore"
- name "isChangeable"
- value TRUE)
- (object Attribute
- tool "Ecore"
- name "isUnsettable"
- value FALSE)
- (object Attribute
- tool "Ecore"
- name "isUnique"
- value TRUE)
- (object Attribute
- tool "Ecore"
- name "attributeName"
- value "")
- (object Attribute
- tool "Ecore"
- name "isID"
- value FALSE)
- (object Attribute
- tool "Ecore"
- name "visibility"
- value ("VisibilityKind" 0))
- (object Attribute
- tool "Ecore"
- name "VisibilityKind"
- value (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "Unspecified"
- value 0)
- (object Attribute
- tool "Ecore"
- name "None"
- value 1)
- (object Attribute
- tool "Ecore"
- name "Read-only"
- value 2)
- (object Attribute
- tool "Ecore"
- name "Read-write"
- value 3)
- (object Attribute
- tool "Ecore"
- name "Read-only unsettable"
- value 4)
- (object Attribute
- tool "Ecore"
- name "Read-write unsettable"
- value 5)))
- (object Attribute
- tool "Ecore"
- name "xmlName"
- value "")
- (object Attribute
- tool "Ecore"
- name "xmlNamespace"
- value "")
- (object Attribute
- tool "Ecore"
- name "xmlFeatureKind"
- value ("FeatureKind" 0))
- (object Attribute
- tool "Ecore"
- name "FeatureKind"
- value (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "Unspecified"
- value 0)
- (object Attribute
- tool "Ecore"
- name "Simple"
- value 1)
- (object Attribute
- tool "Ecore"
- name "Attribute"
- value 2)
- (object Attribute
- tool "Ecore"
- name "Element"
- value 4)))
- (object Attribute
- tool "Ecore"
- name "annotation"
- value "")))
- (object Attribute
- tool "Ecore"
- name "default__Role"
- value (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "isTransient"
- value FALSE)
- (object Attribute
- tool "Ecore"
- name "isVolatile"
- value FALSE)
- (object Attribute
- tool "Ecore"
- name "isChangeable"
- value TRUE)
- (object Attribute
- tool "Ecore"
- name "isUnsettable"
- value FALSE)
- (object Attribute
- tool "Ecore"
- name "isResolveProxies"
- value TRUE)
- (object Attribute
- tool "Ecore"
- name "referenceName"
- value "")
- (object Attribute
- tool "Ecore"
- name "visibility"
- value ("VisibilityKind" 0))
- (object Attribute
- tool "Ecore"
- name "VisibilityKind"
- value (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "Unspecified"
- value 0)
- (object Attribute
- tool "Ecore"
- name "None"
- value 1)
- (object Attribute
- tool "Ecore"
- name "Read-only"
- value 2)
- (object Attribute
- tool "Ecore"
- name "Read-write"
- value 3)
- (object Attribute
- tool "Ecore"
- name "Read-only unsettable"
- value 4)
- (object Attribute
- tool "Ecore"
- name "Read-write unsettable"
- value 5)))
- (object Attribute
- tool "Ecore"
- name "xmlName"
- value "")
- (object Attribute
- tool "Ecore"
- name "xmlNamespace"
- value "")
- (object Attribute
- tool "Ecore"
- name "xmlFeatureKind"
- value ("FeatureKind" 0))
- (object Attribute
- tool "Ecore"
- name "FeatureKind"
- value (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "Unspecified"
- value 0)
- (object Attribute
- tool "Ecore"
- name "Simple"
- value 1)
- (object Attribute
- tool "Ecore"
- name "Attribute"
- value 2)
- (object Attribute
- tool "Ecore"
- name "Element"
- value 4)))
- (object Attribute
- tool "Ecore"
- name "annotation"
- value "")))
- (object Attribute
- tool "Cplusplus"
- name "propertyId"
- value "809135966")
- (object Attribute
- tool "Cplusplus"
- name "default__Role"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "Synchronize"
- value TRUE)
- (object Attribute
- tool "Cplusplus"
- name "CodeName"
- value "")
- (object Attribute
- tool "Cplusplus"
- name "Const"
- value FALSE)
- (object Attribute
- tool "Cplusplus"
- name "InitialValue"
- value "")))
- (object Attribute
- tool "Cplusplus"
- name "default__Inherit"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "Synchronize"
- value TRUE)))
- (object Attribute
- tool "Cplusplus"
- name "default__Module-Spec"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "Synchronize"
- value TRUE)
- (object Attribute
- tool "Cplusplus"
- name "Copyright"
- value (value Text ""))
- (object Attribute
- tool "Cplusplus"
- name "RootPackage"
- value "C++ Reverse Engineered")
- (object Attribute
- tool "Cplusplus"
- name "InitialHeaderIncludes"
- value (value Text ""))
- (object Attribute
- tool "Cplusplus"
- name "InitialBodyIncludes"
- value (value Text ""))
- (object Attribute
- tool "Cplusplus"
- name "RevEngRootDirectory"
- value "")
- (object Attribute
- tool "Cplusplus"
- name "RevEngDirectoriesAsPackages"
- value FALSE)
- (object Attribute
- tool "Cplusplus"
- name "HeaderFileExtension"
- value ".h")
- (object Attribute
- tool "Cplusplus"
- name "ImplementationFileExtension"
- value ".cpp")
- (object Attribute
- tool "Cplusplus"
- name "NewHeaderFileDirectory"
- value "")
- (object Attribute
- tool "Cplusplus"
- name "NewImplementationFileDirectory"
- value "")
- (object Attribute
- tool "Cplusplus"
- name "FileCapitalization"
- value ("FileCapitalizationSet" 0))
- (object Attribute
- tool "Cplusplus"
- name "CodeGenExtraDirectories"
- value ("CodeGenExtraDirectoriesSet" 0))
- (object Attribute
- tool "Cplusplus"
- name "StripClassPrefix"
- value "")
- (object Attribute
- tool "Cplusplus"
- name "UseTabs"
- value FALSE)
- (object Attribute
- tool "Cplusplus"
- name "TabWidth"
- value 8)
- (object Attribute
- tool "Cplusplus"
- name "IndentWidth"
- value 4)
- (object Attribute
- tool "Cplusplus"
- name "AccessIndentation"
- value -2)
- (object Attribute
- tool "Cplusplus"
- name "ModelIdCommentRules"
- value ("ModelIdCommentRulesSet" 1))
- (object Attribute
- tool "Cplusplus"
- name "PageWidth"
- value 80)
- (object Attribute
- tool "Cplusplus"
- name "ClassMemberOrder"
- value ("MemberOrderSet" 1))
- (object Attribute
- tool "Cplusplus"
- name "OneParameterPerLine"
- value FALSE)
- (object Attribute
- tool "Cplusplus"
- name "NamespaceBraceStyle"
- value ("BraceStyleSet" 2))
- (object Attribute
- tool "Cplusplus"
- name "ClassBraceStyle"
- value ("BraceStyleSet" 2))
- (object Attribute
- tool "Cplusplus"
- name "FunctionBraceStyle"
- value ("BraceStyleSet" 2))
- (object Attribute
- tool "Cplusplus"
- name "CodeGenExtraDirectoriesSet"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "None"
- value 0)
- (object Attribute
- tool "Cplusplus"
- name "Namespaces"
- value 1)
- (object Attribute
- tool "Cplusplus"
- name "Packages"
- value 2)))
- (object Attribute
- tool "Cplusplus"
- name "FileCapitalizationSet"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "Same as model"
- value 0)
- (object Attribute
- tool "Cplusplus"
- name "Lower case"
- value 1)
- (object Attribute
- tool "Cplusplus"
- name "Upper case"
- value 2)
- (object Attribute
- tool "Cplusplus"
- name "Lower case with underscores"
- value 3)))
- (object Attribute
- tool "Cplusplus"
- name "BraceStyleSet"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "B1"
- value 1)
- (object Attribute
- tool "Cplusplus"
- name "B2"
- value 2)
- (object Attribute
- tool "Cplusplus"
- name "B3"
- value 3)
- (object Attribute
- tool "Cplusplus"
- name "B4"
- value 4)
- (object Attribute
- tool "Cplusplus"
- name "B5"
- value 5)))
- (object Attribute
- tool "Cplusplus"
- name "MemberOrderSet"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "Public First"
- value 1)
- (object Attribute
- tool "Cplusplus"
- name "Private First"
- value 2)
- (object Attribute
- tool "Cplusplus"
- name "Order by kind"
- value 3)
- (object Attribute
- tool "Cplusplus"
- name "Unordered"
- value 4)))
- (object Attribute
- tool "Cplusplus"
- name "ModelIdCommentRulesSet"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "Code generation only"
- value 1)
- (object Attribute
- tool "Cplusplus"
- name "Code generation and reverse engineering"
- value 2)
- (object Attribute
- tool "Cplusplus"
- name "Never generate model IDs"
- value 3)))))
- (object Attribute
- tool "Cplusplus"
- name "default__Param"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "CodeName"
- value "")))
- (object Attribute
- tool "Cplusplus"
- name "default__Attribute"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "Synchronize"
- value TRUE)
- (object Attribute
- tool "Cplusplus"
- name "CodeName"
- value "")))
- (object Attribute
- tool "Cplusplus"
- name "default__Operation"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "Synchronize"
- value TRUE)
- (object Attribute
- tool "Cplusplus"
- name "CodeName"
- value "")
- (object Attribute
- tool "Cplusplus"
- name "InitialCodeBody"
- value "")
- (object Attribute
- tool "Cplusplus"
- name "Inline"
- value FALSE)
- (object Attribute
- tool "Cplusplus"
- name "GenerateFunctionBody"
- value ("GenerateFunctionBodySet" 2))
- (object Attribute
- tool "Cplusplus"
- name "GenerateFunctionBodySet"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "Default"
- value 2)
- (object Attribute
- tool "Cplusplus"
- name "True"
- value 1)
- (object Attribute
- tool "Cplusplus"
- name "False"
- value 0)))))
- (object Attribute
- tool "Cplusplus"
- name "default__Class"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "Synchronize"
- value TRUE)
- (object Attribute
- tool "Cplusplus"
- name "CodeName"
- value "")
- (object Attribute
- tool "Cplusplus"
- name "ImplementationType"
- value "")
- (object Attribute
- tool "Cplusplus"
- name "HeaderSourceFile"
- value "")
- (object Attribute
- tool "Cplusplus"
- name "BodySourceFile"
- value "")))
- (object Attribute
- tool "Cplusplus"
- name "default__Category"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "CodeName"
- value "")
- (object Attribute
- tool "Cplusplus"
- name "IsNamespace"
- value FALSE)))
- (object Attribute
- tool "Cplusplus"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "ANSI C++ Event Watcher"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "ANSIConvert"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "propertyId"
- value "838326200")
- (object Attribute
- tool "Ada83"
- name "default__Project"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "SpecFileExtension"
- value "1.ada")
- (object Attribute
- tool "Ada83"
- name "SpecFileBackupExtension"
- value "1.ad~")
- (object Attribute
- tool "Ada83"
- name "SpecFileTemporaryExtension"
- value "1.ad#")
- (object Attribute
- tool "Ada83"
- name "BodyFileExtension"
- value "2.ada")
- (object Attribute
- tool "Ada83"
- name "BodyFileBackupExtension"
- value "2.ad~")
- (object Attribute
- tool "Ada83"
- name "BodyFileTemporaryExtension"
- value "2.ad#")
- (object Attribute
- tool "Ada83"
- name "CreateMissingDirectories"
- value TRUE)
- (object Attribute
- tool "Ada83"
- name "GenerateBodies"
- value TRUE)
- (object Attribute
- tool "Ada83"
- name "GenerateAccessorOperations"
- value TRUE)
- (object Attribute
- tool "Ada83"
- name "GenerateStandardOperations"
- value TRUE)
- (object Attribute
- tool "Ada83"
- name "DefaultCodeBody"
- value "[statement]")
- (object Attribute
- tool "Ada83"
- name "ImplicitParameter"
- value TRUE)
- (object Attribute
- tool "Ada83"
- name "CommentWidth"
- value 60)
- (object Attribute
- tool "Ada83"
- name "StopOnError"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "ErrorLimit"
- value 30)
- (object Attribute
- tool "Ada83"
- name "UseFileName"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "Directory"
- value "$ROSEADA83_SOURCE")))
- (object Attribute
- tool "Ada83"
- name "default__Class"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "CodeName"
- value "")
- (object Attribute
- tool "Ada83"
- name "ClassName"
- value "Object")
- (object Attribute
- tool "Ada83"
- name "ClassAccess"
- value ("ImplementationSet" 43))
- (object Attribute
- tool "Ada83"
- name "ImplementationType"
- value (value Text ""))
- (object Attribute
- tool "Ada83"
- name "IsSubtype"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "PolymorphicUnit"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "HandleName"
- value "Handle")
- (object Attribute
- tool "Ada83"
- name "HandleAccess"
- value ("ImplementationSet" 45))
- (object Attribute
- tool "Ada83"
- name "Discriminant"
- value "")
- (object Attribute
- tool "Ada83"
- name "Variant"
- value "")
- (object Attribute
- tool "Ada83"
- name "EnumerationLiteralPrefix"
- value "A_")
- (object Attribute
- tool "Ada83"
- name "RecordFieldPrefix"
- value "The_")
- (object Attribute
- tool "Ada83"
- name "GenerateAccessorOperations"
- value TRUE)
- (object Attribute
- tool "Ada83"
- name "GenerateStandardOperations"
- value TRUE)
- (object Attribute
- tool "Ada83"
- name "ImplicitParameter"
- value TRUE)
- (object Attribute
- tool "Ada83"
- name "ClassParameterName"
- value "This")
- (object Attribute
- tool "Ada83"
- name "DefaultConstructorKind"
- value ("ConstructorKindSet" 199))
- (object Attribute
- tool "Ada83"
- name "DefaultConstructorName"
- value "Create")
- (object Attribute
- tool "Ada83"
- name "InlineDefaultConstructor"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "CopyConstructorKind"
- value ("ConstructorKindSet" 199))
- (object Attribute
- tool "Ada83"
- name "CopyConstructorName"
- value "Copy")
- (object Attribute
- tool "Ada83"
- name "InlineCopyConstructor"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "DestructorName"
- value "Free")
- (object Attribute
- tool "Ada83"
- name "InlineDestructor"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "ClassEqualityOperation"
- value "")
- (object Attribute
- tool "Ada83"
- name "HandleEqualityOperation"
- value "")
- (object Attribute
- tool "Ada83"
- name "InlineEquality"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "IsTask"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "Representation"
- value (value Text ""))
- (object Attribute
- tool "Ada83"
- name "ImplementationSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "Public"
- value 45)
- (object Attribute
- tool "Ada83"
- name "Private"
- value 43)
- (object Attribute
- tool "Ada83"
- name "LimitedPrivate"
- value 200)
- (object Attribute
- tool "Ada83"
- name "DoNotCreate"
- value 201)))
- (object Attribute
- tool "Ada83"
- name "ConstructorKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "Procedure"
- value 202)
- (object Attribute
- tool "Ada83"
- name "Function"
- value 199)
- (object Attribute
- tool "Ada83"
- name "DoNotCreate"
- value 201)))))
- (object Attribute
- tool "Ada83"
- name "default__Module-Spec"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "Generate"
- value TRUE)
- (object Attribute
- tool "Ada83"
- name "CopyrightNotice"
- value (value Text ""))
- (object Attribute
- tool "Ada83"
- name "FileName"
- value "")
- (object Attribute
- tool "Ada83"
- name "ReturnType"
- value "")
- (object Attribute
- tool "Ada83"
- name "GenericFormalParameters"
- value (value Text ""))
- (object Attribute
- tool "Ada83"
- name "AdditionalWiths"
- value (value Text ""))))
- (object Attribute
- tool "Ada83"
- name "default__Module-Body"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "Generate"
- value TRUE)
- (object Attribute
- tool "Ada83"
- name "CopyrightNotice"
- value (value Text ""))
- (object Attribute
- tool "Ada83"
- name "FileName"
- value "")
- (object Attribute
- tool "Ada83"
- name "ReturnType"
- value "")
- (object Attribute
- tool "Ada83"
- name "AdditionalWiths"
- value (value Text ""))
- (object Attribute
- tool "Ada83"
- name "IsSubunit"
- value FALSE)))
- (object Attribute
- tool "Ada83"
- name "default__Operation"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "CodeName"
- value "")
- (object Attribute
- tool "Ada83"
- name "SubprogramImplementation"
- value ("SubprogramImplementationSet" 2))
- (object Attribute
- tool "Ada83"
- name "Renames"
- value "")
- (object Attribute
- tool "Ada83"
- name "ClassParameterMode"
- value ("ParameterModeSet" 203))
- (object Attribute
- tool "Ada83"
- name "Inline"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "EntryCode"
- value (value Text ""))
- (object Attribute
- tool "Ada83"
- name "ExitCode"
- value (value Text ""))
- (object Attribute
- tool "Ada83"
- name "InitialCodeBody"
- value "${default}")
- (object Attribute
- tool "Ada83"
- name "Representation"
- value (value Text ""))
- (object Attribute
- tool "Ada83"
- name "SubprogramImplementationSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "Spec"
- value 224)
- (object Attribute
- tool "Ada83"
- name "Body"
- value 2)
- (object Attribute
- tool "Ada83"
- name "Renaming"
- value 222)
- (object Attribute
- tool "Ada83"
- name "Separate"
- value 223)))
- (object Attribute
- tool "Ada83"
- name "ParameterModeSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "In"
- value 204)
- (object Attribute
- tool "Ada83"
- name "Out"
- value 205)
- (object Attribute
- tool "Ada83"
- name "InOut"
- value 203)
- (object Attribute
- tool "Ada83"
- name "FunctionReturn"
- value 206)
- (object Attribute
- tool "Ada83"
- name "DoNotCreate"
- value 201)))))
- (object Attribute
- tool "Ada83"
- name "default__Has"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "CodeName"
- value "")
- (object Attribute
- tool "Ada83"
- name "NameIfUnlabeled"
- value "The_${supplier}")
- (object Attribute
- tool "Ada83"
- name "DataMemberName"
- value "${relationship}")
- (object Attribute
- tool "Ada83"
- name "GetName"
- value "Get_${relationship}")
- (object Attribute
- tool "Ada83"
- name "InlineGet"
- value TRUE)
- (object Attribute
- tool "Ada83"
- name "SetName"
- value "Set_${relationship}")
- (object Attribute
- tool "Ada83"
- name "InlineSet"
- value TRUE)
- (object Attribute
- tool "Ada83"
- name "IsConstant"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "InitialValue"
- value "")
- (object Attribute
- tool "Ada83"
- name "Variant"
- value "")
- (object Attribute
- tool "Ada83"
- name "ContainerGeneric"
- value "List")
- (object Attribute
- tool "Ada83"
- name "ContainerType"
- value "")
- (object Attribute
- tool "Ada83"
- name "ContainerDeclarations"
- value (value Text ""))
- (object Attribute
- tool "Ada83"
- name "SelectorName"
- value "")
- (object Attribute
- tool "Ada83"
- name "SelectorType"
- value "")))
- (object Attribute
- tool "Ada83"
- name "default__Attribute"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "CodeName"
- value "")
- (object Attribute
- tool "Ada83"
- name "DataMemberName"
- value "${attribute}")
- (object Attribute
- tool "Ada83"
- name "GetName"
- value "Get_${attribute}")
- (object Attribute
- tool "Ada83"
- name "InlineGet"
- value TRUE)
- (object Attribute
- tool "Ada83"
- name "SetName"
- value "Set_${attribute}")
- (object Attribute
- tool "Ada83"
- name "InlineSet"
- value TRUE)
- (object Attribute
- tool "Ada83"
- name "IsConstant"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "InitialValue"
- value "")
- (object Attribute
- tool "Ada83"
- name "Variant"
- value "")
- (object Attribute
- tool "Ada83"
- name "Representation"
- value (value Text ""))))
- (object Attribute
- tool "Ada83"
- name "default__Association"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "NameIfUnlabeled"
- value "The_${targetClass}")
- (object Attribute
- tool "Ada83"
- name "GetName"
- value "Get_${association}")
- (object Attribute
- tool "Ada83"
- name "InlineGet"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "SetName"
- value "Set_${association}")
- (object Attribute
- tool "Ada83"
- name "InlineSet"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "GenerateAssociate"
- value ("ProcedureKindSet" 202))
- (object Attribute
- tool "Ada83"
- name "AssociateName"
- value "Associate")
- (object Attribute
- tool "Ada83"
- name "InlineAssociate"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "GenerateDissociate"
- value ("ProcedureKindSet" 202))
- (object Attribute
- tool "Ada83"
- name "DissociateName"
- value "Dissociate")
- (object Attribute
- tool "Ada83"
- name "InlineDissociate"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "ProcedureKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "Procedure"
- value 202)
- (object Attribute
- tool "Ada83"
- name "DoNotCreate"
- value 201)))
- (object Attribute
- tool "Ada83"
- name "FunctionKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "Function"
- value 199)
- (object Attribute
- tool "Ada83"
- name "DoNotCreate"
- value 201)))))
- (object Attribute
- tool "Ada83"
- name "default__Role"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "CodeName"
- value "")
- (object Attribute
- tool "Ada83"
- name "NameIfUnlabeled"
- value "The_${targetClass}")
- (object Attribute
- tool "Ada83"
- name "DataMemberName"
- value "${target}")
- (object Attribute
- tool "Ada83"
- name "GetName"
- value "Get_${target}")
- (object Attribute
- tool "Ada83"
- name "InlineGet"
- value TRUE)
- (object Attribute
- tool "Ada83"
- name "SetName"
- value "Set_${target}")
- (object Attribute
- tool "Ada83"
- name "InlineSet"
- value TRUE)
- (object Attribute
- tool "Ada83"
- name "IsConstant"
- value FALSE)
- (object Attribute
- tool "Ada83"
- name "InitialValue"
- value "")
- (object Attribute
- tool "Ada83"
- name "ContainerGeneric"
- value "List")
- (object Attribute
- tool "Ada83"
- name "ContainerType"
- value "")
- (object Attribute
- tool "Ada83"
- name "ContainerDeclarations"
- value (value Text ""))
- (object Attribute
- tool "Ada83"
- name "SelectorName"
- value "")
- (object Attribute
- tool "Ada83"
- name "SelectorType"
- value "")
- (object Attribute
- tool "Ada83"
- name "ProcedureKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "Procedure"
- value 202)
- (object Attribute
- tool "Ada83"
- name "DoNotCreate"
- value 201)))))
- (object Attribute
- tool "Ada83"
- name "default__Subsystem"
- value (list Attribute_Set
- (object Attribute
- tool "Ada83"
- name "Directory"
- value "AUTO GENERATE")))
- (object Attribute
- tool "Ada83"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "propertyId"
- value "838326200")
- (object Attribute
- tool "Ada95"
- name "default__Project"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "SpecFileExtension"
- value "1.ada")
- (object Attribute
- tool "Ada95"
- name "SpecFileBackupExtension"
- value "1.ad~")
- (object Attribute
- tool "Ada95"
- name "SpecFileTemporaryExtension"
- value "1.ad#")
- (object Attribute
- tool "Ada95"
- name "BodyFileExtension"
- value "2.ada")
- (object Attribute
- tool "Ada95"
- name "BodyFileBackupExtension"
- value "2.ad~")
- (object Attribute
- tool "Ada95"
- name "BodyFileTemporaryExtension"
- value "2.ad#")
- (object Attribute
- tool "Ada95"
- name "CreateMissingDirectories"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "UseColonNotation"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "GenerateBodies"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "GenerateAccessorOperations"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "GenerateStandardOperations"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "DefaultCodeBody"
- value "[statement]")
- (object Attribute
- tool "Ada95"
- name "ImplicitParameter"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "CommentWidth"
- value 60)
- (object Attribute
- tool "Ada95"
- name "StopOnError"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "ErrorLimit"
- value 30)
- (object Attribute
- tool "Ada95"
- name "UseFileName"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "Directory"
- value "$ROSEADA95_SOURCE")))
- (object Attribute
- tool "Ada95"
- name "default__Class"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "CodeName"
- value "")
- (object Attribute
- tool "Ada95"
- name "TypeName"
- value "Object")
- (object Attribute
- tool "Ada95"
- name "TypeVisibility"
- value ("TypeVisibilitySet" 43))
- (object Attribute
- tool "Ada95"
- name "TypeImplementation"
- value ("TypeImplementationSet" 208))
- (object Attribute
- tool "Ada95"
- name "TypeControl"
- value ("TypeControlSet" 225))
- (object Attribute
- tool "Ada95"
- name "TypeControlName"
- value "Controlled_${type}")
- (object Attribute
- tool "Ada95"
- name "TypeDefinition"
- value (value Text ""))
- (object Attribute
- tool "Ada95"
- name "RecordImplementation"
- value ("RecordImplementationSet" 209))
- (object Attribute
- tool "Ada95"
- name "RecordKindPackageName"
- value "${class}_Record_Kinds")
- (object Attribute
- tool "Ada95"
- name "IsLimited"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "IsSubtype"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "GenerateAccessType"
- value ("GenerateAccessTypeSet" 230))
- (object Attribute
- tool "Ada95"
- name "AccessTypeName"
- value "Handle")
- (object Attribute
- tool "Ada95"
- name "AccessTypeVisibility"
- value ("TypeVisibilitySet" 45))
- (object Attribute
- tool "Ada95"
- name "AccessTypeDefinition"
- value (value Text ""))
- (object Attribute
- tool "Ada95"
- name "AccessClassWide"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "MaybeAliased"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "ParameterizedImplementation"
- value ("ParameterizedImplementationSet" 11))
- (object Attribute
- tool "Ada95"
- name "ParentClassName"
- value "Superclass")
- (object Attribute
- tool "Ada95"
- name "EnumerationLiteralPrefix"
- value "A_")
- (object Attribute
- tool "Ada95"
- name "RecordFieldPrefix"
- value "The_")
- (object Attribute
- tool "Ada95"
- name "ArrayOfTypeName"
- value "Array_Of_${type}")
- (object Attribute
- tool "Ada95"
- name "AccessArrayOfTypeName"
- value "Access_Array_Of_${type}")
- (object Attribute
- tool "Ada95"
- name "ArrayOfAccessTypeName"
- value "Array_Of_${access_type}")
- (object Attribute
- tool "Ada95"
- name "AccessArrayOfAccessTypeName"
- value "Access_Array_Of_${access_type}")
- (object Attribute
- tool "Ada95"
- name "ArrayIndexDefinition"
- value "Positive range <>")
- (object Attribute
- tool "Ada95"
- name "GenerateAccessorOperations"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "GenerateStandardOperations"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "ImplicitParameter"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "ImplicitParameterName"
- value "This")
- (object Attribute
- tool "Ada95"
- name "GenerateDefaultConstructor"
- value ("SubprogramKindSet" 199))
- (object Attribute
- tool "Ada95"
- name "DefaultConstructorName"
- value "Create")
- (object Attribute
- tool "Ada95"
- name "InlineDefaultConstructor"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "GenerateCopyConstructor"
- value ("SubprogramKindSet" 199))
- (object Attribute
- tool "Ada95"
- name "CopyConstructorName"
- value "Copy")
- (object Attribute
- tool "Ada95"
- name "InlineCopyConstructor"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "GenerateDestructor"
- value ("ProcedureKindSet" 202))
- (object Attribute
- tool "Ada95"
- name "DestructorName"
- value "Free")
- (object Attribute
- tool "Ada95"
- name "InlineDestructor"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "GenerateTypeEquality"
- value ("FunctionKindSet" 201))
- (object Attribute
- tool "Ada95"
- name "TypeEqualityName"
- value "${quote}=${quote}")
- (object Attribute
- tool "Ada95"
- name "InlineEquality"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "Representation"
- value (value Text ""))
- (object Attribute
- tool "Ada95"
- name "TypeImplementationSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Tagged"
- value 208)
- (object Attribute
- tool "Ada95"
- name "Record"
- value 210)
- (object Attribute
- tool "Ada95"
- name "Mixin"
- value 211)
- (object Attribute
- tool "Ada95"
- name "Protected"
- value 44)
- (object Attribute
- tool "Ada95"
- name "Task"
- value 212)))
- (object Attribute
- tool "Ada95"
- name "RecordImplementationSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "SingleType"
- value 209)
- (object Attribute
- tool "Ada95"
- name "MultipleTypes"
- value 213)))
- (object Attribute
- tool "Ada95"
- name "ParameterizedImplementationSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Generic"
- value 11)
- (object Attribute
- tool "Ada95"
- name "Unconstrained"
- value 214)))
- (object Attribute
- tool "Ada95"
- name "TypeVisibilitySet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Public"
- value 45)
- (object Attribute
- tool "Ada95"
- name "Private"
- value 43)))
- (object Attribute
- tool "Ada95"
- name "SubprogramKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Procedure"
- value 202)
- (object Attribute
- tool "Ada95"
- name "Function"
- value 199)
- (object Attribute
- tool "Ada95"
- name "DoNotCreate"
- value 201)))
- (object Attribute
- tool "Ada95"
- name "ProcedureKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Procedure"
- value 202)
- (object Attribute
- tool "Ada95"
- name "DoNotCreate"
- value 201)))
- (object Attribute
- tool "Ada95"
- name "FunctionKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Function"
- value 199)
- (object Attribute
- tool "Ada95"
- name "DoNotCreate"
- value 201)))
- (object Attribute
- tool "Ada95"
- name "TypeControlSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "None"
- value 225)
- (object Attribute
- tool "Ada95"
- name "InitializationOnly"
- value 226)
- (object Attribute
- tool "Ada95"
- name "AssignmentFinalizationOnly"
- value 227)
- (object Attribute
- tool "Ada95"
- name "All"
- value 228)))
- (object Attribute
- tool "Ada95"
- name "GenerateAccessTypeSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Always"
- value 229)
- (object Attribute
- tool "Ada95"
- name "Auto"
- value 230)))))
- (object Attribute
- tool "Ada95"
- name "default__Module-Spec"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Generate"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "CopyrightNotice"
- value (value Text ""))
- (object Attribute
- tool "Ada95"
- name "FileName"
- value "")
- (object Attribute
- tool "Ada95"
- name "ReturnType"
- value "")
- (object Attribute
- tool "Ada95"
- name "GenericFormalParameters"
- value (value Text ""))
- (object Attribute
- tool "Ada95"
- name "AdditionalWiths"
- value (value Text ""))
- (object Attribute
- tool "Ada95"
- name "IsPrivate"
- value FALSE)))
- (object Attribute
- tool "Ada95"
- name "default__Module-Body"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Generate"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "CopyrightNotice"
- value (value Text ""))
- (object Attribute
- tool "Ada95"
- name "FileName"
- value "")
- (object Attribute
- tool "Ada95"
- name "ReturnType"
- value "")
- (object Attribute
- tool "Ada95"
- name "AdditionalWiths"
- value (value Text ""))
- (object Attribute
- tool "Ada95"
- name "IsSubunit"
- value FALSE)))
- (object Attribute
- tool "Ada95"
- name "default__Operation"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "CodeName"
- value "")
- (object Attribute
- tool "Ada95"
- name "SubprogramImplementation"
- value ("SubprogramImplementationSet" 2))
- (object Attribute
- tool "Ada95"
- name "Renames"
- value "")
- (object Attribute
- tool "Ada95"
- name "GenerateOverriding"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "ImplicitParameterMode"
- value ("ParameterModeSet" 203))
- (object Attribute
- tool "Ada95"
- name "ImplicitParameterClassWide"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "GenerateAccessOperation"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "Inline"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "EntryCode"
- value (value Text ""))
- (object Attribute
- tool "Ada95"
- name "ExitCode"
- value (value Text ""))
- (object Attribute
- tool "Ada95"
- name "InitialCodeBody"
- value "${default}")
- (object Attribute
- tool "Ada95"
- name "EntryBarrierCondition"
- value "True")
- (object Attribute
- tool "Ada95"
- name "Representation"
- value (value Text ""))
- (object Attribute
- tool "Ada95"
- name "SubprogramImplementationSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Spec"
- value 224)
- (object Attribute
- tool "Ada95"
- name "Body"
- value 2)
- (object Attribute
- tool "Ada95"
- name "Abstract"
- value 221)
- (object Attribute
- tool "Ada95"
- name "Renaming"
- value 222)
- (object Attribute
- tool "Ada95"
- name "RenamingAsBody"
- value 231)
- (object Attribute
- tool "Ada95"
- name "Separate"
- value 223)))
- (object Attribute
- tool "Ada95"
- name "ParameterModeSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "In"
- value 204)
- (object Attribute
- tool "Ada95"
- name "Out"
- value 205)
- (object Attribute
- tool "Ada95"
- name "InOut"
- value 203)
- (object Attribute
- tool "Ada95"
- name "Access"
- value 220)
- (object Attribute
- tool "Ada95"
- name "DoNotCreate"
- value 201)))))
- (object Attribute
- tool "Ada95"
- name "default__Has"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "CodeName"
- value "")
- (object Attribute
- tool "Ada95"
- name "NameIfUnlabeled"
- value "The_${supplier}")
- (object Attribute
- tool "Ada95"
- name "RecordFieldImplementation"
- value ("RecordFieldImplementationSet" 216))
- (object Attribute
- tool "Ada95"
- name "RecordFieldName"
- value "${relationship}")
- (object Attribute
- tool "Ada95"
- name "GenerateGet"
- value ("FunctionKindSet" 199))
- (object Attribute
- tool "Ada95"
- name "GenerateAccessGet"
- value ("FunctionKindSet" 201))
- (object Attribute
- tool "Ada95"
- name "GetName"
- value "Get_${relationship}")
- (object Attribute
- tool "Ada95"
- name "InlineGet"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "GenerateSet"
- value ("ProcedureKindSet" 202))
- (object Attribute
- tool "Ada95"
- name "GenerateAccessSet"
- value ("ProcedureKindSet" 201))
- (object Attribute
- tool "Ada95"
- name "SetName"
- value "Set_${relationship}")
- (object Attribute
- tool "Ada95"
- name "InlineSet"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "IsAliased"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "IsConstant"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "InitialValue"
- value "")
- (object Attribute
- tool "Ada95"
- name "ContainerImplementation"
- value ("ContainerImplementationSet" 217))
- (object Attribute
- tool "Ada95"
- name "ContainerGeneric"
- value "List")
- (object Attribute
- tool "Ada95"
- name "ContainerType"
- value "")
- (object Attribute
- tool "Ada95"
- name "ContainerDeclarations"
- value (value Text ""))
- (object Attribute
- tool "Ada95"
- name "SelectorName"
- value "")
- (object Attribute
- tool "Ada95"
- name "SelectorType"
- value "")
- (object Attribute
- tool "Ada95"
- name "RecordFieldImplementationSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Component"
- value 216)
- (object Attribute
- tool "Ada95"
- name "Discriminant"
- value 218)
- (object Attribute
- tool "Ada95"
- name "AccessDiscriminant"
- value 219)))
- (object Attribute
- tool "Ada95"
- name "ContainerImplementationSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Array"
- value 217)
- (object Attribute
- tool "Ada95"
- name "Generic"
- value 11)))
- (object Attribute
- tool "Ada95"
- name "ProcedureKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Procedure"
- value 202)
- (object Attribute
- tool "Ada95"
- name "DoNotCreate"
- value 201)))
- (object Attribute
- tool "Ada95"
- name "FunctionKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Function"
- value 199)
- (object Attribute
- tool "Ada95"
- name "DoNotCreate"
- value 201)))))
- (object Attribute
- tool "Ada95"
- name "default__Attribute"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "CodeName"
- value "")
- (object Attribute
- tool "Ada95"
- name "RecordFieldImplementation"
- value ("RecordFieldImplementationSet" 216))
- (object Attribute
- tool "Ada95"
- name "RecordFieldName"
- value "${attribute}")
- (object Attribute
- tool "Ada95"
- name "GenerateGet"
- value ("FunctionKindSet" 199))
- (object Attribute
- tool "Ada95"
- name "GenerateAccessGet"
- value ("FunctionKindSet" 201))
- (object Attribute
- tool "Ada95"
- name "GetName"
- value "Get_${attribute}")
- (object Attribute
- tool "Ada95"
- name "InlineGet"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "GenerateSet"
- value ("ProcedureKindSet" 202))
- (object Attribute
- tool "Ada95"
- name "GenerateAccessSet"
- value ("ProcedureKindSet" 201))
- (object Attribute
- tool "Ada95"
- name "SetName"
- value "Set_${attribute}")
- (object Attribute
- tool "Ada95"
- name "InlineSet"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "IsAliased"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "IsConstant"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "InitialValue"
- value "")
- (object Attribute
- tool "Ada95"
- name "Representation"
- value (value Text ""))
- (object Attribute
- tool "Ada95"
- name "RecordFieldImplementationSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Component"
- value 216)
- (object Attribute
- tool "Ada95"
- name "Discriminant"
- value 218)
- (object Attribute
- tool "Ada95"
- name "AccessDiscriminant"
- value 219)))
- (object Attribute
- tool "Ada95"
- name "ProcedureKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Procedure"
- value 202)
- (object Attribute
- tool "Ada95"
- name "DoNotCreate"
- value 201)))
- (object Attribute
- tool "Ada95"
- name "FunctionKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Function"
- value 199)
- (object Attribute
- tool "Ada95"
- name "DoNotCreate"
- value 201)))))
- (object Attribute
- tool "Ada95"
- name "default__Association"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "NameIfUnlabeled"
- value "The_${targetClass}")
- (object Attribute
- tool "Ada95"
- name "GenerateGet"
- value ("FunctionKindSet" 199))
- (object Attribute
- tool "Ada95"
- name "GetName"
- value "Get_${association}")
- (object Attribute
- tool "Ada95"
- name "InlineGet"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "GenerateSet"
- value ("ProcedureKindSet" 202))
- (object Attribute
- tool "Ada95"
- name "SetName"
- value "Set_${association}")
- (object Attribute
- tool "Ada95"
- name "InlineSet"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "GenerateAssociate"
- value ("ProcedureKindSet" 202))
- (object Attribute
- tool "Ada95"
- name "AssociateName"
- value "Associate")
- (object Attribute
- tool "Ada95"
- name "InlineAssociate"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "GenerateDissociate"
- value ("ProcedureKindSet" 202))
- (object Attribute
- tool "Ada95"
- name "DissociateName"
- value "Dissociate")
- (object Attribute
- tool "Ada95"
- name "InlineDissociate"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "ProcedureKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Procedure"
- value 202)
- (object Attribute
- tool "Ada95"
- name "DoNotCreate"
- value 201)))
- (object Attribute
- tool "Ada95"
- name "FunctionKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Function"
- value 199)
- (object Attribute
- tool "Ada95"
- name "DoNotCreate"
- value 201)))))
- (object Attribute
- tool "Ada95"
- name "default__Role"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "CodeName"
- value "")
- (object Attribute
- tool "Ada95"
- name "NameIfUnlabeled"
- value "The_${targetClass}")
- (object Attribute
- tool "Ada95"
- name "RecordFieldImplementation"
- value ("RecordFieldImplementationSet" 216))
- (object Attribute
- tool "Ada95"
- name "RecordFieldName"
- value "${target}")
- (object Attribute
- tool "Ada95"
- name "GenerateGet"
- value ("FunctionKindSet" 199))
- (object Attribute
- tool "Ada95"
- name "GenerateAccessGet"
- value ("FunctionKindSet" 201))
- (object Attribute
- tool "Ada95"
- name "GetName"
- value "Get_${target}")
- (object Attribute
- tool "Ada95"
- name "InlineGet"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "GenerateSet"
- value ("ProcedureKindSet" 202))
- (object Attribute
- tool "Ada95"
- name "GenerateAccessSet"
- value ("ProcedureKindSet" 201))
- (object Attribute
- tool "Ada95"
- name "SetName"
- value "Set_${target}")
- (object Attribute
- tool "Ada95"
- name "InlineSet"
- value TRUE)
- (object Attribute
- tool "Ada95"
- name "IsAliased"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "IsConstant"
- value FALSE)
- (object Attribute
- tool "Ada95"
- name "InitialValue"
- value "")
- (object Attribute
- tool "Ada95"
- name "ContainerImplementation"
- value ("ContainerImplementationSet" 217))
- (object Attribute
- tool "Ada95"
- name "ContainerGeneric"
- value "List")
- (object Attribute
- tool "Ada95"
- name "ContainerType"
- value "")
- (object Attribute
- tool "Ada95"
- name "ContainerDeclarations"
- value (value Text ""))
- (object Attribute
- tool "Ada95"
- name "SelectorName"
- value "")
- (object Attribute
- tool "Ada95"
- name "SelectorType"
- value "")
- (object Attribute
- tool "Ada95"
- name "ProcedureKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Procedure"
- value 202)
- (object Attribute
- tool "Ada95"
- name "DoNotCreate"
- value 201)))
- (object Attribute
- tool "Ada95"
- name "RecordFieldImplementationSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Component"
- value 216)
- (object Attribute
- tool "Ada95"
- name "Discriminant"
- value 218)
- (object Attribute
- tool "Ada95"
- name "AccessDiscriminant"
- value 219)))
- (object Attribute
- tool "Ada95"
- name "ContainerImplementationSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Array"
- value 217)
- (object Attribute
- tool "Ada95"
- name "Generic"
- value 11)))
- (object Attribute
- tool "Ada95"
- name "FunctionKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Function"
- value 199)
- (object Attribute
- tool "Ada95"
- name "DoNotCreate"
- value 201)))))
- (object Attribute
- tool "Ada95"
- name "default__Subsystem"
- value (list Attribute_Set
- (object Attribute
- tool "Ada95"
- name "Directory"
- value "AUTO GENERATE")))
- (object Attribute
- tool "Ada95"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "CORBA"
- name "propertyId"
- value "809135966")
- (object Attribute
- tool "CORBA"
- name "default__Project"
- value (list Attribute_Set
- (object Attribute
- tool "CORBA"
- name "CreateMissingDirectories"
- value TRUE)
- (object Attribute
- tool "CORBA"
- name "Editor"
- value ("EditorType" 100))
- (object Attribute
- tool "CORBA"
- name "IncludePath"
- value "")
- (object Attribute
- tool "CORBA"
- name "StopOnError"
- value TRUE)
- (object Attribute
- tool "CORBA"
- name "EditorType"
- value (list Attribute_Set
- (object Attribute
- tool "CORBA"
- name "BuiltIn"
- value 100)
- (object Attribute
- tool "CORBA"
- name "WindowsShell"
- value 101)))
- (object Attribute
- tool "CORBA"
- name "PathSeparator"
- value "")))
- (object Attribute
- tool "CORBA"
- name "default__Class"
- value (list Attribute_Set
- (object Attribute
- tool "CORBA"
- name "ArrayDimensions"
- value "")
- (object Attribute
- tool "CORBA"
- name "ConstValue"
- value "")
- (object Attribute
- tool "CORBA"
- name "ImplementationType"
- value "")))
- (object Attribute
- tool "CORBA"
- name "default__Module-Spec"
- value (list Attribute_Set
- (object Attribute
- tool "CORBA"
- name "AdditionalIncludes"
- value (value Text ""))
- (object Attribute
- tool "CORBA"
- name "CmIdentification"
- value (value Text " %X% %Q% %Z% %W%"))
- (object Attribute
- tool "CORBA"
- name "CopyrightNotice"
- value (value Text ""))
- (object Attribute
- tool "CORBA"
- name "InclusionProtectionSymbol"
- value "AUTO GENERATE")))
- (object Attribute
- tool "CORBA"
- name "default__Module-Body"
- value (list Attribute_Set
- (object Attribute
- tool "CORBA"
- name "AdditionalIncludes"
- value (value Text ""))
- (object Attribute
- tool "CORBA"
- name "CmIdentification"
- value (value Text " %X% %Q% %Z% %W%"))
- (object Attribute
- tool "CORBA"
- name "CopyrightNotice"
- value (value Text ""))
- (object Attribute
- tool "CORBA"
- name "InclusionProtectionSymbol"
- value "AUTO GENERATE")))
- (object Attribute
- tool "CORBA"
- name "default__Operation"
- value (list Attribute_Set
- (object Attribute
- tool "CORBA"
- name "Context"
- value "")
- (object Attribute
- tool "CORBA"
- name "OperationIsOneWay"
- value FALSE)))
- (object Attribute
- tool "CORBA"
- name "default__Attribute"
- value (list Attribute_Set
- (object Attribute
- tool "CORBA"
- name "ArrayDimensions"
- value "")
- (object Attribute
- tool "CORBA"
- name "CaseSpecifier"
- value "")
- (object Attribute
- tool "CORBA"
- name "IsReadOnly"
- value FALSE)
- (object Attribute
- tool "CORBA"
- name "Order"
- value "")))
- (object Attribute
- tool "CORBA"
- name "default__Role"
- value (list Attribute_Set
- (object Attribute
- tool "CORBA"
- name "ArrayDimensions"
- value "")
- (object Attribute
- tool "CORBA"
- name "CaseSpecifier"
- value "")
- (object Attribute
- tool "CORBA"
- name "GenerateForwardReference"
- value FALSE)
- (object Attribute
- tool "CORBA"
- name "IsReadOnly"
- value FALSE)
- (object Attribute
- tool "CORBA"
- name "Order"
- value "")
- (object Attribute
- tool "CORBA"
- name "BoundedRoleType"
- value ("AssocTypeSet" 47))
- (object Attribute
- tool "CORBA"
- name "AssocTypeSet"
- value (list Attribute_Set
- (object Attribute
- tool "CORBA"
- name "Array"
- value 24)
- (object Attribute
- tool "CORBA"
- name "Sequence"
- value 47)))))
- (object Attribute
- tool "CORBA"
- name "default__Uses"
- value (list Attribute_Set
- (object Attribute
- tool "CORBA"
- name "GenerateForwardReference"
- value FALSE)))
- (object Attribute
- tool "CORBA"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "ClearCase"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "propertyId"
- value "809135966")
- (object Attribute
- tool "Data Modeler"
- name "default__Project"
- value (list Attribute_Set
- (object Attribute
- tool "Data Modeler"
- name "project"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "TableCounter"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "ViewCounter"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "DomainCounter"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "SPPackageCounter"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "TriggerCounter"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "IndexCounter"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "ConstraintCounter"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "StoreProcedureCounter"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "PrimaryKeyCounter"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "ForeignKeyCounter"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "JoinCounter"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "TableSpaceCounter"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "cONTAINERCounter"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "TablePrefix"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "ViewPrefix"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "DomainPrefix"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "TriggerPrefix"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "IndexPrefix"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "ConstraintPrefix"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "StoreProcedurePrefix"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "PrimaryKeyPrefix"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "ForeignKeyPrefix"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "TableSpacePrefix"
- value "")))
- (object Attribute
- tool "Data Modeler"
- name "default__Module-Spec"
- value (list Attribute_Set
- (object Attribute
- tool "Data Modeler"
- name "dmItem"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "DMName"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "IsDatabase"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "TargetDatabase"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "Location"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "IsTableSpace"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "TableSpaceType"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "IsDeault"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "BufferPool"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "ExtentSize"
- value 1)
- (object Attribute
- tool "Data Modeler"
- name "PrefetchSize"
- value 1)
- (object Attribute
- tool "Data Modeler"
- name "PageSize"
- value 4)
- (object Attribute
- tool "Data Modeler"
- name "ManagedBy"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "ContainerList"
- value "")))
- (object Attribute
- tool "Data Modeler"
- name "default__Category"
- value (list Attribute_Set
- (object Attribute
- tool "Data Modeler"
- name "dmItem"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "DMName"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "dmSchema"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "dmDomainPackage"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "IsSchema"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "IsDomainPackage"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "IsRootSchema"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "IsRootDomainPackage"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "IsSchemaPackage"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "DatabaseID"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "DBMS"
- value "")))
- (object Attribute
- tool "Data Modeler"
- name "default__Class"
- value (list Attribute_Set
- (object Attribute
- tool "Data Modeler"
- name "dmItem"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "DMName"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "IsTable"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "IsView"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "IsDomain"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "IsSPPackage"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "Synonymns"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "TableSpaceID"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "SourceId"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "SourceType"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "CorrelationName"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "SelectClause"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "IsUpdateable"
- value TRUE)
- (object Attribute
- tool "Data Modeler"
- name "CheckOption"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "IsSnapShot"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "IsDistinct"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "PersistToServer"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "IsPackage"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "TableSpace"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "IsUpdatable"
- value FALSE)))
- (object Attribute
- tool "Data Modeler"
- name "default__Attribute"
- value (list Attribute_Set
- (object Attribute
- tool "Data Modeler"
- name "dmItem"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "DMName"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "Ordinal"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "IsIdentity"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "IsUnique"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "NullsAllowed"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "Length"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "Scale"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "ColumnType"
- value "Native")
- (object Attribute
- tool "Data Modeler"
- name "ForBitData"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "DefaultValueType"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "DefaultValue"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "SourceId"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "SourceType"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "OID"
- value FALSE)))
- (object Attribute
- tool "Data Modeler"
- name "default__Association"
- value (list Attribute_Set
- (object Attribute
- tool "Data Modeler"
- name "dmItem"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "DMName"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "IsRelationship"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "SourceId"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "SourceType"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "RIMethod"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "ParentUpdateRule"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "ParentUpdateRuleName"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "ParentDeleteRule"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "ParentDeleteRuleName"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "ChildInsertRestrict"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "ChildInsertRestrictName"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "ChildMultiplicity"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "ChildMultiplicityName"
- value "")))
- (object Attribute
- tool "Data Modeler"
- name "default__Role"
- value (list Attribute_Set
- (object Attribute
- tool "Data Modeler"
- name "dmItem"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "DMName"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "ConstraintName"
- value "")))
- (object Attribute
- tool "Data Modeler"
- name "default__Operation"
- value (list Attribute_Set
- (object Attribute
- tool "Data Modeler"
- name "dmItem"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "DMName"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "IsConstraint"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "ConstraintType"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "IsIndex"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "IsTrigger"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "IsStoredProcedure"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "IsCluster"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "TableSpace"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "FillFactor"
- value 0)
- (object Attribute
- tool "Data Modeler"
- name "KeyList"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "CheckPredicate"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "IsUnique"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "DeferalMode"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "InitialCheckTime"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "TriggerType"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "IsInsertEvent"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "IsUpdateEvent"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "IsDeleteEvent"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "RefOldTable"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "RefNewTable"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "RefOldRow"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "RefNewRow"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "IsRow"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "WhenClause"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "Language"
- value "SQL")
- (object Attribute
- tool "Data Modeler"
- name "ProcType"
- value "Procedure")
- (object Attribute
- tool "Data Modeler"
- name "IsDeterministic"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "ParameterStyle"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "ReturnedNull"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "ExternalName"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "Length"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "Scale"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "ForBitData"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "DefaultValue"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "DefaultValueType"
- value "")))
- (object Attribute
- tool "Data Modeler"
- name "default__Parameter"
- value (list Attribute_Set
- (object Attribute
- tool "Data Modeler"
- name "dmItem"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "DMName"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "IsInParameter"
- value TRUE)
- (object Attribute
- tool "Data Modeler"
- name "IsOutParameter"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "Ordinal"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "Length"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "Scale"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "ForBitData"
- value FALSE)
- (object Attribute
- tool "Data Modeler"
- name "DefaultValueType"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "DefaultValue"
- value "")
- (object Attribute
- tool "Data Modeler"
- name "OperationID"
- value "")))
- (object Attribute
- tool "Data Modeler"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "Data Modeler Communicator"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "Java"
- name "propertyId"
- value "809135966")
- (object Attribute
- tool "Java"
- name "default__Project"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "RootDir"
- value "")
- (object Attribute
- tool "Java"
- name "CreateMissingDirectories"
- value TRUE)
- (object Attribute
- tool "Java"
- name "StopOnError"
- value FALSE)
- (object Attribute
- tool "Java"
- name "UsePrefixes"
- value FALSE)
- (object Attribute
- tool "Java"
- name "AutoSync"
- value FALSE)
- (object Attribute
- tool "Java"
- name "NotShowRoseIDDlg"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ShowCodegenDlg"
- value FALSE)
- (object Attribute
- tool "Java"
- name "GenerateRoseID"
- value TRUE)
- (object Attribute
- tool "Java"
- name "GenerateDefaultReturnLine"
- value TRUE)
- (object Attribute
- tool "Java"
- name "JavadocDefaultAuthor"
- value "")
- (object Attribute
- tool "Java"
- name "JavadocDefaultVersion"
- value "")
- (object Attribute
- tool "Java"
- name "JavadocDefaultSince"
- value "")
- (object Attribute
- tool "Java"
- name "UserDefineTagName1"
- value "")
- (object Attribute
- tool "Java"
- name "UserDefineTagApply1"
- value "")
- (object Attribute
- tool "Java"
- name "UserDefineTagText1"
- value "")
- (object Attribute
- tool "Java"
- name "UserDefineTagName2"
- value "")
- (object Attribute
- tool "Java"
- name "UserDefineTagApply2"
- value "")
- (object Attribute
- tool "Java"
- name "UserDefineTagText2"
- value "")
- (object Attribute
- tool "Java"
- name "UserDefineTagName3"
- value "")
- (object Attribute
- tool "Java"
- name "UserDefineTagApply3"
- value "")
- (object Attribute
- tool "Java"
- name "UserDefineTagText3"
- value "")
- (object Attribute
- tool "Java"
- name "JavadocNumAsterisks"
- value 0)
- (object Attribute
- tool "Java"
- name "MaxNumChars"
- value 80)
- (object Attribute
- tool "Java"
- name "Editor"
- value ("EditorType" 100))
- (object Attribute
- tool "Java"
- name "VM"
- value ("VMType" 200))
- (object Attribute
- tool "Java"
- name "ClassPath"
- value ";D:\\Program Files\\Sun\\jdk1.4.2_02\\jre\\lib\\charsets.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\jre\\lib\\jce.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\jre\\lib\\jsse.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\jre\\lib\\rt.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\jre\\lib\\sunrsasign.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\jre\\lib\\ext\\dnsns.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\jre\\lib\\ext\\ldapsec.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\jre\\lib\\ext\\localedata.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\jre\\lib\\ext\\sunjce_provider.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\jre\\lib\\security\\local_policy.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\jre\\lib\\security\\US_export_policy.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\lib\\dt.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\lib\\htmlconverter.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\lib\\tools.jar")
- (object Attribute
- tool "Java"
- name "ReferenceClasspath"
- value "")
- (object Attribute
- tool "Java"
- name "EditorType"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "BuiltIn"
- value 100)
- (object Attribute
- tool "Java"
- name "WindowsShell"
- value 101)))
- (object Attribute
- tool "Java"
- name "VMType"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "Sun"
- value 200)
- (object Attribute
- tool "Java"
- name "Microsoft"
- value 201)
- (object Attribute
- tool "Java"
- name "IBM"
- value 202)))
- (object Attribute
- tool "Java"
- name "VAJavaWorkingFolder"
- value "")
- (object Attribute
- tool "Java"
- name "InstanceVariablePrefix"
- value "m_")
- (object Attribute
- tool "Java"
- name "ClassVariablePrefix"
- value "s_")
- (object Attribute
- tool "Java"
- name "DefaultAttributeDataType"
- value "int")
- (object Attribute
- tool "Java"
- name "DefaultOperationReturnType"
- value "void")
- (object Attribute
- tool "Java"
- name "NoClassCustomDlg"
- value FALSE)
- (object Attribute
- tool "Java"
- name "GlobalImports"
- value (value Text ""))
- (object Attribute
- tool "Java"
- name "OpenBraceClassStyle"
- value TRUE)
- (object Attribute
- tool "Java"
- name "OpenBraceMethodStyle"
- value TRUE)
- (object Attribute
- tool "Java"
- name "UseTabs"
- value FALSE)
- (object Attribute
- tool "Java"
- name "UseSpaces"
- value TRUE)
- (object Attribute
- tool "Java"
- name "SpacingItems"
- value 3)
- (object Attribute
- tool "Java"
- name "RoseDefaultCommentStyle"
- value TRUE)
- (object Attribute
- tool "Java"
- name "AsteriskCommentStyle"
- value FALSE)
- (object Attribute
- tool "Java"
- name "JavaCommentStyle"
- value FALSE)
- (object Attribute
- tool "Java"
- name "JavadocAuthor"
- value FALSE)
- (object Attribute
- tool "Java"
- name "JavadocSince"
- value FALSE)
- (object Attribute
- tool "Java"
- name "JavadocVersion"
- value FALSE)
- (object Attribute
- tool "Java"
- name "BeanPrefix"
- value "")
- (object Attribute
- tool "Java"
- name "BeanSuffix"
- value "")
- (object Attribute
- tool "Java"
- name "RemotePrefix"
- value "")
- (object Attribute
- tool "Java"
- name "RemoteSuffix"
- value "")
- (object Attribute
- tool "Java"
- name "HomePrefix"
- value "")
- (object Attribute
- tool "Java"
- name "HomeSuffix"
- value "")
- (object Attribute
- tool "Java"
- name "PrimaryKeyPrefix"
- value "")
- (object Attribute
- tool "Java"
- name "PrimaryKeySuffix"
- value "")
- (object Attribute
- tool "Java"
- name "EJBDTDLocation"
- value "")
- (object Attribute
- tool "Java"
- name "ServletDTDLocation"
- value "")
- (object Attribute
- tool "Java"
- name "DefaultEJBVersion"
- value "")
- (object Attribute
- tool "Java"
- name "DefaultServletVersion"
- value "")
- (object Attribute
- tool "Java"
- name "GenerateDefaultJ2EEJavadoc"
- value TRUE)
- (object Attribute
- tool "Java"
- name "UserDefineJavaDocTags"
- value "")
- (object Attribute
- tool "Java"
- name "LocalPrefix"
- value "")
- (object Attribute
- tool "Java"
- name "LocalSuffix"
- value "")
- (object Attribute
- tool "Java"
- name "LocalHomePrefix"
- value "")
- (object Attribute
- tool "Java"
- name "LocalHomeSuffix"
- value "")
- (object Attribute
- tool "Java"
- name "SourceControl"
- value FALSE)
- (object Attribute
- tool "Java"
- name "SCCSelected"
- value FALSE)
- (object Attribute
- tool "Java"
- name "SCCProjectSourceRoot"
- value "")
- (object Attribute
- tool "Java"
- name "SCCProjectName"
- value "")
- (object Attribute
- tool "Java"
- name "SCCComment"
- value FALSE)))
- (object Attribute
- tool "Java"
- name "default__Class"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "Final"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Static"
- value FALSE)
- (object Attribute
- tool "Java"
- name "GenerateDefaultConstructor"
- value TRUE)
- (object Attribute
- tool "Java"
- name "ConstructorIs"
- value ("Ctor_Set" 62))
- (object Attribute
- tool "Java"
- name "Ctor_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "public"
- value 62)
- (object Attribute
- tool "Java"
- name "protected"
- value 63)
- (object Attribute
- tool "Java"
- name "private"
- value 64)
- (object Attribute
- tool "Java"
- name "package"
- value 65)))
- (object Attribute
- tool "Java"
- name "GenerateFinalizer"
- value FALSE)
- (object Attribute
- tool "Java"
- name "GenerateStaticInitializer"
- value FALSE)
- (object Attribute
- tool "Java"
- name "GenerateInstanceInitializer"
- value FALSE)
- (object Attribute
- tool "Java"
- name "GenerateCode"
- value TRUE)
- (object Attribute
- tool "Java"
- name "DisableAutoSync"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ReadOnly"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletName"
- value "")
- (object Attribute
- tool "Java"
- name "ServletContextRef"
- value FALSE)
- (object Attribute
- tool "Java"
- name "IsSingleThread"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletInitParameter"
- value "")
- (object Attribute
- tool "Java"
- name "ServletInitParameterNames"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletIsSecure"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletRequestDispatcher"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletRequestDispatcherPath"
- value "")
- (object Attribute
- tool "Java"
- name "DispatcherInclude"
- value FALSE)
- (object Attribute
- tool "Java"
- name "DispatcherForward"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletSecurityRoles"
- value "")
- (object Attribute
- tool "Java"
- name "ServletgetInfo"
- value "")
- (object Attribute
- tool "Java"
- name "ServletRequestAttribute"
- value "")
- (object Attribute
- tool "Java"
- name "ServletRequestAttributesNames"
- value FALSE)
- (object Attribute
- tool "Java"
- name "MethodForRequestAttributes"
- value "")
- (object Attribute
- tool "Java"
- name "ServletRequestParameter"
- value "")
- (object Attribute
- tool "Java"
- name "ServletRequestParameterNames"
- value FALSE)
- (object Attribute
- tool "Java"
- name "MethodForRequestParameters"
- value "")
- (object Attribute
- tool "Java"
- name "ServletHeader"
- value "")
- (object Attribute
- tool "Java"
- name "ServletHeaderNames"
- value FALSE)
- (object Attribute
- tool "Java"
- name "MethodForHeaders"
- value "")
- (object Attribute
- tool "Java"
- name "ServletIntHeader"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletDateHeader"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletCookie"
- value FALSE)
- (object Attribute
- tool "Java"
- name "MethodForCookie"
- value "")
- (object Attribute
- tool "Java"
- name "ServletContentType"
- value "")
- (object Attribute
- tool "Java"
- name "GenerateHTML"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Generate_XML_DD"
- value TRUE)
- (object Attribute
- tool "Java"
- name "EJBCmpField"
- value "")
- (object Attribute
- tool "Java"
- name "EJBEnvironmentProperties"
- value "")
- (object Attribute
- tool "Java"
- name "EJBCnxFactory"
- value "")
- (object Attribute
- tool "Java"
- name "EJBReferences"
- value "")
- (object Attribute
- tool "Java"
- name "EJBSecurityRoles"
- value "")
- (object Attribute
- tool "Java"
- name "EJBNameInJAR"
- value "")
- (object Attribute
- tool "Java"
- name "EJBSessionType"
- value ("EJBSessionType_Set" 200))
- (object Attribute
- tool "Java"
- name "EJBSessionType_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name ""
- value 200)
- (object Attribute
- tool "Java"
- name "Stateless"
- value 201)
- (object Attribute
- tool "Java"
- name "Stateful"
- value 202)))
- (object Attribute
- tool "Java"
- name "EJBTransactionType"
- value ("EJBTransactionType_Set" 211))
- (object Attribute
- tool "Java"
- name "EJBTransactionType_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "Container"
- value 211)
- (object Attribute
- tool "Java"
- name "Bean"
- value 212)))
- (object Attribute
- tool "Java"
- name "EJBPersistenceType"
- value ("EJBPersistenceType_Set" 220))
- (object Attribute
- tool "Java"
- name "EJBPersistenceType_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name ""
- value 220)
- (object Attribute
- tool "Java"
- name "Bean"
- value 221)
- (object Attribute
- tool "Java"
- name "Container"
- value 222)))
- (object Attribute
- tool "Java"
- name "EJBReentrant"
- value FALSE)
- (object Attribute
- tool "Java"
- name "BMP_Extend_CMP"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Strictfp"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletXMLFilePath"
- value "")
- (object Attribute
- tool "Java"
- name "EJBSessionSync"
- value FALSE)
- (object Attribute
- tool "Java"
- name "EJBVersion"
- value ("EJBVersion_Set" 230))
- (object Attribute
- tool "Java"
- name "EJBVersion_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "2.0"
- value 230)
- (object Attribute
- tool "Java"
- name "1.x"
- value 231)))
- (object Attribute
- tool "Java"
- name "EJBXMLFilePath"
- value "")))
- (object Attribute
- tool "Java"
- name "Default_Servlet__Class"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "ServletName"
- value "")
- (object Attribute
- tool "Java"
- name "ServletContextRef"
- value FALSE)
- (object Attribute
- tool "Java"
- name "IsSingleThread"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletInitParameter"
- value "")
- (object Attribute
- tool "Java"
- name "ServletInitParameterNames"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletIsSecure"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletRequestDispatcher"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletRequestDispatcherPath"
- value "")
- (object Attribute
- tool "Java"
- name "DispatcherInclude"
- value FALSE)
- (object Attribute
- tool "Java"
- name "DispatcherForward"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletSecurityRoles"
- value "")
- (object Attribute
- tool "Java"
- name "ServletgetInfo"
- value "")
- (object Attribute
- tool "Java"
- name "ServletXMLFilePath"
- value "")
- (object Attribute
- tool "Java"
- name "Final"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Static"
- value FALSE)
- (object Attribute
- tool "Java"
- name "GenerateDefaultConstructor"
- value TRUE)
- (object Attribute
- tool "Java"
- name "ConstructorIs"
- value ("Ctor_Set" 62))
- (object Attribute
- tool "Java"
- name "Ctor_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "public"
- value 62)
- (object Attribute
- tool "Java"
- name "protected"
- value 63)
- (object Attribute
- tool "Java"
- name "private"
- value 64)
- (object Attribute
- tool "Java"
- name "package"
- value 65)))
- (object Attribute
- tool "Java"
- name "GenerateFinalizer"
- value FALSE)
- (object Attribute
- tool "Java"
- name "GenerateStaticInitializer"
- value FALSE)
- (object Attribute
- tool "Java"
- name "GenerateInstanceInitializer"
- value FALSE)
- (object Attribute
- tool "Java"
- name "GenerateCode"
- value TRUE)
- (object Attribute
- tool "Java"
- name "DisableAutoSync"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletRequestAttribute"
- value "")
- (object Attribute
- tool "Java"
- name "ServletRequestAttributesNames"
- value FALSE)
- (object Attribute
- tool "Java"
- name "MethodForRequestAttributes"
- value "")
- (object Attribute
- tool "Java"
- name "ServletRequestParameter"
- value "")
- (object Attribute
- tool "Java"
- name "ServletRequestParameterNames"
- value FALSE)
- (object Attribute
- tool "Java"
- name "MethodForRequestParameters"
- value "")
- (object Attribute
- tool "Java"
- name "ServletHeader"
- value "")
- (object Attribute
- tool "Java"
- name "ServletHeaderNames"
- value FALSE)
- (object Attribute
- tool "Java"
- name "MethodForHeaders"
- value "")
- (object Attribute
- tool "Java"
- name "ServletIntHeader"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletDateHeader"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletCookie"
- value FALSE)
- (object Attribute
- tool "Java"
- name "MethodForCookie"
- value "")
- (object Attribute
- tool "Java"
- name "ServletContentType"
- value "")
- (object Attribute
- tool "Java"
- name "GenerateHTML"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Generate_XML_DD"
- value TRUE)
- (object Attribute
- tool "Java"
- name "EJBCmpField"
- value "")
- (object Attribute
- tool "Java"
- name "EJBEnvironmentProperties"
- value "")
- (object Attribute
- tool "Java"
- name "EJBCnxFactory"
- value "")
- (object Attribute
- tool "Java"
- name "EJBReferences"
- value "")
- (object Attribute
- tool "Java"
- name "EJBSecurityRoles"
- value "")
- (object Attribute
- tool "Java"
- name "EJBNameInJAR"
- value "")
- (object Attribute
- tool "Java"
- name "EJBSessionType"
- value ("EJBSessionType_Set" 200))
- (object Attribute
- tool "Java"
- name "EJBSessionType_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name ""
- value 200)
- (object Attribute
- tool "Java"
- name "Stateless"
- value 201)
- (object Attribute
- tool "Java"
- name "Stateful"
- value 202)))
- (object Attribute
- tool "Java"
- name "EJBTransactionType"
- value ("EJBTransactionType_Set" 211))
- (object Attribute
- tool "Java"
- name "EJBTransactionType_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "Container"
- value 211)
- (object Attribute
- tool "Java"
- name "Bean"
- value 212)))
- (object Attribute
- tool "Java"
- name "EJBPersistenceType"
- value ("EJBPersistenceType_Set" 220))
- (object Attribute
- tool "Java"
- name "EJBPersistenceType_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name ""
- value 220)
- (object Attribute
- tool "Java"
- name "Bean"
- value 221)
- (object Attribute
- tool "Java"
- name "Container"
- value 222)))
- (object Attribute
- tool "Java"
- name "EJBReentrant"
- value FALSE)
- (object Attribute
- tool "Java"
- name "BMP_Extend_CMP"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ReadOnly"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Strictfp"
- value FALSE)
- (object Attribute
- tool "Java"
- name "EJBSessionSync"
- value FALSE)
- (object Attribute
- tool "Java"
- name "EJBVersion"
- value ("EJBVersion_Set" 230))
- (object Attribute
- tool "Java"
- name "EJBVersion_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "2.0"
- value 230)
- (object Attribute
- tool "Java"
- name "1.x"
- value 231)))
- (object Attribute
- tool "Java"
- name "EJBXMLFilePath"
- value "")))
- (object Attribute
- tool "Java"
- name "Http_Servlet__Class"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "ServletRequestAttribute"
- value "")
- (object Attribute
- tool "Java"
- name "ServletRequestAttributesNames"
- value FALSE)
- (object Attribute
- tool "Java"
- name "MethodForRequestAttributes"
- value "")
- (object Attribute
- tool "Java"
- name "ServletRequestParameter"
- value "")
- (object Attribute
- tool "Java"
- name "ServletRequestParameterNames"
- value FALSE)
- (object Attribute
- tool "Java"
- name "MethodForRequestParameters"
- value "")
- (object Attribute
- tool "Java"
- name "ServletHeader"
- value "")
- (object Attribute
- tool "Java"
- name "ServletHeaderNames"
- value FALSE)
- (object Attribute
- tool "Java"
- name "MethodForHeaders"
- value "")
- (object Attribute
- tool "Java"
- name "ServletIntHeader"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletDateHeader"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletCookie"
- value FALSE)
- (object Attribute
- tool "Java"
- name "MethodForCookie"
- value "")
- (object Attribute
- tool "Java"
- name "ServletContentType"
- value "")
- (object Attribute
- tool "Java"
- name "GenerateHTML"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Final"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Static"
- value FALSE)
- (object Attribute
- tool "Java"
- name "GenerateDefaultConstructor"
- value TRUE)
- (object Attribute
- tool "Java"
- name "ConstructorIs"
- value ("Ctor_Set" 62))
- (object Attribute
- tool "Java"
- name "Ctor_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "public"
- value 62)
- (object Attribute
- tool "Java"
- name "protected"
- value 63)
- (object Attribute
- tool "Java"
- name "private"
- value 64)
- (object Attribute
- tool "Java"
- name "package"
- value 65)))
- (object Attribute
- tool "Java"
- name "GenerateFinalizer"
- value FALSE)
- (object Attribute
- tool "Java"
- name "GenerateStaticInitializer"
- value FALSE)
- (object Attribute
- tool "Java"
- name "GenerateInstanceInitializer"
- value FALSE)
- (object Attribute
- tool "Java"
- name "GenerateCode"
- value TRUE)
- (object Attribute
- tool "Java"
- name "DisableAutoSync"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletName"
- value "")
- (object Attribute
- tool "Java"
- name "ServletContextRef"
- value FALSE)
- (object Attribute
- tool "Java"
- name "IsSingleThread"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletInitParameter"
- value "")
- (object Attribute
- tool "Java"
- name "ServletInitParameterNames"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletIsSecure"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletRequestDispatcher"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletRequestDispatcherPath"
- value "")
- (object Attribute
- tool "Java"
- name "DispatcherInclude"
- value FALSE)
- (object Attribute
- tool "Java"
- name "DispatcherForward"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletSecurityRoles"
- value "")
- (object Attribute
- tool "Java"
- name "ServletgetInfo"
- value "")
- (object Attribute
- tool "Java"
- name "Generate_XML_DD"
- value TRUE)
- (object Attribute
- tool "Java"
- name "EJBCmpField"
- value "")
- (object Attribute
- tool "Java"
- name "EJBEnvironmentProperties"
- value "")
- (object Attribute
- tool "Java"
- name "EJBCnxFactory"
- value "")
- (object Attribute
- tool "Java"
- name "EJBReferences"
- value "")
- (object Attribute
- tool "Java"
- name "EJBSecurityRoles"
- value "")
- (object Attribute
- tool "Java"
- name "EJBNameInJAR"
- value "")
- (object Attribute
- tool "Java"
- name "EJBSessionType"
- value ("EJBSessionType_Set" 200))
- (object Attribute
- tool "Java"
- name "EJBSessionType_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name ""
- value 200)
- (object Attribute
- tool "Java"
- name "Stateless"
- value 201)
- (object Attribute
- tool "Java"
- name "Stateful"
- value 202)))
- (object Attribute
- tool "Java"
- name "EJBTransactionType"
- value ("EJBTransactionType_Set" 211))
- (object Attribute
- tool "Java"
- name "EJBTransactionType_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "Container"
- value 211)
- (object Attribute
- tool "Java"
- name "Bean"
- value 212)))
- (object Attribute
- tool "Java"
- name "EJBPersistenceType"
- value ("EJBPersistenceType_Set" 220))
- (object Attribute
- tool "Java"
- name "EJBPersistenceType_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name ""
- value 220)
- (object Attribute
- tool "Java"
- name "Bean"
- value 221)
- (object Attribute
- tool "Java"
- name "Container"
- value 222)))
- (object Attribute
- tool "Java"
- name "EJBReentrant"
- value FALSE)
- (object Attribute
- tool "Java"
- name "BMP_Extend_CMP"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ReadOnly"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Strictfp"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletXMLFilePath"
- value "")
- (object Attribute
- tool "Java"
- name "EJBSessionSync"
- value FALSE)
- (object Attribute
- tool "Java"
- name "EJBVersion"
- value ("EJBVersion_Set" 230))
- (object Attribute
- tool "Java"
- name "EJBVersion_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "2.0"
- value 230)
- (object Attribute
- tool "Java"
- name "1.x"
- value 231)))
- (object Attribute
- tool "Java"
- name "EJBXMLFilePath"
- value "")))
- (object Attribute
- tool "Java"
- name "Default_EJB__Class"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "Generate_XML_DD"
- value TRUE)
- (object Attribute
- tool "Java"
- name "EJBCmpField"
- value "")
- (object Attribute
- tool "Java"
- name "EJBEnvironmentProperties"
- value "")
- (object Attribute
- tool "Java"
- name "EJBCnxFactory"
- value "")
- (object Attribute
- tool "Java"
- name "EJBReferences"
- value "")
- (object Attribute
- tool "Java"
- name "EJBSecurityRoles"
- value "")
- (object Attribute
- tool "Java"
- name "EJBNameInJAR"
- value "")
- (object Attribute
- tool "Java"
- name "EJBSessionType"
- value ("EJBSessionType_Set" 200))
- (object Attribute
- tool "Java"
- name "EJBSessionType_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name ""
- value 200)
- (object Attribute
- tool "Java"
- name "Stateless"
- value 201)
- (object Attribute
- tool "Java"
- name "Stateful"
- value 202)))
- (object Attribute
- tool "Java"
- name "EJBTransactionType"
- value ("EJBTransactionType_Set" 211))
- (object Attribute
- tool "Java"
- name "EJBTransactionType_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "Container"
- value 211)
- (object Attribute
- tool "Java"
- name "Bean"
- value 212)))
- (object Attribute
- tool "Java"
- name "EJBPersistenceType"
- value ("EJBPersistenceType_Set" 220))
- (object Attribute
- tool "Java"
- name "EJBPersistenceType_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name ""
- value 220)
- (object Attribute
- tool "Java"
- name "Bean"
- value 221)
- (object Attribute
- tool "Java"
- name "Container"
- value 222)))
- (object Attribute
- tool "Java"
- name "EJBReentrant"
- value FALSE)
- (object Attribute
- tool "Java"
- name "EJBSessionSync"
- value FALSE)
- (object Attribute
- tool "Java"
- name "EJBVersion"
- value ("EJBVersion_Set" 230))
- (object Attribute
- tool "Java"
- name "EJBVersion_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "2.0"
- value 230)
- (object Attribute
- tool "Java"
- name "1.x"
- value 231)))
- (object Attribute
- tool "Java"
- name "EJBXMLFilePath"
- value "")
- (object Attribute
- tool "Java"
- name "Final"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Static"
- value FALSE)
- (object Attribute
- tool "Java"
- name "GenerateDefaultConstructor"
- value TRUE)
- (object Attribute
- tool "Java"
- name "ConstructorIs"
- value ("Ctor_Set" 62))
- (object Attribute
- tool "Java"
- name "Ctor_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "public"
- value 62)
- (object Attribute
- tool "Java"
- name "protected"
- value 63)
- (object Attribute
- tool "Java"
- name "private"
- value 64)
- (object Attribute
- tool "Java"
- name "package"
- value 65)))
- (object Attribute
- tool "Java"
- name "GenerateFinalizer"
- value FALSE)
- (object Attribute
- tool "Java"
- name "GenerateStaticInitializer"
- value FALSE)
- (object Attribute
- tool "Java"
- name "GenerateInstanceInitializer"
- value FALSE)
- (object Attribute
- tool "Java"
- name "GenerateCode"
- value TRUE)
- (object Attribute
- tool "Java"
- name "DisableAutoSync"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletName"
- value "")
- (object Attribute
- tool "Java"
- name "ServletContextRef"
- value FALSE)
- (object Attribute
- tool "Java"
- name "IsSingleThread"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletInitParameter"
- value "")
- (object Attribute
- tool "Java"
- name "ServletInitParameterNames"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletIsSecure"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletRequestDispatcher"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletRequestDispatcherPath"
- value "")
- (object Attribute
- tool "Java"
- name "DispatcherInclude"
- value FALSE)
- (object Attribute
- tool "Java"
- name "DispatcherForward"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletSecurityRoles"
- value "")
- (object Attribute
- tool "Java"
- name "ServletgetInfo"
- value "")
- (object Attribute
- tool "Java"
- name "ServletRequestAttribute"
- value "")
- (object Attribute
- tool "Java"
- name "ServletRequestAttributesNames"
- value FALSE)
- (object Attribute
- tool "Java"
- name "MethodForRequestAttributes"
- value "")
- (object Attribute
- tool "Java"
- name "ServletRequestParameter"
- value "")
- (object Attribute
- tool "Java"
- name "ServletRequestParameterNames"
- value FALSE)
- (object Attribute
- tool "Java"
- name "MethodForRequestParameters"
- value "")
- (object Attribute
- tool "Java"
- name "ServletHeader"
- value "")
- (object Attribute
- tool "Java"
- name "ServletHeaderNames"
- value FALSE)
- (object Attribute
- tool "Java"
- name "MethodForHeaders"
- value "")
- (object Attribute
- tool "Java"
- name "ServletIntHeader"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletDateHeader"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletCookie"
- value FALSE)
- (object Attribute
- tool "Java"
- name "MethodForCookie"
- value "")
- (object Attribute
- tool "Java"
- name "ServletContentType"
- value "")
- (object Attribute
- tool "Java"
- name "GenerateHTML"
- value FALSE)
- (object Attribute
- tool "Java"
- name "BMP_Extend_CMP"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ReadOnly"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Strictfp"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ServletXMLFilePath"
- value "")))
- (object Attribute
- tool "Java"
- name "default__Module-Spec"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "CmIdentification"
- value (value Text ""))
- (object Attribute
- tool "Java"
- name "CopyrightNotice"
- value (value Text ""))))
- (object Attribute
- tool "Java"
- name "default__Module-Body"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "CmIdentification"
- value (value Text ""))
- (object Attribute
- tool "Java"
- name "CopyrightNotice"
- value (value Text ""))))
- (object Attribute
- tool "Java"
- name "default__Operation"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "Abstract"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Static"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Final"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Native"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Synchronized"
- value FALSE)
- (object Attribute
- tool "Java"
- name "GenerateFullyQualifiedReturn"
- value FALSE)
- (object Attribute
- tool "Java"
- name "ReplaceExistingCode"
- value TRUE)
- (object Attribute
- tool "Java"
- name "Strictfp"
- value FALSE)))
- (object Attribute
- tool "Java"
- name "default__Attribute"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "Final"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Transient"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Volatile"
- value FALSE)
- (object Attribute
- tool "Java"
- name "PropertyType"
- value ("BeanProperty_Set" 71))
- (object Attribute
- tool "Java"
- name "BeanProperty_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "Not A Property"
- value 71)
- (object Attribute
- tool "Java"
- name "Simple"
- value 72)
- (object Attribute
- tool "Java"
- name "Bound"
- value 73)
- (object Attribute
- tool "Java"
- name "Constrained"
- value 74)))
- (object Attribute
- tool "Java"
- name "IndividualChangeMgt"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Read/Write"
- value ("Read/Write_Set" 81))
- (object Attribute
- tool "Java"
- name "Read/Write_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "Read & Write"
- value 81)
- (object Attribute
- tool "Java"
- name "Read Only"
- value 82)
- (object Attribute
- tool "Java"
- name "Write Only"
- value 83)))
- (object Attribute
- tool "Java"
- name "GenerateFullyQualifiedTypes"
- value FALSE)))
- (object Attribute
- tool "Java"
- name "default__Role"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "ContainerClass"
- value "")
- (object Attribute
- tool "Java"
- name "InitialValue"
- value "")
- (object Attribute
- tool "Java"
- name "Final"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Transient"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Volatile"
- value FALSE)
- (object Attribute
- tool "Java"
- name "PropertyType"
- value ("BeanProperty_Set" 71))
- (object Attribute
- tool "Java"
- name "BeanProperty_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "Not A Property"
- value 71)
- (object Attribute
- tool "Java"
- name "Simple"
- value 72)
- (object Attribute
- tool "Java"
- name "Bound"
- value 73)
- (object Attribute
- tool "Java"
- name "Constrained"
- value 74)))
- (object Attribute
- tool "Java"
- name "IndividualChangeMgt"
- value FALSE)
- (object Attribute
- tool "Java"
- name "Read/Write"
- value ("Read/Write_Set" 81))
- (object Attribute
- tool "Java"
- name "Read/Write_Set"
- value (list Attribute_Set
- (object Attribute
- tool "Java"
- name "Read & Write"
- value 81)
- (object Attribute
- tool "Java"
- name "Read Only"
- value 82)
- (object Attribute
- tool "Java"
- name "Write Only"
- value 83)))
- (object Attribute
- tool "Java"
- name "GenerateFullyQualifiedTypes"
- value FALSE)
- (object Attribute
- tool "Java"
- name "IsNavigable"
- value TRUE)))
- (object Attribute
- tool "Java"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "Oracle8"
- name "propertyId"
- value "360000002")
- (object Attribute
- tool "Oracle8"
- name "default__Project"
- value (list Attribute_Set
- (object Attribute
- tool "Oracle8"
- name "DDLScriptFilename"
- value "DDL1.SQL")
- (object Attribute
- tool "Oracle8"
- name "DropClause"
- value FALSE)
- (object Attribute
- tool "Oracle8"
- name "PrimaryKeyColumnName"
- value "_ID")
- (object Attribute
- tool "Oracle8"
- name "PrimaryKeyColumnType"
- value "NUMBER(5,0)")
- (object Attribute
- tool "Oracle8"
- name "SchemaNamePrefix"
- value "")
- (object Attribute
- tool "Oracle8"
- name "SchemaNameSuffix"
- value "")
- (object Attribute
- tool "Oracle8"
- name "TableNamePrefix"
- value "")
- (object Attribute
- tool "Oracle8"
- name "TableNameSuffix"
- value "")
- (object Attribute
- tool "Oracle8"
- name "TypeNamePrefix"
- value "")
- (object Attribute
- tool "Oracle8"
- name "TypeNameSuffix"
- value "")
- (object Attribute
- tool "Oracle8"
- name "ViewNamePrefix"
- value "")
- (object Attribute
- tool "Oracle8"
- name "ViewNameSuffix"
- value "")
- (object Attribute
- tool "Oracle8"
- name "VarrayNamePrefix"
- value "")
- (object Attribute
- tool "Oracle8"
- name "VarrayNameSuffix"
- value "")
- (object Attribute
- tool "Oracle8"
- name "NestedTableNamePrefix"
- value "")
- (object Attribute
- tool "Oracle8"
- name "NestedTableNameSuffix"
- value "")
- (object Attribute
- tool "Oracle8"
- name "ObjectTableNamePrefix"
- value "")
- (object Attribute
- tool "Oracle8"
- name "ObjectTableNameSuffix"
- value "")))
- (object Attribute
- tool "Oracle8"
- name "default__Module-Spec"
- value (list Attribute_Set
- (object Attribute
- tool "Oracle8"
- name "IsSchema"
- value FALSE)))
- (object Attribute
- tool "Oracle8"
- name "default__Class"
- value (list Attribute_Set
- (object Attribute
- tool "Oracle8"
- name "OID"
- value "")
- (object Attribute
- tool "Oracle8"
- name "WhereClause"
- value "")
- (object Attribute
- tool "Oracle8"
- name "CheckConstraint"
- value "")
- (object Attribute
- tool "Oracle8"
- name "CollectionTypeLength"
- value "")
- (object Attribute
- tool "Oracle8"
- name "CollectionTypePrecision"
- value "")
- (object Attribute
- tool "Oracle8"
- name "CollectionTypeScale"
- value "")
- (object Attribute
- tool "Oracle8"
- name "CollectionOfREFS"
- value FALSE)))
- (object Attribute
- tool "Oracle8"
- name "default__Operation"
- value (list Attribute_Set
- (object Attribute
- tool "Oracle8"
- name "MethodKind"
- value ("MethodKindSet" 1903))
- (object Attribute
- tool "Oracle8"
- name "OverloadID"
- value "")
- (object Attribute
- tool "Oracle8"
- name "OrderNumber"
- value "")
- (object Attribute
- tool "Oracle8"
- name "IsReadNoDataState"
- value FALSE)
- (object Attribute
- tool "Oracle8"
- name "IsReadNoProcessState"
- value FALSE)
- (object Attribute
- tool "Oracle8"
- name "IsWriteNoDataState"
- value FALSE)
- (object Attribute
- tool "Oracle8"
- name "IsWriteNoProcessState"
- value FALSE)
- (object Attribute
- tool "Oracle8"
- name "IsSelfish"
- value FALSE)
- (object Attribute
- tool "Oracle8"
- name "TriggerType"
- value ("TriggerTypeSet" 1801))
- (object Attribute
- tool "Oracle8"
- name "TriggerEvent"
- value ("TriggerEventSet" 1601))
- (object Attribute
- tool "Oracle8"
- name "TriggerText"
- value "")
- (object Attribute
- tool "Oracle8"
- name "TriggerReferencingNames"
- value "")
- (object Attribute
- tool "Oracle8"
- name "TriggerForEach"
- value ("TriggerForEachSet" 1701))
- (object Attribute
- tool "Oracle8"
- name "TriggerWhenClause"
- value "")
- (object Attribute
- tool "Oracle8"
- name "MethodKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "Oracle8"
- name "MapMethod"
- value 1901)
- (object Attribute
- tool "Oracle8"
- name "OrderMethod"
- value 1902)
- (object Attribute
- tool "Oracle8"
- name "Function"
- value 1903)
- (object Attribute
- tool "Oracle8"
- name "Procedure"
- value 1904)
- (object Attribute
- tool "Oracle8"
- name "Operator"
- value 1905)
- (object Attribute
- tool "Oracle8"
- name "Constructor"
- value 1906)
- (object Attribute
- tool "Oracle8"
- name "Destructor"
- value 1907)
- (object Attribute
- tool "Oracle8"
- name "Trigger"
- value 1908)
- (object Attribute
- tool "Oracle8"
- name "Calculated"
- value 1909)))
- (object Attribute
- tool "Oracle8"
- name "TriggerTypeSet"
- value (list Attribute_Set
- (object Attribute
- tool "Oracle8"
- name "AFTER"
- value 1801)
- (object Attribute
- tool "Oracle8"
- name "BEFORE"
- value 1802)
- (object Attribute
- tool "Oracle8"
- name "INSTEAD OF"
- value 1803)))
- (object Attribute
- tool "Oracle8"
- name "TriggerForEachSet"
- value (list Attribute_Set
- (object Attribute
- tool "Oracle8"
- name "ROW"
- value 1701)
- (object Attribute
- tool "Oracle8"
- name "STATEMENT"
- value 1702)))
- (object Attribute
- tool "Oracle8"
- name "TriggerEventSet"
- value (list Attribute_Set
- (object Attribute
- tool "Oracle8"
- name "INSERT"
- value 1601)
- (object Attribute
- tool "Oracle8"
- name "UPDATE"
- value 1602)
- (object Attribute
- tool "Oracle8"
- name "DELETE"
- value 1603)
- (object Attribute
- tool "Oracle8"
- name "INSERT OR UPDATE"
- value 1604)
- (object Attribute
- tool "Oracle8"
- name "INSERT OR DELETE"
- value 1605)
- (object Attribute
- tool "Oracle8"
- name "UPDATE OR DELETE"
- value 1606)
- (object Attribute
- tool "Oracle8"
- name "INSERT OR UPDATE OR DELETE"
- value 1607)))))
- (object Attribute
- tool "Oracle8"
- name "default__Role"
- value (list Attribute_Set
- (object Attribute
- tool "Oracle8"
- name "OrderNumber"
- value "")))
- (object Attribute
- tool "Oracle8"
- name "default__Attribute"
- value (list Attribute_Set
- (object Attribute
- tool "Oracle8"
- name "OrderNumber"
- value "")
- (object Attribute
- tool "Oracle8"
- name "IsUnique"
- value FALSE)
- (object Attribute
- tool "Oracle8"
- name "NullsAllowed"
- value TRUE)
- (object Attribute
- tool "Oracle8"
- name "Length"
- value "")
- (object Attribute
- tool "Oracle8"
- name "Precision"
- value "2")
- (object Attribute
- tool "Oracle8"
- name "Scale"
- value "6")
- (object Attribute
- tool "Oracle8"
- name "IsIndex"
- value FALSE)
- (object Attribute
- tool "Oracle8"
- name "IsPrimaryKey"
- value FALSE)
- (object Attribute
- tool "Oracle8"
- name "CompositeUnique"
- value FALSE)
- (object Attribute
- tool "Oracle8"
- name "CheckConstraint"
- value "")))
- (object Attribute
- tool "Oracle8"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "ComponentTest"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "RequisitePro"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "cg"
- name "propertyId"
- value "809135966")
- (object Attribute
- tool "cg"
- name "default__Project"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "AllowGenerateOverNewerAnnotations"
- value FALSE)
- (object Attribute
- tool "cg"
- name "AllowGenerateOverNewerVersion"
- value FALSE)
- (object Attribute
- tool "cg"
- name "UseMSVC"
- value FALSE)
- (object Attribute
- tool "cg"
- name "HeaderFileExtension"
- value "h")
- (object Attribute
- tool "cg"
- name "HeaderFileBackupExtension"
- value "h~")
- (object Attribute
- tool "cg"
- name "HeaderFileTemporaryExtension"
- value "h#")
- (object Attribute
- tool "cg"
- name "CodeFileExtension"
- value "cpp")
- (object Attribute
- tool "cg"
- name "CodeFileBackupExtension"
- value "cp~")
- (object Attribute
- tool "cg"
- name "CodeFileTemporaryExtension"
- value "cp#")
- (object Attribute
- tool "cg"
- name "CreateMissingDirectories"
- value TRUE)
- (object Attribute
- tool "cg"
- name "StopOnError"
- value FALSE)
- (object Attribute
- tool "cg"
- name "ErrorLimit"
- value 30)
- (object Attribute
- tool "cg"
- name "Directory"
- value "$ROSECPP_SOURCE")
- (object Attribute
- tool "cg"
- name "PathSeparator"
- value "")
- (object Attribute
- tool "cg"
- name "FileNameFormat"
- value "128vx_b")
- (object Attribute
- tool "cg"
- name "BooleanType"
- value "int")
- (object Attribute
- tool "cg"
- name "AllowTemplates"
- value TRUE)
- (object Attribute
- tool "cg"
- name "AllowExplicitInstantiations"
- value FALSE)
- (object Attribute
- tool "cg"
- name "AllowProtectedInheritance"
- value TRUE)
- (object Attribute
- tool "cg"
- name "CommentWidth"
- value 60)
- (object Attribute
- tool "cg"
- name "OneByValueContainer"
- value "$targetClass")
- (object Attribute
- tool "cg"
- name "OneByReferenceContainer"
- value "$targetClass *")
- (object Attribute
- tool "cg"
- name "OptionalByValueContainer"
- value "OptionalByValue<$targetClass>")
- (object Attribute
- tool "cg"
- name "OptionalByReferenceContainer"
- value "$targetClass *")
- (object Attribute
- tool "cg"
- name "FixedByValueContainer"
- value "$targetClass[$limit]")
- (object Attribute
- tool "cg"
- name "UnorderedFixedByValueContainer"
- value "$targetClass[$limit]")
- (object Attribute
- tool "cg"
- name "FixedByReferenceContainer"
- value "$targetClass *[$limit]")
- (object Attribute
- tool "cg"
- name "UnorderedFixedByReferenceContainer"
- value "$targetClass *[$limit]")
- (object Attribute
- tool "cg"
- name "BoundedByValueContainer"
- value "BoundedListByValue<$targetClass,$limit>")
- (object Attribute
- tool "cg"
- name "UnorderedBoundedByValueContainer"
- value "BoundedSetByValue<$targetClass,$limit>")
- (object Attribute
- tool "cg"
- name "BoundedByReferenceContainer"
- value "BoundedListByReference<$targetClass,$limit>")
- (object Attribute
- tool "cg"
- name "UnorderedBoundedByReferenceContainer"
- value "BoundedSetByReference<$targetClass,$limit>")
- (object Attribute
- tool "cg"
- name "UnboundedByValueContainer"
- value "UnboundedListByValue<$targetClass>")
- (object Attribute
- tool "cg"
- name "UnorderedUnboundedByValueContainer"
- value "UnboundedSetByValue<$targetClass>")
- (object Attribute
- tool "cg"
- name "UnboundedByReferenceContainer"
- value "UnboundedListByReference<$targetClass>")
- (object Attribute
- tool "cg"
- name "UnorderedUnboundedByReferenceContainer"
- value "UnboundedSetByReference<$targetClass>")
- (object Attribute
- tool "cg"
- name "QualifiedByValueContainer"
- value "AssociationByValue<$qualtype, $qualcont>")
- (object Attribute
- tool "cg"
- name "UnorderedQualifiedByValueContainer"
- value "DictionaryByValue<$qualtype, $qualcont>")
- (object Attribute
- tool "cg"
- name "QualifiedByReferenceContainer"
- value "AssociationByReference<$qualtype, $qualcont>")
- (object Attribute
- tool "cg"
- name "UnorderedQualifiedByReferenceContainer"
- value "DictionaryByReference<$qualtype, $qualcont>")
- (object Attribute
- tool "cg"
- name "AlwaysKeepOrphanedCode"
- value FALSE)))
- (object Attribute
- tool "cg"
- name "compiler2.1__Project"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "AllowGenerateOverNewerAnnotations"
- value FALSE)
- (object Attribute
- tool "cg"
- name "AllowGenerateOverNewerVersion"
- value FALSE)
- (object Attribute
- tool "cg"
- name "HeaderFileExtension"
- value "h")
- (object Attribute
- tool "cg"
- name "HeaderFileBackupExtension"
- value "h~")
- (object Attribute
- tool "cg"
- name "HeaderFileTemporaryExtension"
- value "h#")
- (object Attribute
- tool "cg"
- name "CodeFileExtension"
- value "cpp")
- (object Attribute
- tool "cg"
- name "CodeFileBackupExtension"
- value "cp~")
- (object Attribute
- tool "cg"
- name "CodeFileTemporaryExtension"
- value "cp#")
- (object Attribute
- tool "cg"
- name "CreateMissingDirectories"
- value TRUE)
- (object Attribute
- tool "cg"
- name "StopOnError"
- value FALSE)
- (object Attribute
- tool "cg"
- name "ErrorLimit"
- value 30)
- (object Attribute
- tool "cg"
- name "Directory"
- value "$ROSECPP_SOURCE")
- (object Attribute
- tool "cg"
- name "BooleanType"
- value "int")
- (object Attribute
- tool "cg"
- name "AllowTemplates"
- value FALSE)
- (object Attribute
- tool "cg"
- name "AllowExplicitInstantiations"
- value FALSE)
- (object Attribute
- tool "cg"
- name "AllowProtectedInheritance"
- value FALSE)
- (object Attribute
- tool "cg"
- name "OneByValueContainer"
- value "$targetClass")
- (object Attribute
- tool "cg"
- name "OneByReferenceContainer"
- value "$targetClass *")
- (object Attribute
- tool "cg"
- name "OptionalByValueContainer"
- value "OptionalByValue(sizeof($targetClass))")
- (object Attribute
- tool "cg"
- name "OptionalByReferenceContainer"
- value "$targetClass *")
- (object Attribute
- tool "cg"
- name "FixedByValueContainer"
- value "$targetClass[$limit]")
- (object Attribute
- tool "cg"
- name "UnorderedFixedByValueContainer"
- value "$targetClass[$limit]")
- (object Attribute
- tool "cg"
- name "FixedByReferenceContainer"
- value "$targetClass *[$limit]")
- (object Attribute
- tool "cg"
- name "UnorderedFixedByReferenceContainer"
- value "$targetClass *[$limit]")
- (object Attribute
- tool "cg"
- name "BoundedByValueContainer"
- value "BoundedListByValue(sizeof($targetClass),$limit)")
- (object Attribute
- tool "cg"
- name "UnorderedBoundedByValueContainer"
- value "BoundedSetByValue(sizeof($targetClass),$limit)")
- (object Attribute
- tool "cg"
- name "BoundedByReferenceContainer"
- value "BoundedListByReference($limit)")
- (object Attribute
- tool "cg"
- name "UnorderedBoundedByReferenceContainer"
- value "BoundedSetByReference($limit)")
- (object Attribute
- tool "cg"
- name "UnboundedByValueContainer"
- value "UnboundedListByValue(sizeof($targetClass))")
- (object Attribute
- tool "cg"
- name "UnorderedUnboundedByValueContainer"
- value "UnboundedSetByValue(sizeof($targetClass))")
- (object Attribute
- tool "cg"
- name "UnboundedByReferenceContainer"
- value "UnboundedListByReference")
- (object Attribute
- tool "cg"
- name "UnorderedUnboundedByReferenceContainer"
- value "UnboundedSetByReference")
- (object Attribute
- tool "cg"
- name "QualifiedByValueContainer"
- value "AssociationByValue(sizeof($qualtype), sizeof($qualcont))")
- (object Attribute
- tool "cg"
- name "UnorderedQualifiedByValueContainer"
- value "DictionaryByValue(sizeof($qualtype), sizeof($qualcont))")
- (object Attribute
- tool "cg"
- name "QualifiedByReferenceContainer"
- value "AssociationByReference(sizeof($qualtype), sizeof($qualcont))")
- (object Attribute
- tool "cg"
- name "UnorderedQualifiedByReferenceContainer"
- value "DictionaryByReference(sizeof($qualtype), sizeof($qualcont))")
- (object Attribute
- tool "cg"
- name "PathSeparator"
- value "")
- (object Attribute
- tool "cg"
- name "FileNameFormat"
- value "128vx_b")
- (object Attribute
- tool "cg"
- name "AlwaysKeepOrphanedCode"
- value FALSE)))
- (object Attribute
- tool "cg"
- name "compiler3.0__Project"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "AllowGenerateOverNewerAnnotations"
- value FALSE)
- (object Attribute
- tool "cg"
- name "AllowGenerateOverNewerVersion"
- value FALSE)
- (object Attribute
- tool "cg"
- name "HeaderFileExtension"
- value "h")
- (object Attribute
- tool "cg"
- name "HeaderFileBackupExtension"
- value "h~")
- (object Attribute
- tool "cg"
- name "HeaderFileTemporaryExtension"
- value "h#")
- (object Attribute
- tool "cg"
- name "CodeFileExtension"
- value "cpp")
- (object Attribute
- tool "cg"
- name "CodeFileBackupExtension"
- value "cp~")
- (object Attribute
- tool "cg"
- name "CodeFileTemporaryExtension"
- value "cp#")
- (object Attribute
- tool "cg"
- name "CreateMissingDirectories"
- value TRUE)
- (object Attribute
- tool "cg"
- name "StopOnError"
- value FALSE)
- (object Attribute
- tool "cg"
- name "ErrorLimit"
- value 30)
- (object Attribute
- tool "cg"
- name "Directory"
- value "$ROSECPP_SOURCE")
- (object Attribute
- tool "cg"
- name "BooleanType"
- value "int")
- (object Attribute
- tool "cg"
- name "AllowTemplates"
- value TRUE)
- (object Attribute
- tool "cg"
- name "AllowExplicitInstantiations"
- value FALSE)
- (object Attribute
- tool "cg"
- name "AllowProtectedInheritance"
- value TRUE)
- (object Attribute
- tool "cg"
- name "OneByValueContainer"
- value "$targetClass")
- (object Attribute
- tool "cg"
- name "OneByReferenceContainer"
- value "$targetClass *")
- (object Attribute
- tool "cg"
- name "OptionalByValueContainer"
- value "OptionalByValue<$targetClass>")
- (object Attribute
- tool "cg"
- name "OptionalByReferenceContainer"
- value "$targetClass *")
- (object Attribute
- tool "cg"
- name "FixedByValueContainer"
- value "$targetClass[$limit]")
- (object Attribute
- tool "cg"
- name "UnorderedFixedByValueContainer"
- value "$targetClass[$limit]")
- (object Attribute
- tool "cg"
- name "FixedByReferenceContainer"
- value "$targetClass *[$limit]")
- (object Attribute
- tool "cg"
- name "UnorderedFixedByReferenceContainer"
- value "$targetClass *[$limit]")
- (object Attribute
- tool "cg"
- name "BoundedByValueContainer"
- value "BoundedListByValue<$targetClass,$limit>")
- (object Attribute
- tool "cg"
- name "UnorderedBoundedByValueContainer"
- value "BoundedSetByValue<$targetClass,$limit>")
- (object Attribute
- tool "cg"
- name "BoundedByReferenceContainer"
- value "BoundedListByReference<$targetClass,$limit>")
- (object Attribute
- tool "cg"
- name "UnorderedBoundedByReferenceContainer"
- value "BoundedSetByReference<$targetClass,$limit>")
- (object Attribute
- tool "cg"
- name "UnboundedByValueContainer"
- value "UnboundedListByValue<$targetClass>")
- (object Attribute
- tool "cg"
- name "UnorderedUnboundedByValueContainer"
- value "UnboundedSetByValue<$targetClass>")
- (object Attribute
- tool "cg"
- name "UnboundedByReferenceContainer"
- value "UnboundedListByReference<$targetClass>")
- (object Attribute
- tool "cg"
- name "UnorderedUnboundedByReferenceContainer"
- value "UnboundedSetByReference<$targetClass>")
- (object Attribute
- tool "cg"
- name "QualifiedByValueContainer"
- value "AssociationByValue<$qualtype, $qualcont>")
- (object Attribute
- tool "cg"
- name "UnorderedQualifiedByValueContainer"
- value "DictionaryByValue<$qualtype, $qualcont>")
- (object Attribute
- tool "cg"
- name "QualifiedByReferenceContainer"
- value "AssociationByReference<$qualtype, $qualcont>")
- (object Attribute
- tool "cg"
- name "UnorderedQualifiedByReferenceContainer"
- value "DictionaryByReference<$qualtype, $qualcont>")
- (object Attribute
- tool "cg"
- name "PathSeparator"
- value "")
- (object Attribute
- tool "cg"
- name "FileNameFormat"
- value "128vx_b")
- (object Attribute
- tool "cg"
- name "AlwaysKeepOrphanedCode"
- value FALSE)))
- (object Attribute
- tool "cg"
- name "default__Class"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "CodeName"
- value "")
- (object Attribute
- tool "cg"
- name "ImplementationType"
- value "")
- (object Attribute
- tool "cg"
- name "ClassKey"
- value "class")
- (object Attribute
- tool "cg"
- name "GenerateEmptyRegions"
- value ("GenerateEmptyRegionSet" 3))
- (object Attribute
- tool "cg"
- name "GenerateEmptyRegionSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "None"
- value 0)
- (object Attribute
- tool "cg"
- name "Preserved"
- value 1)
- (object Attribute
- tool "cg"
- name "Unpreserved"
- value 2)
- (object Attribute
- tool "cg"
- name "All"
- value 3)))
- (object Attribute
- tool "cg"
- name "PutBodiesInSpec"
- value FALSE)
- (object Attribute
- tool "cg"
- name "GenerateDefaultConstructor"
- value ("GenerateSet" 199))
- (object Attribute
- tool "cg"
- name "DefaultConstructorVisibility"
- value ("VisibilitySet" 45))
- (object Attribute
- tool "cg"
- name "InlineDefaultConstructor"
- value FALSE)
- (object Attribute
- tool "cg"
- name "ExplicitDefaultConstructor"
- value FALSE)
- (object Attribute
- tool "cg"
- name "GenerateCopyConstructor"
- value ("GenerateSet" 199))
- (object Attribute
- tool "cg"
- name "CopyConstructorVisibility"
- value ("VisibilitySet" 45))
- (object Attribute
- tool "cg"
- name "InlineCopyConstructor"
- value FALSE)
- (object Attribute
- tool "cg"
- name "ExplicitCopyConstructor"
- value FALSE)
- (object Attribute
- tool "cg"
- name "GenerateDestructor"
- value TRUE)
- (object Attribute
- tool "cg"
- name "DestructorVisibility"
- value ("VisibilitySet" 45))
- (object Attribute
- tool "cg"
- name "DestructorKind"
- value ("ThreeKindSet" 200))
- (object Attribute
- tool "cg"
- name "InlineDestructor"
- value FALSE)
- (object Attribute
- tool "cg"
- name "GenerateAssignmentOperation"
- value ("GenerateSet" 199))
- (object Attribute
- tool "cg"
- name "AssignmentVisibility"
- value ("VisibilitySet" 45))
- (object Attribute
- tool "cg"
- name "AssignmentKind"
- value ("ThreeKindSet" 200))
- (object Attribute
- tool "cg"
- name "InlineAssignmentOperation"
- value FALSE)
- (object Attribute
- tool "cg"
- name "GenerateEqualityOperations"
- value ("GenerateSet" 199))
- (object Attribute
- tool "cg"
- name "EqualityVisibility"
- value ("VisibilitySet" 45))
- (object Attribute
- tool "cg"
- name "EqualityKind"
- value ("FriendKindSet" 200))
- (object Attribute
- tool "cg"
- name "InlineEqualityOperations"
- value FALSE)
- (object Attribute
- tool "cg"
- name "GenerateRelationalOperations"
- value FALSE)
- (object Attribute
- tool "cg"
- name "RelationalVisibility"
- value ("VisibilitySet" 45))
- (object Attribute
- tool "cg"
- name "RelationalKind"
- value ("FriendKindSet" 200))
- (object Attribute
- tool "cg"
- name "InlineRelationalOperations"
- value FALSE)
- (object Attribute
- tool "cg"
- name "GenerateStorageMgmtOperations"
- value FALSE)
- (object Attribute
- tool "cg"
- name "StorageMgmtVisibility"
- value ("VisibilitySet" 45))
- (object Attribute
- tool "cg"
- name "InlineStorageMgmtOperations"
- value FALSE)
- (object Attribute
- tool "cg"
- name "GenerateSubscriptOperation"
- value FALSE)
- (object Attribute
- tool "cg"
- name "SubscriptVisibility"
- value ("VisibilitySet" 45))
- (object Attribute
- tool "cg"
- name "SubscriptKind"
- value ("ThreeKindSet" 200))
- (object Attribute
- tool "cg"
- name "SubscriptResultType"
- value "")
- (object Attribute
- tool "cg"
- name "InlineSubscriptOperation"
- value FALSE)
- (object Attribute
- tool "cg"
- name "GenerateDereferenceOperation"
- value FALSE)
- (object Attribute
- tool "cg"
- name "DereferenceVisibility"
- value ("VisibilitySet" 45))
- (object Attribute
- tool "cg"
- name "DereferenceKind"
- value ("ThreeKindSet" 200))
- (object Attribute
- tool "cg"
- name "DereferenceResultType"
- value "")
- (object Attribute
- tool "cg"
- name "InlineDereferenceOperation"
- value FALSE)
- (object Attribute
- tool "cg"
- name "GenerateIndirectionOperation"
- value FALSE)
- (object Attribute
- tool "cg"
- name "IndirectionVisibility"
- value ("VisibilitySet" 45))
- (object Attribute
- tool "cg"
- name "IndirectionKind"
- value ("ThreeKindSet" 200))
- (object Attribute
- tool "cg"
- name "IndirectionResultType"
- value "")
- (object Attribute
- tool "cg"
- name "InlineIndirectionOperation"
- value FALSE)
- (object Attribute
- tool "cg"
- name "GenerateStreamOperations"
- value FALSE)
- (object Attribute
- tool "cg"
- name "StreamVisibility"
- value ("VisibilitySet" 45))
- (object Attribute
- tool "cg"
- name "InlineStreamOperations"
- value FALSE)
- (object Attribute
- tool "cg"
- name "ThreeKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Common"
- value 200)
- (object Attribute
- tool "cg"
- name "Virtual"
- value 201)
- (object Attribute
- tool "cg"
- name "Abstract"
- value 202)))
- (object Attribute
- tool "cg"
- name "KindSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Common"
- value 200)
- (object Attribute
- tool "cg"
- name "Virtual"
- value 201)
- (object Attribute
- tool "cg"
- name "Abstract"
- value 202)
- (object Attribute
- tool "cg"
- name "Static"
- value 203)))
- (object Attribute
- tool "cg"
- name "FriendKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Common"
- value 200)
- (object Attribute
- tool "cg"
- name "Virtual"
- value 201)
- (object Attribute
- tool "cg"
- name "Abstract"
- value 202)
- (object Attribute
- tool "cg"
- name "Friend"
- value 204)))
- (object Attribute
- tool "cg"
- name "GenerateSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "DeclareAndDefine"
- value 199)
- (object Attribute
- tool "cg"
- name "DeclareOnly"
- value 205)
- (object Attribute
- tool "cg"
- name "DoNotDeclare"
- value 206)))
- (object Attribute
- tool "cg"
- name "VisibilitySet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Public"
- value 45)
- (object Attribute
- tool "cg"
- name "Protected"
- value 44)
- (object Attribute
- tool "cg"
- name "Private"
- value 43)
- (object Attribute
- tool "cg"
- name "Implementation"
- value 14)))))
- (object Attribute
- tool "cg"
- name "default__Module-Spec"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Generate"
- value TRUE)
- (object Attribute
- tool "cg"
- name "GenerateEmptyRegions"
- value ("GenerateEmptyRegionSet" 3))
- (object Attribute
- tool "cg"
- name "GenerateEmptyRegionSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "None"
- value 0)
- (object Attribute
- tool "cg"
- name "Preserved"
- value 1)
- (object Attribute
- tool "cg"
- name "Unpreserved"
- value 2)
- (object Attribute
- tool "cg"
- name "All"
- value 3)))
- (object Attribute
- tool "cg"
- name "CmIdentification"
- value (value Text " %X% %Q% %Z% %W%"))
- (object Attribute
- tool "cg"
- name "CopyrightNotice"
- value (value Text ""))
- (object Attribute
- tool "cg"
- name "FileName"
- value "AUTO GENERATE")
- (object Attribute
- tool "cg"
- name "AllowExtensionlessFileName"
- value FALSE)
- (object Attribute
- tool "cg"
- name "InclusionProtectionSymbol"
- value "AUTO GENERATE")
- (object Attribute
- tool "cg"
- name "IncludeFormat"
- value (value Text
-|// $package
-|#include "$file"
-|
- ))
- (object Attribute
- tool "cg"
- name "IncludeBySimpleName"
- value FALSE)
- (object Attribute
- tool "cg"
- name "IncludePrecompiledHeader"
- value FALSE)
- (object Attribute
- tool "cg"
- name "IncludeOrder"
- value "AMIR")
- (object Attribute
- tool "cg"
- name "AdditionalIncludes"
- value (value Text ""))
- (object Attribute
- tool "cg"
- name "InliningStyle"
- value ("InliningStyleSet" 207))
- (object Attribute
- tool "cg"
- name "InliningStyleSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "InClassDeclaration"
- value 208)
- (object Attribute
- tool "cg"
- name "FollowingClassDeclaration"
- value 207)))
- (object Attribute
- tool "cg"
- name "TypesDefined"
- value (value Text ""))
- (object Attribute
- tool "cg"
- name "IncludeClosure"
- value (value Text ""))))
- (object Attribute
- tool "cg"
- name "default__Module-Body"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Generate"
- value TRUE)
- (object Attribute
- tool "cg"
- name "GenerateEmptyRegions"
- value ("GenerateEmptyRegionSet" 3))
- (object Attribute
- tool "cg"
- name "GenerateEmptyRegionSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "None"
- value 0)
- (object Attribute
- tool "cg"
- name "Preserved"
- value 1)
- (object Attribute
- tool "cg"
- name "Unpreserved"
- value 2)
- (object Attribute
- tool "cg"
- name "All"
- value 3)))
- (object Attribute
- tool "cg"
- name "CmIdentification"
- value (value Text " %X% %Q% %Z% %W%"))
- (object Attribute
- tool "cg"
- name "CopyrightNotice"
- value (value Text ""))
- (object Attribute
- tool "cg"
- name "FileName"
- value "AUTO GENERATE")
- (object Attribute
- tool "cg"
- name "AllowExtensionlessFileName"
- value FALSE)
- (object Attribute
- tool "cg"
- name "IncludeFormat"
- value (value Text
-|// $package
-|#include "$file"
-|
- ))
- (object Attribute
- tool "cg"
- name "IncludeBySimpleName"
- value FALSE)
- (object Attribute
- tool "cg"
- name "IncludePrecompiledHeader"
- value TRUE)
- (object Attribute
- tool "cg"
- name "IncludeOrder"
- value "AMIR")
- (object Attribute
- tool "cg"
- name "AdditionalIncludes"
- value (value Text ""))
- (object Attribute
- tool "cg"
- name "InliningStyle"
- value ("InliningStyleSet" 207))
- (object Attribute
- tool "cg"
- name "InliningStyleSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "InClassDeclaration"
- value 208)
- (object Attribute
- tool "cg"
- name "FollowingClassDeclaration"
- value 207)))
- (object Attribute
- tool "cg"
- name "TypesDefined"
- value (value Text ""))
- (object Attribute
- tool "cg"
- name "IncludeClosure"
- value (value Text ""))))
- (object Attribute
- tool "cg"
- name "default__Operation"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "CodeName"
- value "")
- (object Attribute
- tool "cg"
- name "OperationKind"
- value ("OperationKindSet" 200))
- (object Attribute
- tool "cg"
- name "OperationKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Common"
- value 200)
- (object Attribute
- tool "cg"
- name "Virtual"
- value 201)
- (object Attribute
- tool "cg"
- name "Abstract"
- value 202)
- (object Attribute
- tool "cg"
- name "Static"
- value 203)
- (object Attribute
- tool "cg"
- name "Friend"
- value 204)))
- (object Attribute
- tool "cg"
- name "GenerateAbstractBody"
- value FALSE)
- (object Attribute
- tool "cg"
- name "GenerateFriendBody"
- value FALSE)
- (object Attribute
- tool "cg"
- name "GenerateFriendDecl"
- value FALSE)
- (object Attribute
- tool "cg"
- name "SpecialDeclReturnType"
- value "")
- (object Attribute
- tool "cg"
- name "OperationIsConst"
- value FALSE)
- (object Attribute
- tool "cg"
- name "OperationIsExplicit"
- value FALSE)
- (object Attribute
- tool "cg"
- name "Inline"
- value FALSE)
- (object Attribute
- tool "cg"
- name "EntryCode"
- value (value Text ""))
- (object Attribute
- tool "cg"
- name "ExitCode"
- value (value Text ""))
- (object Attribute
- tool "cg"
- name "CCRegion"
- value "")
- (object Attribute
- tool "cg"
- name "GenerateEmptyRegions"
- value ("GenerateEmptyRegionSet" 3))
- (object Attribute
- tool "cg"
- name "GenerateEmptyRegionSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "None"
- value 0)
- (object Attribute
- tool "cg"
- name "Preserved"
- value 1)
- (object Attribute
- tool "cg"
- name "Unpreserved"
- value 2)
- (object Attribute
- tool "cg"
- name "All"
- value 3)))
- (object Attribute
- tool "cg"
- name "BodyAnnotations"
- value "")))
- (object Attribute
- tool "cg"
- name "default__Has"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "CodeName"
- value "")
- (object Attribute
- tool "cg"
- name "Ordered"
- value TRUE)
- (object Attribute
- tool "cg"
- name "NameIfUnlabeled"
- value "the_$supplier")
- (object Attribute
- tool "cg"
- name "GenerateDataMember"
- value TRUE)
- (object Attribute
- tool "cg"
- name "DataMemberName"
- value "$relationship")
- (object Attribute
- tool "cg"
- name "DataMemberVisibility"
- value ("DataMemberVisibilitySet" 14))
- (object Attribute
- tool "cg"
- name "DataMemberVisibilitySet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Public"
- value 45)
- (object Attribute
- tool "cg"
- name "Protected"
- value 44)
- (object Attribute
- tool "cg"
- name "Private"
- value 43)
- (object Attribute
- tool "cg"
- name "Implementation"
- value 14)
- (object Attribute
- tool "cg"
- name "AtRelationshipVisibility"
- value 210)))
- (object Attribute
- tool "cg"
- name "DataMemberMutability"
- value ("DataMemberMutabilitySet" 0))
- (object Attribute
- tool "cg"
- name "DataMemberMutabilitySet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Unrestricted"
- value 0)
- (object Attribute
- tool "cg"
- name "Mutable"
- value 1)
- (object Attribute
- tool "cg"
- name "Const"
- value 2)))
- (object Attribute
- tool "cg"
- name "DataMemberIsVolatile"
- value FALSE)
- (object Attribute
- tool "cg"
- name "DataMemberFieldSize"
- value "")
- (object Attribute
- tool "cg"
- name "InitialValue"
- value (value Text ""))
- (object Attribute
- tool "cg"
- name "GenerateGetOperation"
- value TRUE)
- (object Attribute
- tool "cg"
- name "GenerateSetOperation"
- value TRUE)
- (object Attribute
- tool "cg"
- name "GetName"
- value "get_$relationship")
- (object Attribute
- tool "cg"
- name "SetName"
- value "set_$relationship")
- (object Attribute
- tool "cg"
- name "GetSetKinds"
- value ("GetSetKindsSet" 200))
- (object Attribute
- tool "cg"
- name "GetSetKindsSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Common"
- value 200)
- (object Attribute
- tool "cg"
- name "Virtual"
- value 201)
- (object Attribute
- tool "cg"
- name "Abstract"
- value 202)
- (object Attribute
- tool "cg"
- name "Static"
- value 203)
- (object Attribute
- tool "cg"
- name "Friend"
- value 204)))
- (object Attribute
- tool "cg"
- name "ContainerClass"
- value "")
- (object Attribute
- tool "cg"
- name "SelectorName"
- value "")
- (object Attribute
- tool "cg"
- name "SelectorType"
- value "")
- (object Attribute
- tool "cg"
- name "GetIsConst"
- value TRUE)
- (object Attribute
- tool "cg"
- name "GetResultIsConst"
- value ("GetResultIsConstSet" 2))
- (object Attribute
- tool "cg"
- name "GetResultIsConstSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "False"
- value 0)
- (object Attribute
- tool "cg"
- name "True"
- value 1)
- (object Attribute
- tool "cg"
- name "Same_As_Function"
- value 2)))
- (object Attribute
- tool "cg"
- name "GetSetByReference"
- value FALSE)
- (object Attribute
- tool "cg"
- name "InlineGet"
- value TRUE)
- (object Attribute
- tool "cg"
- name "SetReturnsValue"
- value FALSE)
- (object Attribute
- tool "cg"
- name "InlineSet"
- value TRUE)
- (object Attribute
- tool "cg"
- name "ForwardReferenceOnly"
- value FALSE)
- (object Attribute
- tool "cg"
- name "HasRelTypeSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Array"
- value 24)
- (object Attribute
- tool "cg"
- name "Sequence"
- value 47)))))
- (object Attribute
- tool "cg"
- name "default__Association"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "NameIfUnlabeled"
- value "the_$targetClass")))
- (object Attribute
- tool "cg"
- name "default__Inherit"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "InstanceArguments"
- value "")))
- (object Attribute
- tool "cg"
- name "default__Role"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "CodeName"
- value "")
- (object Attribute
- tool "cg"
- name "ForwardReferenceOnly"
- value FALSE)
- (object Attribute
- tool "cg"
- name "NameIfUnlabeled"
- value "the_$targetClass")
- (object Attribute
- tool "cg"
- name "GenerateDataMember"
- value TRUE)
- (object Attribute
- tool "cg"
- name "DataMemberName"
- value "$target")
- (object Attribute
- tool "cg"
- name "DataMemberVisibility"
- value ("DataMemberVisibilitySet" 14))
- (object Attribute
- tool "cg"
- name "DataMemberVisibilitySet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Public"
- value 45)
- (object Attribute
- tool "cg"
- name "Protected"
- value 44)
- (object Attribute
- tool "cg"
- name "Private"
- value 43)
- (object Attribute
- tool "cg"
- name "Implementation"
- value 14)
- (object Attribute
- tool "cg"
- name "AtRelationshipVisibility"
- value 210)))
- (object Attribute
- tool "cg"
- name "DataMemberMutability"
- value ("DataMemberMutabilitySet" 0))
- (object Attribute
- tool "cg"
- name "DataMemberMutabilitySet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Unrestricted"
- value 0)
- (object Attribute
- tool "cg"
- name "Mutable"
- value 1)
- (object Attribute
- tool "cg"
- name "Const"
- value 2)))
- (object Attribute
- tool "cg"
- name "DataMemberIsVolatile"
- value FALSE)
- (object Attribute
- tool "cg"
- name "DataMemberFieldSize"
- value "")
- (object Attribute
- tool "cg"
- name "InitialValue"
- value (value Text ""))
- (object Attribute
- tool "cg"
- name "ContainerClass"
- value "")
- (object Attribute
- tool "cg"
- name "ContainerGet"
- value "$data.get($keys)")
- (object Attribute
- tool "cg"
- name "ContainerSet"
- value "$data.set($keys,$value)")
- (object Attribute
- tool "cg"
- name "QualifiedContainer"
- value "")
- (object Attribute
- tool "cg"
- name "AssocClassContainer"
- value "$supplier *")
- (object Attribute
- tool "cg"
- name "AssocClassInitialValue"
- value (value Text ""))
- (object Attribute
- tool "cg"
- name "GetSetKinds"
- value ("GetSetKindsSet" 200))
- (object Attribute
- tool "cg"
- name "GetSetKindsSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Common"
- value 200)
- (object Attribute
- tool "cg"
- name "Virtual"
- value 201)
- (object Attribute
- tool "cg"
- name "Abstract"
- value 202)
- (object Attribute
- tool "cg"
- name "Static"
- value 203)
- (object Attribute
- tool "cg"
- name "Friend"
- value 204)))
- (object Attribute
- tool "cg"
- name "GetSetByReference"
- value FALSE)
- (object Attribute
- tool "cg"
- name "GenerateGetOperation"
- value TRUE)
- (object Attribute
- tool "cg"
- name "GetName"
- value "get_$target")
- (object Attribute
- tool "cg"
- name "GetIsConst"
- value TRUE)
- (object Attribute
- tool "cg"
- name "GetResultIsConst"
- value ("GetResultIsConstSet" 2))
- (object Attribute
- tool "cg"
- name "GetResultIsConstSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "False"
- value 0)
- (object Attribute
- tool "cg"
- name "True"
- value 1)
- (object Attribute
- tool "cg"
- name "Same_As_Function"
- value 2)))
- (object Attribute
- tool "cg"
- name "InlineGet"
- value TRUE)
- (object Attribute
- tool "cg"
- name "GenerateSetOperation"
- value TRUE)
- (object Attribute
- tool "cg"
- name "SetName"
- value "set_$target")
- (object Attribute
- tool "cg"
- name "SetReturnsValue"
- value FALSE)
- (object Attribute
- tool "cg"
- name "InlineSet"
- value TRUE)
- (object Attribute
- tool "cg"
- name "QualifiedGetSetByReference"
- value ("QualifiedGetSetByReferenceSet" 2))
- (object Attribute
- tool "cg"
- name "QualifiedGetSetByReferenceSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "False"
- value 0)
- (object Attribute
- tool "cg"
- name "True"
- value 1)
- (object Attribute
- tool "cg"
- name "Same_As_GetSetByReference"
- value 2)))
- (object Attribute
- tool "cg"
- name "GenerateQualifiedGetOperation"
- value TRUE)
- (object Attribute
- tool "cg"
- name "QualifiedGetName"
- value "get_$target")
- (object Attribute
- tool "cg"
- name "QualifiedGetIsConst"
- value TRUE)
- (object Attribute
- tool "cg"
- name "QualifiedGetResultIsConst"
- value ("GetResultIsConstSet" 2))
- (object Attribute
- tool "cg"
- name "InlineQualifiedGet"
- value TRUE)
- (object Attribute
- tool "cg"
- name "GenerateQualifiedSetOperation"
- value TRUE)
- (object Attribute
- tool "cg"
- name "QualifiedSetName"
- value "set_$target")
- (object Attribute
- tool "cg"
- name "QualifiedSetReturnsValue"
- value FALSE)
- (object Attribute
- tool "cg"
- name "InlineQualifiedSet"
- value TRUE)
- (object Attribute
- tool "cg"
- name "GenerateAssocClassDataMember"
- value TRUE)
- (object Attribute
- tool "cg"
- name "AssocClassDataMemberName"
- value "$target")
- (object Attribute
- tool "cg"
- name "AssocClassDataMemberVisibility"
- value ("DataMemberVisibilitySet" 14))
- (object Attribute
- tool "cg"
- name "DataMemberVisibilitySet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Public"
- value 45)
- (object Attribute
- tool "cg"
- name "Protected"
- value 44)
- (object Attribute
- tool "cg"
- name "Private"
- value 43)
- (object Attribute
- tool "cg"
- name "Implementation"
- value 14)
- (object Attribute
- tool "cg"
- name "AtRelationshipVisibility"
- value 210)))
- (object Attribute
- tool "cg"
- name "AssocClassDataMemberMutability"
- value ("DataMemberMutabilitySet" 0))
- (object Attribute
- tool "cg"
- name "DataMemberMutabilitySet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Unrestricted"
- value 0)
- (object Attribute
- tool "cg"
- name "Mutable"
- value 1)
- (object Attribute
- tool "cg"
- name "Const"
- value 2)))
- (object Attribute
- tool "cg"
- name "AssocClassDataMemberIsVolatile"
- value FALSE)
- (object Attribute
- tool "cg"
- name "AssocClassGetSetKinds"
- value ("GetSetKindsSet" 200))
- (object Attribute
- tool "cg"
- name "GenerateAssocClassGetOperation"
- value TRUE)
- (object Attribute
- tool "cg"
- name "AssocClassGetName"
- value "get_$target")
- (object Attribute
- tool "cg"
- name "AssocClassGetIsConst"
- value TRUE)
- (object Attribute
- tool "cg"
- name "AssocClassGetResultIsConst"
- value ("GetResultIsConstSet" 2))
- (object Attribute
- tool "cg"
- name "InlineAssocClassGet"
- value TRUE)
- (object Attribute
- tool "cg"
- name "GenerateAssocClassSetOperation"
- value TRUE)
- (object Attribute
- tool "cg"
- name "AssocClassSetName"
- value "set_$target")
- (object Attribute
- tool "cg"
- name "AssocClassSetReturnsValue"
- value FALSE)
- (object Attribute
- tool "cg"
- name "InlineAssocClassSet"
- value TRUE)
- (object Attribute
- tool "cg"
- name "AssocClassForwardReferenceOnly"
- value TRUE)
- (object Attribute
- tool "cg"
- name "AssocTypeSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Array"
- value 24)
- (object Attribute
- tool "cg"
- name "Sequence"
- value 47)))))
- (object Attribute
- tool "cg"
- name "default__Attribute"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "CodeName"
- value "")
- (object Attribute
- tool "cg"
- name "GenerateDataMember"
- value TRUE)
- (object Attribute
- tool "cg"
- name "DataMemberName"
- value "$attribute")
- (object Attribute
- tool "cg"
- name "DataMemberVisibility"
- value ("DataMemberVisibilitySet" 14))
- (object Attribute
- tool "cg"
- name "DataMemberVisibilitySet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Public"
- value 45)
- (object Attribute
- tool "cg"
- name "Protected"
- value 44)
- (object Attribute
- tool "cg"
- name "Private"
- value 43)
- (object Attribute
- tool "cg"
- name "Implementation"
- value 14)
- (object Attribute
- tool "cg"
- name "AtAttributeVisibility"
- value 211)))
- (object Attribute
- tool "cg"
- name "DataMemberMutability"
- value ("DataMemberMutabilitySet" 0))
- (object Attribute
- tool "cg"
- name "DataMemberMutabilitySet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Unrestricted"
- value 0)
- (object Attribute
- tool "cg"
- name "Mutable"
- value 1)
- (object Attribute
- tool "cg"
- name "Const"
- value 2)))
- (object Attribute
- tool "cg"
- name "DataMemberIsVolatile"
- value FALSE)
- (object Attribute
- tool "cg"
- name "DataMemberFieldSize"
- value "")
- (object Attribute
- tool "cg"
- name "GenerateGetOperation"
- value TRUE)
- (object Attribute
- tool "cg"
- name "GenerateSetOperation"
- value TRUE)
- (object Attribute
- tool "cg"
- name "GetName"
- value "get_$attribute")
- (object Attribute
- tool "cg"
- name "SetName"
- value "set_$attribute")
- (object Attribute
- tool "cg"
- name "GetSetKinds"
- value ("GetSetKindsSet" 200))
- (object Attribute
- tool "cg"
- name "GetSetKindsSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Common"
- value 200)
- (object Attribute
- tool "cg"
- name "Virtual"
- value 201)
- (object Attribute
- tool "cg"
- name "Abstract"
- value 202)
- (object Attribute
- tool "cg"
- name "Static"
- value 203)
- (object Attribute
- tool "cg"
- name "Friend"
- value 204)))
- (object Attribute
- tool "cg"
- name "GetIsConst"
- value TRUE)
- (object Attribute
- tool "cg"
- name "GetResultIsConst"
- value ("GetResultIsConstSet" 2))
- (object Attribute
- tool "cg"
- name "GetResultIsConstSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "False"
- value 0)
- (object Attribute
- tool "cg"
- name "True"
- value 1)
- (object Attribute
- tool "cg"
- name "Same_As_Function"
- value 2)))
- (object Attribute
- tool "cg"
- name "GetSetByReference"
- value FALSE)
- (object Attribute
- tool "cg"
- name "InlineGet"
- value TRUE)
- (object Attribute
- tool "cg"
- name "SetReturnsValue"
- value FALSE)
- (object Attribute
- tool "cg"
- name "InlineSet"
- value TRUE)
- (object Attribute
- tool "cg"
- name "CCRegion"
- value "")))
- (object Attribute
- tool "cg"
- name "default__Uses"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "ForwardReferenceOnly"
- value FALSE)
- (object Attribute
- tool "cg"
- name "BodyReferenceOnly"
- value FALSE)))
- (object Attribute
- tool "cg"
- name "default__Subsystem"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Directory"
- value "AUTO GENERATE")
- (object Attribute
- tool "cg"
- name "DirectoryIsOnSearchList"
- value FALSE)
- (object Attribute
- tool "cg"
- name "PrecompiledHeader"
- value "")))
- (object Attribute
- tool "cg"
- name "default__Category"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "IsNamespace"
- value FALSE)
- (object Attribute
- tool "cg"
- name "Indent"
- value 2)
- (object Attribute
- tool "cg"
- name "CodeName"
- value "")
- (object Attribute
- tool "cg"
- name "GenerateEmptyRegions"
- value ("GenerateEmptyRegionSet" 3))
- (object Attribute
- tool "cg"
- name "GenerateEmptyRegionSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "None"
- value 0)
- (object Attribute
- tool "cg"
- name "Preserved"
- value 1)
- (object Attribute
- tool "cg"
- name "Unpreserved"
- value 2)
- (object Attribute
- tool "cg"
- name "All"
- value 3)))))
- (object Attribute
- tool "MSVC"
- name "propertyId"
- value "809135966")
- (object Attribute
- tool "MSVC"
- name "default__Project"
- value (list Attribute_Set
- (object Attribute
- tool "MSVC"
- name "Version"
- value "5.0")))
- (object Attribute
- tool "MSVC"
- name "default__Class"
- value (list Attribute_Set
- (object Attribute
- tool "MSVC"
- name "Type"
- value ("MSVCClassTypeSet" 0))
- (object Attribute
- tool "MSVC"
- name "MSVCClassTypeSet"
- value (list Attribute_Set
- (object Attribute
- tool "MSVC"
- name "Normal"
- value 0)
- (object Attribute
- tool "MSVC"
- name "Interface_Part"
- value 1)
- (object Attribute
- tool "MSVC"
- name "Connection_Part"
- value 2)
- (object Attribute
- tool "MSVC"
- name "Class_Factory"
- value 3)))
- (object Attribute
- tool "MSVC"
- name "CObjectFunctionality"
- value ("CObjectFunctionalitySet" 0))
- (object Attribute
- tool "MSVC"
- name "CObjectFunctionalitySet"
- value (list Attribute_Set
- (object Attribute
- tool "MSVC"
- name "None"
- value 0)
- (object Attribute
- tool "MSVC"
- name "Dynamic"
- value 1)
- (object Attribute
- tool "MSVC"
- name "Dyncreate"
- value 2)
- (object Attribute
- tool "MSVC"
- name "Serial"
- value 3)))
- (object Attribute
- tool "MSVC"
- name "GenerateOverrideGroup"
- value FALSE)
- (object Attribute
- tool "MSVC"
- name "GenerateDataGroup"
- value FALSE)
- (object Attribute
- tool "MSVC"
- name "AFX_DATA_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "GenerateFieldGroup"
- value FALSE)
- (object Attribute
- tool "MSVC"
- name "AFX_FIELD_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "GenerateMessageGroup"
- value FALSE)
- (object Attribute
- tool "MSVC"
- name "GenerateMessageMap"
- value FALSE)
- (object Attribute
- tool "MSVC"
- name "AFX_MSG_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "MESSAGE_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "OLEFactory"
- value ("OLEFactorySet" 0))
- (object Attribute
- tool "MSVC"
- name "OLEFactorySet"
- value (list Attribute_Set
- (object Attribute
- tool "MSVC"
- name "None"
- value 0)
- (object Attribute
- tool "MSVC"
- name "Built_in"
- value 1)
- (object Attribute
- tool "MSVC"
- name "Simple"
- value 2)
- (object Attribute
- tool "MSVC"
- name "Licensed"
- value 3)))
- (object Attribute
- tool "MSVC"
- name "OLEName"
- value "")
- (object Attribute
- tool "MSVC"
- name "OLEClassID"
- value "")
- (object Attribute
- tool "MSVC"
- name "GenerateOLECtlType"
- value FALSE)
- (object Attribute
- tool "MSVC"
- name "OLECtlType"
- value "")
- (object Attribute
- tool "MSVC"
- name "GenerateOLETypeLib"
- value FALSE)
- (object Attribute
- tool "MSVC"
- name "OLETypeLibID"
- value "")
- (object Attribute
- tool "MSVC"
- name "OLETypeLibMajor"
- value "")
- (object Attribute
- tool "MSVC"
- name "OLETypeLibMinor"
- value "")
- (object Attribute
- tool "MSVC"
- name "GeneratePropPageIDs"
- value FALSE)
- (object Attribute
- tool "MSVC"
- name "OLEPropPageIDs"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "GenerateDispatchMap"
- value FALSE)
- (object Attribute
- tool "MSVC"
- name "AFX_DISPATCH_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "AFX_DISPATCH_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "DISPATCH_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "StockProperties"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "StockFunctions"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "DispatchDefValue"
- value "")
- (object Attribute
- tool "MSVC"
- name "GenerateDispIdEnum"
- value FALSE)
- (object Attribute
- tool "MSVC"
- name "AFX_DISP_ID_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "GenerateInterfaceMap"
- value FALSE)
- (object Attribute
- tool "MSVC"
- name "INTERFACE_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "InitInterface"
- value "")
- (object Attribute
- tool "MSVC"
- name "GenerateEventMap"
- value FALSE)
- (object Attribute
- tool "MSVC"
- name "AFX_EVENT_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "AFX_EVENT_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "EVENT_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "StockEvents"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "GenerateEventSinkMap"
- value FALSE)
- (object Attribute
- tool "MSVC"
- name "AFX_EVENTSINK_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "AFX_EVENTSINK_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "EVENTSINK_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "PropNotifySinks"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "GenerateConnectionMap"
- value FALSE)
- (object Attribute
- tool "MSVC"
- name "CONNECTION_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "ConnectionPointIID"
- value "")
- (object Attribute
- tool "MSVC"
- name "InheritanceType"
- value "")
- (object Attribute
- tool "MSVC"
- name "DeclSpec"
- value "")
- (object Attribute
- tool "MSVC"
- name "OLECommands"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "MFCDeclares"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "MFCImplements"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "ATL_Declares"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "GenerateCOMMap"
- value FALSE)
- (object Attribute
- tool "MSVC"
- name "COM_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "GenerateConnectionPointMap"
- value FALSE)
- (object Attribute
- tool "MSVC"
- name "CONNECTION_POINT_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "GenerateMsgMap"
- value FALSE)
- (object Attribute
- tool "MSVC"
- name "MSG_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "GeneratePropertyMap"
- value FALSE)
- (object Attribute
- tool "MSVC"
- name "PROPERTY_MAP_Entries"
- value (value Text ""))))
- (object Attribute
- tool "MSVC"
- name "default__Operation"
- value (list Attribute_Set
- (object Attribute
- tool "MSVC"
- name "Type"
- value ("MSVCOperationTypeSet" 0))
- (object Attribute
- tool "MSVC"
- name "MSVCOperationTypeSet"
- value (list Attribute_Set
- (object Attribute
- tool "MSVC"
- name "Normal"
- value 0)
- (object Attribute
- tool "MSVC"
- name "Virtual_Override"
- value 1)
- (object Attribute
- tool "MSVC"
- name "Message_Handler"
- value 2)
- (object Attribute
- tool "MSVC"
- name "Dispatch_Handler"
- value 3)
- (object Attribute
- tool "MSVC"
- name "Event_Firing_Function"
- value 4)
- (object Attribute
- tool "MSVC"
- name "Event_Sink_Handler"
- value 5)
- (object Attribute
- tool "MSVC"
- name "Std_OLE_Method"
- value 6)
- (object Attribute
- tool "MSVC"
- name "Command_Parser"
- value 7)
- (object Attribute
- tool "MSVC"
- name "Property_Get_Function"
- value 8)
- (object Attribute
- tool "MSVC"
- name "Property_Set_Function"
- value 9)
- (object Attribute
- tool "MSVC"
- name "Property_Notify_Function"
- value 10)
- (object Attribute
- tool "MSVC"
- name "Macro_Generated_Function"
- value 11)))
- (object Attribute
- tool "MSVC"
- name "AFX_MSG_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "MESSAGE_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "AFX_DISPATCH_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "DISPATCH_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "AFX_EVENT_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "EVENT_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "AFX_EVENTSINK_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "EVENTSINK_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "CallType"
- value "")
- (object Attribute
- tool "MSVC"
- name "DeclSpec"
- value "")
- (object Attribute
- tool "MSVC"
- name "BodyImage"
- value (value Text ""))))
- (object Attribute
- tool "MSVC"
- name "default__Role"
- value (list Attribute_Set
- (object Attribute
- tool "MSVC"
- name "Type"
- value ("MSVCAttributeTypeSet" 0))
- (object Attribute
- tool "MSVC"
- name "MSVCAttributeTypeSet"
- value (list Attribute_Set
- (object Attribute
- tool "MSVC"
- name "Normal"
- value 0)
- (object Attribute
- tool "MSVC"
- name "Member_Property"
- value 1)
- (object Attribute
- tool "MSVC"
- name "Get_Set_Property"
- value 2)
- (object Attribute
- tool "MSVC"
- name "Dialog_Data"
- value 3)
- (object Attribute
- tool "MSVC"
- name "Field_Data"
- value 4)
- (object Attribute
- tool "MSVC"
- name "Stock_Property"
- value 5)))
- (object Attribute
- tool "MSVC"
- name "AFX_DISPATCH_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "DISPATCH_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "DeclSpec"
- value "")
- (object Attribute
- tool "MSVC"
- name "PointerBase"
- value "")
- (object Attribute
- tool "MSVC"
- name "CallType"
- value "")
- (object Attribute
- tool "MSVC"
- name "StockPropertyImplementation"
- value "")))
- (object Attribute
- tool "MSVC"
- name "default__Has"
- value (list Attribute_Set
- (object Attribute
- tool "MSVC"
- name "Type"
- value ("MSVCAttributeTypeSet" 0))
- (object Attribute
- tool "MSVC"
- name "MSVCAttributeTypeSet"
- value (list Attribute_Set
- (object Attribute
- tool "MSVC"
- name "Normal"
- value 0)
- (object Attribute
- tool "MSVC"
- name "Member_Property"
- value 1)
- (object Attribute
- tool "MSVC"
- name "Get_Set_Property"
- value 2)
- (object Attribute
- tool "MSVC"
- name "Dialog_Data"
- value 3)
- (object Attribute
- tool "MSVC"
- name "Field_Data"
- value 4)
- (object Attribute
- tool "MSVC"
- name "Stock_Property"
- value 5)))
- (object Attribute
- tool "MSVC"
- name "AFX_DISPATCH_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "DISPATCH_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "DeclSpec"
- value "")
- (object Attribute
- tool "MSVC"
- name "PointerBase"
- value "")
- (object Attribute
- tool "MSVC"
- name "CallType"
- value "")
- (object Attribute
- tool "MSVC"
- name "StockPropertyImplementation"
- value "")))
- (object Attribute
- tool "MSVC"
- name "default__Attribute"
- value (list Attribute_Set
- (object Attribute
- tool "MSVC"
- name "Type"
- value ("MSVCAttributeTypeSet" 0))
- (object Attribute
- tool "MSVC"
- name "MSVCAttributeTypeSet"
- value (list Attribute_Set
- (object Attribute
- tool "MSVC"
- name "Normal"
- value 0)
- (object Attribute
- tool "MSVC"
- name "Member_Property"
- value 1)
- (object Attribute
- tool "MSVC"
- name "Get_Set_Property"
- value 2)
- (object Attribute
- tool "MSVC"
- name "Dialog_Data"
- value 3)
- (object Attribute
- tool "MSVC"
- name "Field_Data"
- value 4)
- (object Attribute
- tool "MSVC"
- name "Stock_Property"
- value 5)))
- (object Attribute
- tool "MSVC"
- name "AFX_DISPATCH_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "DISPATCH_MAP_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "DeclSpec"
- value "")
- (object Attribute
- tool "MSVC"
- name "PointerBase"
- value "")
- (object Attribute
- tool "MSVC"
- name "CallType"
- value "")
- (object Attribute
- tool "MSVC"
- name "StockPropertyImplementation"
- value "")))
- (object Attribute
- tool "MSVC"
- name "default__Module-Spec"
- value (list Attribute_Set
- (object Attribute
- tool "MSVC"
- name "GenerateIncludesGroup"
- value FALSE)
- (object Attribute
- tool "MSVC"
- name "AFX_INCLUDES_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "GenerateInsertLocation"
- value FALSE)))
- (object Attribute
- tool "MSVC"
- name "default__Module-Body"
- value (list Attribute_Set
- (object Attribute
- tool "MSVC"
- name "GenerateIncludesGroup"
- value FALSE)
- (object Attribute
- tool "MSVC"
- name "AFX_INCLUDES_Entries"
- value (value Text ""))
- (object Attribute
- tool "MSVC"
- name "GenerateInsertLocation"
- value FALSE)))
- (object Attribute
- tool "cg"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "Rose Model Integrator"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "Rose Web Publisher"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "SoDA"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "TopLink"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "COM"
- name "propertyId"
- value "783606378")
- (object Attribute
- tool "COM"
- name "default__Class"
- value (list Attribute_Set
- (object Attribute
- tool "COM"
- name "TypeKinds"
- value (list Attribute_Set
- (object Attribute
- tool "COM"
- name "enum"
- value 100)
- (object Attribute
- tool "COM"
- name "record"
- value 101)
- (object Attribute
- tool "COM"
- name "module"
- value 102)
- (object Attribute
- tool "COM"
- name "interface"
- value 103)
- (object Attribute
- tool "COM"
- name "dispinterface"
- value 104)
- (object Attribute
- tool "COM"
- name "coclass"
- value 105)
- (object Attribute
- tool "COM"
- name "alias"
- value 106)
- (object Attribute
- tool "COM"
- name "union"
- value 107)
- (object Attribute
- tool "COM"
- name "max"
- value 108)
- (object Attribute
- tool "COM"
- name "(none)"
- value 109)))
- (object Attribute
- tool "COM"
- name "Generate"
- value TRUE)
- (object Attribute
- tool "COM"
- name "kind"
- value ("TypeKinds" 109))
- (object Attribute
- tool "COM"
- name "uuid"
- value "")
- (object Attribute
- tool "COM"
- name "version"
- value "")
- (object Attribute
- tool "COM"
- name "helpstring"
- value "")
- (object Attribute
- tool "COM"
- name "helpcontext"
- value "")
- (object Attribute
- tool "COM"
- name "attributes"
- value "")
- (object Attribute
- tool "COM"
- name "dllname"
- value "")
- (object Attribute
- tool "COM"
- name "alias"
- value "")))
- (object Attribute
- tool "COM"
- name "default__Operation"
- value (list Attribute_Set
- (object Attribute
- tool "COM"
- name "Generate"
- value TRUE)
- (object Attribute
- tool "COM"
- name "id"
- value "")
- (object Attribute
- tool "COM"
- name "helpstring"
- value "")
- (object Attribute
- tool "COM"
- name "attributes"
- value "")))
- (object Attribute
- tool "COM"
- name "default__Attribute"
- value (list Attribute_Set
- (object Attribute
- tool "COM"
- name "Generate"
- value TRUE)
- (object Attribute
- tool "COM"
- name "id"
- value "")
- (object Attribute
- tool "COM"
- name "helpstring"
- value "")
- (object Attribute
- tool "COM"
- name "attributes"
- value "")))
- (object Attribute
- tool "COM"
- name "default__Module-Spec"
- value (list Attribute_Set
- (object Attribute
- tool "COM"
- name "Generate"
- value TRUE)
- (object Attribute
- tool "COM"
- name "filename"
- value "")
- (object Attribute
- tool "COM"
- name "library"
- value "")
- (object Attribute
- tool "COM"
- name "uuid"
- value "")
- (object Attribute
- tool "COM"
- name "version"
- value "")
- (object Attribute
- tool "COM"
- name "helpstring"
- value "")
- (object Attribute
- tool "COM"
- name "helpfile"
- value "")
- (object Attribute
- tool "COM"
- name "helpcontext"
- value "")
- (object Attribute
- tool "COM"
- name "lcid"
- value "")
- (object Attribute
- tool "COM"
- name "attributes"
- value "")))
- (object Attribute
- tool "COM"
- name "default__Param"
- value (list Attribute_Set
- (object Attribute
- tool "COM"
- name "attributes"
- value "")))
- (object Attribute
- tool "COM"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "Visual Basic"
- name "propertyId"
- value "783606378")
- (object Attribute
- tool "Visual Basic"
- name "default__Class"
- value (list Attribute_Set
- (object Attribute
- tool "Visual Basic"
- name "UpdateCode"
- value TRUE)
- (object Attribute
- tool "Visual Basic"
- name "UpdateModel"
- value TRUE)
- (object Attribute
- tool "Visual Basic"
- name "InstancingSet"
- value (list Attribute_Set
- (object Attribute
- tool "Visual Basic"
- name "Private"
- value 221)
- (object Attribute
- tool "Visual Basic"
- name "PublicNotCreatable"
- value 213)
- (object Attribute
- tool "Visual Basic"
- name "SingleUse"
- value 214)
- (object Attribute
- tool "Visual Basic"
- name "GlobalSingleUse"
- value 215)
- (object Attribute
- tool "Visual Basic"
- name "MultiUse"
- value 219)
- (object Attribute
- tool "Visual Basic"
- name "GlobalMultiUse"
- value 220)))
- (object Attribute
- tool "Visual Basic"
- name "BaseSet"
- value (list Attribute_Set
- (object Attribute
- tool "Visual Basic"
- name "(none)"
- value 222)
- (object Attribute
- tool "Visual Basic"
- name "0"
- value 223)
- (object Attribute
- tool "Visual Basic"
- name "1"
- value 224)))
- (object Attribute
- tool "Visual Basic"
- name "OptionBase"
- value ("BaseSet" 222))
- (object Attribute
- tool "Visual Basic"
- name "OptionExplicit"
- value TRUE)
- (object Attribute
- tool "Visual Basic"
- name "OptionCompare"
- value ("CompareSet" 202))
- (object Attribute
- tool "Visual Basic"
- name "Instancing"
- value ("InstancingSet" 219))
- (object Attribute
- tool "Visual Basic"
- name "CompareSet"
- value (list Attribute_Set
- (object Attribute
- tool "Visual Basic"
- name "(none)"
- value 202)
- (object Attribute
- tool "Visual Basic"
- name "Binary"
- value 203)
- (object Attribute
- tool "Visual Basic"
- name "Text"
- value 204)))))
- (object Attribute
- tool "Visual Basic"
- name "default__Operation"
- value (list Attribute_Set
- (object Attribute
- tool "Visual Basic"
- name "LibraryName"
- value "")
- (object Attribute
- tool "Visual Basic"
- name "AliasName"
- value "")
- (object Attribute
- tool "Visual Basic"
- name "IsStatic"
- value FALSE)
- (object Attribute
- tool "Visual Basic"
- name "ProcedureID"
- value "")
- (object Attribute
- tool "Visual Basic"
- name "ReplaceExistingBody"
- value FALSE)
- (object Attribute
- tool "Visual Basic"
- name "DefaultBody"
- value (value Text ""))))
- (object Attribute
- tool "Visual Basic"
- name "default__Attribute"
- value (list Attribute_Set
- (object Attribute
- tool "Visual Basic"
- name "New"
- value FALSE)
- (object Attribute
- tool "Visual Basic"
- name "WithEvents"
- value FALSE)
- (object Attribute
- tool "Visual Basic"
- name "ProcedureID"
- value "")
- (object Attribute
- tool "Visual Basic"
- name "PropertyName"
- value "")
- (object Attribute
- tool "Visual Basic"
- name "Subscript"
- value "")))
- (object Attribute
- tool "Visual Basic"
- name "default__Role"
- value (list Attribute_Set
- (object Attribute
- tool "Visual Basic"
- name "UpdateCode"
- value TRUE)
- (object Attribute
- tool "Visual Basic"
- name "New"
- value FALSE)
- (object Attribute
- tool "Visual Basic"
- name "WithEvents"
- value FALSE)
- (object Attribute
- tool "Visual Basic"
- name "FullName"
- value FALSE)
- (object Attribute
- tool "Visual Basic"
- name "ProcedureID"
- value "")
- (object Attribute
- tool "Visual Basic"
- name "PropertyName"
- value "")
- (object Attribute
- tool "Visual Basic"
- name "Subscript"
- value "")))
- (object Attribute
- tool "Visual Basic"
- name "default__Inherit"
- value (list Attribute_Set
- (object Attribute
- tool "Visual Basic"
- name "ImplementsDelegation"
- value TRUE)
- (object Attribute
- tool "Visual Basic"
- name "FullName"
- value FALSE)))
- (object Attribute
- tool "Visual Basic"
- name "default__Param"
- value (list Attribute_Set
- (object Attribute
- tool "Visual Basic"
- name "ByVal"
- value FALSE)
- (object Attribute
- tool "Visual Basic"
- name "ByRef"
- value FALSE)
- (object Attribute
- tool "Visual Basic"
- name "Optional"
- value FALSE)
- (object Attribute
- tool "Visual Basic"
- name "ParamArray"
- value FALSE)))
- (object Attribute
- tool "Visual Basic"
- name "default__Module-Spec"
- value (list Attribute_Set
- (object Attribute
- tool "Visual Basic"
- name "ProjectFile"
- value "")
- (object Attribute
- tool "Visual Basic"
- name "UpdateCode"
- value TRUE)
- (object Attribute
- tool "Visual Basic"
- name "UpdateModel"
- value TRUE)
- (object Attribute
- tool "Visual Basic"
- name "ImportReferences"
- value TRUE)
- (object Attribute
- tool "Visual Basic"
- name "QuickImport"
- value TRUE)
- (object Attribute
- tool "Visual Basic"
- name "ImportBinary"
- value FALSE)))
- (object Attribute
- tool "Visual Basic"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "VisualStudio"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "Web Modeler"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "XML_DTD"
- name "propertyId"
- value "809135966")
- (object Attribute
- tool "XML_DTD"
- name "default__Project"
- value (list Attribute_Set
- (object Attribute
- tool "XML_DTD"
- name "CreateMissingDirectories"
- value TRUE)
- (object Attribute
- tool "XML_DTD"
- name "Editor"
- value ("EditorType" 100))
- (object Attribute
- tool "XML_DTD"
- name "StopOnError"
- value TRUE)
- (object Attribute
- tool "XML_DTD"
- name "EditorType"
- value (list Attribute_Set
- (object Attribute
- tool "XML_DTD"
- name "BuiltIn"
- value 100)
- (object Attribute
- tool "XML_DTD"
- name "WindowsShell"
- value 101)))))
- (object Attribute
- tool "XML_DTD"
- name "default__Class"
- value (list Attribute_Set
- (object Attribute
- tool "XML_DTD"
- name "Entity_SystemID"
- value "")
- (object Attribute
- tool "XML_DTD"
- name "Entity_PublicID"
- value "")
- (object Attribute
- tool "XML_DTD"
- name "NotationValue"
- value "")
- (object Attribute
- tool "XML_DTD"
- name "InternalValue"
- value "")
- (object Attribute
- tool "XML_DTD"
- name "ParameterEntity"
- value FALSE)
- (object Attribute
- tool "XML_DTD"
- name "ExternalEntity"
- value FALSE)
- (object Attribute
- tool "XML_DTD"
- name "Notation_SystemID"
- value "")
- (object Attribute
- tool "XML_DTD"
- name "Notation_PublicID"
- value "")))
- (object Attribute
- tool "XML_DTD"
- name "default__Attribute"
- value (list Attribute_Set
- (object Attribute
- tool "XML_DTD"
- name "DefaultDeclType"
- value "")))
- (object Attribute
- tool "XML_DTD"
- name "default__Module-Spec"
- value (list Attribute_Set
- (object Attribute
- tool "XML_DTD"
- name "Assign All"
- value FALSE)
- (object Attribute
- tool "XML_DTD"
- name "ComponentPath"
- value "")))
- (object Attribute
- tool "XML_DTD"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "framework"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "R2Editor"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "Version Control"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "Cplusplus"
- name "default__Module-Body"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "Synchronize"
- value TRUE)
- (object Attribute
- tool "Cplusplus"
- name "RevEngRootDirectory"
- value "")
- (object Attribute
- tool "Cplusplus"
- name "RootPackage"
- value "C++ Reverse Engineered")
- (object Attribute
- tool "Cplusplus"
- name "RevEngDirectoriesAsPackages"
- value FALSE)
- (object Attribute
- tool "Cplusplus"
- name "HeaderFileExtension"
- value ".h")
- (object Attribute
- tool "Cplusplus"
- name "ImplementationFileExtension"
- value ".cpp")
- (object Attribute
- tool "Cplusplus"
- name "NewHeaderFileDirectory"
- value "")
- (object Attribute
- tool "Cplusplus"
- name "NewImplementationFileDirectory"
- value "")
- (object Attribute
- tool "Cplusplus"
- name "FileCapitalization"
- value ("FileCapitalizationSet" 0))
- (object Attribute
- tool "Cplusplus"
- name "CodeGenExtraDirectories"
- value ("CodeGenExtraDirectoriesSet" 0))
- (object Attribute
- tool "Cplusplus"
- name "StripClassPrefix"
- value "")
- (object Attribute
- tool "Cplusplus"
- name "UseTabs"
- value FALSE)
- (object Attribute
- tool "Cplusplus"
- name "TabWidth"
- value 8)
- (object Attribute
- tool "Cplusplus"
- name "IndentWidth"
- value 4)
- (object Attribute
- tool "Cplusplus"
- name "AccessIndentation"
- value -2)
- (object Attribute
- tool "Cplusplus"
- name "ModelIdCommentRules"
- value ("ModelIdCommentRulesSet" 1))
- (object Attribute
- tool "Cplusplus"
- name "PageWidth"
- value 80)
- (object Attribute
- tool "Cplusplus"
- name "ClassMemberOrder"
- value ("MemberOrderSet" 1))
- (object Attribute
- tool "Cplusplus"
- name "OneParameterPerLine"
- value FALSE)
- (object Attribute
- tool "Cplusplus"
- name "NamespaceBraceStyle"
- value ("BraceStyleSet" 2))
- (object Attribute
- tool "Cplusplus"
- name "ClassBraceStyle"
- value ("BraceStyleSet" 2))
- (object Attribute
- tool "Cplusplus"
- name "FunctionBraceStyle"
- value ("BraceStyleSet" 2))
- (object Attribute
- tool "Cplusplus"
- name "Copyright"
- value (value Text ""))
- (object Attribute
- tool "Cplusplus"
- name "InitialHeaderIncludes"
- value (value Text ""))
- (object Attribute
- tool "Cplusplus"
- name "InitialBodyIncludes"
- value (value Text ""))
- (object Attribute
- tool "Cplusplus"
- name "CodeGenExtraDirectoriesSet"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "None"
- value 0)
- (object Attribute
- tool "Cplusplus"
- name "Namespaces"
- value 1)
- (object Attribute
- tool "Cplusplus"
- name "Packages"
- value 2)))
- (object Attribute
- tool "Cplusplus"
- name "FileCapitalizationSet"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "Same as model"
- value 0)
- (object Attribute
- tool "Cplusplus"
- name "Lower case"
- value 1)
- (object Attribute
- tool "Cplusplus"
- name "Upper case"
- value 2)
- (object Attribute
- tool "Cplusplus"
- name "Lower case with underscores"
- value 3)))
- (object Attribute
- tool "Cplusplus"
- name "BraceStyleSet"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "B1"
- value 1)
- (object Attribute
- tool "Cplusplus"
- name "B2"
- value 2)
- (object Attribute
- tool "Cplusplus"
- name "B3"
- value 3)
- (object Attribute
- tool "Cplusplus"
- name "B4"
- value 4)
- (object Attribute
- tool "Cplusplus"
- name "B5"
- value 5)))
- (object Attribute
- tool "Cplusplus"
- name "MemberOrderSet"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "Public First"
- value 1)
- (object Attribute
- tool "Cplusplus"
- name "Private First"
- value 2)
- (object Attribute
- tool "Cplusplus"
- name "Order by kind"
- value 3)
- (object Attribute
- tool "Cplusplus"
- name "Unordered"
- value 4)))
- (object Attribute
- tool "Cplusplus"
- name "ModelIdCommentRulesSet"
- value (list Attribute_Set
- (object Attribute
- tool "Cplusplus"
- name "Code generation only"
- value 1)
- (object Attribute
- tool "Cplusplus"
- name "Code generation and reverse engineering"
- value 2)
- (object Attribute
- tool "Cplusplus"
- name "Never generate model IDs"
- value 3)))))
- (object Attribute
- tool "Deploy"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "Ecore"
- name "default__Class"
- value (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "classifierName"
- value "")
- (object Attribute
- tool "Ecore"
- name "constraints"
- value "")
- (object Attribute
- tool "Ecore"
- name "xmlName"
- value "")
- (object Attribute
- tool "Ecore"
- name "xmlContentKind"
- value ("ContentKind" 0))
- (object Attribute
- tool "Ecore"
- name "ContentKind"
- value (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "Unspecified"
- value 0)
- (object Attribute
- tool "Ecore"
- name "Empty"
- value 1)
- (object Attribute
- tool "Ecore"
- name "Simple"
- value 2)
- (object Attribute
- tool "Ecore"
- name "Mixed"
- value 3)
- (object Attribute
- tool "Ecore"
- name "ElementOnly"
- value 4)))
- (object Attribute
- tool "Ecore"
- name "annotation"
- value "")))
- (object Attribute
- tool "Ecore"
- name "default__Operation"
- value (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "operationName"
- value "")
- (object Attribute
- tool "Ecore"
- name "isUnique"
- value TRUE)
- (object Attribute
- tool "Ecore"
- name "annotation"
- value ""))))
- quid "39EDFBE003B9"))
diff --git a/plugins/org.eclipse.jst.common.annotations.controller/.classpath b/plugins/org.eclipse.jst.common.annotations.controller/.classpath
deleted file mode 100644
index 409868143..000000000
--- a/plugins/org.eclipse.jst.common.annotations.controller/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="controller"/>
- <classpathentry kind="src" path="property_files"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.jst.common.annotations.controller/.cvsignore b/plugins/org.eclipse.jst.common.annotations.controller/.cvsignore
deleted file mode 100644
index 9910b2da3..000000000
--- a/plugins/org.eclipse.jst.common.annotations.controller/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-bin
-temp.folder
-build.xml
-controller.jar
diff --git a/plugins/org.eclipse.jst.common.annotations.controller/.project b/plugins/org.eclipse.jst.common.annotations.controller/.project
deleted file mode 100644
index 8cc7f2234..000000000
--- a/plugins/org.eclipse.jst.common.annotations.controller/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.jst.common.annotations.controller</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.PluginNature</nature>
- </natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.jst.common.annotations.controller/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.common.annotations.controller/META-INF/MANIFEST.MF
deleted file mode 100644
index 5a90739e3..000000000
--- a/plugins/org.eclipse.jst.common.annotations.controller/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,19 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Annotation Controller Plug-in
-Bundle-SymbolicName: org.eclipse.jst.common.annotations.controller; singleton:=true
-Bundle-Version: 0.7.0
-Bundle-ClassPath: controller.jar
-Bundle-Vendor: Eclipse.org
-Bundle-Localization: plugin
-Export-Package: org.eclipse.jst.common.internal.annotations.controller,
- org.eclipse.jst.common.internal.annotations.registry
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.emf.ecore,
- org.eclipse.wst.common.frameworks,
- org.eclipse.jdt.core,
- org.eclipse.wst.common.emf,
- org.eclipse.jst.common.annotations.core,
- org.eclipse.jem.util,
- org.eclipse.jem.workbench
diff --git a/plugins/org.eclipse.jst.common.annotations.controller/about.html b/plugins/org.eclipse.jst.common.annotations.controller/about.html
deleted file mode 100644
index 6f6b96c4c..000000000
--- a/plugins/org.eclipse.jst.common.annotations.controller/about.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>February 24, 2005</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/plugins/org.eclipse.jst.common.annotations.controller/build.properties b/plugins/org.eclipse.jst.common.annotations.controller/build.properties
deleted file mode 100644
index 3a63f7ede..000000000
--- a/plugins/org.eclipse.jst.common.annotations.controller/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 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
-###############################################################################
-bin.includes = .template,\
- plugin.xml,\
- src/,\
- controller.jar,\
- schema/,\
- META-INF/,\
- about.html
-src.includes = schema/
-source.controller.jar = controller/,\
- property_files/
-output.controller.jar = bin/
diff --git a/plugins/org.eclipse.jst.common.annotations.controller/controller/org/eclipse/jst/common/internal/annotations/controller/AnnotationsController.java b/plugins/org.eclipse.jst.common.annotations.controller/controller/org/eclipse/jst/common/internal/annotations/controller/AnnotationsController.java
deleted file mode 100644
index 31a30cd46..000000000
--- a/plugins/org.eclipse.jst.common.annotations.controller/controller/org/eclipse/jst/common/internal/annotations/controller/AnnotationsController.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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
- *******************************************************************************/
-/*
- * Created on Mar 25, 2004
- */
-package org.eclipse.jst.common.internal.annotations.controller;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * Annotations Controller interface used for communicating with emitters and determining available
- * tag sets
- */
-public interface AnnotationsController {
-
- /**
- * Determines if a tag handler is installed for the specified tag
- *
- * @param tagset
- * the name of a tagset (e.g. "ejb")
- * @return true only if the given tagset is available and enabled
- */
- public boolean isTagHandlerInstalled(String tagset);
-
- /**
- * Disables annotation processing for the specified resource
- *
- * @param modelObject
- * The Annotated EMF Object
- * @param tagset
- * The name of the annotations tagset to disable on the object
- * @return an IStatus representing success or failure
- */
- public IStatus disableAnnotations(EObject modelObject, String tagset);
-
- /**
- * Returns the associated annotated file if the specified model object was generated via
- * annotations from a parent resource and is enabled
- *
- * @param modelObject
- * The Annotated EMF Object
- * @return the annotated source file associated with the given modelObject
- */
- public IFile getEnabledAnnotationFile(EObject modelObject);
-
- /**
- * Process the annotations on the given resource during creation
- *
- * @return all files touched by the annotations processing
- * @throws CoreException
- * if a problem occurs while processing
- */
- public IFile[] process(IResource res) throws CoreException;
-
- /**
- * Process the annotations on the given resource array
- *
- * @return all files touched by the annotations processing
- * @throws CoreException
- * if a problem occurs while processing
- */
- public IFile[] process(IResource[] res) throws CoreException;
-
- /**
- * Provides the annotation processor an opportunity to initialize
- */
- public void initialize(IProject project);
-
- /**
- * Provides the annotation processor an opportunity to dispose and cleanup
- */
- public void dispose();
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jst.common.annotations.controller/controller/org/eclipse/jst/common/internal/annotations/controller/AnnotationsControllerHelper.java b/plugins/org.eclipse.jst.common.annotations.controller/controller/org/eclipse/jst/common/internal/annotations/controller/AnnotationsControllerHelper.java
deleted file mode 100644
index cf6568522..000000000
--- a/plugins/org.eclipse.jst.common.annotations.controller/controller/org/eclipse/jst/common/internal/annotations/controller/AnnotationsControllerHelper.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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.jst.common.internal.annotations.controller;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jem.workbench.utility.JemProjectUtilities;
-import org.eclipse.jst.common.internal.annotations.core.AnnotationsAdapter;
-
-/**
- * @author mdelder
- *
- */
-public class AnnotationsControllerHelper {
- private static final String ANNOTATION_BUILDER = "com.ibm.ws.rapiddeploy.annotations.core.AnnotationBuilder"; //$NON-NLS-1$
- public static final AnnotationsControllerHelper INSTANCE = new AnnotationsControllerHelper();
-
- protected AnnotationsControllerHelper() {
- super();
- }
-
- /**
- *
- * @param eObject
- * the annotated? model object
- * @return true only if the object has annotations
- */
- public boolean isAnnotated(EObject eObject) {
- return AnnotationsAdapter.getAnnotations(eObject, AnnotationsAdapter.GENERATED) != null;
- }
-
- /**
- * A convenience method to tag a model object as annotated
- *
- * @param eObject
- * @param value
- */
- public void setAnnotated(EObject eObject, String value) {
- AnnotationsAdapter.addAnnotations(eObject, AnnotationsAdapter.GENERATED, value);
- }
-
- /**
- * A convenience method to tag a model object as annotated Annotations Adapters can hold extra
- * information.
- *
- * @param eObject
- * @param name
- * A string key
- * @param value
- * A String value
- */
- public void addAnnotations(EObject eObject, String name, Object value) {
- AnnotationsAdapter.addAnnotations(eObject, name, value);
- }
-
- /**
- * A convenience method to tag a model object as annotated Annotations Adapters can hold extra
- * information.
- *
- * @param eObject
- * @param name
- * A string key
- * @param value
- * A String value
- */
- public Object getAnnotations(EObject eObject, String name) {
- return AnnotationsAdapter.getAnnotations(eObject, name);
- }
-
- /**
- * Acquires the generated annotation comment and parses the Fragment URL of the following form
- * to return the tagset name:
- *
- * com.acme.ejbs.MyEJB# <tagset>/ <fragment>. <fragment-pointer>
- *
- * @param eObject
- * The annotated object
- * @return the value of <tagset>in the URL example
- */
- public String getTagset(EObject eObject) {
-
- String generatedComment = (String) AnnotationsAdapter.getAnnotations(eObject, AnnotationsAdapter.GENERATED);
- if (generatedComment == null || generatedComment.length() == 0)
- return null;
- int poundit = generatedComment.indexOf('#');
- int slash = generatedComment.indexOf('/');
- if (poundit < 0 || slash < 0 || poundit >= slash)
- return null;
- return generatedComment.substring(poundit + 1, slash);
-
- }
-
- /**
- * Returns the CompilationUnit associated with the given model object
- *
- * @param eObject
- * an Annotated model Object
- * @return The compilation unit which was responsible for the generation of the model object
- */
- public ICompilationUnit getAnnotatedCU(EObject eObject) {
- String fragementString = (String) AnnotationsAdapter.getAnnotations(eObject, AnnotationsAdapter.GENERATED);
- if (fragementString == null)
- return null;
-
- String typeString = fragementString.substring(0, fragementString.indexOf('#'));
- IType itype;
-
- if (typeString != null && (itype = findType(typeString, eObject)) != null) {
- try {
- return itype.getCompilationUnit().getWorkingCopy(null);
- } catch (JavaModelException e) {
- Logger.getLogger().logError(e);
- }
- }
- return null;
- }
-
- protected IType findType(String type, EObject eObject) {
- IType result = null;
- IProject project = ProjectUtilities.getProject(eObject);
- IJavaProject javaProject = JemProjectUtilities.getJavaProject(project);
- if (javaProject != null)
- try {
- result = javaProject.findType(type);
- } catch (JavaModelException e) {
- Logger.getLogger().logError(e);
- }
- return result;
- }
-
- /**
- * Return true if <code>project</code> has annotation support enabled on it.
- *
- * @return
- */
- public boolean hasAnnotationSupport(IProject project) {
- return ProjectUtilities.hasBuilder(project, ANNOTATION_BUILDER);
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jst.common.annotations.controller/controller/org/eclipse/jst/common/internal/annotations/controller/AnnotationsControllerManager.java b/plugins/org.eclipse.jst.common.annotations.controller/controller/org/eclipse/jst/common/internal/annotations/controller/AnnotationsControllerManager.java
deleted file mode 100644
index ba0eb0c3c..000000000
--- a/plugins/org.eclipse.jst.common.annotations.controller/controller/org/eclipse/jst/common/internal/annotations/controller/AnnotationsControllerManager.java
+++ /dev/null
@@ -1,206 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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
- *******************************************************************************/
-/*
- * Created on Mar 25, 2004
- */
-package org.eclipse.jst.common.internal.annotations.controller;
-
-import java.util.Iterator;
-import java.util.Map;
-import java.util.SortedSet;
-import java.util.TreeSet;
-import java.util.WeakHashMap;
-
-import org.eclipse.core.resources.ICommand;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.jem.util.RegistryReader;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jst.common.internal.annotations.registry.AnnotationsControllerResources;
-import org.eclipse.wst.common.frameworks.internal.enablement.EnablementIdentifier;
-import org.eclipse.wst.common.frameworks.internal.enablement.EnablementIdentifierEvent;
-import org.eclipse.wst.common.frameworks.internal.enablement.EnablementManager;
-import org.eclipse.wst.common.frameworks.internal.enablement.IEnablementIdentifier;
-import org.eclipse.wst.common.frameworks.internal.enablement.IEnablementIdentifierListener;
-import org.eclipse.wst.common.frameworks.internal.enablement.Identifiable;
-import org.eclipse.wst.common.frameworks.internal.enablement.IdentifiableComparator;
-import org.eclipse.wst.common.internal.emf.utilities.Assert;
-
-
-/**
- * AnnotationsControllerRegistry for reading annotations controller extensions
- */
-public class AnnotationsControllerManager extends RegistryReader implements IEnablementIdentifierListener {
-
- public static final AnnotationsControllerManager INSTANCE = new AnnotationsControllerManager();
- public static final String ANNOTATION_BUILDER = "com.ibm.ws.rapiddeploy.annotations.core.AnnotationBuilder"; //$NON-NLS-1$
-
- static {
- INSTANCE.readRegistry();
- }
-
- private SortedSet descriptors;
-
- private Map annotationsControllers;
-
- public static class Descriptor implements Identifiable {
-
- public static final String ANNOTATIONS_CONTROLLER = "annotationsController"; //$NON-NLS-1$
-
- public static final String ATT_ID = "id"; //$NON-NLS-1$
-
- public static final String CLASS = "class"; //$NON-NLS-1$
-
- private final IConfigurationElement configElement;
- private final String ID;
- private final int loadOrder;
- private static int loadOrderCounter = 0;
-
- public Descriptor(IConfigurationElement aConfigElement) {
- super();
- Assert.isLegal(ANNOTATIONS_CONTROLLER.equals(aConfigElement.getName()), AnnotationsControllerResources.getString("AnnotationsControllerManager_ERROR_0")); //$NON-NLS-1$
- this.configElement = aConfigElement;
- this.ID = this.configElement.getAttribute(ATT_ID);
- loadOrder = loadOrderCounter++;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.wst.common.frameworks.internal.enablement.Identifiable#getID()
- */
- public String getID() {
- return ID;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.wst.common.frameworks.internal.enablement.Identifiable#getLoadOrder()
- */
- public int getLoadOrder() {
- return loadOrder;
- }
-
- public AnnotationsController createInstance() {
- AnnotationsController instance = null;
- try {
- instance = (AnnotationsController) configElement.createExecutableExtension(CLASS);
- } catch (CoreException e) {
- Logger.getLogger().logError(e);
- }
- return instance;
- }
- }
-
- /**
- * Default constructor
- */
- public AnnotationsControllerManager() {
- super("org.eclipse.jst.common.annotations.controller", "annotationsController"); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- /**
- * read extension element
- */
- public boolean readElement(IConfigurationElement element) {
- if (!element.getName().equals(Descriptor.ANNOTATIONS_CONTROLLER))
- return false;
- addAnnotationController(new Descriptor(element));
- return true;
- }
-
- /**
- * @param descriptor
- */
- protected void addAnnotationController(Descriptor descriptor) {
- EnablementManager.INSTANCE.getIdentifier(descriptor.getID(), null).addIdentifierListener(this);
- getDescriptors().add(descriptor);
- }
-
- /**
- * @return Returns the annotationControllers.
- */
- protected SortedSet getDescriptors() {
- if (descriptors == null)
- descriptors = new TreeSet(IdentifiableComparator.getInstance());
- return descriptors;
- }
-
- public Descriptor getDescriptor(IProject project) {
- for (Iterator iter = getDescriptors().iterator(); iter.hasNext();) {
- Descriptor descriptor = (Descriptor) iter.next();
- IEnablementIdentifier identifier = EnablementManager.INSTANCE.getIdentifier(descriptor.getID(), project);
- if (identifier.isEnabled())
- return descriptor;
- }
- return null;
- }
-
- /**
- * Determine if any annotations are supported
- */
- public boolean isAnyAnnotationsSupported() {
- return getDescriptors().size() > 0;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.wst.common.frameworks.internal.enablement.IEnablementIdentifierListener#identifierChanged(org.eclipse.wst.common.frameworks.internal.enablement.EnablementIdentifierEvent)
- */
- public void identifierChanged(EnablementIdentifierEvent identifierEvent) {
- IProject project = ((EnablementIdentifier) identifierEvent.getIdentifier()).getProject();
- getAnnotationsControllers().remove(project);
- }
-
- /**
- * Return the annotations controller for the specified project
- */
- public AnnotationsController getAnnotationsController(IProject project) {
- AnnotationsController controller = (AnnotationsController) getAnnotationsControllers().get(project);
- if (controller == null) {
- if (!hasBuilder(project, ANNOTATION_BUILDER))
- return null;
- Descriptor descriptor = getDescriptor(project);
- if (descriptor != null)
- getAnnotationsControllers().put(project, (controller = descriptor.createInstance()));
- }
-
- return controller;
- }
-
- /**
- * @return Returns the annotationControllers.
- */
- public Map getAnnotationsControllers() {
- if (annotationsControllers == null)
- annotationsControllers = new WeakHashMap();
- return annotationsControllers;
- }
-
- public boolean hasBuilder(IProject project, String builderName) {
- try {
- ICommand[] builders = project.getDescription().getBuildSpec();
- for (int i = 0; i < builders.length; i++) {
- ICommand builder = builders[i];
- if (builder != null) {
- if (builder.getBuilderName().equals(builderName))
- return true;
- }
- }
- } catch (Exception e) {
- // Do nothing
- }
- return false;
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jst.common.annotations.controller/controller/org/eclipse/jst/common/internal/annotations/registry/AnnotationTagDynamicInitializer.java b/plugins/org.eclipse.jst.common.annotations.controller/controller/org/eclipse/jst/common/internal/annotations/registry/AnnotationTagDynamicInitializer.java
deleted file mode 100644
index 85e8d8799..000000000
--- a/plugins/org.eclipse.jst.common.annotations.controller/controller/org/eclipse/jst/common/internal/annotations/registry/AnnotationTagDynamicInitializer.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/* ***************************************************************************************************
- * Licensed Materials - Property of IBM
- *
- * 5724-I66
- *
- * © Copyright IBM Corporation 2004. All Rights Reserved.
- *
- * Note to U.S. Government Users Restricted Rights: Use, duplication or disclosure restricted by GSA
- * ADP Schedule Contract with IBM Corp.
- *
- *****************************************************************************************************/
-package org.eclipse.jst.common.internal.annotations.registry;
-
-/**
- * This method will be called by the AnnotationTagRegistry
- * when it is time to register the tags for a given
- * TagSet. An AnnotationTagDynamicInitializer defined
- * using the annotationTagDynamicInitializer.
- *
- * @see com.ibm.wtp.annotations.registry.AnnotationTagRegistry
- */
-public interface AnnotationTagDynamicInitializer {
- void registerTags();
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jst.common.annotations.controller/controller/org/eclipse/jst/common/internal/annotations/registry/AnnotationTagRegistry.java b/plugins/org.eclipse.jst.common.annotations.controller/controller/org/eclipse/jst/common/internal/annotations/registry/AnnotationTagRegistry.java
deleted file mode 100644
index 3d3b97a59..000000000
--- a/plugins/org.eclipse.jst.common.annotations.controller/controller/org/eclipse/jst/common/internal/annotations/registry/AnnotationTagRegistry.java
+++ /dev/null
@@ -1,511 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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
- *******************************************************************************/
-/*
- * Created on Aug 22, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.jst.common.internal.annotations.registry;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.osgi.framework.Bundle;
-
-/**
- * @author kelleyp
- *
- * Singleton that parses the annotation tag information from the annotation-taghandler extension
- * point, and provides an interface for accessing it for other classes. Largely taken from the
- * AnnotationProcessor builder.
- */
-
-public class AnnotationTagRegistry {
-
- /**
- * Set to true once we've read in the annotation tag information from the plugin registry.
- */
- private static boolean initialized = false;
- private static final String ANNOTATION_TAG_INFO = "org.eclipse.jst.common.annotations.controller.AnnotationTagInfo"; //$NON-NLS-1$
-
- /**
- * List of tag specs for all of the tags.
- */
- private static ArrayList allTagSpecs = new ArrayList() {
- final private static long serialVersionUID = 8683452581122892190L;
-
- private void scopeAll(Collection c, boolean forAdd) {
- Iterator iter = c.iterator();
- while (iter.hasNext()) {
- TagSpec ts = (TagSpec) iter.next();
- if (forAdd)
- addScope(ts);
- else
- removeScope(ts);
- }
- }
-
- private void addScope(TagSpec ts) {
- if (ts == null)
- return;
- switch (ts.getScope()) {
- case TagSpec.FIELD :
- fieldTags.put(ts.getTagName(), ts);
- break;
- case TagSpec.METHOD :
- methodTags.put(ts.getTagName(), ts);
- break;
- case TagSpec.TYPE :
- typeTags.put(ts.getTagName(), ts);
- break;
- }
- }
-
- private void removeScope(TagSpec ts) {
- if (ts == null)
- return;
- switch (ts.getScope()) {
- case TagSpec.FIELD :
- fieldTags.remove(ts.getTagName());
- break;
- case TagSpec.METHOD :
- methodTags.remove(ts.getTagName());
- break;
- case TagSpec.TYPE :
- typeTags.remove(ts.getTagName());
- break;
- }
- }
-
- public void add(int index, Object element) {
- super.add(index, element);
- addScope((TagSpec)element);
- }
-
- public boolean add(Object o) {
- TagSpec newTagSpec = (TagSpec)o;
- // search for already existing tag spec with same name and same tag set name
- for (int i=0; i<this.size(); i++) {
- TagSpec tagSpec = (TagSpec) get(i);
- if (tagSpec.getTagName().equals(newTagSpec.getTagName())) {
- remove(tagSpec);
- removeScope(tagSpec);
- }
- }
- // add the new tag spec
- addScope(newTagSpec);
- return super.add(newTagSpec);
- }
-
- public boolean addAll(Collection c) {
- scopeAll(c, true);
- return super.addAll(c);
- }
-
- public boolean addAll(int index, Collection c) {
- scopeAll(c, true);
- return super.addAll(index, c);
- }
-
- public Object remove(int index) {
- Object result = super.remove(index);
- removeScope((TagSpec) result);
- return result;
- }
-
- public boolean remove(Object o) {
- removeScope((TagSpec) o);
- return super.remove(o);
- }
-
- public boolean removeAll(Collection c) {
- scopeAll(c, false);
- return super.removeAll(c);
- }
-
- public boolean retainAll(Collection c) {
- Iterator iter = this.iterator();
- while (iter.hasNext()) {
- TagSpec ts = (TagSpec) iter.next();
- if (!c.contains(ts))
- removeScope(ts);
- }
- return super.retainAll(c);
- }
- };
-
- /**
- * Map from a tag name to a InitTagInfo. Only live during up to the end of the init() method.
- */
- private static Hashtable tagAttribs = new Hashtable();
-
- /**
- * Division of tag names between allowed scopes.
- */
- private static Map methodTags = new HashMap();
-
- private static Map typeTags = new HashMap();
-
- private static Map fieldTags = new HashMap();
-
- private static final String CLASS_PROP = "class"; //$NON-NLS-1$
- private static final String DYNAMIC_INITIALIZER_EX_PT = "annotationTagDynamicInitializer"; //$NON-NLS-1$
- private static final String ANNOTATIONS_CONTROLLER_NAMESPACE = "org.eclipse.jst.common.annotations.controller"; //$NON-NLS-1$
-
- /**
- * Helper for init, parse the tag attributes for a AnnotationTagInfo tag.
- *
- * @param elems
- * Array of "attrib" configuration elements.
- * @param tagName
- * Lowercased name of the tag these attributes are associated with.
- */
- private static InitTagInfo parseTagAttribs(IConfigurationElement[] elems, String tagName, String scope) {
- int i;
- ArrayList attribList = new ArrayList();
-
- InitTagInfo tagInf = new InitTagInfo(tagName, scope, attribList);
-
- for (i = 0; i < elems.length; i++) {
- IConfigurationElement elem = elems[i];
-
- if (elem.getName().equalsIgnoreCase("attrib")) { //$NON-NLS-1$
- TagAttribSpec tas = new TagAttribSpec(elem.getAttribute("name"), elem.getAttribute("description")); //$NON-NLS-1$ //$NON-NLS-2$
- String use = elem.getAttribute("use"); //$NON-NLS-1$
-
- tas.setType(elem.getAttribute("type")); //$NON-NLS-1$
-
- // add valid values
- if ("enum".equals(elem.getAttribute("type"))) { //$NON-NLS-1$ //$NON-NLS-2$
- IConfigurationElement[] validValues = elem.getChildren("enumValues"); //$NON-NLS-1$
- List valuesList = new ArrayList();
- for (int j = 0; j < validValues.length; j++) {
- String value = validValues[j].getAttribute("value"); //$NON-NLS-1$
- valuesList.add(value);
- }
- String[] validValuesArray = new String[valuesList.size()];
- validValuesArray = (String[]) valuesList.toArray(validValuesArray);
-
- tas.setValidValues(validValuesArray);
- }
-
- if (use == null) {
- tas.clearRequired();
- } else if (use.equalsIgnoreCase("required")) { //$NON-NLS-1$
- tas.setRequired();
- } else if (use.equalsIgnoreCase("optional")) { //$NON-NLS-1$
- tas.clearRequired();
- } else {
- // Unlikely, unless annotation extension spec changes
- // without changes here.
- System.err.println(AnnotationsControllerResources.getString("AnnotationTagRegistry.9") + use); //$NON-NLS-1$
- return null;
- }
-
- IConfigurationElement[] elemUniqueArray = elem.getChildren("unique"); //$NON-NLS-1$
- if (elemUniqueArray.length > 0) {
- tas.setUnique();
- if (elemUniqueArray[0].getAttribute("scope") != null) //$NON-NLS-1$
- tas.getUnique().setScope(TagAttribSpec.uniqueScopeFromString(elemUniqueArray[0].getAttribute("scope"))); //$NON-NLS-1$
- if (elemUniqueArray.length > 1) {
- Logger.getLogger().logError(AnnotationsControllerResources.getString("TagAttribSpec.2") + elemUniqueArray.length); //$NON-NLS-1$
- }
- } else {
- tas.clearUnique();
- }
-
- attribList.add(tas);
- }
- }
- return tagInf;
- }
-
- /**
- * Return the tag set name from a full tag name.
- *
- * @param name
- * Full tag name (without the '@' at the beginning)
- * @return
- */
- public static String tagSetFromTagName(String name) {
- if (name == null)
- return null;
- int idx = name.lastIndexOf('.');
-
- if (idx != -1)
- return name.substring(0, idx);
- return ""; //$NON-NLS-1$
- }
-
- /**
- * Return the short name from a full tag name.
- *
- * @param name
- * Full tag name (without the '@' at the beginning)
- * @return
- */
- public static String tagFromTagName(String name) {
- if (name == null)
- return null;
- int idx = name.indexOf('.');
-
- if (idx != -1) {
- return name.substring(idx + 1);
- }
- // Default to the whole name being the tagset.
- return name;
- }
-
- /**
- * Reads in all of the tag attribute information from all annotation-tag-info extensions defined
- * in the system, and initializes the tagAttribs hashtable with them.
- *
- * @param registry
- */
- private static void readAllAttributeInfo(IExtensionPoint xp) {
-
- if (xp == null) {
- return;
- }
-
- IExtension[] exts = xp.getExtensions();
- Bundle bundle = null;
- for (int i = 0; i < exts.length; i++) {
- IConfigurationElement[] elems = exts[i].getConfigurationElements();
- bundle = Platform.getBundle(exts[i].getNamespace());
- String identifier = exts[i].getUniqueIdentifier();
-
- IConfigurationElement elem = null;
- String tagName = null;
- String scope = null;
- String tagSet = null;
- String fullTagName = null;
- for (int j = 0; j < elems.length; j++) {
- elem = elems[j];
- if (!elem.getName().equalsIgnoreCase("AnnotationTagInfo")) { //$NON-NLS-1$
- continue;
- }
- tagSet = elem.getAttribute("tagSet"); //$NON-NLS-1$
- tagName = elem.getAttribute("tagName"); //$NON-NLS-1$
- scope = elem.getAttribute("scope"); //$NON-NLS-1$
- if (isNullOrEmpty(tagSet) || isNullOrEmpty(tagName) || isNullOrEmpty(scope)) {
- Logger.getLogger().log(AnnotationsControllerResources.getString("AnnotationTagRegistry.10", new Object[]{identifier})); //$NON-NLS-1$ //$NON-NLS-2$
- continue;
- }
- fullTagName = tagSet + "." + tagName; //$NON-NLS-1$
-
- InitTagInfo tagInf = parseTagAttribs(elem.getChildren(), fullTagName.toLowerCase(), scope); //$NON-NLS-1$
- String key = (fullTagName + "#" + scope).toLowerCase(); //$NON-NLS-1$
- /*
- * There should only ever be one AnnotationTagInfo tag for any one annotation tag.
- */
- if (tagAttribs.containsKey(key)) {
- Logger.getLogger().log(AnnotationsControllerResources.getString("AnnotationTagRegistry.0") + tagName + "'."); //$NON-NLS-1$ //$NON-NLS-2$
- } else {
- tagInf.bundle = bundle;
- tagAttribs.put(key, tagInf);
- }
- }
- }
- }
-
- private static boolean isNullOrEmpty(String aString) {
- return aString == null || aString.length() == 0;
- }
-
- /**
- * Reads tagSpec information in from the plugin registry. Taken from AnnotationProcessor.
- *
- * @return True if initialization completed successfully.
- * @throws CoreException
- * If there were problems reading the registry.
- */
- private static/* synchronized */boolean init() throws CoreException {
-
- /* Prevent multiple initialization */
- if (initialized) {
- return true;
- }
- initializeStaticTagDefinitions();
- initiaizeDynamicTagDefinitions();
- initialized = true;
-
- /* Don't need this anymore */
- tagAttribs = null;
-
- return true;
- }
-
- private static void initializeStaticTagDefinitions() throws CoreException {
- IExtensionRegistry registry = Platform.getExtensionRegistry();
-
- // TODO: Not even checking the tagset extension point yet.
- IExtensionPoint xp = registry.getExtensionPoint(ANNOTATION_TAG_INFO);
-
- if (xp == null)
- return;
-
- IExtension[] x = xp.getExtensions();
-
- /* Get all tag attribute information */
- readAllAttributeInfo(xp);
- for (int j = 0; j < x.length; j++) {
- IConfigurationElement[] tagSpecs = x[j].getConfigurationElements();
- for (int i = 0; i < tagSpecs.length; i++) {
- IConfigurationElement tagSpec = tagSpecs[i];
- String tagName = tagSpec.getAttribute("tagSet") + "." + tagSpec.getAttribute("tagName"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- String scope = tagSpec.getAttribute("scope"); //$NON-NLS-1$
- String multiplicity = tagSpec.getAttribute("multiplicity"); //$NON-NLS-1$
- TagSpec ts = null;
- if (multiplicity != null)
- ts = new TagSpec(tagName, TagSpec.scopeFromString(scope), TagSpec.multiplicityFromString(multiplicity));
- else
- ts = new TagSpec(tagName, TagSpec.scopeFromString(scope), TagSpec.Multiplicity.ONE);
- String key = (tagName + "#" + scope).toLowerCase(); //$NON-NLS-1$
- InitTagInfo tagInf = (InitTagInfo) tagAttribs.get(key);
-
- allTagSpecs.add(ts);
-
- if (tagInf != null) {
- ts.setAttributes(tagInf.attributes);
- ts.setBundle(tagInf.bundle);
- }
- }
- }
- }
-
- private static void initiaizeDynamicTagDefinitions() {
- IExtensionPoint xp = Platform.getExtensionRegistry().getExtensionPoint(ANNOTATIONS_CONTROLLER_NAMESPACE, DYNAMIC_INITIALIZER_EX_PT);
- if (xp == null)
- return;
- IExtension[] extensions = xp.getExtensions();
- for (int i = 0; i < extensions.length; i++) {
- IExtension extension = extensions[i];
- IConfigurationElement[] elements = extension.getConfigurationElements();
- for (int j = 0; j < elements.length; j++) {
- try {
- AnnotationTagDynamicInitializer initializer = (AnnotationTagDynamicInitializer) elements[j].createExecutableExtension(CLASS_PROP);
- initializer.registerTags();
- } catch (CoreException e) {
- Logger.getLogger().logError(e);
- }
- }
- }
- }
-
- /**
- *
- * @return List of AnnotationTagRegistry.TagSpecs for all tags.
- * @throws CoreException
- * If there were problems reading the initialization data from the plugin registry.
- */
- public static synchronized List getAllTagSpecs() {
- return allTagSpecs;
- }
-
- public static synchronized boolean isMethodTag(String tagName) {
- return methodTags.containsKey(tagName);
- }
-
- public static synchronized boolean isFieldTag(String tagName) {
- return fieldTags.containsKey(tagName);
- }
-
- public static synchronized boolean isTypeTag(String tagName) {
- return typeTags.containsKey(tagName);
- }
-
- /**
- * Answers the tagspec for the specified method tag name.
- *
- * @param tagName
- * Full name for a tag.
- * @return a TagSpec for the tag name, or null if no tag with that name is registered.
- */
- public static synchronized TagSpec getMethodTag(String tagName) {
- return (TagSpec) methodTags.get(tagName);
- }
-
- /**
- * Answers the tagspec for the specified field tag name.
- *
- * @param tagName
- * Full name for a tag.
- * @return a TagSpec for the tag name, or null if no tag with that name is registered.
- */
- public static synchronized TagSpec getFieldTag(String tagName) {
- return (TagSpec) fieldTags.get(tagName);
- }
-
- /**
- * Answers the tagspec for the specified type tag name.
- *
- * @param tagName
- * Full name for a tag.
- * @return a TagSpec for the tag name, or null if no tag with that name is registered.
- */
- public static synchronized TagSpec getTypeTag(String tagName) {
- return (TagSpec) typeTags.get(tagName);
- }
-
- private static class InitTagInfo {
- private String name;
-
- private List attributes;
-
- private Bundle bundle;
-
- private String scope;
-
- public InitTagInfo(String name, String scope, List att) {
- attributes = att;
- this.name = name;
- this.scope = scope;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.lang.Object#equals(java.lang.Object)
- */
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- else if (!(obj instanceof InitTagInfo))
- return false;
-
- return name.equals(((InitTagInfo) obj).name) || (scope.equals(((InitTagInfo) obj).name));
-
- }
- }
-
- static {
- try {
- AnnotationTagRegistry.init();
- } catch (CoreException e) {
- Logger.getLogger().logError(AnnotationsControllerResources.getString("AnnotationTagRegistry_ERROR_1")); //$NON-NLS-1$
- Logger.getLogger().logError(e);
- }
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jst.common.annotations.controller/controller/org/eclipse/jst/common/internal/annotations/registry/AnnotationTagsetRegistry.java b/plugins/org.eclipse.jst.common.annotations.controller/controller/org/eclipse/jst/common/internal/annotations/registry/AnnotationTagsetRegistry.java
deleted file mode 100644
index d86e11748..000000000
--- a/plugins/org.eclipse.jst.common.annotations.controller/controller/org/eclipse/jst/common/internal/annotations/registry/AnnotationTagsetRegistry.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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
- *******************************************************************************/
-/*
- * Created on Apr 7, 2004
- *
- * To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-package org.eclipse.jst.common.internal.annotations.registry;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.jem.util.RegistryReader;
-
-/**
- * @author mdelder
- *
- * To change the template for this generated type comment go to Window - Preferences - Java - Code
- * Generation - Code and Comments
- */
-public class AnnotationTagsetRegistry extends RegistryReader {
-
- public static final AnnotationTagsetRegistry INSTANCE = new AnnotationTagsetRegistry();
-
- private Map index;
-
- protected AnnotationTagsetRegistry() {
- super("org.eclipse.wst.common.internal.annotations.controller", TagsetDescriptor.TAGSET); //$NON-NLS-1$
- readRegistry();
- }
-
- private List descriptors;
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.wst.common.frameworks.internal.RegistryReader#readElement(org.eclipse.core.runtime.IConfigurationElement)
- */
- public boolean readElement(IConfigurationElement element) {
- if (TagsetDescriptor.TAGSET.equals(element.getName())) {
- getDescriptors().add(new TagsetDescriptor(element));
- return true;
- }
- return false;
- }
-
- public TagsetDescriptor getDescriptor(String name) {
- if (name != null && name.length() > 0) {
-
- /* Index descriptors to avoid unnecessary searching */
- TagsetDescriptor descriptor = (TagsetDescriptor) getIndex().get(name);
- if (descriptor != null)
- return descriptor;
-
- for (Iterator itr = AnnotationTagsetRegistry.INSTANCE.getDescriptors().iterator(); itr.hasNext();) {
- descriptor = (TagsetDescriptor) itr.next();
- if (name.equals(descriptor.getName())) {
- getIndex().put(descriptor.getName(), descriptor);
- return descriptor;
-
- }
- }
- }
- return null;
- }
-
- /**
- * @return Returns the descriptors.
- */
- protected List getDescriptors() {
- if (descriptors == null)
- descriptors = new ArrayList();
- return descriptors;
- }
-
- /**
- * @return Returns the index.
- */
- protected Map getIndex() {
- if (index == null)
- index = new HashMap();
- return index;
- }
-
- /**
- * @param descriptor
- */
- public void registerTagset(TagsetDescriptor descriptor) {
- if (descriptor != null && getDescriptor(descriptor.getName()) == null)
- getDescriptors().add(descriptor);
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jst.common.annotations.controller/controller/org/eclipse/jst/common/internal/annotations/registry/AnnotationsControllerResources.java b/plugins/org.eclipse.jst.common.annotations.controller/controller/org/eclipse/jst/common/internal/annotations/registry/AnnotationsControllerResources.java
deleted file mode 100644
index f357d90a1..000000000
--- a/plugins/org.eclipse.jst.common.annotations.controller/controller/org/eclipse/jst/common/internal/annotations/registry/AnnotationsControllerResources.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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
- *******************************************************************************/
-/*
- * Created on Mar 8, 2004
- *
- * To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-
-package org.eclipse.jst.common.internal.annotations.registry;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * @author kkatyal
- *
- * To change the template for this generated type comment go to Window - Preferences - Java - Code
- * Generation - Code and Comments
- */
-public class AnnotationsControllerResources {
-
- private static final String BUNDLE_NAME = "annotationcontroller";//$NON-NLS-1$
- private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);
-
- /**
- *
- */
- private AnnotationsControllerResources() {
- // Default constructor
- }
-
- /**
- * @param key
- * @return
- */
- public static String getString(String key) {
- try {
- return RESOURCE_BUNDLE.getString(key);
- } catch (MissingResourceException e) {
- return '!' + key + '!';
- }
- }
-
- public static String getString(String key, Object[] args) {
- try {
- RESOURCE_BUNDLE.getString(key);
- } catch (MissingResourceException e) {
- return '!' + key + '!';
- }
-
- return MessageFormat.format(key, args);
- }
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jst.common.annotations.controller/controller/org/eclipse/jst/common/internal/annotations/registry/AttributeValueProposalHelper.java b/plugins/org.eclipse.jst.common.annotations.controller/controller/org/eclipse/jst/common/internal/annotations/registry/AttributeValueProposalHelper.java
deleted file mode 100644
index be5670b60..000000000
--- a/plugins/org.eclipse.jst.common.annotations.controller/controller/org/eclipse/jst/common/internal/annotations/registry/AttributeValueProposalHelper.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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.jst.common.internal.annotations.registry;
-
-/**
- * @author DABERG
- *
- */
-public class AttributeValueProposalHelper {
- private String replacementString;
- private int valueOffset = 0;
- private int replacementLength = 0;
- private String valueDisplayString;
- private boolean ensureBeginQuote = true;
- private boolean ensureEndQuote = true;
-
- public AttributeValueProposalHelper(String replacementString, int valueOffset, int replacementLength, String valueDisplayString) {
- this.replacementString = replacementString;
- this.valueOffset = valueOffset;
- this.replacementLength = replacementLength;
- this.valueDisplayString = valueDisplayString;
- }
-
- public int getReplacementLength() {
- return replacementLength;
- }
-
- public void setReplacementLength(int replacementLength) {
- this.replacementLength = replacementLength;
- }
-
- public String getReplacementString() {
- return replacementString;
- }
-
- public void setReplacementString(String replacementString) {
- this.replacementString = replacementString;
- }
-
- public String getValueDisplayString() {
- return valueDisplayString;
- }
-
- public void setValueDisplayString(String valueDisplayString) {
- this.valueDisplayString = valueDisplayString;
- }
-
- public int getValueOffset() {
- return valueOffset;
- }
-
- public void setValueOffset(int valueOffset) {
- this.valueOffset = valueOffset;
- }
-
- public boolean ensureBeginQuote() {
- return ensureBeginQuote;
- }
-
- public void setEnsureBeginQuote(boolean ensureBeginQuote) {
- this.ensureBeginQuote = ensureBeginQuote;
- }
-
- public boolean ensureEndQuote() {
- return ensureEndQuote;
- }
-
- public void setEnsureEndQuote(boolean ensureEndQuote) {
- this.ensureEndQuote = ensureEndQuote;
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jst.common.annotations.controller/controller/org/eclipse/jst/common/internal/annotations/registry/AttributeValuesHelper.java b/plugins/org.eclipse.jst.common.annotations.controller/controller/org/eclipse/jst/common/internal/annotations/registry/AttributeValuesHelper.java
deleted file mode 100644
index 76c0a8f65..000000000
--- a/plugins/org.eclipse.jst.common.annotations.controller/controller/org/eclipse/jst/common/internal/annotations/registry/AttributeValuesHelper.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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
- *******************************************************************************/
-/*
- * Created on Jul 1, 2004
- */
-package org.eclipse.jst.common.internal.annotations.registry;
-
-import org.eclipse.jdt.core.IJavaElement;
-
-/**
- * @author jlanuti
- */
-public interface AttributeValuesHelper {
- static final String[] EMPTY_VALUES = new String[0];
- static final AttributeValueProposalHelper[] EMPTY_PROPOSAL_HELPERS = new AttributeValueProposalHelper[0];
-
- /**
- * Return a simple String array containing the valid values for the given
- * {@link TagAttributeSpec}and {@link IJavaElement}.
- *
- * @param tas
- * @param javaElement
- * @return
- */
- public String[] getValidValues(TagAttribSpec tas, IJavaElement javaElement);
-
- /**
- * This is a more advanced api for returning valid values for a given {@link TagAttribSpec}.
- * This api provides you with more flexibility to control the replacement string that is used
- * for the completion.
- *
- * @param tas
- * @param partialValue
- * @param valueOffset
- * @param javaElement
- * @return
- */
- public AttributeValueProposalHelper[] getAttributeValueProposalHelpers(TagAttribSpec tas, String partialValue, int valueOffset, IJavaElement javaElement);
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jst.common.annotations.controller/controller/org/eclipse/jst/common/internal/annotations/registry/TagAttribSpec.java b/plugins/org.eclipse.jst.common.annotations.controller/controller/org/eclipse/jst/common/internal/annotations/registry/TagAttribSpec.java
deleted file mode 100644
index 7b635906d..000000000
--- a/plugins/org.eclipse.jst.common.annotations.controller/controller/org/eclipse/jst/common/internal/annotations/registry/TagAttribSpec.java
+++ /dev/null
@@ -1,350 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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
- *******************************************************************************/
-/*
- * Created on Aug 25, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.jst.common.internal.annotations.registry;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jst.common.internal.annotations.core.AnnotationsCoreResources;
-
-/**
- * @author kelleyp Information on a single parameter for a tag. Parameters have names, and can be
- * marked as being required. (ie, not optional)
- */
-public class TagAttribSpec {
- private String attribName;
- private int flags;
- private String helpKey;
- private int type = Type.TEXT;
- private static final int FLG_REQUIRED = 1;
- private String[] validValues;
- private TagSpec tagSpec;
-
- /* Enum for type */
- public interface Type {
- public static final int TEXT = 0;
- public static final int BOOLEAN = 1;
- public static final int JAVATYPE = 2;
- public static final int ENUM = 3;
- }
-
- public class Unique {
- public static final int MODULE = 0;
- public static final int FILE = 1;
- public static final int TYPE = 2;
- public static final int METHOD = 3;
- public static final int FIELD = 4;
-
- private int scope = MODULE;
-
- public int getScope() {
- return scope;
- }
-
- public void setScope(int in) {
- scope = in;
- }
- }
-
- private Unique unique;
-
- public Unique getUnique() {
- return unique;
- }
-
- public boolean isUnique() {
- return unique != null;
- }
-
- public void setUnique() {
- unique = new Unique();
- }
-
- public void clearUnique() {
- unique = null;
- }
-
- /**
- * Converts a string representation of a tag attribute type to the integer representation.
- *
- * @param name
- * @return Integer type, defaults to TEXT if the type name is not recognized.
- */
- public static int typeNameToType(String name) {
- //TODO add enum
- if (name != null) {
- if (name.equalsIgnoreCase("text") || name.equalsIgnoreCase("string")) { //$NON-NLS-1$ //$NON-NLS-2$
- return Type.TEXT;
- } else if (name.equalsIgnoreCase("boolean") || name.equalsIgnoreCase("bool")) { //$NON-NLS-1$ //$NON-NLS-2$
- return Type.BOOLEAN;
- } else if (name.equalsIgnoreCase("javaType")) { //$NON-NLS-1$
- return Type.JAVATYPE;
- }
- }
- return Type.TEXT;
- }
-
- /**
- * Converts a type enum to a type string.
- *
- * @param ty
- * @return
- */
- public static String typeToTypeName(int ty) {
- switch (ty) {
- case Type.TEXT :
- return "string"; //$NON-NLS-1$
- case Type.BOOLEAN :
- return "bool"; //$NON-NLS-1$
- case Type.JAVATYPE :
- return "javaType"; //$NON-NLS-1$
- default :
- return "string"; //$NON-NLS-1$
- }
- }
-
- /**
- * Constructs a TagAttribSpec with <code>name</code> as the attribute name.
- *
- * @param name
- * Name for the attribute. Must not be null.
- * @throws IllegalArgumentException
- * if name is null.
- */
- public TagAttribSpec(String name) throws IllegalArgumentException {
- this(name, null);
- }
-
- public TagAttribSpec(String name, String hlpKey) {
- setAttribName(name);
- setHelpKey(hlpKey);
- }
-
- /**
- * Sets the type of this attribute.
- *
- * @param t
- * TEXT | BOOLEAN
- */
- public void setType(int t) {
- type = t;
- }
-
- /**
- * Sets the type of this attribute.
- *
- * @param typename
- * String representation, should be text or boolean.
- */
- public void setType(String typename) {
- type = typeNameToType(typename);
- }
-
- public int getType() {
- return type;
- }
-
- public boolean valueIsJavaType() {
- return type == Type.JAVATYPE;
- }
-
- public boolean valueIsText() {
- return type == Type.TEXT;
- }
-
- public boolean valueIsBool() {
- return type == Type.BOOLEAN;
- }
-
- /**
- * @return Name of the attribute.
- */
- public String getAttribName() {
- return attribName;
- }
-
- /**
- * Sets the attribute name. This can not be null.
- *
- * @param name
- * New name for the attribute.
- * @throws IllegalArgumentException
- * if the name is null.
- */
- public void setAttribName(String name) throws IllegalArgumentException {
- if (name == null) {
- throw new IllegalArgumentException(AnnotationsCoreResources.getString("TagAttribSpec.6")); //$NON-NLS-1$
- }
- attribName = name;
- }
-
- /**
- *
- * @return true if this is a required attribute.
- */
- public boolean isRequired() {
- return (flags & FLG_REQUIRED) != 0;
- }
-
- /**
- * Sets the required flag for this attribute.
- */
- public void setRequired() {
- flags |= FLG_REQUIRED;
- }
-
- /**
- * Clears the required flag for this attribute.
- *
- */
- public void clearRequired() {
- flags &= (~FLG_REQUIRED);
- }
-
- /**
- *
- * @return The help key for this tag attribute. Should never return null.
- */
- public String getTextKey(int aType) {
- if (aType != TagSpec.HELP_TEXT) {
- return null;
- }
-
- if (helpKey == null) {
- helpKey = defaultHelpKey();
- }
- return helpKey;
- }
-
- /**
- * Formats the help text so it includes type and use information.
- */
- public String transformLocalizedText(String txt) {
- if (txt == null)
- return txt;
- StringBuffer buf = new StringBuffer(txt.length() + 50);
-
- buf.append("<b>Type: "); //$NON-NLS-1$
- buf.append(typeToTypeName(type));
- buf.append(", Use: "); //$NON-NLS-1$
- if (this.isRequired()) {
- buf.append("required"); //$NON-NLS-1$
- } else {
- buf.append("optional"); //$NON-NLS-1$
- }
- if (this.isUnique()) {
- buf.append(", unique:scope: "); //$NON-NLS-1$
- buf.append(TagAttribSpec.uniqueScopeToString(this.getUnique().getScope())); //$NON-NLS-1$
- }
- buf.append("</b><p>"); //$NON-NLS-1$
- buf.append(txt);
- buf.append("</p>"); //$NON-NLS-1$
- return buf.toString();
-
- }
-
- /**
- *
- * @return The help key for this tag attribute. Should never return null.
- */
- public String getHelpKey() {
- return getTextKey(TagSpec.HELP_TEXT);
- }
-
- /**
- * Sets the help key. Setting this to null resets the help key to the default help key.
- *
- * @param key
- */
- public void setHelpKey(String key) {
- helpKey = key;
- }
-
- /**
- * @return the default help key name for this tag.
- *
- */
- private String defaultHelpKey() {
- return "ath." + attribName; //$NON-NLS-1$
- }
-
- public static int uniqueScopeFromString(String scopeStr) {
- if (scopeStr != null) {
- if (scopeStr.equalsIgnoreCase("module"))return TagAttribSpec.Unique.MODULE; //$NON-NLS-1$
- if (scopeStr.equalsIgnoreCase("file"))return TagAttribSpec.Unique.FILE; //$NON-NLS-1$
- if (scopeStr.equalsIgnoreCase("type"))return TagAttribSpec.Unique.TYPE; //$NON-NLS-1$
- if (scopeStr.equalsIgnoreCase("method"))return TagAttribSpec.Unique.METHOD; //$NON-NLS-1$
- if (scopeStr.equalsIgnoreCase("field"))return TagAttribSpec.Unique.FIELD; //$NON-NLS-1$
- }
- Logger.getLogger().logError(AnnotationsControllerResources.getString("TagAttribSpec.1") + scopeStr); //$NON-NLS-1$
- return TagAttribSpec.Unique.MODULE;
- }
-
- public static String uniqueScopeToString(int scope) {
- switch (scope) {
- case TagAttribSpec.Unique.MODULE :
- return "module"; //$NON-NLS-1$
- case TagAttribSpec.Unique.FILE :
- return "file"; //$NON-NLS-1$
- case TagAttribSpec.Unique.TYPE :
- return "type"; //$NON-NLS-1$
- case TagAttribSpec.Unique.METHOD :
- return "method"; //$NON-NLS-1$
- case TagAttribSpec.Unique.FIELD :
- return "field"; //$NON-NLS-1$
- default :
- Logger.getLogger().logError(AnnotationsControllerResources.getString("TagAttribSpec.1") + scope); //$NON-NLS-1$
- return "unknown value"; //$NON-NLS-1$
-
- }
- }
-
- /**
- * @return Returns the validValues.
- */
- public String[] getValidValues() {
- return validValues;
- }
-
- /**
- * @param validValues
- * The validValues to set.
- */
- public void setValidValues(String[] validValues) {
- this.validValues = validValues;
- }
-
- public TagSpec getTagSpec() {
- return tagSpec;
- }
-
- void setTagSpec(TagSpec tagSpec) {
- this.tagSpec = tagSpec;
- }
-
- public String lookupTagHelp() throws MissingResourceException {
- ResourceBundle b = getTagSpec().getResourceBundle();
- if (b == null)
- return null;
- String key = getHelpKey();
- String val = b.getString(getHelpKey());
- if (val == key)
- val = null;
- return transformLocalizedText(val);
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jst.common.annotations.controller/controller/org/eclipse/jst/common/internal/annotations/registry/TagSpec.java b/plugins/org.eclipse.jst.common.annotations.controller/controller/org/eclipse/jst/common/internal/annotations/registry/TagSpec.java
deleted file mode 100644
index 70ee7270e..000000000
--- a/plugins/org.eclipse.jst.common.annotations.controller/controller/org/eclipse/jst/common/internal/annotations/registry/TagSpec.java
+++ /dev/null
@@ -1,331 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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
- *******************************************************************************/
-/*
- * Created on Aug 22, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.jst.common.internal.annotations.registry;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.osgi.framework.Bundle;
-
-/**
- * All of the information in a single tagSpec tag, including the enclosing handler.
- */
-public class TagSpec {
-
- /**
- * Handle to the descriptor of the plugin that declared the completion information for this tag,
- * if any.
- */
- Bundle bundle;
-
- protected ResourceBundle resourceBundle;
-
- private boolean attemptedToFindResourceBundle = false;
-
- private AttributeValuesHelper validValuesHelper;
- private TagsetDescriptor tagsetDescriptor;
-
- /**
- * Name of the tag.
- */
- private String tagName;
-
- /**
- * Scope of the tag: METHOD | FIELD | TYPE
- */
- private int scope;
-
- /**
- * Multiplicity of the tag: ONE | MANY
- */
- private int multiplicity;
-
- /**
- * Attributes that can be set for this tag. (Instances of TagAttribSpec)
- */
- private List attributes = new ArrayList();
-
- private String helpKey;
-
- /**
- * Text type for use with localized text container.
- */
- public static final int HELP_TEXT = 0;
-
- public static final int METHOD = 0;
-
- public static final int TYPE = 1;
-
- public static final int FIELD = 2;
-
- public interface Multiplicity {
- public static final int ONE = 1;
-
- public static final int MANY = 2;
- }
-
- public TagSpec(String aName, int aScope, int aMultiplicity) {
- tagName = aName;
- scope = aScope;
- multiplicity = aMultiplicity;
- }
-
- public static int scopeFromString(String s) throws CoreException {
- if (s != null) {
- if (s.equalsIgnoreCase("type")) { //$NON-NLS-1$
- return TagSpec.TYPE;
- } else if (s.equalsIgnoreCase("field")) { //$NON-NLS-1$
- return TagSpec.FIELD;
- } else if (s.equalsIgnoreCase("method")) { //$NON-NLS-1$
- return TagSpec.METHOD;
- } else {
- // Should be impossible unless the annotation-taghandler.exsd or
- // calling code changes.
- //TODO: Logging
- throw new CoreException(new Status(IStatus.ERROR, "org.eclipse.wst.common.internal.annotations.controller", IStatus.OK, AnnotationsControllerResources.getString("TagSpec.3") + s, null)); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
- throw new CoreException(new Status(IStatus.ERROR, "org.eclipse.wst.common.internal.annotations.controller", IStatus.OK, AnnotationsControllerResources.getString("TagSpec.4"), null)); //$NON-NLS-1$ //$NON-NLS-2$
-
- }
-
- public static int multiplicityFromString(String s) throws CoreException {
- if (s != null) {
- if (s.equalsIgnoreCase("1")) { //$NON-NLS-1$
- return TagSpec.Multiplicity.ONE;
- } else if (s.equalsIgnoreCase("*")) { //$NON-NLS-1$
- return TagSpec.Multiplicity.MANY;
- }
- throw new CoreException(new Status(IStatus.ERROR, "org.eclipse.wst.common.internal.annotations.controller", IStatus.OK, AnnotationsControllerResources.getString("TagSpec.4"), null)); //$NON-NLS-1$ //$NON-NLS-2$
- }
- //Return default
- return TagSpec.Multiplicity.ONE;
- }
-
- /**
- * @return Scope for tag, METHOD | TYPE | FIELD
- */
- public int getScope() {
- return scope;
- }
-
- /**
- * @return multiplicity for tag, ONE | MANY
- */
- public int getMultiplicity() {
- return multiplicity;
- }
-
- /**
- * @return Name of the tag
- */
- public String getTagName() {
- return tagName;
- }
-
- public TagsetDescriptor getTagSetDescriptor() {
- if (tagsetDescriptor == null) {
- String tagSetName = getTagName();
- int index = tagSetName.lastIndexOf('.');
- if (index == -1)
- tagSetName = ""; //$NON-NLS-1$
- else
- tagSetName = tagSetName.substring(index + 1);
- tagsetDescriptor = AnnotationTagsetRegistry.INSTANCE.getDescriptor(tagSetName);
- }
- return tagsetDescriptor;
- }
-
- /**
- * Sets the scope of this tag.
- *
- * @param i
- * METHOD | TYPE | FIELD
- */
- public void setScope(int i) {
- scope = i;
- }
-
- /**
- * Sets the multiplicity of this tag.
- *
- * @param i
- * ONE | MANY
- */
- public void setMultiplicity(int i) {
- multiplicity = i;
- }
-
- /**
- * Sets the name of the tag
- *
- * @param string
- * Name for the tag.
- */
- public void setTagName(String string) {
- tagName = string;
- }
-
- /**
- *
- * @return List of attributes for this tag.
- */
- public List getAttributes() {
- return attributes;
- }
-
- /**
- * Adds an attribute to the list of attributes for this tag.
- *
- * @param att
- * A TagAttribSpec
- */
- public void addAttribute(TagAttribSpec att) {
- if (att == null)
- return;
- attributes.add(att);
- att.setTagSpec(this);
- }
-
- /**
- * Sets the list of attributes for this tag.
- *
- * @param lst
- * An array list of TagAttribSpecs
- */
- public void setAttributes(List lst) {
- if (lst == null)
- attributes.clear();
- else {
- attributes = lst;
- for (int i = 0; i < lst.size(); i++) {
- TagAttribSpec tas = (TagAttribSpec) lst.get(i);
- tas.setTagSpec(this);
- }
- }
- }
-
- /**
- * Looks for attribute named <code>attName</code>. Case insensitive.
- *
- * @param attName
- * Name to look for
- * @return A TagAttribSpec, or null if none was found.
- */
- public TagAttribSpec attributeNamed(String attName) {
- Iterator i = getAttributes().iterator();
-
- while (i.hasNext()) {
- TagAttribSpec tas = (TagAttribSpec) i.next();
-
- if (attName.equalsIgnoreCase(tas.getAttribName())) {
- return tas;
- }
- }
- return null;
-
- }
-
- /**
- * @return Returns the declaringPlugin.
- */
- public Bundle getBundle() {
- return bundle;
- }
-
- /**
- * @param declaringPlugin
- * The declaringPlugin to set.
- */
- protected void setBundle(Bundle bundle) {
- this.bundle = bundle;
- }
-
- /**
- * @return Returns the resourceBundle.
- */
- public ResourceBundle getResourceBundle() {
- if (resourceBundle == null && !attemptedToFindResourceBundle) {
- attemptedToFindResourceBundle = true;
- Bundle aBundle = getBundle();
- if (aBundle != null)
- resourceBundle = Platform.getResourceBundle(bundle);
- }
- return resourceBundle;
- }
-
- /**
- * @param resourceBundle
- * The resourceBundle to set.
- */
- public void setResourceBundle(ResourceBundle resourceBundle) {
- attemptedToFindResourceBundle = false;
- this.resourceBundle = resourceBundle;
- }
-
- /**
- * @return Returns the validValuesHelper.
- */
- public AttributeValuesHelper getValidValuesHelper() {
- if (validValuesHelper == null && getTagSetDescriptor() != null)
- setValidValuesHelper(getTagSetDescriptor().getValidValuesHelper());
- return validValuesHelper;
- }
-
- /**
- * @param validValuesHelper
- * The validValuesHelper to set.
- */
- public void setValidValuesHelper(AttributeValuesHelper validValuesHelper) {
- this.validValuesHelper = validValuesHelper;
- }
-
- public String getHelpKey() {
- if (helpKey == null)
- helpKey = computeHelpKey();
- return helpKey;
- }
-
- /**
- * @return
- */
- protected String computeHelpKey() {
- return "tagh." + getTagName(); //$NON-NLS-1$
- }
-
- public void setHelpKey(String helpKey) {
- this.helpKey = helpKey;
- }
-
- public String lookupTagHelp() throws MissingResourceException {
- ResourceBundle b = getResourceBundle();
- if (b == null)
- return null;
- String key = getHelpKey();
- String val = b.getString(getHelpKey());
- if (val == key)
- val = null;
- return val;
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jst.common.annotations.controller/controller/org/eclipse/jst/common/internal/annotations/registry/TagsetDescriptor.java b/plugins/org.eclipse.jst.common.annotations.controller/controller/org/eclipse/jst/common/internal/annotations/registry/TagsetDescriptor.java
deleted file mode 100644
index 8e4c4da60..000000000
--- a/plugins/org.eclipse.jst.common.annotations.controller/controller/org/eclipse/jst/common/internal/annotations/registry/TagsetDescriptor.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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
- *******************************************************************************/
-/*
- * Created on Apr 7, 2004
- *
- * To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-package org.eclipse.jst.common.internal.annotations.registry;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-
-
-/**
- * @author mdelder
- *
- * To change the template for this generated type comment go to Window - Preferences - Java - Code
- * Generation - Code and Comments
- */
-public class TagsetDescriptor {
-
- public static final String TAGSET = "AnnotationTagSet"; //$NON-NLS-1$
- public static final String ATT_NAME = "name"; //$NON-NLS-1$
- public static final String ATT_DISPLAY_NAME = "displayName"; //$NON-NLS-1$
- public static final String ATT_DESCRIPTION = "description"; //$NON-NLS-1$
- public static final String ATT_PARENT_TAGSET = "parentTagset"; //$NON-NLS-1$
- public static final String ATT_VALID_VALUES_HELPER = "validValuesHelper"; //$NON-NLS-1$
-
- private final IConfigurationElement element;
-
- protected String name;
- protected String displayName;
- protected String description;
- protected String parentTagset;
- protected AttributeValuesHelper validValuesHelper;
-
- protected TagsetDescriptor() {
- element = null;
- }
-
- public TagsetDescriptor(IConfigurationElement element) {
- this.element = element;
- init();
- }
-
- /**
- *
- */
- private void init() {
- this.name = this.element.getAttribute(ATT_NAME);
- this.displayName = this.element.getAttribute(ATT_DISPLAY_NAME);
- this.description = this.element.getAttribute(ATT_DESCRIPTION);
- this.parentTagset = this.element.getAttribute(ATT_PARENT_TAGSET);
- // set the valid values helper if there is one
- try {
- String validValuesHelperName = this.element.getAttribute(ATT_VALID_VALUES_HELPER);
- if (validValuesHelperName != null) {
- Class loaded = Class.forName(validValuesHelperName);
- this.validValuesHelper = (AttributeValuesHelper) loaded.newInstance();
- }
- } catch (Exception e) {
- // Do nothing
- }
- }
-
- /**
- * @return Returns the description.
- */
- public String getDescription() {
- return description;
- }
-
- /**
- * @return Returns the displayName.
- */
- public String getDisplayName() {
- return displayName;
- }
-
- /**
- * @return Returns the element.
- */
- public IConfigurationElement getElement() {
- return element;
- }
-
- /**
- * @return Returns the name.
- */
- public String getName() {
- return name;
- }
-
- /**
- * @return Returns the parentTagset.
- */
- public String getParentTagset() {
- return parentTagset;
- }
-
- public TagsetDescriptor[] getDirectDependents() {
-
- if (getName() == null || getName().equals("")) //$NON-NLS-1$
- return new TagsetDescriptor[0];
-
- List dependents = new ArrayList();
-
- TagsetDescriptor descriptor = null;
- for (Iterator itr = AnnotationTagsetRegistry.INSTANCE.getDescriptors().iterator(); itr.hasNext();) {
- descriptor = (TagsetDescriptor) itr.next();
- if (getName().equals(descriptor.getParentTagset()))
- dependents.add(descriptor);
- }
-
- TagsetDescriptor[] descriptors = new TagsetDescriptor[dependents.size()];
- dependents.toArray(descriptors);
- return descriptors;
- }
-
- /**
- * @return Returns the validValuesHelper.
- */
- public AttributeValuesHelper getValidValuesHelper() {
- return validValuesHelper;
- }
-
- /**
- * @param validValuesHelper
- * The validValuesHelper to set.
- */
- public void setValidValuesHelper(AttributeValuesHelper validValuesHelper) {
- this.validValuesHelper = validValuesHelper;
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jst.common.annotations.controller/plugin.xml b/plugins/org.eclipse.jst.common.annotations.controller/plugin.xml
deleted file mode 100644
index 00df4d6e2..000000000
--- a/plugins/org.eclipse.jst.common.annotations.controller/plugin.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
- <extension-point id="annotationsController" name="Annotations Controller" schema="schema/annotationsController.exsd"/>
- <extension-point id="AnnotationTagInfo" name="annotation tag info" schema="schema/annotation-tag-info.exsd"/>
- <extension-point id="AnnotationTagSet" name="annotation tagset" schema="schema/annotation.tagset.exsd"/>
- <extension-point id="annotationTagDynamicInitializer" name="annotationTagDynamicInitializer" schema="schema/annotationTagDynamicInitializer.exsd"/>
-</plugin>
diff --git a/plugins/org.eclipse.jst.common.annotations.controller/prepareforpii.xml b/plugins/org.eclipse.jst.common.annotations.controller/prepareforpii.xml
deleted file mode 100644
index 833fffa60..000000000
--- a/plugins/org.eclipse.jst.common.annotations.controller/prepareforpii.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<project name="PrepareForPII" default="main" basedir=".">
-
- <!-- Setup temp variables -->
- <target name="init">
- <property name="nlsDir" value="d:/NLS/Corona/0526"/>
- <property name="plugin" value="com.ibm.wtp.annotations.controller"/>
- <property name="plugindir" value="d:/workspaceCorona/${plugin}"/>
- <property name="outputDir" value="${nlsDir}/${plugin}"/>
-
-
- </target>
-
- <!-- Create the destination dir -->
- <target name="nlsDir" depends="init">
- <mkdir dir="${nlsDir}"/>
- </target>
-
- <!-- Create the destination dir -->
- <target name="plugindir" depends="nlsDir">
- <delete dir="${outputDir}"/>
- <mkdir dir="${outputDir}"/>
- </target>
-
- <!-- Move the files to the correct locations in the workspace. -->
- <target name="main" depends="plugindir">
-
- <messageIdGen folderPath = "${plugindir}" componentId = "E" />
-
- <copy todir = "${outputDir}/property_files" >
- <fileset dir="${plugindir}/property_files">
- <include name="**/*.properties"/>
- </fileset>
- </copy>
-
- </target>
-</project>
diff --git a/plugins/org.eclipse.jst.common.annotations.controller/property_files/annotationcontroller.properties b/plugins/org.eclipse.jst.common.annotations.controller/property_files/annotationcontroller.properties
deleted file mode 100644
index 390e7736b..000000000
--- a/plugins/org.eclipse.jst.common.annotations.controller/property_files/annotationcontroller.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 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
-###############################################################################
-TagSpec.3=Unknown tag scope:
-TagSpec.4=Null tag scope.
-TagSpec.5=Unknown tag multiplicity:
-TagSpec.6=Null tag multiplicity.
-TagAttribSpec.1=Unknown 'unique' scope value:
-TagAttribSpec.1=More than one 'unique' tag defined:
-AnnotationTagParser.0=Null event handler.
-AnnotationTagParser.1=
-AnnotationTagRegistry.0=More than one 'AnnotationTagInfo' tag for the tag '
-AnnotationTagRegistry.9=parseTagAttribs: unknown 'use' value:
-AnnotationTagRegistry.10=Incomplete element AnnotationTagInfo in plugin {0}
-AnnotationTagRegistry.11=parseTagAttribs: unknown 'isJavaTypeIdentifier' value:
-AnnotationsControllerManager_ERROR_0=IWAE0001E Invalid IConfigurationElement used to create AnnotationsControllerRegistry.Descriptor.
diff --git a/plugins/org.eclipse.jst.common.annotations.controller/schema/annotation-tag-info.exsd b/plugins/org.eclipse.jst.common.annotations.controller/schema/annotation-tag-info.exsd
deleted file mode 100644
index 3bdae47d5..000000000
--- a/plugins/org.eclipse.jst.common.annotations.controller/schema/annotation-tag-info.exsd
+++ /dev/null
@@ -1,251 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.jst.common.annotations.controller">
-<annotation>
- <appInfo>
- <meta.schema plugin="org.eclipse.jst.common.annotations.controller" id="XAnnotationTagInfo" name="Annotation Tag Info"/>
- </appInfo>
- <documentation>
- Describes the tags contained by a tag set and the tag&apos;s attributes.
- </documentation>
- </annotation>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="AnnotationTagInfo" minOccurs="1" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="point" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="AnnotationTagInfo">
- <complexType>
- <sequence>
- <element ref="attrib" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="tagSet" type="string" use="required">
- <annotation>
- <documentation>
- Name of the tag set this tag comes underneath. ( for instance, if we&apos;re defining the &lt;code&gt;@ejb.bean&lt;/code&gt;
-tag, then the tag set would be &lt;code&gt;ejb&lt;/code&gt;. ) The tag set must have been defined using the annotation.tagset extension point.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="tagName" type="string" use="required">
- <annotation>
- <documentation>
- Name of the tag. ( if we&apos;re defining the &lt;code&gt;@ejb.bean&lt;/code&gt; tag, then the tagName would be &lt;code&gt;bean&lt;/code&gt; ).
- </documentation>
- </annotation>
- </attribute>
- <attribute name="scope" use="required">
- <annotation>
- <documentation>
- Scope of the bean. Must be &lt;code&gt;type&lt;/code&gt;,&lt;code&gt;method&lt;/code&gt;, or &lt;code&gt;field&lt;/code&gt;.
- </documentation>
- </annotation>
- <simpleType>
- <restriction base="string">
- <enumeration value="type">
- </enumeration>
- <enumeration value="method">
- </enumeration>
- <enumeration value="field">
- </enumeration>
- </restriction>
- </simpleType>
- </attribute>
- <attribute name="multiplicity" use="default" value="1">
- <annotation>
- <documentation>
- Multiplicity of the tagset. Must be &lt;code&gt;1&lt;/code&gt; or&lt;code&gt;*&lt;/code&gt;. The default value is 1, if not specified.
- </documentation>
- </annotation>
- <simpleType>
- <restriction base="string">
- <enumeration value="1">
- </enumeration>
- <enumeration value="*">
- </enumeration>
- </restriction>
- </simpleType>
- </attribute>
- <attribute name="description" type="string">
- <annotation>
- <documentation>
- Optional description. May be a description string, or a
-key to localized text for the description in the declaring plugin&apos;s resource bundle. No default if this is
-not specified.
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="attrib">
- <complexType>
- <sequence>
- <element ref="unique" minOccurs="0" maxOccurs="1"/>
- <element ref="enumValues" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="name" type="string" use="required">
- <annotation>
- <documentation>
- Name of the attribute.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="description" type="string">
- <annotation>
- <documentation>
- Description text for the attribute, or key pointing to the localized description text inside of the declaring plugin&apos;s resource bundle. If not specified, defaults to &lt;code&gt;ath.ATTRIBUTE_NAME&lt;/code&gt;.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="use" use="default" value="optional">
- <annotation>
- <documentation>
- Sets whether this tag is &lt;code&gt;optional&lt;/code&gt; or &lt;code&gt;required&lt;/code&gt;. The default is &lt;code&gt;optional&lt;/code&gt;.
- </documentation>
- </annotation>
- <simpleType>
- <restriction base="string">
- <enumeration value="optional">
- </enumeration>
- <enumeration value="required">
- </enumeration>
- </restriction>
- </simpleType>
- </attribute>
- <attribute name="type" use="default" value="string">
- <annotation>
- <documentation>
- Type of the attribute, &lt;code&gt;string|boolean|javaType&lt;/code&gt;. Defaults to &lt;code&gt;string&lt;/code&gt; if not specified.
- </documentation>
- </annotation>
- <simpleType>
- <restriction base="string">
- <enumeration value="string">
- </enumeration>
- <enumeration value="bool">
- </enumeration>
- <enumeration value="javaType">
- </enumeration>
- <enumeration value="enum">
- </enumeration>
- </restriction>
- </simpleType>
- </attribute>
- </complexType>
- </element>
-
- <element name="unique">
- <annotation>
- <documentation>
- Specifies that the attribute value is unique within the specified scope.
- </documentation>
- </annotation>
- <complexType>
- <attribute name="scope" use="default" value="module">
- <annotation>
- <documentation>
- The scope of the uniqueness for the attribute value. It is one of the &lt;code&gt;module&lt;/code&gt;, &lt;code&gt;file&lt;/code&gt;, &lt;code&gt;type&lt;/code&gt;, &lt;code&gt;method&lt;/code&gt;,or &lt;code&gt;field&lt;/code&gt;. The default value is &apos;module&apos;.
- </documentation>
- </annotation>
- <simpleType>
- <restriction base="string">
- <enumeration value="module">
- </enumeration>
- <enumeration value="file">
- </enumeration>
- <enumeration value="type">
- </enumeration>
- <enumeration value="method">
- </enumeration>
- <enumeration value="field">
- </enumeration>
- </restriction>
- </simpleType>
- </attribute>
- </complexType>
- </element>
-
- <element name="enumValues">
- <complexType>
- <attribute name="value" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- [Enter the first release in which this extension point appears.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- [Enter extension point usage example here.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="apiInfo"/>
- </appInfo>
- <documentation>
- [Enter API information here.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="implementation"/>
- </appInfo>
- <documentation>
- [Enter information about supplied implementation of this extension point.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
-
- </documentation>
- </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.jst.common.annotations.controller/schema/annotation.tagset.exsd b/plugins/org.eclipse.jst.common.annotations.controller/schema/annotation.tagset.exsd
deleted file mode 100644
index 4f459bec0..000000000
--- a/plugins/org.eclipse.jst.common.annotations.controller/schema/annotation.tagset.exsd
+++ /dev/null
@@ -1,134 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.jst.common.annotations.controller">
-<annotation>
- <appInfo>
- <meta.schema plugin="org.eclipse.jst.common.annotations.controller" id="pXAnnotationTagset" name="Annotations Tag Set"/>
- </appInfo>
- <documentation>
- Allows clients to define a tag set for an annotation
-tag. A tag set named X would contain all of the tags that
-look like &lt;code&gt;@X.tag&lt;/code&gt;. So the &lt;code&gt;ejb&lt;/code&gt;
-tag set would contain the &lt;code&gt;@ejb.bean&lt;/code&gt; tag,
-the &lt;code&gt;@ejb.persistence&lt;/code&gt; tag, the &lt;code&gt;@ejb.pk&lt;/code&gt; tag, etc...
- </documentation>
- </annotation>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="AnnotationTagSet" minOccurs="1" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="point" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="AnnotationTagSet">
- <complexType>
- <attribute name="name" type="string" use="required">
- <annotation>
- <documentation>
- Name of the tagset. The name for the tagset that contains the &lt;code&gt;@ejb.bean&lt;/code&gt; tag would be &lt;code&gt;ejb&lt;/code&gt;.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="displayName" type="string">
- <annotation>
- <documentation>
- The text of the display name for the tag, or a resource
-key pointing to the localized display name inside of the
-declaring plugin&apos;s resource bundle.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="description" type="string">
- <annotation>
- <documentation>
- A description of the tag set. Can be the text of the
-description, or a key for the declaring plugin&apos;s resource bundle that points to the localized text for the tag set description.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="parentTagset" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="validValuesHelper" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- [Enter the first release in which this extension point appears.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- [Enter extension point usage example here.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="apiInfo"/>
- </appInfo>
- <documentation>
- [Enter API information here.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="implementation"/>
- </appInfo>
- <documentation>
- [Enter information about supplied implementation of this extension point.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
-
- </documentation>
- </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.jst.common.annotations.controller/schema/annotationTagDynamicInitializer.exsd b/plugins/org.eclipse.jst.common.annotations.controller/schema/annotationTagDynamicInitializer.exsd
deleted file mode 100644
index 1f999e18e..000000000
--- a/plugins/org.eclipse.jst.common.annotations.controller/schema/annotationTagDynamicInitializer.exsd
+++ /dev/null
@@ -1,102 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="com.ibm.wtp.annotations.controller">
-<annotation>
- <appInfo>
- <meta.schema plugin="com.ibm.wtp.annotations.controller" id="annotationTagDynamicInitializer" name="annotationTagDynamicInitializer"/>
- </appInfo>
- <documentation>
- This extension point is used to allow for clients to define their annotation tags dynamically. This means that it is not necessary to statically define annotation tags using the tag-info extension point. The extensions for this point will be called just after initializing the static annotation tags from the tag-info extension point.
- </documentation>
- </annotation>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="initializer"/>
- </sequence>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="point" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- <appInfo>
- <meta.attribute translatable="true"/>
- </appInfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="initializer">
- <complexType>
- <attribute name="class" type="string" use="required">
- <annotation>
- <documentation>
- Set the qualified name of a class that implements the com.ibm.wtp.annotations.registry.AnnotationTagDynamicInitializer interface. This class must have a default constructor.
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- [Enter the first release in which this extension point appears.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- [Enter extension point usage example here.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="apiInfo"/>
- </appInfo>
- <documentation>
- [Enter API information here.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="implementation"/>
- </appInfo>
- <documentation>
- [Enter information about supplied implementation of this extension point.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
-
- </documentation>
- </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.jst.common.annotations.controller/schema/annotationsController.exsd b/plugins/org.eclipse.jst.common.annotations.controller/schema/annotationsController.exsd
deleted file mode 100644
index dc3e5e135..000000000
--- a/plugins/org.eclipse.jst.common.annotations.controller/schema/annotationsController.exsd
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.jst.common.annotations.controller">
-<annotation>
- <appInfo>
- <meta.schema plugin="org.eclipse.jst.common.annotations.controller" id="annotationsController" name="Annotations Controller"/>
- </appInfo>
- <documentation>
- The annotationsController is used in generating annotated beans.
- </documentation>
- </annotation>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="annotationsController" minOccurs="1" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="point" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="annotationsController">
- <complexType>
- <attribute name="id" type="string" use="required">
- <annotation>
- <documentation>
- The id is used to coordinate precedence using function groups so this must be consistent with the function group bindings.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="class" type="string" use="required">
- <annotation>
- <documentation>
- This is the name of the extension class defined by the extension
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- [Enter the first release in which this extension point appears.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- [Enter extension point usage example here.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="apiInfo"/>
- </appInfo>
- <documentation>
- [Enter API information here.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="implementation"/>
- </appInfo>
- <documentation>
- [Enter information about supplied implementation of this extension point.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
-
- </documentation>
- </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.jst.common.annotations.core/.classpath b/plugins/org.eclipse.jst.common.annotations.core/.classpath
deleted file mode 100644
index ccf4d764f..000000000
--- a/plugins/org.eclipse.jst.common.annotations.core/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="src" path="property_files"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.jst.common.annotations.core/.cvsignore b/plugins/org.eclipse.jst.common.annotations.core/.cvsignore
deleted file mode 100644
index d3fa362df..000000000
--- a/plugins/org.eclipse.jst.common.annotations.core/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-bin
-temp.folder
-annotations-core.jar
-build.xml
diff --git a/plugins/org.eclipse.jst.common.annotations.core/.project b/plugins/org.eclipse.jst.common.annotations.core/.project
deleted file mode 100644
index 51f02e380..000000000
--- a/plugins/org.eclipse.jst.common.annotations.core/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.jst.common.annotations.core</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.jst.common.annotations.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.common.annotations.core/META-INF/MANIFEST.MF
deleted file mode 100644
index 7a06e3e69..000000000
--- a/plugins/org.eclipse.jst.common.annotations.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,12 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Annotation Core Plug-in
-Bundle-SymbolicName: org.eclipse.jst.common.annotations.core
-Bundle-Version: 0.7.0
-Bundle-ClassPath: annotations-core.jar
-Bundle-Vendor: Eclipse.org
-Bundle-Localization: plugin
-Export-Package: .,
- org.eclipse.jst.common.internal.annotations.core
-Require-Bundle: org.eclipse.emf.ecore,
- org.eclipse.wst.common.emf
diff --git a/plugins/org.eclipse.jst.common.annotations.core/about.html b/plugins/org.eclipse.jst.common.annotations.core/about.html
deleted file mode 100644
index 6f6b96c4c..000000000
--- a/plugins/org.eclipse.jst.common.annotations.core/about.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>February 24, 2005</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/plugins/org.eclipse.jst.common.annotations.core/build.properties b/plugins/org.eclipse.jst.common.annotations.core/build.properties
deleted file mode 100644
index 9762dd021..000000000
--- a/plugins/org.eclipse.jst.common.annotations.core/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 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
-###############################################################################
-bin.includes = plugin.xml,\
- annotations-core.jar.jar,\
- annotations-core.jar,\
- META-INF/,\
- about.html
-src.includes=schema/
-source.annotations-core.jar=src/,\
- property_files/
-output.annotations-core.jar=bin/
diff --git a/plugins/org.eclipse.jst.common.annotations.core/plugin.xml b/plugins/org.eclipse.jst.common.annotations.core/plugin.xml
deleted file mode 100644
index 7bf65fb5f..000000000
--- a/plugins/org.eclipse.jst.common.annotations.core/plugin.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-
-</plugin>
diff --git a/plugins/org.eclipse.jst.common.annotations.core/prepareforpii.xml b/plugins/org.eclipse.jst.common.annotations.core/prepareforpii.xml
deleted file mode 100644
index 87718a68e..000000000
--- a/plugins/org.eclipse.jst.common.annotations.core/prepareforpii.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<project name="PrepareForPII" default="main" basedir=".">
-
- <!-- Setup temp variables -->
- <target name="init">
- <property name="nlsDir" value="d:/NLS/Corona/0526"/>
- <property name="plugin" value="com.ibm.wtp.annotations.core"/>
- <property name="plugindir" value="d:/workspaceCorona/${plugin}"/>
- <property name="outputDir" value="${nlsDir}/${plugin}"/>
-
-
- </target>
-
- <!-- Create the destination dir -->
- <target name="nlsDir" depends="init">
- <mkdir dir="${nlsDir}"/>
- </target>
-
- <!-- Create the destination dir -->
- <target name="plugindir" depends="nlsDir">
- <delete dir="${outputDir}"/>
- <mkdir dir="${outputDir}"/>
- </target>
-
- <!-- Move the files to the correct locations in the workspace. -->
- <target name="main" depends="plugindir">
-
- <messageIdGen folderPath = "${plugindir}" componentId = "E" />
-
- <copy todir = "${outputDir}/property_files" >
- <fileset dir="${plugindir}/property_files">
- <include name="**/*.properties"/>
- </fileset>
- </copy>
-
- </target>
-</project>
diff --git a/plugins/org.eclipse.jst.common.annotations.core/property_files/annotationcore.properties b/plugins/org.eclipse.jst.common.annotations.core/property_files/annotationcore.properties
deleted file mode 100644
index 92b4d62a4..000000000
--- a/plugins/org.eclipse.jst.common.annotations.core/property_files/annotationcore.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 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
-###############################################################################
-TagSpec.3=Unknown tag scope:
-TagSpec.4=Null tag scope.
-AnnotationTagParser.0=Null event handler.
-AnnotationTagParser.1=
-AnnotationTagRegistry.0=More than one 'AnnotationTagInfo' tag for the tag '
-AnnotationTagRegistry.9=parseTagAttribs: unknown 'use' value:
diff --git a/plugins/org.eclipse.jst.common.annotations.core/src/org/eclipse/jst/common/internal/annotations/core/AnnotatedCommentHandler.java b/plugins/org.eclipse.jst.common.annotations.core/src/org/eclipse/jst/common/internal/annotations/core/AnnotatedCommentHandler.java
deleted file mode 100644
index 47767e3c6..000000000
--- a/plugins/org.eclipse.jst.common.annotations.core/src/org/eclipse/jst/common/internal/annotations/core/AnnotatedCommentHandler.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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.jst.common.internal.annotations.core;
-
-import java.util.HashMap;
-import java.util.Map;
-
-
-
-/**
- * @author mdelder
- *
- */
-public class AnnotatedCommentHandler implements TagParseEventHandler {
-
- private Map annotations;
-
- private Token annotationToken;
-
- /**
- *
- */
- public AnnotatedCommentHandler() {
- super();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.wst.common.internal.annotations.core.TagParseEventHandler#annotationTag(org.eclipse.wst.common.internal.annotations.core.Token)
- */
- public void annotationTag(Token tag) {
- this.annotationToken = tag;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.wst.common.internal.annotations.core.TagParseEventHandler#endOfTag(int)
- */
- public void endOfTag(int pos) {
- // Do nothing
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.wst.common.internal.annotations.core.TagParseEventHandler#attribute(org.eclipse.wst.common.internal.annotations.core.Token,
- * int, org.eclipse.wst.common.internal.annotations.core.Token)
- */
- public void attribute(Token name, int equalsPosition, Token value) {
- if (value.getText() == null || value.getText().length() == 0)
- getAnnotations().put(this.annotationToken.getText(), name.getText());
- else
- getAnnotations().put(name.getText(), value.getText());
- }
-
- /**
- * @return Returns the annotations.
- */
- public Map getAnnotations() {
- if (annotations == null)
- annotations = new HashMap();
- return annotations;
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jst.common.annotations.core/src/org/eclipse/jst/common/internal/annotations/core/AnnotationTagParser.java b/plugins/org.eclipse.jst.common.annotations.core/src/org/eclipse/jst/common/internal/annotations/core/AnnotationTagParser.java
deleted file mode 100644
index f87a38ad5..000000000
--- a/plugins/org.eclipse.jst.common.annotations.core/src/org/eclipse/jst/common/internal/annotations/core/AnnotationTagParser.java
+++ /dev/null
@@ -1,266 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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
- *******************************************************************************/
-/*
- * Created on Nov 11, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.jst.common.internal.annotations.core;
-
-/**
- * @author Pat Kelley
- *
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public class AnnotationTagParser {
-
- private TagParseEventHandler handler;
-
- private char[] input;
-
- int pos;
-
- int endOfLastGoodAttParse;
-
- public AnnotationTagParser(TagParseEventHandler tp) {
- if (tp == null) {
- throw new IllegalArgumentException(AnnotationsCoreResources.getString("AnnotationTagParser.0")); //$NON-NLS-1$
- }
- handler = tp;
- }
-
- private boolean eos() {
- return pos >= input.length;
- }
-
- private boolean isWS(char c) {
- return c == ' ' || c == '\n' || c == '\r' || c == '\t';
- }
-
- private void skipWS() {
- while (pos < input.length && (isWS(input[pos]) || input[pos] == '*')) {
- pos++;
- }
- }
-
- // Caller is expected to make sure the eos has not been reached.
- private char peek() {
- return input[pos];
- }
-
- // Caller is expected to check for EOS.
- private char nextChar() {
- return input[pos++];
- }
-
- private boolean isNextChar(char c) {
- if (eos())
- return false;
- return peek() == c;
- }
-
- private boolean isIDChar(char c) {
- return !isWS(c) && c != '=' && c != '@' && c != '\"';
- }
-
- private Token collectID() {
- StringBuffer b = new StringBuffer(16);
- Token t = new Token();
-
- t.setBeginning(pos);
- while (!eos() && isIDChar(peek())) {
- b.append(nextChar());
- }
- t.setEnd(pos - 1);
- t.setText(b.toString());
- return t;
- }
-
- private Token expectAttribName() {
- if (eos()) {
- return null;
- }
- int save = pos;
-
- Token retval = collectID();
- if (retval.length() == 0) {
- pos = save;
- return null;
- }
- return retval;
- }
-
- private Token expectTag() {
- if (eos()) {
- return null;
- }
- int savePos = pos;
-
- if (nextChar() != '@') {
- return null;
- }
-
- if (eos() || isWS(peek())) {
- return null;
- }
-
- Token retval = expectAttribName();
-
- if (retval.length() == 0) {
- pos = savePos + 1;
- }
- retval.setBeginning(savePos);
-
- // Save end of parse so we can pass it as the end of the parsed tag.
- endOfLastGoodAttParse = pos;
- return retval;
- }
-
- private Token expectQuotedValue() {
- skipWS();
- if (eos()) {
- return null;
- }
-
- Token tok = new Token();
-
- tok.setBeginning(pos);
- if (peek() != '\"') {
- return null;
- }
- nextChar();
-
- if (eos()) {
- return null;
- }
-
- StringBuffer b = new StringBuffer(64);
-
- while (!eos() && peek() != '\"') {
- b.append(nextChar());
- }
- if (!eos()) {
- nextChar();
- }
-
- tok.setEnd(pos - 1);
- tok.setText(b.toString());
- return tok;
- }
-
- private boolean expectAssign() {
- if (eos()) {
- return false;
- }
-
- if (nextChar() == '=') {
- return true;
- }
- pos--;
- return false;
- }
-
- private Token mkNullToken() {
- Token retval = new Token();
-
- retval.setBeginning(pos);
- retval.setEnd(pos - 1);
- retval.setText(""); //$NON-NLS-1$
- return retval;
- }
-
- private boolean parseNextAttribute() {
- skipWS();
- if (eos()) {
- return false;
- }
- Token key = collectID();
-
- if (key == null || key.length() == 0) {
- return false;
- }
-
- skipWS();
- if (eos()) {
- // Go ahead and report it, even though it is a partial attribute. (
- // we still fail here )
- handler.attribute(key, -1, mkNullToken());
- return false;
- }
-
- int eqPos = pos;
-
- if (!expectAssign()) {
- // Even though we won't parse this as a full attribute, go ahead and
- // call the handler with it. Some clients want to see partial
- // attributes.
- handler.attribute(key, -1, mkNullToken());
- return false;
- }
- skipWS();
-
- if (eos()) {
- // Same here - we fail on it, but we report it anyway
- handler.attribute(key, eqPos, mkNullToken());
- return false;
- }
- Token value = expectQuotedValue();
-
- if (value == null) {
- value = collectID();
- if (isNextChar('=')) {
- pos = value.getBeginning();
- value = mkNullToken();
- }
- }
- endOfLastGoodAttParse = pos;
- handler.attribute(key, eqPos, value);
- return true;
- }
-
- private void parseAttributes() {
- while (!eos() && parseNextAttribute()) {
- // loop while not end of string
- }
- }
-
- private void skipToTagChar() {
- while (!eos() && peek() != '@') {
- nextChar();
- }
- }
-
- public void setParserInput(char[] text) {
- input = text;
- pos = 0;
- endOfLastGoodAttParse = 0;
- }
-
- public void setParserInput(String text) {
- setParserInput(text.toCharArray());
- }
-
- public void parse() {
- while (!eos()) {
- skipToTagChar();
- Token tag = expectTag();
- if (tag == null) {
- break;
- }
- handler.annotationTag(tag);
- parseAttributes();
- handler.endOfTag(endOfLastGoodAttParse);
- }
- }
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jst.common.annotations.core/src/org/eclipse/jst/common/internal/annotations/core/AnnotationsAdapter.java b/plugins/org.eclipse.jst.common.annotations.core/src/org/eclipse/jst/common/internal/annotations/core/AnnotationsAdapter.java
deleted file mode 100644
index d9431cf2a..000000000
--- a/plugins/org.eclipse.jst.common.annotations.core/src/org/eclipse/jst/common/internal/annotations/core/AnnotationsAdapter.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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.jst.common.internal.annotations.core;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.emf.common.notify.impl.AdapterImpl;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.impl.EStructuralFeatureImpl;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.wst.common.internal.emf.utilities.CloneablePublic;
-
-
-
-/**
- * @author mdelder
- *
- */
-public class AnnotationsAdapter extends AdapterImpl implements CloneablePublic {
-
- public static final String GENERATED = "generated"; //$NON-NLS-1$
-
- protected final static String ADAPTER_TYPE = AnnotationsAdapter.class.getName();
-
- public final static EStructuralFeature NOTIFICATION_FEATURE = new EStructuralFeatureImpl() {
- // anonymous inner class
- };
-
- private Map annotationsMap;
-
- /**
- *
- */
- public AnnotationsAdapter() {
- super();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.lang.Object#clone()
- */
- public Object clone() { // throws CloneNotSupportedException {
- //return super.clone();
- return null;
- }
-
- /**
- * @param emfObject
- * @param string
- */
- public static void addAnnotations(EObject emfObject, String name, Object value) {
- if (emfObject == null)
- return;
- AnnotationsAdapter adapter = getAdapter(emfObject);
- adapter.addAnnotations(name, value);
- }
-
-
- /**
- * @param emfObject
- * @param string
- */
- public static Object getAnnotations(EObject emfObject, String name) {
- if (emfObject == null)
- return null;
- return internalGetAnnotations(emfObject, name);
- }
-
- protected static Object internalGetAnnotations(EObject emfObject, String name) {
- if (emfObject == null)
- return null;
- AnnotationsAdapter adapter = getAdapter(emfObject);
- return (adapter == null) ? internalGetAnnotations(emfObject.eContainer(), name) : adapter.getAnnotations(name);
- }
-
-
- /**
- * @param emfObject
- * @param string
- */
- public static Object removeAnnotations(EObject emfObject, String name) {
- if (emfObject == null)
- return null;
- AnnotationsAdapter adapter = getAdapter(emfObject);
- return adapter.removeAnnotations(name);
- }
-
- /**
- * @param name
- * @param value
- */
- protected void addAnnotations(String name, Object value) {
- getAnnnotations().put(name, value);
- }
-
- protected Object getAnnotations(String name) {
- return getAnnnotations().get(name);
- }
-
- protected Object removeAnnotations(String name) {
- return getAnnnotations().remove(name);
- }
-
- /**
- * @return
- */
- protected Map getAnnnotations() {
- if (annotationsMap == null)
- annotationsMap = new HashMap();
- return annotationsMap;
- }
-
- /**
- * @param emfObject
- * @return
- */
- protected static AnnotationsAdapter getAdapter(EObject emfObject) {
- AnnotationsAdapter adapter = retrieveExistingAdapter(emfObject);
- return adapter == null ? createAdapter(emfObject) : adapter;
- }
-
- /**
- * @param emfObject
- * @return
- */
- protected static AnnotationsAdapter createAdapter(EObject emfObject) {
- AnnotationsAdapter adapter = new AnnotationsAdapter();
- adapter.setTarget(emfObject);
- emfObject.eAdapters().add(adapter);
- return adapter;
- }
-
- /**
- * @param emfObject
- * @return
- */
- protected static AnnotationsAdapter retrieveExistingAdapter(EObject emfObject) {
- return (AnnotationsAdapter) EcoreUtil.getExistingAdapter(emfObject, ADAPTER_TYPE);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.emf.common.notify.impl.AdapterImpl#isAdapterForType(java.lang.Object)
- */
- public boolean isAdapterForType(Object type) {
- return ADAPTER_TYPE.equals(type);
- }
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jst.common.annotations.core/src/org/eclipse/jst/common/internal/annotations/core/AnnotationsCoreResources.java b/plugins/org.eclipse.jst.common.annotations.core/src/org/eclipse/jst/common/internal/annotations/core/AnnotationsCoreResources.java
deleted file mode 100644
index e7fdec11a..000000000
--- a/plugins/org.eclipse.jst.common.annotations.core/src/org/eclipse/jst/common/internal/annotations/core/AnnotationsCoreResources.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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
- *******************************************************************************/
-/*
- * Created on Mar 8, 2004
- *
- * To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-
-package org.eclipse.jst.common.internal.annotations.core;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * @author kkatyal
- *
- * To change the template for this generated type comment go to Window - Preferences - Java - Code
- * Generation - Code and Comments
- */
-public class AnnotationsCoreResources {
-
- private static final String BUNDLE_NAME = "annotationcore";//$NON-NLS-1$
- private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);
-
- /**
- *
- */
- private AnnotationsCoreResources() {
- // TODO Auto-generated constructor stub
- }
-
- /**
- * @param key
- * @return
- */
- public static String getString(String key) {
- // TODO Auto-generated method stub
- try {
- return RESOURCE_BUNDLE.getString(key);
- } catch (MissingResourceException e) {
- return '!' + key + '!';
- }
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jst.common.annotations.core/src/org/eclipse/jst/common/internal/annotations/core/AnnotationsTranslator.java b/plugins/org.eclipse.jst.common.annotations.core/src/org/eclipse/jst/common/internal/annotations/core/AnnotationsTranslator.java
deleted file mode 100644
index f110ad3c8..000000000
--- a/plugins/org.eclipse.jst.common.annotations.core/src/org/eclipse/jst/common/internal/annotations/core/AnnotationsTranslator.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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.jst.common.internal.annotations.core;
-
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.wst.common.internal.emf.resource.Translator;
-
-
-
-/**
- * @author mdelder
- *
- */
-public class AnnotationsTranslator extends Translator {
-
- private AnnotatedCommentHandler handler;
-
- private AnnotationTagParser parser;
-
- public static final AnnotationsTranslator INSTANCE = new AnnotationsTranslator();
-
- /**
- * @param domNameAndPath
- * @param aFeature
- */
- public AnnotationsTranslator() {
- super("#comment", AnnotationsAdapter.NOTIFICATION_FEATURE, Translator.COMMENT_FEATURE); //$NON-NLS-1$
- }
-
- /**
- * @param domNameAndPath
- * @param aFeature
- */
- public AnnotationsTranslator(String domNameAndPath) {
- super(domNameAndPath, AnnotationsAdapter.NOTIFICATION_FEATURE, Translator.COMMENT_FEATURE);
- }
-
- /**
- * @param domNameAndPath
- * @param aFeature
- * @param style
- */
- public AnnotationsTranslator(String domNameAndPath, int style) {
- super(domNameAndPath, AnnotationsAdapter.NOTIFICATION_FEATURE, style | Translator.COMMENT_FEATURE);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see com.ibm.wtp.emf.xml.Translator#setMOFValue(org.eclipse.emf.ecore.EObject,
- * java.lang.Object)
- */
- public void setMOFValue(EObject emfObject, Object value) {
- if (value == null)
- return;
- getHandler().getAnnotations().clear();
- getParser().setParserInput(value.toString());
- getParser().parse();
- String name;
- Map annotations = getHandler().getAnnotations();
- for (Iterator keys = annotations.keySet().iterator(); keys.hasNext();) {
- name = (String) keys.next();
- AnnotationsAdapter.addAnnotations(emfObject, name, annotations.get(name));
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see com.ibm.etools.emf2xml.impl.Translator#isSetMOFValue(org.eclipse.emf.ecore.EObject)
- */
- public boolean isSetMOFValue(EObject emfObject) {
- return getMOFValue(emfObject) != null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see com.ibm.etools.emf2xml.impl.Translator#getMOFValue(org.eclipse.emf.ecore.EObject)
- */
- public Object getMOFValue(EObject emfObject) {
- return AnnotationsAdapter.getAnnotations(emfObject, AnnotationsAdapter.GENERATED);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see com.ibm.etools.emf2xml.impl.Translator#unSetMOFValue(org.eclipse.emf.ecore.EObject)
- */
- public void unSetMOFValue(EObject emfObject) {
- AnnotationsAdapter.removeAnnotations(emfObject, AnnotationsAdapter.GENERATED);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see com.ibm.etools.emf2xml.impl.Translator#featureExists(org.eclipse.emf.ecore.EObject)
- */
- public boolean featureExists(EObject emfObject) {
- return true;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see com.ibm.etools.emf2xml.impl.Translator#isDataType()
- */
- public boolean isDataType() {
- return true;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see com.ibm.etools.emf2xml.impl.Translator#isMapFor(java.lang.Object, java.lang.Object,
- * java.lang.Object)
- */
- public boolean isMapFor(Object aFeature, Object oldValue, Object newValue) {
- return (aFeature == feature);
- }
-
- /**
- * @return Returns the handler.
- */
- protected AnnotatedCommentHandler getHandler() {
- if (handler == null)
- handler = new AnnotatedCommentHandler();
- return handler;
- }
-
- /**
- * @return Returns the parser.
- */
- protected AnnotationTagParser getParser() {
- if (parser == null)
- parser = new AnnotationTagParser(getHandler());
- return parser;
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jst.common.annotations.core/src/org/eclipse/jst/common/internal/annotations/core/TagParseEventHandler.java b/plugins/org.eclipse.jst.common.annotations.core/src/org/eclipse/jst/common/internal/annotations/core/TagParseEventHandler.java
deleted file mode 100644
index f9794150c..000000000
--- a/plugins/org.eclipse.jst.common.annotations.core/src/org/eclipse/jst/common/internal/annotations/core/TagParseEventHandler.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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
- *******************************************************************************/
-/*
- * Created on Nov 11, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.jst.common.internal.annotations.core;
-
-
-/**
- * Parser and interface for objects that want to receive parsing events. When parsing is started
- * through the <code>parse()</code> method, event methods are called for interesting features in
- * the parse. ( like a SAX ContentHandler )
- *
- * @author Pat Kelley
- */
-public interface TagParseEventHandler {
-
- /**
- * Called when the annotation tag is encountered. This will always be the first piece of content
- * encountered. Followed by a endOfTag( ) call when the end of the tag is reached.
- */
- public void annotationTag(Token tag);
-
- /**
- * Called when the entire annotation for a single tag has been parsed.
- *
- * @param pos
- * Position in the stream of the end of the annotation.
- */
- public void endOfTag(int pos);
-
- /**
- * Called for every attribute setting encountered for an annotation tag.
- *
- * @param name
- * Name of the attribute.
- * @param equalsPosition
- * Source position of the equals sign, or -1 if no equals sign was found.
- * @param value
- * Value of the attribute, with any quotes stripped off. Will be zero length token if
- * no attribute was found.
- */
- public void attribute(Token name, int equalsPosition, Token value);
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jst.common.annotations.core/src/org/eclipse/jst/common/internal/annotations/core/Token.java b/plugins/org.eclipse.jst.common.annotations.core/src/org/eclipse/jst/common/internal/annotations/core/Token.java
deleted file mode 100644
index 9d0310236..000000000
--- a/plugins/org.eclipse.jst.common.annotations.core/src/org/eclipse/jst/common/internal/annotations/core/Token.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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
- *******************************************************************************/
-/*
- * Created on Nov 11, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.jst.common.internal.annotations.core;
-
-/**
- * A string, and the range it was taken from in the source file. The range is inclusive. (ie, with
- * source "ABCD", the beginning and end for the Token "BC" would be (1,2) )
- *
- * @author Pat Kelley
- *
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public class Token {
- private String text;
- private int beginning;
- private int end;
-
-
-
- /**
- * @return Position in original source of the first character of this token.
- */
- public int getBeginning() {
- return beginning;
- }
-
- /**
- * @return Position in the original source of the last character of this token.
- */
- public int getEnd() {
- return end;
- }
-
- /**
- * @return The token string.
- */
- public String getText() {
- return text;
- }
-
- /**
- * @param i
- * A source position
- */
- public void setBeginning(int i) {
- beginning = i;
- }
-
- /**
- * @param i
- * A source position.
- */
- public void setEnd(int i) {
- end = i;
- }
-
- /**
- * @param string
- */
- public void setText(String string) {
- text = string;
- }
-
- public int length() {
- return text.length();
- }
-
- /**
- * Tests whether <code>srcPos</code> comes immediately after the last character in this token.
- *
- * @param srcPos
- * A position in the original source the token came from.
- * @return true if srcPos comes immediately after this token.
- */
- public boolean immediatelyPrecedes(int srcPos) {
- return end + 1 == srcPos;
- }
-
- /**
- * Tests whether srcPos is within the original source range range of the token.
- *
- * @param srcPos
- * @return
- */
- public boolean contains(int srcPos) {
- return srcPos >= beginning && srcPos <= end;
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jst.common.annotations.ui/.classpath b/plugins/org.eclipse.jst.common.annotations.ui/.classpath
deleted file mode 100644
index ccf4d764f..000000000
--- a/plugins/org.eclipse.jst.common.annotations.ui/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="src" path="property_files"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.jst.common.annotations.ui/.cvsignore b/plugins/org.eclipse.jst.common.annotations.ui/.cvsignore
deleted file mode 100644
index 2521e52aa..000000000
--- a/plugins/org.eclipse.jst.common.annotations.ui/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-bin
-temp.folder
-build.xml
-ui.jar
diff --git a/plugins/org.eclipse.jst.common.annotations.ui/.project b/plugins/org.eclipse.jst.common.annotations.ui/.project
deleted file mode 100644
index 04b8576ce..000000000
--- a/plugins/org.eclipse.jst.common.annotations.ui/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.jst.common.annotations.ui</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.jst.common.annotations.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.common.annotations.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index bb6fb3a3b..000000000
--- a/plugins/org.eclipse.jst.common.annotations.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,26 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Ui Plug-in
-Bundle-SymbolicName: org.eclipse.jst.common.annotations.ui; singleton:=true
-Bundle-Version: 0.7.0
-Bundle-ClassPath: ui.jar
-Bundle-Activator: org.eclipse.jst.common.internal.annotations.ui.UiPlugin
-Bundle-Vendor: Eclipse.org
-Bundle-Localization: plugin
-Export-Package: .,
- org.eclipse.jst.common.internal.annotations.ui
-Require-Bundle: org.eclipse.ui.views,
- org.eclipse.ui.editors,
- org.eclipse.core.resources,
- org.eclipse.ui,
- org.eclipse.jdt.ui,
- org.eclipse.jdt.core,
- org.eclipse.jface.text,
- org.eclipse.ui.workbench.texteditor,
- org.eclipse.ui.ide,
- org.eclipse.swt,
- org.eclipse.core.runtime,
- org.eclipse.core.runtime,
- org.eclipse.jst.common.annotations.core,
- org.eclipse.jst.common.annotations.controller
-Eclipse-AutoStart: true
diff --git a/plugins/org.eclipse.jst.common.annotations.ui/about.html b/plugins/org.eclipse.jst.common.annotations.ui/about.html
deleted file mode 100644
index 6f6b96c4c..000000000
--- a/plugins/org.eclipse.jst.common.annotations.ui/about.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>February 24, 2005</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/plugins/org.eclipse.jst.common.annotations.ui/build.properties b/plugins/org.eclipse.jst.common.annotations.ui/build.properties
deleted file mode 100644
index e7f5c0569..000000000
--- a/plugins/org.eclipse.jst.common.annotations.ui/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 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
-###############################################################################
-bin.includes = plugin.xml,\
- ui.jar,\
- META-INF/,\
- about.html
-src.includes=schema/
-source.ui.jar=src/,\
- property_files/
-output.ui.jar=bin/
diff --git a/plugins/org.eclipse.jst.common.annotations.ui/plugin.xml b/plugins/org.eclipse.jst.common.annotations.ui/plugin.xml
deleted file mode 100644
index f1ba7fc72..000000000
--- a/plugins/org.eclipse.jst.common.annotations.ui/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
- <extension
- point="org.eclipse.jdt.ui.javadocCompletionProcessor">
- <javadocCompletionProcessor
- name="AnnotationsCompletionProcessor"
- class="org.eclipse.jst.common.internal.annotations.ui.AnnotationTagCompletionProc"
- id="AnnotationsCompletionProcessor">
- </javadocCompletionProcessor>
- </extension>
-
-</plugin>
diff --git a/plugins/org.eclipse.jst.common.annotations.ui/prepareforpii.xml b/plugins/org.eclipse.jst.common.annotations.ui/prepareforpii.xml
deleted file mode 100644
index 9a4918e29..000000000
--- a/plugins/org.eclipse.jst.common.annotations.ui/prepareforpii.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<project name="PrepareForPII" default="main" basedir=".">
-
- <!-- Setup temp variables -->
- <target name="init">
- <property name="nlsDir" value="d:/NLS/Corona/0526"/>
- <property name="plugin" value="com.ibm.wtp.annotations.ui"/>
- <property name="plugindir" value="d:/workspaceCorona/${plugin}"/>
- <property name="outputDir" value="${nlsDir}/${plugin}"/>
-
-
- </target>
-
- <!-- Create the destination dir -->
- <target name="nlsDir" depends="init">
- <mkdir dir="${nlsDir}"/>
- </target>
-
- <!-- Create the destination dir -->
- <target name="plugindir" depends="nlsDir">
- <delete dir="${outputDir}"/>
- <mkdir dir="${outputDir}"/>
- </target>
-
- <!-- Move the files to the correct locations in the workspace. -->
- <target name="main" depends="plugindir">
-
- <messageIdGen folderPath = "${plugindir}" componentId = "E" />
-
- <copy todir = "${outputDir}/property_files" >
- <fileset dir="${plugindir}/property_files">
- <include name="**/*.properties"/>
- </fileset>
- </copy>
-
- </target>
-</project>
diff --git a/plugins/org.eclipse.jst.common.annotations.ui/property_files/taghandlerui.properties b/plugins/org.eclipse.jst.common.annotations.ui/property_files/taghandlerui.properties
deleted file mode 100644
index a18410741..000000000
--- a/plugins/org.eclipse.jst.common.annotations.ui/property_files/taghandlerui.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 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
-###############################################################################
-J2EEAnnotationsCompletionProcessor.3=Error parsing attributes - was expecing a '=' but found '
-J2EEAnnotationsCompletionProcessor.4=' instead.
diff --git a/plugins/org.eclipse.jst.common.annotations.ui/schema/AnnotationUI.exsd b/plugins/org.eclipse.jst.common.annotations.ui/schema/AnnotationUI.exsd
deleted file mode 100644
index b3af9ecea..000000000
--- a/plugins/org.eclipse.jst.common.annotations.ui/schema/AnnotationUI.exsd
+++ /dev/null
@@ -1,104 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.jst.common.annotations.ui">
-<annotation>
- <appInfo>
- <meta.schema plugin="org.eclipse.jst.common.annotations.ui" id="AnnotationUI" name="AnnotationUI"/>
- </appInfo>
- <documentation>
- Extension point for enabling content assist for an existing tag set.
- </documentation>
- </annotation>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="AutoCompleteData" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="point" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="AutoCompleteData">
- <annotation>
- <documentation>
- Enables content assist for a single tag set.
- </documentation>
- </annotation>
- <complexType>
- <attribute name="tagSet" type="string" use="required">
- <annotation>
- <documentation>
- Name of the tag set code assist should be enabled for.
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- [Enter the first release in which this extension point appears.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- [Enter extension point usage example here.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="apiInfo"/>
- </appInfo>
- <documentation>
- [Enter API information here.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="implementation"/>
- </appInfo>
- <documentation>
- [Enter information about supplied implementation of this extension point.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
-
- </documentation>
- </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.jst.common.annotations.ui/src/org/eclipse/jst/common/internal/annotations/ui/AnnotationTagCompletionProc.java b/plugins/org.eclipse.jst.common.annotations.ui/src/org/eclipse/jst/common/internal/annotations/ui/AnnotationTagCompletionProc.java
deleted file mode 100644
index 8870163de..000000000
--- a/plugins/org.eclipse.jst.common.annotations.ui/src/org/eclipse/jst/common/internal/annotations/ui/AnnotationTagCompletionProc.java
+++ /dev/null
@@ -1,726 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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
- *******************************************************************************/
-/*
- * Created on Mar 9, 2004
- *
- * To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-package org.eclipse.jst.common.internal.annotations.ui;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.MissingResourceException;
-import java.util.Set;
-import java.util.TreeSet;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IField;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IMethod;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.ui.JavaUI;
-import org.eclipse.jdt.ui.text.java.IJavaCompletionProposal;
-import org.eclipse.jdt.ui.text.java.IJavadocCompletionProcessor;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.contentassist.IContextInformation;
-import org.eclipse.jst.common.internal.annotations.core.AnnotationTagParser;
-import org.eclipse.jst.common.internal.annotations.core.TagParseEventHandler;
-import org.eclipse.jst.common.internal.annotations.core.Token;
-import org.eclipse.jst.common.internal.annotations.registry.AnnotationTagRegistry;
-import org.eclipse.jst.common.internal.annotations.registry.AttributeValueProposalHelper;
-import org.eclipse.jst.common.internal.annotations.registry.AttributeValuesHelper;
-import org.eclipse.jst.common.internal.annotations.registry.TagAttribSpec;
-import org.eclipse.jst.common.internal.annotations.registry.TagSpec;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.part.FileEditorInput;
-
-
-/**
- * @author Pat Kelley
- *
- * To change the template for this generated type comment go to Window - Preferences - Java - Code
- * Generation - Code and Comments
- */
-public class AnnotationTagCompletionProc implements IJavadocCompletionProcessor, TagParseEventHandler {
- private static final String[] BOOLEAN_VALID_VALUES = new String[]{"false", "true"}; //$NON-NLS-1$ //$NON-NLS-2$
- ICompilationUnit m_icu;
-
- IDocument m_doc;
-
- List m_tags;
-
- // Instance variables active when maybeCompleteAttribute is live.
- Token m_tagName;
-
- /**
- * Set of all attributes names encountered. Only live when maybeCompleteAttribute is live.
- */
- Set m_attSet = new TreeSet();
-
- /**
- * List of Attribute. Only live when maybeCompleAttribute is live.
- */
- List m_attributes = new ArrayList();
-
- AnnotationTagParser m_parser = new AnnotationTagParser(this);
-
- /**
- * Scope of the tag. TagSpec.TYPE | TagSpec.METHOD | TagSpec.FIELD. Not valid until
- * getAnnotationArea has been called for a completions request, and only then if
- * getAnnotationArea() did not return null.
- */
- int m_tagScope;
-
- public AnnotationTagCompletionProc() {
- initTagInfo();
- }
-
- private void initTagInfo() {
- if (m_tags == null)
- m_tags = AnnotationTagRegistry.getAllTagSpecs();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jdt.ui.text.java.IJavadocCompletionProcessor#computeContextInformation(org.eclipse.jdt.core.ICompilationUnit,
- * int)
- */
- public IContextInformation[] computeContextInformation(ICompilationUnit cu, int offset) {
- // TODO Auto-generated method stub
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jdt.ui.text.java.IJavadocCompletionProcessor#computeCompletionProposals(org.eclipse.jdt.core.ICompilationUnit,
- * int, int, int)
- */
- public IJavaCompletionProposal[] computeCompletionProposals(ICompilationUnit cu, int offset, int length, int flags) {
- IEditorInput editorInput = new FileEditorInput((IFile) cu.getResource());
-
- // Set up completion processor state.
- m_doc = JavaUI.getDocumentProvider().getDocument(editorInput);
- m_icu = cu;
-
- try {
- AnnotationArea area = getAnnotationArea(offset);
-
- if (area == null) {
- return null;
- }
-
- // Check for tag completion first. ( the easier case )
- String tsf = getTagSoFarIfNotCompleted(area.beginOffset, offset);
-
- if (tsf != null) {
- return getTagCompletionsFor(tsf, area, length);
- }
-
- // Ach, have to try the harder case now, where we parse the
- // annotation
- return maybeCompleteAttribute(area, offset);
-
- } catch (JavaModelException e) {
- // Silently fail.
- return null;
- } catch (BadLocationException ex) {
- return null;
- }
- }
-
- private IJavaCompletionProposal[] maybeCompleteAttribute(AnnotationArea area, int cursorPos) throws BadLocationException {
- m_attSet.clear();
- m_attributes.clear();
-
- m_parser.setParserInput(m_doc.get(area.beginOffset, area.length()));
- m_parser.parse();
-
- TagSpec ts = getTagSpecForTagName(m_tagName.getText());
-
- // Do we even recognize this tag?
- if (ts == null) {
- return null;
- }
-
- // Loop through and determine whether the cursor is within a attribute
- // assignment, or between assignements.
- Attribute target = null;
- Attribute last = null;
- Attribute before = null;
- Attribute a = null;
- boolean between = false;
- int rCurPos = area.relativeCursorPos(cursorPos);
- Iterator i = m_attributes.iterator();
- while (i.hasNext()) {
- a = (Attribute) i.next();
-
- if (a.contains(rCurPos)) {
- target = a;
- break;
- } else if (last != null) {
- // See if the cursor is between, but not directly adjacent to
- // the last two attributes.
- if (rCurPos > last.maxExtent() + 1 && rCurPos < a.minExtent() - 1) {
- between = true;
- break;
- } else if (a.immediatelyPrecedes(rCurPos)) {
- before = a;
- break;
- }
- }
- last = a;
- }
-
- if (target == null) {
- if (between) {
- // If we're between attributes, suggest all possible attributes.
- return attributeCompletionsFor(ts, cursorPos, 0, "", true); //$NON-NLS-1$
- } else if (before != null) {
- // We're right after the attribute named in 'before', so set the
- // target to it, and fall
- // through to the target handling code.
- target = before;
- } else {
- // not between and not immediately after an attribute. We are
- // past the end of the parsed annotation.
- // Only offer suggestions if it looks like the last annotation
- // attribute is valid.
- if (a == null) {
- // No annotations attributes, suggest everything.
- return attributeCompletionsFor(ts, cursorPos, 0, "", true); //$NON-NLS-1$
- } else if (rCurPos > a.maxExtent()) {
- if (a.hasAssignment() && a.hasValue()) {
- // Last annotation was good, and we're past it, so do
- // completions for anything
- return attributeCompletionsFor(ts, cursorPos, 0, "", true); //$NON-NLS-1$
- } else if (a.hasAssignment())
- return attributeValidValuesFor(ts, a, area, cursorPos);
- else
- return attributeCompletionsFor(ts, cursorPos - a.name.length(), 0, a.name.getText(), true);
- } else {
- // Didn't match anything, not past the end - we're probably
- // the first attribute
- // being added to the tag.
- return attributeCompletionsFor(ts, cursorPos, 0, "", true); //$NON-NLS-1$
- }
- }
- }
-
- // Completion for a partial attribute name?
- if (target.name.immediatelyPrecedes(rCurPos)) {
- return attributeCompletionsFor(ts, area.relativeToAbs(target.name.getBeginning()), target.name.length(), target.name.getText(), !target.hasAssignment());
- }
-
- // Are we in the middle of a name?
- if (target.name.contains(rCurPos)) {
- // We've opted to replace the entire name for this case, which seems
- // to make the most sense.
- return attributeCompletionsFor(ts, area.relativeToAbs(target.name.getBeginning()), target.name.length(), target.name.getText().substring(0, rCurPos - target.name.getBeginning()), !target.hasAssignment());
- }
-
- // If we got this far, we're either in a value, or really confused.
- // try and return valid values or bail?
- if (a.value != null && (a.value.contains(rCurPos) || (target.hasAssignment() && area.relativeCursorPos(cursorPos) > a.name.getBeginning())))
- return attributeValidValuesFor(ts, a, area, cursorPos);
- return attributeCompletionsFor(ts, cursorPos, 0, "", true); //$NON-NLS-1$
- }
-
- /**
- * @return valid values for the attribute
- */
- private IJavaCompletionProposal[] attributeValidValuesFor(TagSpec ts, Attribute a, AnnotationArea area, int cursorPos) {
- TagAttribSpec tas = ts.attributeNamed(a.name.getText());
- if (tas == null)
- return null;
- String[] validValues = getValidValues(tas, a, area);
- String partialValue = calculatePartialValue(a, area, cursorPos);
- int valueOffset = calculateValueOffset(a, area, cursorPos);
- if (validValues == null || validValues.length == 0)
- return createCustomAttributeCompletionProposals(ts, tas, partialValue, valueOffset, a.value.getText(), area.javaElement);
- return createAttributeCompletionProposals(partialValue, valueOffset, validValues);
- }
-
- /**
- * @param ts
- * @param tas
- * @param partialValue
- * @param valueOffset
- * @param value
- * @param javaElement
- * @return
- */
- private IJavaCompletionProposal[] createCustomAttributeCompletionProposals(TagSpec ts, TagAttribSpec tas, String partialValue, int valueOffset, String value, IJavaElement javaElement) {
- AttributeValuesHelper helper = ts.getValidValuesHelper();
- if (helper == null)
- return null;
- AttributeValueProposalHelper[] proposalHelpers = helper.getAttributeValueProposalHelpers(tas, partialValue, valueOffset, javaElement);
- if (proposalHelpers == null || proposalHelpers.length == 0)
- return null;
- IJavaCompletionProposal[] proposals = new IJavaCompletionProposal[proposalHelpers.length];
- AnnotationTagProposal proposal;
- for (int i = 0; i < proposalHelpers.length; i++) {
- proposal = new AnnotationTagProposal(proposalHelpers[i]);
- //proposal.setPartialValueString(partialValue);
- proposals[i] = proposal;
- }
- return proposals;
- }
-
- private IJavaCompletionProposal[] createAttributeCompletionProposals(String partialValue, int valueOffset, String[] validValues) {
- List resultingValues = new ArrayList();
- for (int i = 0; i < validValues.length; i++) {
- String rplString = validValues[i];
- if (partialValue != null && !rplString.startsWith(partialValue))
- continue;
- AnnotationTagProposal prop = new AnnotationTagProposal(rplString, valueOffset, 0, null, rplString, 1);
- prop.setEnsureQuoted(true);
- //prop.setPartialValueString(partialValue);
- resultingValues.add(prop);
- }
- if (resultingValues.isEmpty())
- return null;
- return (IJavaCompletionProposal[]) resultingValues.toArray(new IJavaCompletionProposal[resultingValues.size()]);
- }
-
- private String[] getValidValues(TagAttribSpec tas, Attribute a, AnnotationArea area) {
- String[] validValues = tas.getValidValues();
- if (validValues == null || validValues.length == 0) {
- AttributeValuesHelper helper = tas.getTagSpec().getValidValuesHelper();
- if (helper == null)
- return null;
- validValues = helper.getValidValues(tas, area.javaElement);
- if ((validValues == null || validValues.length == 0) && tas.valueIsBool())
- validValues = BOOLEAN_VALID_VALUES;
- }
- return validValues;
- }
-
- /**
- * @param a
- * @param area
- * @param cursorPos
- * @return
- */
- private int calculateValueOffset(Attribute a, AnnotationArea area, int cursorPos) {
- if (a.value == null)
- return cursorPos;
- int nameEnd = a.name.getEnd();
- int valBeg = a.value.getBeginning();
- if (valBeg > nameEnd + 2)
- return area.relativeToAbs(nameEnd + 2); //Value too far away to be correct.
- return area.relativeToAbs(valBeg);
- }
-
- /**
- * @param a
- * @param area
- * @param cursorPos
- * @return
- */
- private String calculatePartialValue(Attribute a, AnnotationArea area, int cursorPos) {
- if (a.value == null)
- return null;
- int nameEnd = a.name.getEnd();
- int valueBeg = a.value.getBeginning();
- if (valueBeg > nameEnd + 2)
- return null; //Value is too far away so it must not be part of this attribute.
- int relativePos = area.relativeCursorPos(cursorPos);
- if (a.value.contains(relativePos)) {
- boolean hasBeginQuote = valueBeg - nameEnd == 2;
- String value = a.value.getText();
- int end = relativePos - valueBeg;
- if (hasBeginQuote)
- end--;
- if (end > -1) {
- int length = value.length();
- if (end < length)
- return value.substring(0, end);
- else if (end == length)
- return value;
- }
- }
- return null;
- }
-
- /**
- * @param tagName
- * @return
- */
- private TagSpec getTagSpecForTagName(String tagName) {
- String simpleName = tagName;
- if (tagName != null && tagName.length() > 0 && tagName.charAt(0) == '@')
- simpleName = tagName.length() == 2 ? "" : tagName.substring(1); //$NON-NLS-1$
- switch (m_tagScope) {
- case TagSpec.TYPE :
- return AnnotationTagRegistry.getTypeTag(simpleName);
- case TagSpec.METHOD :
- return AnnotationTagRegistry.getMethodTag(simpleName);
- case TagSpec.FIELD :
- return AnnotationTagRegistry.getFieldTag(simpleName);
- }
- return null;
- }
-
- private IJavaCompletionProposal[] attributeCompletionsFor(TagSpec ts, int replaceOffset, int replaceLength, String partialAttributeName, boolean appendEquals) {
- Iterator i = ts.getAttributes().iterator();
- List props = new ArrayList();
- while (i.hasNext()) {
- TagAttribSpec tas = (TagAttribSpec) i.next();
- String aname = tas.getAttribName();
-
- // Don't suggest attributes that have already been specified.
- if (!m_attSet.contains(aname)) {
- if (aname.startsWith(partialAttributeName)) {
- String rtxt = appendEquals ? aname + '=' : aname;
- AnnotationTagProposal prop = new AnnotationTagProposal(rtxt, replaceOffset, replaceLength, null, aname, 1);
- prop.setHelpText(lookupAttHelp(tas));
- props.add(prop);
- }
- }
- }
- if (props.isEmpty()) {
- return null;
- }
- return (IJavaCompletionProposal[]) props.toArray(new IJavaCompletionProposal[props.size()]);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see com.ibm.ws.rd.annotations.TagParseEventHandler#annotationTag(com.ibm.ws.rd.annotations.Token)
- */
- public void annotationTag(Token tag) {
- m_tagName = tag;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see com.ibm.ws.rd.annotations.TagParseEventHandler#endOfTag(int)
- */
- public void endOfTag(int pos) {
- // Do nothing
- }
-
- /*
- * (non-Javadoc)
- *
- * @see com.ibm.ws.rd.annotations.TagParseEventHandler#attribute(com.ibm.ws.rd.annotations.Token,
- * int, com.ibm.ws.rd.annotations.Token)
- */
- public void attribute(Token name, int equalsPosition, Token value) {
- m_attributes.add(new Attribute(name, equalsPosition, value));
- m_attSet.add(name.getText());
- }
-
- private String getReplacementForTag(TagSpec ts, int beginIndex) {
- StringBuffer bud = new StringBuffer(32);
-
- bud.append('@');
- bud.append(ts.getTagName());
-
- String prefix = getArrayPrefixForMultipleAttribs(beginIndex);
- List attributes = ts.getAttributes();
-
- for (int i = 0; i < attributes.size(); i++) {
- TagAttribSpec tas = (TagAttribSpec) attributes.get(i);
-
- if (tas.isRequired()) {
- bud.append(prefix);
- bud.append(tas.getAttribName());
- bud.append('=');
- }
- }
- return bud.toString();
- }
-
- private String getArrayPrefixForMultipleAttribs(int beginIndex) {
- String result = null;
- String source = null;
- // Get source from compilation unit
- try {
- source = m_icu.getSource();
- if (source == null || beginIndex < 0)
- return result;
- // trim off everything after our begin index
- source = source.substring(0, beginIndex + 1);
- int newLineIndex = source.lastIndexOf('\n');
- //if we are on first line...
- if (newLineIndex == -1)
- newLineIndex = 0;
- // Get the current line
- String currentLine = source.substring(newLineIndex, beginIndex + 1);
- // Currently we have to have the '@' sign to show our menu
- int annotationIndex = currentLine.lastIndexOf('@');
- result = currentLine.substring(0, annotationIndex);
- result = result + " "; //$NON-NLS-1$
- } catch (Exception e) {
- // Do nothing
- }
-
- return result;
- }
-
- private IJavaCompletionProposal[] getTagCompletionsFor(String partialTagName, AnnotationArea area, int selectLength) {
- List found = new ArrayList();
-
- for (int i = 0; i < m_tags.size(); i++) {
- TagSpec ts = (TagSpec) m_tags.get(i);
- String tname = ts.getTagName();
-
- if (ts.getScope() == m_tagScope && tname.startsWith(partialTagName)) {
- String rtxt = getReplacementForTag(ts, area.beginOffset);
- String labl = '@' + tname;
- AnnotationTagProposal prop = new AnnotationTagProposal(rtxt, area.beginOffset, Math.max(selectLength, rtxt.length()), null, labl, 1);
- prop.setHelpText(lookupTagHelp(ts));
- found.add(prop);
- }
- }
-
- if (!found.isEmpty()) {
- return (IJavaCompletionProposal[]) found.toArray(new IJavaCompletionProposal[found.size()]);
- }
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jdt.ui.text.java.IJavadocCompletionProcessor#getErrorMessage()
- */
- public String getErrorMessage() {
- // TODO Auto-generated method stub
- return null;
- }
-
- private static boolean isWS1(char c) {
- return c == ' ' || c == '\t' || c == '*' || c == '\r' || c == '\n';
- }
-
- private String getTagSoFarIfNotCompleted(int startingAt, int cursorAt) throws BadLocationException {
- if (m_doc.getChar(startingAt) != '@') {
- return null;
- }
-
- int firstChar = startingAt + 1;
-
- if (firstChar == cursorAt) {
- return ""; //$NON-NLS-1$
- }
-
- for (int i = firstChar; i < cursorAt; i++) {
- char c = m_doc.getChar(i);
-
- if (isWS1(c)) {
- return null;
- }
- }
-
- return m_doc.get(firstChar, cursorAt - firstChar);
- }
-
- /**
- * Calculates the the area of the annotation we're trying to complete. Also initializes
- * m_tagScope.
- *
- * @param fromOffset
- * @return
- * @throws JavaModelException
- */
- private AnnotationArea getAnnotationArea(int fromOffset) throws JavaModelException {
- // First, roughly calculate the end of the comment.
- IJavaElement el = m_icu.getElementAt(fromOffset);
- int absmax, absmin;
- if (el == null)
- return null;
- int ty = el.getElementType();
-
- switch (ty) {
- case IJavaElement.FIELD :
- IField f = (IField) el;
- absmax = f.getNameRange().getOffset();
- absmin = f.getSourceRange().getOffset();
- m_tagScope = TagSpec.FIELD;
- break;
-
- case IJavaElement.TYPE :
- IType t = (IType) el;
- absmax = t.getNameRange().getOffset();
- absmin = t.getSourceRange().getOffset();
- m_tagScope = TagSpec.TYPE;
- break;
-
- case IJavaElement.METHOD :
- IMethod m = (IMethod) el;
- absmax = m.getNameRange().getOffset();
- absmin = m.getSourceRange().getOffset();
- m_tagScope = TagSpec.METHOD;
- break;
-
- default :
- m_tagScope = -1;
- return null;
- }
-
- // Make sure we're not after the name for the member.
- if (absmax < fromOffset) {
- return null;
- }
-
- int min = 0, max = 0;
- try {
- // Search backwards for the starting '@'.
- boolean found = false;
- for (min = fromOffset; min >= absmin; min--) {
- if (m_doc.getChar(min) == '@') {
- found = true;
- break;
- }
- }
- if (!found) {
- return null;
- }
-
- // Search forwards for the next '@', or the end of the comment.
- for (max = fromOffset + 1; max < absmax; max++) {
- if (m_doc.getChar(max) == '@') {
- break;
- }
- }
- } catch (BadLocationException e) {
- return null;
- }
-
- return new AnnotationArea(el, min, Math.min(absmax, max));
- }
-
- private String lookupTagHelp(TagSpec ts) {
- if (ts != null)
- try {
- return ts.lookupTagHelp();
- } catch (MissingResourceException e) {
- // Do nothing, return null
- }
- return null;
- }
-
- private String lookupAttHelp(TagAttribSpec tas) {
- if (tas != null)
- try {
- return tas.lookupTagHelp();
- } catch (MissingResourceException e) {
- // Do nothing, return null
- }
- return null;
- }
-
- /**
- * A range that goes from the beginning position up to, but not including, the end position.
- */
- private static class AnnotationArea {
- /**
- * Document offset of the beginning of the javadoc annotation.
- */
- int beginOffset;
-
- /**
- * Document offset of the end of the area that could contain an annotation.
- */
- int endOffset;
- /**
- * The Java element that this annotation is assigned.
- *
- * @param beg
- * @param end
- */
- IJavaElement javaElement;
-
- public AnnotationArea(IJavaElement javaElement, int beg, int end) {
- this.javaElement = javaElement;
- beginOffset = beg;
- endOffset = end;
- }
-
- public boolean contains(int offset) {
- return offset >= beginOffset && offset < endOffset;
- }
-
- public int length() {
- return endOffset - beginOffset;
- }
-
- /**
- * Returns the cursor position relative to the area. Only valid if
- * <code>this.contains( absCursorPos )</code>
- *
- * @param absCursorPos
- * @return
- */
- public int relativeCursorPos(int absCursorPos) {
- return absCursorPos - beginOffset;
- }
-
- public int relativeToAbs(int relPos) {
- return beginOffset + relPos;
- }
- }
-
- private static class Attribute {
- Token name;
-
- Token value;
-
- int equalsPos;
-
- Attribute(Token n, int ep, Token v) {
- name = n;
- value = v;
- equalsPos = ep;
- }
-
- public boolean hasAssignment() {
- return equalsPos != -1;
- }
-
- public boolean hasValue() {
- return value.length() != 0;
- }
-
- public boolean contains(int srcPos) {
- return srcPos >= minExtent() && srcPos <= maxExtent();
- }
-
- public int minExtent() {
- return name.getBeginning();
- }
-
- public int maxExtent() {
- if (hasAssignment()) {
- if (hasValue())
- return value.getEnd();
- return equalsPos;
- }
- return name.getEnd();
- }
-
- public boolean immediatelyPrecedes(int pos) {
- return maxExtent() + 1 == pos;
- }
- }
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jst.common.annotations.ui/src/org/eclipse/jst/common/internal/annotations/ui/AnnotationTagProposal.java b/plugins/org.eclipse.jst.common.annotations.ui/src/org/eclipse/jst/common/internal/annotations/ui/AnnotationTagProposal.java
deleted file mode 100644
index 0ea57731c..000000000
--- a/plugins/org.eclipse.jst.common.annotations.ui/src/org/eclipse/jst/common/internal/annotations/ui/AnnotationTagProposal.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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
- *******************************************************************************/
-/*
- * Created on Sep 4, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.jst.common.internal.annotations.ui;
-
-import org.eclipse.jdt.internal.ui.text.java.JavaCompletionProposal;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jst.common.internal.annotations.registry.AttributeValueProposalHelper;
-import org.eclipse.swt.graphics.Image;
-
-
-/**
- * @author kelleyp
- *
- * A completion proposal especially for Annotation tag completions. This problem this class was
- * created to solve was the problem of attaching help text to a proposal. The mechanism inside of
- * JavaCompletionProposal was useless to us, since it was tied to the idea that the proposal would
- * be for an actual java element, that has javadoc attached to it, etc... So here we subclass
- * JavaCompletionProposal and override <code>getAdditionalProposalInfo</code> for a more suitable
- * way of associating help text with a proposal.
- */
-public class AnnotationTagProposal extends JavaCompletionProposal {
- private static final char QUOTE = '"';
- private boolean ensureBeginQuote = false;
- private boolean ensureEndQuote = false;
- private String localString;
- //private String partialValueString;
- //private AttributeValueProposalHelper helper;
-
- /**
- * Localized help text.
- */
- private String locText;
-
- /**
- * @see JavaCompletionProposal#JavaCompletionProposal(java.lang.String, int, int,
- * org.eclipse.swt.graphics.Image, java.lang.String, int)
- * @param replacementString
- * @param replacementOffset
- * @param replacementLength
- * @param image
- * @param displayString
- * @param relevance
- */
- public AnnotationTagProposal(String replacementString, int replacementOffset, int replacementLength, Image image, String displayString, int relevance) {
- super(replacementString, replacementOffset, replacementLength, image, displayString, relevance);
- this.localString = displayString;
- }
-
- /**
- * @see JavaCompletionProposal#JavaCompletionProposal(java.lang.String, int, int,
- * org.eclipse.swt.graphics.Image, java.lang.String, int,
- * org.eclipse.jface.text.ITextViewer)
- * @param replacementString
- * @param replacementOffset
- * @param replacementLength
- * @param image
- * @param displayString
- * @param relevance
- */
-
- public AnnotationTagProposal(AttributeValueProposalHelper proposalHelper) {
- this(proposalHelper.getReplacementString(), proposalHelper.getValueOffset(), proposalHelper.getReplacementLength(), null, proposalHelper.getValueDisplayString(), 1);
- if (proposalHelper instanceof UIAttributeValueProposalHelper)
- setImage(((UIAttributeValueProposalHelper) proposalHelper).getImage());
- setEnsureBeginQuote(proposalHelper.ensureBeginQuote());
- setEnsureEndQuote(proposalHelper.ensureEndQuote());
- }
-
- public AnnotationTagProposal(UIAttributeValueProposalHelper proposalHelper) {
- this(proposalHelper.getReplacementString(), proposalHelper.getValueOffset(), proposalHelper.getReplacementLength(), proposalHelper.getImage(), proposalHelper.getValueDisplayString(), 1);
- setEnsureBeginQuote(proposalHelper.ensureBeginQuote());
- setEnsureEndQuote(proposalHelper.ensureEndQuote());
- }
-
- /**
- * Our override that uses <code>textHolder</code> to provide the help text.
- */
- public String getAdditionalProposalInfo() {
- return locText;
- }
-
- /**
- * Sets the holder of the help text that can be displayed with this proposal.
- *
- * @param hld
- * an LocalizedTextContainer
- */
- public void setHelpText(String s) {
- locText = s;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jdt.internal.ui.text.java.JavaCompletionProposal#apply(org.eclipse.jface.text.IDocument,
- * char, int)
- */
- public void apply(IDocument document, char trigger, int offset) {
- ensureQuotedIfNecessary(document, offset);
- super.apply(document, trigger, offset);
- }
-
- /**
- * @param document
- * @param offset
- */
- private void ensureQuotedIfNecessary(IDocument document, int offset) {
- if (ensureBeginQuote || ensureEndQuote) {
- try {
- char begin = document.getChar(getReplacementOffset() - 1);
- char end = document.getChar(offset);
- if (ensureBeginQuote && ensureEndQuote && begin != QUOTE && end != QUOTE) {
- StringBuffer b = new StringBuffer();
- b.append(QUOTE).append(localString).append(QUOTE);
- localString = b.toString();
- } else if (ensureBeginQuote && begin != QUOTE)
- localString = QUOTE + localString;
- else if (ensureEndQuote && end != QUOTE)
- localString = localString + QUOTE;
- setReplacementString(localString);
- setCursorPosition(localString.length());
- } catch (BadLocationException e) {
- // Do nothing
- }
- }
- }
-
- public void setEnsureQuoted(boolean ensureQuoted) {
- setEnsureBeginQuote(ensureQuoted);
- setEnsureEndQuote(ensureQuoted);
- }
-
- //public void setPartialValueString(String partialValueString) {
- // this.partialValueString = partialValueString;
- //}
- public void setEnsureBeginQuote(boolean ensureBeginQuote) {
- this.ensureBeginQuote = ensureBeginQuote;
- }
-
- public void setEnsureEndQuote(boolean ensureEndQuote) {
- this.ensureEndQuote = ensureEndQuote;
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jst.common.annotations.ui/src/org/eclipse/jst/common/internal/annotations/ui/IWRDResources.java b/plugins/org.eclipse.jst.common.annotations.ui/src/org/eclipse/jst/common/internal/annotations/ui/IWRDResources.java
deleted file mode 100644
index 5062b28f2..000000000
--- a/plugins/org.eclipse.jst.common.annotations.ui/src/org/eclipse/jst/common/internal/annotations/ui/IWRDResources.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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
- *******************************************************************************/
-/*
- * Created on Mar 4, 2004
- *
- * To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-
-package org.eclipse.jst.common.internal.annotations.ui;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * @author kkatyal
- *
- * To change the template for this generated type comment go to Window - Preferences - Java - Code
- * Generation - Code and Comments
- */
-public class IWRDResources {
-
- private static final String BUNDLE_NAME = "taghandlerui";//$NON-NLS-1$
- private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);
-
- /**
- *
- */
- private IWRDResources() {
- // TODO Auto-generated constructor stub
- }
-
- /**
- * @param key
- * @return
- */
- public static String getString(String key) {
- // TODO Auto-generated method stub
- try {
- return RESOURCE_BUNDLE.getString(key);
- } catch (MissingResourceException e) {
- return '!' + key + '!';
- }
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jst.common.annotations.ui/src/org/eclipse/jst/common/internal/annotations/ui/UIAttributeValueProposalHelper.java b/plugins/org.eclipse.jst.common.annotations.ui/src/org/eclipse/jst/common/internal/annotations/ui/UIAttributeValueProposalHelper.java
deleted file mode 100644
index d59538458..000000000
--- a/plugins/org.eclipse.jst.common.annotations.ui/src/org/eclipse/jst/common/internal/annotations/ui/UIAttributeValueProposalHelper.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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.jst.common.internal.annotations.ui;
-
-import org.eclipse.jst.common.internal.annotations.registry.AttributeValueProposalHelper;
-import org.eclipse.swt.graphics.Image;
-
-
-/**
- * @author DABERG
- *
- */
-public class UIAttributeValueProposalHelper extends AttributeValueProposalHelper {
- private Image image;
-
- /**
- * @param replacementString
- * @param valueOffset
- * @param replacementLength
- * @param valueDisplayString
- */
- public UIAttributeValueProposalHelper(String replacementString, int valueOffset, int replacementLength, String valueDisplayString) {
- super(replacementString, valueOffset, replacementLength, valueDisplayString);
- }
-
- public Image getImage() {
- return image;
- }
-
- public void setImage(Image image) {
- this.image = image;
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jst.common.annotations.ui/src/org/eclipse/jst/common/internal/annotations/ui/UiPlugin.java b/plugins/org.eclipse.jst.common.annotations.ui/src/org/eclipse/jst/common/internal/annotations/ui/UiPlugin.java
deleted file mode 100644
index 6e96f4cb3..000000000
--- a/plugins/org.eclipse.jst.common.annotations.ui/src/org/eclipse/jst/common/internal/annotations/ui/UiPlugin.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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.jst.common.internal.annotations.ui;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class UiPlugin extends AbstractUIPlugin {
- //The shared instance.
- private static UiPlugin plugin;
- //Resource bundle.
- private ResourceBundle resourceBundle;
-
- /**
- * The constructor.
- */
- public UiPlugin() {
- super();
- plugin = this;
- try {
- resourceBundle = ResourceBundle.getBundle("org.eclipse.wst.common.internal.annotations.ui.UiPluginResources"); //$NON-NLS-1$
- } catch (MissingResourceException x) {
- resourceBundle = null;
- }
- }
-
- /**
- * Returns the shared instance.
- */
- public static UiPlugin getDefault() {
- return plugin;
- }
-
- /**
- * Returns the string from the plugin's resource bundle, or 'key' if not found.
- */
- public static String getResourceString(String key) {
- ResourceBundle bundle = UiPlugin.getDefault().getResourceBundle();
- try {
- return (bundle != null) ? bundle.getString(key) : key;
- } catch (MissingResourceException e) {
- return key;
- }
- }
-
- /**
- * Returns the plugin's resource bundle,
- */
- public ResourceBundle getResourceBundle() {
- return resourceBundle;
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jst.common.frameworks/.classpath b/plugins/org.eclipse.jst.common.frameworks/.classpath
deleted file mode 100644
index 751c8f2e5..000000000
--- a/plugins/org.eclipse.jst.common.frameworks/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.jst.common.frameworks/.cvsignore b/plugins/org.eclipse.jst.common.frameworks/.cvsignore
deleted file mode 100644
index e483d2569..000000000
--- a/plugins/org.eclipse.jst.common.frameworks/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-bin
-temp.folder
-build.xml
-jdt_integration.jar
diff --git a/plugins/org.eclipse.jst.common.frameworks/.project b/plugins/org.eclipse.jst.common.frameworks/.project
deleted file mode 100644
index 22c0bcb29..000000000
--- a/plugins/org.eclipse.jst.common.frameworks/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.jst.common.frameworks</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.jst.common.frameworks/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.common.frameworks/META-INF/MANIFEST.MF
deleted file mode 100644
index fd18fd32a..000000000
--- a/plugins/org.eclipse.jst.common.frameworks/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,22 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Integration Plug-in
-Bundle-SymbolicName: org.eclipse.jst.common.frameworks; singleton:=true
-Bundle-Version: 0.7.0
-Bundle-ClassPath: jdt_integration.jar
-Bundle-Vendor: Eclipse.org
-Bundle-Localization: plugin
-Export-Package: org.eclipse.jst.common.jdt.internal.classpath,
- org.eclipse.jst.common.jdt.internal.integration,
- org.eclipse.jst.common.componentcore.util
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.jdt.core,
- org.eclipse.emf.ecore,
- org.eclipse.emf.ecore.xmi,
- org.eclipse.wst.common.frameworks,
- org.eclipse.wst.common.modulecore,
- org.eclipse.jem.util,
- org.eclipse.core.resources,
- org.eclipse.wst.common.emf,
- org.eclipse.core.commands,
- org.eclipse.wst.common.emfworkbench.integration
diff --git a/plugins/org.eclipse.jst.common.frameworks/about.html b/plugins/org.eclipse.jst.common.frameworks/about.html
deleted file mode 100644
index 6f6b96c4c..000000000
--- a/plugins/org.eclipse.jst.common.frameworks/about.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>February 24, 2005</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/plugins/org.eclipse.jst.common.frameworks/build.properties b/plugins/org.eclipse.jst.common.frameworks/build.properties
deleted file mode 100644
index ca9493c65..000000000
--- a/plugins/org.eclipse.jst.common.frameworks/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 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
-###############################################################################
-source.jdt_integration.jar = src/
-output.jdt_integration.jar = bin/
-bin.includes = plugin.xml,\
- jdt_integration.jar,\
- META-INF/,\
- about.html
-src.includes = component.xml
diff --git a/plugins/org.eclipse.jst.common.frameworks/component.xml b/plugins/org.eclipse.jst.common.frameworks/component.xml
deleted file mode 100644
index 07a555ff6..000000000
--- a/plugins/org.eclipse.jst.common.frameworks/component.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component xmlns="http://eclipse.org/wtp/releng/tools/component-model"
- name="org.eclipse.jst.common.frameworks">
- <component-depends unrestricted="true"></component-depends>
- <plugin id="org.eclipse.jst.common.frameworks" fragment="false" />
- <plugin id="org.eclipse.jst.common.frameworks.ui" fragment="false" />
- <plugin id="org.eclipse.jst.common.launcher.ant" fragment="false" />
- <plugin id="org.eclipse.jst.common.navigator.java" fragment="false" />
- <plugin id="org.eclipse.jst.common.annotations.controller"
- fragment="false" />
- <plugin id="org.eclipse.jst.common.annotations.core"
- fragment="false" />
- <plugin id="org.eclipse.jst.common.annotations.ui" fragment="false" />
-</component> \ No newline at end of file
diff --git a/plugins/org.eclipse.jst.common.frameworks/plugin.xml b/plugins/org.eclipse.jst.common.frameworks/plugin.xml
deleted file mode 100644
index c5b673614..000000000
--- a/plugins/org.eclipse.jst.common.frameworks/plugin.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
- <extension
- id="context.Sensitive.Class.workingCopyManager"
- name="Working Copy Manager - Headless Context Class"
- point="org.eclipse.jem.util.uiContextSensitiveClass">
- <uiContextSensitiveClass
- key="workingCopyManager"
- context="Headless"
- className="org.eclipse.jst.common.jdt.internal.integration.WTPWorkingCopyManager">
- </uiContextSensitiveClass>
- </extension>
-
- <extension
- id="javaProjectValidationHandler"
- name="javaProjectValidationHandler"
- point="org.eclipse.wst.common.frameworks.validationSelectionHandler">
- <validationSelectionHandler
- id="javaProjectValidationHandler"
- handlerClass="org.eclipse.jst.common.jdt.internal.integration.JavaProjectValidationHandler"
- selectionType="org.eclipse.jdt.core.IJavaProject"/>
- </extension>
- <extension
- point="org.eclipse.wst.common.emfworkbench.integration.editModel">
- <editModel
- editModelID="jst.utility"
- factoryClass="org.eclipse.jst.common.jdt.internal.integration.JavaArtifactEditModelFactory">
- </editModel>
- </extension>
-
-
-</plugin>
diff --git a/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/componentcore/util/ComponentUtilities.java b/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/componentcore/util/ComponentUtilities.java
deleted file mode 100644
index c780cd7e4..000000000
--- a/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/componentcore/util/ComponentUtilities.java
+++ /dev/null
@@ -1,371 +0,0 @@
-package org.eclipse.jst.common.componentcore.util;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourceAttributes;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
-import org.eclipse.jem.util.emf.workbench.WorkbenchResourceHelperBase;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jst.common.jdt.internal.integration.IJavaProjectMigrationDataModelProperties;
-import org.eclipse.jst.common.jdt.internal.integration.JavaProjectMigrationDataModelProvider;
-import org.eclipse.jst.common.jdt.internal.integration.JavaProjectMigrationOperation;
-import org.eclipse.wst.common.componentcore.ArtifactEdit;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.UnresolveableURIException;
-import org.eclipse.wst.common.componentcore.datamodel.properties.ICreateReferenceComponentsDataModelProperties;
-import org.eclipse.wst.common.componentcore.internal.ComponentResource;
-import org.eclipse.wst.common.componentcore.internal.StructureEdit;
-import org.eclipse.wst.common.componentcore.internal.WorkbenchComponent;
-import org.eclipse.wst.common.componentcore.internal.impl.ModuleURIUtil;
-import org.eclipse.wst.common.componentcore.internal.impl.ResourceTreeNode;
-import org.eclipse.wst.common.componentcore.internal.operation.CreateReferenceComponentsDataModelProvider;
-import org.eclipse.wst.common.componentcore.internal.operation.CreateReferenceComponentsOp;
-import org.eclipse.wst.common.componentcore.internal.operation.RemoveReferenceComponentOperation;
-import org.eclipse.wst.common.componentcore.internal.operation.RemoveReferenceComponentsDataModelProvider;
-import org.eclipse.wst.common.componentcore.internal.resources.VirtualComponent;
-import org.eclipse.wst.common.componentcore.internal.util.ArtifactEditRegistryReader;
-import org.eclipse.wst.common.componentcore.internal.util.IArtifactEditFactory;
-import org.eclipse.wst.common.componentcore.internal.util.IModuleConstants;
-import org.eclipse.wst.common.componentcore.resources.ComponentHandle;
-import org.eclipse.wst.common.componentcore.resources.IFlexibleProject;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualContainer;
-import org.eclipse.wst.common.componentcore.resources.IVirtualFolder;
-import org.eclipse.wst.common.componentcore.resources.IVirtualResource;
-import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.internal.emfworkbench.WorkbenchResourceHelper;
-
-public class ComponentUtilities {
-
- public static String JAVA_NATURE = "org.eclipse.jdt.core.javanature";
-
- /**
- * Retrieve all the source containers for a given virtual workbench component
- *
- * @param wc
- * @return the array of IPackageFragmentRoots
- */
- public static IPackageFragmentRoot[] getSourceContainers(IVirtualComponent vc) {
- List list = new ArrayList();
- IProject project = vc.getProject();
- IJavaProject jProject = JavaCore.create(project);
- IPackageFragmentRoot[] roots;
- try {
- roots = jProject.getPackageFragmentRoots();
- for (int i = 0; i < roots.length; i++) {
- IResource resource = roots[i].getResource();
- if (null != resource) {
- IVirtualResource[] vResources = ComponentCore.createResources(resource);
- boolean found = false;
- for (int j = 0; !found && j < vResources.length; j++) {
- if (vResources[j].getComponent().equals(vc)) {
- list.add(roots[i]);
- found = true;
- }
- }
- }
- }
- } catch (JavaModelException e) {
- Logger.getLogger().logError(e);
- }
-
- return (IPackageFragmentRoot[]) list.toArray(new IPackageFragmentRoot[list.size()]);
- }
-
- /**
- * Ensure the container is not read-only.
- * <p>
- * For Linux, a Resource cannot be created in a ReadOnly folder. This is only necessary for new
- * files.
- *
- * @param resource
- * workspace resource to make read/write
- * @plannedfor 1.0.0
- */
- public static void ensureContainerNotReadOnly(IResource resource) {
- if (resource != null && !resource.exists()) { // it must be new
- IContainer container = resource.getParent();
- if (container != null) {
- ResourceAttributes attr = container.getResourceAttributes();
- if (!attr.isReadOnly())
- container = container.getParent();
- attr.setReadOnly(false);
- }
- }
- }
-
- public static IFolder createFolderInComponent(IVirtualComponent component, String folderName) throws CoreException {
- if (folderName != null) {
- IVirtualFolder rootfolder = component.getRootFolder();
- IFolder folder = ResourcesPlugin.getWorkspace().getRoot().getFolder(new Path(rootfolder.getProject().getName()).append(folderName));
- if (!folder.exists()) {
- ProjectUtilities.ensureContainerNotReadOnly(folder);
- folder.create(true, true, null);
- }
- return folder;
- }
- return null;
- }
-
-
-
- public static ArtifactEdit getArtifactEditForRead(IVirtualComponent comp) {
- ArtifactEditRegistryReader reader = ArtifactEditRegistryReader.instance();
- if (comp != null) {
- IArtifactEditFactory factory = reader.getArtifactEdit(comp.getComponentTypeId());
- return factory.createArtifactEditForRead(comp);
- }
- return null;
- }
-
-
-
- public static IFile findFile(IVirtualComponent comp, IPath aPath) throws CoreException {
- // IVirtualResource[] members = comp.members();
- IVirtualResource[] members = comp.getRootFolder().members();
- for (int i = 0; i < members.length; i++) {
- IVirtualResource resource = members[i];
- if (resource.getType() == IVirtualResource.FOLDER) {
- IVirtualResource file = ((IVirtualContainer) resource).findMember(aPath);
- if (file != null)
- return (IFile) file.getUnderlyingResource();
- }
- }
- return null;
- }
-
- private static IVirtualComponent findComponent(IProject project, Resource res) {
-
- StructureEdit moduleCore = null;
- WorkbenchComponent module = null;
- try {
- moduleCore = StructureEdit.getStructureEditForRead(project);
- URI uri = WorkbenchResourceHelperBase.getNonPlatformURI(res.getURI());
- IPath projPath = WorkbenchResourceHelper.getPathInProject(project, new Path(uri.path()));
- ComponentResource[] resources = moduleCore.findResourcesBySourcePath(projPath, ResourceTreeNode.CREATE_RESOURCE_ALWAYS);
- for (int i = 0; i < resources.length; i++) {
- module = resources[i].getComponent();
- if (module != null)
- break;
- }
- } catch (UnresolveableURIException e) {
- // Ignore
- } finally {
- if (moduleCore != null)
- moduleCore.dispose();
- }
- if (module == null)
- return null;
- else
- return ComponentCore.createComponent(project, module.getName());
- }
-
- public static IVirtualComponent findComponent(IProject project, IResource res) {
-
- StructureEdit moduleCore = null;
- WorkbenchComponent module = null;
- try {
- moduleCore = StructureEdit.getStructureEditForRead(project);
- ComponentResource[] resources = moduleCore.findResourcesBySourcePath(res.getFullPath());
- for (int i = 0; i < resources.length; i++) {
- module = resources[i].getComponent();
- if (module != null)
- break;
- }
- } catch (UnresolveableURIException e) {
- // Ignore
- } finally {
- if (moduleCore != null)
- moduleCore.dispose();
- }
- return ComponentCore.createComponent(project, module.getName());
- }
-
- /**
- * **********************Please read java doc before using this api*******************
- * This is a very expensive api from a performance point as it does a structure edit
- * access and release for each component in the workspace. Use this api very sparingly
- * and if used cached the information returned by this api for further processing
- * @return - A an array of all virtual components in the workspace
- * ***********************************************************************************
- */
-
- public static IVirtualComponent[] getAllWorkbenchComponents() {
- List components = new ArrayList();
- List projects = Arrays.asList(ResourcesPlugin.getWorkspace().getRoot().getProjects());
- for (int i = 0; i < projects.size(); i++) {
- IFlexibleProject flexProject = ComponentCore.createFlexibleProject((IProject) projects.get(i));
- IVirtualComponent[] wbComp = flexProject.getComponents();
- for (int j = 0; j < wbComp.length; j++) {
- components.add(ComponentCore.createComponent((IProject) projects.get(i), wbComp[j].getName()));
- }
- }
- VirtualComponent[] temp = (VirtualComponent[]) components.toArray(new VirtualComponent[components.size()]);
- return temp;
- }
-
- public static IVirtualComponent[] getComponentsForProject(IProject project) {
- IFlexibleProject flexProject = ComponentCore.createFlexibleProject(project);
- return flexProject.getComponents();
- }
-
- /**
- * **********************Please read java doc before using this api*******************
- * This is a very expensive api from a performance point as it does a structure edit
- * access and release for each component in the workspace. Use this api very sparingly
- * and if used cached the information returned by this api for further processing
- * @return - A virtual component in the workspace
- * ***********************************************************************************
- */
-
- public static IVirtualComponent[] getComponent(String componentName) {
- IVirtualComponent[] allComponents = getAllWorkbenchComponents();
- List matchingComponents = new ArrayList();
- for (int i = 0; i < allComponents.length; i++) {
- if (allComponents[i].getName().equals(componentName)) {
- matchingComponents.add(allComponents[i]);
- }
- }
- VirtualComponent[] temp = (VirtualComponent[]) matchingComponents.toArray(new VirtualComponent[matchingComponents.size()]);
- return temp;
- }
-
-
-
- public static ArtifactEdit getArtifactEditForWrite(IVirtualComponent comp) {
- ArtifactEditRegistryReader reader = ArtifactEditRegistryReader.instance();
- IArtifactEditFactory factory = reader.getArtifactEdit(comp.getComponentTypeId());
- return factory.createArtifactEditForWrite(comp);
- }
-
- public static IVirtualComponent findComponent(EObject anObject) {
- IProject project = ProjectUtilities.getProject(anObject);
- Resource res = anObject.eResource();
- return findComponent(project, res);
- }
-
- public static IVirtualComponent findComponent(Resource aResource) {
- IProject project = ProjectUtilities.getProject(aResource);
- return findComponent(project, aResource);
- }
-
- public static List getAllJavaNonFlexProjects() throws CoreException {
- List nonFlexJavaProjects = new ArrayList();
- IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
- for (int i = 0; i < projects.length; i++) {
- if (projects[i].hasNature(JAVA_NATURE) && !projects[i].hasNature(IModuleConstants.MODULE_NATURE_ID)) {
- nonFlexJavaProjects.add(projects[i]);
- }
- }
- return nonFlexJavaProjects;
- }
-
- public static JavaProjectMigrationOperation createFlexJavaProjectForProjectOperation(IProject project) {
- IDataModel model = DataModelFactory.createDataModel(new JavaProjectMigrationDataModelProvider());
- model.setProperty(IJavaProjectMigrationDataModelProperties.PROJECT_NAME, project.getName());
- return new JavaProjectMigrationOperation(model);
- }
-
- public static CreateReferenceComponentsOp createReferenceComponentOperation(ComponentHandle sourceComponentHandle, List targetComponentsHandles) {
- IDataModel model = DataModelFactory.createDataModel(new CreateReferenceComponentsDataModelProvider());
- model.setProperty(ICreateReferenceComponentsDataModelProperties.SOURCE_COMPONENT_HANDLE, sourceComponentHandle);
- List modHandlesList = (List) model.getProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENTS_HANDLE_LIST);
- modHandlesList.addAll(targetComponentsHandles);
- model.setProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENTS_HANDLE_LIST, modHandlesList);
-
- return new CreateReferenceComponentsOp(model);
- }
-
- public static CreateReferenceComponentsOp createWLPReferenceComponentOperation(ComponentHandle sourceComponentHandle, List targetComponentsHandles) {
- IDataModel model = DataModelFactory.createDataModel(new CreateReferenceComponentsDataModelProvider());
- model.setProperty(ICreateReferenceComponentsDataModelProperties.SOURCE_COMPONENT_HANDLE, sourceComponentHandle);
- List modHandlesList = (List) model.getProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENTS_HANDLE_LIST);
- modHandlesList.addAll(targetComponentsHandles);
- model.setProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENTS_HANDLE_LIST, modHandlesList);
- model.setProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENTS_DEPLOY_PATH,"/WEB-INF/lib");
- return new CreateReferenceComponentsOp(model);
- }
-
- public static RemoveReferenceComponentOperation removeReferenceComponentOperation(ComponentHandle sourceComponentHandle, List targetComponentsHandles) {
- IDataModel model = DataModelFactory.createDataModel(new RemoveReferenceComponentsDataModelProvider());
- model.setProperty(ICreateReferenceComponentsDataModelProperties.SOURCE_COMPONENT_HANDLE, sourceComponentHandle);
- List modHandlesList = (List) model.getProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENTS_HANDLE_LIST);
- modHandlesList.addAll(targetComponentsHandles);
- model.setProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENTS_HANDLE_LIST, modHandlesList);
- return new RemoveReferenceComponentOperation(model);
-
- }
-
- /**
- *
- * @param name
- * @return
- * @description the passed name should have either lib or var as its first segment e.g.
- * lib/D:/foo/foo.jar or var/<CLASSPATHVAR>/foo.jar
- */
- public static IPath getResolvedPathForArchiveComponent(String name) {
-
- URI uri = URI.createURI(name);
-
- String resourceType = uri.segment(0);
- URI contenturi = ModuleURIUtil.trimToRelativePath(uri, 1);
- String contentName = contenturi.toString();
-
- if (resourceType.equals("lib")) {
- // module:/classpath/lib/D:/foo/foo.jar
- return Path.fromOSString(contentName);
-
- } else if (resourceType.equals("var")) {
-
- // module:/classpath/var/<CLASSPATHVAR>/foo.jar
- String classpathVar = contenturi.segment(0);
- URI remainingPathuri = ModuleURIUtil.trimToRelativePath(contenturi, 1);
- String remainingPath = remainingPathuri.toString();
-
- String[] classpathvars = JavaCore.getClasspathVariableNames();
- boolean found = false;
- for (int i = 0; i < classpathvars.length; i++) {
- if (classpathVar.equals(classpathvars[i])) {
- found = true;
- break;
- }
- }
- if (found) {
- IPath path = JavaCore.getClasspathVariable(classpathVar);
- URI finaluri = URI.createURI(path.toOSString() + IPath.SEPARATOR + remainingPath);
- return Path.fromOSString(finaluri.toString());
- }
- }
- return null;
- }
-
- public static IVirtualComponent[] getAllComponentsInWorkspaceOfType(String type) {
- List result = new ArrayList();
- IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
- for (int i = 0; i < projects.length; i++) {
- IFlexibleProject project = ComponentCore.createFlexibleProject(projects[i]);
- result.addAll(Arrays.asList(project.getComponentsOfType(type)));
- }
- return (IVirtualComponent[]) result.toArray(new IVirtualComponent[result.size()]);
- }
-
-}
diff --git a/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/frameworks/CommonFrameworksPlugin.java b/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/frameworks/CommonFrameworksPlugin.java
deleted file mode 100644
index fbf7ee685..000000000
--- a/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/frameworks/CommonFrameworksPlugin.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2005 BEA Systems, Inc.
- * 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:
- * Konstantin Komissarchik - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.jst.common.frameworks;
-
-import org.eclipse.core.runtime.ILog;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.wst.common.frameworks.internal.WTPPlugin;
-
-public final class CommonFrameworksPlugin
-
- extends WTPPlugin
-
-{
- public static final String PLUGIN_ID = "org.eclipse.jst.common.frameworks";
-
- private static final CommonFrameworksPlugin inst
- = new CommonFrameworksPlugin();
-
- /**
- * Get the plugin singleton.
- */
-
- public static CommonFrameworksPlugin getDefault()
- {
- return inst;
- }
-
- public String getPluginID()
- {
- return PLUGIN_ID;
- }
-
- public static void log( final Exception e )
- {
- final ILog log = CommonFrameworksPlugin.getDefault().getLog();
- final String msg = "Encountered an unexpected exception.";
-
- log.log( new Status( IStatus.ERROR, PLUGIN_ID, IStatus.OK, msg, e ) );
- }
-
-}
diff --git a/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/classpath/ClasspathDecorations.java b/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/classpath/ClasspathDecorations.java
deleted file mode 100644
index b120ec873..000000000
--- a/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/classpath/ClasspathDecorations.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2005 BEA Systems, Inc.
- * 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:
- * Konstantin Komissarchik - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.jst.common.jdt.internal.classpath;
-
-import java.util.ArrayList;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.core.IClasspathAttribute;
-import org.eclipse.jdt.core.JavaCore;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public final class ClasspathDecorations
-{
- private IPath sourceAttachmentPath;
- private IPath sourceAttachmentRootPath;
- private ArrayList extraAttributes = new ArrayList();
-
- public IPath getSourceAttachmentPath()
- {
- return this.sourceAttachmentPath;
- }
-
- void setSourceAttachmentPath( final IPath sourceAttachmentPath )
- {
- this.sourceAttachmentPath = sourceAttachmentPath;
- }
-
- public IPath getSourceAttachmentRootPath()
- {
- return this.sourceAttachmentRootPath;
- }
-
- void setSourceAttachmentRootPath( final IPath sourceAttachmentRootPath )
- {
- this.sourceAttachmentRootPath = sourceAttachmentRootPath;
- }
-
- public IClasspathAttribute[] getExtraAttributes()
- {
- final IClasspathAttribute[] array
- = new IClasspathAttribute[ this.extraAttributes.size() ];
-
- return (IClasspathAttribute[]) this.extraAttributes.toArray( array );
- }
-
- void setExtraAttributes( final IClasspathAttribute[] attrs )
- {
- for( int i = 0; i < attrs.length; i++ )
- {
- this.extraAttributes.add( attrs[ i ] );
- }
- }
-
- void addExtraAttribute( final String name,
- final String value )
- {
- final IClasspathAttribute attr
- = JavaCore.newClasspathAttribute( name, value );
-
- this.extraAttributes.add( attr );
- }
-
-}
diff --git a/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/classpath/ClasspathDecorationsManager.java b/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/classpath/ClasspathDecorationsManager.java
deleted file mode 100644
index ee8fe0434..000000000
--- a/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/classpath/ClasspathDecorationsManager.java
+++ /dev/null
@@ -1,374 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2005 BEA Systems, Inc.
- * 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:
- * Konstantin Komissarchik - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.jst.common.jdt.internal.classpath;
-
-import java.io.BufferedInputStream;
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.PrintWriter;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.NoSuchElementException;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.IClasspathAttribute;
-import org.eclipse.jst.common.frameworks.CommonFrameworksPlugin;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public final class ClasspathDecorationsManager
-{
- private final File f;
- private final HashMap decorations;
-
- public ClasspathDecorationsManager( final String plugin )
- {
- final IWorkspace ws = ResourcesPlugin.getWorkspace();
- final File wsdir = ws.getRoot().getLocation().toFile();
- final File wsmdroot = new File( wsdir, ".metadata/.plugins" );
- final File pmdroot = new File( wsmdroot, plugin );
-
- this.f = new File( pmdroot, "classpath.decorations.xml" );
- this.decorations = read();
- }
-
- public ClasspathDecorations getDecorations( final String container,
- final String entry )
- {
- final HashMap submap = (HashMap) this.decorations.get( container );
-
- if( submap == null )
- {
- return null;
- }
-
- return (ClasspathDecorations) submap.get( entry );
- }
-
- public void setDecorations( final String container,
- final String entry,
- final ClasspathDecorations dec )
- {
- HashMap submap = (HashMap) this.decorations.get( container );
-
- if( submap == null )
- {
- submap = new HashMap();
- this.decorations.put( container, submap );
- }
-
- submap.put( entry, dec );
- }
-
- public void clearAllDecorations( final String container )
- {
- this.decorations.remove( container );
- }
-
- public void save()
- {
- final File folder = this.f.getParentFile();
-
- if( ! folder.exists() && ! folder.mkdirs() )
- {
- return;
- }
-
- PrintWriter w = null;
-
- try
- {
- w = new PrintWriter( new BufferedWriter( new FileWriter( this.f ) ) );
-
- w.println( "<classpath>" );
-
- for( Iterator itr1 = decorations.entrySet().iterator();
- itr1.hasNext(); )
- {
- final Map.Entry entry1 = (Map.Entry) itr1.next();
- final Map submap = (Map) entry1.getValue();
-
- w.print( " <container id=\"" );
- w.print( (String) entry1.getKey() );
- w.println( "\">" );
-
- for( Iterator itr2 = submap.entrySet().iterator();
- itr2.hasNext(); )
- {
- final Map.Entry entry2 = (Map.Entry) itr2.next();
-
- final ClasspathDecorations dec
- = (ClasspathDecorations) entry2.getValue();
-
- w.print( " <entry id=\"" );
- w.print( (String) entry2.getKey() );
- w.println( "\">" );
-
- if( dec.getSourceAttachmentPath() != null )
- {
- w.print( " <source-attachment-path>" );
- w.print( dec.getSourceAttachmentPath().toString() );
- w.println( "</source-attachment-path>" );
- }
-
- if( dec.getSourceAttachmentRootPath() != null )
- {
- w.print( " <source-attachment-root-path>" );
- w.print( dec.getSourceAttachmentRootPath().toString() );
- w.println( "</source-attachment-root-path>" );
- }
-
- final IClasspathAttribute[] attrs
- = dec.getExtraAttributes();
-
- for( int i = 0; i < attrs.length; i++ )
- {
- final IClasspathAttribute attr = attrs[ i ];
-
- w.print( " <attribute name=\"" );
- w.print( attr.getName() );
- w.print( "\">" );
- w.print( attr.getValue() );
- w.println( "</attribute>" );
- }
-
- w.println( " </entry>" );
- }
-
- w.println( " </container>" );
- }
-
- w.println( "</classpath>" );
- }
- catch( IOException e )
- {
- CommonFrameworksPlugin.log( e );
- }
- finally
- {
- w.close();
- }
- }
-
- private HashMap read()
- {
- final HashMap map = new HashMap();
- if( ! this.f.exists() ) return map;
-
- InputStream in = null;
- Element root = null;
-
- try
- {
- final DocumentBuilderFactory factory
- = DocumentBuilderFactory.newInstance();
-
- final DocumentBuilder docbuilder = factory.newDocumentBuilder();
-
- in = new BufferedInputStream( new FileInputStream( f ) );
- root = docbuilder.parse( in ).getDocumentElement();
- }
- catch( Exception e )
- {
- CommonFrameworksPlugin.log( e );
- return map;
- }
- finally
- {
- if( in != null )
- {
- try
- {
- in.close();
- }
- catch( IOException e ) {}
- }
- }
-
- for( Iterator itr1 = elements( root, "container" ); itr1.hasNext(); )
- {
- final Element e1 = (Element) itr1.next();
- final String cid = e1.getAttribute( "id" );
-
- final HashMap submap = new HashMap();
- map.put( cid, submap );
-
- for( Iterator itr2 = elements( e1, "entry" ); itr2.hasNext(); )
- {
- final Element e2 = (Element) itr2.next();
- final String eid = e2.getAttribute( "id" );
- final ClasspathDecorations dec = new ClasspathDecorations();
-
- submap.put( eid, dec );
-
- for( Iterator itr3 = elements( e2 ); itr3.hasNext(); )
- {
- final Element e3 = (Element) itr3.next();
- final String n = e3.getNodeName();
-
- if( n.equals( "source-attachment-path" ) )
- {
- dec.setSourceAttachmentPath( new Path( text( e3 ) ) );
- }
- else if( n.equals( "source-attachment-root-path" ) )
- {
- dec.setSourceAttachmentRootPath( new Path( text( e3 ) ) );
- }
- else if( n.equals( "attribute" ) )
- {
- final String name = e3.getAttribute( "name" );
- dec.addExtraAttribute( name, text( e3 ) );
- }
- }
- }
- }
-
- return map;
- }
-
- private static String text( final Element el )
- {
- final NodeList nodes = el.getChildNodes();
-
- String str = null;
- StringBuffer buf = null;
-
- for( int i = 0, n = nodes.getLength(); i < n; i++ )
- {
- final Node node = nodes.item( i );
-
- if( node.getNodeType() == Node.TEXT_NODE )
- {
- final String val = node.getNodeValue();
-
- if( buf != null )
- {
- buf.append( val );
- }
- else if( str != null )
- {
- buf = new StringBuffer();
- buf.append( str );
- buf.append( val );
-
- str = null;
- }
- else
- {
- str = val;
- }
- }
- }
-
- if( buf != null )
- {
- return buf.toString();
- }
- else
- {
- return str;
- }
- }
-
- private static Iterator elements( final Element el,
- final String name )
- {
- return new ElementsIterator( el, name );
- }
-
- private static Iterator elements( final Element el )
- {
- return new ElementsIterator( el, null );
- }
-
- private static final class ElementsIterator
-
- implements Iterator
-
- {
- private final NodeList nodes;
- private final int length;
- private final String name;
- private int position;
- private Element element;
-
- public ElementsIterator( final Element parent,
- final String name )
- {
- this.nodes = parent.getChildNodes();
- this.length = nodes.getLength();
- this.position = -1;
- this.name = name;
-
- advance();
- }
-
- private void advance()
- {
- this.element = null;
- this.position++;
-
- for( ; this.position < this.length && this.element == null;
- this.position++ )
- {
- final Node node = this.nodes.item( this.position );
-
- if( node.getNodeType() == Node.ELEMENT_NODE &&
- ( this.name == null ||
- node.getNodeName().equals( this.name ) ) )
- {
- this.element = (Element) node;
- }
- }
- }
-
- public boolean hasNext()
- {
- return ( this.element != null );
- }
-
- public Object next()
- {
- final Element el = this.element;
-
- if( el == null )
- {
- throw new NoSuchElementException();
- }
-
- advance();
-
- return el;
- }
-
- public void remove()
- {
- throw new UnsupportedOperationException();
- }
- }
-
-}
diff --git a/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/classpath/FlexibleProjectContainer.java b/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/classpath/FlexibleProjectContainer.java
deleted file mode 100644
index a2f2570b9..000000000
--- a/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/classpath/FlexibleProjectContainer.java
+++ /dev/null
@@ -1,363 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2005 BEA Systems, Inc.
- * 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:
- * Konstantin Komissarchik - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.jst.common.jdt.internal.classpath;
-
-import java.io.File;
-import java.util.ArrayList;
-
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.core.IAccessRule;
-import org.eclipse.jdt.core.IClasspathAttribute;
-import org.eclipse.jdt.core.IClasspathContainer;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jst.common.componentcore.util.ComponentUtilities;
-import org.eclipse.jst.common.frameworks.CommonFrameworksPlugin;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.resources.IFlexibleProject;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualFolder;
-import org.eclipse.wst.common.componentcore.resources.IVirtualResource;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public abstract class FlexibleProjectContainer
-
- implements IClasspathContainer
-
-{
- protected static final class PathType
- {
- private final String type;
-
- private PathType( final String type )
- {
- this.type = type;
- }
-
- public static final PathType
- LIB_DIRECTORY = new PathType( "lib" ),
- CLASSES_DIRECTORY = new PathType( "classes" );
- }
-
- private static IWorkspace workspace;
- private static ClasspathDecorationsManager decorations;
-
- static
- {
- // Register the resource listener that will listen for changes to
- // resources relevant to flexible project containers across the
- // workspace and refresh them as necessary.
-
- workspace = ResourcesPlugin.getWorkspace();
- workspace.addResourceChangeListener( new Listener() );
-
- // Read the decorations from the workspace metadata.
-
- final String plugin = CommonFrameworksPlugin.PLUGIN_ID;
- decorations = new ClasspathDecorationsManager( plugin );
- }
-
- protected final IPath path;
- protected final IJavaProject owner;
- protected final IProject project;
- protected final String component;
- private final IClasspathEntry[] cpentries;
- private final IPath[] watchlist;
-
- public FlexibleProjectContainer( final IPath path,
- final IJavaProject owner,
- final IProject project,
- final String component,
- final IPath[] paths,
- final PathType[] types )
- {
- this.path = path;
- this.owner = owner;
- this.project = project;
- this.component = component;
-
- final ArrayList cp = new ArrayList();
- final ArrayList w = new ArrayList();
-
- if( ! isFlexibleProject( this.project ) )
- {
- // Silently noop if the referenced project is not a flexible
- // project. Should I be doing something else here?
-
- this.cpentries = new IClasspathEntry[ 0 ];
- this.watchlist = new IPath[ 0 ];
-
- return;
- }
-
- final String cid = this.path.toString();
-
- final IFlexibleProject fp
- = ComponentCore.createFlexibleProject( this.project );
-
- final IVirtualComponent vc = fp.getComponent( component );
-
- for( int i = 0; i < paths.length; i++ )
- {
- //final IVirtualFolder vf = vc.getFolder( paths[ i ] );
- IVirtualFolder rootFolder = vc.getRootFolder();
- final IVirtualFolder vf = rootFolder.getFolder( paths[ i ] );
-
-
- if( types[ i ] == PathType.LIB_DIRECTORY )
- {
- final IVirtualResource[] contents;
-
- try
- {
- contents = vf.members();
- }
- catch( CoreException e )
- {
- CommonFrameworksPlugin.log( e );
- continue;
- }
-
- for( int j = 0; j < contents.length; j++ )
- {
- final IResource r = contents[ j ].getUnderlyingResource();
- final IPath p = r.getFullPath();
- final File f = r.getLocation().toFile();
- final String fname = f.getName().toLowerCase();
-
- if( f.isFile() && fname.endsWith( ".jar" ) )
- {
- cp.add( newLibraryEntry( p ) );
- }
- }
-
- final IFolder[] folders = vf.getUnderlyingFolders();
-
- for( int j = 0; j < folders.length; j++ )
- {
- w.add( folders[ j ].getFullPath() );
- }
- }
- else
- {
- final IFolder[] uf = vf.getUnderlyingFolders();
-
- for( int j = 0; j < uf.length; j++ )
- {
- final IPath p = uf[ j ].getFullPath();
-
- if( ! isSourceDirectory( p ) )
- {
- cp.add( newLibraryEntry( p ) );
- }
- }
- }
- }
-
- w.add( this.project.getFullPath().append( ".wtpmodules" ) );
-
- this.cpentries = new IClasspathEntry[ cp.size() ];
- cp.toArray( this.cpentries );
-
- this.watchlist = new IPath[ w.size() ];
- w.toArray( this.watchlist );
- }
-
- public int getKind()
- {
- return K_APPLICATION;
- }
-
- public IPath getPath()
- {
- return this.path;
- }
-
- public IClasspathEntry[] getClasspathEntries()
- {
- return this.cpentries;
- }
-
- public boolean isOutOfDate( final IResourceDelta delta )
- {
- for( int i = 0; i < this.watchlist.length; i++ )
- {
- if(delta != null && delta.findMember( this.watchlist[ i ] ) != null )
- {
- return true;
- }
- }
-
- return false;
- }
-
- public abstract void refresh();
-
- static ClasspathDecorationsManager getDecorationsManager()
- {
- return decorations;
- }
-
- private IClasspathEntry newLibraryEntry( final IPath p )
- {
- IPath srcpath = null;
- IPath srcrootpath = null;
- IClasspathAttribute[] attrs = {};
- IAccessRule[] access = {};
-
- final ClasspathDecorations dec
- = decorations.getDecorations( getPath().toString(), p.toString() );
-
- if( dec != null )
- {
- srcpath = dec.getSourceAttachmentPath();
- srcrootpath = dec.getSourceAttachmentRootPath();
- attrs = dec.getExtraAttributes();
- }
-
- return JavaCore.newLibraryEntry( p, srcpath, srcrootpath, access, attrs,
- false );
-
- }
-
- private boolean isSourceDirectory( final IPath path )
- {
- try
- {
- final IJavaProject jproject = JavaCore.create( this.project );
- final IClasspathEntry[] cp = jproject.getRawClasspath();
-
- for( int i = 0; i < cp.length; i++ )
- {
- final IClasspathEntry cpe = cp[ i ];
-
- if( cpe.getEntryKind() == IClasspathEntry.CPE_SOURCE &&
- cpe.getPath().equals( path ) )
- {
- return true;
- }
- }
-
- return false;
- }
- catch( JavaModelException e )
- {
- CommonFrameworksPlugin.log( e );
- return false;
- }
- }
-
- private static boolean isJavaProject( final IProject pj )
- {
- try
- {
- return pj.getNature(ComponentUtilities.JAVA_NATURE) != null;
- }
- catch( CoreException e )
- {
- return false;
- }
- }
-
- private static boolean isFlexibleProject( final IProject pj )
- {
- try
- {
- final String nature
- = "org.eclipse.wst.common.modulecore.ModuleCoreNature";
-
- return pj.getNature( nature ) != null;
- }
- catch( CoreException e )
- {
- return false;
- }
- }
-
- private static class Listener
-
- implements IResourceChangeListener
-
- {
- public void resourceChanged( final IResourceChangeEvent event )
- {
- // Locate all of the flexible project containers.
-
- final ArrayList containers = new ArrayList();
- final IProject[] projects = workspace.getRoot().getProjects();
-
- for( int i = 0; i < projects.length; i++ )
- {
- final IProject project = projects[ i ];
-
- try
- {
- if( isJavaProject( project ) )
- {
- final IJavaProject jproj = JavaCore.create( project );
- final IClasspathEntry[] cpes = jproj.getRawClasspath();
-
- for( int j = 0; j < cpes.length; j++ )
- {
- final IClasspathEntry cpe = cpes[ j ];
-
- if( cpe.getEntryKind() == IClasspathEntry.CPE_CONTAINER )
- {
- final IClasspathContainer cont
- = JavaCore.getClasspathContainer( cpe.getPath(), jproj );
-
- if( cont instanceof FlexibleProjectContainer )
- {
- containers.add( cont );
- }
- }
- }
- }
- }
- catch( JavaModelException e )
- {
- CommonFrameworksPlugin.log( e );
- }
- }
-
- // Refresh the containers that are out of date.
-
- final IResourceDelta delta = event.getDelta();
-
- for( int i = 0, n = containers.size(); i < n; i++ )
- {
- final FlexibleProjectContainer c
- = (FlexibleProjectContainer) containers.get( i );
-
- if( c.isOutOfDate( delta ) )
- {
- c.refresh();
- }
- }
- }
- }
-
-}
diff --git a/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/classpath/FlexibleProjectContainerInitializer.java b/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/classpath/FlexibleProjectContainerInitializer.java
deleted file mode 100644
index f3849aa78..000000000
--- a/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/classpath/FlexibleProjectContainerInitializer.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2005 BEA Systems, Inc.
- * 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:
- * Konstantin Komissarchik - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.jst.common.jdt.internal.classpath;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.core.ClasspathContainerInitializer;
-import org.eclipse.jdt.core.IClasspathAttribute;
-import org.eclipse.jdt.core.IClasspathContainer;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public abstract class FlexibleProjectContainerInitializer
-
- extends ClasspathContainerInitializer
-
-{
- private static final ClasspathDecorationsManager decorations
- = FlexibleProjectContainer.getDecorationsManager();
-
- public boolean canUpdateClasspathContainer( final IPath containerPath,
- final IJavaProject project)
- {
- return true;
- }
-
- public void requestClasspathContainerUpdate( final IPath containerPath,
- final IJavaProject project,
- final IClasspathContainer sg )
-
- throws CoreException
-
- {
- final String cid = containerPath.toString();
- final IClasspathEntry[] entries = sg.getClasspathEntries();
-
- decorations.clearAllDecorations( cid );
-
- for( int i = 0; i < entries.length; i++ )
- {
- final IClasspathEntry entry = entries[ i ];
-
- final IPath srcpath = entry.getSourceAttachmentPath();
- final IPath srcrootpath = entry.getSourceAttachmentRootPath();
- final IClasspathAttribute[] attrs = entry.getExtraAttributes();
-
- if( srcpath != null || attrs.length > 0 )
- {
- final String eid = entry.getPath().toString();
- final ClasspathDecorations dec = new ClasspathDecorations();
-
- dec.setSourceAttachmentPath( srcpath );
- dec.setSourceAttachmentRootPath( srcrootpath );
- dec.setExtraAttributes( attrs );
-
- decorations.setDecorations( cid, eid, dec );
- }
- }
-
- decorations.save();
-
- final IClasspathContainer container
- = JavaCore.getClasspathContainer( containerPath, project );
-
- ( (FlexibleProjectContainer) container ).refresh();
- }
-
-}
diff --git a/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/IJavaProjectCreationProperties.java b/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/IJavaProjectCreationProperties.java
deleted file mode 100644
index 90a0d4bbc..000000000
--- a/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/IJavaProjectCreationProperties.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 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.jst.common.jdt.internal.integration;
-
-import org.eclipse.wst.common.frameworks.internal.operations.IProjectCreationProperties;
-
-public interface IJavaProjectCreationProperties extends IProjectCreationProperties {
-
- /**
- * Optional, type String []. These names are relative.
- */
- public static final String SOURCE_FOLDERS = "JavaProjectCreationDataModel.SOURCE_FOLDERS"; //$NON-NLS-1$
- /**
- * Optional, type Boolean default is True
- */
- public static final String CREATE_SOURCE_FOLDERS = "JavaProjectCreationDataModel.CREATE_SOURCE_FOLDERS"; //$NON-NLS-1$
-
-
- /**
- * Optional, type IClasspathEntry[]
- */
- public static final String CLASSPATH_ENTRIES = "JavaProjectCreationDataModel.CLASSPATH_ENTRIES"; //$NON-NLS-1$
-
- /**
- * Optional, type String
- */
- public static final String OUTPUT_LOCATION = "JavaProjectCreationDataModel.OUTPUT_LOCATION"; //$NON-NLS-1$
-
-}
diff --git a/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/IJavaProjectMigrationDataModelProperties.java b/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/IJavaProjectMigrationDataModelProperties.java
deleted file mode 100644
index 533199f07..000000000
--- a/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/IJavaProjectMigrationDataModelProperties.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package org.eclipse.jst.common.jdt.internal.integration;
-
-
-public interface IJavaProjectMigrationDataModelProperties {
-
- /**
- * Required
- */
- public static final String PROJECT_NAME = "IJavaProjectMigrationDataModelProperties.PROJECT_NAME"; //$NON-NLS-1$
-
-}
diff --git a/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/JavaArtifactEditModel.java b/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/JavaArtifactEditModel.java
deleted file mode 100644
index b3135daa6..000000000
--- a/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/JavaArtifactEditModel.java
+++ /dev/null
@@ -1,196 +0,0 @@
-package org.eclipse.jst.common.jdt.internal.integration;
-
-import java.util.Set;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.wst.common.componentcore.internal.ArtifactEditModel;
-import org.eclipse.wst.common.internal.emf.resource.CompatibilityXMIResource;
-import org.eclipse.wst.common.internal.emf.resource.ReferencedResource;
-import org.eclipse.wst.common.internal.emf.resource.TranslatorResource;
-import org.eclipse.wst.common.internal.emfworkbench.EMFWorkbenchContext;
-
-public class JavaArtifactEditModel extends ArtifactEditModel implements WorkingCopyProvider {
-
- private WorkingCopyManager workingCopyManager = null;
-
- /**
- * @param anEditModelId
- * @param aContext
- * @param toMakeReadOnly
- * @param toAccessUnknownResourcesAsReadOnly
- * @param aModuleURI
- */
- public JavaArtifactEditModel(String anEditModelId, EMFWorkbenchContext aContext, boolean toMakeReadOnly, boolean toAccessUnknownResourcesAsReadOnly, URI aModuleURI) {
- super(anEditModelId, aContext, toMakeReadOnly,
- toAccessUnknownResourcesAsReadOnly, aModuleURI);
- // TODO Auto-generated constructor stub
- }
-
- /**
- * @param anEditModelId
- * @param aContext
- * @param toMakeReadOnly
- * @param aModuleURI
- */
- public JavaArtifactEditModel(String anEditModelId, EMFWorkbenchContext aContext, boolean toMakeReadOnly, URI aModuleURI) {
- super(anEditModelId, aContext, toMakeReadOnly, aModuleURI);
- // TODO Auto-generated constructor stub
- }
-
- /**
- * This will delete
- *
- * @cu from the workbench and fix the internal references for this working copy manager.
- */
- public void delete(org.eclipse.jdt.core.ICompilationUnit cu, org.eclipse.core.runtime.IProgressMonitor monitor) {
- getWorkingCopyManager().delete(cu, monitor);
- }
-
- /**
- * This method should only be called by the J2EENature.
- */
- public void dispose() {
- super.dispose();
- resetWorkingCopyManager();
- }
-
- public Set getAffectedFiles() {
- java.util.Set affected = super.getAffectedFiles();
- if (getWorkingCopyManager() != null)
- affected.addAll(getWorkingCopyManager().getAffectedFiles());
-
- return affected;
- }
-
- /**
- * Returns the working copy remembered for the compilation unit encoded in the given editor
- * input. Does not connect the edit model to the working copy.
- *
- * @param input
- * ICompilationUnit
- * @return the working copy of the compilation unit, or <code>null</code> if the input does
- * not encode an editor input, or if there is no remembered working copy for this
- * compilation unit
- */
- public org.eclipse.jdt.core.ICompilationUnit getExistingWorkingCopy(org.eclipse.jdt.core.ICompilationUnit cu) throws org.eclipse.core.runtime.CoreException {
- return getWorkingCopyManager().getExistingWorkingCopy(cu);
- }
-
- /**
- * Returns the working copy remembered for the compilation unit.
- *
- * @param input
- * ICompilationUnit
- * @return the working copy of the compilation unit, or <code>null</code> if there is no
- * remembered working copy for this compilation unit
- */
- public org.eclipse.jdt.core.ICompilationUnit getWorkingCopy(ICompilationUnit cu, boolean forNewCU) throws CoreException {
- return getWorkingCopyManager().getWorkingCopy(cu, forNewCU);
- }
-
- /**
- * Save the new compilation units only.
- */
- protected void handleSaveIfNecessaryDidNotSave(IProgressMonitor monitor) {
- getWorkingCopyManager().saveOnlyNewCompilationUnits(monitor);
- }
-
- /**
- * @see org.eclipse.jst.j2ee.internal.internal.workbench.J2EEEditModel#isDirty()
- */
- public boolean isDirty() {
- boolean dirtyBool = super.isDirty();
- if (!dirtyBool && getWorkingCopyManager() != null)
- dirtyBool = getWorkingCopyManager().hasWorkingCopies();
- return dirtyBool;
- }
-
- /**
- * This will force all of the referenced Resources to be saved.
- */
- public void primSave(IProgressMonitor monitor) {
- saveCompilationUnits(monitor);
- if (monitor == null || !monitor.isCanceled())
- super.primSave(monitor);
- }
-
- /**
- * Insert the method's description here. Creation date: (4/11/2001 4:14:26 PM)
- *
- * @return java.util.Set
- */
- public void processResource(Resource aResource) {
- if (aResource != null && !getResources().contains(aResource)) {
- if (aResource instanceof ReferencedResource) {
- access((ReferencedResource) aResource);
- //We need a better way to pass this through the save options instead.
- //We also need to make this dynamic based on the project target
- ((ReferencedResource) aResource).setFormat(CompatibilityXMIResource.FORMAT_MOF5);
- } else if (!isReadOnly())
- aResource.setTrackingModification(true);
- addResource(aResource);
- }
- }
-
- /**
- * Release each of the referenced resources.
- */
- protected void release(Resource aResource) {
-
- removeResource(aResource);
- if (aResource != null) {
- boolean isRefRes = aResource instanceof ReferencedResource;
- if (isRefRes)
- release((ReferencedResource) aResource);
- if (!isDisposing())
- resetWorkingCopyManager();
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.j2ee.internal.internal.workbench.J2EEEditModel#resourceIsLoadedChanged(org.eclipse.emf.ecore.resource.Resource,
- * boolean, boolean)
- */
- protected void resourceIsLoadedChanged(Resource aResource, boolean oldValue, boolean newValue) {
- if (!isReverting && !disposing && !isReadOnly() && oldValue && !newValue && aResource instanceof TranslatorResource)
- resetWorkingCopyManager();
- super.resourceIsLoadedChanged(aResource, oldValue, newValue);
- }
-
- protected void reverted(ReferencedResource revertedResource) {
- if (getWorkingCopyManager() != null)
- getWorkingCopyManager().revert();
- revertAllResources();
- }
-
- /**
- * This will save all of the referenced CompilationUnits to be saved.
- */
- public void saveCompilationUnits(IProgressMonitor monitor) {
- getWorkingCopyManager().saveCompilationUnits(monitor);
- }
-
- public WorkingCopyManager getWorkingCopyManager() {
- if (workingCopyManager == null)
- workingCopyManager = WorkingCopyManagerFactory.newRegisteredInstance();
- return workingCopyManager;
- }
-
- /**
- * Reset the working copy manager because the ejb-jar.xml was removed without disposing.
- */
- protected void resetWorkingCopyManager() {
- if (workingCopyManager != null) {
- workingCopyManager.dispose();
- workingCopyManager = null;
- }
- }
-
-
-}
diff --git a/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/JavaArtifactEditModelFactory.java b/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/JavaArtifactEditModelFactory.java
deleted file mode 100644
index d3fcf7890..000000000
--- a/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/JavaArtifactEditModelFactory.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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.jst.common.jdt.internal.integration;
-
-import java.util.Map;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.wst.common.internal.emfworkbench.EMFWorkbenchContext;
-import org.eclipse.wst.common.internal.emfworkbench.integration.EditModel;
-import org.eclipse.wst.common.internal.emfworkbench.integration.EditModelFactory;
-
-/**
- * <p>
- * The following class is experimental until fully documented.
- * </p>
- */
-public class JavaArtifactEditModelFactory extends EditModelFactory {
-
- public static final String MODULE_EDIT_MODEL_ID = "org.eclipse.jst.modulecore.editModel"; //$NON-NLS-1$
-
- public static final String PARAM_MODULE_URI = "MODULE_URI"; //$NON-NLS-1$
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.internal.emfworkbench.integration.EditModelFactory#createEditModelForRead(java.lang.String, org.eclipse.wst.common.internal.emfworkbench.EMFWorkbenchContext, java.util.Map)
- */
- public EditModel createEditModelForRead(String editModelID, EMFWorkbenchContext context, Map params) {
- URI moduleURI = (URI) ((params != null) ? params.get(PARAM_MODULE_URI) : null);
- if(moduleURI == null)
- throw new IllegalStateException("A Module URI must be provided");
-
- return new JavaArtifactEditModel(editModelID, context, true, moduleURI);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.internal.emfworkbench.integration.EditModelFactory#createEditModelForWrite(java.lang.String, org.eclipse.wst.common.internal.emfworkbench.EMFWorkbenchContext, java.util.Map)
- */
- public EditModel createEditModelForWrite(String editModelID, EMFWorkbenchContext context, Map params) {
- URI moduleURI = (URI) ((params != null) ? params.get(PARAM_MODULE_URI) : null);
- if(moduleURI == null)
- throw new IllegalStateException("A Module URI must be provided");
- return new JavaArtifactEditModel(editModelID, context, false,false, moduleURI);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.internal.emfworkbench.integration.EditModelFactory#getCacheID(java.lang.String, java.util.Map)
- */
- public String getCacheID(String editModelID, Map params) {
- URI moduleURI = (URI)params.get(PARAM_MODULE_URI);
- if(moduleURI != null)
- return editModelID+":"+moduleURI.toString(); //$NON-NLS-1$
- return editModelID+":NOURI"; //$NON-NLS-1$
- }
-
-
-}
diff --git a/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/JavaInsertionHelper.java b/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/JavaInsertionHelper.java
deleted file mode 100644
index abab902bb..000000000
--- a/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/JavaInsertionHelper.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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.jst.common.jdt.internal.integration;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jdt.core.jdom.DOMFactory;
-import org.eclipse.wst.common.frameworks.internal.operations.IHeadlessRunnableWithProgress;
-
-
-/**
- * @author DABERG
- *
- * This class is used by the Java snippet support to capture the insertionString that is to be
- * inserted at the users selection point. It also provides the ability to define additional fields
- * and methods to support the insertionString.
- */
-public class JavaInsertionHelper {
- protected DOMFactory domFactory = new DOMFactory();
- protected List fields;
- protected List methods;
- protected List imports;
- protected String insertionString;
- protected List extendedOperations;
-
- /**
- *
- */
- public JavaInsertionHelper() {
- super();
- }
-
- /**
- * @return
- */
- public List getFields() {
- return fields;
- }
-
- /**
- * @return
- */
- public String getInsertionString() {
- return insertionString;
- }
-
- /**
- * @return
- */
- public List getMethods() {
- return methods;
- }
-
- /**
- * This is required to be set by the client. This is the String that will be inserted at the
- * users selection point.
- *
- * @param string
- */
- public void setInsertionString(String string) {
- insertionString = string;
- }
-
- /**
- * This is a utility method that will parse the methodString and create a IDOMMethod. The
- * DOMFactory will be used to create the method. This new method will be added to the list of
- * methods.
- *
- * @param methodString
- * @see DOMFactory#createMethod(java.lang.String)
- * @link org.eclipse.jdt.core.jdom.IDOMMethod
- */
- public void addMethodFromSourceString(String methodString) {
- if (methodString != null && methodString.length() > 0) {
- if (methods == null)
- methods = new ArrayList();
- methods.add(domFactory.createMethod(methodString));
- }
- }
-
- /**
- * This is a utility method that will parse the fieldString and create a IDOMField. The
- * DOMFactory will be used to create the field. This new field will be added to the list of
- * fields.
- *
- * @param fieldString
- * @see DOMFactory#createField(java.lang.String)
- * @link org.eclipse.jdt.core.jdom.IDOMField
- */
- public void addFieldFromSourceString(String fieldString) {
- if (fieldString != null && fieldString.length() > 0) {
- if (fields == null)
- fields = new ArrayList();
- fields.add(domFactory.createField(fieldString));
- }
- }
-
- /**
- * Add an import that is either the qualified name of a type or a package name with .* at the
- * end.
- *
- * @param importString
- */
- public void addImport(String importString) {
- if (importString != null && importString.length() > 0) {
- if (imports == null)
- imports = new ArrayList();
- imports.add(importString);
- }
- }
-
- /**
- * Return true if the insertionString is set and not a zero length.
- *
- * @return
- */
- public boolean canInsertText() {
- return insertionString != null && insertionString.length() > 0;
- }
-
- /**
- * @return
- */
- public boolean hasFields() {
- return fields != null && !fields.isEmpty();
- }
-
- /**
- * @return
- */
- public boolean hasMethods() {
- return methods != null && !methods.isEmpty();
- }
-
- public boolean hasImports() {
- return imports != null && !imports.isEmpty();
- }
-
- /**
- * @return Returns the imports.
- */
- public List getImportStatements() {
- return imports;
- }
-
- /**
- * @return Returns the extendedOperations.
- */
- public List getExtendedOperations() {
- return extendedOperations;
- }
-
- /**
- * This method allows you to add additional operations which will be performed after this
- * JavaInsertionHelper is processed by the JavaInsertionOperation.
- *
- * @param operation
- * @link JavaInsertionOperation
- */
- public void addExtendedOperation(IHeadlessRunnableWithProgress operation) {
- if (operation != null) {
- if (extendedOperations == null)
- extendedOperations = new ArrayList();
- extendedOperations.add(operation);
- }
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/JavaProjectCreationDataModelProvider.java b/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/JavaProjectCreationDataModelProvider.java
deleted file mode 100644
index 5c9f71d3c..000000000
--- a/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/JavaProjectCreationDataModelProvider.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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.jst.common.jdt.internal.integration;
-
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation;
-import org.eclipse.wst.common.frameworks.internal.operations.ProjectCreationDataModelProvider;
-
-public class JavaProjectCreationDataModelProvider extends ProjectCreationDataModelProvider implements IJavaProjectCreationProperties {
-
-
- public String[] getPropertyNames() {
- return combineProperties(super.getPropertyNames(), new String[]{OUTPUT_LOCATION, SOURCE_FOLDERS, CLASSPATH_ENTRIES, CREATE_SOURCE_FOLDERS});
- }
-
- public IDataModelOperation getDefaultOperation() {
- return new JavaProjectCreationOperation(model);
- }
-
- public Object getDefaultProperty(String propertyName) {
- // TODO pull these from the java preferences
- if (propertyName.equals(OUTPUT_LOCATION)) {
- return "bin"; //$NON-NLS-1$
- }
- if (propertyName.equals(SOURCE_FOLDERS)) {
- return new String[0];
- }
- if (propertyName.equals(CREATE_SOURCE_FOLDERS))
- return Boolean.TRUE;
- return null;
- }
-
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/JavaProjectCreationOperation.java b/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/JavaProjectCreationOperation.java
deleted file mode 100644
index a30e53f21..000000000
--- a/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/JavaProjectCreationOperation.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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
- *******************************************************************************/
-/*
- * Created on Nov 4, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.jst.common.jdt.internal.integration;
-
-import java.util.ArrayList;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.internal.WTPProjectUtilities;
-import org.eclipse.wst.common.frameworks.internal.operations.ProjectCreationOperation;
-
-public class JavaProjectCreationOperation extends ProjectCreationOperation {
-
- public JavaProjectCreationOperation(IDataModel dataModel) {
- super(dataModel);
- }
-
- public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
- super.execute(monitor, info);
- try {
- createJavaProject(monitor);
- } catch (CoreException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- return OK_STATUS;
- }
-
- private void createJavaProject(IProgressMonitor monitor) throws CoreException {
- IProject project = (IProject) model.getProperty(IJavaProjectCreationProperties.PROJECT);
- WTPProjectUtilities.addNatureToProjectLast(project, JavaCore.NATURE_ID);
- IJavaProject javaProject = JavaCore.create(project);
- javaProject.setOutputLocation(getOutputPath(project), monitor);
- javaProject.setRawClasspath(getClasspathEntries(project), monitor);
- if (model.getBooleanProperty(IJavaProjectCreationProperties.CREATE_SOURCE_FOLDERS)) {
- String[] sourceFolders = (String[]) model.getProperty(IJavaProjectCreationProperties.SOURCE_FOLDERS);
- IFolder folder = null;
- for (int i = 0; i < sourceFolders.length; i++) {
- folder = project.getFolder(sourceFolders[i]);
- folder.create(true, true, monitor);
- }
- }
- }
-
- private IPath getOutputPath(IProject project) {
- String outputLocation = model.getStringProperty(IJavaProjectCreationProperties.OUTPUT_LOCATION);
- return project.getFullPath().append(outputLocation);
- }
-
- private IClasspathEntry[] getClasspathEntries(IProject project) {
- IClasspathEntry[] entries = (IClasspathEntry[]) model.getProperty(IJavaProjectCreationProperties.CLASSPATH_ENTRIES);
- IClasspathEntry[] sourceEntries = null;
- if (model.getBooleanProperty(IJavaProjectCreationProperties.CREATE_SOURCE_FOLDERS))
- sourceEntries = getSourceClasspathEntries(project);
- return combineArrays(sourceEntries, entries);
- }
-
- private IClasspathEntry[] getSourceClasspathEntries(IProject project) {
- String[] sourceFolders = (String[]) model.getProperty(IJavaProjectCreationProperties.SOURCE_FOLDERS);
- ArrayList list = new ArrayList();
- for (int i = 0; i < sourceFolders.length; i++) {
- list.add(JavaCore.newSourceEntry(project.getFullPath().append(sourceFolders[i])));
- }
- IClasspathEntry[] classpath = new IClasspathEntry[list.size()];
- for (int i = 0; i < classpath.length; i++) {
- classpath[i] = (IClasspathEntry) list.get(i);
- }
- return classpath;
- }
-
- private IClasspathEntry[] combineArrays(IClasspathEntry[] sourceEntries, IClasspathEntry[] entries) {
- if (sourceEntries != null) {
- if (entries == null)
- return sourceEntries;
- return doCombineArrays(sourceEntries, entries);
- } else if (entries != null)
- return entries;
- return new IClasspathEntry[0];
- }
-
- private IClasspathEntry[] doCombineArrays(IClasspathEntry[] sourceEntries, IClasspathEntry[] entries) {
- IClasspathEntry[] result = new IClasspathEntry[sourceEntries.length + entries.length];
- System.arraycopy(sourceEntries, 0, result, 0, sourceEntries.length);
- System.arraycopy(entries, 0, result, sourceEntries.length, entries.length);
- return result;
- }
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/JavaProjectMigrationDataModelProvider.java b/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/JavaProjectMigrationDataModelProvider.java
deleted file mode 100644
index 2bd28941e..000000000
--- a/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/JavaProjectMigrationDataModelProvider.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004, 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.jst.common.jdt.internal.integration;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelProvider;
-import org.eclipse.wst.common.frameworks.datamodel.DataModelEvent;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation;
-
-/**
- * This dataModel is a common super class used for creation of WTP Components.
- *
- * This class (and all its fields and methods) is likely to change during the
- * WTP 1.0 milestones as the new project structures are adopted. Use at your own
- * risk.
- *
- * @plannedfor WTP 1.0
- */
-public class JavaProjectMigrationDataModelProvider extends AbstractDataModelProvider implements IJavaProjectMigrationDataModelProperties{
-
- public void init() {
- super.init();
- }
-
- public String[] getPropertyNames() {
- return new String[]{PROJECT_NAME};
- }
-
- public void propertyChanged(DataModelEvent event) {
- if (event.getFlag() == DataModelEvent.VALUE_CHG) {
- event.getDataModel();
- }
- }
-
- public boolean propertySet(String propertyName, Object propertyValue) {
- return true;
- }
-
- public Object getDefaultProperty(String propertyName) {
- return super.getDefaultProperty(propertyName);
- }
-
- public IStatus validate(String propertyName) {
-
- return OK_STATUS;
- }
-
- public IDataModelOperation getDefaultOperation(){
- return new JavaProjectMigrationOperation(model);
- }
-
-}
diff --git a/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/JavaProjectMigrationOperation.java b/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/JavaProjectMigrationOperation.java
deleted file mode 100644
index 9403aba87..000000000
--- a/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/JavaProjectMigrationOperation.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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.jst.common.jdt.internal.integration;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.internal.ComponentType;
-import org.eclipse.wst.common.componentcore.internal.ComponentcoreFactory;
-import org.eclipse.wst.common.componentcore.internal.StructureEdit;
-import org.eclipse.wst.common.componentcore.internal.util.IModuleConstants;
-import org.eclipse.wst.common.componentcore.resources.IFlexibleProject;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualFolder;
-import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-
-
-public class JavaProjectMigrationOperation extends AbstractDataModelOperation implements IJavaProjectMigrationDataModelProperties{
-
- private static String WTP_MODULE_FILE_NAME = ".wtpmodules"; //$NON-NLS-1$
-
- public JavaProjectMigrationOperation(IDataModel model) {
- super(model);
- }
-
- public IStatus execute(IProgressMonitor monitor, IAdaptable info) {
-
- String projectName = model.getStringProperty(PROJECT_NAME);
- IProject project = ProjectUtilities.getProject(projectName);
-
- IFlexibleProject fProject = ComponentCore.createFlexibleProject( project );
- if ( !fProject.isFlexible() ){
- if( project.isAccessible() && project.exists()){
- if( shouldMigrate(project)){
- try {
- if( !project.hasNature( IModuleConstants.MODULE_NATURE_ID ) ){
- addModuleCoreNature( project );
- }
- migrate( project );
- } catch (CoreException e) {
- Logger.getLogger().log( e );
- }
- }
- }
- }
- return OK_STATUS;
- }
-
- protected boolean shouldMigrate(IProject project){
- try {
- if( project.hasNature(JavaCore.NATURE_ID) )
- return true;
- } catch (CoreException e) {
- Logger.getLogger().log( e );
- }
- return false;
- }
-
- private void addModuleCoreNature(IProject project) {
- IProjectDescription description = null;
- try {
- description = project.getDescription();
- } catch (CoreException e) {
- Logger.getLogger().log( e );
- }
- String[] currentNatureIds = description.getNatureIds();
- String[] newNatureIds = new String[currentNatureIds.length + 1];
- System.arraycopy(currentNatureIds, 0, newNatureIds, 0, currentNatureIds.length);
- newNatureIds[currentNatureIds.length] = IModuleConstants.MODULE_NATURE_ID;
- description.setNatureIds(newNatureIds);
- try {
- project.setDescription(description, null);
- } catch (CoreException e1) {
- Logger.getLogger().log( e1 );
- }
- }
-
-
- protected boolean wtpModuleFileExist(IProject project) {
- IFile file = project.getFile(WTP_MODULE_FILE_NAME);
- return file.exists();
- }
-
-
- protected void createComponent(String aComponentName, IProject aProject) throws CoreException {
- IVirtualComponent component = ComponentCore.createComponent(aProject, aComponentName);
- component.create(0, null);
-
- IVirtualFolder compRootFolder = component.getRootFolder();
- IVirtualFolder rootFolder = compRootFolder.getFolder(new Path("/")); //$NON-NLS-1$
- //IVirtualFolder rootFolder = component.getFolder(new Path("/")); //$NON-NLS-1$
-
- IJavaProject javaProject = JavaCore.create( aProject );
- try {
- IClasspathEntry[] entries = javaProject.getRawClasspath();
- for( int i=0; i< entries.length; i++){
- if( entries[i].getEntryKind() == IClasspathEntry.CPE_SOURCE){
- IPath path = entries[i].getPath().removeFirstSegments(1);
- if( path.isEmpty() ){
- path = new Path("/");
- }
- IPath out = entries[i].getOutputLocation();
- //IVirtualFolder javaSourceFolder = component.getFolder( out );
- IVirtualFolder javaSourceFolder = compRootFolder.getFolder( out );
- javaSourceFolder.createLink( path, 0, null);
- }
- }
- }catch (JavaModelException e) {
- Logger.getLogger().logError(e);
- }
-
- setupComponentType(aComponentName, aProject, IModuleConstants.JST_UTILITY_MODULE);
- }
-
- protected void setupComponentType(String aComponentName, IProject aProject, String typeID) {
- IVirtualComponent component = ComponentCore.createComponent(aProject, aComponentName);
- ComponentType componentType = ComponentcoreFactory.eINSTANCE.createComponentType();
- componentType.setComponentTypeId(typeID);
- StructureEdit.setComponentType(component, componentType);
- }
-
- protected boolean migrate(IProject project) {
- IProject currentProject = project;
- if (wtpModuleFileExist(project))
- return false;
-
- try {
- createComponent(project.getName(), project);
- } catch (CoreException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
-
- return true;
- }
-
- public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
- // TODO Auto-generated method stub
- return null;
- }
-
- public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
- // TODO Auto-generated method stub
- return null;
- }
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/JavaProjectValidationHandler.java b/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/JavaProjectValidationHandler.java
deleted file mode 100644
index a5f04ebd2..000000000
--- a/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/JavaProjectValidationHandler.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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.jst.common.jdt.internal.integration;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.wst.common.frameworks.internal.IValidationSelectionHandler;
-
-/**
- * Java Project validation
- */
-public class JavaProjectValidationHandler implements IValidationSelectionHandler {
-
- private String validationType = null;
-
- /**
- * Default constructor
- */
- public JavaProjectValidationHandler() {
- super();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.frameworks.internal.IValidationSelectionHandler#getBaseValidationType(java.lang.Object)
- */
- public IResource getBaseValidationType(Object selection) {
- if (selection instanceof IJavaProject)
- return ((IJavaProject)selection).getProject();
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.frameworks.internal.IValidationSelectionHandler#getValidationTypeString()
- */
- public String getValidationTypeString() {
- return validationType;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.frameworks.internal.IValidationSelectionHandler#setValidationTypeString(java.lang.String)
- */
- public void setValidationTypeString(String validationType) {
- this.validationType = validationType;
- }
-
-}
diff --git a/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/WTPWorkingCopyManager.java b/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/WTPWorkingCopyManager.java
deleted file mode 100644
index dd5001739..000000000
--- a/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/WTPWorkingCopyManager.java
+++ /dev/null
@@ -1,532 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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.jst.common.jdt.internal.integration;
-
-
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.internal.resources.Workspace;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.common.frameworks.internal.ISaveHandler;
-import org.eclipse.wst.common.frameworks.internal.SaveFailedException;
-import org.eclipse.wst.common.frameworks.internal.SaveHandlerHeadless;
-import org.eclipse.wst.common.frameworks.internal.SaveHandlerRegister;
-import org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonPlugin;
-
-/**
- * Insert the type's description here. Creation date: (4/27/2001 4:14:30 PM)
- *
- * @author: Administrator
- */
-public class WTPWorkingCopyManager implements WorkingCopyManager {
-
- //New CUs that will need to be deleted upon dispose
- private List originalNewCompilationUnits;
- //New CUs that were created that need saved immediately (after each gen)
- private List needsSavingCompilationUnits;
- //A complete list of new CUs that is only cleared on save and dispose
- private List newCompilationUnits;
- private HashMap deletedCompilationUnits;
- protected static final Class IRESOURCE_CLASS = IResource.class;
-
- /**
- * WTPWorkingCopyManager constructor comment.
- */
- public WTPWorkingCopyManager() {
- super();
- }
-
- protected void addDeletedCompilationUnit(ICompilationUnit cu) {
- getNeedsSavingCompilationUnits().remove(cu);
- if (!getOriginalNewCompilationUnits().contains(cu) && !getDeletedCompilationUnits().containsKey(cu))
- primAddDeletedCompilationUnit(cu);
- getOriginalNewCompilationUnits().remove(cu);
- }
-
- protected void addNewCompilationUnit(ICompilationUnit cu, ICompilationUnit workingCopy) {
- getNewCompilationUnits().add(cu);
- getNeedsSavingCompilationUnits().add(workingCopy);
- if (!getDeletedCompilationUnits().containsKey(cu))
- getOriginalNewCompilationUnits().add(cu);
- }
-
- /**
- * This will save all of the new CompilationUnits to be saved.
- */
- protected void commitWorkingCopy(ICompilationUnit wc, IProgressMonitor monitor) {
- try {
- try {
- wc.commitWorkingCopy(false, monitor);
- } catch (JavaModelException e) {
- if (isFailedWriteFileFailure(e) && shouldSaveReadOnly(wc))
- wc.commitWorkingCopy(false, monitor);
- else
- throw e;
- }
- } catch (JavaModelException e) {
- org.eclipse.jem.util.logger.proxy.Logger.getLogger().logError(e);
- throw new SaveFailedException(e);
- } finally {
- try {
- wc.discardWorkingCopy();
- } catch (JavaModelException e1) {
- org.eclipse.jem.util.logger.proxy.Logger.getLogger().logError(e1);
- throw new SaveFailedException(e1);
- }
- }
- }
-
- /**
- * This will delete
- *
- * @cu from the workbench and fix the internal references for this working copy manager.
- */
- public void delete(ICompilationUnit cu, IProgressMonitor monitor) {
- if (cu.isWorkingCopy())
- cu = cu.getPrimary();
- addDeletedCompilationUnit(cu);
- try {
- cu.delete(false, monitor);
- } catch (JavaModelException e) {
- if (e.getStatus().getCode() != org.eclipse.jdt.core.IJavaModelStatusConstants.ELEMENT_DOES_NOT_EXIST)
- org.eclipse.jem.util.logger.proxy.Logger.getLogger().logError(e);
- }
- }
-
- protected void discardOriginalNewCompilationUnits() {
- if (getOriginalNewCompilationUnits().isEmpty())
- return;
- List cus = getOriginalNewCompilationUnits();
- ICompilationUnit cu;
- ICompilationUnit wc = null;
- for (int i = 0; i < cus.size(); i++) {
- cu = (ICompilationUnit) cus.get(i);
- if (cu.isWorkingCopy()) {
- wc = cu;
- cu = wc.getPrimary();
- }
- primDelete(cu);
- if (wc != null)
- try {
- wc.discardWorkingCopy();
- } catch (JavaModelException e) {
- Logger.getLogger().logError(e);
- }
- }
- }
-
- public void dispose() {
- IWorkspaceRunnable runnable = new IWorkspaceRunnable() {
- public void run(IProgressMonitor aMonitor) {
- primDispose();
- }
- };
- runOperation(runnable, null, true);
- }
-
- public void revert() {
- IWorkspaceRunnable runnable = new IWorkspaceRunnable() {
- public void run(IProgressMonitor aMonitor) {
- primRevert();
- }
- };
- runOperation(runnable, null, true);
- }
-
- public Set getAffectedFiles() {
- return Collections.EMPTY_SET;
- }
-
- /**
- * Insert the method's description here. Creation date: (7/11/2001 6:43:37 PM)
- *
- * @return java.util.HashMap
- */
- protected HashMap getDeletedCompilationUnits() {
- if (deletedCompilationUnits == null)
- deletedCompilationUnits = new HashMap();
- return deletedCompilationUnits;
- }
-
- /**
- * Returns the working copy remembered for the compilation unit encoded in the given editor
- * input. Does not connect the edit model to the working copy.
- *
- * @param input
- * ICompilationUnit
- * @return the working copy of the compilation unit, or <code>null</code> if the input does
- * not encode an editor input, or if there is no remembered working copy for this
- * compilation unit
- */
- public org.eclipse.jdt.core.ICompilationUnit getExistingWorkingCopy(ICompilationUnit cu) throws CoreException {
- ICompilationUnit newCU = getNewCompilationUnitWorkingCopy(cu);
- if (newCU != null)
- return newCU;
- return null;
- }
-
- /**
- * Insert the method's description here. Creation date: (7/19/2001 11:00:19 AM)
- *
- * @return java.util.List
- */
- protected java.util.List getNeedsSavingCompilationUnits() {
- if (needsSavingCompilationUnits == null)
- needsSavingCompilationUnits = new ArrayList();
- return needsSavingCompilationUnits;
- }
-
- /**
- * Insert the method's description here. Creation date: (4/26/2001 3:49:05 PM)
- *
- * @return java.util.List
- */
- protected java.util.List getNewCompilationUnits() {
- if (newCompilationUnits == null)
- newCompilationUnits = new ArrayList();
- return newCompilationUnits;
- }
-
- /**
- * It is possible that we have already created this CompilationUnit and its working copy. If
- * this is the case, return our new working copy and do not create a new one.
- */
- protected ICompilationUnit getNewCompilationUnitWorkingCopy(ICompilationUnit cu) {
- if (hasNewCompilationUnit(cu)) {
- List list = getNeedsSavingCompilationUnits();
- ICompilationUnit copy;
- for (int i = 0; i < list.size(); i++) {
- copy = (ICompilationUnit) list.get(i);
- if (cu.equals(copy.getPrimary()))
- return copy;
- }
- }
- return null;
- }
-
- /**
- * Insert the method's description here. Creation date: (4/26/2001 3:49:05 PM)
- *
- * @return java.util.List
- */
- protected java.util.List getOriginalNewCompilationUnits() {
- if (originalNewCompilationUnits == null)
- originalNewCompilationUnits = new ArrayList();
- return originalNewCompilationUnits;
- }
-
- /**
- * Return the IPackageFragment for the given ICompilationUnit.
- */
- protected IPackageFragment getPackageFragment(ICompilationUnit cu) {
- if (cu == null)
- return null;
- IJavaElement parent = cu;
- int elementType = cu.getElementType();
- while (parent != null && elementType != IJavaElement.PACKAGE_FRAGMENT) {
- parent = parent.getParent();
- if (parent != null)
- elementType = parent.getElementType();
- else
- elementType = -1;
- }
- return (IPackageFragment) parent;
- }
-
- protected ISaveHandler getSaveHandler() {
- return SaveHandlerRegister.getSaveHandler();
- }
-
- /**
- * Returns the working copy remembered for the compilation unit.
- *
- * @param input
- * ICompilationUnit
- * @return the working copy of the compilation unit, or <code>null</code> if there is no
- * remembered working copy for this compilation unit
- */
- public ICompilationUnit getWorkingCopy(ICompilationUnit cu, boolean forNewCU) throws org.eclipse.core.runtime.CoreException {
- if (cu == null || cu.isWorkingCopy())
- return cu;
- ICompilationUnit newCU = getNewCompilationUnitWorkingCopy(cu);
- if (newCU != null)
- return newCU;
- ICompilationUnit workingCopy = cu.getWorkingCopy(null);
- addNewCompilationUnit(cu, workingCopy);
- return workingCopy;
- }
-
- /**
- * Has a new compilation unit already been created.
- */
- protected boolean hasNewCompilationUnit(ICompilationUnit cu) {
- return getNewCompilationUnits().contains(cu);
- }
-
- protected boolean isFailedWriteFileFailure(Exception ex) {
- return SaveHandlerHeadless.isFailedWriteFileFailure(ex);
- }
-
- protected void primAddDeletedCompilationUnit(ICompilationUnit cu) {
- if (cu == null)
- return;
- Object[] info = new Object[2];
- info[0] = getPackageFragment(cu);
- try {
- info[1] = cu.getSource();
- } catch (JavaModelException e) {
- info[1] = null;
- }
- getDeletedCompilationUnits().put(cu, info);
- }
-
- // This is an internal delete call.
- protected void primDelete(ICompilationUnit cu) {
- try {
- if (cu.exists())
- cu.delete(true, new org.eclipse.core.runtime.NullProgressMonitor());
- } catch (JavaModelException e) {
- org.eclipse.jem.util.logger.proxy.Logger.getLogger().logError(e);
- //What to do here?
- }
- }
-
- protected void primDispose() {
- discardOriginalNewCompilationUnits();
- reviveDeletedCompilationUnits();
- newCompilationUnits = null;
- needsSavingCompilationUnits = null;
- originalNewCompilationUnits = null;
- deletedCompilationUnits = null;
- }
-
- protected void primRevert() {
- discardOriginalNewCompilationUnits();
- reviveDeletedCompilationUnits();
- newCompilationUnits = null;
- needsSavingCompilationUnits = null;
- originalNewCompilationUnits = null;
- deletedCompilationUnits = null;
- }
-
- /**
- * Returns the working copy remembered for the compilation unit encoded in the given editor
- * input.
- *
- * @param input
- * ICompilationUnit
- * @return the working copy of the compilation unit, or <code>null</code> if the input does
- * not encode an editor input, or if there is no remembered working copy for this
- * compilation unit
- */
- protected ICompilationUnit primGetWorkingCopy(ICompilationUnit cu) throws CoreException {
- return null;
- }
-
- /**
- * This will save all of the referenced CompilationUnits to be saved.
- */
- protected void primSaveCompilationUnits(org.eclipse.core.runtime.IProgressMonitor monitor) {
- saveNewCompilationUnits(monitor);
- getDeletedCompilationUnits().clear();
- }
-
- /**
- * This will save all of the new CompilationUnits to be saved.
- */
- protected void primSaveOnlyNewCompilationUnits(org.eclipse.core.runtime.IProgressMonitor monitor) {
- List cus = getNeedsSavingCompilationUnits();
- ICompilationUnit wc;
- for (int i = 0; i < cus.size(); i++) {
- wc = (ICompilationUnit) cus.get(i);
- commitWorkingCopy(wc, monitor);
- }
- cus.clear();
- }
-
- protected void removeDeletedCompilationUnit(ICompilationUnit cu) {
- if (getDeletedCompilationUnits().remove(cu) != null) {
- if (cu.isWorkingCopy()) {
- ICompilationUnit original, nextCU, testCU;
- original = cu.getPrimary();
- Set cus = getDeletedCompilationUnits().keySet();
- Iterator it = cus.iterator();
- while (it.hasNext()) {
- nextCU = (ICompilationUnit) it.next();
- testCU = nextCU.isWorkingCopy() ? (ICompilationUnit) nextCU.getPrimary() : nextCU;
- if (testCU.equals(original)) {
- cus.remove(nextCU);
- return;
- }
- }
- }
- }
- }
-
- protected void reviveDeletedCompilationUnit(ICompilationUnit cu, Object[] info, IProgressMonitor pm) {
- if (info[0] != null && info[1] != null) {
- String typeName = cu.getElementName();
- IPackageFragment pack = (IPackageFragment) info[0];
- String source = (String) info[1];
- try {
- ICompilationUnit existingCU = pack.getCompilationUnit(typeName);
- if (existingCU.exists() && getNewCompilationUnits().contains(existingCU))
- existingCU.delete(false, pm);
- pack.createCompilationUnit(typeName, source, false, pm);
- } catch (JavaModelException e) {
- org.eclipse.jem.util.logger.proxy.Logger.getLogger().logError(e);
- }
- }
- }
-
- protected void reviveDeletedCompilationUnits() {
- if (getDeletedCompilationUnits().isEmpty())
- return;
- IProgressMonitor pm = new org.eclipse.core.runtime.NullProgressMonitor();
- Iterator it = getDeletedCompilationUnits().entrySet().iterator();
- Map.Entry entry;
- ICompilationUnit cu;
- Object[] info;
- while (it.hasNext()) {
- entry = (Map.Entry) it.next();
- cu = (ICompilationUnit) entry.getKey();
- info = (Object[]) entry.getValue();
- reviveDeletedCompilationUnit(cu, info, pm);
- }
-
- }
-
- protected void runOperation(IWorkspaceRunnable aRunnable, IProgressMonitor monitor, boolean validate) {
- primRunOperation(aRunnable, monitor);
-
- // TODO Break the validator depedency
- // if (validate)
- // primRunOperation(aRunnable, monitor);
- // else {
- // IProject proj = getValidationProject();
- //
- // ValidatorManager mgr = ValidatorManager.getManager();
- // boolean disableValidators = proj != null;
- // boolean wasSuspended = false;
- // if (disableValidators) {
- // wasSuspended = mgr.isSuspended(proj);
- // if (!wasSuspended)
- // mgr.suspendValidation(proj, true);
- // }
- // try {
- // primRunOperation(aRunnable, monitor);
- // } finally {
- // if (disableValidators && !wasSuspended)
- // mgr.suspendValidation(proj, false);
- // }
- // }
- }
-
- protected void primRunOperation(IWorkspaceRunnable aRunnable, IProgressMonitor monitor) {
- Workspace workspace = (Workspace) WTPCommonPlugin.getWorkspace();
- if (aRunnable != null) {
- //if (workspace.isTreeLocked())
- //Logger.getLogger().logTrace(ResourceHandler.getString("Cannot_run_J2EEUIWorkingCo_ERROR_"));
- // //$NON-NLS-1$ = "Cannot run J2EEUIWorkingCopyManager operation because the Workspace
- // tree is locked."
- //else {
- if (!workspace.isTreeLocked()) {
- try {
- WTPCommonPlugin.getWorkspace().run(aRunnable, monitor);
- } catch (CoreException e) {
- throw new SaveFailedException(e);
- }
- }
- }
- }
-
- /**
- * This will save all of the referenced CompilationUnits to be saved.
- */
- public void saveCompilationUnits(org.eclipse.core.runtime.IProgressMonitor monitor) {
- getSaveHandler().access();
- try {
- IWorkspaceRunnable runnable = new IWorkspaceRunnable() {
- public void run(IProgressMonitor aMonitor) {
- primSaveCompilationUnits(aMonitor);
- }
- };
- runOperation(runnable, monitor, true);
- } catch (SaveFailedException ex) {
- getSaveHandler().handleSaveFailed(ex, monitor);
- } finally {
- getSaveHandler().release();
- }
- }
-
- /**
- * This will save all of the referenced CompilationUnits to be saved.
- */
- protected void saveNewCompilationUnits(IProgressMonitor monitor) {
- primSaveOnlyNewCompilationUnits(monitor);
- getOriginalNewCompilationUnits().clear();
- getNewCompilationUnits().clear();
- }
-
- /**
- * This will save all of the new CompilationUnits to be saved.
- */
- public void saveOnlyNewCompilationUnits(org.eclipse.core.runtime.IProgressMonitor monitor) {
- getSaveHandler().access();
- try {
- IWorkspaceRunnable runnable = new IWorkspaceRunnable() {
- public void run(IProgressMonitor aMonitor) {
- primSaveOnlyNewCompilationUnits(aMonitor);
- }
- };
- runOperation(runnable, monitor, false);
- } catch (SaveFailedException ex) {
- getSaveHandler().handleSaveFailed(ex, monitor);
- } finally {
- getSaveHandler().release();
- }
- }
-
- protected boolean shouldSaveReadOnly(ICompilationUnit wc) {
- IResource resource = null;
-
- resource = (IResource) wc.getPrimary().getAdapter(IRESOURCE_CLASS);
-
- if (resource == null || resource.getType() != IResource.FILE || !resource.getResourceAttributes().isReadOnly())
- return false;
-
- return getSaveHandler().shouldContinueAndMakeFileEditable((IFile) resource);
- }
-
- /**
- * @see com.ibm.etools.j2ee.workbench.IJ2EEWorkingCopyManager#hasWorkingCopies()
- */
- public boolean hasWorkingCopies() {
- return (deletedCompilationUnits != null && !deletedCompilationUnits.isEmpty()) || (needsSavingCompilationUnits != null && !needsSavingCompilationUnits.isEmpty()) || (newCompilationUnits != null && !newCompilationUnits.isEmpty());
- }
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/WorkingCopyManager.java b/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/WorkingCopyManager.java
deleted file mode 100644
index 35ccc89fb..000000000
--- a/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/WorkingCopyManager.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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.jst.common.jdt.internal.integration;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-
-
-/**
- * @author Administrator
- *
- *
- */
-public interface WorkingCopyManager extends WorkingCopyProvider {
-
- void dispose();
-
- java.util.Set getAffectedFiles();
-
- /**
- * This will save all of the referenced CompilationUnits to be saved.
- */
- void saveCompilationUnits(IProgressMonitor monitor);
-
- /**
- * This will save all of the new CompilationUnits to be saved.
- */
- void saveOnlyNewCompilationUnits(IProgressMonitor monitor);
-
- /**
- * Method hasWorkingCopies.
- *
- * @return boolean
- */
- boolean hasWorkingCopies();
-
- /**
- * Revert all working copies.
- */
- void revert();
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/WorkingCopyManagerFactory.java b/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/WorkingCopyManagerFactory.java
deleted file mode 100644
index 3e98f8a88..000000000
--- a/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/WorkingCopyManagerFactory.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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.jst.common.jdt.internal.integration;
-
-import org.eclipse.jem.util.UIContextDetermination;
-
-
-/**
- * @author mdelder
- *
- *
- */
-public class WorkingCopyManagerFactory {
-
- // protected static Class workingCopyManagerClass;
-
- public static WorkingCopyManager newRegisteredInstance() {
- return (WorkingCopyManager) UIContextDetermination.createInstance("workingCopyManager"); //$NON-NLS-1$
- }
-
- // public static IWorkingCopyManager createWorkingCopyManager() {
- // if (getWorkingCopyManagerClass() != null)
- // try {
- // return (IWorkingCopyManager) getWorkingCopyManagerClass().newInstance();
- // } catch (InstantiationException e1) {
- // } catch (IllegalAccessException e2) {
- // }
- // return null;
- // }
- //
- // /**
- // * Insert the method's description here.
- // * Creation date: (4/26/2001 7:53:15 AM)
- // * @return java.lang.Class
- // */
- // public static java.lang.Class getWorkingCopyManagerClass() {
- // return workingCopyManagerClass;
- // }
- //
- // /**
- // * Insert the method's description here.
- // * Creation date: (4/26/2001 7:53:15 AM)
- // * @param newWorkingCopyManagerClass java.lang.Class
- // */
- // public static void setWorkingCopyManagerClass(java.lang.Class newWorkingCopyManagerClass) {
- // workingCopyManagerClass = newWorkingCopyManagerClass;
- // }
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/WorkingCopyProvider.java b/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/WorkingCopyProvider.java
deleted file mode 100644
index 2696f5c54..000000000
--- a/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/integration/WorkingCopyProvider.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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.jst.common.jdt.internal.integration;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jdt.core.ICompilationUnit;
-
-
-/**
- * The user of the Java code generation framework must supply an implementation of this interface.
- * The framework will obtain compilation working copies from this interface. The supplier of the
- * implementation is responsible for committing the working copies when appropriate for the user's
- * edit model.
- */
-public interface WorkingCopyProvider {
-
- /**
- * This will delete compilation unit from the workbench and fix the internal references for this
- * working copy manager.
- *
- * @param cu
- * the compilation unit to delete
- * @param monitor
- * the progress monitor to use for the delete
- */
- void delete(ICompilationUnit cu, IProgressMonitor monitor);
-
- /**
- * Returns the working copy remembered for the compilation unit. That is, the manager already
- * has a working copy for this unit, it does not create a new working copy. Does not connect the
- * edit model to the working copy.
- *
- * @param input
- * the compilation unit
- * @return the working copy of the compilation unit, or <code>null</code> it there is no
- * remembered working copy for this compilation unit
- */
- ICompilationUnit getExistingWorkingCopy(ICompilationUnit cu) throws CoreException;
-
- /**
- * Returns the working copy remembered for the compilation unit or creates a new working copy
- * for the compilation unit and returns it. If a working copy is passed in, it is returned.
- *
- * @param input
- * the compilation unit
- * @return the working copy of the compilation unit
- * @exception CoreException
- * if the working copy can not be created
- */
- ICompilationUnit getWorkingCopy(ICompilationUnit cu, boolean forNewCU) throws CoreException;
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.core/.classpath b/plugins/org.eclipse.jst.j2ee.core/.classpath
deleted file mode 100644
index dcc933ecb..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/.classpath
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="mofj2ee/"/>
- <classpathentry kind="src" path="webservices/"/>
- <classpathentry kind="src" path="commonArchive/"/>
- <classpathentry kind="src" path="j2ee-validation/"/>
- <classpathentry kind="src" path="j2eeCorePlugin/"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.jst.j2ee.core/.cvsignore b/plugins/org.eclipse.jst.j2ee.core/.cvsignore
deleted file mode 100644
index 963bc29d6..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-bin
-temp.folder
-build.xml
-runtime
diff --git a/plugins/org.eclipse.jst.j2ee.core/.project b/plugins/org.eclipse.jst.j2ee.core/.project
deleted file mode 100644
index fc4f457ee..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.jst.j2ee.core</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.jst.j2ee.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.j2ee.core/META-INF/MANIFEST.MF
deleted file mode 100644
index c6f5855e8..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,92 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: J2EE Core Component
-Bundle-SymbolicName: org.eclipse.jst.j2ee.core; singleton:=true
-Bundle-Version: 0.7.0
-Bundle-ClassPath: runtime/mofj2ee.jar,
- runtime/commonArchive.jar,
- runtime/j2ee-validation.jar,
- runtime/j2eeCorePlugin.jar
-Bundle-Activator: org.eclipse.jst.j2ee.core.internal.plugin.J2EECorePlugin
-Bundle-Vendor: Eclipse.org
-Bundle-Localization: plugin
-Export-Package: .,
- org.eclipse.jst.j2ee.application,
- org.eclipse.jst.j2ee.client,
- org.eclipse.jst.j2ee.common,
- org.eclipse.jst.j2ee.commonarchivecore.internal,
- org.eclipse.jst.j2ee.commonarchivecore.internal.exception,
- org.eclipse.jst.j2ee.commonarchivecore.internal.helpers,
- org.eclipse.jst.j2ee.commonarchivecore.internal.impl,
- org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig,
- org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.impl,
- org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.util,
- org.eclipse.jst.j2ee.commonarchivecore.internal.strategy,
- org.eclipse.jst.j2ee.commonarchivecore.internal.util,
- org.eclipse.jst.j2ee.core.internal.plugin,
- org.eclipse.jst.j2ee.ejb,
- org.eclipse.jst.j2ee.internal,
- org.eclipse.jst.j2ee.internal.application,
- org.eclipse.jst.j2ee.internal.application.impl,
- org.eclipse.jst.j2ee.internal.application.util,
- org.eclipse.jst.j2ee.internal.client,
- org.eclipse.jst.j2ee.internal.client.impl,
- org.eclipse.jst.j2ee.internal.client.util,
- org.eclipse.jst.j2ee.internal.common,
- org.eclipse.jst.j2ee.internal.common.impl,
- org.eclipse.jst.j2ee.internal.common.util,
- org.eclipse.jst.j2ee.internal.ejb,
- org.eclipse.jst.j2ee.internal.ejb.impl,
- org.eclipse.jst.j2ee.internal.ejb.util,
- org.eclipse.jst.j2ee.internal.jca,
- org.eclipse.jst.j2ee.internal.jca.impl,
- org.eclipse.jst.j2ee.internal.jca.util,
- org.eclipse.jst.j2ee.internal.jsp,
- org.eclipse.jst.j2ee.internal.jsp.impl,
- org.eclipse.jst.j2ee.internal.jsp.util,
- org.eclipse.jst.j2ee.internal.migration,
- org.eclipse.jst.j2ee.internal.model.translator.application,
- org.eclipse.jst.j2ee.internal.model.translator.client,
- org.eclipse.jst.j2ee.internal.model.translator.common,
- org.eclipse.jst.j2ee.internal.model.translator.connector,
- org.eclipse.jst.j2ee.internal.model.translator.ejb,
- org.eclipse.jst.j2ee.internal.model.translator.webapplication,
- org.eclipse.jst.j2ee.internal.model.translator.webservices,
- org.eclipse.jst.j2ee.internal.taglib,
- org.eclipse.jst.j2ee.internal.taglib.impl,
- org.eclipse.jst.j2ee.internal.taglib.util,
- org.eclipse.jst.j2ee.internal.webapplication,
- org.eclipse.jst.j2ee.internal.webapplication.impl,
- org.eclipse.jst.j2ee.internal.webapplication.util,
- org.eclipse.jst.j2ee.internal.webservice.util,
- org.eclipse.jst.j2ee.internal.xml,
- org.eclipse.jst.j2ee.jca,
- org.eclipse.jst.j2ee.jsp,
- org.eclipse.jst.j2ee.model.internal.validation,
- org.eclipse.jst.j2ee.webapplication,
- org.eclipse.jst.j2ee.webservice.internal,
- org.eclipse.jst.j2ee.webservice.internal.jaxrpcmap,
- org.eclipse.jst.j2ee.webservice.internal.jaxrpcmap.impl,
- org.eclipse.jst.j2ee.webservice.internal.jaxrpcmap.util,
- org.eclipse.jst.j2ee.webservice.internal.wsclient,
- org.eclipse.jst.j2ee.webservice.internal.wsclient.impl,
- org.eclipse.jst.j2ee.webservice.internal.wsclient.util,
- org.eclipse.jst.j2ee.webservice.internal.wscommon,
- org.eclipse.jst.j2ee.webservice.internal.wscommon.impl,
- org.eclipse.jst.j2ee.webservice.internal.wscommon.util,
- org.eclipse.jst.j2ee.webservice.internal.wsdd,
- org.eclipse.jst.j2ee.webservice.internal.wsdd.impl,
- org.eclipse.jst.j2ee.webservice.internal.wsdd.util,
- org.eclipse.jst.j2ee.webservice.jaxrpcmap,
- org.eclipse.jst.j2ee.webservice.wsclient,
- org.eclipse.jst.j2ee.webservice.wscommon,
- org.eclipse.jst.j2ee.webservice.wsdd
-Require-Bundle: org.eclipse.jem,
- org.eclipse.emf.common,
- org.eclipse.wst.common.frameworks,
- org.eclipse.emf.ecore.xmi,
- org.eclipse.wst.common.emf,
- org.eclipse.core.runtime,
- org.eclipse.wst.validation,
- org.eclipse.jem.util
-Eclipse-AutoStart: true
diff --git a/plugins/org.eclipse.jst.j2ee.core/about.html b/plugins/org.eclipse.jst.j2ee.core/about.html
deleted file mode 100644
index 6f6b96c4c..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/about.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>February 24, 2005</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.core/build.properties b/plugins/org.eclipse.jst.j2ee.core/build.properties
deleted file mode 100644
index a3b181924..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/build.properties
+++ /dev/null
@@ -1,33 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 2004 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
-###############################################################################
-bin.includes = plugin.xml,\
- plugin.properties,\
- runtime/commonArchive.jar,\
- runtime/j2eeCorePlugin.jar,\
- runtime/mofj2ee.jar,\
- runtime/j2ee-validation.jar,\
- changes.log,\
- META-INF/,\
- about.html
-src.includes = rose/,\
- component.xml
-source.runtime/j2ee-validation.jar = j2ee-validation/
-output.runtime/mofj2ee.jar = bin/
-source.runtime/mofj2ee.jar = mofj2ee/,\
- webservices/
-output.runtime/j2eeCorePlugin.jar = bin/
-output.runtime/j2ee-validation.jar = bin/
-source.runtime/commonArchive.jar = commonArchive/
-jars.compile.order = runtime/mofj2ee.jar,\
- runtime/commonArchive.jar,\
- runtime/j2eeCorePlugin.jar,\
- runtime/j2ee-validation.jar
-source.runtime/j2eeCorePlugin.jar = j2eeCorePlugin/
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/commonarchive.properties b/plugins/org.eclipse.jst.j2ee.core/commonArchive/commonarchive.properties
deleted file mode 100644
index 837df5427..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/commonarchive.properties
+++ /dev/null
@@ -1,94 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 2004 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
-###############################################################################
-subclass_responsibilty_EXC_=IWAE0001E {0} must be implemented in subclass
-key_class_reflection_ERROR_=IWAE0002E Unable to reflect the class "{0}" in order to compare the primary key field "{1}" from entity "{2}"
-key_field_reflection_ERROR_=IWAE0003E Unable to reflect the type of the primary key field "{0}" from entity "{1}"
-removing_key_field_INFO_=IWAE0004I Removing invalid prim-key-field "{0}" from entity "{1}"
-repair_usage_ERROR_=IWAE0005E RepairArchiveCommand usage: cannot write to destinationPath: {0}
-invalid_archive_EXC_=IWAE0006E Archive is not a valid {0} because the deployment descriptor can not be found (case sensitive): {1}
-load_resource_EXC_=IWAE0007E Could not load resource "{0}" in archive "{1}"
-nested_jar_EXC_=IWAE0008E An error occurred reading {0} from {1}
-make_temp_dir_EXC_=IWAE0009E Unable to make temp directory: {0}
-invalid_classpath_WARN_=IWAE0010W Classpath element "{0}" is not a directory or a Zip file
-invalid_cp_file_WARN_=IWAE0011W Classpath element "{0}" does not point to a local file
-io_ex_loading_EXC_=IWAE0012E An IO exception occurred loading {0}
-tx_bean_mgd_WARN_=IWAE0013W EJB 1.0 Import: Not mapping TX_BEAN_MANAGED control descriptor for {0}
-error_saving_EXC_=IWAE0014E Error saving {0}
-io_ex_manifest_EXC_=IWAE0015E An IOException occurred reading the manifest in archive: {0}
-io_ex_reopen_EXC_=IWAE0016E IOException occurred while reopening {0}
-unable_replace_EXC_=IWAE0017E Unable to replace original archive: {0}
-duplicate_file_EXC_=IWAE0018E The archive named {0} already contains a file named {1}
-duplicate_entry_EXC_=IWAE0019E A file or resource with uri {0} already exists in the archive named {1}
-file_exist_as_dir_EXC_=IWAE0020E A file named {0} exists and is a directory
-uncontained_module_EXC_=IWAE0021E Module {0} is not contained by an EAR file
-dd_in_ear_load_EXC_=IWAE0022E Exception occurred loading deployment descriptor for module "{0}" in EAR file "{1}"
-nested_open_fail_EXC_=IWAE0023E Unable to open module file "{0}" in EAR file "{1}"
-duplicate_module_EXC_=IWAE0024E The deployment descriptor for the EAR file "{0}" already contains a module having uri "{1}"
-no_sec_role_EXC_=IWAE0025E {0}: EAR File deployment descriptor does not contain a security role named {1}
-dup_sec_role_EXC_=IWAE0026E {0}: EAR File deployment descriptor already contains a security role named {1}
-dup_sec_role_module_EXC_=IWAE0027E Deployment descriptor for {0} already contains a security role named {1}
-dup_resource_EXC_=IWAE0028E Resource named "{0}" already exists in archive "{1}"
-error_saving_EXC_=IWAE0030E Error saving {0}
-add_copy_class_dir_EXC_=IWAE0031E The method "addCopyClass" is not supported for directories. URI: {0}
-add_copy_lib_dir_EXC_=IWAE0032E The method "addCopyLib" is not supported for directories. URI: {0}
-list_components_war_EXC_=IWAE0033E Exception occurred listing components in WAR file: {0}
-open_nested_EXC_=IWAE0034E Could not open the nested archive "{0}" in "{1}"
-make_temp_file_WARN_=IWAE0035W Warning: Unable to create temp file for {0}. This will impact performance.
-file_not_found_EXC_=IWAE0036E URI Name: {0}; File name: {1}
-could_not_open_EXC_=IWAE0037E Could not open {0}
-could_not_find_dir_EXC_=IWAE0038E Unable to open directory {0}
-not_a_dir_EXC_=IWAE0039E Unable to open directory because file is not a directory: {0}
-inferred_dds_EXC_=IWAE0040E The EJB JAR file "{0}" was inferred to be of version 1.0 because the manifest does not declare enterprise beans but serialized deployment descriptors exist in the JAR.
-filename_exception_EXC_=IWAE0041E Filename: {0}; Exception: {1}
-no_dds_10_EXC_=IWAE0042E No deployment descriptors in EJB 1.0 JAR file: {0}
-manifest_dd_load_EXC_=IWAE0043E The JAR manifest declares an enterprise bean for which the deployment descriptor file can not be loaded: {0}
-manifest_dd_find_EXC_=IWAE0044E The JAR manifest declares an enterprise bean for which the deployment descriptor file can not be found: {0}
-io_ex_reading_dd_EXC_=IWAE0045E IO Exception occurred reading {0}
-ser_not_dd_EXC_=IWAE0046E The serialized object in file "{0}" is not a an instance of javax.ejb.deployment.DeploymentDescriptor
-reading_dd_EXC_=IWAE0047E Exception occurred reading {0}
-missing_class_EXC_=IWAE0048E Could not deserialize {0} because a required class could not be found. Exception: {1}
-Converted=Converted
-Stack_trace_of_nested_exce_EXC_=IWAE0049E Stack trace of nested exception:
-IOException_occurred_while_EXC_=IWAE0050E IOException occurred while copying manifest
-Extract_destination_is_the_EXC_=IWAE0051E Extract destination is the same path as source file
-Parameter_should_not_be_nu_EXC_=IWAE0052E Parameter should not be null
-Archive_is_not_a_valid_EJB_EXC_=IWAE0055E Archive is not a valid EJB JAR file (1.0) because no serialized deployment descriptors can be found, either in the manifest or in entries with a ".ser" extension
-_The_following_files_could_EXC_=IWAE0056E The following files could not be loaded:
-FixPrimKeyCommand_failed_-_EXC_=IWAE0057E FixPrimKeyCommand failed - exception stack trace:
-FixPrimKeyCommand_usage___=FixPrimKeyCommand usage: <sourceJarFilePath> [destinationPath]
-FixPrimKeyCommand_usage__s_EXC_=IWAE0058E FixPrimKeyCommand usage: sourceJarFilePath must point to a valid EJB JAR file or directory of an inflated EJB JAR file
-Repair_command_failed_-_ex_EXC_=IWAE0059E Repair command failed - exception stack trace:
-Repairs_all_entries_in_the=Repairs all entries in the META-INF and/or WEB-INF directories to be the correct case
-RepairArchiveCommand_usage=RepairArchiveCommand usage: <sourceJarFilePath> <destinationPath>
-RepairArchiveCommand_usage1_ERROR_=IWAE0060E RepairArchiveCommand usage: sourceJarFilePath must point to a valid archive or directory of an inflated archive
-Application_Client_Jar_Fil=Application Client JAR File
-EAR_File=EAR File
-EJB_Jar_File=EJB JAR File
-RAR_File=RAR File
-WAR_File=WAR File
-Error_occurred_iterating_f_EXC_=IWAE0061E Error occurred iterating files
-End_of_list_reached_EXC_=IWAE0062E Reached end of list
-Internal_Error__Iterator_o_EXC_=IWAE0063E Internal Error: Iterator out of sync with zip entries
-Error_iterating_the_archiv_EXC_=IWAE0064E Error iterating the archive
-Absolute_path_unknown_EXC_=IWAE0065E Absolute path unknown
-Original_archive_is_not_a__EXC_=IWAE0066E Original archive is not a directory
-Null_uri_EXC_=IWAE0067E Null uri
-Module_file=Module file
-A_WAR_file=WAR file
-An_EJB_JAR_file=EJB JAR file
-An_Application_Client_JAR_file=Application Client JAR file
-A_RAR_file=RAR file
-A_Application_file=Application file
-A_file_does_not_exist_for_module=A file does not exist for module element having uri: {0}
-File_not_correct_type=The file {0} in EAR file {1} is not the correct type based on the application deployment descriptor. Expected type: {2}";
-Module_not_in_EAR=Module is not in an EAR: {0}
-Module_file_does_not_exist_2=Module file does not exist for Module ref. Module = {0}
-FileImpl._Error_0=Recursive containment not allowed for
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/ApplicationClientFile.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/ApplicationClientFile.java
deleted file mode 100644
index 73b84984b..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/ApplicationClientFile.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal;
-
-
-
-import org.eclipse.jst.j2ee.client.ApplicationClient;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DeploymentDescriptorLoadException;
-
-
-/**
- * @generated
- */
-public interface ApplicationClientFile extends ModuleFile {
-
- /**
- * @throws DeploymentDescriptorLoadException -
- * is a runtime exception, because we can't override the signature of the generated
- * methods
- */
-
-
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The DeploymentDescriptor reference
- */
- ApplicationClient getDeploymentDescriptor() throws DeploymentDescriptorLoadException;
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param l
- * The new value of the DeploymentDescriptor reference
- */
- void setDeploymentDescriptor(ApplicationClient value);
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/Archive.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/Archive.java
deleted file mode 100644
index 46694dd67..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/Archive.java
+++ /dev/null
@@ -1,468 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal;
-
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Collection;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DuplicateObjectException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.OpenFailureException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.ReopenException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.ResourceLoadException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.SaveFailureException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveManifest;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.FileIterator;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.RuntimeClasspathEntry;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.SaveFilter;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseArchive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.SaveStrategy;
-
-
-/**
- * @generated
- */
-public interface Archive extends Container {
-
- public static final int EXPAND_NONE = 0;
- public static final int EXPAND_WAR_FILES = 1 << 1;
- public static final int EXPAND_EAR_FILES = 1 << 2;
- public static final int EXPAND_EJBJAR_FILES = 1 << 3;
- public static final int EXPAND_APPCLIENT_FILES = 1 << 4;
- public static final int EXPAND_ARCHIVES = 1 << 5;
- public static final int EXPAND_RAR_FILES = 1 << 6;
- public static final int EXPAND_ALL = (1 << 1) | (1 << 2) | (1 << 3) | (1 << 4) | (1 << 5) | (1 << 6);
-
- public Archive addCopy(Archive anArchive) throws org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DuplicateObjectException;
-
- public File addCopy(File aFile) throws org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DuplicateObjectException;
-
- /**
- * Get a flattened list from the directory, then addCopy the list
- *
- * @throws com.ibm.etools.archive.exception.DuplicateObjectException
- * if a file with a uri that equals one of the nested files in the directory exists
- *
- * @return java.util.List the copied files that were added to the archive
- */
- public List addCopy(ReadOnlyDirectory dir) throws org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DuplicateObjectException;
-
- public List addCopyFiles(List listOfFiles) throws org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DuplicateObjectException;
-
- public void addOrReplaceMofResource(Resource aResource);
-
- /**
- * @deprecated Use {@link #getDependentOpenArchives()}
- *
- * If any opened archive contains files that have this archive as its loading container, return
- * false; otherwise return true. This method supports the following scenario: open jar A. create
- * jar B. Copy files from A to B. Attempt to close jar A before saving jar B. Then attempt to
- * save B, and the save fails because A is closed. This method allows client code to test for
- * dependent open archives before saving the source archive. If this method returns false, the
- * solution is to either close or save B before closing A.
- */
- public boolean canClose();
-
- /**
- * Closes the load strategy for this archive and closes all contained archives; WARNING: If
- * files have been copied from this archive to another archive, then the destination archive
- * should be saved or closed before this archive can be safely closed; to test if this archive
- * can safely close invoke {@link #canClose()}
- */
- public void close();
-
- /**
- * Save this archive as an expanded directory where the flags is the result of bitwise or of the
- * specified types to be expanded; example:
- * <code>anEarFile.saveAsDirectory(anEarFile.EXPAND_WAR_FILES | anEarFile.EXPAND_EJBJARFILES)</code>;
- *
- * If this archive was loaded from the same uri as it is being extracted to, the orignal will be
- * deleted and replaced with the directory
- *
- * @throws SaveFailureException
- * if an exception occurs while saving
- *
- * @throws ReopenException
- * if an exception occurs while re-syncing the archive to the newly saved
- * destination
- */
- public void extract(int expansionFlags) throws SaveFailureException, ReopenException;
-
- /**
- * For performance, save the archive without reopening; Further operations on this instance
- * without first calling {@link #reopen}will yield unexpected results.
- *
- * @see #extract(int)
- */
- public void extractNoReopen(int expansionFlags) throws SaveFailureException;
-
- /**
- * Save this archive as a directory using the specified uri
- *
- * The archive will not be renamed
- *
- * @throws SaveFailureException
- * if an exception occurs while saving
- *
- * @see #extract(int)
- */
- public void extractTo(String uri, int expansionFlags) throws SaveFailureException;
-
- /**
- * Insert the method's description here. Creation date: (11/29/00 6:35:08 PM)
- *
- * @return java.lang.ClassLoader
- */
- public java.lang.ClassLoader getArchiveClassLoader();
-
- /**
- * Return a list of files in the ARchive that start with the prefix
- */
- public java.util.List filterFilesByPrefix(String prefix);
-
- /**
- * Return a list of files in the Archive excluding any file that starts with one of the prefixes
- */
- public java.util.List filterFilesWithoutPrefix(String[] prefixes);
-
- /**
- * Returns a filtered list of archive files; adds will not be reflected; use
- *
- * @link Archive#add(File)
- */
- public List getArchiveFiles();
-
- public ResourceSet getResourceSet();
-
- /**
- * Return a list of all root level (non-nested) opened archives containing files that have this
- * archive as its loading container; the set will be empty if no such opened archive exists.
- * This method supports the following scenario: open jar A. create jar B. Copy files from A to
- * B. Attempt to close jar A before saving jar B. Then attempt to save B, and the save fails
- * because A is closed. This method allows client code to test for dependent open archives
- * before saving the source archive. If the return value is not empty, the solution is to either
- * close or save B before closing A.
- */
- public Set getDependentOpenArchives();
-
- /**
- * Insert the method's description here. Creation date: (11/29/00 6:35:08 PM)
- *
- * @return java.lang.String
- */
- public java.lang.String getExtraClasspath();
-
- /**
- * Used internally by the framework, specifically as an optimization when saving/exploding
- * archives with nested archives
- */
- public FileIterator getFilesForSave() throws IOException;
-
- public Collection getLoadedMofResources();
-
- public ArchiveManifest getManifest();
-
- public Resource getMofResource(String uri) throws FileNotFoundException, ResourceLoadException;
-
- public org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveOptions getOptions();
-
- /**
- * @see LoadStrategy#getResourceInputStream(String)
- */
- public InputStream getResourceInputStream(String uri) throws IOException;
-
- /**
- * Used for websphere runtime where archives are on disk (not nested in jars)
- *
- * @return list of absolute paths that represents this archive only, and in the case of
- * WARFiles, the nested loadable contents.
- */
- public RuntimeClasspathEntry[] getLocalRuntimeClassPath();
-
- /**
- * Used for websphere runtime where archives are on disk (not nested in jars) to get the
- * recursive behavior, the Archive must belong to an EAR file
- *
- * @return list of absolute paths that represents this archive, all it's prereqs, recursive.
- */
- public RuntimeClasspathEntry[] getFullRuntimeClassPath();
-
- /**
- * Used for websphere runtime where archives are on disk (not nested in jars) to get the
- * recursive behavior, the Archive must belong to an EAR file
- *
- * @return list of absolute paths that represents the dependencies of this Archive, all it's
- * prereqs, recursive.
- */
- public RuntimeClasspathEntry[] getDependencyClassPath();
-
- /**
- * Return the absolute path of the root from which meta resources get loaded
- */
- public String getResourcesPath() throws FileNotFoundException;
-
- /**
- * Return the absolute path of the root from which classes and properties are loaded
- */
- public String getBinariesPath() throws FileNotFoundException;
-
- /**
- * Optional filter for saving a subset of files; filter will be applied for all save and extract
- * invokations
- */
- public SaveFilter getSaveFilter();
-
- /**
- * Insert the method's description here. Creation date: (11/29/00 6:35:08 PM)
- *
- * @return com.ibm.etools.archive.SaveStrategy
- */
- public org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.SaveStrategy getSaveStrategy();
-
- /**
- * Insert the method's description here. Creation date: (11/29/00 6:35:08 PM)
- *
- * @return java.lang.String
- */
- public java.lang.String getXmlEncoding();
-
- /**
- * Return whether this Archive has
- *
- * @other on it's classpath, either directly or transitively
- * @param Archive
- * other - another archive in the same EAR file
- */
- public boolean hasClasspathVisibilityTo(Archive other);
-
- /**
- * Internal API; Used for implementation of {@link #hasClasspathVisibilityTo(Archive)}
- *
- * @param Archive
- * other - another archive in the same EAR file
- * @param Set
- * visited - the set of archives already visited
- */
- public boolean hasClasspathVisibilityTo(Archive other, Set visited, EARFile ear);
-
- /**
- * Perform any necessary initialization after the archive has been opened.
- */
- public void initializeAfterOpen();
-
- /**
- * Used internally by the load strategy
- */
- public void initializeClassLoader();
-
- /**
- * An item is considered a duplicate if the archive contains a file or loaded mof resource with
- * the uri, or if the uri is equal to the manifest uri
- */
- public boolean isDuplicate(String uri);
-
- /**
- * Used as an optimization at copy time
- */
- public boolean isManifestSet();
-
- public boolean isMofResourceLoaded(String uri);
-
- /**
- * Used internally for dispatch between the archive and the load strategy when building the file
- * list; clients should not need to call this method.
- */
- public boolean isNestedArchive(String uri);
-
- /**
- * Indicates whether the archive is still opened for read; if not, IOExceptions could be thrown
- * on attempts to get input streams on file entries. reopen() will cause this archive and its
- * nested archives to rebuild their load strategies
- */
- public boolean isOpen();
-
- /**
- * Create a new mof resource and add it to the resource set of the context of this archive; all
- * resources in memory are saved when the archive is saved
- *
- * @throws DuplicateObjectException
- * if a resource already exists in this archive having the uri
- */
- public Resource makeMofResource(String uri) throws DuplicateObjectException;
-
- /**
- * Create a new mof resource and add it to the resource set of the context of this archive; all
- * resources in memory are saved when the archive is saved
- *
- * @throws DuplicateObjectException
- * if a resource already exists in this archive having the uri
- */
- public Resource makeMofResource(String uri, EList extent) throws DuplicateObjectException;
-
- /**
- * Used internally for dispatch between the archive and the load strategy when building the file
- * list; clients should not need to call this method.
- */
- public Archive openNestedArchive(String uri) throws OpenFailureException;
-
- /**
- * Used internally for dispatch between the archive and the load strategy when building the file
- * list; clients should not need to call this method.
- */
- public Archive openNestedArchive(LooseArchive loose) throws OpenFailureException;
-
- /**
- * Set the value of the extra class path with no refresh of the class loader
- */
- public void primSetExtraClasspath(java.lang.String newExtraClasspath);
-
- public void remove(File aFile);
-
- /**
- * Used internally for "re-syncing" an archive after save; clients normally should not need this
- * method
- */
- public void reopen() throws ReopenException;
-
- /**
- * Used internally for reopening nested archives; clients normally should not need this method
- */
- public void reopen(Archive parent) throws ReopenException;
-
- /**
- * Save this archive as a jar file with the uri of the archive;
- *
- * @throws SaveFailureException
- * if an exception occurs while saving
- *
- * @throws ReopenException
- * if an exception occurs while re-syncing the archive to the newly saved
- * destination
- */
- public void save() throws SaveFailureException, ReopenException;
-
- /**
- * Save this archive using the save strategy specified
- *
- * @throws SaveFailureException
- * if an exception occurs while saving
- */
- public void save(SaveStrategy aStrategy) throws SaveFailureException;
-
- /**
- * Save this archive as a jar file using uri provided; If the uri is different than the URI of
- * this archive, the uri of this archive will change to the new uri (for reopen)
- *
- * @throws SaveFailureException
- * if an exception occurs while saving
- *
- * @throws ReopenException
- * if an exception occurs while re-syncing the archive to the newly saved
- * destination
- */
- public void saveAs(String uri) throws SaveFailureException, ReopenException;
-
- /**
- * For performance, save the archive without reopening; Further operations on this instance
- * without first calling {@link #reopen}will yield unexpected results.
- *
- * @see #saveAs(String)
- */
- public void saveAsNoReopen(String uri) throws SaveFailureException;
-
- /**
- * For performance, save the archive without reopening; Further operations on this instance
- * without first calling {@link #reopen}will yield unexpected results.
- *
- * @see #save()
- */
- public void saveNoReopen() throws SaveFailureException;
-
- /**
- * Insert the method's description here. Creation date: (11/29/00 6:35:08 PM)
- *
- * @param newArchiveClassLoader
- * java.lang.ClassLoader
- */
- public void setArchiveClassLoader(java.lang.ClassLoader newArchiveClassLoader);
-
- /**
- * Insert the method's description here. Creation date: (11/29/00 6:35:08 PM)
- *
- * @param newExtraClasspath
- * java.lang.String
- */
- public void setExtraClasspath(java.lang.String newExtraClasspath);
-
- public void setManifest(ArchiveManifest newManifest);
-
- public void setManifest(java.util.jar.Manifest aManifest);
-
- /**
- * Sets the Class-path manifest entry, rebuilds the class loader, and refreshes any reflected
- * java classes
- */
- public void setManifestClassPathAndRefresh(String classpath);
-
- public void setOptions(org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveOptions newOptions);
-
- /**
- * Optional filter for saving a subset of files; filter will be applied for all save and extract
- * invokations
- */
- public void setSaveFilter(SaveFilter aFilter);
-
- /**
- * Insert the method's description here. Creation date: (11/29/00 6:35:08 PM)
- *
- * @param newSaveStrategy
- * com.ibm.etools.archive.SaveStrategy
- */
- public void setSaveStrategy(org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.SaveStrategy newSaveStrategy);
-
- /**
- * Insert the method's description here. Creation date: (11/29/00 6:35:08 PM)
- *
- * @param newXmlEncoding
- * java.lang.String
- */
- public void setXmlEncoding(java.lang.String newXmlEncoding);
-
- /**
- * Determine whether java reflection should be set up for this archive
- */
- public boolean shouldUseJavaReflection();
-
- /**
- * Returns the value of the '<em><b>Types</b></em>' attribute list. The list contents are
- * of type {@link java.lang.String}. <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Types</em>' attribute list isn't clear, there really should be
- * more of a description here...
- * </p>
- * <!-- end-user-doc -->
- *
- * @return the value of the '<em>Types</em>' attribute list.
- * @see org.eclipse.jst.j2ee.internal.commonarchivecore.CommonarchivePackage#getArchive_Types()
- * @model type="java.lang.String"
- * @generated
- */
- EList getTypes();
-
- boolean isType(String type);
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/ArchiveTypeDiscriminatorRegistry.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/ArchiveTypeDiscriminatorRegistry.java
deleted file mode 100644
index d0a763084..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/ArchiveTypeDiscriminatorRegistry.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-
-
-/**
- * @author mdelder
- */
-public class ArchiveTypeDiscriminatorRegistry {
-
- private Collection discriminators = null;
- private Collection customTypes = null;
-
- /*
- * Most known types are of length 3. Whenver a new type is added that is not of length 3,
- * modifications may be necessary to the 'isKnownArchiveType() method
- */
- private static final String[] defaultKnownTypes = new String[]{"ear", "war", "jar", "zip", "far"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-
-
- public static final ArchiveTypeDiscriminatorRegistry INSTANCE = new ArchiveTypeDiscriminatorRegistry();
-
- public static void registorDiscriminator(GenericArchiveTypeDiscriminator discriminator) {
- INSTANCE.getDiscriminators().add(discriminator);
- INSTANCE.addKnownArchiveTypes(discriminator.getCustomFileExtensions());
- }
-
- public static ArchiveTypeDiscriminatorRegistry getInstance() {
- return INSTANCE;
- }
-
- /**
- * @return
- */
- public Collection getDiscriminators() {
- if (discriminators == null)
- discriminators = new ArrayList();
- return discriminators;
- }
-
- public void contributeTypes(Archive archive) {
- if (discriminators == null)
- return;
- GenericArchiveTypeDiscriminator discriminator = null;
- for (Iterator itr = discriminators.iterator(); itr.hasNext();) {
- discriminator = (GenericArchiveTypeDiscriminator) itr.next();
- if (discriminator.discriminate(archive))
- archive.getTypes().add(discriminator.getTypeKey());
- }
- }
-
- public void addKnownArchiveTypes(String[] newTypes) {
- if (customTypes == null) {
- customTypes = new ArrayList();
- }
- for (int i = 0; i < newTypes.length; i++) {
- customTypes.add(newTypes[i]);
- }
- }
-
- public boolean isKnownArchiveType(String fileURI) {
- if (fileURI == null || fileURI.length() == 0)
- return false;
-
- String lowerCaseUri = fileURI.toLowerCase();
- /*
- * Ensure that the length of the URI is long enough to contain a .3 style extension
- */
- if (lowerCaseUri.length() > 4 && lowerCaseUri.charAt(lowerCaseUri.length() - 4) == '.') {
- String ending = lowerCaseUri.substring(lowerCaseUri.length() - 3);
- for (int i = 0; i < defaultKnownTypes.length; i++)
- if (defaultKnownTypes[i].equals(ending))
- return true;
- }
-
- String customType = null;
- if (customTypes != null) {
- Iterator customTypesIterator = customTypes.iterator();
- while (customTypesIterator.hasNext()) {
- customType = (String) customTypesIterator.next();
- if (fileURI.endsWith(customType))
- return true;
- }
- }
-
- return false;
- }
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/ClientModuleRef.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/ClientModuleRef.java
deleted file mode 100644
index 9e48b06ec..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/ClientModuleRef.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal;
-
-
-import org.eclipse.jst.j2ee.client.ApplicationClient;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.ArchiveWrappedException;
-
-
-
-
-public interface ClientModuleRef extends ModuleRef {
- ApplicationClient getApplicationClient() throws ArchiveWrappedException;
-} //ClientModuleRef
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/CommonArchiveFactoryRegistry.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/CommonArchiveFactoryRegistry.java
deleted file mode 100644
index 153081021..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/CommonArchiveFactoryRegistry.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-/*
- * Created on Aug 7, 2003
- *
- * To change the template for this generated file go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.jst.j2ee.commonarchivecore.internal;
-
-import org.eclipse.jst.j2ee.commonarchivecore.internal.impl.CommonarchiveFactoryImpl;
-
-
-/**
- * @author jlanuti
- *
- * To change the template for this generated type comment go to Window>Preferences>Java>Code
- * Generation>Code and Comments
- */
-public class CommonArchiveFactoryRegistry {
-
- public static CommonArchiveFactoryRegistry INSTANCE = new CommonArchiveFactoryRegistry();
-
- protected CommonarchiveFactory commonArchiveFactory = ((CommonarchiveFactoryImpl) CommonarchivePackage.eINSTANCE.getCommonarchiveFactory()).getDelegate();
-
- /**
- * Constructor
- */
- public CommonArchiveFactoryRegistry() {
- super();
- }
-
- public CommonarchiveFactory getCommonArchiveFactory() {
- return commonArchiveFactory;
- }
-
- public void setCommonArchiveFactory(CommonarchiveFactory factory) {
- commonArchiveFactory = factory;
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/CommonArchiveResourceHandler.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/CommonArchiveResourceHandler.java
deleted file mode 100644
index 06357a86d..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/CommonArchiveResourceHandler.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package org.eclipse.jst.j2ee.commonarchivecore.internal;
-
-/*
- * Licensed Material - Property of IBM
- * (C) Copyright IBM Corp. 2001, 2002 - All Rights Reserved.
- * US Government Users Restricted Rights - Use, duplication or disclosure
- * restricted by GSA ADP Schedule Contract with IBM Corp.
- */
-
-/*
- * Licensed Materials - Property of IBM,
- * WebSphere Studio Workbench
- * (c) Copyright IBM Corp 2001
- */
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class CommonArchiveResourceHandler {
-
- private static ResourceBundle fgResourceBundle;
-
- /**
- * Returns the resource bundle used by all classes in this Project
- */
- public static ResourceBundle getResourceBundle() {
- try {
- return ResourceBundle.getBundle("commonarchive");//$NON-NLS-1$
- } catch (MissingResourceException e) {
- // does nothing - this method will return null and
- // getString(String, String) will return the key
- // it was called with
- }
- return null;
- }
-
- public static String getString(String key) {
- if (fgResourceBundle == null) {
- fgResourceBundle = getResourceBundle();
- }
-
- if (fgResourceBundle != null) {
- try {
- return fgResourceBundle.getString(key);
- } catch (MissingResourceException e) {
- return "!" + key + "!";//$NON-NLS-2$//$NON-NLS-1$
- }
- }
- return "!" + key + "!";//$NON-NLS-2$//$NON-NLS-1$
- }
-
- public static String getString(String key, Object[] args) {
-
- try {
- return MessageFormat.format(getString(key), args);
- } catch (IllegalArgumentException e) {
- return getString(key);
- }
-
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/CommonarchiveFactory.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/CommonarchiveFactory.java
deleted file mode 100644
index 3b80abbd3..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/CommonarchiveFactory.java
+++ /dev/null
@@ -1,445 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal;
-
-
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.util.Set;
-
-import org.eclipse.emf.ecore.EFactory;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.OpenFailureException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveOptions;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseArchive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.LoadStrategy;
-
-
-/**
- * @generated
- */
-public interface CommonarchiveFactory extends EFactory {
-
- /**
- * The singleton instance of the factory. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- CommonarchiveFactory eINSTANCE = new org.eclipse.jst.j2ee.commonarchivecore.internal.impl.CommonarchiveFactoryImpl();
-
- /**
- * Tell the factory that an archive has been opened; the factory maintains a weak set of all the
- * open archives to determine if another archive can be closed.
- */
- public void archiveClosed(Archive aClosedArchive);
-
- /**
- * Tell the factory that an archive has been opened; the factory maintains a weak set of all the
- * open archives to determine if another archive can be closed.
- */
- public void archiveOpened(Archive anOpenArchive);
-
- /**
- * @deprecated Use {@link #getOpenArchivesDependingOn(Archive)}
- *
- * If any opened archive contains files that have the parameter as its loading container, return
- * false; otherwise return true. This method supports the following scenario: open jar A. create
- * jar B. Copy files from A to B. Attempt to close jar A before saving jar B. Then attempt to
- * save B, and the save fails because A is closed. This method allows client code to test for
- * dependent open archives before saving the source archive. If this method returns false, the
- * solution is to either close or save B before closing A.
- */
- public boolean canClose(Archive anArchive);
-
- /**
- * Close any open archives and delete the temp files associated with nested archives. Due to
- * limitations in the deleteOnExit() method of file, in 1.2.2 there is no way to ensure these
- * files get deleted. Client code should use good practice by calling {@link Archive#close}when
- * finished with an Archive instance, rather than just discard an instance with open file
- * handles and wait for it to be gc'd. Beyond that, program code compiled for 1.3 can (and
- * should) implement the following shutdown hook: <code>
- * Runtime.getRuntime().addShutdownHook(new Thread() {
- public void run() {
- ((CommonarchivePackage)EPackage.Registry.INSTANCE.getEPackage(CommonarchivePackage.eNS_URI)).getCommonarchiveFactory().closeOpenArchives();
- }
- });</code>
- */
- public void closeOpenArchives();
-
- public Archive copy(Archive anArchive);
-
- public ModuleFile copy(ModuleFile aModuleFile);
-
- /**
- * Creates a new archive for editing, and initializes it appropriately (adds an empty deployment
- * descriptor)
- */
- public ApplicationClientFile createApplicationClientFileInitialized(String uri);
-
- /**
- * Creates a new archive for editing, and initializes it appropriately
- */
- public Archive createArchiveInitialized(String uri);
-
- /**
- * Used internally; clients usually should not need this method
- */
- public LoadStrategy createChildLoadStrategy(String uri, LoadStrategy parent) throws java.io.IOException, java.io.FileNotFoundException;
-
- /**
- * Creates a new archive for editing, and initializes it appropriately (adds an empty deployment
- * descriptor)
- */
- public EARFile createEARFileInitialized(String uri);
-
- /**
- * Creates a new archive for editing, and initializes it appropriately (adds an empty deployment
- * descriptor)
- */
- public EJBJarFile createEJBJarFileInitialized(String uri);
-
- /**
- * Create an initialized archive based on the given URI and options
- */
- public Archive createArchiveInitialized(ArchiveOptions options, java.lang.String uri);
-
- /**
- * Create an initialized EAR based on the given URI and options
- */
- public EARFile createEARFileInitialized(ArchiveOptions options, java.lang.String uri);
-
- /**
- * Create an initialized EJB based on the given URI and options
- */
- public EJBJarFile createEJBJarFileInitialized(ArchiveOptions options, java.lang.String uri);
-
- /**
- * Initialize archive based on the options
- */
- public void initializeNewApplicationClientFile(ApplicationClientFile anArchive, String uri, ArchiveOptions options);
-
- /**
- * Initialize archive based on the options
- */
- public void initializeNewArchive(Archive anArchive, String uri, ArchiveOptions options);
-
- /**
- * Initialize archive based on the options
- */
- public void initializeNewEARFile(EARFile anArchive, String uri, ArchiveOptions options);
-
- /**
- * Initialized archive based on the options
- */
- public void initializeNewEJBJarFile(EJBJarFile anArchive, String uri, ArchiveOptions options);
-
- /**
- * Initialized archive based on the options
- */
- public void initializeNewModuleFile(ModuleFile anArchive, String uri, ArchiveOptions options);
-
- /**
- * Initialized archive based on the options
- */
- public void initializeNewRARFile(RARFile anArchive, String uri, ArchiveOptions options);
-
- /**
- * Initialized archive based on the options
- */
- public void initializeNewWARFile(WARFile anArchive, String uri, ArchiveOptions options);
-
- /**
- * Returns a NullLoadStrategyImpl; used for new archives
- */
- LoadStrategy createEmptyLoadStrategy();
-
- /**
- * Helper method to dynamically build a load strategy from the file system. Determines whether
- * the uri points to a jar file or directory and returns the appropriate strategy
- */
- public LoadStrategy createLoadStrategy(String uri) throws FileNotFoundException, IOException;
-
- /**
- * @see com.ibm.etools.commonarchive.CommonarchiveFactory
- */
- public RARFile createRARFileInitialized(java.lang.String uri);
-
- /**
- * Creates a new archive for editing, and initializes it appropriately (adds an empty deployment
- * descriptor)
- */
- public WARFile createWARFileInitialized(String uri);
-
- /**
- * Helper method to introspect an archive and get it's class path entries before fully opening
- * the archive; needed because we may need extra classpath info to be able to open the 1.0 file
- * and deserialize its deployment descriptor
- *
- * @return a tokenized array of class path components
- */
- public String[] getManifestClassPathValues(String uri) throws OpenFailureException;
-
- /**
- * Return a list of all root level (non-nested) opened archives containing files that have the
- * parameter as its loading container; the set will be empty if no such opened archive exists.
- * This method supports the following scenario: open jar A. create jar B. Copy files from A to
- * B. Attempt to close jar A before saving jar B. Then attempt to save B, and the save fails
- * because A is closed. This method allows client code to test for dependent open archives
- * before saving the source archive. If the return value is not empty, the solution is to either
- * close or save B before closing A.
- */
- public Set getOpenArchivesDependingOn(Archive anArchive);
-
- /**
- * open the archive, setting up the appropriate strategies, using the loadStrategy passed in;
- * URI still necessary so the archive has a name, but it will not be used for io.
- */
- public ApplicationClientFile openApplicationClientFile(ArchiveOptions options, String uri) throws OpenFailureException;
-
- /**
- * open the archive, setting up the appropriate strategies, using the loadStrategy passed in;
- * URI still necessary so the archive has a name, but it will not be used for io.
- */
- public ApplicationClientFile openApplicationClientFile(LoadStrategy aLoadStrategy, String uri) throws OpenFailureException;
-
- public ApplicationClientFile openApplicationClientFile(String uri) throws OpenFailureException;
-
- /**
- * open the archive, setting up the appropriate strategies, using the loadStrategy passed in;
- * URI still necessary so the archive has a name, but it will not be used for io.
- */
- public Archive openArchive(ArchiveOptions options, String uri) throws OpenFailureException;
-
- /**
- * open the archive, setting up the appropriate strategies, using the loadStrategy passed in;
- * URI still necessary so the archive has a name, but it will not be used for io.
- */
- public Archive openArchive(LoadStrategy aLoadStrategy, String uri) throws OpenFailureException;
-
- /**
- * open the archive by the passed uri
- *
- * @return the appropriate kind of archive
- */
- public Archive openArchive(String uri) throws OpenFailureException;
-
- /**
- * open the archive by the passed uri, and use the extraClassPath for java reflection, in
- * addition to the manifest class-path; mostly used for ejb 1.0 jar files to be converted
- *
- * @return the appropriate kind of archive
- */
- public Archive openArchive(String uri, String extraClassPath) throws OpenFailureException;
-
- /**
- * open the archive, setting up the appropriate strategies, using the loadStrategy passed in;
- * URI still necessary so the archive has a name, but it will not be used for io.
- */
- public EARFile openEARFile(ArchiveOptions options, String uri) throws OpenFailureException;
-
- /**
- * open the archive, setting up the appropriate strategies, using the loadStrategy passed in;
- * URI still necessary so the archive has a name, but it will not be used for io.
- */
- public EARFile openEARFile(LoadStrategy aLoadStrategy, String uri) throws OpenFailureException;
-
- public EARFile openEARFile(String uri) throws OpenFailureException;
-
- /**
- * open the archive, setting up the appropriate strategies, using the loadStrategy passed in;
- * URI still necessary so the archive has a name, but it will not be used for io.
- */
- public EJBJarFile openEJB11JarFile(ArchiveOptions options, String uri) throws OpenFailureException;
-
- /**
- * @see com.ibm.etools.commonarchive.CommonarchiveFactory
- */
- public EJBJarFile openEJB11JarFile(LoadStrategy aLoadStrategy, String uri) throws OpenFailureException;
-
- /**
- * @see com.ibm.etools.commonarchive.CommonarchiveFactory
- */
- public EJBJarFile openEJB11JarFile(String uri) throws OpenFailureException;
-
- /**
- * open the archive, setting up the appropriate strategies, using the loadStrategy passed in;
- * URI still necessary so the archive has a name, but it will not be used for io.
- */
- public EJBJarFile openEJBJarFile(ArchiveOptions options, String uri) throws OpenFailureException;
-
- /**
- * open the archive, setting up the appropriate strategies, using the loadStrategy passed in;
- * URI still necessary so the archive has a name, but it will not be used for io.
- */
- public EJBJarFile openEJBJarFile(LoadStrategy aLoadStrategy, String uri) throws OpenFailureException;
-
- /**
- * open the archive, setting up the appropriate strategies, using the loadStrategy passed in;
- * URI still necessary so the archive has a name, but it will not be used for io.
- */
- public EJBJarFile openEJBJarFile(LoadStrategy aLoadStrategy, String uri, String extraClassPath) throws OpenFailureException;
-
- public EJBJarFile openEJBJarFile(String uri) throws OpenFailureException;
-
- public EJBJarFile openEJBJarFile(String uri, String extraClassPath) throws OpenFailureException;
-
- /**
- * Used internally for openning an Archive in an Archive
- */
- public Archive openNestedArchive(String uri, Archive parent) throws OpenFailureException;
-
- /**
- * Used internally for openning an Archive in an Archive
- */
- public Archive openNestedArchive(LooseArchive loose, Archive parent) throws OpenFailureException;
-
- /**
- * open the archive, setting up the appropriate strategies, using the loadStrategy passed in;
- * URI still necessary so the archive has a name, but it will not be used for io.
- */
- public RARFile openRARFile(ArchiveOptions options, java.lang.String uri) throws OpenFailureException;
-
- /**
- * @see com.ibm.etools.commonarchive.CommonarchiveFactory
- */
- public RARFile openRARFile(LoadStrategy aLoadStrategy, String uri) throws OpenFailureException;
-
- /**
- * @see com.ibm.etools.commonarchive.CommonarchiveFactory
- */
- public RARFile openRARFile(String uri) throws OpenFailureException;
-
- public ReadOnlyDirectory openReadOnlyDirectory(String uri) throws java.io.IOException;
-
- /**
- * open the archive, setting up the appropriate strategies, using the loadStrategy passed in;
- * URI still necessary so the archive has a name, but it will not be used for io.
- */
- public WARFile openWARFile(ArchiveOptions options, String uri) throws OpenFailureException;
-
- /**
- * open the archive, setting up the appropriate strategies, using the loadStrategy passed in;
- * URI still necessary so the archive has a name, but it will not be used for io.
- */
- public WARFile openWARFile(LoadStrategy aLoadStrategy, String uri) throws OpenFailureException;
-
- public WARFile openWARFile(String uri) throws OpenFailureException;
-
- /**
- * Open the archive by the passed parameter, without attempting to determine what kind of
- * archive it is
- *
- * @return an instance of Archive, but not a subclass
- */
- Archive primOpenArchive(String uri) throws OpenFailureException;
-
- Archive primOpenArchive(LoadStrategy aLoadStrategy, String uri) throws OpenFailureException;
-
- Archive primOpenArchive(ArchiveOptions options, String uri) throws OpenFailureException;
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return WARFile value
- */
- WARFile createWARFile();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return EJBJarFile value
- */
- EJBJarFile createEJBJarFile();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return ApplicationClientFile value
- */
- ApplicationClientFile createApplicationClientFile();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return EARFile value
- */
- EARFile createEARFile();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return RARFile value
- */
- RARFile createRARFile();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return Archive value
- */
- Archive createArchive();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return File value
- */
- File createFile();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return ReadOnlyDirectory value
- */
- ReadOnlyDirectory createReadOnlyDirectory();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- CommonarchivePackage getCommonarchivePackage();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return EJBModuleRef value
- */
- EJBModuleRef createEJBModuleRef();
-
- /**
- * Convienince method for wrapping a standalone EJB JAR file
- */
- EJBModuleRef createEJBModuleRef(EJBJarFile ejbJarFile);
-
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return WebModuleRef value
- */
- WebModuleRef createWebModuleRef();
-
- /**
- * Convienince method for wrapping a standalone WAR file
- */
- WebModuleRef createWebModuleRef(WARFile warFile);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return ClientModuleRef value
- */
- ClientModuleRef createClientModuleRef();
-
- /**
- * Convienince method for wrapping a standalone Application Client JAR file
- */
- ClientModuleRef createClientModuleRef(ApplicationClientFile clientFile);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return ConnectorModuleRef value
- */
- ConnectorModuleRef createConnectorModuleRef();
-
- /**
- * Convienince method for wrapping a standalone RAR file
- */
- ConnectorModuleRef createConnectorModuleRef(RARFile rarFile);
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/CommonarchivePackage.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/CommonarchivePackage.java
deleted file mode 100644
index 83111e661..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/CommonarchivePackage.java
+++ /dev/null
@@ -1,1024 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal;
-
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-
-
-/**
- * @lastgen interface CommonarchivePackage extends EPackage {}
- */
-public interface CommonarchivePackage extends EPackage {
- /**
- * The package name. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- String eNAME = "commonarchivecore"; //$NON-NLS-1$
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int CONTAINER = 7;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int WAR_FILE = 3;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int MODULE_FILE = 6;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int EAR_FILE = 4;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int MODULE_REF = 10;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int EJB_MODULE_REF = 11;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int WEB_MODULE_REF = 12;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int CLIENT_MODULE_REF = 13;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int CONNECTOR_MODULE_REF = 14;
- /**
- * @generated This field/method will be replaced during code generation.
- */
-
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int APPLICATION_CLIENT_FILE = 5;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int EJB_JAR_FILE = 2;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int RAR_FILE = 9;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int ARCHIVE = 1;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int FILE = 0;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int FILE__URI = 0;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int FILE__LAST_MODIFIED = 1;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int FILE__SIZE = 2;
- /**
- * The feature id for the '<em><b>Directory Entry</b></em>' attribute. <!-- begin-user-doc
- * --> <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int FILE__DIRECTORY_ENTRY = 3;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int FILE__ORIGINAL_URI = 4;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int FILE__LOADING_CONTAINER = 5;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int FILE__CONTAINER = 6;
-
- /**
- * The number of structural features of the the '<em>File</em>' class. <!-- begin-user-doc
- * --> <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int FILE_FEATURE_COUNT = 7;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int CONTAINER__URI = FILE__URI;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int CONTAINER__LAST_MODIFIED = FILE__LAST_MODIFIED;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int CONTAINER__SIZE = FILE__SIZE;
- /**
- * The feature id for the '<em><b>Directory Entry</b></em>' attribute. <!-- begin-user-doc
- * --> <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int CONTAINER__DIRECTORY_ENTRY = FILE__DIRECTORY_ENTRY;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int CONTAINER__ORIGINAL_URI = FILE__ORIGINAL_URI;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int CONTAINER__LOADING_CONTAINER = FILE__LOADING_CONTAINER;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int CONTAINER__CONTAINER = FILE__CONTAINER;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int CONTAINER__FILES = FILE_FEATURE_COUNT + 0;
- /**
- * The number of structural features of the the '<em>Container</em>' class. <!--
- * begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int CONTAINER_FEATURE_COUNT = FILE_FEATURE_COUNT + 1;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int ARCHIVE__URI = CONTAINER__URI;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int ARCHIVE__LAST_MODIFIED = CONTAINER__LAST_MODIFIED;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int ARCHIVE__SIZE = CONTAINER__SIZE;
- /**
- * The feature id for the '<em><b>Directory Entry</b></em>' attribute. <!-- begin-user-doc
- * --> <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int ARCHIVE__DIRECTORY_ENTRY = CONTAINER__DIRECTORY_ENTRY;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int ARCHIVE__ORIGINAL_URI = CONTAINER__ORIGINAL_URI;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int ARCHIVE__LOADING_CONTAINER = CONTAINER__LOADING_CONTAINER;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int ARCHIVE__CONTAINER = CONTAINER__CONTAINER;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int ARCHIVE__FILES = CONTAINER__FILES;
- /**
- * The feature id for the '<em><b>Types</b></em>' attribute list. <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int ARCHIVE__TYPES = CONTAINER_FEATURE_COUNT + 0;
-
- /**
- * The number of structural features of the the '<em>Archive</em>' class. <!--
- * begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int ARCHIVE_FEATURE_COUNT = CONTAINER_FEATURE_COUNT + 1;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int MODULE_FILE__URI = ARCHIVE__URI;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int MODULE_FILE__LAST_MODIFIED = ARCHIVE__LAST_MODIFIED;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int MODULE_FILE__SIZE = ARCHIVE__SIZE;
- /**
- * The feature id for the '<em><b>Directory Entry</b></em>' attribute. <!-- begin-user-doc
- * --> <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int MODULE_FILE__DIRECTORY_ENTRY = ARCHIVE__DIRECTORY_ENTRY;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int MODULE_FILE__ORIGINAL_URI = ARCHIVE__ORIGINAL_URI;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int MODULE_FILE__LOADING_CONTAINER = ARCHIVE__LOADING_CONTAINER;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int MODULE_FILE__CONTAINER = ARCHIVE__CONTAINER;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int MODULE_FILE__FILES = ARCHIVE__FILES;
- /**
- * The feature id for the '<em><b>Types</b></em>' attribute list. <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int MODULE_FILE__TYPES = ARCHIVE__TYPES;
-
- /**
- * The number of structural features of the the '<em>Module File</em>' class. <!--
- * begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int MODULE_FILE_FEATURE_COUNT = ARCHIVE_FEATURE_COUNT + 0;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int EJB_JAR_FILE__URI = MODULE_FILE__URI;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int EJB_JAR_FILE__LAST_MODIFIED = MODULE_FILE__LAST_MODIFIED;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int EJB_JAR_FILE__SIZE = MODULE_FILE__SIZE;
- /**
- * The feature id for the '<em><b>Directory Entry</b></em>' attribute. <!-- begin-user-doc
- * --> <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int EJB_JAR_FILE__DIRECTORY_ENTRY = MODULE_FILE__DIRECTORY_ENTRY;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int EJB_JAR_FILE__ORIGINAL_URI = MODULE_FILE__ORIGINAL_URI;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int EJB_JAR_FILE__LOADING_CONTAINER = MODULE_FILE__LOADING_CONTAINER;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int EJB_JAR_FILE__CONTAINER = MODULE_FILE__CONTAINER;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int EJB_JAR_FILE__FILES = MODULE_FILE__FILES;
- /**
- * The feature id for the '<em><b>Types</b></em>' attribute list. <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int EJB_JAR_FILE__TYPES = MODULE_FILE__TYPES;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int EJB_JAR_FILE__DEPLOYMENT_DESCRIPTOR = MODULE_FILE_FEATURE_COUNT + 0;
- /**
- * The number of structural features of the the '<em>EJB Jar File</em>' class. <!--
- * begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int EJB_JAR_FILE_FEATURE_COUNT = MODULE_FILE_FEATURE_COUNT + 1;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int WAR_FILE__URI = MODULE_FILE__URI;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int WAR_FILE__LAST_MODIFIED = MODULE_FILE__LAST_MODIFIED;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int WAR_FILE__SIZE = MODULE_FILE__SIZE;
- /**
- * The feature id for the '<em><b>Directory Entry</b></em>' attribute. <!-- begin-user-doc
- * --> <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int WAR_FILE__DIRECTORY_ENTRY = MODULE_FILE__DIRECTORY_ENTRY;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int WAR_FILE__ORIGINAL_URI = MODULE_FILE__ORIGINAL_URI;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int WAR_FILE__LOADING_CONTAINER = MODULE_FILE__LOADING_CONTAINER;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int WAR_FILE__CONTAINER = MODULE_FILE__CONTAINER;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int WAR_FILE__FILES = MODULE_FILE__FILES;
- /**
- * The feature id for the '<em><b>Types</b></em>' attribute list. <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int WAR_FILE__TYPES = MODULE_FILE__TYPES;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int WAR_FILE__DEPLOYMENT_DESCRIPTOR = MODULE_FILE_FEATURE_COUNT + 0;
- /**
- * The number of structural features of the the '<em>WAR File</em>' class. <!--
- * begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int WAR_FILE_FEATURE_COUNT = MODULE_FILE_FEATURE_COUNT + 1;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int EAR_FILE__URI = MODULE_FILE__URI;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int EAR_FILE__LAST_MODIFIED = MODULE_FILE__LAST_MODIFIED;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int EAR_FILE__SIZE = MODULE_FILE__SIZE;
- /**
- * The feature id for the '<em><b>Directory Entry</b></em>' attribute. <!-- begin-user-doc
- * --> <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int EAR_FILE__DIRECTORY_ENTRY = MODULE_FILE__DIRECTORY_ENTRY;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int EAR_FILE__ORIGINAL_URI = MODULE_FILE__ORIGINAL_URI;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int EAR_FILE__LOADING_CONTAINER = MODULE_FILE__LOADING_CONTAINER;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int EAR_FILE__CONTAINER = MODULE_FILE__CONTAINER;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int EAR_FILE__FILES = MODULE_FILE__FILES;
- /**
- * The feature id for the '<em><b>Types</b></em>' attribute list. <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int EAR_FILE__TYPES = MODULE_FILE__TYPES;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int EAR_FILE__MODULE_REFS = MODULE_FILE_FEATURE_COUNT + 0;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int EAR_FILE__DEPLOYMENT_DESCRIPTOR = MODULE_FILE_FEATURE_COUNT + 1;
- /**
- * The number of structural features of the the '<em>EAR File</em>' class. <!--
- * begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int EAR_FILE_FEATURE_COUNT = MODULE_FILE_FEATURE_COUNT + 2;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int APPLICATION_CLIENT_FILE__URI = MODULE_FILE__URI;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int APPLICATION_CLIENT_FILE__LAST_MODIFIED = MODULE_FILE__LAST_MODIFIED;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int APPLICATION_CLIENT_FILE__SIZE = MODULE_FILE__SIZE;
- /**
- * The feature id for the '<em><b>Directory Entry</b></em>' attribute. <!-- begin-user-doc
- * --> <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int APPLICATION_CLIENT_FILE__DIRECTORY_ENTRY = MODULE_FILE__DIRECTORY_ENTRY;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int APPLICATION_CLIENT_FILE__ORIGINAL_URI = MODULE_FILE__ORIGINAL_URI;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int APPLICATION_CLIENT_FILE__LOADING_CONTAINER = MODULE_FILE__LOADING_CONTAINER;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int APPLICATION_CLIENT_FILE__CONTAINER = MODULE_FILE__CONTAINER;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int APPLICATION_CLIENT_FILE__FILES = MODULE_FILE__FILES;
- /**
- * The feature id for the '<em><b>Types</b></em>' attribute list. <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int APPLICATION_CLIENT_FILE__TYPES = MODULE_FILE__TYPES;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int APPLICATION_CLIENT_FILE__DEPLOYMENT_DESCRIPTOR = MODULE_FILE_FEATURE_COUNT + 0;
- /**
- * The number of structural features of the the '<em>Application Client File</em>' class.
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int APPLICATION_CLIENT_FILE_FEATURE_COUNT = MODULE_FILE_FEATURE_COUNT + 1;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int READ_ONLY_DIRECTORY = 8;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int READ_ONLY_DIRECTORY__URI = CONTAINER__URI;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int READ_ONLY_DIRECTORY__LAST_MODIFIED = CONTAINER__LAST_MODIFIED;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int READ_ONLY_DIRECTORY__SIZE = CONTAINER__SIZE;
- /**
- * The feature id for the '<em><b>Directory Entry</b></em>' attribute. <!-- begin-user-doc
- * --> <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int READ_ONLY_DIRECTORY__DIRECTORY_ENTRY = CONTAINER__DIRECTORY_ENTRY;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int READ_ONLY_DIRECTORY__ORIGINAL_URI = CONTAINER__ORIGINAL_URI;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int READ_ONLY_DIRECTORY__LOADING_CONTAINER = CONTAINER__LOADING_CONTAINER;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int READ_ONLY_DIRECTORY__CONTAINER = CONTAINER__CONTAINER;
-
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int READ_ONLY_DIRECTORY__FILES = CONTAINER__FILES;
- /**
- * The number of structural features of the the '<em>Read Only Directory</em>' class. <!--
- * begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int READ_ONLY_DIRECTORY_FEATURE_COUNT = CONTAINER_FEATURE_COUNT + 0;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int RAR_FILE__URI = MODULE_FILE__URI;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int RAR_FILE__LAST_MODIFIED = MODULE_FILE__LAST_MODIFIED;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int RAR_FILE__SIZE = MODULE_FILE__SIZE;
- /**
- * The feature id for the '<em><b>Directory Entry</b></em>' attribute. <!-- begin-user-doc
- * --> <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int RAR_FILE__DIRECTORY_ENTRY = MODULE_FILE__DIRECTORY_ENTRY;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int RAR_FILE__ORIGINAL_URI = MODULE_FILE__ORIGINAL_URI;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int RAR_FILE__LOADING_CONTAINER = MODULE_FILE__LOADING_CONTAINER;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int RAR_FILE__CONTAINER = MODULE_FILE__CONTAINER;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int RAR_FILE__FILES = MODULE_FILE__FILES;
- /**
- * The feature id for the '<em><b>Types</b></em>' attribute list. <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int RAR_FILE__TYPES = MODULE_FILE__TYPES;
-
- /**
- * The feature id for the '<em><b>Deployment Descriptor</b></em>' reference. <!--
- * begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int RAR_FILE__DEPLOYMENT_DESCRIPTOR = MODULE_FILE_FEATURE_COUNT + 0;
-
- /**
- * The number of structural features of the the '<em>RAR File</em>' class. <!--
- * begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int RAR_FILE_FEATURE_COUNT = MODULE_FILE_FEATURE_COUNT + 1;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int MODULE_REF__MODULE_FILE = 0;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int MODULE_REF__EAR_FILE = 1;
-
- /**
- * The feature id for the '<em><b>Module</b></em>' reference. <!-- begin-user-doc --> <!--
- * end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int MODULE_REF__MODULE = 2;
-
- /**
- * The number of structural features of the the '<em>Module Ref</em>' class. <!--
- * begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int MODULE_REF_FEATURE_COUNT = 3;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int EJB_MODULE_REF__MODULE_FILE = MODULE_REF__MODULE_FILE;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int EJB_MODULE_REF__EAR_FILE = MODULE_REF__EAR_FILE;
-
- /**
- * The feature id for the '<em><b>Module</b></em>' reference. <!-- begin-user-doc --> <!--
- * end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int EJB_MODULE_REF__MODULE = MODULE_REF__MODULE;
-
- /**
- * The number of structural features of the the '<em>EJB Module Ref</em>' class. <!--
- * begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int EJB_MODULE_REF_FEATURE_COUNT = MODULE_REF_FEATURE_COUNT + 0;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int WEB_MODULE_REF__MODULE_FILE = MODULE_REF__MODULE_FILE;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int WEB_MODULE_REF__EAR_FILE = MODULE_REF__EAR_FILE;
-
- /**
- * The feature id for the '<em><b>Module</b></em>' reference. <!-- begin-user-doc --> <!--
- * end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int WEB_MODULE_REF__MODULE = MODULE_REF__MODULE;
-
- /**
- * The number of structural features of the the '<em>Web Module Ref</em>' class. <!--
- * begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int WEB_MODULE_REF_FEATURE_COUNT = MODULE_REF_FEATURE_COUNT + 0;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int CLIENT_MODULE_REF__MODULE_FILE = MODULE_REF__MODULE_FILE;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int CLIENT_MODULE_REF__EAR_FILE = MODULE_REF__EAR_FILE;
-
- /**
- * The feature id for the '<em><b>Module</b></em>' reference. <!-- begin-user-doc --> <!--
- * end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int CLIENT_MODULE_REF__MODULE = MODULE_REF__MODULE;
-
- /**
- * The number of structural features of the the '<em>Client Module Ref</em>' class. <!--
- * begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int CLIENT_MODULE_REF_FEATURE_COUNT = MODULE_REF_FEATURE_COUNT + 0;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int CONNECTOR_MODULE_REF__MODULE_FILE = MODULE_REF__MODULE_FILE;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int CONNECTOR_MODULE_REF__EAR_FILE = MODULE_REF__EAR_FILE;
-
- /**
- * The feature id for the '<em><b>Module</b></em>' reference. <!-- begin-user-doc --> <!--
- * end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int CONNECTOR_MODULE_REF__MODULE = MODULE_REF__MODULE;
-
- /**
- * The number of structural features of the the '<em>Connector Module Ref</em>' class. <!--
- * begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int CONNECTOR_MODULE_REF_FEATURE_COUNT = MODULE_REF_FEATURE_COUNT + 0;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- String eNS_URI = "commonarchive.xmi"; //$NON-NLS-1$
- /**
- * The package namespace name. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- String eNS_PREFIX = "org.eclipse.jst.j2ee.internal.commonarchivecore"; //$NON-NLS-1$
-
- /**
- * The singleton instance of the package. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- CommonarchivePackage eINSTANCE = org.eclipse.jst.j2ee.commonarchivecore.internal.impl.CommonarchivePackageImpl.init();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return Container object
- */
- EClass getContainer();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EReference getContainer_Files();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return WARFile object
- */
- EClass getWARFile();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EReference getWARFile_DeploymentDescriptor();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return ModuleFile object
- */
- EClass getModuleFile();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return EARFile object
- */
- EClass getEARFile();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EReference getEARFile_DeploymentDescriptor();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EReference getEARFile_ModuleRefs();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return ModuleRef object
- */
- EClass getModuleRef();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EReference getModuleRef_ModuleFile();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EReference getModuleRef_EarFile();
-
- /**
- * Returns the meta object for the reference '
- * {@link org.eclipse.jst.j2ee.internal.commonarchivecore.ModuleRef#getModule <em>Module</em>}'. <!--
- * begin-user-doc --> <!-- end-user-doc -->
- *
- * @return the meta object for the reference '<em>Module</em>'.
- * @see org.eclipse.jst.j2ee.internal.commonarchivecore.ModuleRef#getModule()
- * @see #getModuleRef()
- * @generated
- */
- EReference getModuleRef_Module();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return EJBModuleRef object
- */
- EClass getEJBModuleRef();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return WebModuleRef object
- */
- EClass getWebModuleRef();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return ClientModuleRef object
- */
- EClass getClientModuleRef();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return ConnectorModuleRef object
- */
- EClass getConnectorModuleRef();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return ApplicationClientFile object
- */
- EClass getApplicationClientFile();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EReference getApplicationClientFile_DeploymentDescriptor();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return EJBJarFile object
- */
- EClass getEJBJarFile();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EReference getEJBJarFile_DeploymentDescriptor();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return RARFile object
- */
- EClass getRARFile();
-
- /**
- * Returns the meta object for the reference '
- * {@link org.eclipse.jst.j2ee.internal.commonarchivecore.RARFile#getDeploymentDescriptor <em>Deployment Descriptor</em>}'.
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @return the meta object for the reference '<em>Deployment Descriptor</em>'.
- * @see org.eclipse.jst.j2ee.internal.commonarchivecore.RARFile#getDeploymentDescriptor()
- * @see #getRARFile()
- * @generated
- */
- EReference getRARFile_DeploymentDescriptor();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return Archive object
- */
- EClass getArchive();
-
- /**
- * Returns the meta object for the attribute list '
- * {@link org.eclipse.jst.j2ee.internal.commonarchivecore.Archive#getTypes <em>Types</em>}'. <!--
- * begin-user-doc --> <!-- end-user-doc -->
- *
- * @return the meta object for the attribute list '<em>Types</em>'.
- * @see org.eclipse.jst.j2ee.internal.commonarchivecore.Archive#getTypes()
- * @see #getArchive()
- * @generated
- */
- EAttribute getArchive_Types();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return File object
- */
- EClass getFile();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EAttribute getFile_URI();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EAttribute getFile_LastModified();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EAttribute getFile_Size();
-
- /**
- * Returns the meta object for the attribute '
- * {@link org.eclipse.jst.j2ee.internal.commonarchivecore.File#isDirectoryEntry <em>Directory Entry</em>}'.
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @return the meta object for the attribute '<em>Directory Entry</em>'.
- * @see org.eclipse.jst.j2ee.internal.commonarchivecore.File#isDirectoryEntry()
- * @see #getFile()
- * @generated
- */
- EAttribute getFile_DirectoryEntry();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EAttribute getFile_OriginalURI();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EReference getFile_LoadingContainer();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EReference getFile_Container();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return ReadOnlyDirectory object
- */
- EClass getReadOnlyDirectory();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- CommonarchiveFactory getCommonarchiveFactory();
-
-} //CommonarchivePackage
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/ConnectorModuleRef.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/ConnectorModuleRef.java
deleted file mode 100644
index b42d0610f..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/ConnectorModuleRef.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal;
-
-
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.ArchiveWrappedException;
-import org.eclipse.jst.j2ee.jca.Connector;
-
-
-public interface ConnectorModuleRef extends ModuleRef {
- Connector getConnector() throws ArchiveWrappedException;
-
-} //ConnectorModuleRef
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/Container.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/Container.java
deleted file mode 100644
index cea334e92..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/Container.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal;
-
-
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.eclipse.emf.common.util.EList;
-
-/**
- * @generated
- */
-public interface Container extends File {
-
- /**
- * Indicate whether the archive contains a file having a relative path of the parameter; the uri
- * may or may not have a leading separator
- */
- public boolean containsFile(String uri);
-
- /**
- * Return the absolute path of the file from its load strategy, if it is known. Should be used
- * mainly for read-only runtime purposes, as edit-time modifications may make the result
- * undefined.
- *
- * @throws FileNotFoundException
- * if the archive is "virtual", eg, a nested jar
- */
- public String getAbsolutePath() throws FileNotFoundException;
-
- public File getFile(String uri) throws FileNotFoundException;
-
- public InputStream getInputStream(String uri) throws FileNotFoundException, IOException;
-
- /**
- * Insert the method's description here. Creation date: (11/29/00 6:35:08 PM)
- *
- * @return com.ibm.etools.archive.LoadStrategy
- */
- public org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.LoadStrategy getLoadStrategy();
-
- /**
- * Indicates whether the archive has ever had its files enumerated; used as an optimization
- */
- public boolean isIndexed();
-
- /**
- * Goes directly to the strategy
- */
- public InputStream primGetInputStream(String uri) throws FileNotFoundException, IOException;
-
- public void rebuildFileIndex();
-
- /**
- * Insert the method's description here. Creation date: (11/29/00 6:35:08 PM)
- *
- * @param newLoadStrategy
- * com.ibm.etools.archive.LoadStrategy
- */
- public void setLoadStrategy(org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.LoadStrategy newLoadStrategy);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The list of Files references
- */
- EList getFiles();
-
- /**
- * Clears the list of files in this Container and drops the index
- */
- public void clearFiles();
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/EARFile.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/EARFile.java
deleted file mode 100644
index 20c7545d5..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/EARFile.java
+++ /dev/null
@@ -1,299 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal;
-
-
-
-import java.io.FileNotFoundException;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.jst.j2ee.application.Application;
-import org.eclipse.jst.j2ee.application.ConnectorModule;
-import org.eclipse.jst.j2ee.application.EjbModule;
-import org.eclipse.jst.j2ee.application.JavaClientModule;
-import org.eclipse.jst.j2ee.application.Module;
-import org.eclipse.jst.j2ee.application.WebModule;
-import org.eclipse.jst.j2ee.client.ApplicationClient;
-import org.eclipse.jst.j2ee.common.EjbRef;
-import org.eclipse.jst.j2ee.common.SecurityRole;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.ArchiveWrappedException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DeploymentDescriptorLoadException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DuplicateObjectException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.EmptyResourceException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.ObjectNotFoundException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.ResourceLoadException;
-import org.eclipse.jst.j2ee.ejb.EJBJar;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.jst.j2ee.jca.Connector;
-import org.eclipse.jst.j2ee.webapplication.WebApp;
-
-
-/**
- * @generated
- */
-public interface EARFile extends ModuleFile {
-
- /**
- * Makes a copy of
- *
- * @aModuleFile, using its local deployment descriptor; creates a new Module and adds it to the
- * Application deployment descriptor of this EAR file and adds the copy of the
- * ModuleFile to this EAR.
- *
- * @return The copied module file
- *
- * @exception DuplicateObjectException
- * if this EAR already contains a file with the same uri as
- * @aModuleFile
- */
-
- public ModuleFile addCopy(ModuleFile aModuleFile) throws DuplicateObjectException;
-
-
- /**
- * This is the same as addCopy(ModuleFile) except the return value is the new ModuleRef
- */
- public ModuleRef addCopyRef(ModuleFile aModuleFile) throws DuplicateObjectException;
-
- /**
- * Add a copy of the security role to the dd for the module; if an alt dd is specified, add to
- * that dd; otherwise add to the standard dd of the module; also add a copy of the role to the
- * ear file dd if a role with that name does not already exist
- *
- * @throws DuplicateObjectException
- * if the dd for aModule already contains a role with that name
- */
- public SecurityRole addCopy(SecurityRole aRole, Module aModule) throws DuplicateObjectException;
-
- /**
- * Add a copy of the security role to the ear file's dd, if it does not already contain a role
- * with the same name
- */
- public SecurityRole addCopyIfNotExists(SecurityRole aRole);
-
- EObject getAltDeploymentDescriptor(Module aModule) throws FileNotFoundException, ResourceLoadException, EmptyResourceException;
-
- /**
- * Returns a filtered list of ApplicationClientFiles; adds will not be reflected; use
- *
- * @link Archive#add(File)
- */
- public List getApplicationClientFiles();
-
- /**
- * Returns a filtered list of ClientModuleRefs
- */
- public List getClientModuleRefs();
-
- /**
- * @throws DeploymentDescriptorLoadException -
- * is a runtime exception, because we can't override the signature of the generated
- * methods
- */
-
-
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The DeploymentDescriptor reference
- */
- Application getDeploymentDescriptor() throws DeploymentDescriptorLoadException;
-
- Connector getDeploymentDescriptor(ConnectorModule aModule) throws FileNotFoundException, ResourceLoadException, EmptyResourceException;
-
- EJBJar getDeploymentDescriptor(EjbModule aModule) throws FileNotFoundException, ResourceLoadException, EmptyResourceException;
-
- ApplicationClient getDeploymentDescriptor(JavaClientModule aModule) throws FileNotFoundException, ResourceLoadException, EmptyResourceException;
-
- EObject getDeploymentDescriptor(Module aModule) throws FileNotFoundException, ResourceLoadException, EmptyResourceException;
-
- WebApp getDeploymentDescriptor(WebModule aModule) throws FileNotFoundException, ResourceLoadException, EmptyResourceException;
-
- /**
- * Returns a filtered list of EJBJarFiles; adds will not be reflected; use
- *
- * @link Archive#add(File)
- */
- public List getEJBJarFiles();
-
- /**
- * Returns a filtered list of EJBModuleRefs
- */
- public List getEJBModuleRefs();
-
-
- /**
- * Return an enterprise bean referenced by the EjbRef, if one exists. The ejb-link value of the
- * ref must equate to a named enterprise bean contained in the jar; otherwise return null.
- * Returns the first hit found; assumption that the ejb names are unique within the scope of the
- * ear file. This will likely be replaced with a better way for dereferencing ejb refs.
- *
- * Can be used with ejb 1.1 references only.
- *
- * @deprecated {@link#getEnterpiseBeanFromRef(EjbRef ref, String moduleUri )
- * @param EjbRef
- * ref - An ejb reference
- * @return EnterpriseBean
- */
- public EnterpriseBean getEnterpiseBeanFromRef(EjbRef ref);
-
- /**
- * Return an enterprise bean referenced by the EjbRef and a module uri, if one exists. The
- * ejb-link value of the ref must equate to a named enterprise bean contained in the jar;
- * otherwise return null. Returns the first hit found; assumption that the ejb names are unique
- * within the scope of the ear file. This will likely be replaced with a better way for
- * dereferencing ejb refs.
- *
- * Can be used with ejb 1.1 & ejb 2.0 references.
- *
- * @param EjbRef
- * ref - An ejb reference
- * @param String
- * moduleUri - The module uri
- * @return EnterpriseBean
- */
- public EnterpriseBean getEnterpiseBeanFromRef(EjbRef ref, String moduleUri);
-
- public Module getModule(String uri, String altDD);
-
- /**
- * @return the module ref which references
- * @moduleDescriptor
- */
- public ModuleRef getModuleRef(Module moduleDescriptor);
-
- /**
- * @return java.util.List of all module refs in this EAR having a reference to
- * @aModuleFile
- */
- public List getModuleRefs(ModuleFile aModuleFile);
-
- /**
- * Returns a filtered list of ModuleFiles; adds will not be reflected; use
- *
- * @link Archive#add(File)
- */
- public List getModuleFiles();
-
- /**
- * Returns a filtered list of RarFiles; adds will not be reflected; use
- *
- * @link Archive#add(File)
- */
- public List getRARFiles();
-
- /**
- * Returns a filtered list of FARFiles; adds will not be reflected; use
- * {@link Archive#add(File)}
- */
- public List getFARFiles();
-
- /**
- * Returns a filtered list of ConnectorModuleRefs
- */
- public List getConnectorModuleRefs();
-
- /**
- * Return all security roles from all existing modules (EjbModule and WebModule)
- */
- public EList getRolesFromAllModules();
-
- /**
- * Return all security roles from an existing module (EjbModule and WebModule)
- */
- public EList getRolesFromModule(Module aModule);
-
- /**
- * Returns a filtered list of WarFiles; adds will not be reflected; use
- *
- * @link Archive#add(File)
- */
- public List getWARFiles();
-
- /**
- * Returns a filtered list of WebModuleRefs
- */
- public List getWebModuleRefs();
-
- /**
- * Copy the role into each ModuleFile in the ear file which does not already contain the role
- * Assumption: a role with the same name as
- *
- * @role exists in the application deployment descriptor
- */
- public void pushDownRole(SecurityRole role);
-
- /**
- * Copy the role into the ModuleFile for the module, if the module does not already contain the
- * role Assumption: a role with the same name as
- *
- * @role exists in the application deployment descriptor
- */
- public void pushDownRole(SecurityRole role, Module aModule);
-
- /**
- * Attempt to remove the module for the parameter from this object's dd, then remove the module
- * file, if it is not referenced from any other ModuleRef, from the list of files
- */
- public void remove(ModuleRef aModuleRef);
-
- /**
- * Rename the security role in the ear file's dd; push this change down to any contained module
- * dd's; if the module specifies an alt-dd, the change will be reflected there; otherwise it
- * will be reflected in the standard dd of the module
- *
- * @throws ObjectNotFoundException
- * if the dd for the ear does not contain a role with the existingRoleName
- *
- * @throws DuplicateObjectException
- * if the dd for the ear file already contains a role with the new name
- */
- public void renameSecurityRole(String existingRoleName, String newRoleName) throws ObjectNotFoundException, DuplicateObjectException;
-
- /**
- * For each security role in the dd for each module, add a copy to the ear file's dd; if an
- * alt-dd is specified for the module, use that dd; otherwise use the standard dd in the module
- * file
- */
- public void rollUpRoles();
-
- /**
- * For each security role in the dd for a module, add a copy to the ear file's dd; if an alt-dd
- * is specified for the module, use that dd; otherwise use the standard dd in the module file
- */
- public void rollUpRoles(Module aModule);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param l
- * The new value of the DeploymentDescriptor reference
- */
- void setDeploymentDescriptor(Application value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The list of ModuleRefs references
- */
- EList getModuleRefs();
-
- public List getArchivesOfType(String type);
-
- /**
- * Return a Map of Modules as keys and a List of EJB References as the values. This will let you
- * know which Modules the references came from. You can filter the list of EJB References
- * returned on the linked attributed of the reference. This means that you can filter linked
- * references, non-linked references, or neither (i.e., return all references).
- */
- Map getEJBReferences(boolean filterLinkedReferences, boolean filterNonLinkedReferences) throws ArchiveWrappedException;
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/EJBJarFile.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/EJBJarFile.java
deleted file mode 100644
index e7bd0a70a..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/EJBJarFile.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal;
-
-
-
-import java.util.List;
-
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DeploymentDescriptorLoadException;
-import org.eclipse.jst.j2ee.ejb.EJBJar;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-
-
-/**
- * @generated
- */
-public interface EJBJarFile extends ModuleFile {
-
- /**
- * Used for tools performing selective import
- */
- public List getAssociatedFiles(EnterpriseBean ejb);
-
- /**
- * @throws DeploymentDescriptorLoadException -
- * is a runtime exception, because we can't override the signature of the generated
- * methods
- */
-
-
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The DeploymentDescriptor reference
- */
- EJBJar getDeploymentDescriptor() throws DeploymentDescriptorLoadException;
-
- public boolean isImportedFrom10();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param l
- * The new value of the DeploymentDescriptor reference
- */
- void setDeploymentDescriptor(EJBJar value);
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/EJBModuleRef.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/EJBModuleRef.java
deleted file mode 100644
index cec50714c..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/EJBModuleRef.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal;
-
-
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.ArchiveWrappedException;
-import org.eclipse.jst.j2ee.ejb.EJBJar;
-
-
-public interface EJBModuleRef extends ModuleRef {
-
- EJBJar getEJBJar() throws ArchiveWrappedException;
-
-} //EJBModuleRef
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/File.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/File.java
deleted file mode 100644
index 650d9f140..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/File.java
+++ /dev/null
@@ -1,256 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal;
-
-
-
-import java.io.InputStream;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * @generated
- */
-public interface File extends EObject {
-
- /**
- * Return the path up to the filename; e.g., from com/ibm/foo/bar.class, com/ibm/foo
- */
- public String getDirectoryURI();
-
- public InputStream getInputStream() throws java.io.FileNotFoundException, java.io.IOException;
-
- /**
- * Return the tail of the file path; e.g., from com/ibm/foo/bar.class, return bar.class
- */
- public String getName();
-
- public boolean isApplicationClientFile();
-
- public boolean isArchive();
-
- public boolean isContainer();
-
- public boolean isEARFile();
-
- public boolean isFARFile();
-
- public boolean isEJBJarFile();
-
- public boolean isModuleFile();
-
- public boolean isRARFile();
-
- public boolean isReadOnlyDirectory();
-
- public boolean isWARFile();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the URI attribute
- */
- String getURI();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param value
- * The new value of the URI attribute
- */
- void setURI(String value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the LastModified attribute
- */
- long getLastModified();
-
- /**
- * Sets the value of the '
- * {@link org.eclipse.jst.j2ee.internal.commonarchivecore.File#getLastModified <em>Last Modified</em>}'
- * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @param value
- * the new value of the '<em>Last Modified</em>' attribute.
- * @see #isSetLastModified()
- * @see #unsetLastModified()
- * @see #getLastModified()
- * @generated
- */
- void setLastModified(long value);
-
- /**
- * Unsets the value of the '
- * {@link org.eclipse.jst.j2ee.internal.commonarchivecore.File#getLastModified <em>Last Modified</em>}'
- * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @see #isSetLastModified()
- * @see #getLastModified()
- * @see #setLastModified(long)
- * @generated
- */
- void unsetLastModified();
-
- /**
- * Returns whether the value of the '
- * {@link org.eclipse.jst.j2ee.internal.commonarchivecore.File#getLastModified <em>Last Modified</em>}'
- * attribute is set. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @return whether the value of the '<em>Last Modified</em>' attribute is set.
- * @see #unsetLastModified()
- * @see #getLastModified()
- * @see #setLastModified(long)
- * @generated
- */
- boolean isSetLastModified();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the Size attribute
- */
- long getSize();
-
- /**
- * Sets the value of the '
- * {@link org.eclipse.jst.j2ee.internal.commonarchivecore.File#getSize <em>Size</em>}' attribute. <!--
- * begin-user-doc --> <!-- end-user-doc -->
- *
- * @param value
- * the new value of the '<em>Size</em>' attribute.
- * @see #isSetSize()
- * @see #unsetSize()
- * @see #getSize()
- * @generated
- */
- void setSize(long value);
-
- /**
- * Unsets the value of the '
- * {@link org.eclipse.jst.j2ee.internal.commonarchivecore.File#getSize <em>Size</em>}' attribute. <!--
- * begin-user-doc --> <!-- end-user-doc -->
- *
- * @see #isSetSize()
- * @see #getSize()
- * @see #setSize(long)
- * @generated
- */
- void unsetSize();
-
- /**
- * Returns whether the value of the '
- * {@link org.eclipse.jst.j2ee.internal.commonarchivecore.File#getSize <em>Size</em>}' attribute is set.
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @return whether the value of the '<em>Size</em>' attribute is set.
- * @see #unsetSize()
- * @see #getSize()
- * @see #setSize(long)
- * @generated
- */
- boolean isSetSize();
-
- /**
- * Returns the value of the '<em><b>Directory Entry</b></em>' attribute. <!--
- * begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Directory Entry</em>' attribute isn't clear, there really
- * should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- *
- * @return the value of the '<em>Directory Entry</em>' attribute.
- * @see #isSetDirectoryEntry()
- * @see #unsetDirectoryEntry()
- * @see #setDirectoryEntry(boolean)
- * @see org.eclipse.jst.j2ee.internal.commonarchivecore.CommonarchivePackage#getFile_DirectoryEntry()
- * @model unsettable="true"
- * @generated
- */
- boolean isDirectoryEntry();
-
- /**
- * Sets the value of the '
- * {@link org.eclipse.jst.j2ee.internal.commonarchivecore.File#isDirectoryEntry <em>Directory Entry</em>}'
- * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @param value
- * the new value of the '<em>Directory Entry</em>' attribute.
- * @see #isSetDirectoryEntry()
- * @see #unsetDirectoryEntry()
- * @see #isDirectoryEntry()
- * @generated
- */
- void setDirectoryEntry(boolean value);
-
- /**
- * Unsets the value of the '
- * {@link org.eclipse.jst.j2ee.internal.commonarchivecore.File#isDirectoryEntry <em>Directory Entry</em>}'
- * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @see #isSetDirectoryEntry()
- * @see #isDirectoryEntry()
- * @see #setDirectoryEntry(boolean)
- * @generated
- */
- void unsetDirectoryEntry();
-
- /**
- * Returns whether the value of the '
- * {@link org.eclipse.jst.j2ee.internal.commonarchivecore.File#isDirectoryEntry <em>Directory Entry</em>}'
- * attribute is set. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @return whether the value of the '<em>Directory Entry</em>' attribute is set.
- * @see #unsetDirectoryEntry()
- * @see #isDirectoryEntry()
- * @see #setDirectoryEntry(boolean)
- * @generated
- */
- boolean isSetDirectoryEntry();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the OriginalURI attribute
- */
- String getOriginalURI();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param value
- * The new value of the OriginalURI attribute
- */
- void setOriginalURI(String value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The LoadingContainer reference
- */
- Container getLoadingContainer();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param l
- * The new value of the LoadingContainer reference
- */
- void setLoadingContainer(Container value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The Container reference
- */
- Container getContainer();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param l
- * The new value of the Container reference
- */
- void setContainer(Container value);
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/GenericArchiveTypeDiscriminator.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/GenericArchiveTypeDiscriminator.java
deleted file mode 100644
index c2acce7f1..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/GenericArchiveTypeDiscriminator.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal;
-
-
-
-/**
- * @author mdelder
- */
-public interface GenericArchiveTypeDiscriminator {
-
- /**
- * This is a unique identifier that contributors should use to specify the generic type that
- * should be associated with archives. Example: com.yourcompany.j2ee.extension.customModule
- *
- * @return
- */
- public String getTypeKey();
-
- /**
- * If common archive should recognize file extensions other than the standard ones, e.g., .jar,
- * .zip, then these file extensions can be specified here.
- *
- * @return
- */
- public String[] getCustomFileExtensions();
-
- /**
- * Method that individual discriminators can implement to determine if an Archive is of a
- * particular type. Implementers should be sensitive to performance requirments. Usually simple
- * tests should be performed, such as:
- * <code>if (anArchive.containsFile("xxx.xml")<code>. The result will
- * be stored in the Archive's "types" attribute.
- * @param anArchive
- * @return
- */
- public boolean discriminate(Archive anArchive);
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/ModuleFile.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/ModuleFile.java
deleted file mode 100644
index 5704b827b..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/ModuleFile.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal;
-
-
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DeploymentDescriptorLoadException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.ResourceLoadException;
-
-/**
- * @generated
- */
-public interface ModuleFile extends Archive {
-
- public Resource getDeploymentDescriptorResource() throws java.io.FileNotFoundException, ResourceLoadException;
-
- public String getDeploymentDescriptorUri();
-
- /**
- * Return the container for this archive casted to EARFile; null if this file is not contained
- * in an EARFile
- */
- public EARFile getEARFile();
-
- /**
- * Insert the method's description here. Creation date: (11/29/00 6:35:08 PM)
- *
- * @return com.ibm.etools.archive.ExportStrategy
- */
- public org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ExportStrategy getExportStrategy();
-
- /**
- * Insert the method's description here. Creation date: (11/29/00 6:35:08 PM)
- *
- * @return com.ibm.etools.archive.ImportStrategy
- */
- public org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.ImportStrategy getImportStrategy();
-
- /**
- * Returns the specification version of the module file. For example, "2.0"
- *
- * @deprecated, Use getDeploymentDescriptorResource().getModuleVersionID();
- */
- public String getSpecVersion();
-
- /**
- * Return the version ID of the module For example, "20"
- *
- * @return int
- */
- public int getSpecVersionID();
-
- EObject getStandardDeploymentDescriptor() throws DeploymentDescriptorLoadException;
-
- /**
- * Answers whether the deployment descriptor is null; used for copy, to determine whether the
- * import strategy needs to be copied or not
- */
- public boolean isDeploymentDescriptorSet();
-
- public Resource makeDeploymentDescriptorResource();
-
- /**
- * Insert the method's description here. Creation date: (11/29/00 6:35:08 PM)
- *
- * @param newExportStrategy
- * com.ibm.etools.archive.ExportStrategy
- */
- public void setExportStrategy(org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ExportStrategy newExportStrategy);
-
- /**
- * Insert the method's description here. Creation date: (11/29/00 6:35:08 PM)
- *
- * @param newImportStrategy
- * com.ibm.etools.archive.ImportStrategy
- */
- public void setImportStrategy(org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.ImportStrategy newImportStrategy);
-
- /**
- * Sets the J2EE version for this archive
- *
- * @see org.eclipse.jst.j2ee.internal.J2EEVersionConstants
- */
- public void setJ2EEVersion(int versionID);
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/ModuleRef.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/ModuleRef.java
deleted file mode 100644
index 65678da1f..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/ModuleRef.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal;
-
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.jst.j2ee.application.Module;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.ArchiveWrappedException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DuplicateObjectException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.ResourceLoadException;
-
-
-public interface ModuleRef extends EObject {
-
- /**
- * Return the parsed local deployment descriptor from the ModuleFile
- */
- EObject getStandardDeploymentDescriptor();
-
- /**
- * Return the parsed alt dd, if it exists, from the EAR file containing this module
- */
- EObject getAltDeploymentDescriptor() throws ArchiveWrappedException;
-
- /**
- * Return an alt dd if it exists, otherwise the local dd
- */
- EObject getDeploymentDescriptor() throws ArchiveWrappedException;
-
-
- /**
- * Gets the uri from the {@link Module}referenced by this ref; if there is no module, (eg. a
- * standalone JAR), gets the uri from the {@link ModuleFile}. Assumption: The uri of the
- * {@link Module}and {@link ModuleFile}should stay in sync
- */
- String getUri();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The ModuleFile reference
- */
- ModuleFile getModuleFile();
-
- /**
- * Similar to {@link Archive#getMofResource(String)}, except that alt-dd indirection is
- * considered. If this module uses an alt-dd, then the uri will be prepended with the "alt-root"
- * and the resource will be loaded from the owning EAR file. In this case, all hrefs into and
- * out of this resource should be relative to the root of the EAR. The hrefs are taken care of
- * for free when the client uses {@link #makeAltDescriptorsAndResources()}. The alt root is
- * automatically generated when it does not exist.
- *
- * @see ModuleExtension#getAltRoot()
- */
- Resource getMofResource(String uri) throws FileNotFoundException, ResourceLoadException;
-
- public InputStream getAltResourceInputStream(String uri) throws IOException;
-
- public InputStream getLocalResourceInputStream(String uri) throws IOException;
-
- /**
- * Return an input stream from the resources path of either the ModuleFile, if the module does
- * not use alt-dd, or from the altRoot of the module, found in the resources path of the EAR
- *
- * @see LoadStrategy#getResourceInputStream(String)
- */
- public InputStream getResourceInputStream(String uri) throws IOException;
-
-
- /**
- * Retrieve a resource from the ModuleFile
- *
- * @see Archive#getMofResource(String)
- */
- Resource getLocalMofResource(String uri) throws FileNotFoundException, ResourceLoadException;
-
- /**
- * The uri will be prepended with the "alt-root" and the resource will be loaded from the owning
- * EAR file.
- */
- Resource getAltMofResource(String uri) throws FileNotFoundException, ResourceLoadException;
-
- /**
- * Create a new mof resource and add it to the resource set of the context of either the module
- * file if this ModuleRef is not an alt, or to the EAR file if it is an alt. If this module is
- * uses an alt-dd, then the uri will be prepended with the "alt-root" The alt root is
- * automatically generated when it does not exist.
- *
- * @throws DuplicateObjectException
- * if a resource already exists in this archive having the uri
- */
- Resource makeMofResource(String uri) throws DuplicateObjectException;
-
- Resource makeLocalMofResource(String uri) throws DuplicateObjectException;
-
- Resource makeAltMofResource(String uri) throws DuplicateObjectException;
-
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param l
- * The new value of the ModuleFile reference
- */
- void setModuleFile(ModuleFile value);
-
- /**
- * Rename this module; both its ModuleFile and Module element from the Application deployment
- * descriptor.
- */
- public void setURI(String uri);
-
- boolean isEJB();
-
- boolean isWeb();
-
- boolean isClient();
-
- boolean isConnector();
-
- boolean usesAltDD();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The EarFile reference
- */
- EARFile getEarFile();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param l
- * The new value of the EarFile reference
- */
- void setEarFile(EARFile value);
-
- /**
- * Returns the value of the '<em><b>Module</b></em>' reference. <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Module</em>' reference isn't clear, there really should be
- * more of a description here...
- * </p>
- * <!-- end-user-doc -->
- *
- * @return the value of the '<em>Module</em>' reference.
- * @see #setModule(Module)
- * @see org.eclipse.jst.j2ee.internal.commonarchivecore.CommonarchivePackage#getModuleRef_Module()
- * @model required="true"
- * @generated
- */
- Module getModule();
-
- /**
- * Sets the value of the '
- * {@link org.eclipse.jst.j2ee.internal.commonarchivecore.ModuleRef#getModule <em>Module</em>}'
- * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @param value
- * the new value of the '<em>Module</em>' reference.
- * @see #getModule()
- * @generated
- */
- void setModule(Module value);
-
-} //ModuleRef
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/RARFile.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/RARFile.java
deleted file mode 100644
index 22a3e5f9d..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/RARFile.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal;
-
-
-
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.SaveFailureException;
-import org.eclipse.jst.j2ee.jca.Connector;
-
-
-/**
- * @generated
- */
-public interface RARFile extends ModuleFile {
-
- /**
- * Returns the value of the '<em><b>Deployment Descriptor</b></em>' reference. <!--
- * begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Deployment Descriptor</em>' reference list isn't clear, there
- * really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- *
- * @return the value of the '<em>Deployment Descriptor</em>' reference.
- * @see #setDeploymentDescriptor(Connector)
- * @see org.eclipse.jst.j2ee.internal.commonarchivecore.CommonarchivePackage#getRARFile_DeploymentDescriptor()
- * @model required="true"
- * @generated
- */
- Connector getDeploymentDescriptor();
-
- /**
- * Sets the value of the '
- * {@link org.eclipse.jst.j2ee.internal.commonarchivecore.RARFile#getDeploymentDescriptor <em>Deployment Descriptor</em>}'
- * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @param value
- * the new value of the '<em>Deployment Descriptor</em>' reference.
- * @see #getDeploymentDescriptor()
- * @generated
- */
- void setDeploymentDescriptor(Connector value);
-
- /**
- * Extracts the RAR file to the specified directory. This method should be used for expanding
- * the RAR file if it is a standalone RAR. If the RAR file is packaged as part of an EAR, this
- * method should not be used. Instead, the expandTo() of the EAR should be used expand the
- * contents of the ear and the nested RAR relative to the EAR's directory (similar to WAR's).
- * Creation date: (2/6/2001 7:44:41 PM)
- *
- * @param dir
- * java.lang.String
- * @param expandFlags
- * int
- */
- void extractToConnectorDirectory(String dir, int expandFlags) throws SaveFailureException;
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/ReadOnlyDirectory.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/ReadOnlyDirectory.java
deleted file mode 100644
index 83ef763a1..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/ReadOnlyDirectory.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal;
-
-
-
-import java.util.List;
-
-/**
- * @generated
- */
-public interface ReadOnlyDirectory extends Container {
-
- public boolean containsFileInSelfOrSubdirectory(String uri);
-
- public File getFileInSelfOrSubdirectory(String uri) throws java.io.FileNotFoundException;
-
- /**
- * Returns a flat list of all the files contained in this directory and subdirectories, with the
- * directories filtered out, as the list would appear in an archive
- */
- public List getFilesRecursive();
-
- /**
- * Return a filtered list on the files with just the instances of ReadOnlyDirectory
- */
- public List getReadOnlyDirectories();
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/RepairArchiveCommand.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/RepairArchiveCommand.java
deleted file mode 100644
index d7cfe2d19..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/RepairArchiveCommand.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal;
-
-
-
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.emf.common.command.AbstractCommand;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveConstants;
-import org.eclipse.jst.j2ee.internal.J2EEConstants;
-
-
-/**
- * Insert the type's description here. Creation date: (02/27/01 2:20:44 PM)
- *
- * @author: Administrator
- */
-public class RepairArchiveCommand extends AbstractCommand {
- protected Archive archive;
- protected static Map directoryNames;
-
- /**
- * RepairMetaInfCommand constructor comment.
- *
- * @param label
- * java.lang.String
- * @param description
- * java.lang.String
- */
- public RepairArchiveCommand(Archive anArchive) {
- super("Repair Archive", CommonArchiveResourceHandler.getString("Repairs_all_entries_in_the")); //$NON-NLS-2$ = "Repairs all entries in the META-INF and/or WEB-INF directories to be the correct case"//$NON-NLS-1$
- archive = anArchive;
- //Ensure Initiailization
- getDirectoryNames();
- }
-
- /**
- * @see com.ibm.etools.common.command.Command
- */
- public void execute() {
- List files = archive.getFiles();
- for (int i = 0; i < files.size(); i++) {
- File aFile = (File) files.get(i);
- if (aFile.isArchive()) {
- new RepairArchiveCommand((Archive) aFile).execute();
- } else {
- String upperUri = aFile.getURI().toUpperCase();
- Iterator keysAndValues = directoryNames.entrySet().iterator();
- while (keysAndValues.hasNext()) {
- String uri = aFile.getURI();
- Map.Entry entry = (Map.Entry) keysAndValues.next();
- String key = (String) entry.getKey();
- String value = (String) entry.getValue();
- if (upperUri.startsWith(key) && !uri.startsWith(value)) {
- String tail = uri.substring(key.length());
- aFile.setURI(value.concat(tail));
- break;
- }
- }
- }
- }
- }
-
- /**
- * Insert the method's description here. Creation date: (03/14/01 5:55:14 PM)
- *
- * @return java.util.Set
- */
- protected static java.util.Map getDirectoryNames() {
- if (directoryNames == null) {
- directoryNames = new HashMap(6);
- directoryNames.put(J2EEConstants.META_INF.toUpperCase(), J2EEConstants.META_INF);
- directoryNames.put(J2EEConstants.WEB_INF.toUpperCase(), J2EEConstants.WEB_INF);
- directoryNames.put(ArchiveConstants.WEBAPP_LIB_URI.toUpperCase(), ArchiveConstants.WEBAPP_LIB_URI);
- directoryNames.put(ArchiveConstants.WEBAPP_CLASSES_URI.toUpperCase(), ArchiveConstants.WEBAPP_CLASSES_URI);
- }
- return directoryNames;
- }
-
- public Collection getResult() {
- return Arrays.asList(new Object[]{archive});
- }
-
- /**
- * Insert the method's description here. Creation date: (03/14/01 6:46:16 PM)
- *
- * @param args
- * java.lang.String[]
- */
- public static void main(String[] args) {
- if (!validateArgs(args))
- return;
- try {
- Archive anArchive = CommonArchiveFactoryRegistry.INSTANCE.getCommonArchiveFactory().primOpenArchive(args[0]);
- new RepairArchiveCommand(anArchive).execute();
- anArchive.saveAs(args[1]);
- } catch (Exception ex) {
- System.out.println(CommonArchiveResourceHandler.getString("Repair_command_failed_-_ex_EXC_")); //$NON-NLS-1$ = "Repair command failed - exception stack trace:"
- ex.printStackTrace();
- }
- }
-
- protected boolean prepare() {
- return true;
- }
-
- /**
- * @see com.ibm.etools.common.command.Command
- */
- public void redo() {
- //Default
- }
-
- protected static boolean validateArgs(String[] args) {
- if (!(args.length == 2)) {
- org.eclipse.jem.util.logger.proxy.Logger.getLogger().logError(CommonArchiveResourceHandler.getString("RepairArchiveCommand_usage")); //$NON-NLS-1$ = "RepairArchiveCommand usage: <sourceJarFilePath> <destinationPath>"
- return false;
- }
- java.io.File file = new java.io.File(args[0]);
- boolean isZip = false;
- java.util.zip.ZipFile zip = null;
- try {
- zip = new java.util.zip.ZipFile(file);
- isZip = true;
- } catch (java.io.IOException ex) {
- isZip = false;
- } finally {
- if (zip != null)
- try {
- zip.close();
- } catch (java.io.IOException ex) {
- //Ignore
- }
- }
- if (!isZip && !file.isDirectory()) {
- System.out.println(CommonArchiveResourceHandler.getString("RepairArchiveCommand_usage1_ERROR_")); //$NON-NLS-1$ = "RepairArchiveCommand usage: sourceJarFilePath must point to a valid archive or directory of an inflated archive"
- return false;
- }
- if (new java.io.File(args[1]).canWrite()) {
- System.out.println(CommonArchiveResourceHandler.getString("repair_usage_ERROR_", (new Object[]{args[1]}))); //$NON-NLS-1$ = "RepairArchiveCommand usage: cannot write to destinationPath "
- return false;
- }
- return true;
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/ValidateXmlCommand.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/ValidateXmlCommand.java
deleted file mode 100644
index cb6bfb2b8..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/ValidateXmlCommand.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal;
-
-
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.command.AbstractCommand;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.jst.j2ee.internal.xml.CollectingErrorHandler;
-import org.eclipse.jst.j2ee.internal.xml.XmlDocumentReader;
-import org.xml.sax.InputSource;
-
-/**
- * Insert the type's description here. Creation date: (03/19/01 10:04:08 AM)
- *
- * @author: Administrator
- */
-public class ValidateXmlCommand extends AbstractCommand {
- protected List results;
- protected ModuleFile archive;
- public boolean validateNested = true;
-
- /**
- * ValidateXmlCommand constructor comment.
- */
- protected ValidateXmlCommand() {
- super();
- }
-
- /**
- * ValidateXmlCommand constructor comment.
- *
- * @param label
- * java.lang.String
- * @param description
- * java.lang.String
- */
- public ValidateXmlCommand(ModuleFile m) {
- super();
- archive = m;
- }
-
- /**
- * ValidateXmlCommand constructor comment.
- *
- * @param label
- * java.lang.String
- */
- protected ValidateXmlCommand(String label) {
- super(label);
- }
-
- /**
- * ValidateXmlCommand constructor comment.
- *
- * @param label
- * java.lang.String
- * @param description
- * java.lang.String
- */
- protected ValidateXmlCommand(String label, String description) {
- super(label, description);
- }
-
- /**
- * @see Command
- */
- public void execute() {
- results = new ArrayList();
- validatateXml();
- if (isValidateNested()) {
- List archives = archive.getArchiveFiles();
- for (int i = 0; i < archives.size(); i++) {
- Archive a = (Archive) archives.get(i);
- if (!a.isModuleFile())
- continue;
- ModuleFile m = (ModuleFile) a;
- ValidateXmlCommand cmd = new ValidateXmlCommand(m);
- cmd.execute();
- results.addAll(cmd.getResult());
- }
- }
- }
-
- /**
- * @return List of XmlValidationResult; 1 for the archive, and one for each nested module file
- */
- public Collection getResult() {
- return results;
- }
-
- /**
- * Insert the method's description here. Creation date: (10/22/2001 1:06:52 PM)
- *
- * @return boolean
- */
- public boolean isValidateNested() {
- return validateNested;
- }
-
- protected boolean prepare() {
- return true;
- }
-
- /**
- * @see Command
- */
- public void redo() {
- //Default
- }
-
- /**
- * Insert the method's description here. Creation date: (10/22/2001 1:06:52 PM)
- *
- * @param newValidateNested
- * boolean
- */
- public void setValidateNested(boolean newValidateNested) {
- validateNested = newValidateNested;
- }
-
- protected void validatateXml() {
- ByteArrayOutputStream bos = new ByteArrayOutputStream();
- Resource res = archive.getStandardDeploymentDescriptor().eResource();
- XmlValidationResult result = new XmlValidationResult();
- result.setArchive(archive);
- try {
- res.save(bos, new java.util.HashMap());
- } catch (Exception ex) {
- throw new org.eclipse.jst.j2ee.commonarchivecore.internal.exception.ArchiveRuntimeException(ex);
- }
- ByteArrayInputStream inStream = new ByteArrayInputStream(bos.toByteArray());
- InputSource source = new InputSource(inStream);
- CollectingErrorHandler handler = new CollectingErrorHandler();
- XmlDocumentReader parseAdapter = new XmlDocumentReader(source, null, handler);
-
- // the following try/catch clause is added to handle the case
- // when SAX parser throws a fatal exception (type SAXException)
- // for unmatching end tag that results in a RuntimeException to
- // be thrown. Need to catch it so we can get the parser exceptions
- // and display them to the user.
- try {
- parseAdapter.parseDocument();
- } catch (RuntimeException re) {
-
- if (handler.getCaughtExceptions() != null) {
- result.setArchive(archive);
- result.setCaughtExceptions(handler.getCaughtExceptions());
- results.add(result);
- }
-
- throw re;
- }
-
- result.setArchive(archive);
- result.setCaughtExceptions(handler.getCaughtExceptions());
- results.add(result);
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/WARFile.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/WARFile.java
deleted file mode 100644
index cd3df3232..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/WARFile.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal;
-
-
-
-import java.util.List;
-
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DeploymentDescriptorLoadException;
-import org.eclipse.jst.j2ee.webapplication.WebApp;
-
-
-/**
- * @generated
- */
-public interface WARFile extends ModuleFile {
-
- /**
- * Copy the file, and swizzle the file uri if necessary by prepending the classes directory
- *
- * @throws DuplicateObjectException
- * of a file with the modified uri already exists in the archive
- *
- * @throws IllegalArgumentException
- * if the parameter is a ReadOnlyDirectory
- */
- public File addCopyClass(File aFile) throws org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DuplicateObjectException;
-
- /**
- * Copy the file, and swizzle the file uri if necessary by prepending the libs directory
- *
- * @throws DuplicateObjectException
- * of a file with the modified uri already exists in the archive
- *
- * @throws IllegalArgumentException
- * if the parameter is a ReadOnlyDirectory
- */
- public File addCopyLib(File aFile) throws org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DuplicateObjectException;
-
- /**
- * getClasses() - filter files to return the class files from \web-inf\classes
- */
- public List getClasses();
-
- /**
- * @throws DeploymentDescriptorLoadException -
- * is a runtime exception, because we can't override the signature of the generated
- * methods
- */
-
-
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The DeploymentDescriptor reference
- */
- WebApp getDeploymentDescriptor() throws DeploymentDescriptorLoadException;
-
- /**
- * Filter files to return the files from \we-inf\lib
- */
- public List getLibs();
-
- /**
- * Filter files to return the JARs and Zips from \we-inf\lib
- */
- public List getLibArchives();
-
- /**
- * getResources() - filter files to return the Web resources within the WAR (no
- * classes/libs/metadata)
- */
- public List getResources();
-
- /**
- * Return the source file that matches the output file passed in
- *
- * @param aClassFile
- * The .class file or other output file to find the source for
- * @return String The matching source. Null if there is no matching source found
- */
- public File getSourceFile(File aClassFile);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param l
- * The new value of the DeploymentDescriptor reference
- */
- void setDeploymentDescriptor(WebApp value);
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/WebModuleRef.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/WebModuleRef.java
deleted file mode 100644
index bd4a3d2ca..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/WebModuleRef.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal;
-
-
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.ArchiveWrappedException;
-import org.eclipse.jst.j2ee.webapplication.WebApp;
-
-
-public interface WebModuleRef extends ModuleRef {
- WebApp getWebApp() throws ArchiveWrappedException;
-
-} //WebModuleRef
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/XmlValidationResult.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/XmlValidationResult.java
deleted file mode 100644
index c55958531..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/XmlValidationResult.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal;
-
-
-
-import java.util.List;
-
-
-
-/**
- * Insert the type's description here. Creation date: (03/19/01 3:31:53 PM)
- *
- * @author: Administrator
- */
-public class XmlValidationResult {
- protected ModuleFile archive;
- protected List caughtExceptions;
-
- /**
- * XmlValidationResult constructor comment.
- */
- public XmlValidationResult() {
- super();
- }
-
- /**
- * Insert the method's description here. Creation date: (03/19/01 3:34:45 PM)
- *
- * @return com.ibm.etools.commonarchive.ModuleFile
- */
- public ModuleFile getArchive() {
- return archive;
- }
-
- /**
- * Insert the method's description here. Creation date: (03/19/01 3:34:45 PM)
- *
- * @return java.util.List
- */
- public java.util.List getCaughtExceptions() {
- return caughtExceptions;
- }
-
- /**
- * Insert the method's description here. Creation date: (03/19/01 3:34:45 PM)
- *
- * @param newArchive
- * com.ibm.etools.commonarchive.ModuleFile
- */
- public void setArchive(ModuleFile newArchive) {
- archive = newArchive;
- }
-
- /**
- * Insert the method's description here. Creation date: (03/19/01 3:34:45 PM)
- *
- * @param newCaughtExceptions
- * java.util.List
- */
- public void setCaughtExceptions(java.util.List newCaughtExceptions) {
- caughtExceptions = newCaughtExceptions;
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/ArchiveException.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/ArchiveException.java
deleted file mode 100644
index fc458b1dd..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/ArchiveException.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.exception;
-
-
-
-/**
- * Base exception class for non-runtime exceptions occurring with manipulation of archives
- */
-public class ArchiveException extends Exception {
- /**
- *
- */
- public ArchiveException() {
- super();
- }
-
- /**
- *
- */
- public ArchiveException(String s) {
- super(s);
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/ArchiveRuntimeException.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/ArchiveRuntimeException.java
deleted file mode 100644
index 8b8ae7827..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/ArchiveRuntimeException.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.exception;
-
-import org.eclipse.jst.j2ee.internal.IWrappedException;
-import org.eclipse.jst.j2ee.internal.WrappedRuntimeException;
-
-
-
-/**
- * Base exception class for runtime exceptions occurring with manipulation of archives; there are
- * some situations where we can only throw a runtime exception instead of a subtype of exception,
- * because the signatures of etools generated methods cannot be overridden to throw any exception
- * other than runtime.
- */
-public class ArchiveRuntimeException extends WrappedRuntimeException implements IWrappedException {
- /**
- * Constructor for ArchiveRuntimeException.
- */
- public ArchiveRuntimeException() {
- super();
- }
-
- /**
- * Constructor for ArchiveRuntimeException.
- *
- * @param e
- */
- public ArchiveRuntimeException(Exception e) {
- super(e);
- }
-
- /**
- * Constructor for ArchiveRuntimeException.
- *
- * @param s
- */
- public ArchiveRuntimeException(String s) {
- super(s);
- }
-
- /**
- * Constructor for ArchiveRuntimeException.
- *
- * @param s
- * @param e
- */
- public ArchiveRuntimeException(String s, Exception e) {
- super(s, e);
- }
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/ArchiveWrappedException.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/ArchiveWrappedException.java
deleted file mode 100644
index dc7fbe29d..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/ArchiveWrappedException.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.exception;
-
-import org.eclipse.jst.j2ee.internal.IWrappedException;
-import org.eclipse.jst.j2ee.internal.WrappedException;
-
-
-
-/**
- * Base exception class for non-runtime exceptions occurring with manipulation of archives, where a
- * caught exception causes this exception to be thrown
- */
-public class ArchiveWrappedException extends WrappedException implements IWrappedException {
- /**
- * Constructor for ArchiveWrappedException.
- */
- public ArchiveWrappedException() {
- super();
- }
-
- /**
- * Constructor for ArchiveWrappedException.
- *
- * @param e
- */
- public ArchiveWrappedException(Exception e) {
- super(e);
- }
-
- /**
- * Constructor for ArchiveWrappedException.
- *
- * @param s
- */
- public ArchiveWrappedException(String s) {
- super(s);
- }
-
- /**
- * Constructor for ArchiveWrappedException.
- *
- * @param s
- * @param e
- */
- public ArchiveWrappedException(String s, Exception e) {
- super(s, e);
- }
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/DeploymentDescriptorLoadException.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/DeploymentDescriptorLoadException.java
deleted file mode 100644
index 19025f8b9..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/DeploymentDescriptorLoadException.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.exception;
-
-
-
-/**
- * Exception which can occur if an error/exception occurs while loading a deployment descriptor
- */
-public class DeploymentDescriptorLoadException extends ArchiveRuntimeException {
- /**
- * ResourceLoadException constructor comment.
- */
- public DeploymentDescriptorLoadException() {
- super();
- }
-
- /**
- * ResourceLoadException constructor comment.
- *
- * @param e
- * java.lang.Exception
- */
- public DeploymentDescriptorLoadException(Exception e) {
- super(e);
- }
-
- /**
- * ResourceLoadException constructor comment.
- *
- * @param s
- * java.lang.String
- */
- public DeploymentDescriptorLoadException(String s) {
- super(s);
- }
-
- /**
- * ResourceLoadException constructor comment.
- *
- * @param s
- * java.lang.String
- * @param e
- * java.lang.Exception
- */
- public DeploymentDescriptorLoadException(String s, Exception e) {
- super(s, e);
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/DuplicateObjectException.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/DuplicateObjectException.java
deleted file mode 100644
index 5d0ea62bd..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/DuplicateObjectException.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.exception;
-
-
-
-/**
- * Exception which can occur when an attemp is made to add to a list an object equaling, or having
- * the same name, id, etc, as another object in the list.
- */
-public class DuplicateObjectException extends ArchiveException {
- protected Object duplicate;
-
- /**
- * DuplicateObjectException constructor comment.
- */
- public DuplicateObjectException() {
- super();
- }
-
- /**
- * DuplicateObjectException constructor comment.
- *
- * @param s
- * java.lang.String
- */
- public DuplicateObjectException(String s) {
- super(s);
- }
-
- /**
- * DuplicateObjectException constructor comment.
- *
- * @param s
- * java.lang.String
- */
- public DuplicateObjectException(String s, Object o) {
- super(s);
- setDuplicate(o);
- }
-
- /**
- * Insert the method's description here. Creation date: (04/16/01 9:43:00 AM)
- *
- * @return java.lang.Object
- */
- public java.lang.Object getDuplicate() {
- return duplicate;
- }
-
- /**
- * Insert the method's description here. Creation date: (04/16/01 9:43:00 AM)
- *
- * @param newDuplicate
- * java.lang.Object
- */
- protected void setDuplicate(java.lang.Object newDuplicate) {
- duplicate = newDuplicate;
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/EmptyResourceException.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/EmptyResourceException.java
deleted file mode 100644
index a3c223ad7..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/EmptyResourceException.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.exception;
-
-
-
-/**
- * Exception which occurs when a mof resource's extent contains zero elements and an attempt is made
- * to access an elememt from the resource.
- */
-public class EmptyResourceException extends ArchiveException {
- /**
- * EmptyResourceException constructor comment.
- */
- public EmptyResourceException() {
- super();
- }
-
- /**
- * EmptyResourceException constructor comment.
- *
- * @param s
- * java.lang.String
- */
- public EmptyResourceException(String s) {
- super(s);
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/IArchiveWrappedException.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/IArchiveWrappedException.java
deleted file mode 100644
index a89b2082e..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/IArchiveWrappedException.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.exception;
-
-
-import org.eclipse.jst.j2ee.internal.IWrappedException;
-
-/**
- * @deprecated
- * @see org.eclipse.jst.j2ee.internal.exception.IWrappedException
- */
-public interface IArchiveWrappedException extends IWrappedException {
- //Default
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/ManifestException.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/ManifestException.java
deleted file mode 100644
index 3eaad7323..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/ManifestException.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.exception;
-
-
-public class ManifestException extends ArchiveRuntimeException {
-
- /**
- * Constructor for ManifestException.
- */
- public ManifestException() {
- super();
- }
-
- /**
- * Constructor for ManifestException.
- *
- * @param e
- */
- public ManifestException(Exception e) {
- super(e);
- }
-
- /**
- * Constructor for ManifestException.
- *
- * @param s
- */
- public ManifestException(String s) {
- super(s);
- }
-
- /**
- * Constructor for ManifestException.
- *
- * @param s
- * @param e
- */
- public ManifestException(String s, Exception e) {
- super(s, e);
- }
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/NestedJarException.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/NestedJarException.java
deleted file mode 100644
index a2a7e3e05..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/NestedJarException.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.exception;
-
-
-
-/**
- * Runtime exception thrown when an error occurs reading a jar within a jar
- */
-public class NestedJarException extends ArchiveRuntimeException {
-
- public NestedJarException() {
- super();
- }
-
- public NestedJarException(Exception e) {
- super(e);
- }
-
- public NestedJarException(String s, Exception e) {
- super(s, e);
- }
-
- public NestedJarException(String s) {
- super(s);
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/NoEJB10DescriptorsException.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/NoEJB10DescriptorsException.java
deleted file mode 100644
index 3b062c942..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/NoEJB10DescriptorsException.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.exception;
-
-
-
-/**
- * Insert the type's description here. Creation date: (06/05/01 7:31:27 PM)
- *
- * @author: Administrator
- */
-public class NoEJB10DescriptorsException extends RuntimeException {
- /**
- * NoEJB10DescriptorsException constructor comment.
- */
- public NoEJB10DescriptorsException() {
- super();
- }
-
- /**
- * NoEJB10DescriptorsException constructor comment.
- *
- * @param s
- * java.lang.String
- */
- public NoEJB10DescriptorsException(String s) {
- super(s);
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/NoModuleElementException.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/NoModuleElementException.java
deleted file mode 100644
index 3351aa655..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/NoModuleElementException.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.exception;
-
-
-
-/**
- * @deprecated No Longer used; check for null instead Exception which occurs if an attempt is made
- * to access a non-existent module dd element from an ear file
- */
-public class NoModuleElementException extends ArchiveException {
- /**
- * NoModuleElementException constructor comment.
- */
- public NoModuleElementException() {
- super();
- }
-
- /**
- * NoModuleElementException constructor comment.
- *
- * @param s
- * java.lang.String
- */
- public NoModuleElementException(String s) {
- super(s);
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/NoModuleFileException.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/NoModuleFileException.java
deleted file mode 100644
index 76586b46d..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/NoModuleFileException.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.exception;
-
-
-public class NoModuleFileException extends ArchiveRuntimeException {
-
- /**
- * Constructor for NoModuleFileException.
- */
- public NoModuleFileException() {
- super();
- }
-
- /**
- * Constructor for NoModuleFileException.
- *
- * @param e
- */
- public NoModuleFileException(Exception e) {
- super(e);
- }
-
- /**
- * Constructor for NoModuleFileException.
- *
- * @param s
- */
- public NoModuleFileException(String s) {
- super(s);
- }
-
- /**
- * Constructor for NoModuleFileException.
- *
- * @param s
- * @param e
- */
- public NoModuleFileException(String s, Exception e) {
- super(s, e);
- }
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/NotADeploymentDescriptorException.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/NotADeploymentDescriptorException.java
deleted file mode 100644
index 5f9d32a2c..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/NotADeploymentDescriptorException.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.exception;
-
-
-
-/**
- * Insert the type's description here. Creation date: (06/06/01 9:26:43 AM)
- *
- * @author: Administrator
- */
-public class NotADeploymentDescriptorException extends Exception {
- /**
- * NotADeploymentDescriptorException constructor comment.
- */
- public NotADeploymentDescriptorException() {
- super();
- }
-
- /**
- * NotADeploymentDescriptorException constructor comment.
- *
- * @param s
- * java.lang.String
- */
- public NotADeploymentDescriptorException(String s) {
- super(s);
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/NotSupportedException.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/NotSupportedException.java
deleted file mode 100644
index 74334854f..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/NotSupportedException.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.exception;
-
-
-
-public class NotSupportedException extends ArchiveWrappedException {
- /**
- * NotSupportedException constructor comment.
- */
- public NotSupportedException() {
- super();
- }
-
- /**
- * NotSupportedException constructor comment.
- *
- * @param e
- * java.lang.Exception
- */
- public NotSupportedException(Exception e) {
- super(e);
- }
-
- /**
- * NotSupportedException constructor comment.
- *
- * @param s
- * java.lang.String
- */
- public NotSupportedException(String s) {
- super(s);
- }
-
- /**
- * NotSupportedException constructor comment.
- *
- * @param s
- * java.lang.String
- * @param e
- * java.lang.Exception
- */
- public NotSupportedException(String s, Exception e) {
- super(s, e);
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/ObjectNotFoundException.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/ObjectNotFoundException.java
deleted file mode 100644
index 52a8170a4..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/ObjectNotFoundException.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.exception;
-
-
-
-/**
- * Insert the type's description here. Creation date: (02/08/01 8:33:51 PM)
- *
- * @author: Administrator
- */
-public class ObjectNotFoundException extends ArchiveException {
- /**
- * ObjectNotFoundException constructor comment.
- */
- public ObjectNotFoundException() {
- super();
- }
-
- /**
- * ObjectNotFoundException constructor comment.
- *
- * @param s
- * java.lang.String
- */
- public ObjectNotFoundException(String s) {
- super(s);
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/OpenFailureException.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/OpenFailureException.java
deleted file mode 100644
index 90b29d8ef..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/OpenFailureException.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.exception;
-
-
-
-/**
- * Exception which occurs while opening an archive; could occur for a variety of reasons, eg, io
- * failure, deployment descriptor errors, etc. Check the nested exception for more info.
- */
-public class OpenFailureException extends ArchiveWrappedException {
- /**
- * OpenFailureException constructor comment.
- */
- public OpenFailureException() {
- super();
- }
-
- /**
- * OpenFailureException constructor comment.
- *
- * @param e
- * java.lang.Exception
- */
- public OpenFailureException(Exception e) {
- super(e);
- }
-
- /**
- * OpenFailureException constructor comment.
- *
- * @param s
- * java.lang.String
- */
- public OpenFailureException(String s) {
- super(s);
- }
-
- /**
- * OpenFailureException constructor comment.
- *
- * @param s
- * java.lang.String
- * @param e
- * java.lang.Exception
- */
- public OpenFailureException(String s, Exception e) {
- super(s, e);
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/ReopenException.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/ReopenException.java
deleted file mode 100644
index 566c7889e..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/ReopenException.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.exception;
-
-
-
-/**
- * Exception which can be thrown as a result of an IO exception which may occur while "re-syncing"
- * an archive after it has been saved. For example, if 10 files are copied from Archive A to Archive
- * B, then archive b is saved, its contents will be loaded from a new source, the newly saved jar
- * file. Therefore, the archive will be reopened after saving, which could result in an IOException.
- */
-public class ReopenException extends ArchiveWrappedException {
- /**
- * ReopenException constructor comment.
- */
- public ReopenException() {
- super();
- }
-
- /**
- * ReopenException constructor comment.
- *
- * @param e
- * java.lang.Exception
- */
- public ReopenException(Exception e) {
- super(e);
- }
-
- /**
- * ReopenException constructor comment.
- *
- * @param s
- * java.lang.String
- */
- public ReopenException(String s) {
- super(s);
- }
-
- /**
- * ReopenException constructor comment.
- *
- * @param s
- * java.lang.String
- * @param e
- * java.lang.Exception
- */
- public ReopenException(String s, Exception e) {
- super(s, e);
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/ResourceLoadException.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/ResourceLoadException.java
deleted file mode 100644
index 8e58df5b4..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/ResourceLoadException.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.exception;
-
-
-
-/**
- * Exception thrown if in exception other than java.io.FileNotFoundException is caught while
- * attempting to load a mof resource.
- */
-public class ResourceLoadException extends ArchiveRuntimeException {
- /**
- * ResourceLoadException constructor comment.
- */
- public ResourceLoadException() {
- super();
- }
-
- /**
- * ResourceLoadException constructor comment.
- *
- * @param e
- * java.lang.Exception
- */
- public ResourceLoadException(Exception e) {
- super(e);
- }
-
- /**
- * ResourceLoadException constructor comment.
- *
- * @param s
- * java.lang.String
- */
- public ResourceLoadException(String s) {
- super(s);
- }
-
- /**
- * ResourceLoadException constructor comment.
- *
- * @param s
- * java.lang.String
- * @param e
- * java.lang.Exception
- */
- public ResourceLoadException(String s, Exception e) {
- super(s, e);
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/SaveFailureException.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/SaveFailureException.java
deleted file mode 100644
index 860565eb9..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/SaveFailureException.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.exception;
-
-
-
-/**
- * Exception which occurs while saving an archive; could occur for a variety of reasons, eg, io
- * failure, etc. Check the nested exception for more info.
- */
-public class SaveFailureException extends ArchiveWrappedException {
- /**
- * SaveFailureException constructor comment.
- */
- public SaveFailureException() {
- super();
- }
-
- /**
- * SaveFailureException constructor comment.
- *
- * @param s
- * java.lang.String
- */
- public SaveFailureException(Exception e) {
- super(e);
- }
-
- /**
- * SaveFailureException constructor comment.
- *
- * @param s
- * java.lang.String
- */
- public SaveFailureException(String s) {
- super(s);
- }
-
- /**
- * SaveFailureException constructor comment.
- *
- * @param s
- * java.lang.String
- */
- public SaveFailureException(String s, Exception e) {
- super(s, e);
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/SubclassResponsibilityException.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/SubclassResponsibilityException.java
deleted file mode 100644
index a9e9e5c6e..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/SubclassResponsibilityException.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.exception;
-
-
-
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonArchiveResourceHandler;
-
-/**
- * Runtime exception used as a way to enforce abstract behavior without declaring the methods
- * abstract. Necessary because impl classes in the etools generated hierarchy cannot be abstract if
- * they have subtypes.
- */
-public class SubclassResponsibilityException extends ArchiveRuntimeException {
- /**
- * SubclassResponsibilityException constructor comment.
- */
- public SubclassResponsibilityException() {
- super();
- }
-
- /**
- * SubclassResponsibilityException constructor comment.
- *
- * @param s
- * java.lang.String
- */
- public SubclassResponsibilityException(String methodName) {
- super(CommonArchiveResourceHandler.getString("subclass_responsibilty_EXC_", (new Object[]{methodName}))); //$NON-NLS-1$ = " must be implemented in subclass"
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/UncontainedModuleFileException.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/UncontainedModuleFileException.java
deleted file mode 100644
index 5f69ebeb5..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/exception/UncontainedModuleFileException.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.exception;
-
-
-/**
- * @deprecated Exception no longer thrown; check for null instead. Exception which may be thrown
- * whenever a {@link ModuleFile}is expected to be contained within an ear file but it
- * is not
- */
-public class UncontainedModuleFileException extends ArchiveRuntimeException {
- /**
- * UncontainedModuleException constructor comment.
- */
- public UncontainedModuleFileException() {
- super();
- }
-
- /**
- * UncontainedModuleException constructor comment.
- *
- * @param s
- * java.lang.String
- */
- public UncontainedModuleFileException(String s) {
- super(s);
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/ArchiveConstants.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/ArchiveConstants.java
deleted file mode 100644
index 47418eeb1..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/ArchiveConstants.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.helpers;
-
-import org.eclipse.jst.j2ee.internal.J2EEConstants;
-
-
-
-/**
- * This is a catalog of useful constants for the archive support. Can be used to store relative
- * paths to specific xml and xmi resources.
- */
-public interface ArchiveConstants extends J2EEConstants {
- //Standard Jar info
- /** "com" */
- String RAR_CLASSES_URI = "com"; //$NON-NLS-1$
-
- /**
- * Relative path in a war file with no leading slash "WEB-INF/lib/"
- */
- String WEBAPP_LIB_URI = "WEB-INF/lib/"; //$NON-NLS-1$
-
- /**
- * Relative path in a war file with no leading slash "WEB-INF/classes/"
- */
- String WEBAPP_CLASSES_URI = "WEB-INF/classes/"; //$NON-NLS-1$
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/ArchiveInit.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/ArchiveInit.java
deleted file mode 100644
index 17992efc0..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/ArchiveInit.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.helpers;
-
-
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseconfigPackage;
-import org.eclipse.jst.j2ee.internal.J2EEInit;
-import org.eclipse.wst.common.internal.emf.utilities.ExtendedEcoreUtil;
-
-
-/**
- * Initializer class to preregister packages
- */
-public class ArchiveInit {
- protected static boolean initialized = false;
- protected static boolean plugin_initialized = false;
-
- public static void init() {
- init(true);
- }
-
- public static void init(boolean shouldPreRegisterPackages) {
- if (!initialized) {
- initialized = true;
- invokePrereqInits(shouldPreRegisterPackages);
- if (shouldPreRegisterPackages)
- preRegisterPackages();
- }
- }
-
- private static void preRegisterPackages() {
- //CommonarchivePackage reg
- ExtendedEcoreUtil.preRegisterPackage("commonarchive.xmi", new EPackage.Descriptor() { //$NON-NLS-1$
- public EPackage getEPackage() {
- return CommonarchivePackage.eINSTANCE;
- }
- });
- ExtendedEcoreUtil.preRegisterPackage("commonarchive.looseconfig.xmi", new EPackage.Descriptor() { //$NON-NLS-1$
- public EPackage getEPackage() {
- return LooseconfigPackage.eINSTANCE;
- }
- });
- }
-
- public static void invokePrereqInits(boolean shouldPreRegisterPackages) {
- J2EEInit.init(shouldPreRegisterPackages);
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/ArchiveManifest.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/ArchiveManifest.java
deleted file mode 100644
index 207ebe5f6..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/ArchiveManifest.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.helpers;
-
-
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.Map;
-import java.util.jar.Attributes;
-
-/**
- * Contains the API of
- *
- * @link java.util.jar.Manifest, along with added helpers
- */
-public interface ArchiveManifest {
- /**
- * Creates a new manifest entry (attributes) for the given name
- */
- public void addEntry(String entryName);
-
- public void addEntry(String entryName, Attributes attr);
-
- /**
- * Adds the key/value pair to the attributes for the given entry name; if the entry does not
- * exist, creates a new attributes
- */
- public void addEntryAttribute(String entryName, String key, String value);
-
- /**
- * Defaults the version to "1.0" if not already set
- */
- public void addVersionIfNecessary();
-
- public void appendClassPath(String extension);
-
- /**
- * @see java.util.jar.Manifest#clear
- */
- public void clear();
-
- /**
- * @see java.util.jar.Manifest#getAttributes
- */
- public Attributes getAttributes(String name);
-
- public String getClassPath();
-
- public String[] getClassPathTokenized();
-
- /**
- * @see java.util.jar.Manifest#getEntries
- */
- public Map getEntries();
-
- public String getEntryAttribute(String entryName, String key);
-
- /**
- * @see java.util.jar.Manifest#getAttributes
- */
- public Attributes getMainAttributes();
-
- public String getMainClass();
-
- /**
- * Return the value iff the entry exists in a case-sensitive manner; manifest version is
- * required for the manifest to save correctly
- */
- public String getManifestVersion();
-
- /**
- * Add all the entries not already contained in the class path of this manifest
- */
- public void mergeClassPath(String[] classPathEntries);
-
- /**
- * @see java.util.jar.Manifest#read
- */
- public void read(InputStream is) throws IOException;
-
- public void removeEntry(String entryName);
-
- public void removeEntryAttribute(String entryName, Object key);
-
- public void setClassPath(String aSpaceDelimitedPath);
-
- public void setMainClass(String className);
-
- public void setManifestVersion(java.lang.String version);
-
- /**
- * @see java.util.jar.Manifest#write
- */
- public void write(OutputStream out) throws IOException;
-
- /**
- * Writes the Manifest to the specified OutputStream, splitting each classpath entry on a line
- * by itself.
- *
- * @param out
- * the output stream
- * @exception IOException
- * if an I/O error has occurred
- */
- public void writeSplittingClasspath(OutputStream out) throws IOException;
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/ArchiveManifestImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/ArchiveManifestImpl.java
deleted file mode 100644
index 75f2cdacb..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/ArchiveManifestImpl.java
+++ /dev/null
@@ -1,323 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.helpers;
-
-
-
-import java.io.DataOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.StringTokenizer;
-import java.util.jar.Attributes;
-
-import org.eclipse.jst.j2ee.commonarchivecore.internal.util.ArchiveUtil;
-
-
-/**
- * Helper class for manifest files
- */
-public class ArchiveManifestImpl extends java.util.jar.Manifest implements org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveManifest {
- /**
- * ArchiveManifest constructor comment.
- */
- public ArchiveManifestImpl() {
- super();
- }
-
- /**
- * ArchiveManifest constructor comment.
- *
- * @param is
- * java.io.InputStream
- * @throws java.io.IOException
- * The exception description.
- */
- public ArchiveManifestImpl(java.io.InputStream is) throws java.io.IOException {
- super(is);
- }
-
- /**
- * ArchiveManifest constructor comment.
- *
- * @param man
- * java.util.jar.Manifest
- */
- public ArchiveManifestImpl(java.util.jar.Manifest man) {
- super(man);
- }
-
- /**
- * Creates a new manifest entry (attributes) for the given name
- */
- public void addEntry(String entryName) {
- Attributes attr = new Attributes();
- addEntry(entryName, attr);
- }
-
- public void addEntry(String entryName, Attributes attr) {
- getEntries().put(entryName, attr);
- }
-
- /**
- * Adds the key/value pair to the attributes for the given entry name; if the entry does not
- * exist, creates a new attributes
- */
- public void addEntryAttribute(String entryName, String key, String value) {
- Attributes attr = getAttributes(entryName);
- if (attr == null)
- addEntry(entryName);
- attr = getAttributes(entryName);
- attr.putValue(key, value);
- }
-
- public void addVersionIfNecessary() {
- //This is a hack because of the fact that the manifest does not serialize correctly if
- //The version is not set. In addition to saves, the serialization is used for copy
- if (getManifestVersion() == null || getManifestVersion().equals(""))//$NON-NLS-1$
- setManifestVersion("1.0");//$NON-NLS-1$
- }
-
- /**
- * @see com.ibm.etools.archive.ArchiveManifest
- */
- public void appendClassPath(java.lang.String extension) {
- String classPath = getClassPath();
- if (classPath != null)
- setClassPath(classPath + " " + extension);//$NON-NLS-1$
- else
- setClassPath(extension);
- }
-
- /**
- * @see com.ibm.etools.archive.ArchiveManifest
- */
- public java.lang.String getClassPath() {
- return ArchiveUtil.getValueIgnoreKeyCase(Attributes.Name.CLASS_PATH.toString(), getMainAttributes());
- }
-
- /**
- * @see com.ibm.etools.archive.ArchiveManifest
- */
- public java.lang.String[] getClassPathTokenized() {
- String classPath = getClassPath();
- if (classPath == null)
- return new String[0];
- return org.eclipse.jst.j2ee.commonarchivecore.internal.util.ArchiveUtil.getTokens(classPath);
- }
-
- public String getEntryAttribute(String entryName, String key) {
- Attributes attr = getAttributes(entryName);
- if (attr == null)
- return null;
- return attr.getValue(key);
- }
-
- public String getMainClass() {
- return ArchiveUtil.getValueIgnoreKeyCase(Attributes.Name.MAIN_CLASS.toString(), getMainAttributes());
- }
-
- public String getManifestVersion() {
- return getMainAttributes().getValue(Attributes.Name.MANIFEST_VERSION);
- }
-
- /**
- * @see com.ibm.etools.archive.ArchiveManifest
- */
- public void mergeClassPath(java.lang.String[] classPathEntries) {
- StringBuffer sb = new StringBuffer();
- java.util.List existing = java.util.Arrays.asList(getClassPathTokenized());
- String cp = getClassPath();
- if (cp != null)
- sb.append(cp);
- boolean empty = cp == null || "".equals(cp); //$NON-NLS-1$
- for (int i = 0; i < classPathEntries.length; i++) {
- if (!existing.contains(classPathEntries[i])) {
- if (!empty)
- sb.append(" "); //$NON-NLS-1$
- else
- empty = false;
- sb.append(classPathEntries[i]);
- }
- }
- setClassPath(sb.toString());
- }
-
- public void removeEntry(String entryName) {
- getEntries().remove(entryName);
- }
-
- public void removeEntryAttribute(String entryName, Object key) {
- Attributes attr = getAttributes(entryName);
- if (attr != null)
- attr.remove(key);
- }
-
- /**
- * @see com.ibm.etools.archive.ArchiveManifest
- */
- public void setClassPath(java.lang.String aSpaceDelimitedPath) {
- Attributes attributes = getMainAttributes();
- if (aSpaceDelimitedPath == null)
- attributes.remove(Attributes.Name.CLASS_PATH);
- else
- attributes.putValue(Attributes.Name.CLASS_PATH.toString(), aSpaceDelimitedPath);
- }
-
- /**
- * @see com.ibm.etools.archive.ArchiveManifest
- */
- public void setMainClass(java.lang.String className) {
- Attributes attributes = getMainAttributes();
- if (className == null)
- attributes.remove(Attributes.Name.MAIN_CLASS);
- else
- attributes.putValue(Attributes.Name.MAIN_CLASS.toString(), className);
- }
-
- /**
- * @see com.ibm.etools.archive.ArchiveManifest
- */
- public void setManifestVersion(java.lang.String version) {
- Attributes attributes = getMainAttributes();
- attributes.putValue(Attributes.Name.MANIFEST_VERSION.toString(), version);
- }
-
- /**
- * Writes the Manifest to the specified OutputStream, splitting each classpath entry on a line
- * by itself.
- *
- * @param out
- * the output stream
- * @exception IOException
- * if an I/O error has occurred
- */
- public void writeSplittingClasspath(OutputStream out) throws IOException {
- DataOutputStream dos = new DataOutputStream(out);
- // Write out the main attributes for the manifest
- writeMainSplittingClasspath(getMainAttributes(), dos);
- // Now write out the pre-entry attributes
- Iterator it = getEntries().entrySet().iterator();
- while (it.hasNext()) {
- Map.Entry e = (Map.Entry) it.next();
- StringBuffer buffer = new StringBuffer("Name: "); //$NON-NLS-1$
- buffer.append((String) e.getKey());
- buffer.append("\r\n"); //$NON-NLS-1$
- localMake72Safe(buffer);
- dos.writeBytes(buffer.toString());
- write((Attributes) e.getValue(), dos);
- }
- dos.flush();
- }
-
- /*
- * Writes the current attributes to the specified data output stream. XXX Need to handle UTF8
- * values and break up lines longer than 72 bytes
- *
- * @see Attributes#write
- */
- protected void write(Attributes attributes, DataOutputStream os) throws IOException {
- Iterator it = attributes.entrySet().iterator();
- while (it.hasNext()) {
- Map.Entry e = (Map.Entry) it.next();
- StringBuffer buffer = new StringBuffer(((Attributes.Name) e.getKey()).toString());
- buffer.append(": "); //$NON-NLS-1$
- buffer.append((String) e.getValue());
- buffer.append("\r\n"); //$NON-NLS-1$
- localMake72Safe(buffer);
- os.writeBytes(buffer.toString());
- }
- os.writeBytes("\r\n"); //$NON-NLS-1$
- }
-
- /*
- * Writes the current attributes to the specified data output stream, make sure to write out the
- * MANIFEST_VERSION or SIGNATURE_VERSION attributes first.
- *
- * @see Attributes#writeMain
- */
- protected void writeMainSplittingClasspath(Attributes attributes, DataOutputStream out) throws IOException {
- // write out the *-Version header first, if it exists
- String vername = Attributes.Name.MANIFEST_VERSION.toString();
- String version = attributes.getValue(vername);
- if (version == null) {
- vername = Attributes.Name.SIGNATURE_VERSION.toString();
- version = attributes.getValue(vername);
- }
-
- if (version != null) {
- out.writeBytes(vername + ": " + version + "\r\n"); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- // write out all attributes except for the version
- // we wrote out earlier
- Iterator it = attributes.entrySet().iterator();
- while (it.hasNext()) {
- Map.Entry e = (Map.Entry) it.next();
- String name = ((Attributes.Name) e.getKey()).toString();
- if ((version != null) && !(name.equalsIgnoreCase(vername))) {
- if (name.equalsIgnoreCase(Attributes.Name.CLASS_PATH.toString())) {
- writeSplit(out, name, (String) e.getValue());
- continue;
- }
- StringBuffer buffer = new StringBuffer(name);
- buffer.append(": "); //$NON-NLS-1$
- buffer.append((String) e.getValue());
- buffer.append("\r\n"); //$NON-NLS-1$
- localMake72Safe(buffer);
- out.writeBytes(buffer.toString());
- }
- }
- out.writeBytes("\r\n"); //$NON-NLS-1$
- }
-
- protected void writeSplit(DataOutputStream out, String name, String value) throws IOException {
- StringTokenizer tok = new StringTokenizer(value);
- int inc = 0;
- while (tok.hasMoreTokens()) {
- StringBuffer buffer = null;
- if (inc == 0) {
- buffer = new StringBuffer(name);
- buffer.append(": "); //$NON-NLS-1$
- } else {
- buffer = new StringBuffer();
- buffer.append(' ');
- }
- buffer.append(tok.nextToken());
- if (tok.countTokens() > 0)
- buffer.append(" \r\n"); //$NON-NLS-1$
- else
- buffer.append("\r\n"); //$NON-NLS-1$
- localMake72Safe(buffer);
- out.writeBytes(buffer.toString());
- inc++;
- }
- }
-
- /**
- * Adds line breaks to enforce a maximum 72 bytes per line.
- */
- protected static void localMake72Safe(StringBuffer line) {
- int length = line.length();
- if (length > 72) {
- int index = 70;
- while (index - 1 < length) {
- line.insert(index, "\r\n "); //$NON-NLS-1$
- index += 72;
- length += 3;
- }
- }
- return;
- }
-
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/ArchiveOptions.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/ArchiveOptions.java
deleted file mode 100644
index 92cdbcf36..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/ArchiveOptions.java
+++ /dev/null
@@ -1,226 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.helpers;
-
-
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.LoadStrategy;
-
-
-/**
- * Insert the type's description here. Creation date: (05/02/01 2:58:48 PM)
- *
- * @author: Administrator
- */
-public class ArchiveOptions implements Cloneable {
-
- public static final int SAX = 1;
- public static final int DOM = 2;
- public static final int DEFAULT = 3;
-
- private int rendererType = DEFAULT;
-
- /**
- * Load strategy for opening/reading the archive; optional - if null a load strategy will be
- * created when the archive is opened
- */
- private LoadStrategy loadStrategy;
- /**
- * Indicator for whether auto java reflection should be turned on in the archive - defaults to
- * true
- */
- private boolean useJavaReflection = true;
- /**
- * Indicator for whether the archive will be modified after opening or if it is just being
- * opened, read, saved to a new location; this is an optimization to avoid temp file creation
- * and saving of individual files within a nested archive if the nested archive will not change -
- * defaults to false
- */
- private boolean isReadOnly;
-
- /**
- * Indicator for whether a libary nested in another archive (eg, utility JARs in an EAR) will be
- * saved out as an ordinary file or as a nested Archive. When loaded into memory these files are
- * treated as Archives, to support dynamic class loading for Java reflection of classes in
- * EJBJarFiles and dependent JARs. An archive opened for edit, either by adding or removing
- * files or changning the Manifest or a deployment descriptor, will be saved as a new file one
- * file at a time. The default for this flag is true; it only applies to library Archives, not
- * instances of ModuleFile. If you wish to edit a nested library, set this flag to false
- */
- private boolean saveLibrariesAsFiles = true;
-
-
- private boolean saveOnlyDirtyMofResources = true;
-
- /**
- * By default, nested archives are treated as primitive archives and are not piped through the
- * discriminator tree on the archive factory; module files in an EAR are opened using the
- * specific open methods on the factory; change this flag if you'd like nested archives to be
- * discriminated
- */
- private boolean discriminateNestedArchives = false;
-
- private Map readOnlyFlags;
-
- /**
- * ArchiveOptions constructor comment.
- */
- public ArchiveOptions() {
- super();
- }
-
- /**
- * Make a copy of the reciever, setting the loadStrategy to null
- */
- public Object clone() {
- return cloneWith(null);
- }
-
- /**
- * Make a copy of the reciever, setting the loadStrategy to null
- */
- public ArchiveOptions cloneWith(LoadStrategy aLoadStrategy) {
- try {
- ArchiveOptions result = (ArchiveOptions) super.clone();
- result.setLoadStrategy(aLoadStrategy);
- result.readOnlyFlags = null;
- return result;
- } catch (CloneNotSupportedException ignore) {
- return null;
- }
- }
-
- public ArchiveOptions cloneWith(LoadStrategy aLoadStrategy, String uri) {
- ArchiveOptions result = cloneWith(aLoadStrategy);
- result.setIsReadOnly(isReadOnly(uri));
- return result;
- }
-
- public org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.LoadStrategy getLoadStrategy() {
- return loadStrategy;
- }
-
- public boolean isReadOnly() {
- return isReadOnly;
- }
-
- /**
- * Insert the method's description here. Creation date: (7/18/2001 2:42:11 PM)
- *
- * @return boolean
- */
- public boolean saveOnlyDirtyMofResources() {
- return saveOnlyDirtyMofResources;
- }
-
- public void setIsReadOnly(boolean newIsReadOnly) {
- isReadOnly = newIsReadOnly;
- }
-
- public void setIsReadOnly(boolean readOnly, String uri) {
- if (readOnlyFlags == null)
- readOnlyFlags = new HashMap();
- readOnlyFlags.put(uri, new Boolean(readOnly));
- }
-
- public boolean isReadOnly(String uri) {
- if (readOnlyFlags != null) {
- Boolean bool = (Boolean) readOnlyFlags.get(uri);
- if (bool != null)
- return bool.booleanValue();
- }
- return isReadOnly;
- }
-
- public void setLoadStrategy(org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.LoadStrategy newLoadStrategy) {
- loadStrategy = newLoadStrategy;
- loadStrategy.setReadOnly(isReadOnly());
- loadStrategy.setRendererType(getRendererType());
- }
-
- /**
- * Insert the method's description here. Creation date: (7/18/2001 2:42:11 PM)
- *
- * @param newSaveOnlyDirtyMofResources
- * boolean
- */
- public void setSaveOnlyDirtyMofResources(boolean newSaveOnlyDirtyMofResources) {
- saveOnlyDirtyMofResources = newSaveOnlyDirtyMofResources;
- }
-
- public void setUseJavaReflection(boolean newUseJavaReflection) {
- useJavaReflection = newUseJavaReflection;
- }
-
- public boolean useJavaReflection() {
- return useJavaReflection;
- }
-
- /**
- * Gets the saveLibrariesAsFiles.
- *
- * @return Returns a boolean
- */
- public boolean isSaveLibrariesAsFiles() {
- return saveLibrariesAsFiles;
- }
-
- /**
- * Sets the saveLibrariesAsFiles.
- *
- * @param saveLibrariesAsFiles
- * The saveLibrariesAsFiles to set
- */
- public void setSaveLibrariesAsFiles(boolean saveLibrariesAsFiles) {
- this.saveLibrariesAsFiles = saveLibrariesAsFiles;
- }
-
-
- /**
- * Gets the discriminateNestedArchives.
- *
- * @return Returns a boolean
- */
- public boolean shouldDiscriminateNestedArchives() {
- return discriminateNestedArchives;
- }
-
- /**
- * Sets the discriminateNestedArchives.
- *
- * @param discriminateNestedArchives
- * The discriminateNestedArchives to set
- */
- public void setDiscriminateNestedArchives(boolean discriminateNestedArchives) {
- this.discriminateNestedArchives = discriminateNestedArchives;
- }
-
- /**
- * @return Returns the rendererType.
- */
- public int getRendererType() {
- return rendererType;
- }
-
- /**
- * The rendererType allows a user to override the renderer used by Common Archive for special
- * cases in the UI where you really want to use a non-synchronizing renderer.
- *
- * @param rendererType
- * The rendererType to set.
- */
- public void setRendererType(int rendererType) {
- this.rendererType = rendererType;
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/ArchiveTypeDiscriminator.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/ArchiveTypeDiscriminator.java
deleted file mode 100644
index 9236586fd..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/ArchiveTypeDiscriminator.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.helpers;
-
-
-
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.OpenFailureException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.ImportStrategy;
-
-
-/**
- * An interface that defines an API for opening archives. The {@link CommonArchiveFactory}
- * implementation uses a root level discriminator to open an archive. The main benefit of this api
- * is it allows extended teams or third parties to plug in to the framework to allow specialized
- * kinds of jar files do be discerned at creation/open time without the client having to provide a
- * lot of logic. For example, a client would simply write
- * <code>((CommonArchivePackage)EPackage.Registry.INSTANCE.getEPackage(CommonArchivePackage.eNS_URI)).getCommonArchiveFactory().open(aString)<code>, and get back
- * the correct kind of archive instance. A discriminator contains children, which is an ordered list of discriminators, each of which
- * can have its turn to determine if it can open an archive. The first one to succeed wins. Once a discriminator determines that it
- * can open an archive, it gives each of its children the opportuntity to do something more specific, and so on. In the base
- * implementation, discriminators are defined as single instances of an inner class for each import strategy. The following code shows
- * how to register a discriminator for a specialized EJBJarFile:
- * <code>EjbJar11ImportStrategyImpl.getDiscriminator().addChild(aDiscriminator);</code>
- * This would be done as an initialization at startup time. If the child discriminator is ever invoked, the parent will have already
- * determined that the archive is an EJBJarFile and will have converted it to that type.
- */
-public interface ArchiveTypeDiscriminator {
- public void addChild(ArchiveTypeDiscriminator child);
-
- /**
- * @throws java.util.NoSuchElementException
- * if the predecessor is not included in the list of children
- */
- public void addChildAfter(ArchiveTypeDiscriminator child, ArchiveTypeDiscriminator predecessor) throws java.util.NoSuchElementException;
-
- /**
- * @throws java.util.NoSuchElementException
- * if the successor is not included in the list of children
- */
- public void addChildBefore(ArchiveTypeDiscriminator child, ArchiveTypeDiscriminator successor) throws java.util.NoSuchElementException;
-
- /**
- * Performs tests on the archive to determine if it is the kind this discriminator is interested
- * in
- */
- public boolean canImport(Archive anArchive);
-
- /**
- * Factory method to create the import strategy for a converted archive
- */
- public ImportStrategy createImportStrategy(Archive old, Archive newArchive);
-
- /**
- * Return a string to be presented either through an exception or error message when a specific
- * kind of archive is expected and this discriminator can't open it.
- */
- public String getUnableToOpenMessage();
-
- public boolean hasChild(ArchiveTypeDiscriminator disc);
-
- public boolean hasChildren();
-
- /**
- * Point of entry for attempting to open an archive
- *
- * @return a converted archive or null if this discriminator can't convert it
- */
- public Archive openArchive(Archive anArchive) throws OpenFailureException;
-
- public void removeChild(ArchiveTypeDiscriminator child);
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/ArchiveTypeDiscriminatorImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/ArchiveTypeDiscriminatorImpl.java
deleted file mode 100644
index 7d7b26818..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/ArchiveTypeDiscriminatorImpl.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.helpers;
-
-
-
-import java.util.List;
-
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonArchiveResourceHandler;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ModuleFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.OpenFailureException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.ImportStrategy;
-
-
-/**
- * @see ArchiveTypeDiscriminator
- */
-public abstract class ArchiveTypeDiscriminatorImpl implements ArchiveTypeDiscriminator {
- protected List children;
-
- public ArchiveTypeDiscriminatorImpl() {
- super();
- }
-
- /**
- * @see com.ibm.etools.archive.ArchiveTypeDiscriminator
- */
- public void addChild(ArchiveTypeDiscriminator child) {
- if (hasChild(child))
- return;
- getChildren().add(child);
- }
-
- /**
- * @see com.ibm.etools.archive.ArchiveTypeDiscriminator
- */
- public void addChildAfter(org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveTypeDiscriminator child, org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveTypeDiscriminator predecessor) throws java.util.NoSuchElementException {
- if (hasChild(child))
- return;
- int index = getChildren().indexOf(predecessor);
- if (index >= 0) {
- index++;
- getChildren().add(index, child);
- } else {
- throw new java.util.NoSuchElementException(predecessor.toString());
- }
- }
-
- /**
- * @see com.ibm.etools.archive.ArchiveTypeDiscriminator
- */
- public void addChildBefore(ArchiveTypeDiscriminator child, ArchiveTypeDiscriminator successor) throws java.util.NoSuchElementException {
- if (hasChild(child))
- return;
- int index = getChildren().indexOf(successor);
- if (index >= 0) {
- getChildren().add(index, child);
- } else {
- throw new java.util.NoSuchElementException(successor.toString());
- }
- }
-
- /**
- * @see com.ibm.etools.archive.ArchiveTypeDiscriminator
- */
- public abstract boolean canImport(Archive anArchive);
-
- /**
- * @see com.ibm.etools.archive.ArchiveTypeDiscriminator
- */
- public Archive convert(Archive anArchive) throws OpenFailureException {
- Archive destination = createConvertedArchive();
-
- //turn of notifications
- destination.eSetDeliver(false);
- destination.eSetDeliver(false);
-
- //Copy the relevant attributes
- destination.setURI(anArchive.getURI());
- destination.setOriginalURI(anArchive.getURI());
- destination.setSize(anArchive.getSize());
- destination.setLastModified(anArchive.getLastModified());
-
- destination.setLoadStrategy(anArchive.getLoadStrategy());
- destination.setOptions(anArchive.getOptions());
- destination.setExtraClasspath(anArchive.getExtraClasspath());
- if (destination.isModuleFile()) {
- ImportStrategy importStrategy = createImportStrategy(anArchive, destination);
- ((ModuleFile) destination).setImportStrategy(importStrategy);
- }
-
-
-
- //turn notifications back on
- destination.eSetDeliver(true);
- destination.eSetDeliver(true);
-
- return destination;
- }
-
- public abstract Archive createConvertedArchive();
-
- /**
- * @see com.ibm.etools.archive.ArchiveTypeDiscriminator
- */
- public abstract ImportStrategy createImportStrategy(Archive old, Archive newArchive);
-
- public java.util.List getChildren() {
- if (children == null)
- children = new java.util.ArrayList();
- return children;
- }
-
- /**
- * Iterate through each child and attempt to convert the archive to the child's type; return the
- * converted archive from the first child that succeeds, or null if no child succeeds or no
- * child exists
- */
- protected Archive getImportableArchiveFromChild(Archive anArchive) throws OpenFailureException {
- if (!hasChildren()) {
- return null;
- }
- List theChildren = getChildren();
- Archive childConvertedArchive = null;
- for (int i = 0; i < theChildren.size(); i++) {
- ArchiveTypeDiscriminator child = (ArchiveTypeDiscriminator) theChildren.get(i);
- childConvertedArchive = child.openArchive(anArchive);
- if (childConvertedArchive != null) {
- return childConvertedArchive;
- }
- }
- return null;
- }
-
- protected String getXmlDDMessage(String archiveType, String ddUri) {
- return CommonArchiveResourceHandler.getString("invalid_archive_EXC_", (new Object[]{archiveType, ddUri})); //$NON-NLS-1$ = "Archive is not a valid {0} because the deployment descriptor can not be found (case sensitive): {1}"
- }
-
- public boolean hasChild(ArchiveTypeDiscriminator disc) {
- return hasChildren() && getChildren().contains(disc);
- }
-
- public boolean hasChildren() {
- return children != null && children.size() > 0;
- }
-
- /**
- * @see com.ibm.etools.archive.ArchiveTypeDiscriminator
- */
- public Archive openArchive(Archive anArchive) throws OpenFailureException {
- if (!canImport(anArchive)) {
- return null;
- }
- Archive convertedArchive = convert(anArchive);
- Archive childConvertedArchive = getImportableArchiveFromChild(convertedArchive);
- if (childConvertedArchive != null)
- return childConvertedArchive;
- return convertedArchive;
- }
-
- /**
- * @see com.ibm.etools.archive.ArchiveTypeDiscriminator
- */
- public void removeChild(org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveTypeDiscriminator child) {
- getChildren().remove(child);
- }
-
- public void setChildren(java.util.List newChildren) {
- children = newChildren;
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/ArchiveURIConverterImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/ArchiveURIConverterImpl.java
deleted file mode 100644
index c8c032981..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/ArchiveURIConverterImpl.java
+++ /dev/null
@@ -1,309 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.helpers;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLConnection;
-import java.util.StringTokenizer;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.impl.URIConverterImpl;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.LoadStrategy;
-
-
-/**
- * Helper class used for loading of mof resources contained within an archive; knows how to retrieve
- * an input stream for a given uri
- */
-public class ArchiveURIConverterImpl extends URIConverterImpl {
- protected static final String fileProtocol = "file"; //$NON-NLS-1$
- protected static final String platformProtocol = "platform"; //$NON-NLS-1$
- private String inFilepath, outFilepath;
-
- public ArchiveURIConverterImpl(org.eclipse.jst.j2ee.commonarchivecore.internal.Archive anArchive, String resourcesPath) {
- setArchive(anArchive);
- this.resourcesPath = resourcesPath;
- setInputFilepath(resourcesPath);
- String outpath = resourcesPath;
- if (outpath == null) {
- LoadStrategy l = anArchive.getLoadStrategy();
- if (l != null && l.isDirectory()) {
- try {
- outpath = l.getAbsolutePath();
- } catch (FileNotFoundException ignore) {
- //Ignore
- }
- }
- }
- setOutputFilepath(outpath);
- }
-
- /** The archive from which resources will be loaded */
- protected org.eclipse.jst.j2ee.commonarchivecore.internal.Archive archive;
- protected String resourcesPath;
-
- public org.eclipse.jst.j2ee.commonarchivecore.internal.Archive getArchive() {
- return archive;
- }
-
- public InputStream createInputStream(URI uri) throws IOException {
- InputStream in = null;
- if (resourcesPath != null)
- in = makeInputStream(uri);
- if (in != null)
- return in;
- return getArchive().getInputStream(uri.toString());
- }
-
- public void setArchive(org.eclipse.jst.j2ee.commonarchivecore.internal.Archive newArchive) {
- archive = newArchive;
- }
-
- /**
- * Gets the resourcesPath.
- *
- * @return Returns a String
- */
- public String getResourcesPath() {
- return resourcesPath;
- }
-
- /**
- * Sets the resourcesPath.
- *
- * @param resourcesPath
- * The resourcesPath to set
- */
- public void setResourcesPath(String resourcesPath) {
- this.resourcesPath = resourcesPath;
- setInputFilepath(resourcesPath);
- setOutputFilepath(resourcesPath);
- }
-
- public URI normalize(URI uri) {
- return getInternalURIMap().getURI(uri);
- }
-
- /**
- * The input file path consists of a string of directories or zip files separated by semi-colons
- * that are searched when an input stream is constructed.
- *
- * @return The file path
- */
- public String getInputFilepath() {
- return inFilepath;
- }
-
- /**
- * @param filepath
- * The file path
- */
- public void setInputFilepath(String filepath) {
- inFilepath = filepath;
- }
-
- /**
- * @return The output file path
- */
- public String getOutputFilepath() {
- return outFilepath;
- }
-
- /**
- * The output file path is the path name of a directory to prepend to relative file path names
- * when an output stream is constructed.
- *
- * @param filepath
- * The output file path
- */
- public void setOutputFilepath(String filepath) {
- outFilepath = filepath;
- }
-
- /**
- * Convert the URI to an input stream.
- *
- * @param uri
- * The uri
- */
- public InputStream makeInputStream(URI uri) throws IOException {
- URI converted = uri;
-
- if ((fileProtocol.equals(converted.scheme()) || converted.scheme() == null) && inFilepath != null) {
- return searchFilePath(converted.toString());
- }
- URL url = createURL(converted.toString());
- URLConnection urlConnection = url.openConnection();
- return urlConnection.getInputStream();
- }
-
- /**
- * Search the file path if the file portion of the URL is not absolute (does not begin with "/";
- * otherwise, attempt to create an input stream for the file.
- */
- protected InputStream searchFilePath(String filename) throws IOException {
- File file = new File(filename);
- if (file.isAbsolute())
- return new FileInputStream(file);
- StringTokenizer st = new StringTokenizer(inFilepath, ";"); //$NON-NLS-1$
- while (st.hasMoreTokens()) {
- String f = st.nextToken();
- ZipFile zf = null;
- try {
- zf = new ZipFile(f);
- } catch (Exception e) {
- //Ignore
- }
- InputStream in = null;
- if (zf != null) {
- in = searchZipFile(zf, filename);
- if (in == null)
- try {
- zf.close();
- } catch (Exception e) {
- //Ignore
- }
- } else {
- in = searchDirectory(f, filename);
- }
- if (in != null)
- return in;
- }
- return null;
- }
-
- /**
- * This method determines whether the file with the relative path name of filename exists in the
- * given directory. If not, it returns null; otherwise, it opens the file up and returns the
- * input source.
- *
- * @param dir
- * java.lang.String
- * @return java.io.InputSource
- */
- protected InputStream searchDirectory(String dir, String filename) throws IOException {
- if (dir.equals(".")) //$NON-NLS-1$
- dir = System.getProperty("user.dir"); //$NON-NLS-1$
- File f = new File(dir + System.getProperty("file.separator") + filename.replace('/', File.separatorChar)); //$NON-NLS-1$
- if (!f.exists())
- return null;
- return new FileInputStream(f);
- }
-
- /**
- * This method determines whether there is a ZipEntry whose name is filename in the given
- * ZipFile. If not, it returns null; otherwise, it returns an input source to read from the
- * ZipEntry.
- *
- * @param zip
- * java.util.zip.ZipFile
- * @return java.io.InputSource
- */
- protected InputStream searchZipFile(ZipFile zip, String filename) throws IOException {
- ZipEntry entry = zip.getEntry(filename);
- if (entry == null)
- return null;
- return zip.getInputStream(entry);
- }
-
- /**
- * Make a URL from the uri; if the attempt fails, attempt to append "file:" to the URI; if the
- * attempt still fails, attempt to replace the protocol with the file protocol.
- *
- * @param uri
- * The string uri
- */
- public URL createURL(String uri) throws MalformedURLException {
- MalformedURLException m = null;
- if (uri == null)
- return null;
- URL url = null;
- try {
- url = new URL(uri);
- } catch (Exception e) {
- m = (MalformedURLException) e;
- }
- if (url != null)
- return url;
- // Either treat the URI as a filepath (if there are no : or
- // a : in position 1) or replace the given protocol with the
- // file protocol.
- int index = uri.indexOf(":"); //$NON-NLS-1$
- if (index == -1 || index == 1)
- uri = fileProtocol + ":" + uri; //$NON-NLS-1$
- else if (index > 0)
- uri = fileProtocol + ":" + uri.substring(index + 1); //$NON-NLS-1$
- try {
- url = new URL(uri);
- } catch (Exception e) {
- //Ignore
- }
- if (url != null)
- return url;
- throw m;
- }
-
- /**
- * Convert the URI to an output stream.
- *
- * @param uri
- * The uri
- */
- public OutputStream createOutputStream(URI uri) throws IOException {
- URI converted = uri;
- if (platformProtocol.equals(converted.scheme())) {
- URL resolvedURL = resolvePlatform(new URL(converted.toString()));
- if (resolvedURL != null) {
- converted = URI.createFileURI(resolvedURL.getFile());
- }
- }
- if (fileProtocol.equals(converted.scheme()) || converted.scheme() == null) {
- return openFileOutputStream(converted);
- }
- URL url = createURL(converted.toString());
- URLConnection urlConnection = url.openConnection();
- urlConnection.setDoOutput(true);
- return urlConnection.getOutputStream();
- }
-
- protected URL resolvePlatform(URL url) throws IOException {
- // let WorkbenchURIConverter implement this one.
- return null;
- }
-
- /**
- * Open a file output stream for the given uri (the uri has file protocol). If an output file
- * path is specified and the file name is relative, prepend the output file path to the file
- * name. Make the directories that contain the file if they do not exist.
- */
- protected OutputStream openFileOutputStream(URI uri) throws IOException {
- File file = new File(uri.toFileString());
- if (!file.isAbsolute() && outFilepath != null) {
- file = new File(outFilepath + File.separator + uri.toFileString());
- }
- String parent = file.getParent();
- if (parent != null) {
- new File(parent).mkdirs();
- }
- OutputStream outputStream = new FileOutputStream(file);
- return outputStream;
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/ExportStrategy.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/ExportStrategy.java
deleted file mode 100644
index 89b080090..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/ExportStrategy.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.helpers;
-
-import org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.ArchiveStrategy;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.SaveStrategy;
-
-
-
-/**
- * ExportStrategy knows what to do just before a dump of an archive is about to occur, typically
- * adding items such as deployment descriptors and such. This provides a delegation model for
- * archive/version/platform specific rules about which resources etc need to be exported. Clients
- * can implement this interface, and "plug in" to an instance of an archive.
- */
-public interface ExportStrategy extends ArchiveStrategy {
- /**
- * Returns whether this strategy has already saved a file entry having a uri named by the
- * parameter
- */
- public boolean hasSaved(String uri);
-
- /**
- * The archive is saving itself, and giving the export strategy the opportunity to do whatever
- * it needs to do. The export strategy may write entries directly to the SaveStrategy, but if it
- * does, it should remember the names of these entries so the archive does not attempt to
- * duplicate by saving an entry with the same name
- */
- public void preSave(SaveStrategy aSaveStrategy) throws org.eclipse.jst.j2ee.commonarchivecore.internal.exception.SaveFailureException;
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/FileExtensionsFilterImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/FileExtensionsFilterImpl.java
deleted file mode 100644
index 7fb9b7c73..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/FileExtensionsFilterImpl.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.helpers;
-
-
-
-import java.util.Set;
-
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-
-
-/**
- * Insert the type's description here. Creation date: (02/28/01 1:20:09 PM)
- *
- * @author: Administrator
- */
-public class FileExtensionsFilterImpl extends SaveFilterImpl implements org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.SaveFilter {
- protected Set excludedExtensions;
- protected boolean isCaseSensitive = false;
- protected Set excludedExtensionsAsUppercase;
-
- /**
- * FileExtensionsFilterImpl constructor comment.
- */
- public FileExtensionsFilterImpl(String[] extensionsToExclude, boolean caseSensitive) {
- super();
- Set extensions = new java.util.HashSet();
- for (int i = 0; i < extensionsToExclude.length; i++) {
- extensions.add(extensionsToExclude[i]);
- }
- setExcludedExtensions(extensions);
- setIsCaseSensitive(caseSensitive);
- initialize();
- }
-
- /**
- * FileExtensionsFilterImpl constructor comment.
- */
- public FileExtensionsFilterImpl(String extension, boolean caseSensitive) {
- super();
- Set extensions = new java.util.HashSet(1);
- extensions.add(extension);
- setExcludedExtensions(extensions);
- setIsCaseSensitive(caseSensitive);
- initialize();
- }
-
- /**
- * FileExtensionsFilterImpl constructor comment.
- */
- public FileExtensionsFilterImpl(Set extensionsToExclude, boolean caseSensitive) {
- super();
- setExcludedExtensions(extensionsToExclude);
- setIsCaseSensitive(caseSensitive);
- initialize();
- }
-
- /**
- * Insert the method's description here. Creation date: (02/28/01 1:24:28 PM)
- *
- * @return java.util.Set
- */
- public java.util.Set getExcludedExtensions() {
- return excludedExtensions;
- }
-
- /**
- * Insert the method's description here. Creation date: (02/28/01 2:42:20 PM)
- *
- * @return java.util.Set
- */
- protected java.util.Set getExcludedExtensionsAsUppercase() {
- return excludedExtensionsAsUppercase;
- }
-
- protected void initialize() {
- if (isCaseSensitive())
- return;
-
- java.util.HashSet aSet = new java.util.HashSet();
- java.util.Iterator it = getExcludedExtensions().iterator();
- while (it.hasNext()) {
- aSet.add(((String) it.next()).toUpperCase());
- }
- setExcludedExtensionsAsUppercase(aSet);
- }
-
- public boolean isCaseSensitive() {
- return isCaseSensitive;
- }
-
- /**
- * Insert the method's description here. Creation date: (02/28/01 1:24:28 PM)
- *
- * @param newExcludedExtensions
- * java.util.Set
- */
- protected void setExcludedExtensions(java.util.Set newExcludedExtensions) {
- excludedExtensions = newExcludedExtensions;
- }
-
- /**
- * Insert the method's description here. Creation date: (02/28/01 2:42:20 PM)
- *
- * @param newExcludedExtensionsAsUppercase
- * java.util.Set
- */
- protected void setExcludedExtensionsAsUppercase(java.util.Set newExcludedExtensionsAsUppercase) {
- excludedExtensionsAsUppercase = newExcludedExtensionsAsUppercase;
- }
-
- protected void setIsCaseSensitive(boolean value) {
- isCaseSensitive = value;
- }
-
- /**
- * @see com.ibm.etools.archive.SaveFilter
- */
- public boolean shouldSave(String uri, Archive anArchive) {
- String extension = org.eclipse.jst.j2ee.commonarchivecore.internal.util.ArchiveUtil.getFileNameExtension(uri);
- if (extension.equals(""))//$NON-NLS-1$
- return true;
-
- Set excluded;
- if (isCaseSensitive()) {
- excluded = getExcludedExtensions();
- } else {
- excluded = getExcludedExtensionsAsUppercase();
- extension = extension.toUpperCase();
- }
-
- return !excluded.contains(extension);
-
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/FileIterator.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/FileIterator.java
deleted file mode 100644
index 9502b6165..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/FileIterator.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.helpers;
-
-
-
-import java.io.InputStream;
-
-import org.eclipse.jst.j2ee.commonarchivecore.internal.File;
-
-
-/**
- * Insert the type's description here. Creation date: (05/02/01 5:20:00 PM)
- *
- * @author: Administrator
- */
-public interface FileIterator {
- public InputStream getInputStream(File aFile) throws java.io.IOException, java.io.FileNotFoundException;
-
- public boolean hasNext();
-
- public File next();
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/FileIteratorImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/FileIteratorImpl.java
deleted file mode 100644
index 7433f940e..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/FileIteratorImpl.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.helpers;
-
-
-
-import java.io.InputStream;
-import java.util.List;
-import java.util.NoSuchElementException;
-
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonArchiveResourceHandler;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.File;
-
-
-public class FileIteratorImpl implements FileIterator {
- protected List files;
- protected int position = 0;
-
- /**
- * Insert the method's description here. Creation date: (05/02/01 6:16:52 PM)
- */
- public FileIteratorImpl() {
- //Default
- }
-
- public FileIteratorImpl(List theFiles) {
- super();
- files = theFiles;
- }
-
- public InputStream getInputStream(File aFile) throws java.io.IOException, java.io.FileNotFoundException {
- return aFile.getInputStream();
- }
-
- public boolean hasNext() {
- return position < files.size();
- }
-
- public File next() {
- if (!hasNext())
- throw new NoSuchElementException(CommonArchiveResourceHandler.getString("End_of_list_reached_EXC_")); //$NON-NLS-1$ = "End of list reached"
- return (File) files.get(position++);
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/ManifestPackageEntryImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/ManifestPackageEntryImpl.java
deleted file mode 100644
index a3ef827a1..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/ManifestPackageEntryImpl.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.helpers;
-
-
-
-
-/**
- * Used for manifest support.
- */
-public class ManifestPackageEntryImpl extends java.util.jar.Attributes {
- static final String NAME = "Name";//$NON-NLS-1$
- static final String SPECIFICATION_TITLE = "Specification-Title";//$NON-NLS-1$
- static final String SPECIFICATION_VERSION = "Specification-Version";//$NON-NLS-1$
- static final String SPECIFICATION_VENDOR = "Specification-Vendor";//$NON-NLS-1$
- static final String IMPLEMENTATION_TITLE = "Implementation-Title";//$NON-NLS-1$
- static final String IMPLEMENTATION_VERSION = "Implementation-Version";//$NON-NLS-1$
- static final String IMPLEMENTATION_VENDOR = "Implementation-Vendor";//$NON-NLS-1$
-
- /**
- * ManifestPackageEntry constructor comment.
- */
- public ManifestPackageEntryImpl() {
- super();
- }
-
- /**
- * ManifestPackageEntry constructor comment.
- *
- * @param size
- * int
- */
- public ManifestPackageEntryImpl(int size) {
- super(size);
- }
-
- /**
- * ManifestPackageEntry constructor comment.
- *
- * @param attr
- * java.util.jar.Attributes
- */
- public ManifestPackageEntryImpl(java.util.jar.Attributes attr) {
- super(attr);
- }
-
- public String getImplementationTitle() {
- return (String) get(IMPLEMENTATION_TITLE);
- }
-
- public String getImplementationVendor() {
- return (String) get(IMPLEMENTATION_VENDOR);
- }
-
- public String getImplementationVersion() {
- return (String) get(IMPLEMENTATION_VERSION);
- }
-
- public String getName() {
- return (String) get(NAME);
- }
-
- public String getSpecificationTitle() {
- return (String) get(SPECIFICATION_TITLE);
- }
-
- public String getSpecificationVendor() {
- return (String) get(SPECIFICATION_VENDOR);
- }
-
- public String getSpecificationVersion() {
- return (String) get(SPECIFICATION_VERSION);
- }
-
- public void setImplementationTitle(String value) {
- put(IMPLEMENTATION_TITLE, value);
- }
-
- public void setImplementationVendor(String value) {
- put(IMPLEMENTATION_VENDOR, value);
- }
-
- public void setImplementationVersion(String value) {
- put(IMPLEMENTATION_VERSION, value);
- }
-
- public void setName(String value) {
- put(NAME, value);
- }
-
- public void setSpecificationTitle(String value) {
- put(SPECIFICATION_TITLE, value);
- }
-
- public void setSpecificationVendor(String value) {
- put(SPECIFICATION_VENDOR, value);
- }
-
- public void setSpecificationVersion(String value) {
- put(SPECIFICATION_VERSION, value);
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/NestedArchiveIterator.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/NestedArchiveIterator.java
deleted file mode 100644
index 7de9773bf..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/NestedArchiveIterator.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.helpers;
-
-
-
-import java.io.FilterInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.List;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipInputStream;
-
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonArchiveResourceHandler;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.File;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.ArchiveRuntimeException;
-
-
-public class NestedArchiveIterator extends FileIteratorImpl {
- protected ZipInputStream zipInputStream;
- protected ZipEntry currentEntry;
-
- static class WrapperInputStream extends FilterInputStream {
- /**
- * @param in
- */
- public WrapperInputStream(InputStream in) {
- super(in);
- // TODO Auto-generated constructor stub
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.io.FilterInputStream#close()
- */
- public void close() throws IOException {
- //do nothing because we want to prevent the clients from closing the zip
- }
- }
-
- /**
- * NestedArchiveIterator constructor comment.
- */
- public NestedArchiveIterator(List theFiles, ZipInputStream stream) {
- super(theFiles);
- zipInputStream = stream;
- }
-
- public InputStream getInputStream(File aFile) throws java.io.IOException, java.io.FileNotFoundException {
- if (!aFile.getURI().equals(currentEntry.getName()))
- throw new java.io.IOException(CommonArchiveResourceHandler.getString("Internal_Error__Iterator_o_EXC_")); //$NON-NLS-1$ = "Internal Error: Iterator out of sync with zip entries"
- return new WrapperInputStream(zipInputStream);
- }
-
- public File next() {
- File next = super.next();
- try {
- do {
- currentEntry = zipInputStream.getNextEntry();
- } while (currentEntry.isDirectory());
- } catch (java.io.IOException ex) {
- throw new ArchiveRuntimeException(CommonArchiveResourceHandler.getString("Error_iterating_the_archiv_EXC_"), ex); //$NON-NLS-1$ = "Error iterating the archive"
- }
- return next;
- }
-
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/ResourceProxyValidator.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/ResourceProxyValidator.java
deleted file mode 100644
index a28a3b9c4..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/ResourceProxyValidator.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-/*
- * Created on Jun 11, 2003
- *
- * To change the template for this generated file go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.jst.j2ee.commonarchivecore.internal.helpers;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.xmi.XMLResource;
-
-/**
- * @author cbridgha
- *
- * To change the template for this generated type comment go to Window>Preferences>Java>Code
- * Generation>Code and Comments
- */
-final class ResourceProxyValidator {
- static HashMap resourceURIMap = new HashMap();
-
- private static void resolveContainedProxies(EObject refObject) {
- List contained = refObject.eContents();
- EObject mofObject;
- for (int i = 0; i < contained.size(); i++) {
- mofObject = (EObject) contained.get(i);
- resolveProxies(mofObject);
- }
- }
-
- private static void resolveNonContainedProxies(EObject refObject) {
- List references = refObject.eClass().getEAllReferences();
- EReference reference;
- EObject proxyOrObject;
- for (int i = 0; i < references.size(); i++) {
- reference = (EReference) references.get(i);
- if (!reference.isContainment() && !reference.isTransient()) {
- if (reference.isMany()) {
- Iterator value = ((List) refObject.eGet(reference)).iterator();
- while (value.hasNext()) {
- proxyOrObject = (EObject) value.next();
- if (proxyOrObject.eIsProxy())
- value.remove();
- }
- } else {
- proxyOrObject = (EObject) refObject.eGet(reference, false);
- if (proxyOrObject != null && proxyOrObject.eIsProxy()) {
- URI resourceURI = ((EObjectImpl) proxyOrObject).eProxyURI().trimFragment();
- String protocol = resourceURI.scheme();
- if (protocol == null || !protocol.equals("java")) { //$NON-NLS-1$
- String id = ((EObjectImpl) proxyOrObject).eProxyURI().fragment();
- if (resourceURIMap.get(resourceURI) != null) {
- Resource cachedResource = (Resource) resourceURIMap.get(resourceURI);
- proxyOrObject = (EObject) ((XMLResource) cachedResource).getIDToEObjectMap().get(id);
- } else {
- proxyOrObject = (EObject) refObject.eGet(reference);
- resourceURIMap.put(resourceURI, proxyOrObject.eResource());
- }
- if (proxyOrObject == null || proxyOrObject.eIsProxy())
- refObject.eSet(reference, null);
- }
- }
- }
- }
- }
- }
-
- private static void resolveProxies(EObject refObject) {
- if (refObject != null) {
- resolveNonContainedProxies(refObject);
- resolveContainedProxies(refObject);
- }
- }
-
- /**
- * Force all of the proxies with <code>resource</code> to be resolved.
- */
- static void checkForUnresolvableProxies(Resource resource) {
- resourceURIMap = new HashMap(); //Reset hashmap on each call
- if (resource != null) {
- List topLevels = resource.getContents();
- EObject mofObject;
- for (int i = 0; i < topLevels.size(); i++) {
- mofObject = (EObject) topLevels.get(i);
- resolveProxies(mofObject);
- }
- }
- }
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/RuntimeClasspathEntry.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/RuntimeClasspathEntry.java
deleted file mode 100644
index 3281c6716..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/RuntimeClasspathEntry.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.helpers;
-
-
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.WARFile;
-
-public interface RuntimeClasspathEntry {
-
-
- /**
- * The resolved absolute path of the entry
- */
- String getAbsolutePath();
-
- void setAbsolutePath(String absolutePath);
-
- /**
- * A single token from the Class-Path: attrbute
- */
- String getManifestValue();
-
- void setManifestValue(String manifestValue);
-
- /**
- * valid only if this entry is a library in a WARFile, under WEB-INF/lib
- */
- WARFile getWarFile();
-
- void setWarFile(WARFile aWarFile);
-
- /**
- * true if this entry is a library in a WAR file
- */
- boolean isWebLib();
-
- /**
- * The resolved archive inside an EAR that this entry points to; Note that this is NOT the
- * Archive that has the entry in the manifest, but rather the referenced archive/
- */
- Archive getReferencedArchive();
-
- void setReferencedArchive(Archive anArchive);
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/RuntimeClasspathEntryImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/RuntimeClasspathEntryImpl.java
deleted file mode 100644
index caf60cb51..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/RuntimeClasspathEntryImpl.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.helpers;
-
-
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.WARFile;
-
-public class RuntimeClasspathEntryImpl implements RuntimeClasspathEntry {
-
- /** A single token from the Class-Path: attrbute */
- protected String manifestValue;
- /** The resolved absolute path of the entry */
- protected String absolutePath;
- /** valid only if this entry is a library in a WARFile, under WEB-INF/lib */
- protected WARFile warFile;
-
- protected Archive referencedArchive;
-
- /**
- * Constructor for ManifestClasspathEntryImpl.
- */
- public RuntimeClasspathEntryImpl() {
- super();
- }
-
- /**
- * Gets the absolutePath.
- *
- * @return Returns a String
- */
- public String getAbsolutePath() {
- return absolutePath;
- }
-
- /**
- * Sets the absolutePath.
- *
- * @param absolutePath
- * The absolutePath to set
- */
- public void setAbsolutePath(String absolutePath) {
- this.absolutePath = absolutePath;
- }
-
- /**
- * Gets the manifestValue.
- *
- * @return Returns a String
- */
- public String getManifestValue() {
- return manifestValue;
- }
-
- /**
- * Sets the manifestValue.
- *
- * @param manifestValue
- * The manifestValue to set
- */
- public void setManifestValue(String manifestValue) {
- this.manifestValue = manifestValue;
- }
-
-
-
- /**
- * Gets the warFile.
- *
- * @return Returns a WARFile
- */
- public WARFile getWarFile() {
- return warFile;
- }
-
- /**
- * Sets the warFile.
- *
- * @param warFile
- * The warFile to set
- */
- public void setWarFile(WARFile warFile) {
- this.warFile = warFile;
- }
-
- public String toString() {
- return getAbsolutePath();
- }
-
- public boolean equals(Object o) {
- if (o instanceof RuntimeClasspathEntry)
- return getAbsolutePath().equals(((RuntimeClasspathEntry) o).getAbsolutePath());
- return false;
- }
-
- public int hashCode() {
- return getAbsolutePath().hashCode();
- }
-
-
- /**
- * @see RuntimeClasspathEntry#isWebLib()
- */
- public boolean isWebLib() {
- return warFile != null;
- }
-
- /**
- * Gets the referencedArchive.
- *
- * @return Returns a Archive
- */
- public Archive getReferencedArchive() {
- return referencedArchive;
- }
-
- /**
- * Sets the referencedArchive.
- *
- * @param referencedArchive
- * The referencedArchive to set
- */
- public void setReferencedArchive(Archive referencedArchive) {
- this.referencedArchive = referencedArchive;
- }
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/SaveFilter.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/SaveFilter.java
deleted file mode 100644
index a05828fae..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/SaveFilter.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.helpers;
-
-
-
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-
-/**
- * Object used for saving an archive with only a subset of its files. By default all files are
- * saved. Clients can create a custom filter and set it on a save strategy, and call
- * {@link Archive#save(SaveStrategy)}
- */
-public interface SaveFilter {
- /**
- * Answer whether an element in the archive having the uri should be saved; the uri may be for a
- * file, a nested archive, or a loaded mof resource
- */
- public boolean shouldSave(String uri, Archive anArchive);
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/SaveFilterImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/SaveFilterImpl.java
deleted file mode 100644
index de041ecf4..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/SaveFilterImpl.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.helpers;
-
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-
-
-
-/**
- * Default filter which allows all elememts to save
- */
-public class SaveFilterImpl implements org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.SaveFilter {
- /**
- * SaveFilterImpl constructor comment.
- */
- public SaveFilterImpl() {
- super();
- }
-
- /**
- * @see com.ibm.etools.archive.SaveFilter
- */
- public boolean shouldSave(java.lang.String uri, Archive anArchive) {
- return true;
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/SelectedFilesFilterImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/SelectedFilesFilterImpl.java
deleted file mode 100644
index 4b81f724d..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/helpers/SelectedFilesFilterImpl.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.helpers;
-
-
-
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.File;
-
-
-/**
- * Insert the type's description here. Creation date: (03/23/01 11:04:52 AM)
- *
- * @author: Administrator
- */
-public class SelectedFilesFilterImpl extends SaveFilterImpl {
- /** Set of file uris to be saved */
- protected Set selectedFileNames;
-
- /**
- * SelectedFilesFilterImpl constructor comment.
- */
- public SelectedFilesFilterImpl() {
- super();
- }
-
- /**
- * Constructor with a preselected subset of the files in the archive to be saved; each element
- * in the list must be an instance of {@link com.ibm.etools.commonarchive.File}
- */
- public SelectedFilesFilterImpl(List archiveFiles) {
- super();
- Set fileNames = new HashSet();
- for (int i = 0; i < archiveFiles.size(); i++) {
- File aFile = (File) archiveFiles.get(i);
- fileNames.add(aFile.getURI());
- }
- setSelectedFileNames(fileNames);
- }
-
- /**
- * Parameter must be a set of valid uris in the archive
- */
- public SelectedFilesFilterImpl(Set fileNames) {
- super();
- setSelectedFileNames(fileNames);
- }
-
- /**
- * Insert the method's description here. Creation date: (03/23/01 11:19:01 AM)
- *
- * @return java.util.Set
- */
- public java.util.Set getSelectedFileNames() {
- return selectedFileNames;
- }
-
- /**
- * Insert the method's description here. Creation date: (03/23/01 11:19:01 AM)
- *
- * @param newSelectedFileNames
- * java.util.Set
- */
- public void setSelectedFileNames(java.util.Set newSelectedFileNames) {
- selectedFileNames = newSelectedFileNames;
- }
-
- public boolean shouldSave(java.lang.String uri, Archive anArchive) {
- return getSelectedFileNames().contains(uri);
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/AltResourceRegister.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/AltResourceRegister.java
deleted file mode 100644
index 3eef77b31..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/AltResourceRegister.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.impl;
-
-
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-
-public class AltResourceRegister {
- protected static Set registeredURIs = new HashSet();
-
- protected AltResourceRegister() {
- //Default
- }
-
-
- /**
- * Registers an Archive relative path for the resource which can be copied up as an alt in an
- * EAR file. The uri should be in cananonical form and use the forward slash, eg,
- * "META-INF/vendor-extensions.xmi"
- */
- public static void registerURI(String uri) {
- registeredURIs.add(uri);
- }
-
- public static void deRegisterURI(String uri) {
- registeredURIs.remove(uri);
- }
-
- public static boolean isRegistered(String uri) {
- return registeredURIs.contains(uri);
- }
-
- public static Set getRegisteredURIs() {
- return Collections.unmodifiableSet(registeredURIs);
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/ApplicationClientFileImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/ApplicationClientFileImpl.java
deleted file mode 100644
index d7ada6b70..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/ApplicationClientFileImpl.java
+++ /dev/null
@@ -1,359 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.impl;
-
-
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.jst.j2ee.client.ApplicationClient;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ApplicationClientFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Container;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DeploymentDescriptorLoadException;
-import org.eclipse.jst.j2ee.internal.J2EEConstants;
-import org.eclipse.jst.j2ee.internal.client.ClientPackage;
-import org.eclipse.jst.j2ee.internal.common.XMLResource;
-
-
-/**
- * @generated
- */
-public class ApplicationClientFileImpl extends ModuleFileImpl implements ApplicationClientFile {
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected ApplicationClient deploymentDescriptor = null;
-
- public ApplicationClientFileImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- protected EClass eStaticClass() {
- return CommonarchivePackage.eINSTANCE.getApplicationClientFile();
- }
-
- /**
- * @throws DeploymentDescriptorLoadException -
- * is a runtime exception, because we can't override the signature of the generated
- * methods
- */
- public ApplicationClient getDeploymentDescriptor() throws DeploymentDescriptorLoadException {
- ApplicationClient dd = this.getDeploymentDescriptorGen();
- if (dd == null && canLazyInitialize()) {
- try {
- getImportStrategy().importMetaData();
- } catch (Exception e) {
- throw new DeploymentDescriptorLoadException(getDeploymentDescriptorUri(), e);
- }
- }
-
- return this.getDeploymentDescriptorGen();
- }
-
- /**
- * @see com.ibm.etools.commonarchive.impl.ModuleFileImpl
- */
- public java.lang.String getDeploymentDescriptorUri() {
- return J2EEConstants.APP_CLIENT_DD_URI;
- }
-
- /**
- * Return the DeployementDescriptor.
- */
- public EObject getStandardDeploymentDescriptor() throws DeploymentDescriptorLoadException {
- return getDeploymentDescriptor();
- }
-
- /**
- * @see com.ibm.etools.commonarchive.File
- */
- public boolean isApplicationClientFile() {
- return true;
- }
-
- public boolean isDeploymentDescriptorSet() {
- return deploymentDescriptor != null;
- }
-
- /**
- * @see com.ibm.etools.commonarchive.impl.ModuleFileImpl
- */
- public org.eclipse.emf.ecore.EObject makeDeploymentDescriptor(XMLResource resource) {
- ApplicationClient aClient = ((ClientPackage) EPackage.Registry.INSTANCE.getEPackage(ClientPackage.eNS_URI)).getClientFactory().createApplicationClient();
- resource.setID(aClient, J2EEConstants.APP_CLIENT_ID);
- setDeploymentDescriptorGen(aClient);
- resource.getContents().add(aClient);
- return aClient;
- }
-
- public void setDeploymentDescriptor(ApplicationClient l) {
- this.setDeploymentDescriptorGen(l);
- replaceRoot(getMofResourceMakeIfNecessary(getDeploymentDescriptorUri()), l);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case CommonarchivePackage.APPLICATION_CLIENT_FILE__CONTAINER :
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, CommonarchivePackage.APPLICATION_CLIENT_FILE__CONTAINER, msgs);
- case CommonarchivePackage.APPLICATION_CLIENT_FILE__FILES :
- return ((InternalEList) getFiles()).basicAdd(otherEnd, msgs);
- default :
- return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
- }
- }
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case CommonarchivePackage.APPLICATION_CLIENT_FILE__CONTAINER :
- return eBasicSetContainer(null, CommonarchivePackage.APPLICATION_CLIENT_FILE__CONTAINER, msgs);
- case CommonarchivePackage.APPLICATION_CLIENT_FILE__FILES :
- return ((InternalEList) getFiles()).basicRemove(otherEnd, msgs);
- default :
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
- if (eContainerFeatureID >= 0) {
- switch (eContainerFeatureID) {
- case CommonarchivePackage.APPLICATION_CLIENT_FILE__CONTAINER :
- return eContainer.eInverseRemove(this, CommonarchivePackage.CONTAINER__FILES, Container.class, msgs);
- default :
- return eDynamicBasicRemoveFromContainer(msgs);
- }
- }
- return eContainer.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.APPLICATION_CLIENT_FILE__URI :
- return getURI();
- case CommonarchivePackage.APPLICATION_CLIENT_FILE__LAST_MODIFIED :
- return new Long(getLastModified());
- case CommonarchivePackage.APPLICATION_CLIENT_FILE__SIZE :
- return new Long(getSize());
- case CommonarchivePackage.APPLICATION_CLIENT_FILE__DIRECTORY_ENTRY :
- return isDirectoryEntry() ? Boolean.TRUE : Boolean.FALSE;
- case CommonarchivePackage.APPLICATION_CLIENT_FILE__ORIGINAL_URI :
- return getOriginalURI();
- case CommonarchivePackage.APPLICATION_CLIENT_FILE__LOADING_CONTAINER :
- if (resolve)
- return getLoadingContainer();
- return basicGetLoadingContainer();
- case CommonarchivePackage.APPLICATION_CLIENT_FILE__CONTAINER :
- return getContainer();
- case CommonarchivePackage.APPLICATION_CLIENT_FILE__FILES :
- return getFiles();
- case CommonarchivePackage.APPLICATION_CLIENT_FILE__TYPES :
- return getTypes();
- case CommonarchivePackage.APPLICATION_CLIENT_FILE__DEPLOYMENT_DESCRIPTOR :
- if (resolve)
- return getDeploymentDescriptor();
- return basicGetDeploymentDescriptor();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.APPLICATION_CLIENT_FILE__URI :
- return URI_EDEFAULT == null ? uri != null : !URI_EDEFAULT.equals(uri);
- case CommonarchivePackage.APPLICATION_CLIENT_FILE__LAST_MODIFIED :
- return isSetLastModified();
- case CommonarchivePackage.APPLICATION_CLIENT_FILE__SIZE :
- return isSetSize();
- case CommonarchivePackage.APPLICATION_CLIENT_FILE__DIRECTORY_ENTRY :
- return isSetDirectoryEntry();
- case CommonarchivePackage.APPLICATION_CLIENT_FILE__ORIGINAL_URI :
- return ORIGINAL_URI_EDEFAULT == null ? originalURI != null : !ORIGINAL_URI_EDEFAULT.equals(originalURI);
- case CommonarchivePackage.APPLICATION_CLIENT_FILE__LOADING_CONTAINER :
- return loadingContainer != null;
- case CommonarchivePackage.APPLICATION_CLIENT_FILE__CONTAINER :
- return getContainer() != null;
- case CommonarchivePackage.APPLICATION_CLIENT_FILE__FILES :
- return files != null && !files.isEmpty();
- case CommonarchivePackage.APPLICATION_CLIENT_FILE__TYPES :
- return types != null && !types.isEmpty();
- case CommonarchivePackage.APPLICATION_CLIENT_FILE__DEPLOYMENT_DESCRIPTOR :
- return deploymentDescriptor != null;
- }
- return eDynamicIsSet(eFeature);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.APPLICATION_CLIENT_FILE__URI :
- setURI((String) newValue);
- return;
- case CommonarchivePackage.APPLICATION_CLIENT_FILE__LAST_MODIFIED :
- setLastModified(((Long) newValue).longValue());
- return;
- case CommonarchivePackage.APPLICATION_CLIENT_FILE__SIZE :
- setSize(((Long) newValue).longValue());
- return;
- case CommonarchivePackage.APPLICATION_CLIENT_FILE__DIRECTORY_ENTRY :
- setDirectoryEntry(((Boolean) newValue).booleanValue());
- return;
- case CommonarchivePackage.APPLICATION_CLIENT_FILE__ORIGINAL_URI :
- setOriginalURI((String) newValue);
- return;
- case CommonarchivePackage.APPLICATION_CLIENT_FILE__LOADING_CONTAINER :
- setLoadingContainer((Container) newValue);
- return;
- case CommonarchivePackage.APPLICATION_CLIENT_FILE__CONTAINER :
- setContainer((Container) newValue);
- return;
- case CommonarchivePackage.APPLICATION_CLIENT_FILE__FILES :
- getFiles().clear();
- getFiles().addAll((Collection) newValue);
- return;
- case CommonarchivePackage.APPLICATION_CLIENT_FILE__TYPES :
- getTypes().clear();
- getTypes().addAll((Collection) newValue);
- return;
- case CommonarchivePackage.APPLICATION_CLIENT_FILE__DEPLOYMENT_DESCRIPTOR :
- setDeploymentDescriptor((ApplicationClient) newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.APPLICATION_CLIENT_FILE__URI :
- setURI(URI_EDEFAULT);
- return;
- case CommonarchivePackage.APPLICATION_CLIENT_FILE__LAST_MODIFIED :
- unsetLastModified();
- return;
- case CommonarchivePackage.APPLICATION_CLIENT_FILE__SIZE :
- unsetSize();
- return;
- case CommonarchivePackage.APPLICATION_CLIENT_FILE__DIRECTORY_ENTRY :
- unsetDirectoryEntry();
- return;
- case CommonarchivePackage.APPLICATION_CLIENT_FILE__ORIGINAL_URI :
- setOriginalURI(ORIGINAL_URI_EDEFAULT);
- return;
- case CommonarchivePackage.APPLICATION_CLIENT_FILE__LOADING_CONTAINER :
- setLoadingContainer((Container) null);
- return;
- case CommonarchivePackage.APPLICATION_CLIENT_FILE__CONTAINER :
- setContainer((Container) null);
- return;
- case CommonarchivePackage.APPLICATION_CLIENT_FILE__FILES :
- getFiles().clear();
- return;
- case CommonarchivePackage.APPLICATION_CLIENT_FILE__TYPES :
- getTypes().clear();
- return;
- case CommonarchivePackage.APPLICATION_CLIENT_FILE__DEPLOYMENT_DESCRIPTOR :
- setDeploymentDescriptor((ApplicationClient) null);
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- public ApplicationClient getDeploymentDescriptorGen() {
- if (deploymentDescriptor != null && deploymentDescriptor.eIsProxy()) {
- ApplicationClient oldDeploymentDescriptor = deploymentDescriptor;
- deploymentDescriptor = (ApplicationClient) EcoreUtil.resolve(deploymentDescriptor, this);
- if (deploymentDescriptor != oldDeploymentDescriptor) {
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, CommonarchivePackage.APPLICATION_CLIENT_FILE__DEPLOYMENT_DESCRIPTOR, oldDeploymentDescriptor, deploymentDescriptor));
- }
- }
- return deploymentDescriptor;
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public ApplicationClient basicGetDeploymentDescriptor() {
- return deploymentDescriptor;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void setDeploymentDescriptorGen(ApplicationClient newDeploymentDescriptor) {
- ApplicationClient oldDeploymentDescriptor = deploymentDescriptor;
- deploymentDescriptor = newDeploymentDescriptor;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, CommonarchivePackage.APPLICATION_CLIENT_FILE__DEPLOYMENT_DESCRIPTOR, oldDeploymentDescriptor, deploymentDescriptor));
- }
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/ArchiveCopySessionUtility.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/ArchiveCopySessionUtility.java
deleted file mode 100644
index cf4868ec2..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/ArchiveCopySessionUtility.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.impl;
-
-
-import java.util.List;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jst.j2ee.ejb.CMPAttribute;
-import org.eclipse.jst.j2ee.ejb.ContainerManagedEntity;
-import org.eclipse.jst.j2ee.internal.common.XMLResource;
-import org.eclipse.wst.common.internal.emf.utilities.EtoolsCopySession;
-import org.eclipse.wst.common.internal.emf.utilities.EtoolsCopyUtility;
-
-
-/**
- * OverRide class to use the proper copying of XMLResource doctypes. Had to create this class Due to
- * the way it's handled in the copy commands of EtoolsCopyUtility
- *
- * Creation date: (11/18/01 88888888:48 PM)
- *
- * @author: Jared Jurkiewicz
- */
-public class ArchiveCopySessionUtility extends EtoolsCopySession {
- public EObject copy(EObject aRefObject, String idSuffix) {
- EObject copied = super.copy(aRefObject, idSuffix);
- if (copied instanceof ContainerManagedEntity)
- copyPrimKeyInfo((ContainerManagedEntity) aRefObject, (ContainerManagedEntity) copied);
- return copied;
- }
-
- public EObject primCopy(EObject aRefObject, String idSuffix) {
- EObject copied = super.primCopy(aRefObject, idSuffix);
- if (copied instanceof ContainerManagedEntity)
- copyPrimKeyInfo((ContainerManagedEntity) aRefObject, (ContainerManagedEntity) copied);
- return copied;
- }
-
- public ArchiveCopySessionUtility(EtoolsCopyUtility aCopyUtility) {
- super(aCopyUtility);
- }
-
- /**
- * @see com.ibm.etools.emf.ecore.utilities.copy.EtoolsCopySession#newInstance(Resource, String)
- */
- public Resource newInstance(Resource aResource, String newUri) {
- Resource copyResource = super.newInstance(aResource, newUri);
-
- if (aResource instanceof XMLResource)
- ((XMLResource) copyResource).setVersionID(((XMLResource) aResource).getVersionID());
- return copyResource;
- }
-
- public EObject getCopyIfFound(EObject anObject) {
- EObject copiedObject = super.getCopyIfFound(anObject);
- if ((anObject instanceof JavaClass) && (anObject == copiedObject)) {
- copiedObject = newInstance(anObject);
- URI uri = EcoreUtil.getURI(anObject);
- ((InternalEObject) copiedObject).eSetProxyURI(uri);
- }
- return copiedObject;
- }
-
- public EObject copyObject(EObject aRefObject, String idSuffix) {
- EObject copied = super.copyObject(aRefObject, idSuffix);
- if (copied instanceof ContainerManagedEntity)
- copyPrimKeyInfo((ContainerManagedEntity) aRefObject, (ContainerManagedEntity) copied);
- return copied;
- }
-
- public void copyPrimKeyInfo(ContainerManagedEntity source, ContainerManagedEntity copied) {
- CMPAttribute primKeyField = source.getPrimKeyField();
- if (primKeyField != null)
- copied.setPrimKeyField(primKeyField);
- }
-
- /*
- * Super class override to handle unresolvable proxies (JavaClass)
- */
-
- protected void copyReference(EReference aReference, EObject aRefObject, String idSuffix, EObject copyRef) {
- if (aReference.isMany()) {
- List value = (List) aRefObject.eGet(aReference);
- if (value != null)
- copyManyReference(aReference, value, aRefObject, idSuffix, copyRef);
- } else if (aRefObject.eIsSet(aReference)) {
- Object value = aRefObject.eGet(aReference);
- if (value == null)
- value = ((InternalEObject) aRefObject).eGet(aReference, false);
- copySingleReference(aReference, (EObject) value, aRefObject, idSuffix, copyRef);
- }
- }
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/ArchiveCopyUtility.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/ArchiveCopyUtility.java
deleted file mode 100644
index 95f69034b..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/ArchiveCopyUtility.java
+++ /dev/null
@@ -1,239 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.impl;
-
-
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonArchiveResourceHandler;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.File;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ModuleFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.WARFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.ArchiveRuntimeException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DuplicateObjectException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveManifest;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveManifestImpl;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.util.ArchiveUtil;
-import org.eclipse.jst.j2ee.internal.J2EEConstants;
-import org.eclipse.jst.j2ee.internal.common.util.Defaultable;
-import org.eclipse.jst.j2ee.webapplication.FilterMapping;
-import org.eclipse.wst.common.internal.emf.utilities.CopyGroup;
-import org.eclipse.wst.common.internal.emf.utilities.EtoolsCopySession;
-import org.eclipse.wst.common.internal.emf.utilities.EtoolsCopyUtility;
-
-
-
-/**
- * Insert the type's description here. Creation date: (12/18/00 6:26:48 PM)
- *
- * @author: Administrator
- */
-public class ArchiveCopyUtility extends EtoolsCopyUtility {
- /**
- * ModuleFileCopyUtiltity constructor comment.
- */
- public ArchiveCopyUtility() {
- super();
- setCopyAdapters(true);
- }
-
- /*
- * End of code pulled from EtoolsCopyUtility to over-ride the primCopy method.
- */
-
- protected void addDeferredSingleReferenceCopy(EReference reference, EObject aValue, String idSuffix, EObject aCopyContainer) {
- if (((Defaultable) aValue).isDefault())
- return;
- super.addDeferredSingleReferenceCopy(reference, aValue, idSuffix, aCopyContainer);
- }
-
- public ArchiveManifest copy(ArchiveManifest mf) {
- try {
- ByteArrayOutputStream out = new ByteArrayOutputStream();
- mf.write(out);
- InputStream in = new ByteArrayInputStream(out.toByteArray());
- return new ArchiveManifestImpl(in);
- } catch (IOException iox) {
- //This should almost never happen, unless there is an issure with memory allocation
- throw new ArchiveRuntimeException(CommonArchiveResourceHandler.getString("IOException_occurred_while_EXC_"), iox); //$NON-NLS-1$ = "IOException occurred while copying manifest"
- }
- }
-
- public Archive copy(Archive anArchive) {
-
- //First create a copy group and copy util; copy the archive and all its resources
- CopyGroup copyGroup = new CopyGroup();
- copyGroup.setPreserveIds(true);
- prepareResourcesForCopy(anArchive, copyGroup);
- copyGroup.add(anArchive);
- this.copy(copyGroup);
-
- Archive copiedArchive = (Archive) getCopy(anArchive);
-
- finishCopy(anArchive, copiedArchive, copyGroup);
- return copiedArchive;
- }
-
- public ModuleFile copy(ModuleFile aModuleFile) {
- /**
- * Timing issue; if the resources containing the bindings, extensions, and dd have not yet
- * be loaded, force that before the copy occurs; otherwise, they will get loaded as the
- * accessors are invoked during copy. Because they will be loaded but not copied into the
- * new archive's context, then changes will not get saved. By forcing the load before the
- * copy commences, the loaded resources will also be copied to the new archive
- */
- aModuleFile.getStandardDeploymentDescriptor();
-
- /*
- * RLS-8/12/2002 Hack to fix botp defect "141640-failed to install .war file with
- * filter-mapping" The problem is that there is a transient field on the filter mapping
- * class for the servlet name the relationship to the servlet is lazily populated the first
- * time it is requested. If we don't trip it, then it won't get copied.
- */
-
- if (aModuleFile.isWARFile()) {
- List filterMappings = ((WARFile) aModuleFile).getDeploymentDescriptor().getFilterMappings();
- for (int i = 0; i < filterMappings.size(); i++) {
- ((FilterMapping) filterMappings.get(i)).getServlet();
- }
- }
- ModuleFile copied = (ModuleFile) copy((Archive) aModuleFile);
-
- return copied;
- }
-
- /*
- * The following methods were pulled out of EtoolsCopyUtility so we can over-ride the
- * EtoolsCopySession object with our own such that doictypes do get preserved with XML
- * Resources.
- */
- public void copy(CopyGroup aGroup) {
- if (aGroup != null) {
- EtoolsCopySession session = new ArchiveCopySessionUtility(this);
- session.setPreserveIds(aGroup.getPreserveIds());
- session.copy(aGroup);
- session.flush();
- }
- }
-
- public EObject copy(EObject aRefObject, String idSuffix) {
- EtoolsCopySession session = new ArchiveCopySessionUtility(this);
- EObject copied = session.copy(aRefObject, idSuffix);
- session.flush();
- return copied;
- }
-
- public Resource copy(Resource aResource, String newUri) {
- EtoolsCopySession session = new ArchiveCopySessionUtility(this);
- Resource copied = session.copy(aResource, newUri);
- session.flush();
- return copied;
- }
-
- protected void copyImportStrategyIfNecessary(ModuleFile aModuleFile, ModuleFile copy) {
- if (!aModuleFile.isDeploymentDescriptorSet())
- copy.setImportStrategy(aModuleFile.getImportStrategy().createImportStrategy(aModuleFile, copy));
- }
-
- public EObject copyObject(EObject aRefObject, String idSuffix) {
- EtoolsCopySession session = new ArchiveCopySessionUtility(this);
- EObject copied = session.copyObject(aRefObject, idSuffix);
- session.flush();
- return copied;
- }
-
- public static void createCopy(CopyGroup aGroup) {
- ArchiveCopyUtility utility = new ArchiveCopyUtility();
- utility.copy(aGroup);
- }
-
- protected void finishCopy(Archive source, Archive copy, CopyGroup group) {
-
- copy.setLoadStrategy(getCommonarchiveFactory().createEmptyLoadStrategy());
- copy.setExtraClasspath(source.getExtraClasspath());
- copy.setXmlEncoding(source.getXmlEncoding());
- if (source.isManifestSet()) {
- copy.setManifest(copy(source.getManifest()));
- } else {
- try {
- File manifestToCopy = source.getFile(J2EEConstants.MANIFEST_URI);
- if (manifestToCopy != null) {
- File copiedManifest = (File) getCopy(manifestToCopy);
- copiedManifest.setLoadingContainer(manifestToCopy.getLoadingContainer());
- copy.addCopy(copiedManifest);
- }
- } catch (FileNotFoundException e) {
- //Ignore
- } catch (DuplicateObjectException e) {
- //Ignore
- }
- }
- retrieveResourcesFromCopy(copy, group);
-
- if (source.isModuleFile())
- copyImportStrategyIfNecessary((ModuleFile) source, (ModuleFile) copy);
-
- List files = source.getFiles();
- for (int i = 0; i < files.size(); i++) {
- File aFile = (File) files.get(i);
- File copiedFile = (File) getCopy(aFile);
- copiedFile.setLoadingContainer(aFile.getLoadingContainer());
- if (aFile.isArchive())
- finishNestedCopy((Archive) aFile, (Archive) copiedFile);
- }
- //Notification was suspended during copy; therefore we need to make sure the files
- //In the archive get indexed
- copy.rebuildFileIndex();
- }
-
- protected void finishNestedCopy(Archive source, Archive copy) {
-
- CopyGroup group = new CopyGroup();
- prepareResourcesForCopy(source, group);
- copy(group);
- finishCopy(source, copy, group);
- }
-
- private CommonarchiveFactory getCommonarchiveFactory() {
- return CommonarchivePackage.eINSTANCE.getCommonarchiveFactory();
- }
-
- protected void prepareResourcesForCopy(Archive anArchive, CopyGroup copyGroup) {
- Iterator iter = anArchive.getLoadedMofResources().iterator();
- while (iter.hasNext()) {
- Resource resource = (Resource) iter.next();
- if (!ArchiveUtil.isJavaResource(resource))
- copyGroup.add(resource);
- }
- }
-
- protected void retrieveResourcesFromCopy(Archive copiedArchive, CopyGroup copyGroup) {
-
- List resources = copyGroup.getCopiedResources();
- for (int i = 0; i < resources.size(); i++) {
- Resource copiedResource = (Resource) resources.get(i);
- copiedArchive.addOrReplaceMofResource(copiedResource);
- }
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/ArchiveImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/ArchiveImpl.java
deleted file mode 100644
index 8d53a8031..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/ArchiveImpl.java
+++ /dev/null
@@ -1,1602 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.impl;
-
-
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.WrappedException;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.jem.internal.java.adapters.ReadAdaptor;
-import org.eclipse.jem.internal.java.adapters.jdk.JavaJDKAdapterFactory;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ArchiveTypeDiscriminatorRegistry;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonArchiveResourceHandler;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Container;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.File;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ReadOnlyDirectory;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DuplicateObjectException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.ManifestException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.OpenFailureException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.ReopenException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.ResourceLoadException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.SaveFailureException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveManifest;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveManifestImpl;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveOptions;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.RuntimeClasspathEntry;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.RuntimeClasspathEntryImpl;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.SaveFilter;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseArchive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.DirectorySaveStrategyImpl;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.LoadStrategy;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.SaveStrategy;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.ZipStreamSaveStrategyImpl;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.util.ArchiveFileDynamicClassLoader;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.util.ArchiveUtil;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.util.ClasspathUtil;
-import org.eclipse.jst.j2ee.internal.J2EEConstants;
-import org.eclipse.wst.common.internal.emf.utilities.EtoolsCopyUtility;
-import org.eclipse.wst.common.internal.emf.utilities.ExtendedEcoreUtil;
-
-
-/**
- * @generated
- */
-public class ArchiveImpl extends ContainerImpl implements Archive {
-
- /**
- * The cached value of the '{@link #getTypes() <em>Types</em>}' attribute list. <!--
- * begin-user-doc --> <!-- end-user-doc -->
- *
- * @see #getTypes()
- * @generated
- * @ordered
- */
- protected EList types = null;
-
- /** Our specialized manifest */
- protected ArchiveManifest manifest;
-
- /** Implementer for saving this archive */
- protected SaveStrategy saveStrategy;
-
- /**
- * Optional filter for saving a subset of files; filter will be applied for all save and extract
- * invokations
- */
- protected SaveFilter saveFilter;
-
- /** Encoding to be used for all xmi resources and xml dds; defaults to UTF-8 */
- protected String xmlEncoding = J2EEConstants.DEFAULT_XML_ENCODING;
-
- /** Custom class loader used to load classes from the archive */
- protected ClassLoader archiveClassLoader;
-
- /**
- * path of the standard classpath format where the archive may look for classes not found in the
- * system classpath or in the archive - used for java reflection
- */
- protected String extraClasspath;
-
- protected ArchiveOptions options;
-
- public ArchiveImpl() {
- super();
- getCommonArchiveFactory().archiveOpened(this);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- protected EClass eStaticClass() {
- return CommonarchivePackage.eINSTANCE.getArchive();
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EList getTypes() {
- if (types == null) {
- types = new EDataTypeUniqueEList(String.class, this, CommonarchivePackage.ARCHIVE__TYPES);
- }
- return types;
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case CommonarchivePackage.ARCHIVE__CONTAINER :
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, CommonarchivePackage.ARCHIVE__CONTAINER, msgs);
- case CommonarchivePackage.ARCHIVE__FILES :
- return ((InternalEList) getFiles()).basicAdd(otherEnd, msgs);
- default :
- return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
- }
- }
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case CommonarchivePackage.ARCHIVE__CONTAINER :
- return eBasicSetContainer(null, CommonarchivePackage.ARCHIVE__CONTAINER, msgs);
- case CommonarchivePackage.ARCHIVE__FILES :
- return ((InternalEList) getFiles()).basicRemove(otherEnd, msgs);
- default :
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
- if (eContainerFeatureID >= 0) {
- switch (eContainerFeatureID) {
- case CommonarchivePackage.ARCHIVE__CONTAINER :
- return eContainer.eInverseRemove(this, CommonarchivePackage.CONTAINER__FILES, Container.class, msgs);
- default :
- return eDynamicBasicRemoveFromContainer(msgs);
- }
- }
- return eContainer.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.ARCHIVE__URI :
- return getURI();
- case CommonarchivePackage.ARCHIVE__LAST_MODIFIED :
- return new Long(getLastModified());
- case CommonarchivePackage.ARCHIVE__SIZE :
- return new Long(getSize());
- case CommonarchivePackage.ARCHIVE__DIRECTORY_ENTRY :
- return isDirectoryEntry() ? Boolean.TRUE : Boolean.FALSE;
- case CommonarchivePackage.ARCHIVE__ORIGINAL_URI :
- return getOriginalURI();
- case CommonarchivePackage.ARCHIVE__LOADING_CONTAINER :
- if (resolve)
- return getLoadingContainer();
- return basicGetLoadingContainer();
- case CommonarchivePackage.ARCHIVE__CONTAINER :
- return getContainer();
- case CommonarchivePackage.ARCHIVE__FILES :
- return getFiles();
- case CommonarchivePackage.ARCHIVE__TYPES :
- return getTypes();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.ARCHIVE__URI :
- setURI((String) newValue);
- return;
- case CommonarchivePackage.ARCHIVE__LAST_MODIFIED :
- setLastModified(((Long) newValue).longValue());
- return;
- case CommonarchivePackage.ARCHIVE__SIZE :
- setSize(((Long) newValue).longValue());
- return;
- case CommonarchivePackage.ARCHIVE__DIRECTORY_ENTRY :
- setDirectoryEntry(((Boolean) newValue).booleanValue());
- return;
- case CommonarchivePackage.ARCHIVE__ORIGINAL_URI :
- setOriginalURI((String) newValue);
- return;
- case CommonarchivePackage.ARCHIVE__LOADING_CONTAINER :
- setLoadingContainer((Container) newValue);
- return;
- case CommonarchivePackage.ARCHIVE__CONTAINER :
- setContainer((Container) newValue);
- return;
- case CommonarchivePackage.ARCHIVE__FILES :
- getFiles().clear();
- getFiles().addAll((Collection) newValue);
- return;
- case CommonarchivePackage.ARCHIVE__TYPES :
- getTypes().clear();
- getTypes().addAll((Collection) newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.ARCHIVE__URI :
- setURI(URI_EDEFAULT);
- return;
- case CommonarchivePackage.ARCHIVE__LAST_MODIFIED :
- unsetLastModified();
- return;
- case CommonarchivePackage.ARCHIVE__SIZE :
- unsetSize();
- return;
- case CommonarchivePackage.ARCHIVE__DIRECTORY_ENTRY :
- unsetDirectoryEntry();
- return;
- case CommonarchivePackage.ARCHIVE__ORIGINAL_URI :
- setOriginalURI(ORIGINAL_URI_EDEFAULT);
- return;
- case CommonarchivePackage.ARCHIVE__LOADING_CONTAINER :
- setLoadingContainer((Container) null);
- return;
- case CommonarchivePackage.ARCHIVE__CONTAINER :
- setContainer((Container) null);
- return;
- case CommonarchivePackage.ARCHIVE__FILES :
- getFiles().clear();
- return;
- case CommonarchivePackage.ARCHIVE__TYPES :
- getTypes().clear();
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.ARCHIVE__URI :
- return URI_EDEFAULT == null ? uri != null : !URI_EDEFAULT.equals(uri);
- case CommonarchivePackage.ARCHIVE__LAST_MODIFIED :
- return isSetLastModified();
- case CommonarchivePackage.ARCHIVE__SIZE :
- return isSetSize();
- case CommonarchivePackage.ARCHIVE__DIRECTORY_ENTRY :
- return isSetDirectoryEntry();
- case CommonarchivePackage.ARCHIVE__ORIGINAL_URI :
- return ORIGINAL_URI_EDEFAULT == null ? originalURI != null : !ORIGINAL_URI_EDEFAULT.equals(originalURI);
- case CommonarchivePackage.ARCHIVE__LOADING_CONTAINER :
- return loadingContainer != null;
- case CommonarchivePackage.ARCHIVE__CONTAINER :
- return getContainer() != null;
- case CommonarchivePackage.ARCHIVE__FILES :
- return files != null && !files.isEmpty();
- case CommonarchivePackage.ARCHIVE__TYPES :
- return types != null && !types.isEmpty();
- }
- return eDynamicIsSet(eFeature);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public String toString() {
- if (eIsProxy())
- return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (types: "); //$NON-NLS-1$
- result.append(types);
- result.append(')');
- return result.toString();
- }
-
- /**
- * @see com.ibm.etools.commonarchive.Archive
- */
- public Archive addCopy(Archive anArchive) throws org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DuplicateObjectException {
- checkAddValid(anArchive);
- Archive copy = getCommonArchiveFactory().copy(anArchive);
- getFiles().add(copy);
- return copy;
- }
-
- /**
- * @see com.ibm.etools.commonarchive.Archive Adds a copy of the parameter to this archive
- * @throws com.ibm.etools.archive.exception.DuplicateObjectException
- * if the archive already contains a file with the specified uri
- */
- public File addCopy(File aFile) throws DuplicateObjectException {
- if (aFile.isReadOnlyDirectory()) {
- addCopy((ReadOnlyDirectory) aFile);
- return null;
- }
- checkAddValid(aFile);
- File copy = copy(aFile);
- getFiles().add(copy);
- return copy;
- }
-
- /**
- * Get a flattened list from the directory, then addCopy the list
- *
- * @throws com.ibm.etools.archive.exception.DuplicateObjectException
- * if a file with a uri that equals one of the nested files in the directory exists
- *
- * @return java.util.List the copied files that were added to the archive
- */
- public java.util.List addCopy(ReadOnlyDirectory dir) throws org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DuplicateObjectException {
- return addCopyFiles(dir.getFilesRecursive());
- }
-
- /**
- * @see com.ibm.etools.commonarchive.Archive
- */
- public List addCopyFiles(java.util.List list) throws org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DuplicateObjectException {
- //Optimization - make sure the fileIndex is already built to speed up
- // containsFile
- getFiles();
- List copyList = new ArrayList();
- for (int i = 0; i < list.size(); i++) {
- File aFile = (File) list.get(i);
- checkAddValid(aFile);
- copyList.add(copy(aFile));
- }
- getFiles().addAll(copyList);
- return copyList;
- }
-
- /**
- * @see com.ibm.etools.commonarchive.Archive
- */
- public void addOrReplaceMofResource(org.eclipse.emf.ecore.resource.Resource aResource) {
- getLoadStrategy().addOrReplaceMofResource(aResource);
- }
-
- /**
- * @deprecated Use {@link #getDependentOpenArchives()}
- * @see com.ibm.etools.commonarchive.Archive
- */
- public boolean canClose() {
- return !getCommonArchiveFactory().getOpenArchivesDependingOn(this).isEmpty();
- }
-
- protected void checkAddValid(File aFile) throws DuplicateObjectException {
- checkAddValid(aFile.getURI());
- }
-
- protected void checkAddValid(String aUri) throws DuplicateObjectException {
- try {
- File f = getFile(aUri);
- if (f != null)
- throw new DuplicateObjectException(CommonArchiveResourceHandler.getString("duplicate_file_EXC_", (new Object[]{getURI(), aUri})), f); //$NON-NLS-1$ = "The archive named {0} already contains a file named {1}"
- } catch (FileNotFoundException ok) {
- //Ignore
- }
- }
-
- protected void cleanupAfterTempSave(String aUri, java.io.File original, java.io.File destinationFile) throws SaveFailureException {
-
- checkWriteable(original);
- boolean deleteWorked = false;
- if (original.isDirectory() && !isRenameable(original)) {
- throw new SaveFailureException(CommonArchiveResourceHandler.getString("unable_replace_EXC_", (new Object[]{original.getAbsolutePath()}))); //$NON-NLS-1$ = "Unable to replace original archive "
- }
-
- for (int i = 0; i < 10; i++) {
- if (ArchiveUtil.delete(original)) {
- deleteWorked = true;
- break;
- }
- try {
- // TODO Major hack here; the problem is that a previous call
- // to close the source file may not yet have
- //been reflected in the os/vm; therefore a subsequent call
- // to delete fails. To get around this,
- //wait for a bit and retry; if it continues to fail, then
- // time out and throw an exception
- Thread.sleep(250);
- } catch (InterruptedException e) {
- //Ignore
- }
- }
- if (deleteWorked) {
- for (int i = 0; i < 10; i++) {
- if (destinationFile.renameTo(original))
- return;
- try {
- Thread.sleep(250);
- } catch (InterruptedException e) {
- //Ignore
- }
- }
- }
- throw new SaveFailureException(CommonArchiveResourceHandler.getString("unable_replace_EXC_", (new Object[]{original.getAbsolutePath()}))); //$NON-NLS-1$ = "Unable to replace original archive "
- }
-
- /**
- * @see com.ibm.etools.commonarchive.Archive
- */
- public void close() {
- getLoadStrategy().close();
- releaseClassLoader();
- getCommonArchiveFactory().archiveClosed(this);
- if (isIndexed()) {
- List archives = getArchiveFiles();
- for (int i = 0; i < archives.size(); i++) {
- ((Archive) archives.get(i)).close();
- }
- }
- }
-
- protected File copy(File aFile) {
- File copy = null;
- if (aFile.isArchive())
- copy = getCommonArchiveFactory().copy((Archive) aFile);
- else
- copy = (File) EtoolsCopyUtility.createCopy(aFile);
- return copy;
- }
-
- protected LoadStrategy createLoadStrategyForReopen(Archive parent) throws IOException {
- LoadStrategy aLoadStrategy = null;
- LooseArchive loose = getLoadStrategy().getLooseArchive();
-
- if (loose != null) {
- aLoadStrategy = getCommonArchiveFactory().createLoadStrategy(loose.getBinariesPath());
- aLoadStrategy.setLooseArchive(loose);
- } else if (parent == null)
- aLoadStrategy = getCommonArchiveFactory().createLoadStrategy(getURI());
- else
- aLoadStrategy = getCommonArchiveFactory().createChildLoadStrategy(getURI(), parent.getLoadStrategy());
-
- return aLoadStrategy;
- }
-
- protected RuntimeClasspathEntry createRuntimeClasspathEntry(String absolutePath) {
- RuntimeClasspathEntry entry = new RuntimeClasspathEntryImpl();
- entry.setAbsolutePath(absolutePath);
- return entry;
- }
-
- /**
- * Convert all the classpath entries to absolute paths
- */
- protected List createRuntimeClasspathEntries(String[] entries, String parentPath) {
-
- List aList = new ArrayList(entries.length);
- for (int i = 0; i < entries.length; i++) {
- String entry = entries[i];
- /*
- * Added for loose module support - if the cananonicalized entry resolves to an archive
- * in the containing ear, then add the absolute path of that archive
- */
- Archive dependentJar = resolveClasspathEntryInEAR(entry);
- if (dependentJar != null) {
- try {
- RuntimeClasspathEntry runEntry = createRuntimeClasspathEntry(dependentJar.getBinariesPath(), entry);
- runEntry.setReferencedArchive(dependentJar);
- aList.add(runEntry);
- continue;
- } catch (FileNotFoundException shouldntHappenInRuntime) {
- //Ignore
- }
- }
- //Otherwise, compute the absolute path of the entry relative to
- // this jar
- java.io.File aFile = new java.io.File(entry);
- String absPath = null;
- if (aFile.isAbsolute())
- absPath = aFile.getAbsolutePath();
- else {
- absPath = ArchiveUtil.getOSUri(parentPath, entry);
- absPath = ClasspathUtil.normalizePath(absPath);
- }
- aList.add(createRuntimeClasspathEntry(absPath, entry));
- }
-
- return aList;
- }
-
- protected RuntimeClasspathEntry createRuntimeClasspathEntry(String absolutePath, String manifestValue) {
- RuntimeClasspathEntry entry = createRuntimeClasspathEntry(absolutePath);
- entry.setManifestValue(manifestValue);
- return entry;
- }
-
- protected SaveStrategy createSaveStrategyForDirectory(java.io.File dir, int expansionFlags) {
- return new DirectorySaveStrategyImpl(dir.getAbsolutePath(), expansionFlags);
- }
-
- protected SaveStrategy createSaveStrategyForDirectory(String aUri, int expansionFlags) {
- return new DirectorySaveStrategyImpl(aUri, expansionFlags);
- }
-
- protected SaveStrategy createSaveStrategyForJar(java.io.File aFile) throws java.io.IOException {
- if (aFile.exists() && aFile.isDirectory())
- throw new IOException(CommonArchiveResourceHandler.getString("file_exist_as_dir_EXC_", (new Object[]{aFile.getAbsolutePath()})));//$NON-NLS-1$ = "A file named {0} exists and is a directory"
- java.io.File parent = aFile.getParentFile();
- if (parent != null)
- parent.mkdirs();
- java.io.OutputStream out = new java.io.FileOutputStream(aFile);
- return new ZipStreamSaveStrategyImpl(out);
- }
-
- /**
- * @see com.ibm.etools.commonarchive.Archive
- */
- public void extract(int expansionFlags) throws SaveFailureException, ReopenException {
- extractNoReopen(expansionFlags);
- reopen();
- }
-
- /**
- * @see com.ibm.etools.commonarchive.Archive
- */
- public void extractNoReopen(int expansionFlags) throws SaveFailureException {
- String aUri = getURI();
- java.io.File aDir = new java.io.File(aUri);
- boolean inUse = getLoadStrategy().isUsing(aDir);
-
- try {
- java.io.File destinationDir = inUse ? ArchiveUtil.createTempDirectory(aUri, aDir.getCanonicalFile().getParentFile()) : aDir;
- SaveStrategy aSaveStrategy = createSaveStrategyForDirectory(destinationDir, expansionFlags);
- save(aSaveStrategy);
- aSaveStrategy.close();
- close();
- if (inUse) {
- cleanupAfterTempSave(aUri, aDir, destinationDir);
- }
- } catch (java.io.IOException ex) {
- throw new SaveFailureException(CommonArchiveResourceHandler.getString("error_saving_EXC_", (new Object[]{uri})), ex); //$NON-NLS-1$ = "Error saving "
- }
- }
-
- /**
- * @see com.ibm.etools.commonarchive.Archive
- */
- public void extractTo(java.lang.String aUri, int expansionFlags) throws SaveFailureException {
- java.io.File aDir = new java.io.File(aUri);
- if (getLoadStrategy().isUsing(aDir))
- throw new SaveFailureException(CommonArchiveResourceHandler.getString("Extract_destination_is_the_EXC_")); //$NON-NLS-1$ = "Extract destination is the same path as source file"
-
- try {
- SaveStrategy aSaveStrategy = createSaveStrategyForDirectory(aDir, expansionFlags);
- save(aSaveStrategy);
- aSaveStrategy.close();
- } catch (java.io.IOException ex) {
- throw new SaveFailureException(CommonArchiveResourceHandler.getString("error_saving_EXC_", (new Object[]{aUri})), ex); //$NON-NLS-1$ = "Error saving "
- }
-
- }
-
- public java.util.List filterFilesByPrefix(String prefix) {
- return filterFiles(prefix, null);
- }
-
- public java.util.List filterFiles(String prefix, String[] suffixes) {
- List subset = new ArrayList();
- List theFiles = getFiles();
- for (int i = 0; i < theFiles.size(); i++) {
- File aFile = (File) theFiles.get(i);
- if (!aFile.isDirectoryEntry() && aFile.getURI().startsWith(prefix))
- if (suffixes == null || hasSuffix(aFile.getURI(), suffixes))
- subset.add(aFile);
- }
- return subset;
- }
-
- /**
- * @param uri
- * @param suffixes
- * @return
- */
- private boolean hasSuffix(String aUri, String[] suffixes) {
- for (int i = 0; i < suffixes.length; i++) {
- if (aUri.endsWith(suffixes[i]))
- return true;
- }
- return false;
- }
-
- public java.util.List filterFilesWithoutPrefix(String[] prefixes) {
- List subset = new ArrayList();
- List theFiles = getFiles();
- for (int i = 0; i < theFiles.size(); i++) {
- File aFile = (File) theFiles.get(i);
- if (aFile.isDirectoryEntry())
- continue;
- boolean shouldAdd = true;
- for (int j = 0; j < prefixes.length; j++) {
- if (aFile.getURI().startsWith(prefixes[j])) {
- shouldAdd = false;
- break;
- }
- }
- if (shouldAdd)
- subset.add(aFile);
- }
- return subset;
- }
-
- /**
- * Insert the method's description here. Creation date: (11/29/00 6:35:08 PM)
- *
- * @return java.lang.ClassLoader
- */
- public java.lang.ClassLoader getArchiveClassLoader() {
- if (archiveClassLoader == null)
- initializeClassLoader();
- return archiveClassLoader;
- }
-
- /**
- * @see com.ibm.etools.commonarchive.EARFile
- */
- public java.util.List getArchiveFiles() {
- List archives = new ArrayList();
- List fileList = getFiles();
- for (int i = 0; i < fileList.size(); i++) {
- File aFile = (File) fileList.get(i);
- if (aFile.isArchive()) {
- archives.add(aFile);
- }
- }
- return archives;
- }
-
- /**
- * Parse the manifest class path and the extra class path, and instantiate a URL classloader,
- * with a parent of the archiveClassLoader
- */
- protected ClassLoader getClassPathClassLoader(ClassLoader parentCl) {
-
- List classPathComponents = new ArrayList();
- if (getManifest() != null)
- classPathComponents.addAll(Arrays.asList(getManifest().getClassPathTokenized()));
- String extraCp = getExtraClasspath();
- if (extraCp != null)
- classPathComponents.addAll(Arrays.asList(ArchiveUtil.getTokens(extraCp, ";")));//$NON-NLS-1$
-
- java.net.URL[] urlArray = ArchiveUtil.toLocalURLs(classPathComponents, getRootForRelativeDependentJars());
- return new java.net.URLClassLoader(urlArray, parentCl);
- }
-
- public ResourceSet getResourceSet() {
- return getLoadStrategy().getResourceSet();
- }
-
- /**
- * Helper method to determine the parent for the custom class loader used by this archive
- */
- protected ClassLoader getDefaultClassLoader() {
- ClassLoader pluginClassLoader = getClass().getClassLoader();
- return pluginClassLoader == null ? ClassLoader.getSystemClassLoader() : pluginClassLoader;
- }
-
- /**
- * @see com.ibm.etools.commonarchive.Archive
- */
- public java.util.Set getDependentOpenArchives() {
- return getCommonArchiveFactory().getOpenArchivesDependingOn(this);
- }
-
- /**
- * Convert all the classpath entries to absolute paths
- */
- protected List getEntriesAsAbsolutePaths(String[] entries, String parentPath) {
-
- List aList = new ArrayList(entries.length);
- for (int i = 0; i < entries.length; i++) {
- String entry = entries[i];
- /*
- * Added for loose module support - if the cananonicalized entry resolves to an archive
- * in the containing ear, then add the absolute path of that archive
- */
- Archive dependentJar = resolveClasspathEntryInEAR(entry);
- if (dependentJar != null) {
- try {
- aList.add(dependentJar.getAbsolutePath());
- continue;
- } catch (FileNotFoundException shouldntHappenInRuntime) {
- //Ignore
- }
- }
- //Otherwise, compute the absolute path of the entry relative to
- // this jar
- java.io.File aFile = new java.io.File(entry);
- if (aFile.isAbsolute())
- aList.add(aFile.getAbsolutePath());
- else
- aList.add(ArchiveUtil.getOSUri(parentPath, entry));
- }
-
- return aList;
- }
-
- /**
- * Insert the method's description here. Creation date: (11/29/00 6:35:08 PM)
- *
- * @return java.lang.String
- */
- public String getExtraClasspath() {
- return extraClasspath;
- }
-
- /**
- * Used internally by the framework, specifically as an optimization when saving/exploding
- * archives with nested archives
- */
- public org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.FileIterator getFilesForSave() throws IOException {
- return getLoadStrategy().getFileIterator();
- }
-
- /**
- * @see com.ibm.etools.commonarchive.File
- */
- public java.io.InputStream getInputStream() throws java.io.FileNotFoundException, java.io.IOException {
- if (getLoadingContainer() != null || getLoadStrategy() == null || getLoadStrategy().isDirectory())
- return super.getInputStream();
-
- //This archive was copied in; this operation is not supported for
- // module files
- if (isModuleFile() || !getOptions().isSaveLibrariesAsFiles())
- throw new IOException("Undefined state of nested archive"); //$NON-NLS-1$
-
- //We have to find the absolute path of the original archive from which
- // this was copied,
- //if it is known
-
- List list = getFiles();
-
- String absolutePath = null;
- for (int i = 0; i < list.size(); i++) {
- File aFile = (File) list.get(i);
- if (aFile.isArchive())
- continue;
- absolutePath = aFile.getLoadingContainer().getAbsolutePath();
- }
-
- return new FileInputStream(absolutePath);
- }
-
- /**
- * @see LoadStrategy#getResourceInputStream(String)
- */
- public InputStream getResourceInputStream(String aUri) throws IOException {
- return getLoadStrategy().getResourceInputStream(aUri);
- }
-
- protected JavaJDKAdapterFactory getJavaAdapterFactory() {
- return (JavaJDKAdapterFactory) EcoreUtil.getAdapterFactory(getLoadStrategy().getResourceSet().getAdapterFactories(), ReadAdaptor.TYPE_KEY);
- }
-
- /**
- * @see com.ibm.etools.commonarchive.Archive returns an immutable collection of the loaded
- * resources in the resource set
- */
- public Collection getLoadedMofResources() {
- return getLoadStrategy().getLoadedMofResources();
- }
-
- /**
- * Insert the method's description here. Creation date: (11/29/00 6:35:08 PM)
- */
- public ArchiveManifest getManifest() {
- if (manifest == null) {
- InputStream in = null;
- try {
- in = getInputStream(J2EEConstants.MANIFEST_URI);
- makeManifest(in);
- } catch (FileNotFoundException ex) {
- makeManifest();
- } catch (Resource.IOWrappedException ex) {
- WrappedException wrapEx = new WrappedException((ex).getWrappedException());
- if (ExtendedEcoreUtil.getFileNotFoundDetector().isFileNotFound(wrapEx))
- makeManifest();
- else
- throw new ManifestException(CommonArchiveResourceHandler.getString("io_ex_manifest_EXC_", (new Object[]{getURI()})), ex); //$NON-NLS-1$ = "An IOException occurred reading the manifest: "
- } catch (IOException ex) {
- throw new ManifestException(CommonArchiveResourceHandler.getString("io_ex_manifest_EXC_", (new Object[]{getURI()})), ex); //$NON-NLS-1$ = "An IOException occurred reading the manifest: "
- } finally {
- if (in != null)
- try {
- in.close();
- } catch (IOException iox) {
- //Ignore
- }
- }
- }
- //This is a hack because of the fact that the manifest does not
- // serialize correctly if
- //The version is not set. In addition to saves, the serialization is
- // used for copy
- if (manifest.getManifestVersion() == null || manifest.getManifestVersion().equals("")) //$NON-NLS-1$
- manifest.setManifestVersion("1.0");//$NON-NLS-1$
- return manifest;
- }
-
- /**
- * @see com.ibm.etools.commonarchive.Archive
- */
- public org.eclipse.emf.ecore.resource.Resource getMofResource(java.lang.String aUri) throws FileNotFoundException, ResourceLoadException {
- return getLoadStrategy().getMofResource(aUri);
- }
-
- protected Resource getMofResourceMakeIfNecessary(String aUri) {
- if (getLoadStrategy() == null)
- return null;
- Resource resource = null;
- try {
- resource = getMofResource(aUri);
- } catch (java.io.FileNotFoundException ex) {
- try {
- resource = makeMofResource(aUri);
- } catch (DuplicateObjectException dox) {
- //We just checked for this; it won't happen
- }
- }
- return resource;
- }
-
- public org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveOptions getOptions() {
- if (options == null) {
- options = new ArchiveOptions();
- }
- return options;
- }
-
- /**
- * When looking at the class path of this jar (from the manifest), some of the elements may have
- * a relative path, thus we need to determine the install location of this jar. If the absolute
- * path from which the archive was loaded, return the parent directory of that path; otherwise,
- * see if the containing archive has an absolute path; if neither work, default to the current
- * working directory
- */
- public String getRootForRelativeDependentJars() {
- String path = null;
- Container theContainer = this;
- while (theContainer != null && path == null) {
- try {
- path = theContainer.getAbsolutePath();
- } catch (FileNotFoundException ex) {
- //Ignore
- }
- theContainer = theContainer.getLoadingContainer();
- }
- if (path == null) {
- path = System.getProperty("user.dir");//$NON-NLS-1$
- if (path == null)
- //At this point what else can we do?
- return "";//$NON-NLS-1$
- return new java.io.File(path).getAbsolutePath();
- }
- return new java.io.File(path).getParentFile().getAbsolutePath();
- }
-
- /**
- * @see com.ibm.etools.commonarchive.Archive
- */
- public java.lang.String[] getRuntimeClassPath() {
-
- String absolutePath;
- try {
- absolutePath = getBinariesPath();
- } catch (IOException ex) {
- return new String[0];
- }
-
- List entries = new ArrayList();
- entries.add(absolutePath);
-
- String parentPath = new java.io.File(absolutePath).getParentFile().getAbsolutePath();
- String[] mfEntries = getManifest().getClassPathTokenized();
- entries.addAll(getEntriesAsAbsolutePaths(mfEntries, parentPath));
-
- return (String[]) entries.toArray(new String[entries.size()]);
- }
-
- /**
- * Optional filter for saving a subset of files; filter will be applied for all save and extract
- * invokations
- */
- public org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.SaveFilter getSaveFilter() {
- return saveFilter;
- }
-
- /**
- * Insert the method's description here. Creation date: (12/04/00 3:31:32 PM)
- *
- * @return com.ibm.etools.archive.SaveStrategy
- */
- public org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.SaveStrategy getSaveStrategy() {
- return saveStrategy;
- }
-
- /**
- * Insert the method's description here. Creation date: (11/29/00 6:35:08 PM)
- *
- * @return java.lang.String
- */
- public java.lang.String getXmlEncoding() {
- return xmlEncoding;
- }
-
- /**
- * The default is to do nothing; subclasses may override as necessary
- *
- * @see com.ibm.etools.commonarchive.Archive
- */
- public void initializeAfterOpen() {
- //Default
- }
-
- public void initializeClassLoader() {
- //Some load strategies may provide a mof context for which
- //an alternate class loader is not necessary
- if (!shouldUseJavaReflection())
- return;
- ClassLoader extraCl = null;
- ClassLoader defaultCl = getDefaultClassLoader();
- if (getContainer() == null || !getContainer().isEARFile())
- extraCl = getClassPathClassLoader(defaultCl);
- ClassLoader cl = createDynamicClassLoader(defaultCl, extraCl);
- setArchiveClassLoader(cl);
- JavaJDKAdapterFactory factory = getJavaAdapterFactory();
- factory.setContextClassLoader(cl);
- factory.flushAll();
- }
-
- public ClassLoader createDynamicClassLoader(ClassLoader parentCl, ClassLoader extraCl) {
- return new ArchiveFileDynamicClassLoader(this, parentCl, extraCl);
- }
-
- /**
- * @see com.ibm.etools.commonarchive.File
- */
- public boolean isArchive() {
- return true;
- }
-
- /**
- * @see com.ibm.etools.commonarchive.Archive
- */
- public boolean isDuplicate(java.lang.String aUri) {
- return containsFile(aUri) || isMofResourceLoaded(aUri) || J2EEConstants.MANIFEST_URI.equals(aUri);
- }
-
- /**
- * @see com.ibm.etools.commonarchive.Archive
- */
- public boolean isManifestSet() {
- return manifest != null;
- }
-
- /**
- * @see com.ibm.etools.commonarchive.Archive
- */
- public boolean isMofResourceLoaded(java.lang.String aUri) {
- return getLoadStrategy().isMofResourceLoaded(aUri);
- }
-
- /**
- * By default just test the extension of the uri for one of the known archive types; subclasses
- * may which to override.
- *
- * @see com.ibm.etools.commonarchive.Archive
- */
- public boolean isNestedArchive(java.lang.String aUri) {
- //110390.3 Error loading alt-bindings
- /*
- * Don't infer that a folder which ends with .jar is an exploded archive; EAR file will do
- * that IF the folder is declared as a module in the EAR
- */
- if (getLoadStrategy().isDirectory()) {
- try {
- String path = ArchiveUtil.getOSUri(getAbsolutePath(), aUri);
- java.io.File ioFile = new java.io.File(path);
- if (!ioFile.exists() || (ioFile.isDirectory() && aUri.startsWith(J2EEConstants.ALT_INF)))
- return false;
- } catch (IOException ex) {
- return false;
- }
- }
- return ArchiveTypeDiscriminatorRegistry.INSTANCE.isKnownArchiveType(aUri);
- }
-
- /**
- * @see com.ibm.etools.commonarchive.Archive
- */
- public boolean isOpen() {
- return getLoadStrategy() != null && getLoadStrategy().isOpen();
- }
-
- public ArchiveManifest makeManifest() {
- ArchiveManifest mf = new ArchiveManifestImpl();
- setManifest(mf);
- return mf;
- }
-
- public ArchiveManifest makeManifest(InputStream in) throws IOException {
- ArchiveManifest mf = new ArchiveManifestImpl(in);
- setManifest(mf);
- return mf;
- }
-
- public Resource makeMofResource(String aUri) throws DuplicateObjectException {
- return makeMofResource(aUri, null);
- }
-
- /**
- * @see com.ibm.etools.commonarchive.Archive#makeMofResource(String, EList)
- */
- public Resource makeMofResource(String aUri, EList extent) throws DuplicateObjectException {
- if (isDuplicate(aUri))
- throw new DuplicateObjectException(CommonArchiveResourceHandler.getString("duplicate_entry_EXC_", (new Object[]{aUri, getURI()}))); //$NON-NLS-1$ = "A file or resource with uri {0} already exists in the archive named {1}"
- return getLoadStrategy().makeMofResource(aUri, extent);
- }
-
- /**
- * @see Archive
- */
- public Archive openNestedArchive(String aUri) throws OpenFailureException {
- return getCommonArchiveFactory().openNestedArchive(aUri, this);
- }
-
- /**
- * @see Archive
- */
- public Archive openNestedArchive(LooseArchive loose) throws OpenFailureException {
- return getCommonArchiveFactory().openNestedArchive(loose, this);
- }
-
- /**
- * Set the value of the extra class path with no refresh of the class loader
- */
- public void primSetExtraClasspath(java.lang.String newExtraClasspath) {
- extraClasspath = newExtraClasspath;
- }
-
- /**
- * Remove references to the archive class loader to prevent gc problems or problems with temp
- * files not getting deleted
- */
- public void releaseClassLoader() {
- if (archiveClassLoader != null) {
- setArchiveClassLoader(null);
- getJavaAdapterFactory().setContextClassLoader(null);
- }
- }
-
- /**
- * @see com.ibm.etools.commonarchive.Archive
- */
- public void remove(File aFile) {
- getFiles().remove(aFile);
- }
-
- /**
- * @see com.ibm.etools.commonarchive.Archive
- */
- public void reopen() throws ReopenException {
- reopen(null);
- }
-
- /**
- * @see com.ibm.etools.commonarchive.Archive
- */
- public void reopen(Archive parent) throws ReopenException {
- LoadStrategy aLoadStrategy = null;
- try {
- aLoadStrategy = createLoadStrategyForReopen(parent);
- } catch (IOException ex) {
- throw new ReopenException(CommonArchiveResourceHandler.getString("io_ex_reopen_EXC_", (new Object[]{getURI()})), ex); //$NON-NLS-1$ = "IOException occurred while reopening "
- }
- //PQ54572
- LoadStrategy current = getLoadStrategy();
- if (current != null) {
- aLoadStrategy.setResourceSet(current.primGetResourceSet());
- /*
- * fixing problem with orphaned load strategy listening to the resource set
- */
- current.setResourceSet(null);
- }
-
- setLoadStrategy(aLoadStrategy);
- initializeClassLoader();
- if (!isIndexed())
- return;
- List fileList = getFiles();
- for (int i = 0; i < fileList.size(); i++) {
- File f = (File) fileList.get(i);
- f.setOriginalURI(f.getURI());
- f.setLoadingContainer(this);
- if (f.isArchive())
- ((Archive) f).reopen(this);
- }
- getCommonArchiveFactory().archiveOpened(this);
- }
-
- protected void replaceRoot(Resource aResource, EObject root) {
- if (aResource == null)
- return;
- EList extent = aResource.getContents();
- EObject existingRoot = null;
- if (!extent.isEmpty()) {
- existingRoot = (EObject) extent.get(0);
- if (existingRoot == root)
- return;
- extent.remove(0);
- }
- if (root != null)
- extent.add(0, root);
- }
-
- protected Archive resolveClasspathEntryInEAR(String entry) {
- /*
- * Added to support runtime classpath for loose modules
- */
- Container parent = getContainer();
- if (parent == null || !parent.isEARFile())
- return null;
-
- String aUri = ArchiveUtil.deriveEARRelativeURI(entry, this);
- if (aUri == null)
- return null;
-
- File aFile = null;
- try {
- aFile = parent.getFile(aUri);
- } catch (FileNotFoundException ex) {
- return null;
- }
-
- return aFile.isArchive() ? (Archive) aFile : null;
- }
-
- /**
- * @see com.ibm.etools.commonarchive.Archive
- */
- public void save() throws SaveFailureException, ReopenException {
- saveAs(getURI());
- }
-
- /**
- * @see com.ibm.etools.commonarchive.Archive
- */
- public void save(org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.SaveStrategy aStrategy) throws SaveFailureException {
- setSaveStrategy(aStrategy);
- SaveFilter existingFilter = aStrategy.getFilter();
- boolean oldDelivery = eDeliver();
- try {
- if (getOptions().isReadOnly())
- eSetDeliver(false);
- aStrategy.setFilter(getSaveFilter());
- aStrategy.save();
- try {
- aStrategy.finish();
- } catch (java.io.IOException iox) {
- throw new SaveFailureException(getURI(), iox);
- }
- } finally {
- //We have to leave the file index if we are a directory because we
- // might have
- //open file handles to archives
- if (getOptions().isReadOnly() && !getLoadStrategy().isDirectory()) {
- files.clear();
- //((BasicEList)files).setListImplementation(new ArrayList(0));
- eSetDeliver(oldDelivery);
- eAdapters().remove(getFileIndexAdapter());
- fileIndexAdapter = null;
- fileIndex = null;
- }
- setSaveStrategy(null);
- aStrategy.setFilter(existingFilter);
- }
- }
-
- /**
- * @see com.ibm.etools.commonarchive.Archive
- */
- public void saveAs(String aUri) throws SaveFailureException, ReopenException {
- saveAsNoReopen(aUri);
- reopen();
- }
-
- /**
- * If we can rename it then we can delete it
- */
- protected boolean isRenameable(java.io.File orig) {
- java.io.File origCopy1 = null;
- java.io.File origCopy2 = null;
- try {
- origCopy1 = orig.getCanonicalFile();
- origCopy2 = orig.getCanonicalFile();
- } catch (java.io.IOException ex) {
- return false;
- }
- String name = null;
- String baseName = "save.tmp"; //$NON-NLS-1$
- try {
- if (orig.getParent() != null)
- baseName = new java.io.File(orig.getParent(), baseName).getCanonicalPath();
- } catch (java.io.IOException ex) {
- return false;
- }
-
- java.io.File temp = null;
- int index = 0;
- do {
- name = baseName + index;
- temp = new java.io.File(name);
- index++;
- } while (temp.exists());
- return origCopy1.renameTo(temp) && temp.renameTo(origCopy2);
- }
-
- protected void checkWriteable(java.io.File dest) throws SaveFailureException {
- List locked = ArchiveUtil.getWriteProtectedFiles(dest, null);
- if (locked.isEmpty())
- return;
-
- StringBuffer msg = new StringBuffer();
- msg.append("Cannot write to file: "); //$NON-NLS-1$
- msg.append(dest.getAbsolutePath());
- msg.append('\n');
- msg.append("One or more files is write protected or locked:"); //$NON-NLS-1$
- msg.append('\n');
- for (int i = 0; i < locked.size(); i++) {
- java.io.File aFile = (java.io.File) locked.get(i);
- msg.append(aFile.getAbsolutePath());
- msg.append('\n');
- }
- throw new SaveFailureException(msg.toString());
- }
-
- /**
- * @see com.ibm.etools.commonarchive.Archive
- */
- public void saveAsNoReopen(String aUri) throws SaveFailureException {
- java.io.File aFile = new java.io.File(aUri);
- checkWriteable(aFile);
- boolean fileExisted = aFile.exists();
- //botp 142149
- //boolean inUse = getLoadStrategy().isUsing(aFile);
- SaveStrategy aSaveStrategy = null;
- try {
- try {
- java.io.File destinationFile = fileExisted ? ArchiveUtil.createTempFile(aUri, aFile.getCanonicalFile().getParentFile()) : aFile;
- aSaveStrategy = createSaveStrategyForJar(destinationFile);
- save(aSaveStrategy);
- aSaveStrategy.close();
- this.close();
- if (fileExisted) {
- cleanupAfterTempSave(aUri, aFile, destinationFile);
- }
- } catch (java.io.IOException ex) {
- throw new SaveFailureException(CommonArchiveResourceHandler.getString("error_saving_EXC_", (new Object[]{aUri})), ex); //$NON-NLS-1$ = "Error saving "
- }
- } catch (SaveFailureException failure) {
- try {
- if (aSaveStrategy != null)
- aSaveStrategy.close();
- } catch (IOException weTried) {
- //Ignore
- }
- if (!fileExisted)
- aFile.delete();
- throw failure;
- }
-
- setURI(aUri);
- }
-
- /**
- * @see com.ibm.etools.commonarchive.Archive
- */
- public void saveNoReopen() throws SaveFailureException {
- saveAsNoReopen(getURI());
- }
-
- /**
- * Insert the method's description here. Creation date: (11/29/00 6:35:08 PM)
- *
- * @param newArchiveClassLoader
- * java.lang.ClassLoader
- */
- public void setArchiveClassLoader(java.lang.ClassLoader newArchiveClassLoader) {
- archiveClassLoader = newArchiveClassLoader;
- }
-
- /**
- * Insert the method's description here. Creation date: (11/29/00 6:35:08 PM)
- *
- * @param newExtraClasspath
- * java.lang.String
- */
- public void setExtraClasspath(java.lang.String newExtraClasspath) {
- primSetExtraClasspath(newExtraClasspath);
- //Optimization - only re init if a cl exists; otherwise it will init on
- // demand
- if (archiveClassLoader != null)
- initializeClassLoader();
- }
-
- /**
- * Insert the method's description here. Creation date: (11/29/00 6:35:08 PM)
- */
- public void setManifest(ArchiveManifest newManifest) {
- manifest = newManifest;
- }
-
- /**
- * @see com.ibm.etools.commonarchive.Archive
- */
- public void setManifest(java.util.jar.Manifest aManifest) {
- setManifest((ArchiveManifest) new org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveManifestImpl(aManifest));
- }
-
- /**
- * Sets the Class-path manifest entry, rebuilds the class loader, and refreshes any reflected
- * java classes
- */
- public void setManifestClassPathAndRefresh(String classpath) {
- ArchiveManifest mf = getManifest();
- if (manifest == null) {
- makeManifest();
- }
- mf.setClassPath(classpath);
- //Optimization - only re init if a cl exists; otherwise it will init on
- // demand
- if (archiveClassLoader != null)
- initializeClassLoader();
- }
-
- public void setOptions(org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveOptions newOptions) {
- options = newOptions;
- }
-
- /**
- * Optional filter for saving a subset of files; filter will be applied for all save and extract
- * invokations
- */
- public void setSaveFilter(org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.SaveFilter newSaveFilter) {
- saveFilter = newSaveFilter;
- }
-
- /**
- * Insert the method's description here. Creation date: (12/04/00 3:31:32 PM)
- *
- * @param newSaveStrategy
- * com.ibm.etools.archive.SaveStrategy
- */
- public void setSaveStrategy(org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.SaveStrategy newSaveStrategy) {
- saveStrategy = newSaveStrategy;
- if (newSaveStrategy != null) {
- newSaveStrategy.setArchive(this);
- }
- }
-
- /**
- * Insert the method's description here. Creation date: (11/29/00 6:35:08 PM)
- *
- * @param newXmlEncoding
- * java.lang.String
- */
- public void setXmlEncoding(java.lang.String newXmlEncoding) {
- xmlEncoding = newXmlEncoding;
- }
-
- /**
- * Determine whether java reflection should be set up for this archive
- */
- public boolean shouldUseJavaReflection() {
- return getOptions().useJavaReflection() && getLoadStrategy().isClassLoaderNeeded();
- }
-
- protected void throwResourceLoadException(String resourceUri, Exception ex) throws ResourceLoadException {
- throw new ResourceLoadException(CommonArchiveResourceHandler.getString("load_resource_EXC_", (new Object[]{resourceUri, getURI()})), ex); //$NON-NLS-1$ = "Could not load resource "{0}" in archive "{1}""
- }
-
- public String getResourcesPath() throws FileNotFoundException {
- return getLoadStrategy().getResourcesPath();
- }
-
- public String getBinariesPath() throws FileNotFoundException {
- return getLoadStrategy().getBinariesPath();
- }
-
- protected RuntimeClasspathEntry[] emptyClasspath() {
- return new RuntimeClasspathEntry[0];
- }
-
- protected String internalGetBinariesPath() {
- try {
- return getBinariesPath();
- } catch (FileNotFoundException ex) {
- return null;
- }
- }
-
- /**
- * By default return just the contents of this archive
- */
- public RuntimeClasspathEntry[] getLocalRuntimeClassPath() {
-
- String absolutePath = internalGetBinariesPath();
- if (absolutePath == null)
- return emptyClasspath();
- return new RuntimeClasspathEntry[]{createRuntimeClasspathEntry(absolutePath)};
- }
-
- protected RuntimeClasspathEntry[] getDependencyClassPathAtThisLevel() {
- String absolutePath = internalGetBinariesPath();
- if (absolutePath == null)
- return emptyClasspath();
- String parentPath = new java.io.File(absolutePath).getParentFile().getAbsolutePath();
- String[] mfEntries = getManifest().getClassPathTokenized();
- if (mfEntries.length == 0)
- return emptyClasspath();
- List entries = new ArrayList();
- entries.addAll(createRuntimeClasspathEntries(mfEntries, parentPath));
-
- return (RuntimeClasspathEntry[]) entries.toArray(new RuntimeClasspathEntry[entries.size()]);
- }
-
- public RuntimeClasspathEntry[] getFullRuntimeClassPath() {
- return concat(getLocalRuntimeClassPath(), getDependencyClassPath());
- }
-
- protected RuntimeClasspathEntry[] concat(RuntimeClasspathEntry[] array1, RuntimeClasspathEntry[] array2) {
- List temp = new ArrayList();
- temp.addAll(Arrays.asList(array1));
- temp.addAll(Arrays.asList(array2));
- return (RuntimeClasspathEntry[]) temp.toArray(new RuntimeClasspathEntry[temp.size()]);
- }
-
- public RuntimeClasspathEntry[] getDependencyClassPath() {
- List entries = new ArrayList();
- Set visited = new HashSet();
- Set processedEntries = new HashSet();
- visited.add(this);
- getDependencyClassPath(visited, entries, processedEntries, this);
- return (RuntimeClasspathEntry[]) entries.toArray(new RuntimeClasspathEntry[entries.size()]);
- }
-
- protected void getDependencyClassPath(Set visitedArchives, List entries, Set processedEntries, Archive current) {
-
- RuntimeClasspathEntry[] local = ((ArchiveImpl) current).getDependencyClassPathAtThisLevel();
- for (int i = 0; i < local.length; i++) {
- RuntimeClasspathEntry entry = local[i];
- if (!processedEntries.contains(entry)) {
- entries.add(entry);
- processedEntries.add(entry);
- }
- Archive resolved = entry.getReferencedArchive();
- if (resolved == null)
- ClasspathUtil.processManifest(entry.getAbsolutePath(), entries, processedEntries);
- else if (!visitedArchives.contains(resolved)) {
- visitedArchives.add(resolved);
- getDependencyClassPath(visitedArchives, entries, processedEntries, resolved);
- }
-
- }
- }
-
- protected EARFile getEARFile() {
- Container parent = getContainer();
- if (parent == null || !(parent instanceof EARFile))
- return null;
- return (EARFile) parent;
- }
-
- protected Archive getResolvedArchive(String mfValue, EARFile ear) {
- String aUri = ArchiveUtil.deriveEARRelativeURI(mfValue, this);
- if (aUri == null)
- return null;
- try {
- return (Archive) ear.getFile(aUri);
- } catch (FileNotFoundException ex) {
- return null;
- } catch (ClassCastException ex2) {
- return null;
- }
- }
-
- /**
- * @see com.ibm.etools.commonarchive.Archive#hasClasspathVisibilityTo(Archive)
- */
- public boolean hasClasspathVisibilityTo(Archive other) {
- if (other == null)
- return false;
- EARFile ear = getEARFile();
- if (ear == null)
- return false;
- Set visited = new HashSet();
- return hasClasspathVisibilityTo(other, visited, ear);
- }
-
- public boolean hasClasspathVisibilityTo(Archive other, Set visited, EARFile ear) {
- if (this == other)
- return true;
- if (visited.contains(this))
- return false;
- visited.add(this);
- String[] mfEntries = getManifest().getClassPathTokenized();
- for (int i = 0; i < mfEntries.length; i++) {
- Archive anArchive = getResolvedArchive(mfEntries[i], ear);
- if (anArchive != null && anArchive.hasClasspathVisibilityTo(other, visited, ear))
- return true;
- }
- return false;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.j2ee.internal.commonarchivecore.Archive#isType(java.lang.String)
- */
- public boolean isType(String type) {
-
- return (types != null && getTypes().contains(type));
- }
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/ClientModuleRefImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/ClientModuleRefImpl.java
deleted file mode 100644
index ae274d6c1..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/ClientModuleRefImpl.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.impl;
-
-
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.jst.j2ee.application.Module;
-import org.eclipse.jst.j2ee.client.ApplicationClient;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ClientModuleRef;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ModuleFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ModuleRef;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.ArchiveWrappedException;
-
-
-public class ClientModuleRefImpl extends ModuleRefImpl implements ClientModuleRef, ModuleRef {
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected ClientModuleRefImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- protected EClass eStaticClass() {
- return CommonarchivePackage.eINSTANCE.getClientModuleRef();
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case CommonarchivePackage.CLIENT_MODULE_REF__EAR_FILE :
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, CommonarchivePackage.CLIENT_MODULE_REF__EAR_FILE, msgs);
- default :
- return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
- }
- }
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case CommonarchivePackage.CLIENT_MODULE_REF__EAR_FILE :
- return eBasicSetContainer(null, CommonarchivePackage.CLIENT_MODULE_REF__EAR_FILE, msgs);
- default :
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
- if (eContainerFeatureID >= 0) {
- switch (eContainerFeatureID) {
- case CommonarchivePackage.CLIENT_MODULE_REF__EAR_FILE :
- return eContainer.eInverseRemove(this, CommonarchivePackage.EAR_FILE__MODULE_REFS, EARFile.class, msgs);
- default :
- return eDynamicBasicRemoveFromContainer(msgs);
- }
- }
- return eContainer.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.CLIENT_MODULE_REF__MODULE_FILE :
- if (resolve)
- return getModuleFile();
- return basicGetModuleFile();
- case CommonarchivePackage.CLIENT_MODULE_REF__EAR_FILE :
- return getEarFile();
- case CommonarchivePackage.CLIENT_MODULE_REF__MODULE :
- if (resolve)
- return getModule();
- return basicGetModule();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.CLIENT_MODULE_REF__MODULE_FILE :
- setModuleFile((ModuleFile) newValue);
- return;
- case CommonarchivePackage.CLIENT_MODULE_REF__EAR_FILE :
- setEarFile((EARFile) newValue);
- return;
- case CommonarchivePackage.CLIENT_MODULE_REF__MODULE :
- setModule((Module) newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.CLIENT_MODULE_REF__MODULE_FILE :
- setModuleFile((ModuleFile) null);
- return;
- case CommonarchivePackage.CLIENT_MODULE_REF__EAR_FILE :
- setEarFile((EARFile) null);
- return;
- case CommonarchivePackage.CLIENT_MODULE_REF__MODULE :
- setModule((Module) null);
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.CLIENT_MODULE_REF__MODULE_FILE :
- return moduleFile != null;
- case CommonarchivePackage.CLIENT_MODULE_REF__EAR_FILE :
- return getEarFile() != null;
- case CommonarchivePackage.CLIENT_MODULE_REF__MODULE :
- return module != null;
- }
- return eDynamicIsSet(eFeature);
- }
-
- public ApplicationClient getApplicationClient() throws ArchiveWrappedException {
- return (ApplicationClient) getDeploymentDescriptor();
- }
-
-
- /*
- * @see ModuleRef#isClient()
- */
- public boolean isClient() {
- return true;
- }
-
-} //ClientModuleRefImpl
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/CommonarchiveFactoryImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/CommonarchiveFactoryImpl.java
deleted file mode 100644
index b20034dc7..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/CommonarchiveFactoryImpl.java
+++ /dev/null
@@ -1,1071 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.impl;
-
-
-
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.WeakHashMap;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.impl.EFactoryImpl;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ApplicationClientFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ArchiveTypeDiscriminatorRegistry;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ClientModuleRef;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonArchiveFactoryRegistry;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonArchiveResourceHandler;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ConnectorModuleRef;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Container;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.EJBJarFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.EJBModuleRef;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.File;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ModuleFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.RARFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ReadOnlyDirectory;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.WARFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.WebModuleRef;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.OpenFailureException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveOptions;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveTypeDiscriminator;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseArchive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.AppClient12ImportStrategyImpl;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.DirectoryArchiveLoadStrategy;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.DirectoryArchiveLoadStrategyImpl;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.Ear12ImportStrategyImpl;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.EjbJar11ImportStrategyImpl;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.LoadStrategy;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.NestedArchiveLoadStrategyImpl;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.NullLoadStrategyImpl;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.RarImportStrategyImpl;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.ReadOnlyDirectoryLoadStrategyImpl;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.TempZipFileLoadStrategyImpl;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.War22ImportStrategyImpl;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.util.ArchiveUtil;
-
-
-/**
- * @generated
- */
-public class CommonarchiveFactoryImpl extends EFactoryImpl implements CommonarchiveFactory {
-
-
- protected Map openArchives;
- private static boolean delegateNeedsInit = true;
- private CommonarchiveFactory delegate = null;
-
- static {
- initPrereqs();
- }
-
- /**
- *
- */
- public CommonarchiveFactoryImpl() {
- super();
- initDelegate();
- }
-
- /**
- *
- */
- private void initDelegate() {
- if (delegateNeedsInit) {
- delegateNeedsInit = false;
- delegate = new CommonarchiveFactoryImpl() {
-
- public ApplicationClientFile createApplicationClientFile() {
- return createApplicationClientFileGen();
- }
-
-
- public ClientModuleRef createClientModuleRef() {
- return createClientModuleRefGen();
- }
-
- public ConnectorModuleRef createConnectorModuleRef() {
- return createConnectorModuleRefGen();
- }
-
- public EARFile createEARFile() {
- return createEARFileGen();
- }
-
- public EJBJarFile createEJBJarFile() {
- return createEJBJarFileGen();
- }
-
- public EJBModuleRef createEJBModuleRef() {
- return createEJBModuleRefGen();
- }
-
- public RARFile createRARFile() {
- return createRARFileGen();
- }
-
- public WARFile createWARFile() {
- return createWARFileGen();
- }
-
- public WebModuleRef createWebModuleRef() {
- return createWebModuleRefGen();
- }
- };
- }
-
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EObject create(EClass eClass) {
- switch (eClass.getClassifierID()) {
- case CommonarchivePackage.FILE :
- return createFile();
- case CommonarchivePackage.ARCHIVE :
- return createArchive();
- case CommonarchivePackage.EJB_JAR_FILE :
- return createEJBJarFile();
- case CommonarchivePackage.WAR_FILE :
- return createWARFile();
- case CommonarchivePackage.EAR_FILE :
- return createEARFile();
- case CommonarchivePackage.APPLICATION_CLIENT_FILE :
- return createApplicationClientFile();
- case CommonarchivePackage.READ_ONLY_DIRECTORY :
- return createReadOnlyDirectory();
- case CommonarchivePackage.RAR_FILE :
- return createRARFile();
- case CommonarchivePackage.EJB_MODULE_REF :
- return createEJBModuleRef();
- case CommonarchivePackage.WEB_MODULE_REF :
- return createWebModuleRef();
- case CommonarchivePackage.CLIENT_MODULE_REF :
- return createClientModuleRef();
- case CommonarchivePackage.CONNECTOR_MODULE_REF :
- return createConnectorModuleRef();
- default :
- throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
- /**
- * @see com.ibm.etools.commonarchive.CommonarchiveFactory
- */
- public void archiveClosed(Archive aClosedArchive) {
- getOpenArchives().remove(aClosedArchive);
- }
-
- /**
- * @see com.ibm.etools.commonarchive.CommonarchiveFactory
- */
- public void archiveOpened(Archive anOpenArchive) {
- getOpenArchives().put(anOpenArchive, null);
- }
-
- /**
- * @deprecated Use {@link #getOpenArchivesDependingOn(Archive)}
- */
- public boolean canClose(Archive anArchive) {
- return !getOpenArchivesDependingOn(anArchive).isEmpty();
- }
-
- public void closeOpenArchives() {
- if (getOpenArchives().isEmpty())
- return;
- List opened = new ArrayList(getOpenArchives().size());
- Iterator it = getOpenArchives().keySet().iterator();
- while (it.hasNext()) {
- opened.add(it.next());
- }
- for (int i = 0; i < opened.size(); i++) {
- Archive anArchive = (Archive) opened.get(i);
- anArchive.close();
- }
- }
-
- /**
- * @see com.ibm.etools.commonarchive.CommonarchiveFactory
- */
- public Archive copy(Archive anArchive) {
- return new ArchiveCopyUtility().copy(anArchive);
- }
-
- /**
- * @see com.ibm.etools.commonarchive.CommonarchiveFactory
- */
- public ModuleFile copy(ModuleFile aModuleFile) {
- return new ArchiveCopyUtility().copy(aModuleFile);
- }
-
- /**
- * @see com.ibm.etools.commonarchive.CommonarchiveFactory
- */
- public ApplicationClientFile createApplicationClientFileInitialized(java.lang.String uri) {
- ApplicationClientFile clientFile = createApplicationClientFile();
- initializeNewApplicationClientFile(clientFile, uri);
- return clientFile;
- }
-
- /**
- * @see com.ibm.etools.commonarchive.CommonarchiveFactory
- */
- public Archive createArchiveInitialized(java.lang.String uri) {
- Archive anArchive = createArchive();
- initializeNewArchive(anArchive, uri);
- return anArchive;
-
- }
-
- /**
- * @see com.ibm.etools.commonarchive.CommonarchiveFactory
- */
- public Archive createArchiveInitialized(ArchiveOptions options, java.lang.String uri) {
- Archive anArchive = createArchive();
- initializeNewArchive(anArchive, uri, options);
- return anArchive;
-
- }
-
- public LoadStrategy createChildLoadStrategy(String uri, LoadStrategy parent) throws java.io.IOException, java.io.FileNotFoundException {
-
- LoadStrategy childStrategy = null;
- if (parent.isDirectory()) {
- String dirName = ((DirectoryArchiveLoadStrategy) parent).getDirectoryUri();
- String qualifiedUri = ArchiveUtil.getOSUri(dirName, uri);
- childStrategy = createLoadStrategy(qualifiedUri);
- } else {
- childStrategy = createNestedLoadStrategy(uri, parent);
- }
- return childStrategy;
- }
-
- /**
- * @see com.ibm.etools.commonarchive.CommonarchiveFactory
- */
- public EARFile createEARFileInitialized(java.lang.String uri) {
- EARFile earFile = createEARFile();
- initializeNewEARFile(earFile, uri);
- return earFile;
- }
-
- /**
- * @see com.ibm.etools.commonarchive.CommonarchiveFactory
- */
- public EARFile createEARFileInitialized(ArchiveOptions options, java.lang.String uri) {
- EARFile earFile = createEARFile();
- initializeNewEARFile(earFile, uri, options);
- return earFile;
- }
-
- /**
- * @see com.ibm.etools.commonarchive.CommonarchiveFactory
- */
- public EJBJarFile createEJBJarFileInitialized(java.lang.String uri) {
- EJBJarFile ejbJarFile = createEJBJarFile();
- initializeNewEJBJarFile(ejbJarFile, uri);
- return ejbJarFile;
-
- }
-
- /**
- * @see com.ibm.etools.commonarchive.CommonarchiveFactory
- */
- public EJBJarFile createEJBJarFileInitialized(ArchiveOptions options, java.lang.String uri) {
- EJBJarFile ejbJarFile = createEJBJarFile();
- initializeNewEJBJarFile(ejbJarFile, uri, options);
- return ejbJarFile;
-
- }
-
- /**
- * Returns a NullLoadStrategyImpl; used for new archives
- */
- public LoadStrategy createEmptyLoadStrategy() {
- return new NullLoadStrategyImpl();
- }
-
- /**
- * Helper method to dynamically build a load strategy from the file system. Determines whether
- * the uri points to a jar file or directory and returns the appropriate strategy
- */
- public LoadStrategy createLoadStrategy(String uri) throws FileNotFoundException, IOException {
- String filename = uri.replace('/', java.io.File.separatorChar);
- java.io.File file = new java.io.File(filename);
- if (!file.exists()) {
- throw new FileNotFoundException(CommonArchiveResourceHandler.getString("file_not_found_EXC_", (new Object[]{uri, file.getAbsolutePath()}))); //$NON-NLS-1$ = "URI Name: {0}; File name: {1}"
- }
- if (file.isDirectory()) {
- return new DirectoryArchiveLoadStrategyImpl(uri);
- }
- return new org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.ZipFileLoadStrategyImpl(file);
- }
-
- /**
- * Create a load strategy for a nested archive; by default will extract the nested archive to a
- * temp file for performance reasons. This is because random access to the zip entries in a
- * nested archive is not supported by the java.util.zip package, and if the archive's contents
- * are being modified, copied, etc, this is much faster. If a temp file can not be created, or
- * if the archive is opened read only (for runtime), then use a NestedArchiveLoadStrategy, which
- * retrieves the contents of a zip entry by sequentially searching a zip input stream
- */
- public LoadStrategy createNestedLoadStrategy(String uri, LoadStrategy parent) {
- LoadStrategy loadStrategy = null;
- ArchiveOptions options = ((Archive) parent.getContainer()).getOptions();
-
- if (!options.isReadOnly(uri))
- loadStrategy = createTempZipFileStrategyIfPossible(uri, parent);
-
- if (loadStrategy == null)
- return new NestedArchiveLoadStrategyImpl(parent);
- return loadStrategy;
- }
-
- /**
- * @see com.ibm.etools.commonarchive.CommonarchiveFactory
- */
- public RARFile createRARFileInitialized(java.lang.String uri) {
- RARFile rarFile = createRARFile();
- initializeNewRARFile(rarFile, uri);
- return rarFile;
- }
-
- public LoadStrategy createTempZipFileStrategyIfPossible(String uri, LoadStrategy parent) {
-
- if (!ArchiveUtil.shouldUseTempDirectoryForRead())
- return null;
-
- try {
- java.io.File tempFile = ArchiveUtil.createTempFile(uri);
- tempFile.deleteOnExit();
- InputStream in = parent.getInputStream(uri);
- OutputStream out = new FileOutputStream(tempFile);
- ArchiveUtil.copy(in, out);
- return new TempZipFileLoadStrategyImpl(tempFile);
- } catch (IOException ex) {
- ArchiveUtil.inform(CommonArchiveResourceHandler.getString("make_temp_file_WARN_", (new Object[]{uri})) + ex.getLocalizedMessage()); //$NON-NLS-1$ = "Warning: Unable to create temp file for {0}. This will impact performance."
- }
- return null;
- }
-
- /**
- * @see com.ibm.etools.commonarchive.CommonarchiveFactory
- */
- public WARFile createWARFileInitialized(java.lang.String uri) {
- WARFile warFile = createWARFile();
- initializeNewWARFile(warFile, uri);
- return warFile;
- }
-
- protected ArchiveOptions defaultOptions(LoadStrategy aLoadStrategy) {
- ArchiveOptions options = new ArchiveOptions();
- options.setLoadStrategy(aLoadStrategy);
- return options;
- }
-
- public static CommonarchiveFactory getActiveFactory() {
- CommonarchivePackage pkg = getPackage();
- if (pkg != null)
- return pkg.getCommonarchiveFactory();
- return null;
- }
-
- /**
- * @see com.ibm.etools.commonarchive.CommonarchiveFactory
- */
- public java.lang.String[] getManifestClassPathValues(java.lang.String uri) throws org.eclipse.jst.j2ee.commonarchivecore.internal.exception.OpenFailureException {
- Archive anArchive = primOpenArchive(uri);
- String[] result = anArchive.getManifest().getClassPathTokenized();
- anArchive.close();
- return result;
- }
-
- /**
- * Insert the method's description here. Creation date: (02/23/01 2:35:55 PM)
- *
- * @return java.util.Map
- */
- public java.util.Map getOpenArchives() {
- if (openArchives == null)
- openArchives = new WeakHashMap();
- return openArchives;
- }
-
- /**
- * @see com.ibm.etools.commonarchive.CommonarchiveFactory
- */
- public Set getOpenArchivesDependingOn(Archive anArchive) {
- Set dependents = new HashSet();
- Iterator opened = getOpenArchives().keySet().iterator();
- while (opened.hasNext()) {
- Archive openedArchive = (Archive) opened.next();
- if (openedArchive == anArchive)
- continue;
- if (!openedArchive.isIndexed())
- //**********Optimization***********
- //If the file list has never been built for the archive, we don't want to trigger
- // it now,
- //and we are sure that the archive is not preventing the parameter from closing
- continue;
- List files = openedArchive.getFiles();
- for (int i = 0; i < files.size(); i++) {
- File aFile = (File) files.get(i);
- if (aFile.getLoadingContainer() == anArchive) {
- Archive outermost = openedArchive;
- Container c = openedArchive.getContainer();
- while (c != null && c.isArchive()) {
- outermost = (Archive) c;
- c = c.getContainer();
- }
- dependents.add(outermost);
- }
- }
- }
- //Elements from one of the children (e.g., a module file in an ear) may have been copied to
- //another archive
- List nestedArchives = anArchive.getArchiveFiles();
- for (int i = 0; i < nestedArchives.size(); i++) {
- dependents.addAll(getOpenArchivesDependingOn((Archive) nestedArchives.get(i)));
- }
- return dependents;
- }
-
- protected static void initPrereqs() {
- org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveInit.invokePrereqInits(true);
- ArchiveTypeDiscriminator disc = RootArchiveTypeDescriminatorImpl.singleton();
- disc.addChild(Ear12ImportStrategyImpl.getDiscriminator());
- disc.addChild(War22ImportStrategyImpl.getDiscriminator());
- disc.addChild(AppClient12ImportStrategyImpl.getDiscriminator());
- disc.addChild(RarImportStrategyImpl.getDiscriminator());
- disc.addChild(RootEJBJarDescriminatorImpl.singleton());
- }
-
- public void initializeNewApplicationClientFile(ApplicationClientFile anArchive, String uri) {
- initializeNewModuleFile(anArchive, uri);
- }
-
- public void initializeNewArchive(Archive anArchive, String uri) {
- anArchive.setURI(uri);
- anArchive.setSize(0);
- anArchive.setLastModified(System.currentTimeMillis());
- anArchive.setDirectoryEntry(false);
- anArchive.setLoadStrategy(createEmptyLoadStrategy());
- }
-
- public void initializeNewEARFile(EARFile anArchive, String uri) {
- initializeNewModuleFile(anArchive, uri);
- }
-
- public void initializeNewEJBJarFile(EJBJarFile anArchive, String uri) {
- initializeNewModuleFile(anArchive, uri);
- }
-
- public void initializeNewModuleFile(ModuleFile anArchive, String uri) {
- initializeNewArchive(anArchive, uri);
- anArchive.makeDeploymentDescriptorResource();
- }
-
- public void initializeNewRARFile(RARFile anArchive, String uri) {
- initializeNewModuleFile(anArchive, uri);
- }
-
- public void initializeNewWARFile(WARFile anArchive, String uri) {
- initializeNewModuleFile(anArchive, uri);
- }
-
- public void initializeNewApplicationClientFile(ApplicationClientFile anArchive, String uri, ArchiveOptions options) {
- initializeNewModuleFile(anArchive, uri, options);
- }
-
- public void initializeNewArchive(Archive anArchive, String uri, ArchiveOptions options) {
- if (options.getLoadStrategy() == null) {
- try {
- options.setLoadStrategy(createEmptyLoadStrategy());
- } catch (Exception ex) {
- Logger.getLogger().logError(ex);
- }
- }
-
- anArchive.setURI(uri);
- anArchive.setSize(0);
- anArchive.setLastModified(System.currentTimeMillis());
- anArchive.setDirectoryEntry(false);
- anArchive.setLoadStrategy(options.getLoadStrategy());
- anArchive.setOptions(options);
-
- }
-
- public void initializeNewEARFile(EARFile anArchive, String uri, ArchiveOptions options) {
- initializeNewModuleFile(anArchive, uri, options);
- }
-
- public void initializeNewEJBJarFile(EJBJarFile anArchive, String uri, ArchiveOptions options) {
- initializeNewModuleFile(anArchive, uri, options);
- }
-
- public void initializeNewModuleFile(ModuleFile anArchive, String uri, ArchiveOptions options) {
- initializeNewArchive(anArchive, uri, options);
- anArchive.makeDeploymentDescriptorResource();
- }
-
- public void initializeNewRARFile(RARFile anArchive, String uri, ArchiveOptions options) {
- initializeNewModuleFile(anArchive, uri, options);
- }
-
- public void initializeNewWARFile(WARFile anArchive, String uri, ArchiveOptions options) {
- initializeNewModuleFile(anArchive, uri, options);
- }
-
- /**
- * open the archive, setting up the appropriate strategies, using the loadStrategy passed in;
- * URI still necessary so the archive has a name, but it will not be used for io.
- */
- public ApplicationClientFile openApplicationClientFile(ArchiveOptions options, String uri) throws OpenFailureException {
- Archive anArchive = primOpenArchive(options, uri);
- ArchiveTypeDiscriminator disc = AppClient12ImportStrategyImpl.getDiscriminator();
- return (ApplicationClientFile) openSpecificArchive(anArchive, disc);
- }
-
- /**
- * @see com.ibm.etools.commonarchive.CommonarchiveFactory
- */
- public ApplicationClientFile openApplicationClientFile(LoadStrategy aLoadStrategy, String uri) throws OpenFailureException {
- Archive anArchive = primOpenArchive(aLoadStrategy, uri);
- ArchiveTypeDiscriminator disc = AppClient12ImportStrategyImpl.getDiscriminator();
- return (ApplicationClientFile) openSpecificArchive(anArchive, disc);
- }
-
- /**
- * @see com.ibm.etools.commonarchive.CommonarchiveFactory
- */
- public ApplicationClientFile openApplicationClientFile(String uri) throws OpenFailureException {
- Archive anArchive = primOpenArchive(uri);
- ArchiveTypeDiscriminator disc = AppClient12ImportStrategyImpl.getDiscriminator();
- return (ApplicationClientFile) openSpecificArchive(anArchive, disc);
- }
-
- /**
- * open the archive, setting up the appropriate strategies, using the loadStrategy passed in;
- * URI still necessary so the archive has a name, but it will not be used for io.
- */
- public Archive openArchive(ArchiveOptions options, String uri) throws OpenFailureException {
- Archive anArchive = primOpenArchive(options, uri);
- return openSpecificArchive(anArchive, RootArchiveTypeDescriminatorImpl.singleton());
- }
-
- /**
- * open the archive, setting up the appropriate strategies, using the loadStrategy passed in;
- * URI still necessary so the archive has a name, but it will not be used for io.
- */
- public Archive openArchive(LoadStrategy aLoadStrategy, String uri) throws OpenFailureException {
- Archive anArchive = primOpenArchive(aLoadStrategy, uri);
- return openSpecificArchive(anArchive, RootArchiveTypeDescriminatorImpl.singleton());
- }
-
- /**
- * openArchive(String uri) - open the archive by the passed name, setting up the appropriate
- * strategies. Name may be a path to a jar, a zip, or a directory return the appropriate Archive
- * type
- */
- public Archive openArchive(java.lang.String uri) throws OpenFailureException {
- Archive anArchive = primOpenArchive(uri);
- return openSpecificArchive(anArchive, RootArchiveTypeDescriminatorImpl.singleton());
- }
-
- /**
- * @see com.ibm.etools.commonarchive.CommonarchiveFactory
- */
- public Archive openArchive(String uri, String extraClassPath) throws OpenFailureException {
- Archive anArchive = primOpenArchive(uri);
- anArchive.setExtraClasspath(extraClassPath);
- return openSpecificArchive(anArchive, RootArchiveTypeDescriminatorImpl.singleton());
- }
-
- /**
- * open the archive, setting up the appropriate strategies, using the loadStrategy passed in;
- * URI still necessary so the archive has a name, but it will not be used for io.
- */
- public EARFile openEARFile(ArchiveOptions options, String uri) throws OpenFailureException {
- Archive anArchive = primOpenArchive(options, uri);
- ArchiveTypeDiscriminator disc = Ear12ImportStrategyImpl.getDiscriminator();
- return (EARFile) openSpecificArchive(anArchive, disc);
- }
-
- /**
- * @see com.ibm.etools.commonarchive.CommonarchiveFactory
- */
- public EARFile openEARFile(LoadStrategy aLoadStrategy, String uri) throws OpenFailureException {
- Archive anArchive = primOpenArchive(aLoadStrategy, uri);
- ArchiveTypeDiscriminator disc = Ear12ImportStrategyImpl.getDiscriminator();
- return (EARFile) openSpecificArchive(anArchive, disc);
- }
-
- /**
- * @see com.ibm.etools.commonarchive.CommonarchiveFactory
- */
- public EARFile openEARFile(String uri) throws OpenFailureException {
- Archive anArchive = primOpenArchive(uri);
- ArchiveTypeDiscriminator disc = Ear12ImportStrategyImpl.getDiscriminator();
- return (EARFile) openSpecificArchive(anArchive, disc);
- }
-
- /**
- * open the archive, setting up the appropriate strategies, using the loadStrategy passed in;
- * URI still necessary so the archive has a name, but it will not be used for io.
- */
- public EJBJarFile openEJB11JarFile(ArchiveOptions options, String uri) throws OpenFailureException {
- Archive anArchive = primOpenArchive(options, uri);
- ArchiveTypeDiscriminator disc = EjbJar11ImportStrategyImpl.getDiscriminator();
- return (EJBJarFile) openSpecificArchive(anArchive, disc);
- }
-
- /**
- * @see com.ibm.etools.commonarchive.CommonarchiveFactory
- */
- public EJBJarFile openEJB11JarFile(LoadStrategy aLoadStrategy, String uri) throws OpenFailureException {
- Archive anArchive = primOpenArchive(aLoadStrategy, uri);
- ArchiveTypeDiscriminator disc = EjbJar11ImportStrategyImpl.getDiscriminator();
- return (EJBJarFile) openSpecificArchive(anArchive, disc);
- }
-
- /**
- * @see com.ibm.etools.commonarchive.CommonarchiveFactory
- */
- public EJBJarFile openEJB11JarFile(String uri) throws OpenFailureException {
- Archive anArchive = primOpenArchive(uri);
- ArchiveTypeDiscriminator disc = EjbJar11ImportStrategyImpl.getDiscriminator();
- return (EJBJarFile) openSpecificArchive(anArchive, disc);
- }
-
- /**
- * open the archive, setting up the appropriate strategies, using the loadStrategy passed in;
- * URI still necessary so the archive has a name, but it will not be used for io.
- */
- public EJBJarFile openEJBJarFile(ArchiveOptions options, String uri) throws OpenFailureException {
- Archive anArchive = primOpenArchive(options, uri);
- RootEJBJarDescriminatorImpl disc = (RootEJBJarDescriminatorImpl) RootEJBJarDescriminatorImpl.singleton();
- return (EJBJarFile) openSpecificArchive(anArchive, disc);
- }
-
- /**
- * @see com.ibm.etools.commonarchive.CommonarchiveFactory
- */
- public EJBJarFile openEJBJarFile(LoadStrategy aLoadStrategy, String uri) throws OpenFailureException {
- Archive anArchive = primOpenArchive(aLoadStrategy, uri);
- RootEJBJarDescriminatorImpl disc = (RootEJBJarDescriminatorImpl) RootEJBJarDescriminatorImpl.singleton();
- return (EJBJarFile) openSpecificArchive(anArchive, disc);
- }
-
- /**
- * @see com.ibm.etools.commonarchive.CommonarchiveFactory
- */
- public EJBJarFile openEJBJarFile(LoadStrategy aLoadStrategy, String uri, String extraClassPath) throws OpenFailureException {
- Archive anArchive = primOpenArchive(aLoadStrategy, uri);
- anArchive.setExtraClasspath(extraClassPath);
- RootEJBJarDescriminatorImpl disc = (RootEJBJarDescriminatorImpl) RootEJBJarDescriminatorImpl.singleton();
- return (EJBJarFile) openSpecificArchive(anArchive, disc);
- }
-
- /**
- * @see com.ibm.etools.commonarchive.CommonarchiveFactory
- */
- public EJBJarFile openEJBJarFile(String uri) throws OpenFailureException {
- Archive anArchive = primOpenArchive(uri);
- RootEJBJarDescriminatorImpl disc = (RootEJBJarDescriminatorImpl) RootEJBJarDescriminatorImpl.singleton();
- return (EJBJarFile) openSpecificArchive(anArchive, disc);
- }
-
- /**
- * @see com.ibm.etools.commonarchive.CommonarchiveFactory
- */
- public EJBJarFile openEJBJarFile(String uri, String extraClassPath) throws OpenFailureException {
- Archive anArchive = primOpenArchive(uri);
- anArchive.setExtraClasspath(extraClassPath);
- RootEJBJarDescriminatorImpl disc = (RootEJBJarDescriminatorImpl) RootEJBJarDescriminatorImpl.singleton();
- return (EJBJarFile) openSpecificArchive(anArchive, disc);
- }
-
- public Archive openNestedArchive(LooseArchive loose, Archive parent) throws OpenFailureException {
- String uri = loose.getUri();
- try {
- LoadStrategy childStrategy = createLoadStrategy(loose.getBinariesPath());
- childStrategy.setLooseArchive(loose);
- ArchiveOptions options = parent.getOptions().cloneWith(childStrategy, loose.getUri());
- return primOpenArchive(options, uri);
- } catch (IOException ex) {
- throw new OpenFailureException(CommonArchiveResourceHandler.getString("open_nested_EXC_", (new Object[]{uri, parent.getURI()})), ex); //$NON-NLS-1$ = "Could not open the nested archive "{0}" in "{1}""
- }
- }
-
- /**
- * @see CommonarchiveFactory
- */
- public Archive openNestedArchive(String uri, Archive parent) throws OpenFailureException {
- try {
- LoadStrategy childStrategy = createChildLoadStrategy(uri, parent.getLoadStrategy());
- ArchiveOptions options = parent.getOptions().cloneWith(childStrategy, uri);
- if (options.shouldDiscriminateNestedArchives())
- return openArchive(options, uri);
- return primOpenArchive(options, uri);
- } catch (IOException ex) {
- throw new OpenFailureException(CommonArchiveResourceHandler.getString("open_nested_EXC_", (new Object[]{uri, parent.getURI()})), ex); //$NON-NLS-1$ = "Could not open the nested archive "{0}" in "{1}""
- }
- }
-
- /**
- * open the archive, setting up the appropriate strategies, using the loadStrategy passed in;
- * URI still necessary so the archive has a name, but it will not be used for io.
- */
- public RARFile openRARFile(ArchiveOptions options, java.lang.String uri) throws OpenFailureException {
- Archive anArchive = primOpenArchive(options, uri);
- ArchiveTypeDiscriminator disc = RarImportStrategyImpl.getDiscriminator();
- return (RARFile) openSpecificArchive(anArchive, disc);
- }
-
- /**
- * @see com.ibm.etools.commonarchive.CommonarchiveFactory
- */
- public RARFile openRARFile(LoadStrategy aLoadStrategy, String uri) throws OpenFailureException {
- Archive anArchive = primOpenArchive(aLoadStrategy, uri);
- ArchiveTypeDiscriminator disc = RarImportStrategyImpl.getDiscriminator();
- return (RARFile) openSpecificArchive(anArchive, disc);
- }
-
- /**
- * @see com.ibm.etools.commonarchive.CommonarchiveFactory
- */
- public RARFile openRARFile(String uri) throws OpenFailureException {
- Archive anArchive = primOpenArchive(uri);
- ArchiveTypeDiscriminator disc = RarImportStrategyImpl.getDiscriminator();
- return (RARFile) openSpecificArchive(anArchive, disc);
- }
-
- /**
- * openReadOnlyDirectory method comment.
- */
- public ReadOnlyDirectory openReadOnlyDirectory(java.lang.String uri) throws java.io.IOException {
- java.io.File aFile = new java.io.File(uri);
- if (!aFile.exists())
- throw new FileNotFoundException(CommonArchiveResourceHandler.getString("could_not_find_dir_EXC_", (new Object[]{uri}))); //$NON-NLS-1$ = "Unable to open directory "
- if (!aFile.isDirectory())
- throw new IOException(CommonArchiveResourceHandler.getString("not_a_dir_EXC_", (new Object[]{uri}))); //$NON-NLS-1$ = "Unable to open directory because file is not a directory :"
- LoadStrategy strategy = new ReadOnlyDirectoryLoadStrategyImpl(uri);
- ReadOnlyDirectory container = createReadOnlyDirectory();
- container.setURI(uri);
- container.setLoadStrategy(strategy);
- container.setLastModified(aFile.lastModified());
- return container;
- }
-
- /**
- * Take the primitive archive and run it through the list of discriminators to convert it to the
- * correct specialized type; after after conversion, tell the archive to initalize itself if
- * necessary.
- */
- protected Archive openSpecificArchive(Archive anArchive, ArchiveTypeDiscriminator disc) throws OpenFailureException {
- if (!disc.canImport(anArchive)) {
- anArchive.close();
- throw new OpenFailureException(disc.getUnableToOpenMessage());
- }
- Archive specificArchive = disc.openArchive(anArchive);
- specificArchive.initializeAfterOpen();
- return specificArchive;
- }
-
- /**
- * Special case for ejb jar files, because of the need to support non-compliant 1.0 jars
- */
- protected Archive openSpecificArchive(Archive anArchive, RootEJBJarDescriminatorImpl disc) throws OpenFailureException {
- Archive specific = openSpecificArchive(anArchive, (ArchiveTypeDiscriminator) disc);
- if (specific == anArchive) {
- //The discriminator failed to convert the archve to an ejb jar file
- anArchive.close();
- throw new OpenFailureException(disc.getUnableToOpenMessage());
- }
- return specific;
- }
-
- /**
- * open the archive, setting up the appropriate strategies, using the loadStrategy passed in;
- * URI still necessary so the archive has a name, but it will not be used for io.
- */
- public WARFile openWARFile(ArchiveOptions options, java.lang.String uri) throws OpenFailureException {
- Archive anArchive = primOpenArchive(options, uri);
- ArchiveTypeDiscriminator disc = War22ImportStrategyImpl.getDiscriminator();
- return (WARFile) openSpecificArchive(anArchive, disc);
- }
-
- /**
- * @see com.ibm.etools.commonarchive.CommonarchiveFactory
- */
- public WARFile openWARFile(LoadStrategy aLoadStrategy, String uri) throws OpenFailureException {
- Archive anArchive = primOpenArchive(aLoadStrategy, uri);
- ArchiveTypeDiscriminator disc = War22ImportStrategyImpl.getDiscriminator();
- return (WARFile) openSpecificArchive(anArchive, disc);
- }
-
- /**
- * @see com.ibm.etools.commonarchive.CommonarchiveFactory
- */
- public WARFile openWARFile(String uri) throws OpenFailureException {
- Archive anArchive = primOpenArchive(uri);
- ArchiveTypeDiscriminator disc = War22ImportStrategyImpl.getDiscriminator();
- return (WARFile) openSpecificArchive(anArchive, disc);
- }
-
- /**
- * open the archive, setting up the appropriate strategies, using the loadStrategy passed in;
- * URI still necessary so the archive has a name, but it will not be used for io.
- */
- public Archive primOpenArchive(ArchiveOptions options, String uri) throws OpenFailureException {
- if (options.getLoadStrategy() == null) {
- try {
- options.setLoadStrategy(createLoadStrategy(uri));
- } catch (IOException ex) {
- throw new OpenFailureException(CommonArchiveResourceHandler.getString("could_not_open_EXC_", (new Object[]{uri})), ex); //$NON-NLS-1$ = "Could not open "
- }
- }
- Archive anArchive = createArchive();
- anArchive.setURI(uri);
- anArchive.setOriginalURI(uri);
- anArchive.setLoadStrategy(options.getLoadStrategy());
- anArchive.setOptions(options);
- ArchiveTypeDiscriminatorRegistry.getInstance().contributeTypes(anArchive);
- return anArchive;
- }
-
- /**
- * open the archive, setting up the appropriate strategies, using the loadStrategy passed in;
- * URI still necessary so the archive has a name, but it will not be used for io.
- */
- public Archive primOpenArchive(LoadStrategy aLoadStrategy, String uri) throws OpenFailureException {
- return primOpenArchive(defaultOptions(aLoadStrategy), uri);
- }
-
- /**
- * @see com.ibm.etools.commonarchive.CommonarchiveFactory
- */
- public Archive primOpenArchive(String uri) throws OpenFailureException {
- return primOpenArchive(new ArchiveOptions(), uri);
- }
-
- protected void setOpenArchives(java.util.Map newOpenArchives) {
- openArchives = newOpenArchives;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public WARFile createWARFileGen() {
- WARFileImpl warFile = new WARFileImpl();
- return warFile;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EJBJarFile createEJBJarFileGen() {
- EJBJarFileImpl ejbJarFile = new EJBJarFileImpl();
- return ejbJarFile;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public ApplicationClientFile createApplicationClientFileGen() {
- ApplicationClientFileImpl applicationClientFile = new ApplicationClientFileImpl();
- return applicationClientFile;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EARFile createEARFileGen() {
- EARFileImpl earFile = new EARFileImpl();
- return earFile;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public RARFile createRARFileGen() {
- RARFileImpl rarFile = new RARFileImpl();
- return rarFile;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public File createFile() {
- FileImpl file = new FileImpl();
- return file;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public ReadOnlyDirectory createReadOnlyDirectory() {
- ReadOnlyDirectoryImpl readOnlyDirectory = new ReadOnlyDirectoryImpl();
- return readOnlyDirectory;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public CommonarchivePackage getCommonarchivePackage() {
- return (CommonarchivePackage) getEPackage();
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public static CommonarchivePackage getPackage() {
- return CommonarchivePackage.eINSTANCE;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EJBModuleRef createEJBModuleRefGen() {
- EJBModuleRefImpl ejbModuleRef = new EJBModuleRefImpl();
- return ejbModuleRef;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public WebModuleRef createWebModuleRefGen() {
- WebModuleRefImpl webModuleRef = new WebModuleRefImpl();
- return webModuleRef;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public ClientModuleRef createClientModuleRefGen() {
- ClientModuleRefImpl clientModuleRef = new ClientModuleRefImpl();
- return clientModuleRef;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public ConnectorModuleRef createConnectorModuleRefGen() {
- ConnectorModuleRefImpl connectorModuleRef = new ConnectorModuleRefImpl();
- return connectorModuleRef;
- }
-
- public ClientModuleRef createClientModuleRef(ApplicationClientFile clientFile) {
- ClientModuleRef ref = createClientModuleRef();
- ref.setModuleFile(clientFile);
- return ref;
- }
-
- /*
- * @see CommonarchiveFactory#createConnectorModuleRef(RARFile)
- */
- public ConnectorModuleRef createConnectorModuleRef(RARFile rarFile) {
- ConnectorModuleRef ref = createConnectorModuleRef();
- ref.setModuleFile(rarFile);
- return ref;
-
- }
-
- /*
- * @see CommonarchiveFactory#createEJBModuleRef(EJBJarFile)
- */
- public EJBModuleRef createEJBModuleRef(EJBJarFile ejbJarFile) {
- EJBModuleRef ref = createEJBModuleRef();
- ref.setModuleFile(ejbJarFile);
- return ref;
- }
-
- /*
- * @see CommonarchiveFactory#createWebModuleRef(WARFile)
- */
- public WebModuleRef createWebModuleRef(WARFile warFile) {
- WebModuleRef ref = createWebModuleRef();
- ref.setModuleFile(warFile);
- return ref;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Archive createArchive() {
- ArchiveImpl archive = new ArchiveImpl();
- return archive;
- }
-
- public ApplicationClientFile createApplicationClientFile() {
- return CommonArchiveFactoryRegistry.INSTANCE.getCommonArchiveFactory().createApplicationClientFile();
- }
-
-
- public ClientModuleRef createClientModuleRef() {
- return CommonArchiveFactoryRegistry.INSTANCE.getCommonArchiveFactory().createClientModuleRef();
- }
-
- public ConnectorModuleRef createConnectorModuleRef() {
- return CommonArchiveFactoryRegistry.INSTANCE.getCommonArchiveFactory().createConnectorModuleRef();
- }
-
- public EARFile createEARFile() {
- return CommonArchiveFactoryRegistry.INSTANCE.getCommonArchiveFactory().createEARFile();
- }
-
- public EJBJarFile createEJBJarFile() {
- return CommonArchiveFactoryRegistry.INSTANCE.getCommonArchiveFactory().createEJBJarFile();
- }
-
- public EJBModuleRef createEJBModuleRef() {
- return CommonArchiveFactoryRegistry.INSTANCE.getCommonArchiveFactory().createEJBModuleRef();
- }
-
- public RARFile createRARFile() {
- return CommonArchiveFactoryRegistry.INSTANCE.getCommonArchiveFactory().createRARFile();
- }
-
- public WARFile createWARFile() {
- return CommonArchiveFactoryRegistry.INSTANCE.getCommonArchiveFactory().createWARFile();
- }
-
- public WebModuleRef createWebModuleRef() {
- return CommonArchiveFactoryRegistry.INSTANCE.getCommonArchiveFactory().createWebModuleRef();
- }
-
- /**
- * @return
- */
- public CommonarchiveFactory getDelegate() {
- return delegate;
- }
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/CommonarchivePackageImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/CommonarchivePackageImpl.java
deleted file mode 100644
index b6413825d..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/CommonarchivePackageImpl.java
+++ /dev/null
@@ -1,635 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.impl;
-
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.impl.EPackageImpl;
-import org.eclipse.emf.ecore.impl.EcorePackageImpl;
-import org.eclipse.jem.java.impl.JavaRefPackageImpl;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ApplicationClientFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ClientModuleRef;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ConnectorModuleRef;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Container;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.EJBJarFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.EJBModuleRef;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.File;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ModuleFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ModuleRef;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.RARFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ReadOnlyDirectory;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.WARFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.WebModuleRef;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseconfigPackage;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.impl.LooseconfigPackageImpl;
-import org.eclipse.jst.j2ee.internal.application.ApplicationPackage;
-import org.eclipse.jst.j2ee.internal.application.impl.ApplicationPackageImpl;
-import org.eclipse.jst.j2ee.internal.client.ClientPackage;
-import org.eclipse.jst.j2ee.internal.client.impl.ClientPackageImpl;
-import org.eclipse.jst.j2ee.internal.common.impl.CommonPackageImpl;
-import org.eclipse.jst.j2ee.internal.ejb.EjbPackage;
-import org.eclipse.jst.j2ee.internal.ejb.impl.EjbPackageImpl;
-import org.eclipse.jst.j2ee.internal.jca.JcaPackage;
-import org.eclipse.jst.j2ee.internal.jca.impl.JcaPackageImpl;
-import org.eclipse.jst.j2ee.internal.jsp.impl.JspPackageImpl;
-import org.eclipse.jst.j2ee.internal.webapplication.WebapplicationPackage;
-import org.eclipse.jst.j2ee.internal.webapplication.impl.WebapplicationPackageImpl;
-import org.eclipse.jst.j2ee.webservice.internal.wsclient.impl.Webservice_clientPackageImpl;
-
-
-/**
- * @lastgen class CommonarchivePackageImpl extends EPackageImpl implements CommonarchivePackage,
- * EPackage {}
- */
-public class CommonarchivePackageImpl extends EPackageImpl implements CommonarchivePackage {
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- private EClass fileEClass = null;
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- private EClass archiveEClass = null;
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- private EClass ejbJarFileEClass = null;
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- private EClass warFileEClass = null;
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- private EClass earFileEClass = null;
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- private EClass applicationClientFileEClass = null;
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- private EClass moduleFileEClass = null;
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- private EClass containerEClass = null;
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- private EClass readOnlyDirectoryEClass = null;
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- private EClass rarFileEClass = null;
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- private EClass moduleRefEClass = null;
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- private EClass ejbModuleRefEClass = null;
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- private EClass webModuleRefEClass = null;
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- private EClass clientModuleRefEClass = null;
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- private EClass connectorModuleRefEClass = null;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- private CommonarchivePackageImpl() {
- super(eNS_URI, CommonarchiveFactory.eINSTANCE);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- private static boolean isInited = false;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public static CommonarchivePackage init() {
- if (isInited)
- return (CommonarchivePackage) EPackage.Registry.INSTANCE.getEPackage(CommonarchivePackage.eNS_URI);
-
- // Obtain or create and register package.
- CommonarchivePackageImpl theCommonarchivePackage = (CommonarchivePackageImpl) (EPackage.Registry.INSTANCE.getEPackage(eNS_URI) instanceof EPackage ? EPackage.Registry.INSTANCE.getEPackage(eNS_URI) : new CommonarchivePackageImpl());
-
- isInited = true;
-
- // Initialize simple dependencies
- JcaPackageImpl.init();
- Webservice_clientPackageImpl.init();
- EcorePackageImpl.init();
- JavaRefPackageImpl.init();
- CommonPackageImpl.init();
- ClientPackageImpl.init();
- WebapplicationPackageImpl.init();
- EjbPackageImpl.init();
- JspPackageImpl.init();
- ApplicationPackageImpl.init();
-
- // Obtain or create and register interdependencies
- LooseconfigPackageImpl theLooseconfigPackage = (LooseconfigPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(LooseconfigPackage.eNS_URI) instanceof EPackage ? EPackage.Registry.INSTANCE.getEPackage(LooseconfigPackage.eNS_URI) : LooseconfigPackage.eINSTANCE);
-
- // Step 1: create meta-model objects
- theCommonarchivePackage.createPackageContents();
- theLooseconfigPackage.createPackageContents();
-
- // Step 2: complete initialization
- theCommonarchivePackage.initializePackageContents();
- theLooseconfigPackage.initializePackageContents();
-
- return theCommonarchivePackage;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EClass getContainer() {
- return containerEClass;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EReference getContainer_Files() {
- return (EReference) containerEClass.getEReferences().get(0);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EClass getWARFile() {
- return warFileEClass;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EReference getWARFile_DeploymentDescriptor() {
- return (EReference) warFileEClass.getEReferences().get(0);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EClass getModuleFile() {
- return moduleFileEClass;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EClass getEARFile() {
- return earFileEClass;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EReference getEARFile_DeploymentDescriptor() {
- return (EReference) earFileEClass.getEReferences().get(1);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EReference getEARFile_ModuleRefs() {
- return (EReference) earFileEClass.getEReferences().get(0);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EClass getModuleRef() {
- return moduleRefEClass;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EReference getModuleRef_ModuleFile() {
- return (EReference) moduleRefEClass.getEReferences().get(0);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EReference getModuleRef_EarFile() {
- return (EReference) moduleRefEClass.getEReferences().get(1);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EReference getModuleRef_Module() {
- return (EReference) moduleRefEClass.getEReferences().get(2);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EClass getEJBModuleRef() {
- return ejbModuleRefEClass;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EClass getWebModuleRef() {
- return webModuleRefEClass;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EClass getClientModuleRef() {
- return clientModuleRefEClass;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EClass getConnectorModuleRef() {
- return connectorModuleRefEClass;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EClass getApplicationClientFile() {
- return applicationClientFileEClass;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EReference getApplicationClientFile_DeploymentDescriptor() {
- return (EReference) applicationClientFileEClass.getEReferences().get(0);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EClass getEJBJarFile() {
- return ejbJarFileEClass;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EReference getEJBJarFile_DeploymentDescriptor() {
- return (EReference) ejbJarFileEClass.getEReferences().get(0);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EClass getRARFile() {
- return rarFileEClass;
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EReference getRARFile_DeploymentDescriptor() {
- return (EReference) rarFileEClass.getEReferences().get(0);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EClass getArchive() {
- return archiveEClass;
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EAttribute getArchive_Types() {
- return (EAttribute) archiveEClass.getEAttributes().get(0);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EClass getFile() {
- return fileEClass;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EAttribute getFile_URI() {
- return (EAttribute) fileEClass.getEAttributes().get(0);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EAttribute getFile_LastModified() {
- return (EAttribute) fileEClass.getEAttributes().get(1);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EAttribute getFile_Size() {
- return (EAttribute) fileEClass.getEAttributes().get(2);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EAttribute getFile_DirectoryEntry() {
- return (EAttribute) fileEClass.getEAttributes().get(3);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EAttribute getFile_OriginalURI() {
- return (EAttribute) fileEClass.getEAttributes().get(4);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EReference getFile_LoadingContainer() {
- return (EReference) fileEClass.getEReferences().get(0);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EReference getFile_Container() {
- return (EReference) fileEClass.getEReferences().get(1);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EClass getReadOnlyDirectory() {
- return readOnlyDirectoryEClass;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public CommonarchiveFactory getCommonarchiveFactory() {
- return (CommonarchiveFactory) getEFactoryInstance();
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- private boolean isCreated = false;
-
- /**
- * Creates the meta-model objects for the package. This method is guarded to have no affect on
- * any invocation but its first. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public void createPackageContents() {
- if (isCreated)
- return;
- isCreated = true;
-
- // Create classes and their features
- fileEClass = createEClass(FILE);
- createEAttribute(fileEClass, FILE__URI);
- createEAttribute(fileEClass, FILE__LAST_MODIFIED);
- createEAttribute(fileEClass, FILE__SIZE);
- createEAttribute(fileEClass, FILE__DIRECTORY_ENTRY);
- createEAttribute(fileEClass, FILE__ORIGINAL_URI);
- createEReference(fileEClass, FILE__LOADING_CONTAINER);
- createEReference(fileEClass, FILE__CONTAINER);
-
- archiveEClass = createEClass(ARCHIVE);
- createEAttribute(archiveEClass, ARCHIVE__TYPES);
-
- ejbJarFileEClass = createEClass(EJB_JAR_FILE);
- createEReference(ejbJarFileEClass, EJB_JAR_FILE__DEPLOYMENT_DESCRIPTOR);
-
- warFileEClass = createEClass(WAR_FILE);
- createEReference(warFileEClass, WAR_FILE__DEPLOYMENT_DESCRIPTOR);
-
- earFileEClass = createEClass(EAR_FILE);
- createEReference(earFileEClass, EAR_FILE__MODULE_REFS);
- createEReference(earFileEClass, EAR_FILE__DEPLOYMENT_DESCRIPTOR);
-
- applicationClientFileEClass = createEClass(APPLICATION_CLIENT_FILE);
- createEReference(applicationClientFileEClass, APPLICATION_CLIENT_FILE__DEPLOYMENT_DESCRIPTOR);
-
- moduleFileEClass = createEClass(MODULE_FILE);
-
- containerEClass = createEClass(CONTAINER);
- createEReference(containerEClass, CONTAINER__FILES);
-
- readOnlyDirectoryEClass = createEClass(READ_ONLY_DIRECTORY);
-
- rarFileEClass = createEClass(RAR_FILE);
- createEReference(rarFileEClass, RAR_FILE__DEPLOYMENT_DESCRIPTOR);
-
- moduleRefEClass = createEClass(MODULE_REF);
- createEReference(moduleRefEClass, MODULE_REF__MODULE_FILE);
- createEReference(moduleRefEClass, MODULE_REF__EAR_FILE);
- createEReference(moduleRefEClass, MODULE_REF__MODULE);
-
- ejbModuleRefEClass = createEClass(EJB_MODULE_REF);
-
- webModuleRefEClass = createEClass(WEB_MODULE_REF);
-
- clientModuleRefEClass = createEClass(CLIENT_MODULE_REF);
-
- connectorModuleRefEClass = createEClass(CONNECTOR_MODULE_REF);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- private boolean isInitialized = false;
-
- /**
- * Complete the initialization of the package and its meta-model. This method is guarded to have
- * no affect on any invocation but its first. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public void initializePackageContents() {
- if (isInitialized)
- return;
- isInitialized = true;
-
- // Initialize package
- setName(eNAME);
- setNsPrefix(eNS_PREFIX);
- setNsURI(eNS_URI);
-
- // Obtain other dependent packages
- LooseconfigPackageImpl theLooseconfigPackage = (LooseconfigPackageImpl) EPackage.Registry.INSTANCE.getEPackage(LooseconfigPackage.eNS_URI);
- EjbPackageImpl theEjbPackage = (EjbPackageImpl) EPackage.Registry.INSTANCE.getEPackage(EjbPackage.eNS_URI);
- WebapplicationPackageImpl theWebapplicationPackage = (WebapplicationPackageImpl) EPackage.Registry.INSTANCE.getEPackage(WebapplicationPackage.eNS_URI);
- ApplicationPackageImpl theApplicationPackage = (ApplicationPackageImpl) EPackage.Registry.INSTANCE.getEPackage(ApplicationPackage.eNS_URI);
- ClientPackageImpl theClientPackage = (ClientPackageImpl) EPackage.Registry.INSTANCE.getEPackage(ClientPackage.eNS_URI);
- JcaPackageImpl theJcaPackage = (JcaPackageImpl) EPackage.Registry.INSTANCE.getEPackage(JcaPackage.eNS_URI);
-
- // Add subpackages
- getESubpackages().add(theLooseconfigPackage);
-
- // Add supertypes to classes
- archiveEClass.getESuperTypes().add(this.getContainer());
- ejbJarFileEClass.getESuperTypes().add(this.getModuleFile());
- warFileEClass.getESuperTypes().add(this.getModuleFile());
- earFileEClass.getESuperTypes().add(this.getModuleFile());
- applicationClientFileEClass.getESuperTypes().add(this.getModuleFile());
- moduleFileEClass.getESuperTypes().add(this.getArchive());
- containerEClass.getESuperTypes().add(this.getFile());
- readOnlyDirectoryEClass.getESuperTypes().add(this.getContainer());
- rarFileEClass.getESuperTypes().add(this.getModuleFile());
- ejbModuleRefEClass.getESuperTypes().add(this.getModuleRef());
- webModuleRefEClass.getESuperTypes().add(this.getModuleRef());
- clientModuleRefEClass.getESuperTypes().add(this.getModuleRef());
- connectorModuleRefEClass.getESuperTypes().add(this.getModuleRef());
-
- // Initialize classes and features; add operations and parameters
- initEClass(fileEClass, File.class, "File", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
- initEAttribute(getFile_URI(), ecorePackage.getEString(), "URI", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, false); //$NON-NLS-1$
- initEAttribute(getFile_LastModified(), ecorePackage.getELong(), "lastModified", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, false); //$NON-NLS-1$
- initEAttribute(getFile_Size(), ecorePackage.getELong(), "size", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, false); //$NON-NLS-1$
- initEAttribute(getFile_DirectoryEntry(), ecorePackage.getEBoolean(), "directoryEntry", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, false); //$NON-NLS-1$
- initEAttribute(getFile_OriginalURI(), ecorePackage.getEString(), "originalURI", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, false); //$NON-NLS-1$
- initEReference(getFile_LoadingContainer(), this.getContainer(), null, "loadingContainer", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, false); //$NON-NLS-1$
- initEReference(getFile_Container(), this.getContainer(), this.getContainer_Files(), "container", null, 0, 1, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, false); //$NON-NLS-1$
-
- initEClass(archiveEClass, Archive.class, "Archive", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
- initEAttribute(getArchive_Types(), ecorePackage.getEString(), "types", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, false); //$NON-NLS-1$
-
- initEClass(ejbJarFileEClass, EJBJarFile.class, "EJBJarFile", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
- initEReference(getEJBJarFile_DeploymentDescriptor(), theEjbPackage.getEJBJar(), null, "deploymentDescriptor", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, false); //$NON-NLS-1$
-
- initEClass(warFileEClass, WARFile.class, "WARFile", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
- initEReference(getWARFile_DeploymentDescriptor(), theWebapplicationPackage.getWebApp(), null, "deploymentDescriptor", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, false); //$NON-NLS-1$
-
- initEClass(earFileEClass, EARFile.class, "EARFile", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
- initEReference(getEARFile_ModuleRefs(), this.getModuleRef(), this.getModuleRef_EarFile(), "moduleRefs", null, 1, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, false); //$NON-NLS-1$
- initEReference(getEARFile_DeploymentDescriptor(), theApplicationPackage.getApplication(), null, "deploymentDescriptor", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, false); //$NON-NLS-1$
-
- initEClass(applicationClientFileEClass, ApplicationClientFile.class, "ApplicationClientFile", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
- initEReference(getApplicationClientFile_DeploymentDescriptor(), theClientPackage.getApplicationClient(), null, "deploymentDescriptor", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, false); //$NON-NLS-1$
-
- initEClass(moduleFileEClass, ModuleFile.class, "ModuleFile", IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-
- initEClass(containerEClass, Container.class, "Container", IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
- initEReference(getContainer_Files(), this.getFile(), this.getFile_Container(), "files", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, false); //$NON-NLS-1$
-
- initEClass(readOnlyDirectoryEClass, ReadOnlyDirectory.class, "ReadOnlyDirectory", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-
- initEClass(rarFileEClass, RARFile.class, "RARFile", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
- initEReference(getRARFile_DeploymentDescriptor(), theJcaPackage.getConnector(), null, "deploymentDescriptor", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, false); //$NON-NLS-1$
-
- initEClass(moduleRefEClass, ModuleRef.class, "ModuleRef", IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
- initEReference(getModuleRef_ModuleFile(), this.getModuleFile(), null, "moduleFile", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, false); //$NON-NLS-1$
- initEReference(getModuleRef_EarFile(), this.getEARFile(), this.getEARFile_ModuleRefs(), "earFile", null, 1, 1, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, false); //$NON-NLS-1$
- initEReference(getModuleRef_Module(), theApplicationPackage.getModule(), null, "module", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, false); //$NON-NLS-1$
-
- initEClass(ejbModuleRefEClass, EJBModuleRef.class, "EJBModuleRef", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-
- initEClass(webModuleRefEClass, WebModuleRef.class, "WebModuleRef", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-
- initEClass(clientModuleRefEClass, ClientModuleRef.class, "ClientModuleRef", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-
- initEClass(connectorModuleRefEClass, ConnectorModuleRef.class, "ConnectorModuleRef", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-
- // Create resource
- createResource(eNS_URI);
- }
-} //CommonarchivePackageImpl
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/ConnectorModuleRefImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/ConnectorModuleRefImpl.java
deleted file mode 100644
index dff058cea..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/ConnectorModuleRefImpl.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.impl;
-
-
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.jst.j2ee.application.Module;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ConnectorModuleRef;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ModuleFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ModuleRef;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.ArchiveWrappedException;
-import org.eclipse.jst.j2ee.jca.Connector;
-
-
-public class ConnectorModuleRefImpl extends ModuleRefImpl implements ConnectorModuleRef, ModuleRef {
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected ConnectorModuleRefImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- protected EClass eStaticClass() {
- return CommonarchivePackage.eINSTANCE.getConnectorModuleRef();
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case CommonarchivePackage.CONNECTOR_MODULE_REF__EAR_FILE :
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, CommonarchivePackage.CONNECTOR_MODULE_REF__EAR_FILE, msgs);
- default :
- return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
- }
- }
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case CommonarchivePackage.CONNECTOR_MODULE_REF__EAR_FILE :
- return eBasicSetContainer(null, CommonarchivePackage.CONNECTOR_MODULE_REF__EAR_FILE, msgs);
- default :
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
- if (eContainerFeatureID >= 0) {
- switch (eContainerFeatureID) {
- case CommonarchivePackage.CONNECTOR_MODULE_REF__EAR_FILE :
- return eContainer.eInverseRemove(this, CommonarchivePackage.EAR_FILE__MODULE_REFS, EARFile.class, msgs);
- default :
- return eDynamicBasicRemoveFromContainer(msgs);
- }
- }
- return eContainer.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.CONNECTOR_MODULE_REF__MODULE_FILE :
- if (resolve)
- return getModuleFile();
- return basicGetModuleFile();
- case CommonarchivePackage.CONNECTOR_MODULE_REF__EAR_FILE :
- return getEarFile();
- case CommonarchivePackage.CONNECTOR_MODULE_REF__MODULE :
- if (resolve)
- return getModule();
- return basicGetModule();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.CONNECTOR_MODULE_REF__MODULE_FILE :
- setModuleFile((ModuleFile) newValue);
- return;
- case CommonarchivePackage.CONNECTOR_MODULE_REF__EAR_FILE :
- setEarFile((EARFile) newValue);
- return;
- case CommonarchivePackage.CONNECTOR_MODULE_REF__MODULE :
- setModule((Module) newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.CONNECTOR_MODULE_REF__MODULE_FILE :
- setModuleFile((ModuleFile) null);
- return;
- case CommonarchivePackage.CONNECTOR_MODULE_REF__EAR_FILE :
- setEarFile((EARFile) null);
- return;
- case CommonarchivePackage.CONNECTOR_MODULE_REF__MODULE :
- setModule((Module) null);
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.CONNECTOR_MODULE_REF__MODULE_FILE :
- return moduleFile != null;
- case CommonarchivePackage.CONNECTOR_MODULE_REF__EAR_FILE :
- return getEarFile() != null;
- case CommonarchivePackage.CONNECTOR_MODULE_REF__MODULE :
- return module != null;
- }
- return eDynamicIsSet(eFeature);
- }
-
- public Connector getConnector() throws ArchiveWrappedException {
- return (Connector) getDeploymentDescriptor();
- }
-
- /*
- * @see ModuleRef#isConnector()
- */
- public boolean isConnector() {
- return true;
- }
-
-} //ConnectorModuleRefImpl
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/ContainerImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/ContainerImpl.java
deleted file mode 100644
index d20d834ac..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/ContainerImpl.java
+++ /dev/null
@@ -1,513 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.impl;
-
-
-
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.common.notify.impl.AdapterImpl;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Container;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.File;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.LoadStrategy;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.util.ArchiveUtil;
-
-
-/**
- * @generated
- */
-public abstract class ContainerImpl extends FileImpl implements Container {
-
-
- /**
- * Inner class which maintains the index for the domain's collection of nodes keyed by name.
- */
- protected class FileNotificationAdapter extends AdapterImpl {
- public boolean isAdapterForType(Object type) {
- return (type == "FileNotificationAdapter");//$NON-NLS-1$
- }
-
- public void addIndexedFile(String newValue, Notifier notifier) {
- fileIndex.put(newValue, notifier);
- if (notifier.eAdapters() == null || !notifier.eAdapters().contains(this))
- notifier.eAdapters().add(this);
- }
-
- public void removeIndexedFile(String oldValue, Notifier notifier) {
- fileIndex.remove(oldValue);
- notifier.eAdapters().remove(this);
- }
-
- public void notifyChanged(Notification notification) {
- if (fileIndex == null || notification.getFeature() == null)
- return;
- //If the name changed, update the index
- if (notification.getFeature().equals(CommonarchivePackage.eINSTANCE.getFile_URI()) && ((File) notification.getNotifier()).getContainer() == ContainerImpl.this) {
- fileIndex.remove(notification.getOldValue());
- fileIndex.put(notification.getNewValue(), notification.getNotifier());
- }
- //Handle adds and removes
- if (notification.getFeature().equals(CommonarchivePackage.eINSTANCE.getContainer_Files()) && notification.getNotifier() == ContainerImpl.this) {
- switch (notification.getEventType()) {
- case Notification.ADD : {
- File file = (File) notification.getNewValue();
- addIndexedFile(file.getURI(), file);
- break;
- }
- case Notification.REMOVE : {
- removeIndexedFile(((File) notification.getOldValue()).getURI(), (File) notification.getOldValue());
- break;
- }
- case Notification.ADD_MANY : {
- filesAdded((List) notification.getNewValue());
- break;
- }
- case Notification.REMOVE_MANY : {
- filesRemoved((List) notification.getOldValue());
- break;
- }
- case Notification.MOVE : {
- break;
- }
- case Notification.SET : {
- if (notification.getPosition() != Notification.NO_INDEX) { //This is now a
- // replace in
- // MOF2
- File file = (File) notification.getNewValue();
- removeIndexedFile(((File) notification.getOldValue()).getURI(), (File) notification.getOldValue());
- addIndexedFile(file.getURI(), file);
- }
- break;
- }
- }
- }
- }
-
- public void filesAdded(List newFiles) {
- for (int i = 0; i < newFiles.size(); i++) {
- File file = (File) newFiles.get(i);
- addIndexedFile(file.getURI(), file);
- }
- }
-
- public void filesRemoved(List oldFiles) {
- for (int i = 0; i < oldFiles.size(); i++) {
- File file = (File) oldFiles.get(i);
- removeIndexedFile(file.getURI(), file);
- }
- }
-
- public void rebuildFileIndex() {
- removeAdaptersIfNecessary();
- fileIndex = new HashMap();
-
- // If the primary collection already has elements,
- //'reflect them in the index...
- if (getFiles().size() > 0) {
- Iterator i = getFiles().iterator();
- while (i.hasNext()) {
- File file = (File) i.next();
- addIndexedFile(file.getURI(), file);
- }
- }
- }
-
- public void removeAdaptersIfNecessary() {
- if (fileIndex == null)
- return;
- Iterator iter = fileIndex.values().iterator();
- while (iter.hasNext()) {
- File aFile = (File) iter.next();
- aFile.eAdapters().remove(this);
- }
- }
- }
-
- /** Implementer for loading entries in this container */
- protected LoadStrategy loadStrategy;
- /**
- * Index to provide fast lookup by name of files.
- */
- protected Map fileIndex;
- /**
- * An adapter which maintains the file index
- */
- protected FileNotificationAdapter fileIndexAdapter;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected EList files = null;
-
- public ContainerImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- protected EClass eStaticClass() {
- return CommonarchivePackage.eINSTANCE.getContainer();
- }
-
- /**
- * @see com.ibm.etools.commonarchive.Archive
- */
- public boolean containsFile(java.lang.String aUri) {
- String key = aUri.startsWith("/") ? ArchiveUtil.truncateFromFrontIgnoreCase(aUri, "/") : aUri;//$NON-NLS-2$//$NON-NLS-1$
- if (isIndexed())
- return getFileIndex().containsKey(key);
- return getLoadStrategy().contains(key);
-
- }
-
- /**
- * @see com.ibm.etools.commonarchive.Container
- */
- public java.lang.String getAbsolutePath() throws java.io.FileNotFoundException {
- return getLoadStrategy().getAbsolutePath();
- }
-
- public File getFile(String URI) throws java.io.FileNotFoundException {
- if (!isIndexed()) {
- getFiles();
- }
- File file = (File) getFileIndex().get(URI);
- if (file == null) {
- throw new java.io.FileNotFoundException(URI);
- }
- return file;
- }
-
- /**
- * Insert the method's description here. Creation date: (12/05/00 7:20:21 PM)
- *
- * @return java.util.Map
- */
- protected java.util.Map getFileIndex() {
- if (fileIndex == null)
- getFileIndexAdapter().rebuildFileIndex();
- return fileIndex;
- }
-
- /**
- * Insert the method's description here. Creation date: (12/05/00 7:20:21 PM)
- *
- * @return FileNotificationAdapter
- */
- protected FileNotificationAdapter getFileIndexAdapter() {
- if (fileIndexAdapter == null) {
- fileIndexAdapter = new FileNotificationAdapter();
- eAdapters().add(fileIndexAdapter);
- }
- return fileIndexAdapter;
- }
-
- /**
- * List is built on demand, by requesting from the load strategy.
- */
- public EList getFiles() {
- EList filesList = this.getFilesGen();
- if (!isIndexed()) {
- if (filesList.isEmpty() && getLoadStrategy() != null) {
- filesList.addAll(getLoadStrategy().collectFiles());
- }
- //Causes the index to be built
- getFileIndex();
- }
- return filesList;
- }
-
- /**
- * @see com.ibm.etools.commonarchive.Archive Looks for a file with the given uri, and returns an
- * input stream; optimization: if the file list has not been built, goes directly to the
- * loadStrategy.
- */
- public java.io.InputStream getInputStream(java.lang.String aUri) throws java.io.IOException, java.io.FileNotFoundException {
- if (isIndexed()) {
- return getFile(aUri).getInputStream();
- }
- return primGetInputStream(aUri);
- }
-
- /**
- * Insert the method's description here. Creation date: (11/29/00 6:35:08 PM)
- *
- * @return com.ibm.etools.archive.LoadStrategy
- */
- public org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.LoadStrategy getLoadStrategy() {
- return loadStrategy;
- }
-
- public boolean isContainer() {
- return true;
- }
-
- public boolean isIndexed() {
- return fileIndex != null;
- }
-
- /**
- * @see com.ibm.etools.commonarchive.Archive Goes directly to the loadStrategy.
- */
- public java.io.InputStream primGetInputStream(java.lang.String aUri) throws java.io.IOException, java.io.FileNotFoundException {
- return getLoadStrategy().getInputStream(aUri);
- }
-
- public void rebuildFileIndex() {
- getFileIndexAdapter().rebuildFileIndex();
- }
-
- /**
- * Insert the method's description here. Creation date: (11/29/00 6:35:08 PM)
- *
- * @param newLoadStrategy
- * com.ibm.etools.archive.LoadStrategy
- */
- public void setLoadStrategy(org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.LoadStrategy newLoadStrategy) {
-
- if (newLoadStrategy != null) {
- newLoadStrategy.setContainer(this);
- if (loadStrategy != null) {
- newLoadStrategy.setRendererType(loadStrategy.getRendererType());
- newLoadStrategy.setReadOnly(loadStrategy.isReadOnly());
- loadStrategy.setContainer(null);
- loadStrategy.close();
- }
- }
- loadStrategy = newLoadStrategy;
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- public EList getFilesGen() {
- if (files == null) {
- files = new EObjectContainmentWithInverseEList(File.class, this, CommonarchivePackage.CONTAINER__FILES, CommonarchivePackage.FILE__CONTAINER);
- }
- return files;
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case CommonarchivePackage.CONTAINER__CONTAINER :
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, CommonarchivePackage.CONTAINER__CONTAINER, msgs);
- case CommonarchivePackage.CONTAINER__FILES :
- return ((InternalEList) getFiles()).basicAdd(otherEnd, msgs);
- default :
- return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
- }
- }
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case CommonarchivePackage.CONTAINER__CONTAINER :
- return eBasicSetContainer(null, CommonarchivePackage.CONTAINER__CONTAINER, msgs);
- case CommonarchivePackage.CONTAINER__FILES :
- return ((InternalEList) getFiles()).basicRemove(otherEnd, msgs);
- default :
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
- if (eContainerFeatureID >= 0) {
- switch (eContainerFeatureID) {
- case CommonarchivePackage.CONTAINER__CONTAINER :
- return eContainer.eInverseRemove(this, CommonarchivePackage.CONTAINER__FILES, Container.class, msgs);
- default :
- return eDynamicBasicRemoveFromContainer(msgs);
- }
- }
- return eContainer.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.CONTAINER__URI :
- return getURI();
- case CommonarchivePackage.CONTAINER__LAST_MODIFIED :
- return new Long(getLastModified());
- case CommonarchivePackage.CONTAINER__SIZE :
- return new Long(getSize());
- case CommonarchivePackage.CONTAINER__DIRECTORY_ENTRY :
- return isDirectoryEntry() ? Boolean.TRUE : Boolean.FALSE;
- case CommonarchivePackage.CONTAINER__ORIGINAL_URI :
- return getOriginalURI();
- case CommonarchivePackage.CONTAINER__LOADING_CONTAINER :
- if (resolve)
- return getLoadingContainer();
- return basicGetLoadingContainer();
- case CommonarchivePackage.CONTAINER__CONTAINER :
- return getContainer();
- case CommonarchivePackage.CONTAINER__FILES :
- return getFiles();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.CONTAINER__URI :
- setURI((String) newValue);
- return;
- case CommonarchivePackage.CONTAINER__LAST_MODIFIED :
- setLastModified(((Long) newValue).longValue());
- return;
- case CommonarchivePackage.CONTAINER__SIZE :
- setSize(((Long) newValue).longValue());
- return;
- case CommonarchivePackage.CONTAINER__DIRECTORY_ENTRY :
- setDirectoryEntry(((Boolean) newValue).booleanValue());
- return;
- case CommonarchivePackage.CONTAINER__ORIGINAL_URI :
- setOriginalURI((String) newValue);
- return;
- case CommonarchivePackage.CONTAINER__LOADING_CONTAINER :
- setLoadingContainer((Container) newValue);
- return;
- case CommonarchivePackage.CONTAINER__CONTAINER :
- setContainer((Container) newValue);
- return;
- case CommonarchivePackage.CONTAINER__FILES :
- getFiles().clear();
- getFiles().addAll((Collection) newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.CONTAINER__URI :
- setURI(URI_EDEFAULT);
- return;
- case CommonarchivePackage.CONTAINER__LAST_MODIFIED :
- unsetLastModified();
- return;
- case CommonarchivePackage.CONTAINER__SIZE :
- unsetSize();
- return;
- case CommonarchivePackage.CONTAINER__DIRECTORY_ENTRY :
- unsetDirectoryEntry();
- return;
- case CommonarchivePackage.CONTAINER__ORIGINAL_URI :
- setOriginalURI(ORIGINAL_URI_EDEFAULT);
- return;
- case CommonarchivePackage.CONTAINER__LOADING_CONTAINER :
- setLoadingContainer((Container) null);
- return;
- case CommonarchivePackage.CONTAINER__CONTAINER :
- setContainer((Container) null);
- return;
- case CommonarchivePackage.CONTAINER__FILES :
- getFiles().clear();
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.CONTAINER__URI :
- return URI_EDEFAULT == null ? uri != null : !URI_EDEFAULT.equals(uri);
- case CommonarchivePackage.CONTAINER__LAST_MODIFIED :
- return isSetLastModified();
- case CommonarchivePackage.CONTAINER__SIZE :
- return isSetSize();
- case CommonarchivePackage.CONTAINER__DIRECTORY_ENTRY :
- return isSetDirectoryEntry();
- case CommonarchivePackage.CONTAINER__ORIGINAL_URI :
- return ORIGINAL_URI_EDEFAULT == null ? originalURI != null : !ORIGINAL_URI_EDEFAULT.equals(originalURI);
- case CommonarchivePackage.CONTAINER__LOADING_CONTAINER :
- return loadingContainer != null;
- case CommonarchivePackage.CONTAINER__CONTAINER :
- return getContainer() != null;
- case CommonarchivePackage.CONTAINER__FILES :
- return files != null && !files.isEmpty();
- }
- return eDynamicIsSet(eFeature);
- }
-
- public void clearFiles() {
- boolean oldDelivery = eDeliver();
- files.clear();
- eSetDeliver(oldDelivery);
- if (isIndexed()) {
- eAdapters().remove(fileIndexAdapter);
- fileIndexAdapter = null;
- fileIndex = null;
- }
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/EARFileImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/EARFileImpl.java
deleted file mode 100644
index f24c11216..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/EARFileImpl.java
+++ /dev/null
@@ -1,1324 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.impl;
-
-
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.jst.j2ee.application.Application;
-import org.eclipse.jst.j2ee.application.ApplicationFactory;
-import org.eclipse.jst.j2ee.application.ConnectorModule;
-import org.eclipse.jst.j2ee.application.EjbModule;
-import org.eclipse.jst.j2ee.application.JavaClientModule;
-import org.eclipse.jst.j2ee.application.Module;
-import org.eclipse.jst.j2ee.application.WebModule;
-import org.eclipse.jst.j2ee.client.ApplicationClient;
-import org.eclipse.jst.j2ee.common.EjbRef;
-import org.eclipse.jst.j2ee.common.SecurityRole;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonArchiveResourceHandler;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Container;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.EJBJarFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.File;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ModuleFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ModuleRef;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.ArchiveWrappedException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DeploymentDescriptorLoadException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DuplicateObjectException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.EmptyResourceException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.ObjectNotFoundException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.OpenFailureException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.ResourceLoadException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveOptions;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseArchive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.LoadStrategy;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.util.ArchiveUtil;
-import org.eclipse.jst.j2ee.ejb.AssemblyDescriptor;
-import org.eclipse.jst.j2ee.ejb.EJBJar;
-import org.eclipse.jst.j2ee.ejb.EJBResource;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.jst.j2ee.internal.J2EEConstants;
-import org.eclipse.jst.j2ee.internal.application.ApplicationPackage;
-import org.eclipse.jst.j2ee.internal.client.impl.ApplicationClientResourceFactory;
-import org.eclipse.jst.j2ee.internal.common.XMLResource;
-import org.eclipse.jst.j2ee.internal.common.impl.J2EEResourceFactoryRegistry;
-import org.eclipse.jst.j2ee.internal.ejb.EjbPackage;
-import org.eclipse.jst.j2ee.internal.ejb.impl.EJBJarResourceFactory;
-import org.eclipse.jst.j2ee.internal.jca.impl.ConnectorResourceFactory;
-import org.eclipse.jst.j2ee.internal.webapplication.impl.WebAppResourceFactory;
-import org.eclipse.jst.j2ee.jca.Connector;
-import org.eclipse.jst.j2ee.webapplication.WebApp;
-import org.eclipse.wst.common.internal.emf.utilities.EtoolsCopyUtility;
-
-
-/**
- * @generated
- */
-public class EARFileImpl extends ModuleFileImpl implements EARFile {
-
- /**
- * Internal; clients should use {@link #getModuleRef(Module)}
- */
- public ModuleFile getModuleFile(Module moduleDescriptor) {
- ModuleRef ref = getModuleRef(moduleDescriptor);
- return (ref == null) ? null : ref.getModuleFile();
- }
-
- /**
- * @see com.ibm.etools.commonarchive.EARFile
- */
- public ModuleFile addCopy(ModuleFile aModuleFile) throws DuplicateObjectException {
- Object result = primAddCopyRef(aModuleFile);
- if (result instanceof ModuleRef)
- return ((ModuleRef) result).getModuleFile();
-
- return (ModuleFile) result;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected Application deploymentDescriptor = null;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected EList moduleRefs = null;
-
- public EARFileImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- protected EClass eStaticClass() {
- return CommonarchivePackage.eINSTANCE.getEARFile();
- }
-
- public Archive addCopy(Archive anArchive) throws org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DuplicateObjectException {
- if (anArchive.isModuleFile())
- return addCopy((ModuleFile) anArchive);
- Archive copy = super.addCopy(anArchive);
- copy.initializeClassLoader();
- return copy;
- }
-
- protected Object primAddCopyRef(ModuleFile aModuleFile) throws DuplicateObjectException {
- //force this list to get initialized before the add
- EList refs = getModuleRefs();
-
- if (aModuleFile.isEARFile())
- //If it's an ear then just treat it like any other archive
- return (ModuleFile) super.addCopy(aModuleFile);
- checkAddValid(aModuleFile);
- ModuleFile copy = getCommonArchiveFactory().copy(aModuleFile);
- Module newModule = createModuleForCopying(aModuleFile);
- getFiles().add(copy);
- copy.initializeClassLoader();
- if (!copy.getURI().equals(newModule.getUri()))
- copy.setURI(newModule.getUri());
-
- getDeploymentDescriptor().getModules().add(newModule);
- ModuleRef aRef = createModuleRef(newModule, copy);
- refs.add(aRef);
- return aRef;
- }
-
- /**
- * @see com.ibm.etools.commonarchive.EARFile
- */
- public ModuleRef addCopyRef(ModuleFile aModuleFile) throws DuplicateObjectException {
- Object result = primAddCopyRef(aModuleFile);
- if (result instanceof ModuleRef)
- return (ModuleRef) result;
-
- return null;
- }
-
-
-
- /**
- * @see com.ibm.etools.commonarchive.EARFile
- */
- public SecurityRole addCopy(SecurityRole aRole, Module aModule) throws DuplicateObjectException {
- EObject dd = null;
- try {
- dd = getDeploymentDescriptor(aModule);
- } catch (Exception e) {
- throw new DeploymentDescriptorLoadException(CommonArchiveResourceHandler.getString("dd_in_ear_load_EXC_", (new Object[]{aModule.getUri(), getURI()})), e); //$NON-NLS-1$ = "Exception occurred loading deployment descriptor for module "{0}" in ear file "{1}""
- }
- String roleName = aRole.getRoleName();
- SecurityRole copy = (SecurityRole) EtoolsCopyUtility.createCopy(aRole);
- if (aModule.isEjbModule()) {
- EJBJar ejbJar = (EJBJar) dd;
- if (ejbJar.containsSecurityRole(roleName))
- throw new DuplicateObjectException(CommonArchiveResourceHandler.getString("dup_sec_role_module_EXC_", (new Object[]{aModule.getUri(), roleName})), ejbJar.getAssemblyDescriptor().getSecurityRoleNamed(roleName)); //$NON-NLS-1$ = "Deployment descriptor for {0} already contains a security role named {1}"
- getAssemblyDescriptorAddIfNecessary(ejbJar).getSecurityRoles().add(copy);
- } else if (aModule.isWebModule()) {
- WebApp webApp = (WebApp) dd;
- if (webApp.containsSecurityRole(roleName))
- throw new DuplicateObjectException(CommonArchiveResourceHandler.getString("dup_sec_role_module_EXC_", (new Object[]{aModule.getUri(), roleName})), webApp.getSecurityRoleNamed(roleName));//$NON-NLS-1$ = "Deployment descriptor for {0} already contains a security role named {1}"
- webApp.getSecurityRoles().add(copy);
- }
- addCopyIfNotExists(aRole);
- return copy;
- }
-
- /**
- * @see com.ibm.etools.commonarchive.EARFile
- */
- public SecurityRole addCopyIfNotExists(SecurityRole aRole) {
- Application dd = getDeploymentDescriptor();
- SecurityRole copy = null;
- if (!dd.containsSecurityRole(aRole.getRoleName())) {
- copy = (SecurityRole) EtoolsCopyUtility.createCopy(aRole);
- dd.getSecurityRoles().add(copy);
- }
- return copy;
- }
-
- protected void checkDuplicate(String aUri) throws DuplicateObjectException {
- if (isDuplicate(aUri))
- throw new DuplicateObjectException(CommonArchiveResourceHandler.getString("dup_resource_EXC_", (new Object[]{aUri, getURI()}))); //$NON-NLS-1$ = "Resource named "{0}" already exists in archive "{1}""
- }
-
-
- protected Module createModuleForCopying(ModuleFile aModuleFile) {
- Module aModule = null;
- if (aModuleFile.isWARFile()) {
- aModule = getApplicationFactory().createWebModule();
- } else if (aModuleFile.isEJBJarFile()) {
- aModule = getApplicationFactory().createEjbModule();
- } else if (aModuleFile.isApplicationClientFile()) {
- aModule = getApplicationFactory().createJavaClientModule();
- } else if (aModuleFile.isRARFile()) {
- aModule = getApplicationFactory().createConnectorModule();
- }
- aModule.setUri(aModuleFile.getURI());
- return aModule;
- }
-
- /**
- * Retrieves the deployment descriptor root element for the specified module. Takes into account
- * altDD indirection.
- *
- * @return Only return null if an altDD is not defined.
- */
- public EObject getAltDeploymentDescriptor(Module aModule) throws FileNotFoundException, ResourceLoadException, EmptyResourceException {
- // Look for altDD
- String altDD = aModule.getAltDD();
- if (ArchiveUtil.isNullOrEmpty(altDD))
- return null;
- if (!isMofResourceLoaded(altDD.trim()))
- registerResourceFactory(aModule, altDD);
- XMLResource ddRes = (XMLResource) getMofResource(altDD.trim());
- if (!ddRes.isAlt()) {
- ddRes.setIsAlt(true);
- ddRes.setApplication(getDeploymentDescriptor());
- }
- return ArchiveUtil.getRoot(ddRes);
-
- }
-
- /**
- * @see com.ibm.etools.commonarchive.EARFile
- */
- public java.util.List getApplicationClientFiles() {
- List clientFiles = new ArrayList();
- List fileList = getFiles();
- for (int i = 0; i < fileList.size(); i++) {
- File aFile = (File) fileList.get(i);
- if (aFile.isApplicationClientFile()) {
- clientFiles.add(aFile);
- }
- }
- return clientFiles;
- }
-
- protected ApplicationFactory getApplicationFactory() {
- return ((ApplicationPackage) EPackage.Registry.INSTANCE.getEPackage(ApplicationPackage.eNS_URI)).getApplicationFactory();
- }
-
- protected AssemblyDescriptor getAssemblyDescriptorAddIfNecessary(EJBJar ejbJar) {
- AssemblyDescriptor ad = ejbJar.getAssemblyDescriptor();
- if (ad == null) {
- ad = ((EjbPackage) EPackage.Registry.INSTANCE.getEPackage(EjbPackage.eNS_URI)).getEjbFactory().createAssemblyDescriptor();
- ejbJar.setAssemblyDescriptor(ad);
- }
- return ad;
- }
-
-
- /**
- * @throws DeploymentDescriptorLoadException -
- * is a runtime exception, because we can't override the signature of the generated
- * methods
- */
- public Application getDeploymentDescriptor() throws DeploymentDescriptorLoadException {
- Application dd = this.getDeploymentDescriptorGen();
- if (dd == null && canLazyInitialize()) {
- try {
- getImportStrategy().importMetaData();
- } catch (Exception e) {
- throw new DeploymentDescriptorLoadException(getDeploymentDescriptorUri(), e);
- }
- }
- return this.getDeploymentDescriptorGen();
- }
-
- /**
- * Retrieves the deployment descriptor root element for the specified module. Takes into account
- * altDD indirection.
- */
- public Connector getDeploymentDescriptor(ConnectorModule aModule) throws FileNotFoundException, ResourceLoadException, EmptyResourceException {
- return (Connector) getDeploymentDescriptor((Module) aModule);
- }
-
- /**
- * Retrieves the deployment descriptor root element for the specified module. Takes into account
- * altDD indirection.
- */
- public EJBJar getDeploymentDescriptor(EjbModule aModule) throws FileNotFoundException, ResourceLoadException, EmptyResourceException {
- return (EJBJar) getDeploymentDescriptor((Module) aModule);
- }
-
- /**
- * Retrieves the deployment descriptor root element for the specified module. Takes into account
- * altDD indirection.
- */
- public ApplicationClient getDeploymentDescriptor(JavaClientModule aModule) throws FileNotFoundException, ResourceLoadException, EmptyResourceException {
- return (ApplicationClient) getDeploymentDescriptor((Module) aModule);
- }
-
- /**
- * Retrieves the deployment descriptor root element for the specified module. Takes into account
- * altDD indirection.
- */
- public EObject getDeploymentDescriptor(Module aModule) throws FileNotFoundException, ResourceLoadException, EmptyResourceException {
- EObject dd = getAltDeploymentDescriptor(aModule);
- if (dd == null)
- dd = getModuleFile(aModule).getStandardDeploymentDescriptor();
- return dd;
- }
-
- /**
- * Retrieves the deployment descriptor root element for the specified module. Takes into account
- * altDD indirection.
- */
- public WebApp getDeploymentDescriptor(WebModule aModule) throws FileNotFoundException, ResourceLoadException, EmptyResourceException {
- return (WebApp) getDeploymentDescriptor((Module) aModule);
- }
-
- /**
- * @see com.ibm.etools.commonarchive.ModuleFile
- */
- public java.lang.String getDeploymentDescriptorUri() {
- return J2EEConstants.APPLICATION_DD_URI;
- }
-
- /**
- * @see com.ibm.etools.commonarchive.EARFile
- */
- public java.util.List getEJBJarFiles() {
- List ejbJarFiles = new ArrayList();
- List fileList = getFiles();
- for (int i = 0; i < fileList.size(); i++) {
- File aFile = (File) fileList.get(i);
- if (aFile.isEJBJarFile()) {
- ejbJarFiles.add(aFile);
- }
- }
- return ejbJarFiles;
- }
-
- /**
- * Return an enterprise bean referenced by the EjbRef, if one exists. The ejb-link value of the
- * ref must equate to a named enterprise bean contained in the jar; otherwise return null.
- * Returns the first hit found; assumption that the ejb names are unique within the scope of the
- * ear file. This will likely be replaced with a better way for dereferencing ejb refs.
- *
- * Can be used with ejb 1.1 references only.
- *
- * @deprecated {@link#getEnterpiseBeanFromRef(EjbRef ref, String moduleUri )
- * @param EjbRef
- * ref - An ejb reference
- * @return EnterpriseBean
- */
- public EnterpriseBean getEnterpiseBeanFromRef(EjbRef ref) {
- String link = ref.getLink();
- if (link == null) {
- return null;
- }
- List jarFiles = getEJBJarFiles();
- for (int i = 0; i < jarFiles.size(); i++) {
- EnterpriseBean bean = ((EJBJarFile) jarFiles.get(i)).getDeploymentDescriptor().getEnterpriseBeanNamed(link);
- if (bean != null) {
- return bean;
- }
- }
- return null;
- }
-
- /**
- * Return an enterprise bean referenced by the EjbRef, if one exists. The ejb-link value of the
- * ref must equate to a named enterprise bean contained in the jar; otherwise return null.
- * Returns the first hit found; assumption that the ejb names are unique within the scope of the
- * ear file. This will likely be replaced with a better way for dereferencing ejb refs
- *
- * Can be used with ejb 1.1 & ejb 2.0 references.
- *
- * @param EjbRef
- * ref - An ejb reference
- * @param String
- * moduleUri - The module uri
- * @return EnterpriseBean
- */
- public EnterpriseBean getEnterpiseBeanFromRef(EjbRef ref, String moduleUri) {
- String link = ref.getLink();
- if (link == null) {
- return null;
- }// if
-
- if (link.indexOf('#') == -1) {
- EnterpriseBean linkedEJB = null;
- XMLResource res = (XMLResource) ref.eResource();
- if (res instanceof EJBResource) {
- //Must be in an EJB JAR to be here
- EJBJar jar = ((EJBResource) res).getEJBJar();
- if (jar != null)
- linkedEJB = jar.getEnterpiseBeanFromRef(ref);
- }
- if (linkedEJB == null) {
- List jarFiles = getEJBJarFiles();
- for (int i = 0; i < jarFiles.size(); i++) {
- linkedEJB = ((EJBJarFile) jarFiles.get(i)).getDeploymentDescriptor().getEnterpriseBeanNamed(link);
- if (linkedEJB != null) {
- return linkedEJB;
- }// if
- }// for
- } else
- return linkedEJB;
- } else {
- //Grab the ejb name and ejb jar name from the link
- String ejbBeanName = link.substring(link.indexOf("#") + 1, link.length()); //$NON-NLS-1$
- String ejbJarName = link.substring(0, link.indexOf("#")); //$NON-NLS-1$
-
- if (ejbBeanName != null && ejbJarName != null) {
- //Get the uri of the jar name.
- String ejbJarUri = ArchiveUtil.deriveEARRelativeURI(ejbJarName, moduleUri);
- if (ejbJarUri != null) {
- try {
- //Get the actual jar file
- File aFile = getFile(ejbJarUri);
- if (aFile == null || !aFile.isEJBJarFile())
- return null;
-
- EJBJarFile jarFile = (EJBJarFile) getFile(ejbJarUri);
- List ejbs = jarFile.getDeploymentDescriptor().getEnterpriseBeans();
- //Check if any of the beans in the list match the given ejb bean name give
- // in
- //the link
- if (ejbs != null && !ejbs.isEmpty()) {
- Iterator it = ejbs.iterator();
- while (it.hasNext()) {
- EnterpriseBean ejbBean = (EnterpriseBean) it.next();
- if (ejbBean != null && ejbBean.getName().equals(ejbBeanName)) {
- return ejbBean;
- }// if
- }// while
- }// if
- } catch (FileNotFoundException fe) {
- return null;
- }// try
- }// if
- }// if
- }// if
- return null;
- }// getEnterpiseBeanFromRef
-
- /**
- * @see com.ibm.etools.commonarchive.EARFile
- */
- public Module getModule(String aUri, String altDD) {
- return getDeploymentDescriptor().getModule(aUri, altDD);
- }
-
- /**
- * @see com.ibm.etools.commonarchive.EARFile
- */
- public ModuleRef getModuleRef(Module moduleDescriptor) {
- List refs = getModuleRefs();
- for (int i = 0; i < refs.size(); i++) {
- ModuleRef ref = (ModuleRef) refs.get(i);
- if (ref.getModule() == moduleDescriptor)
- return ref;
- }
- return null;
- }
-
- /**
- * Return a filtered list of the archives
- */
- public List getModuleFiles() {
- List moduleFiles = new ArrayList();
- List fileList = getFiles();
- for (int i = 0; i < fileList.size(); i++) {
- File aFile = (File) fileList.get(i);
- if (aFile.isModuleFile()) {
- moduleFiles.add(aFile);
- }
- }
- return moduleFiles;
- }
-
- protected ArchiveOptions getOptionsForOpening(String aUri) throws IOException {
-
- LoadStrategy strategy = getCommonArchiveFactory().createChildLoadStrategy(aUri, getLoadStrategy());
- return getOptions().cloneWith(strategy, aUri);
- }
-
- protected ArchiveOptions getOptionsForOpening(LooseArchive loose) throws IOException {
- LoadStrategy strategy = getCommonArchiveFactory().createLoadStrategy(loose.getBinariesPath());
- strategy.setLooseArchive(loose);
- return getOptions().cloneWith(strategy, loose.getUri());
- }
-
- /**
- * @see com.ibm.etools.commonarchive.EARFile
- */
- public java.util.List getRARFiles() {
- List rarFiles = new ArrayList();
- List fileList = getFiles();
- for (int i = 0; i < fileList.size(); i++) {
- File aFile = (File) fileList.get(i);
- if (aFile.isRARFile()) {
- rarFiles.add(aFile);
- }
- }
- return rarFiles;
- }
-
- /**
- * @see com.ibm.etools.commonarchive.EARFile
- */
- public EList getRolesFromAllModules() {
- EList roleList = new org.eclipse.emf.common.util.BasicEList();
- List modules = getDeploymentDescriptor().getModules();
- for (int i = 0, n = modules.size(); i < n; i++) {
- Module aModule = (Module) modules.get(i);
- EList roles = getRolesFromModule(aModule);
- for (int j = 0, m = roles.size(); j < m; j++) {
- roleList.add(roles.get(j));
- }
- }
- return roleList;
- }
-
- /**
- * @see com.ibm.etools.commonarchive.EARFile
- */
- public EList getRolesFromModule(Module aModule) {
- EList roleList = new org.eclipse.emf.common.util.BasicEList();
- try {
- if (aModule.isWebModule())
- roleList = getDeploymentDescriptor((WebModule) aModule).getSecurityRoles();
- else if (aModule.isEjbModule())
- roleList = getAssemblyDescriptorAddIfNecessary(getDeploymentDescriptor((EjbModule) aModule)).getSecurityRoles();
- } catch (Exception e) {
- throw new DeploymentDescriptorLoadException(CommonArchiveResourceHandler.getString("dd_in_ear_load_EXC_", (new Object[]{aModule.getUri(), getURI()})), e); //$NON-NLS-1$ = "Exception occurred loading deployment descriptor for module "{0}" in ear file "{1}""
- }
- return roleList;
- }
-
- /**
- * Return the DeployementDescriptor.
- */
- public EObject getStandardDeploymentDescriptor() throws DeploymentDescriptorLoadException {
- return getDeploymentDescriptor();
- }
-
- /**
- * @see com.ibm.etools.commonarchive.EARFile
- */
- public java.util.List getWARFiles() {
- List warFiles = new ArrayList();
- List fileList = getFiles();
- for (int i = 0; i < fileList.size(); i++) {
- File aFile = (File) fileList.get(i);
- if (aFile.isWARFile()) {
- warFiles.add(aFile);
- }
- }
- return warFiles;
- }
-
- public void initializeAfterOpen() {
- super.initializeAfterOpen();
- }
-
- public boolean isDeploymentDescriptorSet() {
- return deploymentDescriptor != null;
- }
-
- /**
- * @see com.ibm.etools.commonarchive.File
- */
- public boolean isEARFile() {
- return true;
- }
-
- /**
- * Return true if super returns true, or return whether the app dd contains a module having the
- * uri
- */
- public boolean isNestedArchive(String aUri) {
- if (super.isNestedArchive(aUri))
- return true;
- return getDeploymentDescriptor().getFirstModule(aUri) != null;
- }
-
- /**
- * @see com.ibm.etools.commonarchive.impl.ModuleFileImpl
- */
- public org.eclipse.emf.ecore.EObject makeDeploymentDescriptor(XMLResource resource) {
- Application appl = ((ApplicationPackage) EPackage.Registry.INSTANCE.getEPackage(ApplicationPackage.eNS_URI)).getApplicationFactory().createApplication();
- resource.setID(appl, J2EEConstants.APPL_ID);
- setDeploymentDescriptorGen(appl);
- resource.getContents().add(appl);
- return appl;
- }
-
- /**
- * @see com.ibm.etools.commonarchive.Archive
- */
- public Archive openNestedArchive(LooseArchive loose) throws OpenFailureException {
-
- Module m = getDeploymentDescriptor().getFirstModule(loose.getUri());
- if (m == null)
- return super.openNestedArchive(loose);
-
- try {
- ArchiveOptions archiveOptions = getOptionsForOpening(loose);
- return openNestedArchive(m, archiveOptions);
- } catch (java.io.IOException ex) {
- //Probably the file did not exist; silently fail, per request from WS runtime
- //More than likely a failure is going to occur down the road when a ModuleFile for a
- // Module
- //in the dd is requested
- }
- return null;
- }
-
- /**
- * @see com.ibm.etools.commonarchive.Archive
- */
- public Archive openNestedArchive(String aUri) throws OpenFailureException {
-
- Module m = getDeploymentDescriptor().getFirstModule(aUri);
- if (m == null)
- return super.openNestedArchive(aUri);
-
- try {
- ArchiveOptions archiveOptions = getOptionsForOpening(aUri);
- return openNestedArchive(m, archiveOptions);
- } catch (java.io.IOException ex) {
- //Probably the file did not exist; silently fail, per request from WS runtime
- //More than likely a failure is going to occur down the road when a ModuleFile for a
- // Module
- //in the dd is requested
- }
- return null;
- }
-
- protected Archive openNestedArchive(Module m, ArchiveOptions archiveOptions) throws OpenFailureException {
- String aUri = m.getUri();
-
- try {
- /*
- * Since we have a clue about the type of archive to open Use the appropriate open
- * method, so if a failure occurrs, we can get a more specific message
- */
- if (m.isWebModule())
- return getCommonArchiveFactory().openWARFile(archiveOptions, aUri);
- else if (m.isEjbModule())
- return getCommonArchiveFactory().openEJBJarFile(archiveOptions, aUri);
- else if (m.isJavaModule())
- return getCommonArchiveFactory().openApplicationClientFile(archiveOptions, aUri);
- else if (m.isConnectorModule())
- return getCommonArchiveFactory().openRARFile(archiveOptions, aUri);
-
- } catch (OpenFailureException ex) {
- throw new OpenFailureException(CommonArchiveResourceHandler.getString("nested_open_fail_EXC_", (new Object[]{aUri, getURI()})), ex); //$NON-NLS-1$ = "Unable to open module file "{0}" in EAR file "{1}""
- }
- //Should never reach the code below
- return null;
- }
-
- /**
- * @see EARFile
- */
- public void pushDownRole(SecurityRole role) {
- if (role == null)
- throw new IllegalArgumentException(CommonArchiveResourceHandler.getString("Parameter_should_not_be_nu_EXC_")); //$NON-NLS-1$ = "Parameter should not be null"
-
- List modules = getDeploymentDescriptor().getModules();
- for (int i = 0; i < modules.size(); i++) {
- Module m = (Module) modules.get(i);
- pushDownRole(role, m);
- }
- }
-
- /**
- * @see EARFile
- */
- public void pushDownRole(SecurityRole role, Module aModule) {
- try {
- if (aModule.isWebModule()) {
- WebApp dd = getDeploymentDescriptor((WebModule) aModule);
- if (dd.getSecurityRoleNamed(role.getRoleName()) == null)
- dd.getSecurityRoles().add(EtoolsCopyUtility.createCopy(role));
- } else if (aModule.isEjbModule()) {
- AssemblyDescriptor assembly = getAssemblyDescriptorAddIfNecessary(getDeploymentDescriptor((EjbModule) aModule));
- if (assembly.getSecurityRoleNamed(role.getRoleName()) == null)
- assembly.getSecurityRoles().add(EtoolsCopyUtility.createCopy(role));
- }
- } catch (Exception e) {
- throw new DeploymentDescriptorLoadException(CommonArchiveResourceHandler.getString("dd_in_ear_load_EXC_", (new Object[]{aModule.getUri(), getURI()})), e); //$NON-NLS-1$ = "Exception occurred loading deployment descriptor for module "{0}" in ear file "{1}""
- }
- }
-
- /**
- * An alt-dd is about to be loaded; register the appropriate resource factory for the uri so it
- * will get loaded correctly.
- */
- protected void registerResourceFactory(Module aModule, String aUri) {
- org.eclipse.emf.ecore.resource.Resource.Factory factory = null;
- if (aModule.isEjbModule())
- factory = EJBJarResourceFactory.getRegisteredFactory();
- else if (aModule.isWebModule())
- factory = WebAppResourceFactory.getRegisteredFactory();
- else if (aModule.isJavaModule())
- factory = ApplicationClientResourceFactory.getRegisteredFactory();
- else if (aModule.isConnectorModule())
- factory = ConnectorResourceFactory.getRegisteredFactory();
-
- if (factory != null) {
- ResourceSet set = getResourceSet();
- ((J2EEResourceFactoryRegistry) set.getResourceFactoryRegistry()).registerLastFileSegment(aUri, factory);
- }
- }
-
- /**
- * @see com.ibm.etools.commonarchive.EARFile
- */
- public void remove(ModuleRef aModuleRef) {
- if (aModuleRef == null)
- return;
- Module aModule = aModuleRef.getModule();
-
- if (aModule != null)
- getDeploymentDescriptor().getModules().remove(aModule);
-
- getModuleRefs().remove(aModuleRef);
- if (getModuleRefs(aModuleRef.getModuleFile()).isEmpty())
- getFiles().remove(aModuleRef.getModuleFile());
- }
-
- /**
- * @see EARFile
- */
- public List getModuleRefs(ModuleFile aModuleFile) {
- List refs = getModuleRefs();
- List result = new ArrayList(1);
- for (int i = 0; i < refs.size(); i++) {
- ModuleRef ref = (ModuleRef) refs.get(i);
- if (ref.getModuleFile() == aModuleFile)
- result.add(ref);
- }
- return result;
- }
-
- protected void renameRolesInModuleDDs(String existingRoleName, String newRoleName) {
- List modules = getDeploymentDescriptor().getModules();
- for (int i = 0; i < modules.size(); i++) {
- Module m = (Module) modules.get(i);
- try {
- if (m.isEjbModule())
- getDeploymentDescriptor((EjbModule) m).renameSecurityRole(existingRoleName, newRoleName);
- else if (m.isWebModule())
- getDeploymentDescriptor((WebModule) m).renameSecurityRole(existingRoleName, newRoleName);
- } catch (Exception e) {
- throw new DeploymentDescriptorLoadException(CommonArchiveResourceHandler.getString("dd_in_ear_load_EXC_", (new Object[]{m.getUri(), getURI()})), e); //$NON-NLS-1$ = "Exception occurred loading deployment descriptor for module "{0}" in ear file "{1}""
- }
- }
- }
-
- /**
- * @see com.ibm.etools.commonarchive.EARFile
- */
- public void renameSecurityRole(String existingRoleName, String newRoleName) throws ObjectNotFoundException, DuplicateObjectException {
- Application app = getDeploymentDescriptor();
- SecurityRole aRole = app.getSecurityRoleNamed(existingRoleName);
- if (aRole == null)
- throw new ObjectNotFoundException(CommonArchiveResourceHandler.getString("no_sec_role_EXC_", (new Object[]{getURI(), existingRoleName}))); //$NON-NLS-1$ = ": EAR File deployment descriptor does not contain a security role named "
- if (app.getSecurityRoleNamed(newRoleName) != null)
- throw new DuplicateObjectException(CommonArchiveResourceHandler.getString("dup_sec_role_EXC_", (new Object[]{getURI(), newRoleName})), app.getSecurityRoleNamed(newRoleName)); //$NON-NLS-1$ = ": EAR File deployment descriptor already contains a security role named "
-
- aRole.setRoleName(newRoleName);
-
- renameRolesInModuleDDs(existingRoleName, newRoleName);
- }
-
- /**
- * @see com.ibm.etools.commonarchive.EARFile
- */
- public void rollUpRoles() {
- List modules = getDeploymentDescriptor().getModules();
- for (int i = 0; i < modules.size(); i++) {
- Module aModule = (Module) modules.get(i);
- rollUpRoles(aModule);
- }
- }
-
- /**
- * @see com.ibm.etools.commonarchive.EARFile
- */
- public void rollUpRoles(Module aModule) {
- List securityRoles = null;
- try {
- if (aModule.isWebModule())
- securityRoles = getDeploymentDescriptor((WebModule) aModule).getSecurityRoles();
- else if (aModule.isEjbModule())
- securityRoles = getAssemblyDescriptorAddIfNecessary(getDeploymentDescriptor((EjbModule) aModule)).getSecurityRoles();
- } catch (Exception e) {
- throw new DeploymentDescriptorLoadException(CommonArchiveResourceHandler.getString("dd_in_ear_load_EXC_", (new Object[]{aModule.getUri(), getURI()})), e); //$NON-NLS-1$ = "Exception occurred loading deployment descriptor for module "{0}" in ear file "{1}""
- }
-
- if (securityRoles == null)
- return;
- for (int i = 0; i < securityRoles.size(); i++) {
- addCopyIfNotExists((SecurityRole) securityRoles.get(i));
- }
- }
-
- public void setDeploymentDescriptor(Application l) {
- this.setDeploymentDescriptorGen(l);
- replaceRoot(getMofResourceMakeIfNecessary(getDeploymentDescriptorUri()), l);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.EAR_FILE__URI :
- return URI_EDEFAULT == null ? uri != null : !URI_EDEFAULT.equals(uri);
- case CommonarchivePackage.EAR_FILE__LAST_MODIFIED :
- return isSetLastModified();
- case CommonarchivePackage.EAR_FILE__SIZE :
- return isSetSize();
- case CommonarchivePackage.EAR_FILE__DIRECTORY_ENTRY :
- return isSetDirectoryEntry();
- case CommonarchivePackage.EAR_FILE__ORIGINAL_URI :
- return ORIGINAL_URI_EDEFAULT == null ? originalURI != null : !ORIGINAL_URI_EDEFAULT.equals(originalURI);
- case CommonarchivePackage.EAR_FILE__LOADING_CONTAINER :
- return loadingContainer != null;
- case CommonarchivePackage.EAR_FILE__CONTAINER :
- return getContainer() != null;
- case CommonarchivePackage.EAR_FILE__FILES :
- return files != null && !files.isEmpty();
- case CommonarchivePackage.EAR_FILE__TYPES :
- return types != null && !types.isEmpty();
- case CommonarchivePackage.EAR_FILE__MODULE_REFS :
- return moduleRefs != null && !moduleRefs.isEmpty();
- case CommonarchivePackage.EAR_FILE__DEPLOYMENT_DESCRIPTOR :
- return deploymentDescriptor != null;
- }
- return eDynamicIsSet(eFeature);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.EAR_FILE__URI :
- setURI((String) newValue);
- return;
- case CommonarchivePackage.EAR_FILE__LAST_MODIFIED :
- setLastModified(((Long) newValue).longValue());
- return;
- case CommonarchivePackage.EAR_FILE__SIZE :
- setSize(((Long) newValue).longValue());
- return;
- case CommonarchivePackage.EAR_FILE__DIRECTORY_ENTRY :
- setDirectoryEntry(((Boolean) newValue).booleanValue());
- return;
- case CommonarchivePackage.EAR_FILE__ORIGINAL_URI :
- setOriginalURI((String) newValue);
- return;
- case CommonarchivePackage.EAR_FILE__LOADING_CONTAINER :
- setLoadingContainer((Container) newValue);
- return;
- case CommonarchivePackage.EAR_FILE__CONTAINER :
- setContainer((Container) newValue);
- return;
- case CommonarchivePackage.EAR_FILE__FILES :
- getFiles().clear();
- getFiles().addAll((Collection) newValue);
- return;
- case CommonarchivePackage.EAR_FILE__TYPES :
- getTypes().clear();
- getTypes().addAll((Collection) newValue);
- return;
- case CommonarchivePackage.EAR_FILE__MODULE_REFS :
- getModuleRefs().clear();
- getModuleRefs().addAll((Collection) newValue);
- return;
- case CommonarchivePackage.EAR_FILE__DEPLOYMENT_DESCRIPTOR :
- setDeploymentDescriptor((Application) newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.EAR_FILE__URI :
- setURI(URI_EDEFAULT);
- return;
- case CommonarchivePackage.EAR_FILE__LAST_MODIFIED :
- unsetLastModified();
- return;
- case CommonarchivePackage.EAR_FILE__SIZE :
- unsetSize();
- return;
- case CommonarchivePackage.EAR_FILE__DIRECTORY_ENTRY :
- unsetDirectoryEntry();
- return;
- case CommonarchivePackage.EAR_FILE__ORIGINAL_URI :
- setOriginalURI(ORIGINAL_URI_EDEFAULT);
- return;
- case CommonarchivePackage.EAR_FILE__LOADING_CONTAINER :
- setLoadingContainer((Container) null);
- return;
- case CommonarchivePackage.EAR_FILE__CONTAINER :
- setContainer((Container) null);
- return;
- case CommonarchivePackage.EAR_FILE__FILES :
- getFiles().clear();
- return;
- case CommonarchivePackage.EAR_FILE__TYPES :
- getTypes().clear();
- return;
- case CommonarchivePackage.EAR_FILE__MODULE_REFS :
- getModuleRefs().clear();
- return;
- case CommonarchivePackage.EAR_FILE__DEPLOYMENT_DESCRIPTOR :
- setDeploymentDescriptor((Application) null);
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- public Application getDeploymentDescriptorGen() {
- if (deploymentDescriptor != null && deploymentDescriptor.eIsProxy()) {
- Application oldDeploymentDescriptor = deploymentDescriptor;
- deploymentDescriptor = (Application) EcoreUtil.resolve(deploymentDescriptor, this);
- if (deploymentDescriptor != oldDeploymentDescriptor) {
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, CommonarchivePackage.EAR_FILE__DEPLOYMENT_DESCRIPTOR, oldDeploymentDescriptor, deploymentDescriptor));
- }
- }
- return deploymentDescriptor;
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public Application basicGetDeploymentDescriptor() {
- return deploymentDescriptor;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void setDeploymentDescriptorGen(Application newDeploymentDescriptor) {
- Application oldDeploymentDescriptor = deploymentDescriptor;
- deploymentDescriptor = newDeploymentDescriptor;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, CommonarchivePackage.EAR_FILE__DEPLOYMENT_DESCRIPTOR, oldDeploymentDescriptor, deploymentDescriptor));
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- public EList getModuleRefsGen() {
- if (moduleRefs == null) {
- moduleRefs = new EObjectContainmentWithInverseEList(ModuleRef.class, this, CommonarchivePackage.EAR_FILE__MODULE_REFS, CommonarchivePackage.MODULE_REF__EAR_FILE);
- }
- return moduleRefs;
- }
-
- public EList getModuleRefs() {
- EList refs = getModuleRefsGen();
-
- if (refs.isEmpty())
- initRefs(refs);
-
- return refs;
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case CommonarchivePackage.EAR_FILE__CONTAINER :
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, CommonarchivePackage.EAR_FILE__CONTAINER, msgs);
- case CommonarchivePackage.EAR_FILE__FILES :
- return ((InternalEList) getFiles()).basicAdd(otherEnd, msgs);
- case CommonarchivePackage.EAR_FILE__MODULE_REFS :
- return ((InternalEList) getModuleRefs()).basicAdd(otherEnd, msgs);
- default :
- return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
- }
- }
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case CommonarchivePackage.EAR_FILE__CONTAINER :
- return eBasicSetContainer(null, CommonarchivePackage.EAR_FILE__CONTAINER, msgs);
- case CommonarchivePackage.EAR_FILE__FILES :
- return ((InternalEList) getFiles()).basicRemove(otherEnd, msgs);
- case CommonarchivePackage.EAR_FILE__MODULE_REFS :
- return ((InternalEList) getModuleRefs()).basicRemove(otherEnd, msgs);
- default :
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
- if (eContainerFeatureID >= 0) {
- switch (eContainerFeatureID) {
- case CommonarchivePackage.EAR_FILE__CONTAINER :
- return eContainer.eInverseRemove(this, CommonarchivePackage.CONTAINER__FILES, Container.class, msgs);
- default :
- return eDynamicBasicRemoveFromContainer(msgs);
- }
- }
- return eContainer.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.EAR_FILE__URI :
- return getURI();
- case CommonarchivePackage.EAR_FILE__LAST_MODIFIED :
- return new Long(getLastModified());
- case CommonarchivePackage.EAR_FILE__SIZE :
- return new Long(getSize());
- case CommonarchivePackage.EAR_FILE__DIRECTORY_ENTRY :
- return isDirectoryEntry() ? Boolean.TRUE : Boolean.FALSE;
- case CommonarchivePackage.EAR_FILE__ORIGINAL_URI :
- return getOriginalURI();
- case CommonarchivePackage.EAR_FILE__LOADING_CONTAINER :
- if (resolve)
- return getLoadingContainer();
- return basicGetLoadingContainer();
- case CommonarchivePackage.EAR_FILE__CONTAINER :
- return getContainer();
- case CommonarchivePackage.EAR_FILE__FILES :
- return getFiles();
- case CommonarchivePackage.EAR_FILE__TYPES :
- return getTypes();
- case CommonarchivePackage.EAR_FILE__MODULE_REFS :
- return getModuleRefs();
- case CommonarchivePackage.EAR_FILE__DEPLOYMENT_DESCRIPTOR :
- if (resolve)
- return getDeploymentDescriptor();
- return basicGetDeploymentDescriptor();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- public void initRefs(EList refs) {
- List modules = getDeploymentDescriptor().getModules();
- for (int i = 0; i < modules.size(); i++) {
- Module module = (Module) modules.get(i);
- refs.add(createModuleRef(module, null));
- }
- }
-
- protected ModuleRef createModuleRef(Module aModule, ModuleFile aFile) {
- ModuleRef newRef = null;
-
- if (aModule.isEjbModule())
- newRef = getCommonArchiveFactory().createEJBModuleRef();
- else if (aModule.isWebModule())
- newRef = getCommonArchiveFactory().createWebModuleRef();
- else if (aModule.isConnectorModule())
- newRef = getCommonArchiveFactory().createConnectorModuleRef();
- else if (aModule.isJavaModule())
- newRef = getCommonArchiveFactory().createClientModuleRef();
-
- newRef.setModule(aModule);
- newRef.setModuleFile(aFile);
-
- return newRef;
- }
-
- /*
- * @see EARFile#getClientModuleRefs()
- */
- public List getClientModuleRefs() {
- List result = new ArrayList();
- List refs = getModuleRefs();
- for (int i = 0; i < refs.size(); i++) {
- ModuleRef ref = (ModuleRef) refs.get(i);
- if (ref.isClient())
- result.add(ref);
- }
- return result;
- }
-
- /*
- * @see EARFile#getConnectorModuleRefs()
- */
- public List getConnectorModuleRefs() {
- List result = new ArrayList();
- List refs = getModuleRefs();
- for (int i = 0; i < refs.size(); i++) {
- ModuleRef ref = (ModuleRef) refs.get(i);
- if (ref.isConnector())
- result.add(ref);
- }
- return result;
- }
-
- /*
- * @see EARFile#getEJBModuleRefs()
- */
- public List getEJBModuleRefs() {
- List result = new ArrayList();
- List refs = getModuleRefs();
- for (int i = 0; i < refs.size(); i++) {
- ModuleRef ref = (ModuleRef) refs.get(i);
- if (ref.isEJB())
- result.add(ref);
- }
- return result;
- }
-
- /*
- * @see EARFile#getWebModuleRefs()
- */
- public List getWebModuleRefs() {
- List result = new ArrayList();
- List refs = getModuleRefs();
- for (int i = 0; i < refs.size(); i++) {
- ModuleRef ref = (ModuleRef) refs.get(i);
- if (ref.isWeb())
- result.add(ref);
- }
- return result;
- }
-
- /*
- * @see EARFile#getFARFiles()
- */
- public List getFARFiles() {
- List farFiles = new ArrayList();
- List fileList = getFiles();
- for (int i = 0; i < fileList.size(); i++) {
- File aFile = (File) fileList.get(i);
- if (aFile.isFARFile()) {
- farFiles.add(aFile);
- }
- }
- return farFiles;
-
- }
-
- /*
- * (non-Javadoc)
- *
- * @see com.ibm.etools.commonarchive.EARFile#getArchivesOfType(java.lang.String)
- */
- public List getArchivesOfType(String type) {
- return Collections.EMPTY_LIST;
- }
-
- public Map getEJBReferences(boolean filterLinkedReferences, boolean filterNonLinkedReferences) throws ArchiveWrappedException {
- if (!filterLinkedReferences || !filterNonLinkedReferences) {
- Application app = getDeploymentDescriptor();
- if (app != null) {
- List modules = app.getModules();
- Module module;
- Map references = null;
- for (int i = 0; i < modules.size(); i++) {
- module = (Module) modules.get(i);
- try {
- references = collectEJBReferences(module, filterLinkedReferences, filterNonLinkedReferences, references);
- } catch (ResourceLoadException e) {
- throw new ArchiveWrappedException(e);
- } catch (FileNotFoundException e) {
- throw new ArchiveWrappedException(e);
- } catch (EmptyResourceException e) {
- throw new ArchiveWrappedException(e);
- }
- }
- return references;
- }
- }
- return Collections.EMPTY_MAP;
- }
-
- /**
- * @param module
- * @param filterLinkedReferences
- * @param filterNonLinkedReferences
- * @param references
- * @return
- */
- private Map collectEJBReferences(Module module, boolean filterLinkedReferences, boolean filterNonLinkedReferences, Map references) throws ResourceLoadException, FileNotFoundException, EmptyResourceException {
- Map myReferences = references;
- List moduleReferences = getEJBReferneces(module);
- if (moduleReferences != null && !moduleReferences.isEmpty()) {
- EjbRef ref = null;
- List filteredRefs = null;
- String link = null;
- for (int i = 0; i < moduleReferences.size(); i++) {
- ref = (EjbRef) moduleReferences.get(i);
- link = ref.getLink();
- if ((link != null && link.length() > 0 && !filterLinkedReferences) || (link == null || link.length() == 0 && !filterNonLinkedReferences)) {
- if (filteredRefs == null)
- filteredRefs = new ArrayList(moduleReferences.size());
- filteredRefs.add(ref);
- }
- }
- if (filteredRefs != null) {
- if (myReferences == null)
- myReferences = new HashMap();
- myReferences.put(module, filteredRefs);
- }
- }
- return myReferences;
- }
-
- /**
- * @param module
- * @return
- */
- private List getEJBReferneces(Module module) throws ResourceLoadException, FileNotFoundException, EmptyResourceException {
- if (module != null) {
- if (module.isEjbModule()) {
- EJBJar ejbJar = getDeploymentDescriptor((EjbModule) module);
- return getEJBReferences(ejbJar);
- } else if (module.isWebModule()) {
- WebApp webApp = getDeploymentDescriptor((WebModule) module);
- if (webApp != null)
- return webApp.getEjbRefs();
- } else if (module.isJavaModule()) {
- ApplicationClient appClient = getDeploymentDescriptor((JavaClientModule) module);
- if (appClient != null)
- return appClient.getEjbReferences();
- }
- }
- return Collections.EMPTY_LIST;
- }
-
- /**
- * @param ejbJar
- * @return
- */
- private List getEJBReferences(EJBJar ejbJar) {
- if (ejbJar != null) {
- List ejbs = ejbJar.getEnterpriseBeans();
- List refs = null;
- EnterpriseBean ejb = null;
- for (int i = 0; i < ejbs.size(); i++) {
- ejb = (EnterpriseBean) ejbs.get(i);
- if (refs == null)
- refs = new ArrayList();
- refs.addAll(ejb.getEjbRefs());
- }
- if (refs != null)
- return refs;
- }
- return Collections.EMPTY_LIST;
- }
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/EJBJarFileImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/EJBJarFileImpl.java
deleted file mode 100644
index 81b8404b7..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/EJBJarFileImpl.java
+++ /dev/null
@@ -1,418 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.impl;
-
-
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Container;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.EJBJarFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DeploymentDescriptorLoadException;
-import org.eclipse.jst.j2ee.ejb.EJBJar;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.jst.j2ee.ejb.Entity;
-import org.eclipse.jst.j2ee.internal.J2EEConstants;
-import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
-import org.eclipse.jst.j2ee.internal.common.XMLResource;
-import org.eclipse.jst.j2ee.internal.ejb.EjbPackage;
-
-
-/**
- * @generated
- */
-public class EJBJarFileImpl extends ModuleFileImpl implements EJBJarFile {
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected EJBJar deploymentDescriptor = null;
-
- public EJBJarFileImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- protected EClass eStaticClass() {
- return CommonarchivePackage.eINSTANCE.getEJBJarFile();
- }
-
- /**
- * Used for tools performing selective import
- */
- public List getAssociatedFiles(EnterpriseBean ejb) {
-
- List classNames = new java.util.ArrayList();
- List result = new ArrayList();
- if (ejb.getVersionID() <= J2EEVersionConstants.EJB_1_1_ID) {
- classNames.add(ejb.getHomeInterfaceName());
- classNames.add(ejb.getRemoteInterfaceName());
- } else if (ejb.getVersionID() >= J2EEVersionConstants.EJB_2_0_ID) {
- if (ejb.hasRemoteClient()) {
- classNames.add(ejb.getHomeInterfaceName());
- classNames.add(ejb.getRemoteInterfaceName());
- }
- if (ejb.hasLocalClient()) {
- classNames.add(ejb.getLocalHomeInterfaceName());
- classNames.add(ejb.getLocalInterfaceName());
- }
- }
- classNames.add(ejb.getEjbClassName());
-
- if (ejb.isEntity()) {
- String className = ((Entity) ejb).getPrimaryKeyName();
- if (!className.startsWith("java"))//$NON-NLS-1$
- classNames.add(className);
- }
- for (int i = 0; i < classNames.size(); i++) {
- String className = (String) classNames.get(i);
- if (className == null)
- continue;
- String classUri = org.eclipse.jst.j2ee.commonarchivecore.internal.util.ArchiveUtil.classNameToUri(className);
- String javaUri = org.eclipse.jst.j2ee.commonarchivecore.internal.util.ArchiveUtil.classNameToJavaUri(className);
- try {
- result.add(getFile(classUri));
- } catch (java.io.FileNotFoundException iox) {
- //Do nothing - the file does not exist in this jar file
- }
- try {
- result.add(getFile(javaUri));
- } catch (java.io.FileNotFoundException iox) {
- //Do nothing - the file does not exist in this jar file
- }
- }
- return result;
- }
-
- /**
- * @throws DeploymentDescriptorLoadException -
- * is a runtime exception, because we can't override the signature of the generated
- * methods
- */
- public EJBJar getDeploymentDescriptor() throws DeploymentDescriptorLoadException {
- EJBJar dd = this.getDeploymentDescriptorGen();
- if (dd == null && canLazyInitialize()) {
- try {
- getImportStrategy().importMetaData();
- } catch (DeploymentDescriptorLoadException ex) {
- throw ex;
- } catch (Exception e) {
- throw new DeploymentDescriptorLoadException(getDeploymentDescriptorUri(), e);
- }
- }
- return this.getDeploymentDescriptorGen();
- }
-
- public java.lang.String getDeploymentDescriptorUri() {
- return J2EEConstants.EJBJAR_DD_URI;
- }
-
- /**
- * Return the DeployementDescriptor.
- */
- public EObject getStandardDeploymentDescriptor() throws DeploymentDescriptorLoadException {
- return getDeploymentDescriptor();
- }
-
- public boolean isDeploymentDescriptorSet() {
- return deploymentDescriptor != null;
- }
-
- /**
- * @see com.ibm.etools.commonarchive.File
- */
- public boolean isEJBJarFile() {
- return true;
- }
-
- /**
- * @see com.ibm.etools.commonarchive.EJBJarFile
- */
- public boolean isImportedFrom10() {
- return getImportStrategy() != null && getImportStrategy().isEJB10();
- }
-
- /**
- * @see com.ibm.etools.commonarchive.impl.ModuleFileImpl
- */
- public org.eclipse.emf.ecore.EObject makeDeploymentDescriptor(XMLResource resource) {
- EJBJar ejbJar = ((EjbPackage) EPackage.Registry.INSTANCE.getEPackage(EjbPackage.eNS_URI)).getEjbFactory().createEJBJar();
- resource.setID(ejbJar, J2EEConstants.EJBJAR_ID);
- setDeploymentDescriptorGen(ejbJar);
- resource.getContents().add(ejbJar);
-
- return ejbJar;
- }
-
-
- public void setDeploymentDescriptor(EJBJar l) {
- this.setDeploymentDescriptorGen(l);
- replaceRoot(getMofResourceMakeIfNecessary(getDeploymentDescriptorUri()), l);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.EJB_JAR_FILE__URI :
- return URI_EDEFAULT == null ? uri != null : !URI_EDEFAULT.equals(uri);
- case CommonarchivePackage.EJB_JAR_FILE__LAST_MODIFIED :
- return isSetLastModified();
- case CommonarchivePackage.EJB_JAR_FILE__SIZE :
- return isSetSize();
- case CommonarchivePackage.EJB_JAR_FILE__DIRECTORY_ENTRY :
- return isSetDirectoryEntry();
- case CommonarchivePackage.EJB_JAR_FILE__ORIGINAL_URI :
- return ORIGINAL_URI_EDEFAULT == null ? originalURI != null : !ORIGINAL_URI_EDEFAULT.equals(originalURI);
- case CommonarchivePackage.EJB_JAR_FILE__LOADING_CONTAINER :
- return loadingContainer != null;
- case CommonarchivePackage.EJB_JAR_FILE__CONTAINER :
- return getContainer() != null;
- case CommonarchivePackage.EJB_JAR_FILE__FILES :
- return files != null && !files.isEmpty();
- case CommonarchivePackage.EJB_JAR_FILE__TYPES :
- return types != null && !types.isEmpty();
- case CommonarchivePackage.EJB_JAR_FILE__DEPLOYMENT_DESCRIPTOR :
- return deploymentDescriptor != null;
- }
- return eDynamicIsSet(eFeature);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.EJB_JAR_FILE__URI :
- setURI((String) newValue);
- return;
- case CommonarchivePackage.EJB_JAR_FILE__LAST_MODIFIED :
- setLastModified(((Long) newValue).longValue());
- return;
- case CommonarchivePackage.EJB_JAR_FILE__SIZE :
- setSize(((Long) newValue).longValue());
- return;
- case CommonarchivePackage.EJB_JAR_FILE__DIRECTORY_ENTRY :
- setDirectoryEntry(((Boolean) newValue).booleanValue());
- return;
- case CommonarchivePackage.EJB_JAR_FILE__ORIGINAL_URI :
- setOriginalURI((String) newValue);
- return;
- case CommonarchivePackage.EJB_JAR_FILE__LOADING_CONTAINER :
- setLoadingContainer((Container) newValue);
- return;
- case CommonarchivePackage.EJB_JAR_FILE__CONTAINER :
- setContainer((Container) newValue);
- return;
- case CommonarchivePackage.EJB_JAR_FILE__FILES :
- getFiles().clear();
- getFiles().addAll((Collection) newValue);
- return;
- case CommonarchivePackage.EJB_JAR_FILE__TYPES :
- getTypes().clear();
- getTypes().addAll((Collection) newValue);
- return;
- case CommonarchivePackage.EJB_JAR_FILE__DEPLOYMENT_DESCRIPTOR :
- setDeploymentDescriptor((EJBJar) newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.EJB_JAR_FILE__URI :
- setURI(URI_EDEFAULT);
- return;
- case CommonarchivePackage.EJB_JAR_FILE__LAST_MODIFIED :
- unsetLastModified();
- return;
- case CommonarchivePackage.EJB_JAR_FILE__SIZE :
- unsetSize();
- return;
- case CommonarchivePackage.EJB_JAR_FILE__DIRECTORY_ENTRY :
- unsetDirectoryEntry();
- return;
- case CommonarchivePackage.EJB_JAR_FILE__ORIGINAL_URI :
- setOriginalURI(ORIGINAL_URI_EDEFAULT);
- return;
- case CommonarchivePackage.EJB_JAR_FILE__LOADING_CONTAINER :
- setLoadingContainer((Container) null);
- return;
- case CommonarchivePackage.EJB_JAR_FILE__CONTAINER :
- setContainer((Container) null);
- return;
- case CommonarchivePackage.EJB_JAR_FILE__FILES :
- getFiles().clear();
- return;
- case CommonarchivePackage.EJB_JAR_FILE__TYPES :
- getTypes().clear();
- return;
- case CommonarchivePackage.EJB_JAR_FILE__DEPLOYMENT_DESCRIPTOR :
- setDeploymentDescriptor((EJBJar) null);
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- public EJBJar getDeploymentDescriptorGen() {
- if (deploymentDescriptor != null && deploymentDescriptor.eIsProxy()) {
- EJBJar oldDeploymentDescriptor = deploymentDescriptor;
- deploymentDescriptor = (EJBJar) EcoreUtil.resolve(deploymentDescriptor, this);
- if (deploymentDescriptor != oldDeploymentDescriptor) {
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, CommonarchivePackage.EJB_JAR_FILE__DEPLOYMENT_DESCRIPTOR, oldDeploymentDescriptor, deploymentDescriptor));
- }
- }
- return deploymentDescriptor;
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EJBJar basicGetDeploymentDescriptor() {
- return deploymentDescriptor;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void setDeploymentDescriptorGen(EJBJar newDeploymentDescriptor) {
- EJBJar oldDeploymentDescriptor = deploymentDescriptor;
- deploymentDescriptor = newDeploymentDescriptor;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, CommonarchivePackage.EJB_JAR_FILE__DEPLOYMENT_DESCRIPTOR, oldDeploymentDescriptor, deploymentDescriptor));
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case CommonarchivePackage.EJB_JAR_FILE__CONTAINER :
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, CommonarchivePackage.EJB_JAR_FILE__CONTAINER, msgs);
- case CommonarchivePackage.EJB_JAR_FILE__FILES :
- return ((InternalEList) getFiles()).basicAdd(otherEnd, msgs);
- default :
- return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
- }
- }
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case CommonarchivePackage.EJB_JAR_FILE__CONTAINER :
- return eBasicSetContainer(null, CommonarchivePackage.EJB_JAR_FILE__CONTAINER, msgs);
- case CommonarchivePackage.EJB_JAR_FILE__FILES :
- return ((InternalEList) getFiles()).basicRemove(otherEnd, msgs);
- default :
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
- if (eContainerFeatureID >= 0) {
- switch (eContainerFeatureID) {
- case CommonarchivePackage.EJB_JAR_FILE__CONTAINER :
- return eContainer.eInverseRemove(this, CommonarchivePackage.CONTAINER__FILES, Container.class, msgs);
- default :
- return eDynamicBasicRemoveFromContainer(msgs);
- }
- }
- return eContainer.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.EJB_JAR_FILE__URI :
- return getURI();
- case CommonarchivePackage.EJB_JAR_FILE__LAST_MODIFIED :
- return new Long(getLastModified());
- case CommonarchivePackage.EJB_JAR_FILE__SIZE :
- return new Long(getSize());
- case CommonarchivePackage.EJB_JAR_FILE__DIRECTORY_ENTRY :
- return isDirectoryEntry() ? Boolean.TRUE : Boolean.FALSE;
- case CommonarchivePackage.EJB_JAR_FILE__ORIGINAL_URI :
- return getOriginalURI();
- case CommonarchivePackage.EJB_JAR_FILE__LOADING_CONTAINER :
- if (resolve)
- return getLoadingContainer();
- return basicGetLoadingContainer();
- case CommonarchivePackage.EJB_JAR_FILE__CONTAINER :
- return getContainer();
- case CommonarchivePackage.EJB_JAR_FILE__FILES :
- return getFiles();
- case CommonarchivePackage.EJB_JAR_FILE__TYPES :
- return getTypes();
- case CommonarchivePackage.EJB_JAR_FILE__DEPLOYMENT_DESCRIPTOR :
- if (resolve)
- return getDeploymentDescriptor();
- return basicGetDeploymentDescriptor();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/EJBModuleRefImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/EJBModuleRefImpl.java
deleted file mode 100644
index c1d6efaa2..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/EJBModuleRefImpl.java
+++ /dev/null
@@ -1,194 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.impl;
-
-
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.jst.j2ee.application.Module;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.EJBModuleRef;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ModuleFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ModuleRef;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.ArchiveWrappedException;
-import org.eclipse.jst.j2ee.ejb.EJBJar;
-
-
-public class EJBModuleRefImpl extends ModuleRefImpl implements EJBModuleRef, ModuleRef {
-
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected EJBModuleRefImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- protected EClass eStaticClass() {
- return CommonarchivePackage.eINSTANCE.getEJBModuleRef();
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case CommonarchivePackage.EJB_MODULE_REF__EAR_FILE :
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, CommonarchivePackage.EJB_MODULE_REF__EAR_FILE, msgs);
- default :
- return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
- }
- }
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case CommonarchivePackage.EJB_MODULE_REF__EAR_FILE :
- return eBasicSetContainer(null, CommonarchivePackage.EJB_MODULE_REF__EAR_FILE, msgs);
- default :
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
- if (eContainerFeatureID >= 0) {
- switch (eContainerFeatureID) {
- case CommonarchivePackage.EJB_MODULE_REF__EAR_FILE :
- return eContainer.eInverseRemove(this, CommonarchivePackage.EAR_FILE__MODULE_REFS, EARFile.class, msgs);
- default :
- return eDynamicBasicRemoveFromContainer(msgs);
- }
- }
- return eContainer.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.EJB_MODULE_REF__MODULE_FILE :
- if (resolve)
- return getModuleFile();
- return basicGetModuleFile();
- case CommonarchivePackage.EJB_MODULE_REF__EAR_FILE :
- return getEarFile();
- case CommonarchivePackage.EJB_MODULE_REF__MODULE :
- if (resolve)
- return getModule();
- return basicGetModule();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.EJB_MODULE_REF__MODULE_FILE :
- setModuleFile((ModuleFile) newValue);
- return;
- case CommonarchivePackage.EJB_MODULE_REF__EAR_FILE :
- setEarFile((EARFile) newValue);
- return;
- case CommonarchivePackage.EJB_MODULE_REF__MODULE :
- setModule((Module) newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.EJB_MODULE_REF__MODULE_FILE :
- setModuleFile((ModuleFile) null);
- return;
- case CommonarchivePackage.EJB_MODULE_REF__EAR_FILE :
- setEarFile((EARFile) null);
- return;
- case CommonarchivePackage.EJB_MODULE_REF__MODULE :
- setModule((Module) null);
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.EJB_MODULE_REF__MODULE_FILE :
- return moduleFile != null;
- case CommonarchivePackage.EJB_MODULE_REF__EAR_FILE :
- return getEarFile() != null;
- case CommonarchivePackage.EJB_MODULE_REF__MODULE :
- return module != null;
- }
- return eDynamicIsSet(eFeature);
- }
-
- public EJBJar getEJBJar() throws ArchiveWrappedException {
- return (EJBJar) getDeploymentDescriptor();
- }
-
- /*
- * @see ModuleRef#isEJB()
- */
- public boolean isEJB() {
- return true;
- }
-
-} //EJBModuleRefImpl
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/FileImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/FileImpl.java
deleted file mode 100644
index 9ba124a06..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/FileImpl.java
+++ /dev/null
@@ -1,680 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.impl;
-
-
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonArchiveFactoryRegistry;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonArchiveResourceHandler;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Container;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.File;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.util.ArchiveUtil;
-
-
-
-/**
- * @generated
- */
-public class FileImpl extends EObjectImpl implements File {
-
- /**
- * The default value of the '{@link #getURI() <em>URI</em>}' attribute. <!-- begin-user-doc
- * --> <!-- end-user-doc -->
- *
- * @see #getURI()
- * @generated
- * @ordered
- */
- protected static final String URI_EDEFAULT = null;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected String uri = URI_EDEFAULT;
- /**
- * The default value of the '{@link #getLastModified() <em>Last Modified</em>}' attribute.
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @see #getLastModified()
- * @generated
- * @ordered
- */
- protected static final long LAST_MODIFIED_EDEFAULT = 0L;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected long lastModified = LAST_MODIFIED_EDEFAULT;
- /**
- * This is true if the Last Modified attribute has been set. <!-- begin-user-doc --> <!--
- * end-user-doc -->
- *
- * @generated
- * @ordered
- */
- protected boolean lastModifiedESet = false;
-
- /**
- * The default value of the '{@link #getSize() <em>Size</em>}' attribute. <!-- begin-user-doc
- * --> <!-- end-user-doc -->
- *
- * @see #getSize()
- * @generated
- * @ordered
- */
- protected static final long SIZE_EDEFAULT = 0L;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected long size = SIZE_EDEFAULT;
- /**
- * This is true if the Size attribute has been set. <!-- begin-user-doc --> <!-- end-user-doc
- * -->
- *
- * @generated
- * @ordered
- */
- protected boolean sizeESet = false;
-
- /**
- * The default value of the '{@link #isDirectoryEntry() <em>Directory Entry</em>}' attribute.
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @see #isDirectoryEntry()
- * @generated
- * @ordered
- */
- protected static final boolean DIRECTORY_ENTRY_EDEFAULT = false;
-
- /**
- * The cached value of the '{@link #isDirectoryEntry() <em>Directory Entry</em>}' attribute.
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @see #isDirectoryEntry()
- * @generated
- * @ordered
- */
- protected boolean directoryEntry = DIRECTORY_ENTRY_EDEFAULT;
-
- /**
- * This is true if the Directory Entry attribute has been set. <!-- begin-user-doc --> <!--
- * end-user-doc -->
- *
- * @generated
- * @ordered
- */
- protected boolean directoryEntryESet = false;
-
- /**
- * The default value of the '{@link #getOriginalURI() <em>Original URI</em>}' attribute. <!--
- * begin-user-doc --> <!-- end-user-doc -->
- *
- * @see #getOriginalURI()
- * @generated
- * @ordered
- */
- protected static final String ORIGINAL_URI_EDEFAULT = null;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected String originalURI = ORIGINAL_URI_EDEFAULT;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected Container loadingContainer = null;
-
- public FileImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- protected EClass eStaticClass() {
- return CommonarchivePackage.eINSTANCE.getFile();
- }
-
- public CommonarchiveFactory getCommonArchiveFactory() {
- return CommonArchiveFactoryRegistry.INSTANCE.getCommonArchiveFactory();
- }
-
- /**
- * @see com.ibm.etools.commonarchive.File
- */
- public java.lang.String getDirectoryURI() {
- return ArchiveUtil.getFileNameParent(getURI());
- }
-
- /**
- * @see com.ibm.etools.commonarchive.File
- */
- public java.io.InputStream getInputStream() throws java.io.FileNotFoundException, java.io.IOException {
- return getLoadingContainer().primGetInputStream(getOriginalURI());
- }
-
- public String getName() {
- return ArchiveUtil.getFileNameTail(getURI());
- }
-
- /**
- * @see com.ibm.etools.commonarchive.File
- */
- public boolean isApplicationClientFile() {
- return false;
- }
-
- /**
- * @see com.ibm.etools.commonarchive.File
- */
- public boolean isArchive() {
- return false;
- }
-
- /**
- * isContainer method comment.
- */
- public boolean isContainer() {
- return false;
- }
-
- /**
- * @see com.ibm.etools.commonarchive.File
- */
- public boolean isEARFile() {
- return false;
- }
-
- /**
- * @see com.ibm.etools.commonarchive.File
- */
- public boolean isEJBJarFile() {
- return false;
- }
-
- /**
- * @see com.ibm.etools.commonarchive.File
- */
- public boolean isModuleFile() {
- return false;
- }
-
- /**
- * @see com.ibm.etools.commonarchive.File
- */
- public boolean isRARFile() {
- return false;
- }
-
- /**
- * isReadOnlyDirectory method comment.
- */
- public boolean isReadOnlyDirectory() {
- return false;
- }
-
- /**
- * @see com.ibm.etools.commonarchive.File
- */
- public boolean isWARFile() {
- return false;
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- public String getURI() {
- return uri;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void setURI(String newURI) {
- String oldURI = uri;
- uri = newURI;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, CommonarchivePackage.FILE__URI, oldURI, uri));
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- public long getLastModified() {
- return lastModified;
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public void setLastModified(long newLastModified) {
- long oldLastModified = lastModified;
- lastModified = newLastModified;
- boolean oldLastModifiedESet = lastModifiedESet;
- lastModifiedESet = true;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, CommonarchivePackage.FILE__LAST_MODIFIED, oldLastModified, lastModified, !oldLastModifiedESet));
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public void unsetLastModified() {
- long oldLastModified = lastModified;
- boolean oldLastModifiedESet = lastModifiedESet;
- lastModified = LAST_MODIFIED_EDEFAULT;
- lastModifiedESet = false;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.UNSET, CommonarchivePackage.FILE__LAST_MODIFIED, oldLastModified, LAST_MODIFIED_EDEFAULT, oldLastModifiedESet));
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public boolean isSetLastModified() {
- return lastModifiedESet;
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- public long getSize() {
- return size;
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public void setSize(long newSize) {
- long oldSize = size;
- size = newSize;
- boolean oldSizeESet = sizeESet;
- sizeESet = true;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, CommonarchivePackage.FILE__SIZE, oldSize, size, !oldSizeESet));
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public void unsetSize() {
- long oldSize = size;
- boolean oldSizeESet = sizeESet;
- size = SIZE_EDEFAULT;
- sizeESet = false;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.UNSET, CommonarchivePackage.FILE__SIZE, oldSize, SIZE_EDEFAULT, oldSizeESet));
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public boolean isSetSize() {
- return sizeESet;
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public boolean isDirectoryEntry() {
- return directoryEntry;
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public void setDirectoryEntry(boolean newDirectoryEntry) {
- boolean oldDirectoryEntry = directoryEntry;
- directoryEntry = newDirectoryEntry;
- boolean oldDirectoryEntryESet = directoryEntryESet;
- directoryEntryESet = true;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, CommonarchivePackage.FILE__DIRECTORY_ENTRY, oldDirectoryEntry, directoryEntry, !oldDirectoryEntryESet));
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public void unsetDirectoryEntry() {
- boolean oldDirectoryEntry = directoryEntry;
- boolean oldDirectoryEntryESet = directoryEntryESet;
- directoryEntry = DIRECTORY_ENTRY_EDEFAULT;
- directoryEntryESet = false;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.UNSET, CommonarchivePackage.FILE__DIRECTORY_ENTRY, oldDirectoryEntry, DIRECTORY_ENTRY_EDEFAULT, oldDirectoryEntryESet));
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public boolean isSetDirectoryEntry() {
- return directoryEntryESet;
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- public String getOriginalURI() {
- return originalURI;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void setOriginalURI(String newOriginalURI) {
- String oldOriginalURI = originalURI;
- originalURI = newOriginalURI;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, CommonarchivePackage.FILE__ORIGINAL_URI, oldOriginalURI, originalURI));
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- public Container getLoadingContainer() {
- if (loadingContainer != null && loadingContainer.eIsProxy()) {
- Container oldLoadingContainer = loadingContainer;
- loadingContainer = (Container) EcoreUtil.resolve(loadingContainer, this);
- if (loadingContainer != oldLoadingContainer) {
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, CommonarchivePackage.FILE__LOADING_CONTAINER, oldLoadingContainer, loadingContainer));
- }
- }
- return loadingContainer;
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public Container basicGetLoadingContainer() {
- return loadingContainer;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void setLoadingContainer(Container newLoadingContainer) {
- Container oldLoadingContainer = loadingContainer;
- loadingContainer = newLoadingContainer;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, CommonarchivePackage.FILE__LOADING_CONTAINER, oldLoadingContainer, loadingContainer));
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- public Container getContainer() {
- if (eContainerFeatureID != CommonarchivePackage.FILE__CONTAINER)
- return null;
- return (Container) eContainer;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void setContainer(Container newContainer) {
- if (newContainer != eContainer || (eContainerFeatureID != CommonarchivePackage.FILE__CONTAINER && newContainer != null)) {
- if (EcoreUtil.isAncestor(this, newContainer))
- throw new IllegalArgumentException(CommonArchiveResourceHandler.getString("FileImpl._Error_0") + toString()); //$NON-NLS-1$
- NotificationChain msgs = null;
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- if (newContainer != null)
- msgs = ((InternalEObject) newContainer).eInverseAdd(this, CommonarchivePackage.CONTAINER__FILES, Container.class, msgs);
- msgs = eBasicSetContainer((InternalEObject) newContainer, CommonarchivePackage.FILE__CONTAINER, msgs);
- if (msgs != null)
- msgs.dispatch();
- } else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, CommonarchivePackage.FILE__CONTAINER, newContainer, newContainer));
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case CommonarchivePackage.FILE__CONTAINER :
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, CommonarchivePackage.FILE__CONTAINER, msgs);
- default :
- return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
- }
- }
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case CommonarchivePackage.FILE__CONTAINER :
- return eBasicSetContainer(null, CommonarchivePackage.FILE__CONTAINER, msgs);
- default :
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
- if (eContainerFeatureID >= 0) {
- switch (eContainerFeatureID) {
- case CommonarchivePackage.FILE__CONTAINER :
- return eContainer.eInverseRemove(this, CommonarchivePackage.CONTAINER__FILES, Container.class, msgs);
- default :
- return eDynamicBasicRemoveFromContainer(msgs);
- }
- }
- return eContainer.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.FILE__URI :
- return getURI();
- case CommonarchivePackage.FILE__LAST_MODIFIED :
- return new Long(getLastModified());
- case CommonarchivePackage.FILE__SIZE :
- return new Long(getSize());
- case CommonarchivePackage.FILE__DIRECTORY_ENTRY :
- return isDirectoryEntry() ? Boolean.TRUE : Boolean.FALSE;
- case CommonarchivePackage.FILE__ORIGINAL_URI :
- return getOriginalURI();
- case CommonarchivePackage.FILE__LOADING_CONTAINER :
- if (resolve)
- return getLoadingContainer();
- return basicGetLoadingContainer();
- case CommonarchivePackage.FILE__CONTAINER :
- return getContainer();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.FILE__URI :
- return URI_EDEFAULT == null ? uri != null : !URI_EDEFAULT.equals(uri);
- case CommonarchivePackage.FILE__LAST_MODIFIED :
- return isSetLastModified();
- case CommonarchivePackage.FILE__SIZE :
- return isSetSize();
- case CommonarchivePackage.FILE__DIRECTORY_ENTRY :
- return isSetDirectoryEntry();
- case CommonarchivePackage.FILE__ORIGINAL_URI :
- return ORIGINAL_URI_EDEFAULT == null ? originalURI != null : !ORIGINAL_URI_EDEFAULT.equals(originalURI);
- case CommonarchivePackage.FILE__LOADING_CONTAINER :
- return loadingContainer != null;
- case CommonarchivePackage.FILE__CONTAINER :
- return getContainer() != null;
- }
- return eDynamicIsSet(eFeature);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.FILE__URI :
- setURI((String) newValue);
- return;
- case CommonarchivePackage.FILE__LAST_MODIFIED :
- setLastModified(((Long) newValue).longValue());
- return;
- case CommonarchivePackage.FILE__SIZE :
- setSize(((Long) newValue).longValue());
- return;
- case CommonarchivePackage.FILE__DIRECTORY_ENTRY :
- setDirectoryEntry(((Boolean) newValue).booleanValue());
- return;
- case CommonarchivePackage.FILE__ORIGINAL_URI :
- setOriginalURI((String) newValue);
- return;
- case CommonarchivePackage.FILE__LOADING_CONTAINER :
- setLoadingContainer((Container) newValue);
- return;
- case CommonarchivePackage.FILE__CONTAINER :
- setContainer((Container) newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.FILE__URI :
- setURI(URI_EDEFAULT);
- return;
- case CommonarchivePackage.FILE__LAST_MODIFIED :
- unsetLastModified();
- return;
- case CommonarchivePackage.FILE__SIZE :
- unsetSize();
- return;
- case CommonarchivePackage.FILE__DIRECTORY_ENTRY :
- unsetDirectoryEntry();
- return;
- case CommonarchivePackage.FILE__ORIGINAL_URI :
- setOriginalURI(ORIGINAL_URI_EDEFAULT);
- return;
- case CommonarchivePackage.FILE__LOADING_CONTAINER :
- setLoadingContainer((Container) null);
- return;
- case CommonarchivePackage.FILE__CONTAINER :
- setContainer((Container) null);
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public String toString() {
- if (eIsProxy())
- return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (URI: "); //$NON-NLS-1$
- result.append(uri);
- result.append(", lastModified: "); //$NON-NLS-1$
- if (lastModifiedESet)
- result.append(lastModified);
- else
- result.append("<unset>"); //$NON-NLS-1$
- result.append(", size: "); //$NON-NLS-1$
- if (sizeESet)
- result.append(size);
- else
- result.append("<unset>"); //$NON-NLS-1$
- result.append(", directoryEntry: "); //$NON-NLS-1$
- if (directoryEntryESet)
- result.append(directoryEntry);
- else
- result.append("<unset>"); //$NON-NLS-1$
- result.append(", originalURI: "); //$NON-NLS-1$
- result.append(originalURI);
- result.append(')');
- return result.toString();
- }
-
- /*
- * @see File#isFARFile()
- */
- public boolean isFARFile() {
- return false;
- }
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/ModuleFileImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/ModuleFileImpl.java
deleted file mode 100644
index b5909a331..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/ModuleFileImpl.java
+++ /dev/null
@@ -1,408 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.impl;
-
-
-
-import java.io.FileNotFoundException;
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Container;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ModuleFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.ArchiveRuntimeException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DuplicateObjectException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.ResourceLoadException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.SaveFailureException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ExportStrategy;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.ImportStrategy;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.SaveStrategy;
-import org.eclipse.jst.j2ee.internal.common.XMLResource;
-
-
-/**
- * @generated
- */
-public abstract class ModuleFileImpl extends ArchiveImpl implements ModuleFile {
-
- /** Implementer for extracting meta-data from this archive into the root object */
- protected ImportStrategy importStrategy;
- /** Implementer for adding meta-data to an about-to-be-exported archive */
- protected ExportStrategy exportStrategy;
-
- public ModuleFileImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- protected EClass eStaticClass() {
- return CommonarchivePackage.eINSTANCE.getModuleFile();
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case CommonarchivePackage.MODULE_FILE__CONTAINER :
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, CommonarchivePackage.MODULE_FILE__CONTAINER, msgs);
- case CommonarchivePackage.MODULE_FILE__FILES :
- return ((InternalEList) getFiles()).basicAdd(otherEnd, msgs);
- default :
- return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
- }
- }
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case CommonarchivePackage.MODULE_FILE__CONTAINER :
- return eBasicSetContainer(null, CommonarchivePackage.MODULE_FILE__CONTAINER, msgs);
- case CommonarchivePackage.MODULE_FILE__FILES :
- return ((InternalEList) getFiles()).basicRemove(otherEnd, msgs);
- default :
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
- if (eContainerFeatureID >= 0) {
- switch (eContainerFeatureID) {
- case CommonarchivePackage.MODULE_FILE__CONTAINER :
- return eContainer.eInverseRemove(this, CommonarchivePackage.CONTAINER__FILES, Container.class, msgs);
- default :
- return eDynamicBasicRemoveFromContainer(msgs);
- }
- }
- return eContainer.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.MODULE_FILE__URI :
- return getURI();
- case CommonarchivePackage.MODULE_FILE__LAST_MODIFIED :
- return new Long(getLastModified());
- case CommonarchivePackage.MODULE_FILE__SIZE :
- return new Long(getSize());
- case CommonarchivePackage.MODULE_FILE__DIRECTORY_ENTRY :
- return isDirectoryEntry() ? Boolean.TRUE : Boolean.FALSE;
- case CommonarchivePackage.MODULE_FILE__ORIGINAL_URI :
- return getOriginalURI();
- case CommonarchivePackage.MODULE_FILE__LOADING_CONTAINER :
- if (resolve)
- return getLoadingContainer();
- return basicGetLoadingContainer();
- case CommonarchivePackage.MODULE_FILE__CONTAINER :
- return getContainer();
- case CommonarchivePackage.MODULE_FILE__FILES :
- return getFiles();
- case CommonarchivePackage.MODULE_FILE__TYPES :
- return getTypes();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.MODULE_FILE__URI :
- setURI((String) newValue);
- return;
- case CommonarchivePackage.MODULE_FILE__LAST_MODIFIED :
- setLastModified(((Long) newValue).longValue());
- return;
- case CommonarchivePackage.MODULE_FILE__SIZE :
- setSize(((Long) newValue).longValue());
- return;
- case CommonarchivePackage.MODULE_FILE__DIRECTORY_ENTRY :
- setDirectoryEntry(((Boolean) newValue).booleanValue());
- return;
- case CommonarchivePackage.MODULE_FILE__ORIGINAL_URI :
- setOriginalURI((String) newValue);
- return;
- case CommonarchivePackage.MODULE_FILE__LOADING_CONTAINER :
- setLoadingContainer((Container) newValue);
- return;
- case CommonarchivePackage.MODULE_FILE__CONTAINER :
- setContainer((Container) newValue);
- return;
- case CommonarchivePackage.MODULE_FILE__FILES :
- getFiles().clear();
- getFiles().addAll((Collection) newValue);
- return;
- case CommonarchivePackage.MODULE_FILE__TYPES :
- getTypes().clear();
- getTypes().addAll((Collection) newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.MODULE_FILE__URI :
- setURI(URI_EDEFAULT);
- return;
- case CommonarchivePackage.MODULE_FILE__LAST_MODIFIED :
- unsetLastModified();
- return;
- case CommonarchivePackage.MODULE_FILE__SIZE :
- unsetSize();
- return;
- case CommonarchivePackage.MODULE_FILE__DIRECTORY_ENTRY :
- unsetDirectoryEntry();
- return;
- case CommonarchivePackage.MODULE_FILE__ORIGINAL_URI :
- setOriginalURI(ORIGINAL_URI_EDEFAULT);
- return;
- case CommonarchivePackage.MODULE_FILE__LOADING_CONTAINER :
- setLoadingContainer((Container) null);
- return;
- case CommonarchivePackage.MODULE_FILE__CONTAINER :
- setContainer((Container) null);
- return;
- case CommonarchivePackage.MODULE_FILE__FILES :
- getFiles().clear();
- return;
- case CommonarchivePackage.MODULE_FILE__TYPES :
- getTypes().clear();
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.MODULE_FILE__URI :
- return URI_EDEFAULT == null ? uri != null : !URI_EDEFAULT.equals(uri);
- case CommonarchivePackage.MODULE_FILE__LAST_MODIFIED :
- return isSetLastModified();
- case CommonarchivePackage.MODULE_FILE__SIZE :
- return isSetSize();
- case CommonarchivePackage.MODULE_FILE__DIRECTORY_ENTRY :
- return isSetDirectoryEntry();
- case CommonarchivePackage.MODULE_FILE__ORIGINAL_URI :
- return ORIGINAL_URI_EDEFAULT == null ? originalURI != null : !ORIGINAL_URI_EDEFAULT.equals(originalURI);
- case CommonarchivePackage.MODULE_FILE__LOADING_CONTAINER :
- return loadingContainer != null;
- case CommonarchivePackage.MODULE_FILE__CONTAINER :
- return getContainer() != null;
- case CommonarchivePackage.MODULE_FILE__FILES :
- return files != null && !files.isEmpty();
- case CommonarchivePackage.MODULE_FILE__TYPES :
- return types != null && !types.isEmpty();
- }
- return eDynamicIsSet(eFeature);
- }
-
- protected boolean canLazyInitialize() {
- return getImportStrategy() != null;
- }
-
- public Resource getDeploymentDescriptorResource() throws java.io.FileNotFoundException, ResourceLoadException {
- return getMofResource(getDeploymentDescriptorUri());
- }
-
- /**
- * Subclasses must override
- */
- public abstract String getDeploymentDescriptorUri();
-
- /**
- * @see com.ibm.etools.commonarchive.ModuleFile
- */
- public EARFile getEARFile() {
- Container aContainer = getContainer();
- if (aContainer == null || !aContainer.isEARFile()) {
- return null;
- }
- return ((EARFile) aContainer);
- }
-
- /**
- * Insert the method's description here. Creation date: (11/29/00 6:35:08 PM)
- *
- * @return com.ibm.etools.archive.ExportStrategy
- */
- public org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ExportStrategy getExportStrategy() {
- return exportStrategy;
- }
-
- /**
- * Insert the method's description here. Creation date: (11/29/00 6:35:08 PM)
- *
- * @return com.ibm.etools.archive.ImportStrategy
- */
- public org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.ImportStrategy getImportStrategy() {
- return importStrategy;
- }
-
- /**
- * Returns the specification version of the module file, or empty string if unknown version. For
- * example, "2.0"
- *
- * @deprecated, Use getDeploymentDescriptorResource().getModuleVersionID();
- */
- public String getSpecVersion() {
- float ver = getSpecVersionID();
- Float specVersion = new Float(ver / 10);
- return specVersion.toString();
- }
-
- /**
- * Return the version ID of the module For example, "20"
- *
- * @return int
- */
- public int getSpecVersionID() {
- try {
- return ((XMLResource) getDeploymentDescriptorResource()).getModuleVersionID();
- } catch (Exception e) {
- throw new ArchiveRuntimeException(e);
- }
- }
-
- /**
- * @see com.ibm.etools.commonarchive.ModuleFile
- */
- public abstract boolean isDeploymentDescriptorSet();
-
- /**
- * @see com.ibm.etools.commonarchive.File
- */
- public boolean isModuleFile() {
- return true;
- }
-
-
-
- /**
- * subclasses must override
- */
- public abstract EObject makeDeploymentDescriptor(XMLResource resource);
-
- public Resource makeDeploymentDescriptorResource() {
- XMLResource resource = null;
- try {
- resource = (XMLResource) makeMofResource(getDeploymentDescriptorUri());
- } catch (DuplicateObjectException ex) {
- try {
- return getDeploymentDescriptorResource();
- } catch (java.io.FileNotFoundException fnfEx) {
- //Ignore
- }
- }
- makeDeploymentDescriptor(resource);
- return resource;
- }
-
- public void save(SaveStrategy aSaveStrategy) throws SaveFailureException {
- setSaveStrategy(aSaveStrategy);
- if (getExportStrategy() != null)
- getExportStrategy().preSave(aSaveStrategy);
- super.save(aSaveStrategy);
- }
-
- /**
- * Insert the method's description here. Creation date: (11/29/00 6:35:08 PM)
- *
- * @param newExportStrategy
- * com.ibm.etools.archive.ExportStrategy
- */
- public void setExportStrategy(org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ExportStrategy newExportStrategy) {
- exportStrategy = newExportStrategy;
- if (newExportStrategy != null) {
- newExportStrategy.setArchive(this);
- }
- }
-
- /**
- * Insert the method's description here. Creation date: (11/29/00 6:35:08 PM)
- *
- * @param newImportStrategy
- * com.ibm.etools.archive.ImportStrategy
- */
- public void setImportStrategy(org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.ImportStrategy newImportStrategy) {
- importStrategy = newImportStrategy;
- if (newImportStrategy != null) {
- newImportStrategy.setArchive(this);
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see com.ibm.etools.commonarchive.ModuleFile#setJ2EEVersion(int)
- */
- public void setJ2EEVersion(int versionID) {
- try {
- ((XMLResource) getDeploymentDescriptorResource()).setVersionID(versionID);
- } catch (ResourceLoadException e) {
- throw e;
- } catch (FileNotFoundException e) {
- throw new ArchiveRuntimeException(e);
- }
- }
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/ModuleRefImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/ModuleRefImpl.java
deleted file mode 100644
index 4d12cbb9b..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/ModuleRefImpl.java
+++ /dev/null
@@ -1,544 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.impl;
-
-
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.jst.j2ee.application.Module;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonArchiveFactoryRegistry;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonArchiveResourceHandler;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.File;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ModuleFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ModuleRef;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.ArchiveRuntimeException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.ArchiveWrappedException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DuplicateObjectException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.NoModuleFileException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.ResourceLoadException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.util.ArchiveUtil;
-
-
-public class ModuleRefImpl extends EObjectImpl implements ModuleRef, EObject {
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected ModuleFile moduleFile = null;
- /**
- * The cached value of the '{@link #getModule() <em>Module</em>}' reference. <!--
- * begin-user-doc --> <!-- end-user-doc -->
- *
- * @see #getModule()
- * @generated
- * @ordered
- */
- protected Module module = null;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected ModuleRefImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- protected EClass eStaticClass() {
- return CommonarchivePackage.eINSTANCE.getModuleRef();
- }
-
- protected CommonarchiveFactory getCommonArchiveFactory() {
- return CommonArchiveFactoryRegistry.INSTANCE.getCommonArchiveFactory();
- }
-
- /**
- * The default is to do nothing; subclasses should override if necessary
- */
- protected void buildComponentList(EList list) {
- //Default
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- public ModuleFile getModuleFileGen() {
- if (moduleFile != null && moduleFile.eIsProxy()) {
- ModuleFile oldModuleFile = moduleFile;
- moduleFile = (ModuleFile) EcoreUtil.resolve(moduleFile, this);
- if (moduleFile != oldModuleFile) {
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, CommonarchivePackage.MODULE_REF__MODULE_FILE, oldModuleFile, moduleFile));
- }
- }
- return moduleFile;
- }
-
- public ModuleFile getModuleFile() {
- if (moduleFile == null)
- initModuleFileFromEAR();
- return moduleFile;
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public ModuleFile basicGetModuleFile() {
- return moduleFile;
- }
-
- protected void initModuleFileFromEAR() {
- checkEARFile();
- ModuleFile aFile = null;
- try {
- aFile = (ModuleFile) getEarFile().getFile(module.getUri());
- } catch (FileNotFoundException ex) {
- //Ignore
- } catch (ClassCastException ex) {
- //Ignore
- }
- checkType(module, aFile);
- setModuleFile(aFile);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void setModuleFile(ModuleFile newModuleFile) {
- ModuleFile oldModuleFile = moduleFile;
- moduleFile = newModuleFile;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, CommonarchivePackage.MODULE_REF__MODULE_FILE, oldModuleFile, moduleFile));
- }
-
- public boolean usesAltDD() {
- if (module == null)
- return false;
- return !ArchiveUtil.isNullOrEmpty(module.getAltDD());
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.MODULE_REF__MODULE_FILE :
- return moduleFile != null;
- case CommonarchivePackage.MODULE_REF__EAR_FILE :
- return getEarFile() != null;
- case CommonarchivePackage.MODULE_REF__MODULE :
- return module != null;
- }
- return eDynamicIsSet(eFeature);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.MODULE_REF__MODULE_FILE :
- setModuleFile((ModuleFile) newValue);
- return;
- case CommonarchivePackage.MODULE_REF__EAR_FILE :
- setEarFile((EARFile) newValue);
- return;
- case CommonarchivePackage.MODULE_REF__MODULE :
- setModule((Module) newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.MODULE_REF__MODULE_FILE :
- setModuleFile((ModuleFile) null);
- return;
- case CommonarchivePackage.MODULE_REF__EAR_FILE :
- setEarFile((EARFile) null);
- return;
- case CommonarchivePackage.MODULE_REF__MODULE :
- setModule((Module) null);
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- public EObject getAltDeploymentDescriptor() throws ArchiveWrappedException {
- if (getEarFile() == null)
- return null;
- try {
- return getEarFile().getAltDeploymentDescriptor(getModule());
- } catch (Exception ex) {
- throw new ArchiveWrappedException(ex);
- }
- }
-
- /*
- * @see ModuleRef#getDeploymentDescriptor()
- */
- public EObject getDeploymentDescriptor() throws ArchiveWrappedException {
- if (getEarFile() == null)
- return getStandardDeploymentDescriptor();
- try {
- return getEarFile().getDeploymentDescriptor(getModule());
- } catch (Exception ex) {
- throw new ArchiveWrappedException(ex);
- }
- }
-
- /*
- * @see ModuleRef#getEARFile()
- */
- public EObject getStandardDeploymentDescriptor() {
- if (getModuleFile() == null)
- return null;
- return getModuleFile().getStandardDeploymentDescriptor();
- }
-
-
- /*
- * @see ModuleRef#setURI(String)
- */
- public void setURI(String uri) {
- if (getModuleFile() != null)
- getModuleFile().setURI(uri);
-
- if (getModule() != null)
- getModule().setUri(uri);
- }
-
- /*
- * @see ModuleRef#isClient()
- */
- public boolean isClient() {
- return false;
- }
-
- /*
- * @see ModuleRef#isConnector()
- */
- public boolean isConnector() {
- return false;
- }
-
- /*
- * @see ModuleRef#isEJB()
- */
- public boolean isEJB() {
- return false;
- }
-
- /*
- * @see ModuleRef#isWeb()
- */
- public boolean isWeb() {
- return false;
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- public EARFile getEarFile() {
- if (eContainerFeatureID != CommonarchivePackage.MODULE_REF__EAR_FILE)
- return null;
- return (EARFile) eContainer;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void setEarFile(EARFile newEarFile) {
- if (newEarFile != eContainer || (eContainerFeatureID != CommonarchivePackage.MODULE_REF__EAR_FILE && newEarFile != null)) {
- if (EcoreUtil.isAncestor(this, newEarFile))
- throw new IllegalArgumentException("Recursive containment not allowed for " + toString()); //$NON-NLS-1$
- NotificationChain msgs = null;
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- if (newEarFile != null)
- msgs = ((InternalEObject) newEarFile).eInverseAdd(this, CommonarchivePackage.EAR_FILE__MODULE_REFS, EARFile.class, msgs);
- msgs = eBasicSetContainer((InternalEObject) newEarFile, CommonarchivePackage.MODULE_REF__EAR_FILE, msgs);
- if (msgs != null)
- msgs.dispatch();
- } else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, CommonarchivePackage.MODULE_REF__EAR_FILE, newEarFile, newEarFile));
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public Module getModule() {
- if (module != null && module.eIsProxy()) {
- Module oldModule = module;
- module = (Module) EcoreUtil.resolve(module, this);
- if (module != oldModule) {
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, CommonarchivePackage.MODULE_REF__MODULE, oldModule, module));
- }
- }
- return module;
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public Module basicGetModule() {
- return module;
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public void setModule(Module newModule) {
- Module oldModule = module;
- module = newModule;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, CommonarchivePackage.MODULE_REF__MODULE, oldModule, module));
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case CommonarchivePackage.MODULE_REF__EAR_FILE :
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, CommonarchivePackage.MODULE_REF__EAR_FILE, msgs);
- default :
- return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
- }
- }
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case CommonarchivePackage.MODULE_REF__EAR_FILE :
- return eBasicSetContainer(null, CommonarchivePackage.MODULE_REF__EAR_FILE, msgs);
- default :
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
- if (eContainerFeatureID >= 0) {
- switch (eContainerFeatureID) {
- case CommonarchivePackage.MODULE_REF__EAR_FILE :
- return eContainer.eInverseRemove(this, CommonarchivePackage.EAR_FILE__MODULE_REFS, EARFile.class, msgs);
- default :
- return eDynamicBasicRemoveFromContainer(msgs);
- }
- }
- return eContainer.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.MODULE_REF__MODULE_FILE :
- if (resolve)
- return getModuleFile();
- return basicGetModuleFile();
- case CommonarchivePackage.MODULE_REF__EAR_FILE :
- return getEarFile();
- case CommonarchivePackage.MODULE_REF__MODULE :
- if (resolve)
- return getModule();
- return basicGetModule();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * Return an input stream from the "resources path" of either the ModuleFile, if the module does
- * not use alt-dd, or from the altRoot of the module, found in the resources path of the EAR
- *
- * @see LoadStrategy#getResourceInputStream(String)
- */
- public InputStream getResourceInputStream(String uri) throws IOException {
- if (usesAltDD())
- return getAltResourceInputStream(uri);
- return getLocalResourceInputStream(uri);
- }
-
- public InputStream getLocalResourceInputStream(String uri) throws IOException {
- checkModuleFile();
- return moduleFile.getResourceInputStream(uri);
- }
-
- public InputStream getAltResourceInputStream(String uri) throws IOException {
- checkEARFile();
- return getEarFile().getResourceInputStream(uri);
- }
-
- /*
- * @see ModuleRef#getUri()
- */
- public String getUri() {
- if (module != null)
- return module.getUri();
- if (moduleFile != null)
- return moduleFile.getURI();
-
- return null;
- }
-
- /**
- * @see ModuleRef#getAltMofResource(String)
- */
- public Resource getAltMofResource(String uri) throws FileNotFoundException, ResourceLoadException {
- checkEARFile();
- return getEarFile().getMofResource(uri);
- }
-
- /**
- * @see ModuleRef#getLocalMofResource(String)
- */
- public Resource getLocalMofResource(String uri) throws FileNotFoundException, ResourceLoadException {
- checkModuleFile();
- return moduleFile.getMofResource(uri);
- }
-
- /**
- * @see ModuleRef#getMofResource(String)
- */
- public Resource getMofResource(String uri) throws FileNotFoundException, ResourceLoadException {
- if (usesAltDD())
- return getAltMofResource(uri);
- return getLocalMofResource(uri);
- }
-
- /**
- * @see ModuleRef#makeAltMofResource(String)
- */
- public Resource makeAltMofResource(String uri) throws DuplicateObjectException {
- checkEARFile();
- return getEarFile().makeMofResource(uri);
- }
-
- protected void checkEARFile() {
- if (getEarFile() == null)
- throw new ArchiveRuntimeException(CommonArchiveResourceHandler.getString("Module_not_in_EAR", new Object[]{getUri()})); //$NON-NLS-1$
- }
-
- /**
- * @see ModuleRef#makeLocalMofResource(String)
- */
- public Resource makeLocalMofResource(String uri) throws DuplicateObjectException {
- checkModuleFile();
- return moduleFile.makeMofResource(uri);
-
- }
-
- protected void checkModuleFile() {
- getModuleFile();
- if (moduleFile == null)
- throw new NoModuleFileException(CommonArchiveResourceHandler.getString("Module_file_does_not_exist_2", new Object[]{getUri()})); //$NON-NLS-1$
- }
-
- protected void checkType(Module moduleDescriptor, File aFile) {
- if (aFile == null) {
- String message = CommonArchiveResourceHandler.getString("A_file_does_not_exist_for_module", new Object[]{moduleDescriptor.getUri()}); //$NON-NLS-1$
- throw new NoModuleFileException(message);
- }
- //Added for defect 113929
- boolean isValid = true;
- String type = CommonArchiveResourceHandler.getString("Module_file"); //$NON-NLS-1$
- if (moduleDescriptor.isWebModule() && !aFile.isWARFile()) {
- isValid = false;
- type = CommonArchiveResourceHandler.getString("A_WAR_file"); //$NON-NLS-1$
- } else if (moduleDescriptor.isEjbModule() && !aFile.isEJBJarFile()) {
- isValid = false;
- type = CommonArchiveResourceHandler.getString("An_EJB_JAR_file"); //$NON-NLS-1$
- } else if (moduleDescriptor.isJavaModule() && !aFile.isApplicationClientFile()) {
- isValid = false;
- type = CommonArchiveResourceHandler.getString("An_Application_Client_JAR_file"); //$NON-NLS-1$
- } else if (moduleDescriptor.isConnectorModule() && !aFile.isRARFile()) {
- isValid = false;
- type = CommonArchiveResourceHandler.getString("A_RAR_file"); //$NON-NLS-1$
- } else if (!aFile.isModuleFile())
- isValid = false;
-
- if (isValid)
- return;
-
- String earUri = ""; //$NON-NLS-1$
- if (getEarFile() != null)
- earUri = getEarFile().getURI();
- String message = CommonArchiveResourceHandler.getString("File_not_correct_type", new Object[]{aFile.getURI(), earUri, type}); //$NON-NLS-1$
- throw new ArchiveRuntimeException(message);
- }
-
-
- /**
- * @see ModuleRef#makeMofResource(String)
- */
- public Resource makeMofResource(String uri) throws DuplicateObjectException {
- if (usesAltDD())
- return makeAltMofResource(uri);
- return makeLocalMofResource(uri);
- }
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/RARFileImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/RARFileImpl.java
deleted file mode 100644
index 947cdd471..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/RARFileImpl.java
+++ /dev/null
@@ -1,402 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.impl;
-
-
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonArchiveResourceHandler;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Container;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.File;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.RARFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DeploymentDescriptorLoadException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DuplicateObjectException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.SaveFailureException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveConstants;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.ConnectorDirectorySaveStrategyImpl;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.SaveStrategy;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.util.ArchiveUtil;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.util.RarFileDynamicClassLoader;
-import org.eclipse.jst.j2ee.internal.J2EEConstants;
-import org.eclipse.jst.j2ee.internal.common.XMLResource;
-import org.eclipse.jst.j2ee.internal.jca.JcaPackage;
-import org.eclipse.jst.j2ee.jca.Connector;
-import org.eclipse.jst.j2ee.jca.JcaFactory;
-
-
-/**
- * @generated
- */
-public class RARFileImpl extends ModuleFileImpl implements RARFile {
-
- /**
- * The cached value of the '{@link #getDeploymentDescriptor() <em>Deployment Descriptor</em>}'
- * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @see #getDeploymentDescriptor()
- * @generated
- * @ordered
- */
- protected Connector deploymentDescriptor = null;
-
- public RARFileImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- protected EClass eStaticClass() {
- return CommonarchivePackage.eINSTANCE.getRARFile();
- }
-
- /**
- * @see com.ibm.etools.commonarchive.WARFile
- */
- public File addCopyClass(File aFile) throws org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DuplicateObjectException {
- if (aFile.isReadOnlyDirectory())
- throw new IllegalArgumentException(CommonArchiveResourceHandler.getString("add_copy_class_dir_EXC_", (new Object[]{aFile.getURI()}))); //$NON-NLS-1$ = "Method addCopyClass not supported for directories :"
- return addCopyFileAddingPrefix(aFile, ArchiveConstants.WEBAPP_CLASSES_URI);
- }
-
- protected File addCopyFileAddingPrefix(File aFile, String uriPrefix) throws DuplicateObjectException {
- String swizzledUri = aFile.getURI();
- if (!swizzledUri.startsWith(uriPrefix)) {
- swizzledUri = ArchiveUtil.concatUri(uriPrefix, swizzledUri, '/');
- }
- checkAddValid(swizzledUri);
- File copy = copy(aFile);
- copy.setURI(swizzledUri);
- getFiles().add(copy);
- return copy;
- }
-
- protected SaveStrategy createSaveStrategyForConnectorDirectory(java.io.File dir, int expansionFlags) {
- return new ConnectorDirectorySaveStrategyImpl(dir.getAbsolutePath(), expansionFlags);
- }
-
- /**
- * @see com.ibm.etools.commonarchive.Archive
- */
- public void extractToConnectorDirectory(java.lang.String aUri, int expansionFlags) throws SaveFailureException {
- java.io.File aDir = new java.io.File(aUri);
- if (getLoadStrategy().isUsing(aDir))
- throw new SaveFailureException(CommonArchiveResourceHandler.getString("Extract_destination_is_the_EXC_")); //$NON-NLS-1$ = "Extract destination is the same path as source file"
-
- try {
- SaveStrategy aSaveStrategy = createSaveStrategyForConnectorDirectory(aDir, expansionFlags);
- save(aSaveStrategy);
- aSaveStrategy.close();
- } catch (java.io.IOException ex) {
- throw new SaveFailureException(CommonArchiveResourceHandler.getString("error_saving_EXC_", (new Object[]{uri})), ex); //$NON-NLS-1$ = "Error saving "
- }
-
- }
-
- /**
- * @see com.ibm.etools.commonarchive.RARFile
- */
- public java.util.List getClasses() {
- return filterFilesByPrefix(ArchiveConstants.RAR_CLASSES_URI);
- }
-
- /**
- * @throws DeploymentDescriptorLoadException -
- * is a runtime exception, because we can't override the signature of the generated
- * methods
- */
- public Connector getDeploymentDescriptor() throws DeploymentDescriptorLoadException {
- Connector dd = deploymentDescriptor;
- if (dd == null && canLazyInitialize())
- try {
- getImportStrategy().importMetaData();
- } catch (Exception e) {
- throw new DeploymentDescriptorLoadException(getDeploymentDescriptorUri(), e);
- }
- return deploymentDescriptor;
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public Connector basicGetDeploymentDescriptor() {
- return deploymentDescriptor;
- }
-
- public String getDeploymentDescriptorUri() {
- return J2EEConstants.RAR_DD_URI;
- }
-
- /**
- * @see com.ibm.etools.commonarchive.WARFile
- */
- public java.util.List getResources() {
- String[] prefixes = {J2EEConstants.META_INF, J2EEConstants.WEB_INF};
- return filterFilesWithoutPrefix(prefixes);
- }
-
- /**
- * Return the DeployementDescriptor.
- */
- public EObject getStandardDeploymentDescriptor() throws DeploymentDescriptorLoadException {
- return getDeploymentDescriptor();
- }
-
- public boolean isDeploymentDescriptorSet() {
- return deploymentDescriptor != null;
- }
-
- /**
- * @see com.ibm.etools.commonarchive.File
- */
- public boolean isRARFile() {
- return true;
- }
-
- /**
- * @see com.ibm.etools.commonarchive.impl.ModuleFileImpl
- */
- public org.eclipse.emf.ecore.EObject makeDeploymentDescriptor(XMLResource resource) {
- JcaPackage p = (JcaPackage) EPackage.Registry.INSTANCE.getEPackage(JcaPackage.eNS_URI);
- JcaFactory fct = p.getJcaFactory();
- Connector connector = fct.createConnector();
- setDeploymentDescriptor(connector);
- resource.getContents().add(connector);
- return connector;
- }
-
-
- public void setDeploymentDescriptor(Connector l) {
- deploymentDescriptor = l;
- replaceRoot(getMofResourceMakeIfNecessary(getDeploymentDescriptorUri()), l);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case CommonarchivePackage.RAR_FILE__CONTAINER :
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, CommonarchivePackage.RAR_FILE__CONTAINER, msgs);
- case CommonarchivePackage.RAR_FILE__FILES :
- return ((InternalEList) getFiles()).basicAdd(otherEnd, msgs);
- default :
- return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
- }
- }
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case CommonarchivePackage.RAR_FILE__CONTAINER :
- return eBasicSetContainer(null, CommonarchivePackage.RAR_FILE__CONTAINER, msgs);
- case CommonarchivePackage.RAR_FILE__FILES :
- return ((InternalEList) getFiles()).basicRemove(otherEnd, msgs);
- default :
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
- if (eContainerFeatureID >= 0) {
- switch (eContainerFeatureID) {
- case CommonarchivePackage.RAR_FILE__CONTAINER :
- return eContainer.eInverseRemove(this, CommonarchivePackage.CONTAINER__FILES, Container.class, msgs);
- default :
- return eDynamicBasicRemoveFromContainer(msgs);
- }
- }
- return eContainer.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.RAR_FILE__URI :
- return getURI();
- case CommonarchivePackage.RAR_FILE__LAST_MODIFIED :
- return new Long(getLastModified());
- case CommonarchivePackage.RAR_FILE__SIZE :
- return new Long(getSize());
- case CommonarchivePackage.RAR_FILE__DIRECTORY_ENTRY :
- return isDirectoryEntry() ? Boolean.TRUE : Boolean.FALSE;
- case CommonarchivePackage.RAR_FILE__ORIGINAL_URI :
- return getOriginalURI();
- case CommonarchivePackage.RAR_FILE__LOADING_CONTAINER :
- if (resolve)
- return getLoadingContainer();
- return basicGetLoadingContainer();
- case CommonarchivePackage.RAR_FILE__CONTAINER :
- return getContainer();
- case CommonarchivePackage.RAR_FILE__FILES :
- return getFiles();
- case CommonarchivePackage.RAR_FILE__TYPES :
- return getTypes();
- case CommonarchivePackage.RAR_FILE__DEPLOYMENT_DESCRIPTOR :
- if (resolve)
- return getDeploymentDescriptor();
- return basicGetDeploymentDescriptor();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.RAR_FILE__URI :
- return URI_EDEFAULT == null ? uri != null : !URI_EDEFAULT.equals(uri);
- case CommonarchivePackage.RAR_FILE__LAST_MODIFIED :
- return isSetLastModified();
- case CommonarchivePackage.RAR_FILE__SIZE :
- return isSetSize();
- case CommonarchivePackage.RAR_FILE__DIRECTORY_ENTRY :
- return isSetDirectoryEntry();
- case CommonarchivePackage.RAR_FILE__ORIGINAL_URI :
- return ORIGINAL_URI_EDEFAULT == null ? originalURI != null : !ORIGINAL_URI_EDEFAULT.equals(originalURI);
- case CommonarchivePackage.RAR_FILE__LOADING_CONTAINER :
- return loadingContainer != null;
- case CommonarchivePackage.RAR_FILE__CONTAINER :
- return getContainer() != null;
- case CommonarchivePackage.RAR_FILE__FILES :
- return files != null && !files.isEmpty();
- case CommonarchivePackage.RAR_FILE__TYPES :
- return types != null && !types.isEmpty();
- case CommonarchivePackage.RAR_FILE__DEPLOYMENT_DESCRIPTOR :
- return deploymentDescriptor != null;
- }
- return eDynamicIsSet(eFeature);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.RAR_FILE__URI :
- setURI((String) newValue);
- return;
- case CommonarchivePackage.RAR_FILE__LAST_MODIFIED :
- setLastModified(((Long) newValue).longValue());
- return;
- case CommonarchivePackage.RAR_FILE__SIZE :
- setSize(((Long) newValue).longValue());
- return;
- case CommonarchivePackage.RAR_FILE__DIRECTORY_ENTRY :
- setDirectoryEntry(((Boolean) newValue).booleanValue());
- return;
- case CommonarchivePackage.RAR_FILE__ORIGINAL_URI :
- setOriginalURI((String) newValue);
- return;
- case CommonarchivePackage.RAR_FILE__LOADING_CONTAINER :
- setLoadingContainer((Container) newValue);
- return;
- case CommonarchivePackage.RAR_FILE__CONTAINER :
- setContainer((Container) newValue);
- return;
- case CommonarchivePackage.RAR_FILE__FILES :
- getFiles().clear();
- getFiles().addAll((Collection) newValue);
- return;
- case CommonarchivePackage.RAR_FILE__TYPES :
- getTypes().clear();
- getTypes().addAll((Collection) newValue);
- return;
- case CommonarchivePackage.RAR_FILE__DEPLOYMENT_DESCRIPTOR :
- setDeploymentDescriptor((Connector) newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.RAR_FILE__URI :
- setURI(URI_EDEFAULT);
- return;
- case CommonarchivePackage.RAR_FILE__LAST_MODIFIED :
- unsetLastModified();
- return;
- case CommonarchivePackage.RAR_FILE__SIZE :
- unsetSize();
- return;
- case CommonarchivePackage.RAR_FILE__DIRECTORY_ENTRY :
- unsetDirectoryEntry();
- return;
- case CommonarchivePackage.RAR_FILE__ORIGINAL_URI :
- setOriginalURI(ORIGINAL_URI_EDEFAULT);
- return;
- case CommonarchivePackage.RAR_FILE__LOADING_CONTAINER :
- setLoadingContainer((Container) null);
- return;
- case CommonarchivePackage.RAR_FILE__CONTAINER :
- setContainer((Container) null);
- return;
- case CommonarchivePackage.RAR_FILE__FILES :
- getFiles().clear();
- return;
- case CommonarchivePackage.RAR_FILE__TYPES :
- getTypes().clear();
- return;
- case CommonarchivePackage.RAR_FILE__DEPLOYMENT_DESCRIPTOR :
- setDeploymentDescriptor((Connector) null);
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- public ClassLoader createDynamicClassLoader(ClassLoader parentCl, ClassLoader extraCl) {
- return new RarFileDynamicClassLoader(this, parentCl, extraCl);
- }
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/ReadOnlyDirectoryImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/ReadOnlyDirectoryImpl.java
deleted file mode 100644
index c87e1e8fd..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/ReadOnlyDirectoryImpl.java
+++ /dev/null
@@ -1,304 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.impl;
-
-
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Container;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.File;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ReadOnlyDirectory;
-
-/**
- * @generated
- */
-public class ReadOnlyDirectoryImpl extends ContainerImpl implements ReadOnlyDirectory {
-
- public ReadOnlyDirectoryImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- protected EClass eStaticClass() {
- return CommonarchivePackage.eINSTANCE.getReadOnlyDirectory();
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case CommonarchivePackage.READ_ONLY_DIRECTORY__CONTAINER :
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, CommonarchivePackage.READ_ONLY_DIRECTORY__CONTAINER, msgs);
- case CommonarchivePackage.READ_ONLY_DIRECTORY__FILES :
- return ((InternalEList) getFiles()).basicAdd(otherEnd, msgs);
- default :
- return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
- }
- }
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case CommonarchivePackage.READ_ONLY_DIRECTORY__CONTAINER :
- return eBasicSetContainer(null, CommonarchivePackage.READ_ONLY_DIRECTORY__CONTAINER, msgs);
- case CommonarchivePackage.READ_ONLY_DIRECTORY__FILES :
- return ((InternalEList) getFiles()).basicRemove(otherEnd, msgs);
- default :
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
- if (eContainerFeatureID >= 0) {
- switch (eContainerFeatureID) {
- case CommonarchivePackage.READ_ONLY_DIRECTORY__CONTAINER :
- return eContainer.eInverseRemove(this, CommonarchivePackage.CONTAINER__FILES, Container.class, msgs);
- default :
- return eDynamicBasicRemoveFromContainer(msgs);
- }
- }
- return eContainer.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.READ_ONLY_DIRECTORY__URI :
- return getURI();
- case CommonarchivePackage.READ_ONLY_DIRECTORY__LAST_MODIFIED :
- return new Long(getLastModified());
- case CommonarchivePackage.READ_ONLY_DIRECTORY__SIZE :
- return new Long(getSize());
- case CommonarchivePackage.READ_ONLY_DIRECTORY__DIRECTORY_ENTRY :
- return isDirectoryEntry() ? Boolean.TRUE : Boolean.FALSE;
- case CommonarchivePackage.READ_ONLY_DIRECTORY__ORIGINAL_URI :
- return getOriginalURI();
- case CommonarchivePackage.READ_ONLY_DIRECTORY__LOADING_CONTAINER :
- if (resolve)
- return getLoadingContainer();
- return basicGetLoadingContainer();
- case CommonarchivePackage.READ_ONLY_DIRECTORY__CONTAINER :
- return getContainer();
- case CommonarchivePackage.READ_ONLY_DIRECTORY__FILES :
- return getFiles();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.READ_ONLY_DIRECTORY__URI :
- setURI((String) newValue);
- return;
- case CommonarchivePackage.READ_ONLY_DIRECTORY__LAST_MODIFIED :
- setLastModified(((Long) newValue).longValue());
- return;
- case CommonarchivePackage.READ_ONLY_DIRECTORY__SIZE :
- setSize(((Long) newValue).longValue());
- return;
- case CommonarchivePackage.READ_ONLY_DIRECTORY__DIRECTORY_ENTRY :
- setDirectoryEntry(((Boolean) newValue).booleanValue());
- return;
- case CommonarchivePackage.READ_ONLY_DIRECTORY__ORIGINAL_URI :
- setOriginalURI((String) newValue);
- return;
- case CommonarchivePackage.READ_ONLY_DIRECTORY__LOADING_CONTAINER :
- setLoadingContainer((Container) newValue);
- return;
- case CommonarchivePackage.READ_ONLY_DIRECTORY__CONTAINER :
- setContainer((Container) newValue);
- return;
- case CommonarchivePackage.READ_ONLY_DIRECTORY__FILES :
- getFiles().clear();
- getFiles().addAll((Collection) newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.READ_ONLY_DIRECTORY__URI :
- setURI(URI_EDEFAULT);
- return;
- case CommonarchivePackage.READ_ONLY_DIRECTORY__LAST_MODIFIED :
- unsetLastModified();
- return;
- case CommonarchivePackage.READ_ONLY_DIRECTORY__SIZE :
- unsetSize();
- return;
- case CommonarchivePackage.READ_ONLY_DIRECTORY__DIRECTORY_ENTRY :
- unsetDirectoryEntry();
- return;
- case CommonarchivePackage.READ_ONLY_DIRECTORY__ORIGINAL_URI :
- setOriginalURI(ORIGINAL_URI_EDEFAULT);
- return;
- case CommonarchivePackage.READ_ONLY_DIRECTORY__LOADING_CONTAINER :
- setLoadingContainer((Container) null);
- return;
- case CommonarchivePackage.READ_ONLY_DIRECTORY__CONTAINER :
- setContainer((Container) null);
- return;
- case CommonarchivePackage.READ_ONLY_DIRECTORY__FILES :
- getFiles().clear();
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.READ_ONLY_DIRECTORY__URI :
- return URI_EDEFAULT == null ? uri != null : !URI_EDEFAULT.equals(uri);
- case CommonarchivePackage.READ_ONLY_DIRECTORY__LAST_MODIFIED :
- return isSetLastModified();
- case CommonarchivePackage.READ_ONLY_DIRECTORY__SIZE :
- return isSetSize();
- case CommonarchivePackage.READ_ONLY_DIRECTORY__DIRECTORY_ENTRY :
- return isSetDirectoryEntry();
- case CommonarchivePackage.READ_ONLY_DIRECTORY__ORIGINAL_URI :
- return ORIGINAL_URI_EDEFAULT == null ? originalURI != null : !ORIGINAL_URI_EDEFAULT.equals(originalURI);
- case CommonarchivePackage.READ_ONLY_DIRECTORY__LOADING_CONTAINER :
- return loadingContainer != null;
- case CommonarchivePackage.READ_ONLY_DIRECTORY__CONTAINER :
- return getContainer() != null;
- case CommonarchivePackage.READ_ONLY_DIRECTORY__FILES :
- return files != null && !files.isEmpty();
- }
- return eDynamicIsSet(eFeature);
- }
-
- /**
- * @see com.ibm.etools.commonarchive.Archive
- */
- public boolean containsFile(java.lang.String aUri) {
- getFiles();
- return getFileIndex().containsKey(aUri);
- }
-
- /**
- * containsFileInRootOrSubdirectory method comment.
- */
- public boolean containsFileInSelfOrSubdirectory(java.lang.String aUri) {
- return getLoadStrategy().contains(aUri);
- }
-
- /**
- * getFileInSelfOrSubdirectory method comment.
- */
- public File getFileInSelfOrSubdirectory(java.lang.String aUri) throws java.io.FileNotFoundException {
- if (!containsFileInSelfOrSubdirectory(aUri))
- throw new java.io.FileNotFoundException(aUri);
-
- if (containsFile(aUri))
- return getFile(aUri);
-
- List subdirs = getReadOnlyDirectories();
- for (int i = 0; i < subdirs.size(); i++) {
- ReadOnlyDirectory subdir = (ReadOnlyDirectory) subdirs.get(i);
- if (subdir.containsFileInSelfOrSubdirectory(aUri))
- return subdir.getFileInSelfOrSubdirectory(aUri);
- }
- throw new java.io.FileNotFoundException(aUri);
- }
-
- /**
- * Returns a flat list of all the files contained in this directory and subdirectories, with the
- * directories filtered out, as the list would appear in an archive
- */
- public java.util.List getFilesRecursive() {
- List allFiles = new ArrayList();
- List filesList = getFiles();
- for (int i = 0; i < filesList.size(); i++) {
- File aFile = (File) filesList.get(i);
- if (aFile.isReadOnlyDirectory())
- allFiles.addAll(((ReadOnlyDirectory) aFile).getFilesRecursive());
- else
- allFiles.add(aFile);
- }
- return allFiles;
- }
-
- /**
- * Return a filtered list on the files with just the instances of ReadOnlyDirectory
- */
- public List getReadOnlyDirectories() {
- List filtered = new ArrayList();
- List filesList = getFiles();
- for (int i = 0; i < filesList.size(); i++) {
- File aFile = (File) filesList.get(i);
- if (aFile.isReadOnlyDirectory())
- filtered.add(aFile);
- }
- return filtered;
- }
-
- /**
- * isReadOnlyDirectory method comment.
- */
- public boolean isReadOnlyDirectory() {
- return true;
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/RootArchiveTypeDescriminatorImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/RootArchiveTypeDescriminatorImpl.java
deleted file mode 100644
index 26356725e..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/RootArchiveTypeDescriminatorImpl.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.impl;
-
-
-
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveTypeDiscriminator;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveTypeDiscriminatorImpl;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.ImportStrategy;
-
-
-/**
- * Insert the type's description here. Creation date: (12/04/00 5:24:44 PM)
- *
- * @author: Administrator
- */
-public class RootArchiveTypeDescriminatorImpl extends org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveTypeDiscriminatorImpl implements org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveTypeDiscriminator {
- protected static ArchiveTypeDiscriminatorImpl singleton;
-
- /**
- * CommonArchiveFactoryDescriminator constructor comment.
- */
- public RootArchiveTypeDescriminatorImpl() {
- super();
- }
-
- /**
- * @see com.ibm.etools.archive.ArchiveTypeDiscriminator
- */
- public boolean canImport(Archive anArchive) {
- return true;
- }
-
- /**
- * @see com.ibm.etools.archive.ArchiveTypeDiscriminator
- */
- public Archive convert(Archive anArchive) {
- return anArchive;
- }
-
- /**
- * @see com.ibm.etools.archive.ArchiveTypeDiscriminator This never gets called for this
- * implementer.
- */
- public Archive createConvertedArchive() {
- return null;
- }
-
- /**
- * @see com.ibm.etools.archive.ArchiveTypeDiscriminator This never gets called for this
- * implementer.
- */
- public org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.ImportStrategy createImportStrategy() {
- return null;
- }
-
- /**
- * @see com.ibm.etools.archive.ArchiveTypeDiscriminator This never gets called for this
- * implementer.
- */
- public ImportStrategy createImportStrategy(Archive old, Archive newArchive) {
- return null;
- }
-
- /**
- * @return null This method should not get called at this level
- *
- * @see ArchiveTypeDescriminator#getUnableToOpenMessage()
- */
- public java.lang.String getUnableToOpenMessage() {
- return "";//$NON-NLS-1$
- }
-
- public static ArchiveTypeDiscriminator singleton() {
- if (singleton == null) {
- singleton = new RootArchiveTypeDescriminatorImpl();
- }
- return singleton;
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/RootEJBJarDescriminatorImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/RootEJBJarDescriminatorImpl.java
deleted file mode 100644
index ed9acc836..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/RootEJBJarDescriminatorImpl.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.impl;
-
-
-
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.OpenFailureException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveTypeDiscriminator;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveTypeDiscriminatorImpl;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.EjbJar11ImportStrategyImpl;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.ImportStrategy;
-
-
-/**
- * Insert the type's description here. Creation date: (12/04/00 5:24:44 PM)
- *
- * @author: Administrator
- */
-public class RootEJBJarDescriminatorImpl extends org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveTypeDiscriminatorImpl implements org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveTypeDiscriminator {
- protected static ArchiveTypeDiscriminatorImpl singleton;
-
- /**
- * CommonArchiveFactoryDescriminator constructor comment.
- */
- public RootEJBJarDescriminatorImpl() {
- super();
- initialize();
- }
-
- /**
- * @see com.ibm.etools.archive.ArchiveTypeDiscriminator
- */
- public boolean canImport(Archive anArchive) {
- java.util.List theChildren = getChildren();
- for (int i = 0; i < theChildren.size(); i++) {
- ArchiveTypeDiscriminator child = (ArchiveTypeDiscriminator) theChildren.get(i);
- if (child.canImport(anArchive))
- return true;
- }
- return false;
- }
-
- /**
- * @see com.ibm.etools.archive.ArchiveTypeDiscriminator
- */
- public Archive convert(Archive anArchive) {
- return anArchive;
- }
-
- /**
- * @see com.ibm.etools.archive.ArchiveTypeDiscriminator This never gets called for this
- * implementer.
- */
- public Archive createConvertedArchive() {
- return null;
- }
-
- /**
- * @see com.ibm.etools.archive.ArchiveTypeDiscriminator This never gets called for this
- * implementer.
- */
- public org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.ImportStrategy createImportStrategy() {
- return null;
- }
-
- /**
- * @see com.ibm.etools.archive.ArchiveTypeDiscriminator This never gets called for this
- * implementer.
- */
- public ImportStrategy createImportStrategy(Archive old, Archive newArchive) {
- return null;
- }
-
- /**
- * @return null This method should not get called at this level
- *
- * @see ArchiveTypeDescriminator#getUnableToOpenMessage()
- */
- public java.lang.String getUnableToOpenMessage() {
- StringBuffer message = new StringBuffer();
- java.util.List theChildren = getChildren();
- for (int i = 0; i < theChildren.size(); i++) {
- ArchiveTypeDiscriminator child = (ArchiveTypeDiscriminator) theChildren.get(i);
- message.append(child.getUnableToOpenMessage());
- message.append('\n');
- }
- return message.toString();
- }
-
- public void initialize() {
- addChild(EjbJar11ImportStrategyImpl.getDiscriminator());
- }
-
- /**
- * @see ArchiveTypeDiscriminator#openArchive(Archive)
- */
- public Archive openArchive(Archive anArchive) throws OpenFailureException {
- Archive result = super.openArchive(anArchive);
- if (result == anArchive)
- //Couldn't convert
- return null;
- return result;
- }
-
- public static ArchiveTypeDiscriminator singleton() {
- if (singleton == null) {
- singleton = new RootEJBJarDescriminatorImpl();
- }
- return singleton;
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/WARFileImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/WARFileImpl.java
deleted file mode 100644
index 5bf215e29..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/WARFileImpl.java
+++ /dev/null
@@ -1,589 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.impl;
-
-
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonArchiveResourceHandler;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Container;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.File;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.WARFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DeploymentDescriptorLoadException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DuplicateObjectException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveConstants;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.RuntimeClasspathEntry;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseLibrary;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseWARFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.util.ArchiveUtil;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.util.WarFileDynamicClassLoader;
-import org.eclipse.jst.j2ee.internal.J2EEConstants;
-import org.eclipse.jst.j2ee.internal.common.XMLResource;
-import org.eclipse.jst.j2ee.internal.webapplication.WebapplicationPackage;
-import org.eclipse.jst.j2ee.webapplication.WebApp;
-
-
-/**
- * @generated
- */
-public class WARFileImpl extends ModuleFileImpl implements WARFile {
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected WebApp deploymentDescriptor = null;
- protected List sourceFiles;
-
- public WARFileImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- protected EClass eStaticClass() {
- return CommonarchivePackage.eINSTANCE.getWARFile();
- }
-
- /**
- * @see com.ibm.etools.commonarchive.WARFile
- */
- public File addCopyClass(File aFile) throws DuplicateObjectException {
- if (aFile.isReadOnlyDirectory())
- throw new IllegalArgumentException(CommonArchiveResourceHandler.getString("add_copy_class_dir_EXC_", (new Object[]{aFile.getURI()}))); //$NON-NLS-1$ = "Method addCopyClass not supported for directories :"
- return addCopyFileAddingPrefix(aFile, ArchiveConstants.WEBAPP_CLASSES_URI);
- }
-
- protected File addCopyFileAddingPrefix(File aFile, String uriPrefix) throws DuplicateObjectException {
- String swizzledUri = aFile.getURI();
- if (!swizzledUri.startsWith(uriPrefix)) {
- swizzledUri = ArchiveUtil.concatUri(uriPrefix, swizzledUri, '/');
- }
- checkAddValid(swizzledUri);
- File copy = copy(aFile);
- copy.setURI(swizzledUri);
- getFiles().add(copy);
- return copy;
- }
-
- /**
- * @see com.ibm.etools.commonarchive.WARFile
- */
- public File addCopyLib(File aFile) throws DuplicateObjectException {
- if (aFile.isReadOnlyDirectory())
- throw new IllegalArgumentException(CommonArchiveResourceHandler.getString("add_copy_lib_dir_EXC_", (new Object[]{aFile.getURI()}))); //$NON-NLS-1$ = "Method addCopyLib not supported for directories :"
- return addCopyFileAddingPrefix(aFile, ArchiveConstants.WEBAPP_LIB_URI);
- }
-
- protected RuntimeClasspathEntry createLibClasspathEntry(String libPath) {
- RuntimeClasspathEntry entry = createRuntimeClasspathEntry(libPath);
- entry.setWarFile(this);
- return entry;
- }
-
- /**
- * Used internally for building the runtime class path
- *
- * @return List of Strings, the absolute paths of all file entries (no directories)
- */
- protected List getAllFileEntriesRecursive(java.io.File aFile, List aList) {
- if (!aFile.exists())
- return aList;
- //modified for botp 126140 05.29.02
- String name = aFile.getName();
- if (name.regionMatches(true, name.length() - 4, ".jar", 0, 4)) {//$NON-NLS-1$
- aList.add(aFile.getAbsolutePath());
- } else if (aFile.isDirectory()) {
- java.io.File[] children = aFile.listFiles();
- for (int i = 0; i < children.length; i++) {
- getAllFileEntriesRecursive(children[i], aList);
- }
- }
- return aList;
- }
-
- /**
- * @see com.ibm.etools.commonarchive.WARFile
- */
- public java.util.List getClasses() {
- return filterFilesByPrefix(ArchiveConstants.WEBAPP_CLASSES_URI);
- }
-
- /**
- * @throws DeploymentDescriptorLoadException -
- * is a runtime exception, because we can't override the signature of the generated
- * methods
- */
- public WebApp getDeploymentDescriptor() throws DeploymentDescriptorLoadException {
- WebApp dd = this.getDeploymentDescriptorGen();
- if (dd == null && canLazyInitialize())
- try {
- getImportStrategy().importMetaData();
- } catch (Exception e) {
- throw new DeploymentDescriptorLoadException(getDeploymentDescriptorUri(), e);
- }
- return this.getDeploymentDescriptorGen();
- }
-
- public String getDeploymentDescriptorUri() {
- return J2EEConstants.WEBAPP_DD_URI;
- }
-
-
- /**
- * @see com.ibm.etools.commonarchive.WARFile
- */
- public java.util.List getLibs() {
- return filterFilesByPrefix(ArchiveConstants.WEBAPP_LIB_URI);
- }
-
- /**
- * @see com.ibm.etools.commonarchive.WARFile
- */
- public List getLibArchives() {
- return filterFiles(ArchiveConstants.WEBAPP_LIB_URI, new String[]{"jar", "zip"}); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- /**
- * @see com.ibm.etools.commonarchive.WARFile
- */
- public java.util.List getResources() {
- String[] prefixes = {J2EEConstants.META_INF, J2EEConstants.WEB_INF};
- return filterFilesWithoutPrefix(prefixes);
- }
-
- /**
- * Overridden from superclass to include the claseses and libs of a WARFile There also is an
- * assumption that this is an exploded war file The following is what should be returned:
- *
- * 1) WAR directory + /WEB-INF/classes 2) all JAR files contained in [WAR directory +
- * /WEB-INF/lib] 3) WAR directory
- */
- public RuntimeClasspathEntry[] getLocalRuntimeClassPath() {
-
- String absolutePath;
- try {
- absolutePath = getLoadStrategy().getBinariesPath();
- } catch (IOException ex) {
- return new RuntimeClasspathEntry[0];
- }
-
- List entries = new ArrayList();
-
- if (getLoadStrategy().isDirectory()) {
- String classesPath = ArchiveUtil.getOSUri(absolutePath, ArchiveConstants.WEBAPP_CLASSES_URI);
- entries.add(createRuntimeClasspathEntry(classesPath));
- addWebLibs(absolutePath, entries);
- }
-
- entries.add(createRuntimeClasspathEntry(absolutePath));
- return (RuntimeClasspathEntry[]) entries.toArray(new RuntimeClasspathEntry[entries.size()]);
- }
-
- protected RuntimeClasspathEntry[] getDependencyClassPathAtThisLevel() {
-
- String absolutePath = internalGetBinariesPath();
- if (absolutePath == null)
- return emptyClasspath();
- RuntimeClasspathEntry[] mfEntries = super.getDependencyClassPathAtThisLevel();
- List entries = new ArrayList();
- entries.addAll(Arrays.asList(mfEntries));
-
- return (RuntimeClasspathEntry[]) entries.toArray(new RuntimeClasspathEntry[entries.size()]);
- }
-
- protected void addWebLibs(String absolutePath, List entries) {
- /*******************************************************************************************
- * Optimization*********** We could have used the helper getlibs here; however, that could
- * drag down performance as the full file list would have to get built, and this is runtime;
- * if the classes portion is huge then building the file list would be slow; moreover, we
- * would then have to clear the index from this war file. therefore, we'll do a little extra
- * work to get the libs
- ******************************************************************************************/
- java.io.File aFile = new java.io.File(ArchiveUtil.getOSUri(absolutePath, ArchiveConstants.WEBAPP_LIB_URI));
- List libs = getAllFileEntriesRecursive(aFile, new ArrayList());
- for (int i = 0; i < libs.size(); i++) {
- String libPath = (String) libs.get(i);
- entries.add(createLibClasspathEntry(libPath));
- }
- addLooseLibsToRuntimeClasspath(entries);
- }
-
- protected void addLooseLibsToRuntimeClasspath(List entries) {
- LooseWARFile loose = (LooseWARFile) getLoadStrategy().getLooseArchive();
- if (loose == null)
- return;
-
- List looseLibs = loose.getLooseLibs();
- for (int i = 0; i < looseLibs.size(); i++) {
- LooseLibrary lib = (LooseLibrary) looseLibs.get(i);
- entries.add(createLibClasspathEntry(lib.getBinariesPath()));
- }
- }
-
- protected List calculateSourceCandidateFiles() {
- List filesList = getFiles();
- List retFiles = new Vector();
- for (Iterator iter = filesList.iterator(); iter.hasNext();) {
- File file = (File) iter.next();
- String aUri = file.getURI();
- if (aUri.startsWith(J2EEConstants.WEB_INF) && !aUri.startsWith(ArchiveConstants.WEBAPP_LIB_URI))
- retFiles.add(file);
- }
- return retFiles;
- }
-
- protected List getSourceCandidateFiles() {
- if (sourceFiles == null) {
- sourceFiles = calculateSourceCandidateFiles();
- }
- return sourceFiles;
- }
-
- protected String makeRelative(String pathString, String relToPathString) {
-
- if (pathString.startsWith(relToPathString))
- return ArchiveUtil.truncateFromFrontIgnoreCase(pathString, relToPathString);
-
- return pathString;
- }
-
- /**
- * Return the source file that matches the output file passed in
- *
- * @param aClassFile
- * The .class file or other output file to find the source for
- * @return String The matching source. Null if there is no matching source found
- */
- public File getSourceFile(File aClassFile) {
- List sourceFilesList = getSourceCandidateFiles();
- String classURI = aClassFile.getURI();
- String convertedClassURI = classURI;
- if (classURI.endsWith(".class")) //$NON-NLS-1$
- convertedClassURI = ArchiveUtil.classUriToJavaUri(aClassFile.getURI());
- convertedClassURI = makeRelative(convertedClassURI, ArchiveConstants.WEBAPP_CLASSES_URI);
- int bestLength = 32767;
- File bestMatch = null;
- File file = null;
- String aUri = null;
- for (Iterator iter = sourceFilesList.iterator(); iter.hasNext();) {
- file = (File) iter.next();
- aUri = file.getURI();
- if (aUri.endsWith(convertedClassURI) && !aUri.equals(classURI)) {
- int excessLength = aUri.length() - convertedClassURI.length();
- if (excessLength < bestLength) {
- bestMatch = file;
- bestLength = excessLength;
- }
- }
- }
- return bestMatch;
- }
-
- /**
- * Return the DeployementDescriptor.
- */
- public EObject getStandardDeploymentDescriptor() throws DeploymentDescriptorLoadException {
- return getDeploymentDescriptor();
- }
-
- public boolean isDeploymentDescriptorSet() {
- return deploymentDescriptor != null;
- }
-
- /**
- * @see com.ibm.etools.commonarchive.File
- */
- public boolean isWARFile() {
- return true;
- }
-
- /**
- * @see com.ibm.etools.commonarchive.impl.ModuleFileImpl
- */
- public org.eclipse.emf.ecore.EObject makeDeploymentDescriptor(XMLResource resource) {
- WebApp webApp = ((WebapplicationPackage) EPackage.Registry.INSTANCE.getEPackage(WebapplicationPackage.eNS_URI)).getWebapplicationFactory().createWebApp();
- resource.setID(webApp, J2EEConstants.WEBAPP_ID);
- setDeploymentDescriptorGen(webApp);
- resource.getContents().add(webApp);
- return webApp;
- }
-
- public void setDeploymentDescriptor(WebApp l) {
- this.setDeploymentDescriptorGen(l);
- replaceRoot(getMofResourceMakeIfNecessary(getDeploymentDescriptorUri()), l);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.WAR_FILE__URI :
- return URI_EDEFAULT == null ? uri != null : !URI_EDEFAULT.equals(uri);
- case CommonarchivePackage.WAR_FILE__LAST_MODIFIED :
- return isSetLastModified();
- case CommonarchivePackage.WAR_FILE__SIZE :
- return isSetSize();
- case CommonarchivePackage.WAR_FILE__DIRECTORY_ENTRY :
- return isSetDirectoryEntry();
- case CommonarchivePackage.WAR_FILE__ORIGINAL_URI :
- return ORIGINAL_URI_EDEFAULT == null ? originalURI != null : !ORIGINAL_URI_EDEFAULT.equals(originalURI);
- case CommonarchivePackage.WAR_FILE__LOADING_CONTAINER :
- return loadingContainer != null;
- case CommonarchivePackage.WAR_FILE__CONTAINER :
- return getContainer() != null;
- case CommonarchivePackage.WAR_FILE__FILES :
- return files != null && !files.isEmpty();
- case CommonarchivePackage.WAR_FILE__TYPES :
- return types != null && !types.isEmpty();
- case CommonarchivePackage.WAR_FILE__DEPLOYMENT_DESCRIPTOR :
- return deploymentDescriptor != null;
- }
- return eDynamicIsSet(eFeature);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.WAR_FILE__URI :
- setURI((String) newValue);
- return;
- case CommonarchivePackage.WAR_FILE__LAST_MODIFIED :
- setLastModified(((Long) newValue).longValue());
- return;
- case CommonarchivePackage.WAR_FILE__SIZE :
- setSize(((Long) newValue).longValue());
- return;
- case CommonarchivePackage.WAR_FILE__DIRECTORY_ENTRY :
- setDirectoryEntry(((Boolean) newValue).booleanValue());
- return;
- case CommonarchivePackage.WAR_FILE__ORIGINAL_URI :
- setOriginalURI((String) newValue);
- return;
- case CommonarchivePackage.WAR_FILE__LOADING_CONTAINER :
- setLoadingContainer((Container) newValue);
- return;
- case CommonarchivePackage.WAR_FILE__CONTAINER :
- setContainer((Container) newValue);
- return;
- case CommonarchivePackage.WAR_FILE__FILES :
- getFiles().clear();
- getFiles().addAll((Collection) newValue);
- return;
- case CommonarchivePackage.WAR_FILE__TYPES :
- getTypes().clear();
- getTypes().addAll((Collection) newValue);
- return;
- case CommonarchivePackage.WAR_FILE__DEPLOYMENT_DESCRIPTOR :
- setDeploymentDescriptor((WebApp) newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.WAR_FILE__URI :
- setURI(URI_EDEFAULT);
- return;
- case CommonarchivePackage.WAR_FILE__LAST_MODIFIED :
- unsetLastModified();
- return;
- case CommonarchivePackage.WAR_FILE__SIZE :
- unsetSize();
- return;
- case CommonarchivePackage.WAR_FILE__DIRECTORY_ENTRY :
- unsetDirectoryEntry();
- return;
- case CommonarchivePackage.WAR_FILE__ORIGINAL_URI :
- setOriginalURI(ORIGINAL_URI_EDEFAULT);
- return;
- case CommonarchivePackage.WAR_FILE__LOADING_CONTAINER :
- setLoadingContainer((Container) null);
- return;
- case CommonarchivePackage.WAR_FILE__CONTAINER :
- setContainer((Container) null);
- return;
- case CommonarchivePackage.WAR_FILE__FILES :
- getFiles().clear();
- return;
- case CommonarchivePackage.WAR_FILE__TYPES :
- getTypes().clear();
- return;
- case CommonarchivePackage.WAR_FILE__DEPLOYMENT_DESCRIPTOR :
- setDeploymentDescriptor((WebApp) null);
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- public WebApp getDeploymentDescriptorGen() {
- if (deploymentDescriptor != null && deploymentDescriptor.eIsProxy()) {
- WebApp oldDeploymentDescriptor = deploymentDescriptor;
- deploymentDescriptor = (WebApp) EcoreUtil.resolve(deploymentDescriptor, this);
- if (deploymentDescriptor != oldDeploymentDescriptor) {
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, CommonarchivePackage.WAR_FILE__DEPLOYMENT_DESCRIPTOR, oldDeploymentDescriptor, deploymentDescriptor));
- }
- }
- return deploymentDescriptor;
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public WebApp basicGetDeploymentDescriptor() {
- return deploymentDescriptor;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void setDeploymentDescriptorGen(WebApp newDeploymentDescriptor) {
- WebApp oldDeploymentDescriptor = deploymentDescriptor;
- deploymentDescriptor = newDeploymentDescriptor;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, CommonarchivePackage.WAR_FILE__DEPLOYMENT_DESCRIPTOR, oldDeploymentDescriptor, deploymentDescriptor));
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case CommonarchivePackage.WAR_FILE__CONTAINER :
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, CommonarchivePackage.WAR_FILE__CONTAINER, msgs);
- case CommonarchivePackage.WAR_FILE__FILES :
- return ((InternalEList) getFiles()).basicAdd(otherEnd, msgs);
- default :
- return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
- }
- }
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case CommonarchivePackage.WAR_FILE__CONTAINER :
- return eBasicSetContainer(null, CommonarchivePackage.WAR_FILE__CONTAINER, msgs);
- case CommonarchivePackage.WAR_FILE__FILES :
- return ((InternalEList) getFiles()).basicRemove(otherEnd, msgs);
- default :
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
- if (eContainerFeatureID >= 0) {
- switch (eContainerFeatureID) {
- case CommonarchivePackage.WAR_FILE__CONTAINER :
- return eContainer.eInverseRemove(this, CommonarchivePackage.CONTAINER__FILES, Container.class, msgs);
- default :
- return eDynamicBasicRemoveFromContainer(msgs);
- }
- }
- return eContainer.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.WAR_FILE__URI :
- return getURI();
- case CommonarchivePackage.WAR_FILE__LAST_MODIFIED :
- return new Long(getLastModified());
- case CommonarchivePackage.WAR_FILE__SIZE :
- return new Long(getSize());
- case CommonarchivePackage.WAR_FILE__DIRECTORY_ENTRY :
- return isDirectoryEntry() ? Boolean.TRUE : Boolean.FALSE;
- case CommonarchivePackage.WAR_FILE__ORIGINAL_URI :
- return getOriginalURI();
- case CommonarchivePackage.WAR_FILE__LOADING_CONTAINER :
- if (resolve)
- return getLoadingContainer();
- return basicGetLoadingContainer();
- case CommonarchivePackage.WAR_FILE__CONTAINER :
- return getContainer();
- case CommonarchivePackage.WAR_FILE__FILES :
- return getFiles();
- case CommonarchivePackage.WAR_FILE__TYPES :
- return getTypes();
- case CommonarchivePackage.WAR_FILE__DEPLOYMENT_DESCRIPTOR :
- if (resolve)
- return getDeploymentDescriptor();
- return basicGetDeploymentDescriptor();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- public ClassLoader createDynamicClassLoader(ClassLoader parentCl, ClassLoader extraCl) {
- return new WarFileDynamicClassLoader(this, parentCl, extraCl);
- }
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/WebModuleRefImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/WebModuleRefImpl.java
deleted file mode 100644
index 17c5e4ee8..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/impl/WebModuleRefImpl.java
+++ /dev/null
@@ -1,197 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.impl;
-
-
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.jst.j2ee.application.Module;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ModuleFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ModuleRef;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.WebModuleRef;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.ArchiveWrappedException;
-import org.eclipse.jst.j2ee.webapplication.WebApp;
-
-
-public class WebModuleRefImpl extends ModuleRefImpl implements WebModuleRef, ModuleRef {
-
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected WebModuleRefImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- protected EClass eStaticClass() {
- return CommonarchivePackage.eINSTANCE.getWebModuleRef();
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case CommonarchivePackage.WEB_MODULE_REF__EAR_FILE :
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, CommonarchivePackage.WEB_MODULE_REF__EAR_FILE, msgs);
- default :
- return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
- }
- }
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case CommonarchivePackage.WEB_MODULE_REF__EAR_FILE :
- return eBasicSetContainer(null, CommonarchivePackage.WEB_MODULE_REF__EAR_FILE, msgs);
- default :
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
- if (eContainerFeatureID >= 0) {
- switch (eContainerFeatureID) {
- case CommonarchivePackage.WEB_MODULE_REF__EAR_FILE :
- return eContainer.eInverseRemove(this, CommonarchivePackage.EAR_FILE__MODULE_REFS, EARFile.class, msgs);
- default :
- return eDynamicBasicRemoveFromContainer(msgs);
- }
- }
- return eContainer.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.WEB_MODULE_REF__MODULE_FILE :
- if (resolve)
- return getModuleFile();
- return basicGetModuleFile();
- case CommonarchivePackage.WEB_MODULE_REF__EAR_FILE :
- return getEarFile();
- case CommonarchivePackage.WEB_MODULE_REF__MODULE :
- if (resolve)
- return getModule();
- return basicGetModule();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.WEB_MODULE_REF__MODULE_FILE :
- setModuleFile((ModuleFile) newValue);
- return;
- case CommonarchivePackage.WEB_MODULE_REF__EAR_FILE :
- setEarFile((EARFile) newValue);
- return;
- case CommonarchivePackage.WEB_MODULE_REF__MODULE :
- setModule((Module) newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.WEB_MODULE_REF__MODULE_FILE :
- setModuleFile((ModuleFile) null);
- return;
- case CommonarchivePackage.WEB_MODULE_REF__EAR_FILE :
- setEarFile((EARFile) null);
- return;
- case CommonarchivePackage.WEB_MODULE_REF__MODULE :
- setModule((Module) null);
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case CommonarchivePackage.WEB_MODULE_REF__MODULE_FILE :
- return moduleFile != null;
- case CommonarchivePackage.WEB_MODULE_REF__EAR_FILE :
- return getEarFile() != null;
- case CommonarchivePackage.WEB_MODULE_REF__MODULE :
- return module != null;
- }
- return eDynamicIsSet(eFeature);
- }
-
- /*
- * @see WebModuleRef#getWebApp()
- */
- public WebApp getWebApp() throws ArchiveWrappedException {
- return (WebApp) getDeploymentDescriptor();
- }
-
- /*
- * @see ModuleRef#isWeb()
- */
- public boolean isWeb() {
- return true;
- }
-
-} //WebModuleRefImpl
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/LooseApplication.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/LooseApplication.java
deleted file mode 100644
index 738464ae2..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/LooseApplication.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.looseconfig;
-
-
-
-import org.eclipse.emf.common.util.EList;
-
-
-public interface LooseApplication extends LooseArchive {
- /**
- * @generated This field/method will be replaced during code generation
- * @return The list of LooseArchives references
- */
- EList getLooseArchives();
-
-} //LooseApplication
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/LooseArchive.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/LooseArchive.java
deleted file mode 100644
index 2fb9bc734..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/LooseArchive.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.looseconfig;
-
-
-
-import org.eclipse.emf.ecore.EObject;
-
-
-public interface LooseArchive extends EObject {
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the Uri attribute
- */
- String getUri();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param value
- * The new value of the Uri attribute
- */
- void setUri(String value);
-
- boolean isEAR();
-
- boolean isWAR();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the BinariesPath attribute
- */
- String getBinariesPath();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param value
- * The new value of the BinariesPath attribute
- */
- void setBinariesPath(String value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the ResourcesPath attribute
- */
- String getResourcesPath();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param value
- * The new value of the ResourcesPath attribute
- */
- void setResourcesPath(String value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The LooseApp reference
- */
- LooseApplication getLooseApp();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param l
- * The new value of the LooseApp reference
- */
- void setLooseApp(LooseApplication value);
-
- boolean isModule();
-
-} //LooseArchive
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/LooseConfigRegister.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/LooseConfigRegister.java
deleted file mode 100644
index 530cdbe3b..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/LooseConfigRegister.java
+++ /dev/null
@@ -1,358 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.looseconfig;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-import org.eclipse.jst.j2ee.application.Module;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Container;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.ArchiveRuntimeException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.util.ArchiveUtil;
-import org.eclipse.wst.common.internal.emf.utilities.StringUtil;
-
-
-/**
- * Used internally for loose module support
- */
-public class LooseConfigRegister {
-
- /**
- * The system property used to specify the absolute path to the loose config document;
- * "was.loose.config"
- */
- public static final String LOOSE_CONFIG_PROPERTY = "was.loose.config"; //$NON-NLS-1$
-
- protected static LooseConfigRegister singleton;
-
- protected LooseConfiguration looseConfiguration;
-
- protected ResourceSet resourceSet;
-
- /** Have we previously loaded or tried to load the loose configuration? */
- protected boolean loadAttempted = false;
-
- private Map looseEarMap;
-
- /**
- * Constructor for LooseConfigRegister.
- */
- protected LooseConfigRegister() {
- super();
- initialize();
- }
-
- public static LooseConfigRegister singleton() {
- if (singleton == null)
- singleton = new LooseConfigRegister();
-
- return singleton;
- }
-
- /**
- * Searches for the ear file in the fluffed LooseConfiguration object, and attempts to load the
- * LooseApplication on demand from the existing mappings if it is not already loaded.
- *
- * @param earFileURI
- * @return
- */
- public LooseApplication findLooseApplication(String earFileURI) {
- // System.out.println(getClass().getName() + ".findLooseApplication(String
- // earFileURI=\""+earFileURI+"\")");
- if (getLooseConfiguration() != null) {
- List apps = getLooseConfiguration().getApplications();
- for (int i = 0; i < apps.size(); i++) {
- LooseApplication app = (LooseApplication) apps.get(i);
- // System.out.println(getClass().getName() + ".findLooseApplication():
- // app["+i+"].getURI()=\""+app.getUri()+"\"" );
- if (app.getUri().equals(earFileURI))
- return app;
- }
- }
- // System.out.println(getClass().getName() + ".findLooseApplication(): did not find loaded
- // LooseApplication, loading new value." );
- if (getDocumentURI() == null || getDocumentURI().trim().length() == 0) {
- URI looseConfig = (URI) getLooseEarMap().get(earFileURI);
- // System.out.println(getClass().getName() + ".findLooseApplication(): looseConfig URI
- // from map \""+looseConfig+"\"");
- LooseApplication application = loadLooseApplication(looseConfig);
- // System.out.println(getClass().getName() + ".findLooseApplication():
- // looseApplication="+application);
- if (application != null) {
- List modules = application.getLooseArchives();
- // System.out.println(getClass().getName() + ".findLooseApplication():
- // looseApplication contains " + modules.size() + " modules.");
- for (int i = 0; i < modules.size(); i++)
- // System.out.println(getClass().getName() + ".findLooseApplication():
- // modules.get("+i+"):"+ modules.get(i));
- getLooseConfiguration().getApplications().add(application);
- return application;
- }
- }
- return null;
- }
-
- /**
- * @param earFileURI
- * The containing EAR -- the absolute file system URI will be determined
- * automatically
- * @param looseApplicationResource
- * The absolute file system URI of a document containing a LooseApplication as its
- * root
- */
- public void addLooseMapping(Container container, String looseApplicationResource) {
- if (container != null)
- addLooseMapping(ArchiveUtil.getOSUri(container.getURI()), looseApplicationResource);
- }
-
- /**
- * @param earFileURI
- * The absolute file system URI of the EAR file of the given mapping
- * @param looseApplicationResource
- * The absolute file system URI of a document containing a LooseApplication as its
- * root
- */
- public void addLooseMapping(String earFileURI, String looseApplicationResource) {
- if (earFileURI != null) {
- // System.out.println(getClass().getName() + ".addLooseMapping(String
- // earFileURI=\""+earFileURI+"\", String
- // looseApplicationResource=\""+looseApplicationResource+"\")");
- if (getLooseEarMap().containsKey(earFileURI)) {
- // System.out.println(getClass().getName() + ".addLooseMapping(): Found existing key
- // with same earFileURI, looking for loaded app.");
- LooseApplication app = findLooseApplicationIfLoaded(earFileURI);
- // System.out.println(getClass().getName() + ".addLooseMapping(): Loaded app=" +
- // app);
- if (app != null) {
- Resource res = loadLooseApplicationResource(URI.createURI(looseApplicationResource));
- // System.out.println(getClass().getName() + ".addLooseMapping(): clearing
- // resource:" + res);
- res.unload();
- removeLooseApplication(app);
- }
- }
- getLooseEarMap().put(earFileURI, URI.createURI(looseApplicationResource));
- }
- }
-
- /**
- * @param earFileURI
- * @return
- */
- public LooseApplication findLooseApplicationIfLoaded(String earFileURI) {
- // System.out.println(getClass().getName() + ".findLooseApplicationIfLoaded(String
- // earFileURI=\""+earFileURI+"\")");
- if (getLooseConfiguration() != null) {
- List apps = getLooseConfiguration().getApplications();
- for (int i = 0; i < apps.size(); i++) {
- LooseApplication app = (LooseApplication) apps.get(i);
- // System.out.println(getClass().getName() + ".findLooseApplicationIfLoaded():
- // app["+i+"].getURI()=\""+app.getUri()+"\"" );
- if (app.getUri().equals(earFileURI))
- return app;
- }
- }
- return null;
- }
-
- /**
- * Allows adding LooseApplications dynmically.
- *
- * @param application
- * An application created and persisted by an external entity
- */
- public void addLooseApplication(LooseApplication application) {
- getLooseConfiguration().getApplications().add(application);
- }
-
- /**
- * Allows removing LooseApplications dynmically.
- *
- * @param application
- * An application created and persisted by an external entity
- */
- public void removeLooseApplication(LooseApplication application) {
- // System.out.println(getClass().getName() + ".removeLooseApplication(LooseApplication
- // application=\""+application+"\")");
- getLooseConfiguration().getApplications().remove(application);
- }
-
- /**
- * @param earFileURI
- * The absolute file system URI of the EAR file of the given mapping
- */
- public void removeLooseMapping(String earFileURI) {
- // System.out.println(getClass().getName() + ".removeLooseMapping(String
- // earFileURI=\""+earFileURI+"\")");
- if (earFileURI != null)
- getLooseEarMap().remove(earFileURI);
- }
-
- public LooseModule findLooseModule(LooseApplication app, String uri, String altDD) {
- List archives = app.getLooseArchives();
- for (int i = 0; i < archives.size(); i++) {
- LooseArchive element = (LooseArchive) archives.get(i);
- if (!element.isModule())
- continue;
-
- if (StringUtil.stringsEqual(uri, element.getUri()) && StringUtil.stringsEqual(altDD, ((LooseModule) element).getAltDD()))
- return (LooseModule) element;
- }
- return null;
- }
-
- public LooseModule findLooseModule(Module m, EARFile ear) {
- LooseApplication app = findLooseApplication(ear.getURI());
- return app == null ? null : findLooseModule(app, m.getUri(), m.getAltDD());
- }
-
- /**
- * Clears the loose configuration; the next time it is requested it will be reloaded;
- */
- public void flush() {
- loadAttempted = false;
- looseConfiguration = null;
- resourceSet = new ResourceSetImpl();
- }
-
- protected void initialize() {
- resourceSet = new ResourceSetImpl();
- }
-
- protected void loadLooseConfiguration() {
- Resource res = loadLooseConfigurationResource();
- if (res != null && !res.getContents().isEmpty())
- setLooseConfiguration((LooseConfiguration) res.getContents().get(0));
- else
- /*
- * if the document is empty then fluff up a LooseConfiguration object
- */
- setLooseConfiguration(LooseconfigFactory.eINSTANCE.createLooseConfiguration());
- loadAttempted = true;
- }
-
- protected Resource loadLooseConfigurationResource() {
- String uri = getDocumentURI();
- if (ArchiveUtil.isNullOrEmpty(uri))
- return null;
- try {
- return resourceSet.getResource(URI.createURI(uri), true);
- } catch (Exception ex) {
- throw new ArchiveRuntimeException("Exception occurred loading loose configuration", ex); //$NON-NLS-1$
- }
- }
-
- protected LooseApplication loadLooseApplication(URI looseAppURI) {
- Resource res = loadLooseApplicationResource(looseAppURI);
- if (res != null && !res.getContents().isEmpty())
- return (LooseApplication) res.getContents().get(0);
- return null;
- }
-
- protected Resource loadLooseApplicationResource(URI looseConfigURI) {
- if (looseConfigURI == null)
- return null;
- try {
- return resourceSet.getResource(looseConfigURI, true);
- } catch (Exception ex) {
- throw new ArchiveRuntimeException("Exception occurred loading loose application", ex); //$NON-NLS-1$
- }
- }
-
- /**
- * Gets the looseConfiguration. Basic accessor with no initialization
- *
- * @return Returns a LooseConfiguration
- */
- public LooseConfiguration primGetLooseConfiguration() {
- return looseConfiguration;
- }
-
- /** The value of the loose config property */
- protected String getDocumentURI() {
- return System.getProperty(LOOSE_CONFIG_PROPERTY);
- }
-
- /**
- * Gets the looseConfiguration. Tries to load it using the system property was.loose.config, if
- * necessary.
- *
- * @return Returns a LooseConfiguration or null
- */
- public LooseConfiguration getLooseConfiguration() {
- if (looseConfiguration == null && !loadAttempted)
- loadLooseConfiguration();
- return looseConfiguration;
- }
-
- /**
- * Assumption: the parameter must be a type that can have children, e.g., LooseWAR or
- * LooseApplication
- */
- public List getLooseChildren(LooseArchive loose) {
- if (loose != null) {
- if (loose.isEAR())
- return ((LooseApplication) loose).getLooseArchives();
- else if (loose.isWAR())
- return ((LooseWARFile) loose).getLooseLibs();
- }
- return Collections.EMPTY_LIST;
- }
-
- /**
- * Assumption: the parameter must be a type that can have children, e.g., LooseWAR or
- * LooseApplication
- */
- public LooseArchive findFirstLooseChild(String uri, LooseArchive loose) {
- List children = getLooseChildren(loose);
- for (int i = 0; i < children.size(); i++) {
- LooseArchive child = (LooseArchive) children.get(i);
- if (StringUtil.stringsEqual(uri, child.getUri()))
- return loose;
- }
- return null;
- }
-
- /**
- * Sets the looseConfiguration.
- *
- * @param looseConfiguration
- * The looseConfiguration to set
- */
- public void setLooseConfiguration(LooseConfiguration config) {
- looseConfiguration = config;
- }
-
- /**
- * Have we previously loaded or tried to load the loose configuration?
- *
- * @return Returns a boolean
- */
- public boolean getLoadAttempted() {
- return loadAttempted;
- }
-
- /**
- * @return Returns the looseEarMap.
- */
- public Map getLooseEarMap() {
- if (looseEarMap == null)
- looseEarMap = new HashMap();
- return looseEarMap;
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/LooseConfiguration.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/LooseConfiguration.java
deleted file mode 100644
index 67056494c..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/LooseConfiguration.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.looseconfig;
-
-
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-
-
-public interface LooseConfiguration extends EObject {
- /**
- * @generated This field/method will be replaced during code generation
- * @return The list of Applications references
- */
- EList getApplications();
-
-} //LooseConfiguration
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/LooseLibrary.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/LooseLibrary.java
deleted file mode 100644
index 9d3d86ca4..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/LooseLibrary.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.looseconfig;
-
-
-
-
-public interface LooseLibrary extends LooseArchive {
- /**
- * @generated This field/method will be replaced during code generation
- * @return The LooseWAR reference
- */
- LooseWARFile getLooseWAR();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param l
- * The new value of the LooseWAR reference
- */
- void setLooseWAR(LooseWARFile value);
-
-} //LooseLibrary
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/LooseModule.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/LooseModule.java
deleted file mode 100644
index 3f5b3913c..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/LooseModule.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.looseconfig;
-
-
-
-
-public interface LooseModule extends LooseArchive {
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the AltDD attribute
- */
- String getAltDD();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param value
- * The new value of the AltDD attribute
- */
- void setAltDD(String value);
-
-} //LooseModule
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/LooseWARFile.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/LooseWARFile.java
deleted file mode 100644
index 53b224adb..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/LooseWARFile.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.looseconfig;
-
-
-
-import org.eclipse.emf.common.util.EList;
-
-
-public interface LooseWARFile extends LooseModule {
- /**
- * @generated This field/method will be replaced during code generation
- * @return The list of LooseLibs references
- */
- EList getLooseLibs();
-
-} //LooseWARFile
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/LooseconfigFactory.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/LooseconfigFactory.java
deleted file mode 100644
index c6f94e7fe..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/LooseconfigFactory.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.looseconfig;
-
-
-import org.eclipse.emf.ecore.EFactory;
-
-
-public interface LooseconfigFactory extends EFactory {
- /**
- * The singleton instance of the factory. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- LooseconfigFactory eINSTANCE = new org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.impl.LooseconfigFactoryImpl();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return LooseApplication value
- */
- LooseApplication createLooseApplication();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return LooseLibrary value
- */
- LooseLibrary createLooseLibrary();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return LooseWARFile value
- */
- LooseWARFile createLooseWARFile();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return LooseModule value
- */
- LooseModule createLooseModule();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return LooseConfiguration value
- */
- LooseConfiguration createLooseConfiguration();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- LooseconfigPackage getLooseconfigPackage();
-
-} //LooseconfigFactory
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/LooseconfigPackage.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/LooseconfigPackage.java
deleted file mode 100644
index a4949c569..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/LooseconfigPackage.java
+++ /dev/null
@@ -1,334 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.looseconfig;
-
-
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-
-
-/**
- * @lastgen interface LooseconfigPackage extends EPackage {}
- */
-public interface LooseconfigPackage extends EPackage {
- /**
- * The package name. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- String eNAME = "looseconfig"; //$NON-NLS-1$
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
-
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int LOOSE_APPLICATION = 0;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int LOOSE_ARCHIVE = 1;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int LOOSE_ARCHIVE__URI = 0;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int LOOSE_ARCHIVE__BINARIES_PATH = 1;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int LOOSE_ARCHIVE__RESOURCES_PATH = 2;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int LOOSE_ARCHIVE__LOOSE_APP = 3;
-
- /**
- * The number of structural features of the the '<em>Loose Archive</em>' class. <!--
- * begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int LOOSE_ARCHIVE_FEATURE_COUNT = 4;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int LOOSE_APPLICATION__URI = LOOSE_ARCHIVE__URI;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int LOOSE_APPLICATION__BINARIES_PATH = LOOSE_ARCHIVE__BINARIES_PATH;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int LOOSE_APPLICATION__RESOURCES_PATH = LOOSE_ARCHIVE__RESOURCES_PATH;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int LOOSE_APPLICATION__LOOSE_APP = LOOSE_ARCHIVE__LOOSE_APP;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int LOOSE_APPLICATION__LOOSE_ARCHIVES = LOOSE_ARCHIVE_FEATURE_COUNT + 0;
- /**
- * The number of structural features of the the '<em>Loose Application</em>' class. <!--
- * begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int LOOSE_APPLICATION_FEATURE_COUNT = LOOSE_ARCHIVE_FEATURE_COUNT + 1;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int LOOSE_LIBRARY = 2;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int LOOSE_LIBRARY__URI = LOOSE_ARCHIVE__URI;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int LOOSE_LIBRARY__BINARIES_PATH = LOOSE_ARCHIVE__BINARIES_PATH;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int LOOSE_LIBRARY__RESOURCES_PATH = LOOSE_ARCHIVE__RESOURCES_PATH;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int LOOSE_LIBRARY__LOOSE_APP = LOOSE_ARCHIVE__LOOSE_APP;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int LOOSE_LIBRARY__LOOSE_WAR = LOOSE_ARCHIVE_FEATURE_COUNT + 0;
- /**
- * The number of structural features of the the '<em>Loose Library</em>' class. <!--
- * begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int LOOSE_LIBRARY_FEATURE_COUNT = LOOSE_ARCHIVE_FEATURE_COUNT + 1;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int LOOSE_WAR_FILE = 5;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int LOOSE_MODULE = 3;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int LOOSE_MODULE__URI = LOOSE_ARCHIVE__URI;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int LOOSE_MODULE__BINARIES_PATH = LOOSE_ARCHIVE__BINARIES_PATH;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int LOOSE_MODULE__RESOURCES_PATH = LOOSE_ARCHIVE__RESOURCES_PATH;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int LOOSE_MODULE__LOOSE_APP = LOOSE_ARCHIVE__LOOSE_APP;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int LOOSE_MODULE__ALT_DD = LOOSE_ARCHIVE_FEATURE_COUNT + 0;
- /**
- * The number of structural features of the the '<em>Loose Module</em>' class. <!--
- * begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int LOOSE_MODULE_FEATURE_COUNT = LOOSE_ARCHIVE_FEATURE_COUNT + 1;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int LOOSE_CONFIGURATION = 4;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int LOOSE_CONFIGURATION__APPLICATIONS = 0;
-
-
- /**
- * The number of structural features of the the '<em>Loose Configuration</em>' class. <!--
- * begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int LOOSE_CONFIGURATION_FEATURE_COUNT = 1;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int LOOSE_WAR_FILE__URI = LOOSE_MODULE__URI;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int LOOSE_WAR_FILE__BINARIES_PATH = LOOSE_MODULE__BINARIES_PATH;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int LOOSE_WAR_FILE__RESOURCES_PATH = LOOSE_MODULE__RESOURCES_PATH;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int LOOSE_WAR_FILE__LOOSE_APP = LOOSE_MODULE__LOOSE_APP;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int LOOSE_WAR_FILE__ALT_DD = LOOSE_MODULE__ALT_DD;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- int LOOSE_WAR_FILE__LOOSE_LIBS = LOOSE_MODULE_FEATURE_COUNT + 0;
- /**
- * The number of structural features of the the '<em>Loose WAR File</em>' class. <!--
- * begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int LOOSE_WAR_FILE_FEATURE_COUNT = LOOSE_MODULE_FEATURE_COUNT + 1;
-
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- String eNS_URI = "commonarchive.looseconfig.xmi"; //$NON-NLS-1$
- /**
- * The package namespace name. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- String eNS_PREFIX = "org.eclipse.jst.j2ee.internal.commonarchivecore.looseconfig"; //$NON-NLS-1$
-
- /**
- * The singleton instance of the package. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- LooseconfigPackage eINSTANCE = org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.impl.LooseconfigPackageImpl.init();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return LooseApplication object
- */
- EClass getLooseApplication();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EReference getLooseApplication_LooseArchives();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return LooseArchive object
- */
- EClass getLooseArchive();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EAttribute getLooseArchive_Uri();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EAttribute getLooseArchive_BinariesPath();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EAttribute getLooseArchive_ResourcesPath();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EReference getLooseArchive_LooseApp();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return LooseLibrary object
- */
- EClass getLooseLibrary();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EReference getLooseLibrary_LooseWAR();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return LooseWARFile object
- */
- EClass getLooseWARFile();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EReference getLooseWARFile_LooseLibs();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return LooseModule object
- */
- EClass getLooseModule();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EAttribute getLooseModule_AltDD();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return LooseConfiguration object
- */
- EClass getLooseConfiguration();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- EReference getLooseConfiguration_Applications();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- LooseconfigFactory getLooseconfigFactory();
-
-} //LooseconfigPackage
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/impl/LooseApplicationImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/impl/LooseApplicationImpl.java
deleted file mode 100644
index 0575f3e5b..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/impl/LooseApplicationImpl.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.looseconfig.impl;
-
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseApplication;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseArchive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseconfigPackage;
-
-public class LooseApplicationImpl extends LooseArchiveImpl implements LooseApplication, LooseArchive {
- /**
- * @generated This field/method will be replaced during code generation.
- */
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected EList looseArchives = null;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected LooseApplicationImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- protected EClass eStaticClass() {
- return LooseconfigPackage.eINSTANCE.getLooseApplication();
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- public EList getLooseArchives() {
- if (looseArchives == null) {
- looseArchives = new EObjectContainmentWithInverseEList(LooseArchive.class, this, LooseconfigPackage.LOOSE_APPLICATION__LOOSE_ARCHIVES, LooseconfigPackage.LOOSE_ARCHIVE__LOOSE_APP);
- }
- return looseArchives;
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case LooseconfigPackage.LOOSE_APPLICATION__LOOSE_APP :
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, LooseconfigPackage.LOOSE_APPLICATION__LOOSE_APP, msgs);
- case LooseconfigPackage.LOOSE_APPLICATION__LOOSE_ARCHIVES :
- return ((InternalEList) getLooseArchives()).basicAdd(otherEnd, msgs);
- default :
- return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
- }
- }
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case LooseconfigPackage.LOOSE_APPLICATION__LOOSE_APP :
- return eBasicSetContainer(null, LooseconfigPackage.LOOSE_APPLICATION__LOOSE_APP, msgs);
- case LooseconfigPackage.LOOSE_APPLICATION__LOOSE_ARCHIVES :
- return ((InternalEList) getLooseArchives()).basicRemove(otherEnd, msgs);
- default :
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
- if (eContainerFeatureID >= 0) {
- switch (eContainerFeatureID) {
- case LooseconfigPackage.LOOSE_APPLICATION__LOOSE_APP :
- return eContainer.eInverseRemove(this, LooseconfigPackage.LOOSE_APPLICATION__LOOSE_ARCHIVES, LooseApplication.class, msgs);
- default :
- return eDynamicBasicRemoveFromContainer(msgs);
- }
- }
- return eContainer.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case LooseconfigPackage.LOOSE_APPLICATION__URI :
- return getUri();
- case LooseconfigPackage.LOOSE_APPLICATION__BINARIES_PATH :
- return getBinariesPath();
- case LooseconfigPackage.LOOSE_APPLICATION__RESOURCES_PATH :
- return getResourcesPath();
- case LooseconfigPackage.LOOSE_APPLICATION__LOOSE_APP :
- return getLooseApp();
- case LooseconfigPackage.LOOSE_APPLICATION__LOOSE_ARCHIVES :
- return getLooseArchives();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case LooseconfigPackage.LOOSE_APPLICATION__URI :
- setUri((String) newValue);
- return;
- case LooseconfigPackage.LOOSE_APPLICATION__BINARIES_PATH :
- setBinariesPath((String) newValue);
- return;
- case LooseconfigPackage.LOOSE_APPLICATION__RESOURCES_PATH :
- setResourcesPath((String) newValue);
- return;
- case LooseconfigPackage.LOOSE_APPLICATION__LOOSE_APP :
- setLooseApp((LooseApplication) newValue);
- return;
- case LooseconfigPackage.LOOSE_APPLICATION__LOOSE_ARCHIVES :
- getLooseArchives().clear();
- getLooseArchives().addAll((Collection) newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case LooseconfigPackage.LOOSE_APPLICATION__URI :
- setUri(URI_EDEFAULT);
- return;
- case LooseconfigPackage.LOOSE_APPLICATION__BINARIES_PATH :
- setBinariesPath(BINARIES_PATH_EDEFAULT);
- return;
- case LooseconfigPackage.LOOSE_APPLICATION__RESOURCES_PATH :
- setResourcesPath(RESOURCES_PATH_EDEFAULT);
- return;
- case LooseconfigPackage.LOOSE_APPLICATION__LOOSE_APP :
- setLooseApp((LooseApplication) null);
- return;
- case LooseconfigPackage.LOOSE_APPLICATION__LOOSE_ARCHIVES :
- getLooseArchives().clear();
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case LooseconfigPackage.LOOSE_APPLICATION__URI :
- return URI_EDEFAULT == null ? uri != null : !URI_EDEFAULT.equals(uri);
- case LooseconfigPackage.LOOSE_APPLICATION__BINARIES_PATH :
- return BINARIES_PATH_EDEFAULT == null ? binariesPath != null : !BINARIES_PATH_EDEFAULT.equals(binariesPath);
- case LooseconfigPackage.LOOSE_APPLICATION__RESOURCES_PATH :
- return RESOURCES_PATH_EDEFAULT == null ? resourcesPath != null : !RESOURCES_PATH_EDEFAULT.equals(resourcesPath);
- case LooseconfigPackage.LOOSE_APPLICATION__LOOSE_APP :
- return getLooseApp() != null;
- case LooseconfigPackage.LOOSE_APPLICATION__LOOSE_ARCHIVES :
- return looseArchives != null && !looseArchives.isEmpty();
- }
- return eDynamicIsSet(eFeature);
- }
-
- public boolean isEAR() {
- return true;
- }
-
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/impl/LooseArchiveImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/impl/LooseArchiveImpl.java
deleted file mode 100644
index 0449059dc..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/impl/LooseArchiveImpl.java
+++ /dev/null
@@ -1,335 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.looseconfig.impl;
-
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseApplication;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseArchive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseconfigPackage;
-
-public class LooseArchiveImpl extends EObjectImpl implements LooseArchive, EObject {
- /**
- * The default value of the '{@link #getUri() <em>Uri</em>}' attribute. <!-- begin-user-doc
- * --> <!-- end-user-doc -->
- *
- * @see #getUri()
- * @generated
- * @ordered
- */
- protected static final String URI_EDEFAULT = null;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected String uri = URI_EDEFAULT;
- /**
- * The default value of the '{@link #getBinariesPath() <em>Binaries Path</em>}' attribute.
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @see #getBinariesPath()
- * @generated
- * @ordered
- */
- protected static final String BINARIES_PATH_EDEFAULT = null;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected String binariesPath = BINARIES_PATH_EDEFAULT;
- /**
- * The default value of the '{@link #getResourcesPath() <em>Resources Path</em>}' attribute.
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @see #getResourcesPath()
- * @generated
- * @ordered
- */
- protected static final String RESOURCES_PATH_EDEFAULT = null;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected String resourcesPath = RESOURCES_PATH_EDEFAULT;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected LooseArchiveImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- protected EClass eStaticClass() {
- return LooseconfigPackage.eINSTANCE.getLooseArchive();
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- public String getUri() {
- return uri;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void setUri(String newUri) {
- String oldUri = uri;
- uri = newUri;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, LooseconfigPackage.LOOSE_ARCHIVE__URI, oldUri, uri));
- }
-
- public boolean isEAR() {
- return false;
- }
-
- public boolean isWAR() {
- return false;
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- public String getBinariesPath() {
- return binariesPath;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void setBinariesPath(String newBinariesPath) {
- String oldBinariesPath = binariesPath;
- binariesPath = newBinariesPath;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, LooseconfigPackage.LOOSE_ARCHIVE__BINARIES_PATH, oldBinariesPath, binariesPath));
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- public String getResourcesPath() {
- return resourcesPath;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void setResourcesPath(String newResourcesPath) {
- String oldResourcesPath = resourcesPath;
- resourcesPath = newResourcesPath;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, LooseconfigPackage.LOOSE_ARCHIVE__RESOURCES_PATH, oldResourcesPath, resourcesPath));
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- public LooseApplication getLooseApp() {
- if (eContainerFeatureID != LooseconfigPackage.LOOSE_ARCHIVE__LOOSE_APP)
- return null;
- return (LooseApplication) eContainer;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void setLooseApp(LooseApplication newLooseApp) {
- if (newLooseApp != eContainer || (eContainerFeatureID != LooseconfigPackage.LOOSE_ARCHIVE__LOOSE_APP && newLooseApp != null)) {
- if (EcoreUtil.isAncestor(this, newLooseApp))
- throw new IllegalArgumentException("Recursive containment not allowed for " + toString()); //$NON-NLS-1$
- NotificationChain msgs = null;
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- if (newLooseApp != null)
- msgs = ((InternalEObject) newLooseApp).eInverseAdd(this, LooseconfigPackage.LOOSE_APPLICATION__LOOSE_ARCHIVES, LooseApplication.class, msgs);
- msgs = eBasicSetContainer((InternalEObject) newLooseApp, LooseconfigPackage.LOOSE_ARCHIVE__LOOSE_APP, msgs);
- if (msgs != null)
- msgs.dispatch();
- } else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, LooseconfigPackage.LOOSE_ARCHIVE__LOOSE_APP, newLooseApp, newLooseApp));
- }
-
- public boolean isModule() {
- return false;
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case LooseconfigPackage.LOOSE_ARCHIVE__LOOSE_APP :
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, LooseconfigPackage.LOOSE_ARCHIVE__LOOSE_APP, msgs);
- default :
- return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
- }
- }
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case LooseconfigPackage.LOOSE_ARCHIVE__LOOSE_APP :
- return eBasicSetContainer(null, LooseconfigPackage.LOOSE_ARCHIVE__LOOSE_APP, msgs);
- default :
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
- if (eContainerFeatureID >= 0) {
- switch (eContainerFeatureID) {
- case LooseconfigPackage.LOOSE_ARCHIVE__LOOSE_APP :
- return eContainer.eInverseRemove(this, LooseconfigPackage.LOOSE_APPLICATION__LOOSE_ARCHIVES, LooseApplication.class, msgs);
- default :
- return eDynamicBasicRemoveFromContainer(msgs);
- }
- }
- return eContainer.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case LooseconfigPackage.LOOSE_ARCHIVE__URI :
- return getUri();
- case LooseconfigPackage.LOOSE_ARCHIVE__BINARIES_PATH :
- return getBinariesPath();
- case LooseconfigPackage.LOOSE_ARCHIVE__RESOURCES_PATH :
- return getResourcesPath();
- case LooseconfigPackage.LOOSE_ARCHIVE__LOOSE_APP :
- return getLooseApp();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case LooseconfigPackage.LOOSE_ARCHIVE__URI :
- return URI_EDEFAULT == null ? uri != null : !URI_EDEFAULT.equals(uri);
- case LooseconfigPackage.LOOSE_ARCHIVE__BINARIES_PATH :
- return BINARIES_PATH_EDEFAULT == null ? binariesPath != null : !BINARIES_PATH_EDEFAULT.equals(binariesPath);
- case LooseconfigPackage.LOOSE_ARCHIVE__RESOURCES_PATH :
- return RESOURCES_PATH_EDEFAULT == null ? resourcesPath != null : !RESOURCES_PATH_EDEFAULT.equals(resourcesPath);
- case LooseconfigPackage.LOOSE_ARCHIVE__LOOSE_APP :
- return getLooseApp() != null;
- }
- return eDynamicIsSet(eFeature);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case LooseconfigPackage.LOOSE_ARCHIVE__URI :
- setUri((String) newValue);
- return;
- case LooseconfigPackage.LOOSE_ARCHIVE__BINARIES_PATH :
- setBinariesPath((String) newValue);
- return;
- case LooseconfigPackage.LOOSE_ARCHIVE__RESOURCES_PATH :
- setResourcesPath((String) newValue);
- return;
- case LooseconfigPackage.LOOSE_ARCHIVE__LOOSE_APP :
- setLooseApp((LooseApplication) newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case LooseconfigPackage.LOOSE_ARCHIVE__URI :
- setUri(URI_EDEFAULT);
- return;
- case LooseconfigPackage.LOOSE_ARCHIVE__BINARIES_PATH :
- setBinariesPath(BINARIES_PATH_EDEFAULT);
- return;
- case LooseconfigPackage.LOOSE_ARCHIVE__RESOURCES_PATH :
- setResourcesPath(RESOURCES_PATH_EDEFAULT);
- return;
- case LooseconfigPackage.LOOSE_ARCHIVE__LOOSE_APP :
- setLooseApp((LooseApplication) null);
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public String toString() {
- if (eIsProxy())
- return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (uri: "); //$NON-NLS-1$
- result.append(uri);
- result.append(", binariesPath: "); //$NON-NLS-1$
- result.append(binariesPath);
- result.append(", resourcesPath: "); //$NON-NLS-1$
- result.append(resourcesPath);
- result.append(')');
- return result.toString();
- }
-
-} //LooseArchiveImpl
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/impl/LooseConfigurationImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/impl/LooseConfigurationImpl.java
deleted file mode 100644
index 880a318b7..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/impl/LooseConfigurationImpl.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.looseconfig.impl;
-
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseApplication;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseConfiguration;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseconfigPackage;
-
-
-public class LooseConfigurationImpl extends EObjectImpl implements LooseConfiguration, EObject {
- /**
- * @generated This field/method will be replaced during code generation.
- */
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected EList applications = null;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected LooseConfigurationImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- protected EClass eStaticClass() {
- return LooseconfigPackage.eINSTANCE.getLooseConfiguration();
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- public EList getApplications() {
- if (applications == null) {
- applications = new EObjectContainmentEList(LooseApplication.class, this, LooseconfigPackage.LOOSE_CONFIGURATION__APPLICATIONS);
- }
- return applications;
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case LooseconfigPackage.LOOSE_CONFIGURATION__APPLICATIONS :
- return ((InternalEList) getApplications()).basicRemove(otherEnd, msgs);
- default :
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case LooseconfigPackage.LOOSE_CONFIGURATION__APPLICATIONS :
- return getApplications();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case LooseconfigPackage.LOOSE_CONFIGURATION__APPLICATIONS :
- getApplications().clear();
- getApplications().addAll((Collection) newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case LooseconfigPackage.LOOSE_CONFIGURATION__APPLICATIONS :
- getApplications().clear();
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case LooseconfigPackage.LOOSE_CONFIGURATION__APPLICATIONS :
- return applications != null && !applications.isEmpty();
- }
- return eDynamicIsSet(eFeature);
- }
-
-} //LooseConfigurationImpl
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/impl/LooseLibraryImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/impl/LooseLibraryImpl.java
deleted file mode 100644
index 5485f541c..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/impl/LooseLibraryImpl.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.looseconfig.impl;
-
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseApplication;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseArchive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseLibrary;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseWARFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseconfigPackage;
-
-
-public class LooseLibraryImpl extends LooseArchiveImpl implements LooseLibrary, LooseArchive {
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected LooseLibraryImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- protected EClass eStaticClass() {
- return LooseconfigPackage.eINSTANCE.getLooseLibrary();
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- public LooseWARFile getLooseWAR() {
- if (eContainerFeatureID != LooseconfigPackage.LOOSE_LIBRARY__LOOSE_WAR)
- return null;
- return (LooseWARFile) eContainer;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void setLooseWAR(LooseWARFile newLooseWAR) {
- if (newLooseWAR != eContainer || (eContainerFeatureID != LooseconfigPackage.LOOSE_LIBRARY__LOOSE_WAR && newLooseWAR != null)) {
- if (EcoreUtil.isAncestor(this, newLooseWAR))
- throw new IllegalArgumentException("Recursive containment not allowed for " + toString()); //$NON-NLS-1$
- NotificationChain msgs = null;
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- if (newLooseWAR != null)
- msgs = ((InternalEObject) newLooseWAR).eInverseAdd(this, LooseconfigPackage.LOOSE_WAR_FILE__LOOSE_LIBS, LooseWARFile.class, msgs);
- msgs = eBasicSetContainer((InternalEObject) newLooseWAR, LooseconfigPackage.LOOSE_LIBRARY__LOOSE_WAR, msgs);
- if (msgs != null)
- msgs.dispatch();
- } else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, LooseconfigPackage.LOOSE_LIBRARY__LOOSE_WAR, newLooseWAR, newLooseWAR));
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case LooseconfigPackage.LOOSE_LIBRARY__LOOSE_APP :
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, LooseconfigPackage.LOOSE_LIBRARY__LOOSE_APP, msgs);
- case LooseconfigPackage.LOOSE_LIBRARY__LOOSE_WAR :
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, LooseconfigPackage.LOOSE_LIBRARY__LOOSE_WAR, msgs);
- default :
- return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
- }
- }
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case LooseconfigPackage.LOOSE_LIBRARY__LOOSE_APP :
- return eBasicSetContainer(null, LooseconfigPackage.LOOSE_LIBRARY__LOOSE_APP, msgs);
- case LooseconfigPackage.LOOSE_LIBRARY__LOOSE_WAR :
- return eBasicSetContainer(null, LooseconfigPackage.LOOSE_LIBRARY__LOOSE_WAR, msgs);
- default :
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
- if (eContainerFeatureID >= 0) {
- switch (eContainerFeatureID) {
- case LooseconfigPackage.LOOSE_LIBRARY__LOOSE_APP :
- return eContainer.eInverseRemove(this, LooseconfigPackage.LOOSE_APPLICATION__LOOSE_ARCHIVES, LooseApplication.class, msgs);
- case LooseconfigPackage.LOOSE_LIBRARY__LOOSE_WAR :
- return eContainer.eInverseRemove(this, LooseconfigPackage.LOOSE_WAR_FILE__LOOSE_LIBS, LooseWARFile.class, msgs);
- default :
- return eDynamicBasicRemoveFromContainer(msgs);
- }
- }
- return eContainer.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case LooseconfigPackage.LOOSE_LIBRARY__URI :
- return getUri();
- case LooseconfigPackage.LOOSE_LIBRARY__BINARIES_PATH :
- return getBinariesPath();
- case LooseconfigPackage.LOOSE_LIBRARY__RESOURCES_PATH :
- return getResourcesPath();
- case LooseconfigPackage.LOOSE_LIBRARY__LOOSE_APP :
- return getLooseApp();
- case LooseconfigPackage.LOOSE_LIBRARY__LOOSE_WAR :
- return getLooseWAR();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case LooseconfigPackage.LOOSE_LIBRARY__URI :
- return URI_EDEFAULT == null ? uri != null : !URI_EDEFAULT.equals(uri);
- case LooseconfigPackage.LOOSE_LIBRARY__BINARIES_PATH :
- return BINARIES_PATH_EDEFAULT == null ? binariesPath != null : !BINARIES_PATH_EDEFAULT.equals(binariesPath);
- case LooseconfigPackage.LOOSE_LIBRARY__RESOURCES_PATH :
- return RESOURCES_PATH_EDEFAULT == null ? resourcesPath != null : !RESOURCES_PATH_EDEFAULT.equals(resourcesPath);
- case LooseconfigPackage.LOOSE_LIBRARY__LOOSE_APP :
- return getLooseApp() != null;
- case LooseconfigPackage.LOOSE_LIBRARY__LOOSE_WAR :
- return getLooseWAR() != null;
- }
- return eDynamicIsSet(eFeature);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case LooseconfigPackage.LOOSE_LIBRARY__URI :
- setUri((String) newValue);
- return;
- case LooseconfigPackage.LOOSE_LIBRARY__BINARIES_PATH :
- setBinariesPath((String) newValue);
- return;
- case LooseconfigPackage.LOOSE_LIBRARY__RESOURCES_PATH :
- setResourcesPath((String) newValue);
- return;
- case LooseconfigPackage.LOOSE_LIBRARY__LOOSE_APP :
- setLooseApp((LooseApplication) newValue);
- return;
- case LooseconfigPackage.LOOSE_LIBRARY__LOOSE_WAR :
- setLooseWAR((LooseWARFile) newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case LooseconfigPackage.LOOSE_LIBRARY__URI :
- setUri(URI_EDEFAULT);
- return;
- case LooseconfigPackage.LOOSE_LIBRARY__BINARIES_PATH :
- setBinariesPath(BINARIES_PATH_EDEFAULT);
- return;
- case LooseconfigPackage.LOOSE_LIBRARY__RESOURCES_PATH :
- setResourcesPath(RESOURCES_PATH_EDEFAULT);
- return;
- case LooseconfigPackage.LOOSE_LIBRARY__LOOSE_APP :
- setLooseApp((LooseApplication) null);
- return;
- case LooseconfigPackage.LOOSE_LIBRARY__LOOSE_WAR :
- setLooseWAR((LooseWARFile) null);
- return;
- }
- eDynamicUnset(eFeature);
- }
-
-} //LooseLibraryImpl
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/impl/LooseModuleImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/impl/LooseModuleImpl.java
deleted file mode 100644
index b9463c4a4..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/impl/LooseModuleImpl.java
+++ /dev/null
@@ -1,237 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.looseconfig.impl;
-
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseApplication;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseArchive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseModule;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseconfigPackage;
-
-public class LooseModuleImpl extends LooseArchiveImpl implements LooseModule, LooseArchive {
- /**
- * The default value of the '{@link #getAltDD() <em>Alt DD</em>}' attribute. <!--
- * begin-user-doc --> <!-- end-user-doc -->
- *
- * @see #getAltDD()
- * @generated
- * @ordered
- */
- protected static final String ALT_DD_EDEFAULT = null;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected String altDD = ALT_DD_EDEFAULT;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected LooseModuleImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- protected EClass eStaticClass() {
- return LooseconfigPackage.eINSTANCE.getLooseModule();
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- public String getAltDD() {
- return altDD;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void setAltDD(String newAltDD) {
- String oldAltDD = altDD;
- altDD = newAltDD;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, LooseconfigPackage.LOOSE_MODULE__ALT_DD, oldAltDD, altDD));
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case LooseconfigPackage.LOOSE_MODULE__LOOSE_APP :
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, LooseconfigPackage.LOOSE_MODULE__LOOSE_APP, msgs);
- default :
- return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
- }
- }
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case LooseconfigPackage.LOOSE_MODULE__LOOSE_APP :
- return eBasicSetContainer(null, LooseconfigPackage.LOOSE_MODULE__LOOSE_APP, msgs);
- default :
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
- if (eContainerFeatureID >= 0) {
- switch (eContainerFeatureID) {
- case LooseconfigPackage.LOOSE_MODULE__LOOSE_APP :
- return eContainer.eInverseRemove(this, LooseconfigPackage.LOOSE_APPLICATION__LOOSE_ARCHIVES, LooseApplication.class, msgs);
- default :
- return eDynamicBasicRemoveFromContainer(msgs);
- }
- }
- return eContainer.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case LooseconfigPackage.LOOSE_MODULE__URI :
- return getUri();
- case LooseconfigPackage.LOOSE_MODULE__BINARIES_PATH :
- return getBinariesPath();
- case LooseconfigPackage.LOOSE_MODULE__RESOURCES_PATH :
- return getResourcesPath();
- case LooseconfigPackage.LOOSE_MODULE__LOOSE_APP :
- return getLooseApp();
- case LooseconfigPackage.LOOSE_MODULE__ALT_DD :
- return getAltDD();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case LooseconfigPackage.LOOSE_MODULE__URI :
- return URI_EDEFAULT == null ? uri != null : !URI_EDEFAULT.equals(uri);
- case LooseconfigPackage.LOOSE_MODULE__BINARIES_PATH :
- return BINARIES_PATH_EDEFAULT == null ? binariesPath != null : !BINARIES_PATH_EDEFAULT.equals(binariesPath);
- case LooseconfigPackage.LOOSE_MODULE__RESOURCES_PATH :
- return RESOURCES_PATH_EDEFAULT == null ? resourcesPath != null : !RESOURCES_PATH_EDEFAULT.equals(resourcesPath);
- case LooseconfigPackage.LOOSE_MODULE__LOOSE_APP :
- return getLooseApp() != null;
- case LooseconfigPackage.LOOSE_MODULE__ALT_DD :
- return ALT_DD_EDEFAULT == null ? altDD != null : !ALT_DD_EDEFAULT.equals(altDD);
- }
- return eDynamicIsSet(eFeature);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case LooseconfigPackage.LOOSE_MODULE__URI :
- setUri((String) newValue);
- return;
- case LooseconfigPackage.LOOSE_MODULE__BINARIES_PATH :
- setBinariesPath((String) newValue);
- return;
- case LooseconfigPackage.LOOSE_MODULE__RESOURCES_PATH :
- setResourcesPath((String) newValue);
- return;
- case LooseconfigPackage.LOOSE_MODULE__LOOSE_APP :
- setLooseApp((LooseApplication) newValue);
- return;
- case LooseconfigPackage.LOOSE_MODULE__ALT_DD :
- setAltDD((String) newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case LooseconfigPackage.LOOSE_MODULE__URI :
- setUri(URI_EDEFAULT);
- return;
- case LooseconfigPackage.LOOSE_MODULE__BINARIES_PATH :
- setBinariesPath(BINARIES_PATH_EDEFAULT);
- return;
- case LooseconfigPackage.LOOSE_MODULE__RESOURCES_PATH :
- setResourcesPath(RESOURCES_PATH_EDEFAULT);
- return;
- case LooseconfigPackage.LOOSE_MODULE__LOOSE_APP :
- setLooseApp((LooseApplication) null);
- return;
- case LooseconfigPackage.LOOSE_MODULE__ALT_DD :
- setAltDD(ALT_DD_EDEFAULT);
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public String toString() {
- if (eIsProxy())
- return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (altDD: "); //$NON-NLS-1$
- result.append(altDD);
- result.append(')');
- return result.toString();
- }
-
-} //LooseModuleImpl
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/impl/LooseWARFileImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/impl/LooseWARFileImpl.java
deleted file mode 100644
index 7aa670b2a..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/impl/LooseWARFileImpl.java
+++ /dev/null
@@ -1,236 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.looseconfig.impl;
-
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseApplication;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseLibrary;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseModule;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseWARFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseconfigPackage;
-
-
-public class LooseWARFileImpl extends LooseModuleImpl implements LooseWARFile, LooseModule {
- /**
- * @generated This field/method will be replaced during code generation.
- */
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected EList looseLibs = null;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected LooseWARFileImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- protected EClass eStaticClass() {
- return LooseconfigPackage.eINSTANCE.getLooseWARFile();
- }
-
- public boolean isWAR() {
- return true;
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- public EList getLooseLibs() {
- if (looseLibs == null) {
- looseLibs = new EObjectContainmentWithInverseEList(LooseLibrary.class, this, LooseconfigPackage.LOOSE_WAR_FILE__LOOSE_LIBS, LooseconfigPackage.LOOSE_LIBRARY__LOOSE_WAR);
- }
- return looseLibs;
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case LooseconfigPackage.LOOSE_WAR_FILE__LOOSE_APP :
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, LooseconfigPackage.LOOSE_WAR_FILE__LOOSE_APP, msgs);
- case LooseconfigPackage.LOOSE_WAR_FILE__LOOSE_LIBS :
- return ((InternalEList) getLooseLibs()).basicAdd(otherEnd, msgs);
- default :
- return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
- }
- }
- if (eContainer != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case LooseconfigPackage.LOOSE_WAR_FILE__LOOSE_APP :
- return eBasicSetContainer(null, LooseconfigPackage.LOOSE_WAR_FILE__LOOSE_APP, msgs);
- case LooseconfigPackage.LOOSE_WAR_FILE__LOOSE_LIBS :
- return ((InternalEList) getLooseLibs()).basicRemove(otherEnd, msgs);
- default :
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
- if (eContainerFeatureID >= 0) {
- switch (eContainerFeatureID) {
- case LooseconfigPackage.LOOSE_WAR_FILE__LOOSE_APP :
- return eContainer.eInverseRemove(this, LooseconfigPackage.LOOSE_APPLICATION__LOOSE_ARCHIVES, LooseApplication.class, msgs);
- default :
- return eDynamicBasicRemoveFromContainer(msgs);
- }
- }
- return eContainer.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case LooseconfigPackage.LOOSE_WAR_FILE__URI :
- return getUri();
- case LooseconfigPackage.LOOSE_WAR_FILE__BINARIES_PATH :
- return getBinariesPath();
- case LooseconfigPackage.LOOSE_WAR_FILE__RESOURCES_PATH :
- return getResourcesPath();
- case LooseconfigPackage.LOOSE_WAR_FILE__LOOSE_APP :
- return getLooseApp();
- case LooseconfigPackage.LOOSE_WAR_FILE__ALT_DD :
- return getAltDD();
- case LooseconfigPackage.LOOSE_WAR_FILE__LOOSE_LIBS :
- return getLooseLibs();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case LooseconfigPackage.LOOSE_WAR_FILE__URI :
- setUri((String) newValue);
- return;
- case LooseconfigPackage.LOOSE_WAR_FILE__BINARIES_PATH :
- setBinariesPath((String) newValue);
- return;
- case LooseconfigPackage.LOOSE_WAR_FILE__RESOURCES_PATH :
- setResourcesPath((String) newValue);
- return;
- case LooseconfigPackage.LOOSE_WAR_FILE__LOOSE_APP :
- setLooseApp((LooseApplication) newValue);
- return;
- case LooseconfigPackage.LOOSE_WAR_FILE__ALT_DD :
- setAltDD((String) newValue);
- return;
- case LooseconfigPackage.LOOSE_WAR_FILE__LOOSE_LIBS :
- getLooseLibs().clear();
- getLooseLibs().addAll((Collection) newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case LooseconfigPackage.LOOSE_WAR_FILE__URI :
- setUri(URI_EDEFAULT);
- return;
- case LooseconfigPackage.LOOSE_WAR_FILE__BINARIES_PATH :
- setBinariesPath(BINARIES_PATH_EDEFAULT);
- return;
- case LooseconfigPackage.LOOSE_WAR_FILE__RESOURCES_PATH :
- setResourcesPath(RESOURCES_PATH_EDEFAULT);
- return;
- case LooseconfigPackage.LOOSE_WAR_FILE__LOOSE_APP :
- setLooseApp((LooseApplication) null);
- return;
- case LooseconfigPackage.LOOSE_WAR_FILE__ALT_DD :
- setAltDD(ALT_DD_EDEFAULT);
- return;
- case LooseconfigPackage.LOOSE_WAR_FILE__LOOSE_LIBS :
- getLooseLibs().clear();
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case LooseconfigPackage.LOOSE_WAR_FILE__URI :
- return URI_EDEFAULT == null ? uri != null : !URI_EDEFAULT.equals(uri);
- case LooseconfigPackage.LOOSE_WAR_FILE__BINARIES_PATH :
- return BINARIES_PATH_EDEFAULT == null ? binariesPath != null : !BINARIES_PATH_EDEFAULT.equals(binariesPath);
- case LooseconfigPackage.LOOSE_WAR_FILE__RESOURCES_PATH :
- return RESOURCES_PATH_EDEFAULT == null ? resourcesPath != null : !RESOURCES_PATH_EDEFAULT.equals(resourcesPath);
- case LooseconfigPackage.LOOSE_WAR_FILE__LOOSE_APP :
- return getLooseApp() != null;
- case LooseconfigPackage.LOOSE_WAR_FILE__ALT_DD :
- return ALT_DD_EDEFAULT == null ? altDD != null : !ALT_DD_EDEFAULT.equals(altDD);
- case LooseconfigPackage.LOOSE_WAR_FILE__LOOSE_LIBS :
- return looseLibs != null && !looseLibs.isEmpty();
- }
- return eDynamicIsSet(eFeature);
- }
-
-} //LooseWARFileImpl
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/impl/LooseconfigFactoryImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/impl/LooseconfigFactoryImpl.java
deleted file mode 100644
index 6ed7676fe..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/impl/LooseconfigFactoryImpl.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.looseconfig.impl;
-
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EFactory;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.impl.EFactoryImpl;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseApplication;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseConfiguration;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseLibrary;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseModule;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseWARFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseconfigFactory;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseconfigPackage;
-
-
-public class LooseconfigFactoryImpl extends EFactoryImpl implements LooseconfigFactory, EFactory {
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public LooseconfigFactoryImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EObject create(EClass eClass) {
- switch (eClass.getClassifierID()) {
- case LooseconfigPackage.LOOSE_APPLICATION :
- return createLooseApplication();
- case LooseconfigPackage.LOOSE_LIBRARY :
- return createLooseLibrary();
- case LooseconfigPackage.LOOSE_MODULE :
- return createLooseModule();
- case LooseconfigPackage.LOOSE_CONFIGURATION :
- return createLooseConfiguration();
- case LooseconfigPackage.LOOSE_WAR_FILE :
- return createLooseWARFile();
- default :
- throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public LooseApplication createLooseApplication() {
- LooseApplicationImpl looseApplication = new LooseApplicationImpl();
- return looseApplication;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public LooseLibrary createLooseLibrary() {
- LooseLibraryImpl looseLibrary = new LooseLibraryImpl();
- return looseLibrary;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public LooseWARFile createLooseWARFile() {
- LooseWARFileImpl looseWARFile = new LooseWARFileImpl();
- return looseWARFile;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public LooseModule createLooseModule() {
- LooseModuleImpl looseModule = new LooseModuleImpl();
- return looseModule;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public LooseConfiguration createLooseConfiguration() {
- LooseConfigurationImpl looseConfiguration = new LooseConfigurationImpl();
- return looseConfiguration;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public LooseconfigPackage getLooseconfigPackage() {
- return (LooseconfigPackage) getEPackage();
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public static LooseconfigPackage getPackage() {
- return LooseconfigPackage.eINSTANCE;
- }
-
-} //LooseconfigFactoryImpl
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/impl/LooseconfigPackageImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/impl/LooseconfigPackageImpl.java
deleted file mode 100644
index 6de7641df..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/impl/LooseconfigPackageImpl.java
+++ /dev/null
@@ -1,349 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.looseconfig.impl;
-
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.impl.EPackageImpl;
-import org.eclipse.emf.ecore.impl.EcorePackageImpl;
-import org.eclipse.jem.java.impl.JavaRefPackageImpl;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.impl.CommonarchivePackageImpl;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseApplication;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseArchive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseConfiguration;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseLibrary;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseModule;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseWARFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseconfigFactory;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseconfigPackage;
-import org.eclipse.jst.j2ee.internal.application.impl.ApplicationPackageImpl;
-import org.eclipse.jst.j2ee.internal.client.impl.ClientPackageImpl;
-import org.eclipse.jst.j2ee.internal.common.impl.CommonPackageImpl;
-import org.eclipse.jst.j2ee.internal.ejb.impl.EjbPackageImpl;
-import org.eclipse.jst.j2ee.internal.jca.impl.JcaPackageImpl;
-import org.eclipse.jst.j2ee.internal.jsp.impl.JspPackageImpl;
-import org.eclipse.jst.j2ee.internal.webapplication.impl.WebapplicationPackageImpl;
-import org.eclipse.jst.j2ee.webservice.internal.wsclient.impl.Webservice_clientPackageImpl;
-
-
-/**
- * @lastgen class LooseconfigPackageImpl extends EPackageImpl implements LooseconfigPackage,
- * EPackage {}
- */
-public class LooseconfigPackageImpl extends EPackageImpl implements LooseconfigPackage {
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- private EClass looseApplicationEClass = null;
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- private EClass looseArchiveEClass = null;
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- private EClass looseLibraryEClass = null;
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- private EClass looseModuleEClass = null;
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- private EClass looseConfigurationEClass = null;
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- private EClass looseWARFileEClass = null;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- private LooseconfigPackageImpl() {
- super(eNS_URI, LooseconfigFactory.eINSTANCE);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- private static boolean isInited = false;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public static LooseconfigPackage init() {
- if (isInited)
- return (LooseconfigPackage) EPackage.Registry.INSTANCE.getEPackage(LooseconfigPackage.eNS_URI);
-
- // Obtain or create and register package.
- LooseconfigPackageImpl theLooseconfigPackage = (LooseconfigPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(eNS_URI) instanceof EPackage ? EPackage.Registry.INSTANCE.getEPackage(eNS_URI) : new LooseconfigPackageImpl());
-
- isInited = true;
-
- // Initialize simple dependencies
- JcaPackageImpl.init();
- Webservice_clientPackageImpl.init();
- EcorePackageImpl.init();
- JavaRefPackageImpl.init();
- CommonPackageImpl.init();
- ClientPackageImpl.init();
- WebapplicationPackageImpl.init();
- EjbPackageImpl.init();
- JspPackageImpl.init();
- ApplicationPackageImpl.init();
-
- // Obtain or create and register interdependencies
- CommonarchivePackageImpl theCommonarchivePackage = (CommonarchivePackageImpl) (EPackage.Registry.INSTANCE.getEPackage(CommonarchivePackage.eNS_URI) instanceof EPackage ? EPackage.Registry.INSTANCE.getEPackage(CommonarchivePackage.eNS_URI) : CommonarchivePackage.eINSTANCE);
-
- // Step 1: create meta-model objects
- theLooseconfigPackage.createPackageContents();
- theCommonarchivePackage.createPackageContents();
-
- // Step 2: complete initialization
- theLooseconfigPackage.initializePackageContents();
- theCommonarchivePackage.initializePackageContents();
-
- return theLooseconfigPackage;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EClass getLooseApplication() {
- return looseApplicationEClass;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EReference getLooseApplication_LooseArchives() {
- return (EReference) looseApplicationEClass.getEReferences().get(0);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EClass getLooseArchive() {
- return looseArchiveEClass;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EAttribute getLooseArchive_Uri() {
- return (EAttribute) looseArchiveEClass.getEAttributes().get(0);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EAttribute getLooseArchive_BinariesPath() {
- return (EAttribute) looseArchiveEClass.getEAttributes().get(1);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EAttribute getLooseArchive_ResourcesPath() {
- return (EAttribute) looseArchiveEClass.getEAttributes().get(2);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EReference getLooseArchive_LooseApp() {
- return (EReference) looseArchiveEClass.getEReferences().get(0);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EClass getLooseLibrary() {
- return looseLibraryEClass;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EReference getLooseLibrary_LooseWAR() {
- return (EReference) looseLibraryEClass.getEReferences().get(0);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EClass getLooseWARFile() {
- return looseWARFileEClass;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EReference getLooseWARFile_LooseLibs() {
- return (EReference) looseWARFileEClass.getEReferences().get(0);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EClass getLooseModule() {
- return looseModuleEClass;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EAttribute getLooseModule_AltDD() {
- return (EAttribute) looseModuleEClass.getEAttributes().get(0);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EClass getLooseConfiguration() {
- return looseConfigurationEClass;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public EReference getLooseConfiguration_Applications() {
- return (EReference) looseConfigurationEClass.getEReferences().get(0);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public LooseconfigFactory getLooseconfigFactory() {
- return (LooseconfigFactory) getEFactoryInstance();
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- private boolean isCreated = false;
-
- /**
- * Creates the meta-model objects for the package. This method is guarded to have no affect on
- * any invocation but its first. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public void createPackageContents() {
- if (isCreated)
- return;
- isCreated = true;
-
- // Create classes and their features
- looseApplicationEClass = createEClass(LOOSE_APPLICATION);
- createEReference(looseApplicationEClass, LOOSE_APPLICATION__LOOSE_ARCHIVES);
-
- looseArchiveEClass = createEClass(LOOSE_ARCHIVE);
- createEAttribute(looseArchiveEClass, LOOSE_ARCHIVE__URI);
- createEAttribute(looseArchiveEClass, LOOSE_ARCHIVE__BINARIES_PATH);
- createEAttribute(looseArchiveEClass, LOOSE_ARCHIVE__RESOURCES_PATH);
- createEReference(looseArchiveEClass, LOOSE_ARCHIVE__LOOSE_APP);
-
- looseLibraryEClass = createEClass(LOOSE_LIBRARY);
- createEReference(looseLibraryEClass, LOOSE_LIBRARY__LOOSE_WAR);
-
- looseModuleEClass = createEClass(LOOSE_MODULE);
- createEAttribute(looseModuleEClass, LOOSE_MODULE__ALT_DD);
-
- looseConfigurationEClass = createEClass(LOOSE_CONFIGURATION);
- createEReference(looseConfigurationEClass, LOOSE_CONFIGURATION__APPLICATIONS);
-
- looseWARFileEClass = createEClass(LOOSE_WAR_FILE);
- createEReference(looseWARFileEClass, LOOSE_WAR_FILE__LOOSE_LIBS);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- private boolean isInitialized = false;
-
- /**
- * Complete the initialization of the package and its meta-model. This method is guarded to have
- * no affect on any invocation but its first. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public void initializePackageContents() {
- if (isInitialized)
- return;
- isInitialized = true;
-
- // Initialize package
- setName(eNAME);
- setNsPrefix(eNS_PREFIX);
- setNsURI(eNS_URI);
-
- // Add supertypes to classes
- looseApplicationEClass.getESuperTypes().add(this.getLooseArchive());
- looseLibraryEClass.getESuperTypes().add(this.getLooseArchive());
- looseModuleEClass.getESuperTypes().add(this.getLooseArchive());
- looseWARFileEClass.getESuperTypes().add(this.getLooseModule());
-
- // Initialize classes and features; add operations and parameters
- initEClass(looseApplicationEClass, LooseApplication.class, "LooseApplication", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
- initEReference(getLooseApplication_LooseArchives(), this.getLooseArchive(), this.getLooseArchive_LooseApp(), "looseArchives", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, false); //$NON-NLS-1$
-
- initEClass(looseArchiveEClass, LooseArchive.class, "LooseArchive", IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
- initEAttribute(getLooseArchive_Uri(), ecorePackage.getEString(), "uri", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, false); //$NON-NLS-1$
- initEAttribute(getLooseArchive_BinariesPath(), ecorePackage.getEString(), "binariesPath", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, false); //$NON-NLS-1$
- initEAttribute(getLooseArchive_ResourcesPath(), ecorePackage.getEString(), "resourcesPath", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, false); //$NON-NLS-1$
- initEReference(getLooseArchive_LooseApp(), this.getLooseApplication(), this.getLooseApplication_LooseArchives(), "looseApp", null, 0, 1, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, false); //$NON-NLS-1$
-
- addEOperation(looseArchiveEClass, ecorePackage.getEBoolean(), "isModule"); //$NON-NLS-1$
-
- initEClass(looseLibraryEClass, LooseLibrary.class, "LooseLibrary", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
- initEReference(getLooseLibrary_LooseWAR(), this.getLooseWARFile(), this.getLooseWARFile_LooseLibs(), "looseWAR", null, 0, 1, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, false); //$NON-NLS-1$
-
- initEClass(looseModuleEClass, LooseModule.class, "LooseModule", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
- initEAttribute(getLooseModule_AltDD(), ecorePackage.getEString(), "altDD", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, false); //$NON-NLS-1$
-
- initEClass(looseConfigurationEClass, LooseConfiguration.class, "LooseConfiguration", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
- initEReference(getLooseConfiguration_Applications(), this.getLooseApplication(), null, "applications", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, false); //$NON-NLS-1$
-
- initEClass(looseWARFileEClass, LooseWARFile.class, "LooseWARFile", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
- initEReference(getLooseWARFile_LooseLibs(), this.getLooseLibrary(), this.getLooseLibrary_LooseWAR(), "looseLibs", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, false); //$NON-NLS-1$
- }
-} //LooseconfigPackageImpl
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/util/LooseconfigAdapterFactory.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/util/LooseconfigAdapterFactory.java
deleted file mode 100644
index 5bb720ca0..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/util/LooseconfigAdapterFactory.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.looseconfig.util;
-
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseApplication;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseArchive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseConfiguration;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseLibrary;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseModule;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseWARFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseconfigPackage;
-
-
-/**
- * @lastgen class LooseconfigAdapterFactory extends AdapterFactoryImpl {}
- */
-public class LooseconfigAdapterFactory extends AdapterFactoryImpl {
- /**
- * @generated This field/method will be replaced during code generation.
- */
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected static LooseconfigPackage modelPackage;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public LooseconfigAdapterFactory() {
- if (modelPackage == null) {
- modelPackage = LooseconfigPackage.eINSTANCE;
- }
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public boolean isFactoryForType(Object object) {
- if (object == modelPackage) {
- return true;
- }
- if (object instanceof EObject) {
- return ((EObject) object).eClass().getEPackage() == modelPackage;
- }
- return false;
- }
-
- /**
- * The switch the delegates to the <code>createXXX</code> methods. <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- protected LooseconfigSwitch modelSwitch = new LooseconfigSwitch() {
- public Object caseLooseApplication(LooseApplication object) {
- return createLooseApplicationAdapter();
- }
-
- public Object caseLooseArchive(LooseArchive object) {
- return createLooseArchiveAdapter();
- }
-
- public Object caseLooseLibrary(LooseLibrary object) {
- return createLooseLibraryAdapter();
- }
-
- public Object caseLooseModule(LooseModule object) {
- return createLooseModuleAdapter();
- }
-
- public Object caseLooseConfiguration(LooseConfiguration object) {
- return createLooseConfigurationAdapter();
- }
-
- public Object caseLooseWARFile(LooseWARFile object) {
- return createLooseWARFileAdapter();
- }
-
- public Object defaultCase(EObject object) {
- return createEObjectAdapter();
- }
- };
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Adapter createAdapter(Notifier target) {
- return (Adapter) modelSwitch.doSwitch((EObject) target);
- }
-
-
- /**
- * By default create methods return null so that we can easily ignore cases. It's useful to
- * ignore a case when inheritance will catch all the cases anyway.
- */
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Adapter createLooseApplicationAdapter() {
-
- return null;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Adapter createLooseArchiveAdapter() {
- return null;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Adapter createLooseLibraryAdapter() {
- return null;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Adapter createLooseWARFileAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for the default case. <!-- begin-user-doc --> This default
- * implementation returns null. <!-- end-user-doc -->
- *
- * @return the new adapter.
- * @generated
- */
- public Adapter createEObjectAdapter() {
- return null;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Adapter createLooseModuleAdapter() {
- return null;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Adapter createLooseConfigurationAdapter() {
- return null;
- }
-
-} //LooseconfigAdapterFactory
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/util/LooseconfigSwitch.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/util/LooseconfigSwitch.java
deleted file mode 100644
index 5e1933ea5..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/looseconfig/util/LooseconfigSwitch.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.looseconfig.util;
-
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseApplication;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseArchive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseConfiguration;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseLibrary;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseModule;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseWARFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseconfigPackage;
-
-
-/**
- * @lastgen class LooseconfigSwitch {}
- */
-public class LooseconfigSwitch {
- /**
- * The cached model package <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- protected static LooseconfigPackage modelPackage;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public LooseconfigSwitch() {
- if (modelPackage == null) {
- modelPackage = LooseconfigPackage.eINSTANCE;
- }
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Object doSwitch(EObject theEObject) {
- EClass theEClass = theEObject.eClass();
- if (theEClass.eContainer() == modelPackage) {
- switch (theEClass.getClassifierID()) {
- case LooseconfigPackage.LOOSE_APPLICATION : {
- LooseApplication looseApplication = (LooseApplication) theEObject;
- Object result = caseLooseApplication(looseApplication);
- if (result == null)
- result = caseLooseArchive(looseApplication);
- if (result == null)
- result = defaultCase(theEObject);
- return result;
- }
- case LooseconfigPackage.LOOSE_LIBRARY : {
- LooseLibrary looseLibrary = (LooseLibrary) theEObject;
- Object result = caseLooseLibrary(looseLibrary);
- if (result == null)
- result = caseLooseArchive(looseLibrary);
- if (result == null)
- result = defaultCase(theEObject);
- return result;
- }
- case LooseconfigPackage.LOOSE_MODULE : {
- LooseModule looseModule = (LooseModule) theEObject;
- Object result = caseLooseModule(looseModule);
- if (result == null)
- result = caseLooseArchive(looseModule);
- if (result == null)
- result = defaultCase(theEObject);
- return result;
- }
- case LooseconfigPackage.LOOSE_CONFIGURATION : {
- LooseConfiguration looseConfiguration = (LooseConfiguration) theEObject;
- Object result = caseLooseConfiguration(looseConfiguration);
- if (result == null)
- result = defaultCase(theEObject);
- return result;
- }
- case LooseconfigPackage.LOOSE_WAR_FILE : {
- LooseWARFile looseWARFile = (LooseWARFile) theEObject;
- Object result = caseLooseWARFile(looseWARFile);
- if (result == null)
- result = caseLooseModule(looseWARFile);
- if (result == null)
- result = caseLooseArchive(looseWARFile);
- if (result == null)
- result = defaultCase(theEObject);
- return result;
- }
- default :
- return defaultCase(theEObject);
- }
- }
- return defaultCase(theEObject);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Object caseLooseApplication(LooseApplication object) {
- return null;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Object caseLooseArchive(LooseArchive object) {
- return null;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Object caseLooseLibrary(LooseLibrary object) {
- return null;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Object caseLooseWARFile(LooseWARFile object) {
- return null;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Object caseLooseModule(LooseModule object) {
- return null;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Object caseLooseConfiguration(LooseConfiguration object) {
- return null;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Object defaultCase(EObject object) {
- return null;
- }
-
-} //LooseconfigSwitch
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/AppClient12ExportStrategyImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/AppClient12ExportStrategyImpl.java
deleted file mode 100644
index 64e591654..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/AppClient12ExportStrategyImpl.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.strategy;
-
-
-
-
-/**
- * Concrete implementer that knows how to export meta-data for a 1.2 Application Client
- */
-public class AppClient12ExportStrategyImpl extends ExportStrategyImpl {
- /**
- * AppClient12ExportStrategy constructor comment.
- */
- public AppClient12ExportStrategyImpl() {
- super();
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/AppClient12ImportStrategyImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/AppClient12ImportStrategyImpl.java
deleted file mode 100644
index aa51be7fb..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/AppClient12ImportStrategyImpl.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.strategy;
-
-
-
-import org.eclipse.jst.j2ee.client.ApplicationClient;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ApplicationClientFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonArchiveResourceHandler;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveTypeDiscriminator;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveTypeDiscriminatorImpl;
-import org.eclipse.jst.j2ee.internal.J2EEConstants;
-
-
-/**
- * Concrete implementer that knows how to import meta-data for a 1.2 Application Client
- */
-public class AppClient12ImportStrategyImpl extends XmlBasedImportStrategyImpl {
-
- public static class Discriminator extends ArchiveTypeDiscriminatorImpl {
- public boolean canImport(Archive anArchive) {
- return anArchive.containsFile(J2EEConstants.APP_CLIENT_DD_URI);
- }
-
- /**
- * @see com.ibm.etools.archive.ArchiveTypeDiscriminator
- */
- public org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.ImportStrategy createImportStrategy(Archive old, Archive newArchive) {
- return new AppClient12ImportStrategyImpl();
- }
-
- public String getUnableToOpenMessage() {
- return getXmlDDMessage(CommonArchiveResourceHandler.getString("Application_Client_Jar_Fil"), J2EEConstants.APP_CLIENT_DD_URI); //$NON-NLS-1$ = "Application Client Jar File"
- }
-
- public Archive createConvertedArchive() {
- return getArchiveFactory().createApplicationClientFile();
- }
- }
-
- protected static Discriminator discriminator;
-
- /**
- * AppClient22ImportStrategy constructor comment.
- */
- public AppClient12ImportStrategyImpl() {
- super();
- }
-
- /**
- * @see com.ibm.etools.archive.ImportStrategy
- */
- public org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.ImportStrategy createImportStrategy(Archive old, Archive newArchive) {
- return getDiscriminator().createImportStrategy(old, newArchive);
- }
-
- public ApplicationClientFile getApplicationClientFile() {
- return (ApplicationClientFile) getArchive();
- }
-
- public static ArchiveTypeDiscriminator getDiscriminator() {
- if (discriminator == null) {
- discriminator = new Discriminator();
- }
- return discriminator;
- }
-
- /**
- * @see com.ibm.etools.archive.ImportStrategy
- */
- public void importMetaData() throws Exception {
- loadDeploymentDescriptor();
- }
-
- public void loadDeploymentDescriptor() throws Exception {
- ApplicationClient client = null;
-
- client = (ApplicationClient) primLoadDeploymentDescriptor();
-
- getApplicationClientFile().setDeploymentDescriptor(client);
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/ArchiveStrategy.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/ArchiveStrategy.java
deleted file mode 100644
index 263ad14aa..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/ArchiveStrategy.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.strategy;
-
-
-
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-
-/**
- * Represents a supertype for all the archive strategies.
- */
-public interface ArchiveStrategy {
- public Archive getArchive();
-
- public void setArchive(Archive archive);
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/ArchiveStrategyImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/ArchiveStrategyImpl.java
deleted file mode 100644
index 8352490c4..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/ArchiveStrategyImpl.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.strategy;
-
-
-
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-
-/**
- * This an abstract type off which any implementers of the archive strategy can subclass.
- */
-public abstract class ArchiveStrategyImpl implements ArchiveStrategy {
- protected Archive archive;
-
- /**
- * ArchiveStrategy constructor comment.
- */
- public ArchiveStrategyImpl() {
- super();
- }
-
- public Archive getArchive() {
- return archive;
- }
-
- public void setArchive(Archive newArchive) {
- archive = newArchive;
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/ConnectorDirectorySaveStrategyImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/ConnectorDirectorySaveStrategyImpl.java
deleted file mode 100644
index b7587d073..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/ConnectorDirectorySaveStrategyImpl.java
+++ /dev/null
@@ -1,217 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.strategy;
-
-
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.URIConverter;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.SaveFailureException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveURIConverterImpl;
-import org.eclipse.jst.j2ee.internal.J2EEConstants;
-
-
-/**
- * Implementer that knows how to save an archives contents to a directory on the local file system
- */
-public class ConnectorDirectorySaveStrategyImpl extends SaveStrategyImpl implements SaveStrategy {
- protected String directoryName;
- protected URIConverter uriConverter;
- /** Indicates which type of archives should be expanded */
- protected int expansionFlags;
-
- /**
- * DirectoryDumpStrategy constructor comment.
- */
- public ConnectorDirectorySaveStrategyImpl() {
- super();
- }
-
- /**
- * DirectoryDumpStrategy constructor comment.
- */
- public ConnectorDirectorySaveStrategyImpl(String dirName, int flags) {
- super();
- setDirectoryName(dirName);
- setExpansionFlags(flags);
- initialize();
- }
-
- /**
- * @see com.ibm.etools.archive.impl.SaveStrategyImpl
- */
- protected SaveStrategy createNestedDirectoryStrategy(Archive anArchive) {
- String uri = org.eclipse.jst.j2ee.commonarchivecore.internal.util.ArchiveUtil.getOSUri(getDirectoryName(), "");//$NON-NLS-1$
- return new ConnectorDirectorySaveStrategyImpl(uri, getExpansionFlags());
- }
-
- /**
- * @see com.ibm.etools.archive.impl.SaveStrategyImpl
- */
- protected SaveStrategy createNestedSaveStrategy(Archive anArchive) throws IOException {
- if (shouldExpand(anArchive))
- return createNestedDirectoryStrategy(anArchive);
- return createNestedZipStrategy(anArchive);
- }
-
- /**
- * @see com.ibm.etools.archive.impl.SaveStrategyImpl
- */
- protected SaveStrategy createNestedZipStrategy(Archive anArchive) throws IOException {
- OutputStream out = getUriConverter().createOutputStream(URI.createURI(anArchive.getURI()));
- return new ZipStreamSaveStrategyImpl(out);
- }
-
- /**
- * Insert the method's description here. Creation date: (11/15/00 2:26:37 PM)
- *
- * @return java.lang.String
- */
- public java.lang.String getDirectoryName() {
- return directoryName;
- }
-
- /**
- * Insert the method's description here. Creation date: (12/19/00 10:18:21 AM)
- *
- * @return int
- */
- public int getExpansionFlags() {
- return expansionFlags;
- }
-
- /**
- * @see com.ibm.etools.archive.impl.SaveStrategyImpl
- */
- protected java.io.OutputStream getOutputStreamForResource(Resource aResource) throws java.io.IOException {
- return getUriConverter().createOutputStream(aResource.getURI());
- }
-
- /**
- * Insert the method's description here. Creation date: (12/08/00 4:50:32 PM)
- *
- * @return org.eclipse.emf.ecore.resource.URIConverter
- */
- public org.eclipse.emf.ecore.resource.URIConverter getUriConverter() {
- return uriConverter;
- }
-
- public void initialize() {
- ArchiveURIConverterImpl converter = new ArchiveURIConverterImpl(getArchive(), getDirectoryName());
- converter.setOutputFilepath(getDirectoryName());
- setUriConverter(converter);
- }
-
- /**
- * @see com.ibm.etools.archive.SaveStrategy
- */
- public boolean isDirectory() {
- return true;
- }
-
- protected void mkdirs(String directoryPath) {
- File aDirectory = new File(getDirectoryName() + File.separatorChar + directoryPath);
- aDirectory.mkdirs();
- }
-
- /**
- * @see com.ibm.etools.archive.SaveStrategy
- */
- public void save(org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveManifest aManifest) throws SaveFailureException {
- try {
- OutputStream out = getUriConverter().createOutputStream(URI.createURI(J2EEConstants.MANIFEST_URI));
- aManifest.write(out);
- out.close();
- } catch (IOException iox) {
- throw new SaveFailureException(J2EEConstants.MANIFEST_URI, iox);
- }
- }
-
- /**
- * @see com.ibm.etools.archive.impl.SaveStrategyImpl
- */
- public void save(org.eclipse.jst.j2ee.commonarchivecore.internal.File aFile, InputStream in) throws SaveFailureException {
- String entryName = aFile.getURI();
- if (aFile.isDirectoryEntry())
- mkdirs(entryName);
- else {
- try {
- OutputStream out = getUriConverter().createOutputStream(URI.createURI(entryName));
- org.eclipse.jst.j2ee.commonarchivecore.internal.util.ArchiveUtil.copy(in, out);
- } catch (IOException iox) {
- throw new SaveFailureException(aFile.getURI(), iox);
- }
- }
- }
-
- protected void saveMofResource(org.eclipse.emf.ecore.resource.Resource aResource, OutputStream os) throws IOException {
- super.saveMofResource(aResource, os);
- os.close();
- }
-
- /**
- * Insert the method's description here. Creation date: (11/15/00 2:26:37 PM)
- *
- * @param newDirectoryName
- * java.lang.String
- */
- public void setDirectoryName(java.lang.String newDirectoryName) {
- directoryName = newDirectoryName;
- }
-
- /**
- * Insert the method's description here. Creation date: (12/19/00 10:18:21 AM)
- *
- * @param newExpansionFlags
- * int
- */
- public void setExpansionFlags(int newExpansionFlags) {
- expansionFlags = newExpansionFlags;
- }
-
- /**
- * Insert the method's description here. Creation date: (12/08/00 4:50:32 PM)
- *
- * @param newUriConverter
- * org.eclipse.emf.ecore.resource.URIConverter
- */
- public void setUriConverter(org.eclipse.emf.ecore.resource.URIConverter newUriConverter) {
- uriConverter = newUriConverter;
- }
-
- protected boolean shouldExpand(Archive anArchive) {
-
- int flag = 0;
-
- if (anArchive.isWARFile())
- flag = Archive.EXPAND_WAR_FILES;
- else if (anArchive.isEARFile())
- flag = Archive.EXPAND_EAR_FILES;
- else if (anArchive.isEJBJarFile())
- flag = Archive.EXPAND_EJBJAR_FILES;
- else if (anArchive.isRARFile())
- flag = Archive.EXPAND_RAR_FILES;
- else if (anArchive.isApplicationClientFile())
- flag = Archive.EXPAND_APPCLIENT_FILES;
- else
- flag = Archive.EXPAND_ARCHIVES;
-
- return (getExpansionFlags() & flag) != 0;
-
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/DirectoryArchiveLoadStrategy.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/DirectoryArchiveLoadStrategy.java
deleted file mode 100644
index b6549c3e8..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/DirectoryArchiveLoadStrategy.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.strategy;
-
-
-
-/**
- * Specialized load strategy that reads entries in an archive from a directory on the file system
- */
-public interface DirectoryArchiveLoadStrategy extends LoadStrategy {
- public String getDirectoryUri();
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/DirectoryArchiveLoadStrategyImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/DirectoryArchiveLoadStrategyImpl.java
deleted file mode 100644
index 4ce76d89f..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/DirectoryArchiveLoadStrategyImpl.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.strategy;
-
-
-
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseArchive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseConfigRegister;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.util.ArchiveUtil;
-
-
-/**
- * Load strategy used for reading expanding archives; typically in a running server this would be an
- * EAR or WAR, although it can be any Archive
- */
-public class DirectoryArchiveLoadStrategyImpl extends DirectoryLoadStrategyImpl {
-
-
-
- public DirectoryArchiveLoadStrategyImpl(String aDirectoryUri) {
- super(aDirectoryUri);
- }
-
- protected void addDirectory(java.io.File aFile, java.util.List aList) {
- addFiles(aFile, aList);
- }
-
- protected java.io.File getDirectoryForList() {
- return new java.io.File(getDirectoryUri());
- }
-
-
-
- public LooseArchive getLooseArchive() {
- if (looseArchive == null && getContainer().isEARFile()) {
- String osString = ArchiveUtil.getOSUri(getContainer().getURI());
- setLooseArchive(LooseConfigRegister.singleton().findLooseApplication(osString));
- }
- return looseArchive;
- }
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/DirectoryLoadStrategyImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/DirectoryLoadStrategyImpl.java
deleted file mode 100644
index 634c1d382..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/DirectoryLoadStrategyImpl.java
+++ /dev/null
@@ -1,244 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.strategy;
-
-
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseApplication;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseArchive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseWARFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseconfigPackage;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.util.ArchiveUtil;
-
-
-/**
- * Implementer that knows how to read files from the local file system and treat them as file
- * entries in an archive
- *
- * @see DirectoryArchiveLoadStrategy
- */
-public abstract class DirectoryLoadStrategyImpl extends LoadStrategyImpl implements DirectoryArchiveLoadStrategy {
- /**
- * The root uri from which all relative files entries are loaded; must point to a valid local
- * directory
- */
- static boolean IS_AIX = "AIX".equals(System.getProperty("os.name")); //$NON-NLS-1$ //$NON-NLS-2$
- protected String directoryUri;
- /**
- * Used internally; the directory uri with the system dependent file separator replaced by a
- * forward slash
- */
- protected String directoryUriAsZipString;
- protected static char SEPARATOR_CHAR = java.io.File.separatorChar;
-
- public DirectoryLoadStrategyImpl(String aDirectoryUri) {
- super();
- setDirectoryUri(aDirectoryUri);
- String normalized = null;
- try {
- normalized = new File(aDirectoryUri).getCanonicalPath();
- } catch (IOException iox) {
- normalized = aDirectoryUri;
- }
- setDirectoryUriAsZipString(normalized.replace(SEPARATOR_CHAR, '/'));
-
- }
-
- protected abstract void addDirectory(java.io.File aFile, List aList);
-
- protected void addFile(java.io.File aFile, List aList) {
-
- String uri = getURIFrom(aFile);
- if (collectedLooseArchiveFiles.containsKey(uri))
- return;
-
- org.eclipse.jst.j2ee.commonarchivecore.internal.File cFile = createFile(uri);
- cFile.setSize(aFile.length());
- cFile.setLastModified(aFile.lastModified());
- aList.add(cFile);
- }
-
- protected void addFiles(java.io.File aDirectory, List aList) {
-
- String[] fileNames = aDirectory.list();
- if (fileNames == null)
- return;
- for (int i = 0; i < fileNames.length; i++) {
- String fileName = ArchiveUtil.concatUri(aDirectory.getPath(), fileNames[i], SEPARATOR_CHAR);
- if (fileNames[i] == null || (IS_AIX && ".backup".equals(fileNames[i]))) //$NON-NLS-1$
- continue;
- java.io.File aFile = new java.io.File(fileName);
- if (!aFile.exists())
- continue;
- //This could occur on some windows machines, eg C:\pagefile.sys
- //throw new RuntimeException("Error scanning directory structure");
- if (aFile.isDirectory() && !isArchive(getURIFrom(aFile))) {
- addDirectory(aFile, aList);
- } else {
- addFile(aFile, aList);
- }
- }
- }
-
- /**
- * @see com.ibm.etools.archive.impl.LoadStrategyImpl
- */
- protected boolean primContains(java.lang.String uri) {
- return new java.io.File(getFileNameFrom(uri)).exists();
- }
-
- /**
- * @see com.ibm.etools.archive.LoadStrategy
- */
- public java.lang.String getAbsolutePath() throws java.io.FileNotFoundException {
- return new java.io.File(getDirectoryUri()).getAbsolutePath();
- }
-
- protected abstract java.io.File getDirectoryForList();
-
- public java.lang.String getDirectoryUri() {
- return directoryUri;
- }
-
- public java.lang.String getDirectoryUriAsZipString() {
- return directoryUriAsZipString;
- }
-
- /**
- * Returns an OS filename from a relative uri
- */
- // TODO Fix the type casing in v6.0
- protected String getFileNameFrom(String uri) {
- LooseArchive aLooseArchive = getLooseArchive();
- if (aLooseArchive != null) {
- String result = null;
- switch (aLooseArchive.eClass().getClassifierID()) {
- case LooseconfigPackage.LOOSE_APPLICATION :
- result = getURIFromLooseArchivesIfAvailable(((LooseApplication) aLooseArchive).getLooseArchives(), uri);
- break;
- case LooseconfigPackage.LOOSE_WAR_FILE :
- result = getURIFromLooseArchivesIfAvailable(((LooseWARFile) aLooseArchive).getLooseLibs(), uri);
-
- break;
- }
- if (result != null)
- return result;
- }
- String name = uri;
- if (SEPARATOR_CHAR != '/')
- name = name.replace('/', SEPARATOR_CHAR);
- return getDirectoryUri() + SEPARATOR_CHAR + name;
- }
-
- private String getURIFromLooseArchivesIfAvailable(List looseArchives, String uri) {
-
- for (Iterator iter = looseArchives.iterator(); iter.hasNext();) {
- LooseArchive looseArchiveElement = (LooseArchive) iter.next();
- if (uri.equals(looseArchiveElement.getUri()))
- return looseArchiveElement.getBinariesPath();
- }
- return null;
- }
-
- /**
- * @see com.ibm.etools.archive.impl.LoadStrategyImpl
- */
- public java.util.List getFiles() {
- List list = new ArrayList();
- java.io.File directory = getDirectoryForList();
- addFiles(directory, list);
- return list;
- }
-
- /**
- * @see com.ibm.etools.archive.impl.LoadStrategyImpl
- */
- public java.io.InputStream getInputStream(java.lang.String uri) throws IOException, FileNotFoundException {
- return new FileInputStream(getFileNameFrom(uri));
- }
-
- /**
- * Returns a relative uri from the java.io.File, to be used for a file entry; the separator will
- * be the zip standard (forward slash ("/")).
- */
-
- protected String getURIFrom(File aFile) {
- String name = ""; //$NON-NLS-1$
- String relative = null;
- String root = getDirectoryUriAsZipString();
- try {
- name = aFile.getCanonicalPath();
- relative = makeRelative(name, root);
- } catch (IOException iox) {
- name = null;
- }
- if (relative == null) {
- name = aFile.getAbsolutePath();
- relative = makeRelative(name, root);
- }
- if (relative == null) {
- name = aFile.getPath();
- root = replaceSeparators(getDirectoryUri());
- relative = makeRelative(name, root);
- }
- return relative;
- }
-
- private String replaceSeparators(String path) {
- if (File.separatorChar != '/')
- return path.replace(File.separatorChar, '/');
- return path;
- }
-
- private String makeRelative(String fileName, String root) {
- if (fileName == null || root == null)
- return null;
- String name = null;
- for (; root.endsWith("/"); root = ArchiveUtil.truncateIgnoreCase(root, "/")); //$NON-NLS-1$ //$NON-NLS-2$
- name = replaceSeparators(fileName);
- if (name.startsWith(root))
- name = name.substring(root.length() + 1);
- else
- name = null;
- return name;
- }
-
- /**
- * @see com.ibm.etools.archive.LoadStrategy
- */
- public boolean isDirectory() {
- return true;
- }
-
- /**
- * @see com.ibm.etools.archive.LoadStrategy
- */
- public boolean isUsing(java.io.File aSystemFile) {
- java.io.File dir = new java.io.File(getDirectoryUri());
- return dir.equals(aSystemFile);
- }
-
- public void setDirectoryUri(java.lang.String newDirectoryUri) {
- directoryUri = newDirectoryUri;
- }
-
- public void setDirectoryUriAsZipString(java.lang.String newDirectoryUriAsZipString) {
- directoryUriAsZipString = newDirectoryUriAsZipString;
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/DirectorySaveStrategyImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/DirectorySaveStrategyImpl.java
deleted file mode 100644
index dce6e70fb..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/DirectorySaveStrategyImpl.java
+++ /dev/null
@@ -1,245 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.strategy;
-
-
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.URIConverter;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.SaveFailureException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveURIConverterImpl;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.util.ArchiveUtil;
-import org.eclipse.jst.j2ee.internal.J2EEConstants;
-
-
-/**
- * Implementer that knows how to save an archives contents to a directory on the local file system
- */
-public class DirectorySaveStrategyImpl extends SaveStrategyImpl implements SaveStrategy {
- protected String directoryName;
- protected URIConverter uriConverter;
- /** Indicates which type of archives should be expanded */
- protected int expansionFlags;
-
- /**
- * DirectoryDumpStrategy constructor comment.
- */
- public DirectorySaveStrategyImpl() {
- super();
- }
-
- /**
- * DirectoryDumpStrategy constructor comment.
- */
- public DirectorySaveStrategyImpl(String dirName, int flags) {
- super();
- setDirectoryName(dirName);
- setExpansionFlags(flags);
- initialize();
- }
-
- /**
- * @see com.ibm.etools.archive.impl.SaveStrategyImpl
- */
- protected SaveStrategy createNestedDirectoryStrategy(Archive anArchive) {
- String uri = org.eclipse.jst.j2ee.commonarchivecore.internal.util.ArchiveUtil.getOSUri(getDirectoryName(), anArchive.getURI());
- return new DirectorySaveStrategyImpl(uri, getExpansionFlags());
- }
-
- /**
- * @see com.ibm.etools.archive.impl.SaveStrategyImpl
- */
- protected SaveStrategy createNestedSaveStrategy(Archive anArchive) throws IOException {
- if (shouldExpand(anArchive))
- return createNestedDirectoryStrategy(anArchive);
- return createNestedZipStrategy(anArchive);
- }
-
- /**
- * @see com.ibm.etools.archive.impl.SaveStrategyImpl
- */
- protected SaveStrategy createNestedZipStrategy(Archive anArchive) throws IOException {
- OutputStream out = getUriConverter().createOutputStream(URI.createURI(anArchive.getURI()));
- return new ZipStreamSaveStrategyImpl(out);
- }
-
- /**
- * Insert the method's description here. Creation date: (11/15/00 2:26:37 PM)
- *
- * @return java.lang.String
- */
- public java.lang.String getDirectoryName() {
- return directoryName;
- }
-
- /**
- * Insert the method's description here. Creation date: (12/19/00 10:18:21 AM)
- *
- * @return int
- */
- public int getExpansionFlags() {
- return expansionFlags;
- }
-
- /**
- * @see com.ibm.etools.archive.impl.SaveStrategyImpl
- */
- protected java.io.OutputStream getOutputStreamForResource(Resource aResource) throws java.io.IOException {
- return getUriConverter().createOutputStream(aResource.getURI());
- }
-
- /**
- * Insert the method's description here. Creation date: (12/08/00 4:50:32 PM)
- *
- * @return org.eclipse.emf.ecore.resource.URIConverter
- */
- public org.eclipse.emf.ecore.resource.URIConverter getUriConverter() {
- return uriConverter;
- }
-
- public void initialize() {
- ArchiveURIConverterImpl converter = new ArchiveURIConverterImpl(getArchive(), getDirectoryName());
- converter.setOutputFilepath(getDirectoryName());
- setUriConverter(converter);
- }
-
- /**
- * @see com.ibm.etools.archive.SaveStrategy
- */
- public boolean isDirectory() {
- return true;
- }
-
- protected void mkdirs(String directoryPath) {
- File aDirectory = new File(getDirectoryName() + File.separatorChar + directoryPath);
- aDirectory.mkdirs();
- }
-
- /**
- * @see com.ibm.etools.archive.SaveStrategy
- */
- public void save(org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveManifest aManifest) throws SaveFailureException {
- try {
- OutputStream out = getUriConverter().createOutputStream(URI.createURI(J2EEConstants.MANIFEST_URI));
- aManifest.write(out);
- out.close();
- if (getArchive().getOptions().isReadOnly())
- setTimestampAfterSaving(J2EEConstants.MANIFEST_URI);
- } catch (IOException iox) {
- throw new SaveFailureException(J2EEConstants.MANIFEST_URI, iox);
- }
- }
-
- /**
- * @see com.ibm.etools.archive.impl.SaveStrategyImpl
- */
- public void save(org.eclipse.jst.j2ee.commonarchivecore.internal.File aFile, InputStream in) throws SaveFailureException {
- String entryName = aFile.getURI();
- if (aFile.isDirectoryEntry())
- mkdirs(entryName);
- else {
- try {
- OutputStream out = getUriConverter().createOutputStream(URI.createURI(entryName));
- ArchiveUtil.copy(in, out);
- setTimestampAfterSaving(aFile);
- } catch (IOException iox) {
- throw new SaveFailureException(aFile.getURI(), iox);
- }
- }
- }
-
- protected void saveMofResource(org.eclipse.emf.ecore.resource.Resource aResource, OutputStream os) throws IOException {
- super.saveMofResource(aResource, os);
- os.close();
- }
-
- /**
- * Insert the method's description here. Creation date: (11/15/00 2:26:37 PM)
- *
- * @param newDirectoryName
- * java.lang.String
- */
- public void setDirectoryName(java.lang.String newDirectoryName) {
- directoryName = newDirectoryName;
- }
-
- /**
- * Insert the method's description here. Creation date: (12/19/00 10:18:21 AM)
- *
- * @param newExpansionFlags
- * int
- */
- public void setExpansionFlags(int newExpansionFlags) {
- expansionFlags = newExpansionFlags;
- }
-
- protected void setTimestampAfterSaving(org.eclipse.jst.j2ee.commonarchivecore.internal.File aFile) {
- long lastMod = aFile.getLastModified();
- if (lastMod == 0)
- return;
- String absPath = ArchiveUtil.getOSUri(getDirectoryName(), aFile.getURI());
- File ioFile = new File(absPath);
- ioFile.setLastModified(lastMod);
- }
-
- protected void setTimestampAfterSaving(String uri) {
- org.eclipse.jst.j2ee.commonarchivecore.internal.File aFile = null;
- try {
- aFile = getArchive().getFile(uri);
- } catch (FileNotFoundException mustBeANewEntry) {
- return;
- }
- setTimestampAfterSaving(aFile);
- }
-
- /**
- * Insert the method's description here. Creation date: (12/08/00 4:50:32 PM)
- *
- * @param newUriConverter
- * org.eclipse.emf.ecore.resource.URIConverter
- */
- public void setUriConverter(org.eclipse.emf.ecore.resource.URIConverter newUriConverter) {
- uriConverter = newUriConverter;
- }
-
- protected boolean shouldExpand(Archive anArchive) {
-
- int flag = 0;
-
- if (anArchive.isWARFile())
- flag = Archive.EXPAND_WAR_FILES;
- else if (anArchive.isEARFile())
- flag = Archive.EXPAND_EAR_FILES;
- else if (anArchive.isRARFile())
- flag = Archive.EXPAND_RAR_FILES;
- else if (anArchive.isEJBJarFile())
- flag = Archive.EXPAND_EJBJAR_FILES;
- else if (anArchive.isApplicationClientFile())
- flag = Archive.EXPAND_APPCLIENT_FILES;
- else
- flag = Archive.EXPAND_ARCHIVES;
-
- return (getExpansionFlags() & flag) != 0;
-
- }
-
- protected boolean shouldIterateOver(Archive anArchive) {
- return super.shouldIterateOver(anArchive) || shouldExpand(anArchive);
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/Ear12ExportStrategyImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/Ear12ExportStrategyImpl.java
deleted file mode 100644
index cb02d1979..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/Ear12ExportStrategyImpl.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.strategy;
-
-
-
-
-/**
- * Concrete implementer that knows how to export meta-data for a 1.2 Application
- */
-public class Ear12ExportStrategyImpl extends ExportStrategyImpl {
- /**
- * Ear12ExportStrategy constructor comment.
- */
- public Ear12ExportStrategyImpl() {
- super();
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/Ear12ImportStrategyImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/Ear12ImportStrategyImpl.java
deleted file mode 100644
index 02913c9c4..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/Ear12ImportStrategyImpl.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.strategy;
-
-
-
-import org.eclipse.jst.j2ee.application.Application;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonArchiveResourceHandler;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveTypeDiscriminator;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveTypeDiscriminatorImpl;
-import org.eclipse.jst.j2ee.internal.J2EEConstants;
-
-
-/**
- * Concrete implementer that knows how to import meta-data for a 1.2 Application Client
- */
-public class Ear12ImportStrategyImpl extends XmlBasedImportStrategyImpl {
-
- public static class Discriminator extends ArchiveTypeDiscriminatorImpl {
- public Archive createConvertedArchive() {
- return getArchiveFactory().createEARFile();
- }
-
- public boolean canImport(Archive anArchive) {
- return anArchive.containsFile(J2EEConstants.APPLICATION_DD_URI);
- }
-
- /**
- * @see com.ibm.etools.archive.ArchiveTypeDiscriminator
- */
- public org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.ImportStrategy createImportStrategy(Archive old, Archive newArchive) {
- return new Ear12ImportStrategyImpl();
- }
-
- public String getUnableToOpenMessage() {
- return getXmlDDMessage(CommonArchiveResourceHandler.getString("EAR_File"), J2EEConstants.APPLICATION_DD_URI); //$NON-NLS-1$ = "EAR File"
- }
- }
-
- protected static Discriminator discriminator;
-
- /**
- * Ear12ImportStrategy constructor comment.
- */
- public Ear12ImportStrategyImpl() {
- super();
- }
-
- /**
- * @see com.ibm.etools.archive.ImportStrategy
- */
- public org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.ImportStrategy createImportStrategy(Archive old, Archive newArchive) {
- return getDiscriminator().createImportStrategy(old, newArchive);
- }
-
- public static ArchiveTypeDiscriminator getDiscriminator() {
- if (discriminator == null) {
- discriminator = new Discriminator();
- }
- return discriminator;
- }
-
- public EARFile getEARFile() {
- return (EARFile) getArchive();
- }
-
- /**
- * @see com.ibm.etools.archive.ImportStrategy
- */
- public void importMetaData() throws Exception {
- loadDeploymentDescriptor();
- }
-
- public void loadDeploymentDescriptor() throws Exception {
- Application appl = null;
-
- appl = (Application) primLoadDeploymentDescriptor();
-
- getEARFile().setDeploymentDescriptor(appl);
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/EjbJar11ExportStrategyImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/EjbJar11ExportStrategyImpl.java
deleted file mode 100644
index cc944cfc5..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/EjbJar11ExportStrategyImpl.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.strategy;
-
-
-
-
-/**
- * Concrete implementer that knows how to export meta-data for a 1.1 Ejb Jar
- */
-public class EjbJar11ExportStrategyImpl extends ExportStrategyImpl {
- /**
- * EjbJar11ExportStrategy constructor comment.
- */
- public EjbJar11ExportStrategyImpl() {
- super();
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/EjbJar11ImportStrategyImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/EjbJar11ImportStrategyImpl.java
deleted file mode 100644
index ae03129e9..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/EjbJar11ImportStrategyImpl.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.strategy;
-
-
-
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonArchiveResourceHandler;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.EJBJarFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveTypeDiscriminator;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveTypeDiscriminatorImpl;
-import org.eclipse.jst.j2ee.ejb.EJBJar;
-import org.eclipse.jst.j2ee.internal.J2EEConstants;
-
-
-/**
- * Concrete implementer that knows how to import meta-data for a 1.1 Ejb Jar
- */
-public class EjbJar11ImportStrategyImpl extends XmlBasedImportStrategyImpl {
-
- public static class Discriminator extends ArchiveTypeDiscriminatorImpl {
- public boolean canImport(Archive anArchive) {
- return anArchive.containsFile(J2EEConstants.EJBJAR_DD_URI);
- }
-
- /**
- * @see com.ibm.etools.archive.ArchiveTypeDiscriminator
- */
- public org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.ImportStrategy createImportStrategy(Archive old, Archive newArchive) {
- return new EjbJar11ImportStrategyImpl();
- }
-
- public String getUnableToOpenMessage() {
- return getXmlDDMessage(CommonArchiveResourceHandler.getString("EJB_Jar_File"), J2EEConstants.EJBJAR_DD_URI); //$NON-NLS-1$ = "EJB Jar File"
- }
-
- public Archive createConvertedArchive() {
- return getArchiveFactory().createEJBJarFile();
- }
- }
-
- protected static Discriminator discriminator;
-
- /**
- * EjbJar11ImportStrategy constructor comment.
- */
- public EjbJar11ImportStrategyImpl() {
- super();
- }
-
- /**
- * @see com.ibm.etools.archive.ImportStrategy
- */
- public org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.ImportStrategy createImportStrategy(Archive old, Archive newArchive) {
- return getDiscriminator().createImportStrategy(old, newArchive);
- }
-
- public static ArchiveTypeDiscriminator getDiscriminator() {
- if (discriminator == null) {
- discriminator = new Discriminator();
- }
- return discriminator;
- }
-
- public EJBJarFile getEJBJarFile() {
- return (EJBJarFile) getArchive();
- }
-
- /**
- * @see com.ibm.etools.archive.ImportStrategy
- */
- public void importMetaData() throws Exception {
- loadDeploymentDescriptor();
- }
-
- public void loadDeploymentDescriptor() throws Exception {
- EJBJar ejbJar = null;
-
- ejbJar = (EJBJar) primLoadDeploymentDescriptor();
- getEJBJarFile().setDeploymentDescriptor(ejbJar);
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/ExportStrategyImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/ExportStrategyImpl.java
deleted file mode 100644
index 46bdf49ef..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/ExportStrategyImpl.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.strategy;
-
-
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ExportStrategy;
-
-
-/**
- * Abstract implementer off which other export strategies can subclass
- *
- * @see ExportStrategy
- */
-public abstract class ExportStrategyImpl extends ArchiveStrategyImpl implements ExportStrategy {
- /** The list of files already saved by this strategy during invokation of preSave() */
- protected Set savedFiles;
-
- public ExportStrategyImpl() {
- super();
- }
-
- public java.util.Set getSavedFiles() {
- if (savedFiles == null)
- savedFiles = new HashSet();
- return savedFiles;
- }
-
- public boolean hasSaved(String uri) {
- return savedFiles != null && getSavedFiles().contains(uri);
- }
-
- /**
- * The default is to do nothing; subclasses may wish to override; typical operations would be to
- * add extra elements to the outgoing archive, using SaveStrategy#save(File,
- * java.io.InputStream)
- */
- public void preSave(SaveStrategy aSaveStrategy) throws org.eclipse.jst.j2ee.commonarchivecore.internal.exception.SaveFailureException {
- //Default
- }
-
- /**
- * The file with the given uri has just been saved; add this to the list of saved files
- */
- protected void saved(String uri) {
- getSavedFiles().add(uri);
- }
-
- public void setSavedFiles(java.util.Set newSavedFiles) {
- savedFiles = newSavedFiles;
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/ImportStrategy.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/ImportStrategy.java
deleted file mode 100644
index b1d85cc32..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/ImportStrategy.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.strategy;
-
-
-
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-
-/**
- * ImportStrategy knows how to interpret the information in an archive, usually in deployment
- * descriptors, to build up a model of the contained objects.
- */
-public interface ImportStrategy extends ArchiveStrategy {
- /**
- * Helper method used for copying archives; create a new instance of this kind of strategy
- */
- public ImportStrategy createImportStrategy(Archive old, Archive newArchive);
-
- /**
- * Do whatever is necessary to bring in metadata from the archive and set the deployment
- * descriptors to the standard form that the apis can recognize
- */
- public void importMetaData() throws Exception;
-
- public boolean isEJB10();
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/ImportStrategyImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/ImportStrategyImpl.java
deleted file mode 100644
index 17461739a..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/ImportStrategyImpl.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.strategy;
-
-
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonArchiveFactoryRegistry;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
-
-
-/**
- * Abstract implementation off which other import strategies can subclass
- *
- * @see ImportStrategy
- */
-public abstract class ImportStrategyImpl extends ArchiveStrategyImpl implements ImportStrategy {
- /**
- * ArchiveImportStrategy constructor comment.
- */
- public ImportStrategyImpl() {
- super();
- }
-
- public static CommonarchiveFactory getArchiveFactory() {
- return CommonArchiveFactoryRegistry.INSTANCE.getCommonArchiveFactory();
- }
-
- /**
- * @see com.ibm.etools.archive.ImportStrategy
- */
- public boolean isEJB10() {
- return false;
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/LoadStrategy.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/LoadStrategy.java
deleted file mode 100644
index 81a70371b..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/LoadStrategy.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.strategy;
-
-
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Container;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.ResourceLoadException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.FileIterator;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseArchive;
-
-
-/**
- * LoadStrategy knows how to load or read the contents of a container. This provides a delegation
- * model for reading in the contents of an archive file. Clients can implement this interface, and
- * "plug in" to an instance of an archive. Examples might include reading from a zip file, from an
- * input stream, from the local file system, or from a workbench.
- */
-public interface LoadStrategy {
- public void addOrReplaceMofResource(Resource aResource);
-
- /**
- * Release any resources being held by this object
- */
- public void close();
-
- public boolean contains(String uri);
-
- /**
- * Return the absolute path of this strategy, if it exists; cases where it might not exist is if
- * the load strategy is "virtual", e.g., a jar within a jar
- */
- public String getAbsolutePath() throws FileNotFoundException;
-
- /**
- * Return the absolute path of the root from which meta resources get loaded
- */
- public String getResourcesPath() throws FileNotFoundException;
-
- /**
- * Return the absolute path of the root from which classes and properties are loaded
- */
- public String getBinariesPath() throws FileNotFoundException;
-
-
- public Container getContainer();
-
- public ResourceSet getResourceSet();
-
- public ResourceSet primGetResourceSet();
-
- /**
- * Used internally; clients should not need to call
- */
- public FileIterator getFileIterator() throws IOException;
-
- /**
- * Used by an archive to obtain a list of it's files, which is usually deferred until the first
- * time it is invoked, as an optimization.
- */
- public List collectFiles();
-
- /**
- * Returns an input stream on an entry named by the parameter
- */
- public InputStream getInputStream(String uri) throws IOException, FileNotFoundException;
-
- /**
- * Returns an input stream on an entry named by the parameter, from the "resources path" of the
- * loose archive if it exists, Otherwise the default behavior is the same as
- * {@link #getInputStream(String)}
- */
- public InputStream getResourceInputStream(String uri) throws IOException;
-
- public Collection getLoadedMofResources();
-
- public Resource getExistingMofResource(String uri);
-
- public Resource getMofResource(String uri) throws FileNotFoundException, ResourceLoadException;
-
- /**
- * An archive uses a custom class loader for java reflection within a mof resourceSet;
- * implementers of LoadStrategy may supply a mof resourceSet for which this class loader is not
- * necessary, or could even cause breakage; this test gives the strategy the chance to "opt out"
- * of the class loading game
- */
- public boolean isClassLoaderNeeded();
-
- /**
- * Returns whether this archive is reading files from a directory on the file system
- */
- public boolean isDirectory();
-
- public boolean isMofResourceLoaded(String uri);
-
- /**
- * Returns whether resources can be read by this strategy
- */
- public boolean isOpen();
-
- /**
- * Is the parameter in use by this strategy? Needed for when the archive is saved to the same
- * location from which it was read
- */
- public boolean isUsing(java.io.File aSystemFile);
-
- /**
- * Used for optimizations, where the contents of the archive have not been changed; instead of
- * iterating each file in the archive, we may be able to bulk save the whole thing
- */
- public boolean requiresIterationOnSave();
-
- public Resource makeMofResource(String uri, EList extent);
-
- public void setContainer(Container aContainer);
-
- public void setResourceSet(ResourceSet aResourceSet);
-
- public LooseArchive getLooseArchive();
-
- public void setLooseArchive(LooseArchive aLooseArchive);
-
- public boolean isReadOnly();
-
- public void setReadOnly(boolean readOnly);
-
- public int getRendererType();
-
- public void setRendererType(int i);
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/LoadStrategyImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/LoadStrategyImpl.java
deleted file mode 100644
index 0b42d603e..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/LoadStrategyImpl.java
+++ /dev/null
@@ -1,557 +0,0 @@
-package org.eclipse.jst.j2ee.commonarchivecore.internal.strategy;
-
-/*
- * Licensed Material - Property of IBM
- * (C) Copyright IBM Corp. 2002 - All Rights Reserved.
- * US Government Users Restricted Rights - Use, duplication or disclosure
- * restricted by GSA ADP Schedule Contract with IBM Corp.
- */
-
-/*
- * Licensed Material - Property of IBM
- * (C) Copyright IBM Corp. 2001 - All Rights Reserved.
- * US Government Users Restricted Rights - Use, duplication or disclosure
- * restricted by GSA ADP Schedule Contract with IBM Corp.
- */
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.impl.AdapterImpl;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.common.util.WrappedException;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.URIConverter;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-import org.eclipse.jem.internal.java.adapters.jdk.JavaJDKAdapterFactory;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonArchiveFactoryRegistry;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonArchiveResourceHandler;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Container;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.File;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.ArchiveRuntimeException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.OpenFailureException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.ResourceLoadException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveOptions;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveURIConverterImpl;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.FileIterator;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.FileIteratorImpl;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseArchive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseConfigRegister;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.util.ArchiveUtil;
-import org.eclipse.jst.j2ee.internal.common.impl.J2EEResouceFactorySaxRegistry;
-import org.eclipse.jst.j2ee.internal.common.impl.J2EEResourceFactoryDomRegistry;
-import org.eclipse.jst.j2ee.internal.common.impl.J2EEResourceFactoryRegistry;
-import org.eclipse.wst.common.internal.emf.utilities.ExtendedEcoreUtil;
-
-/**
- * Abstact implementer off which and load strategy may subclass
- *
- * @see LoadStrategy
- */
-public abstract class LoadStrategyImpl extends AdapterImpl implements LoadStrategy {
-
- /** flag to indicate whether underlying resources have been closed */
- protected boolean isOpen = true;
-
- /** The archive or directory to which this strategy belongs */
- protected Container container;
-
- /** ResourceSet used for mof/xmi resources */
- protected ResourceSet resourceSet;
-
- protected LooseArchive looseArchive;
-
- protected Map collectedLooseArchiveFiles;
-
- protected boolean readOnly = false;
-
- private int rendererType;
-
- public LoadStrategyImpl() {
- super();
- }
-
- /**
- * @see Archive
- */
- public void addOrReplaceMofResource(Resource aResource) {
- Resource existingResource = getResourceSet().getResource(aResource.getURI(), false);
- if (existingResource != null)
- getResourceSet().getResources().remove(existingResource);
- getResourceSet().getResources().add(aResource);
- }
-
- protected void updateModificationTracking(Resource res) {
- boolean trackingMods = res.isTrackingModification();
- boolean isReadOnly = (container != null) ? ((Archive) container).getOptions().isReadOnly() : false;
- boolean shouldTrackMods = !(isReadOnly || ArchiveUtil.isJavaResource(res) || ArchiveUtil.isRegisteredURIMapping(res));
- if (shouldTrackMods && !trackingMods)
- res.setTrackingModification(true);
- }
-
- /**
- * Release any resources being held by this object and set the state to closed. Subclasses
- * should override as necessary
- */
- public void close() {
- setIsOpen(false);
- }
-
- protected abstract boolean primContains(String uri);
-
- /**
- * @see LoadStrategy
- */
- public boolean contains(String uri) {
- if (containsUsingLooseArchive(uri))
- return true;
- return primContains(uri);
- }
-
- /*
- * Try the resources path first; if that false, see if we have a child loose archive with the
- * uri
- */
- protected boolean containsUsingLooseArchive(String uri) {
- if (getLooseArchive() == null)
- return false;
-
- LooseArchive loose = getLooseArchive();
- if (loose.getResourcesPath() == null)
- return false;
-
- java.io.File aFile = new java.io.File(loose.getResourcesPath(), uri);
- if (aFile.exists())
- return true;
-
- return LooseConfigRegister.singleton().findFirstLooseChild(uri, loose) != null;
- }
-
- protected File createFile(String uri) {
- File aFile = null;
- if (isArchive(uri))
- aFile = openNestedArchive(uri);
- if (aFile == null) {
- aFile = getArchiveFactory().createFile();
- aFile.setURI(uri);
- aFile.setOriginalURI(uri);
- }
- aFile.setLoadingContainer(getContainer());
- return aFile;
- }
-
- protected void finalize() throws Throwable {
- close();
- }
-
- /**
- * @see LoadStrategy
- */
- public java.lang.String getAbsolutePath() throws FileNotFoundException {
- throw new FileNotFoundException(CommonArchiveResourceHandler.getString("Absolute_path_unknown_EXC_")); //$NON-NLS-1$ = "Absolute path unknown"
- }
-
- public String getResourcesPath() throws FileNotFoundException {
- return getLooseArchive() == null ? getAbsolutePath() : getLooseArchive().getResourcesPath();
- }
-
- protected String primGetResourcesPath() {
- return getLooseArchive() == null ? null : getLooseArchive().getResourcesPath();
- }
-
- public String getBinariesPath() throws FileNotFoundException {
- return getLooseArchive() == null ? getAbsolutePath() : getLooseArchive().getBinariesPath();
- }
-
- public CommonarchiveFactory getArchiveFactory() {
- return CommonArchiveFactoryRegistry.INSTANCE.getCommonArchiveFactory();
- }
-
- public Container getContainer() {
- return container;
- }
-
- public ResourceSet primGetResourceSet() {
- return resourceSet;
- }
-
- /**
- *
- * Should we iterate all the files in the archive as part of saving, or can we treat the archive
- * as one big file during save? The following rules apply, iterating the files if: 1) If the
- * archive is a module file and it is NOT read-only 2) If the load strategy is a directory 3) If
- * the archive is a utility JAR, and the files list has never been initialized, or if the
- * loading containers for all the files are the same AND not directories, AND the
- * {@link ArchiveOptions#isSaveLibrariesAsFiles()}of the archive is true.
- *
- * @see com.ibm.etools.archive.LoadStrategy#requiresIterationOnSave()
- */
- public boolean requiresIterationOnSave() {
- if (!getContainer().isArchive() || isDirectory())
- return true;
- Archive anArchive = (Archive) getContainer();
- //We should leave utility JARs intact, unless were told not to
- //The manifest may have been signed
- if (anArchive.isModuleFile())
- return !anArchive.getOptions().isReadOnly();
- else if (anArchive.getOptions().isSaveLibrariesAsFiles() && anArchive.getLoadingContainer() != null) {
- if (anArchive.isIndexed()) {
- List files = anArchive.getFiles();
- File aFile = null;
- Container firstContainer = null;
- Container lContainer = null;
- for (int i = 0; i < files.size(); i++) {
- aFile = (File) files.get(i);
- if (i == 0) {
- firstContainer = aFile.getLoadingContainer();
- if (firstContainer.getLoadStrategy().isDirectory())
- return true;
- }
- lContainer = aFile.getLoadingContainer();
- if (lContainer != firstContainer)
- return true;
- }
- }
- return false;
- } else
- return true;
- }
-
- public ResourceSet getResourceSet() {
- if (resourceSet == null) {
- initializeResourceSet();
- resourceSet.eAdapters().add(this);
- }
- return resourceSet;
- }
-
- /**
- * @see org.eclipse.emf.common.notify.impl.AdapterImpl#notifyChanged(Notification)
- */
- public void notifyChanged(Notification msg) {
- switch (msg.getEventType()) {
- case Notification.ADD :
- updateModificationTracking((Resource) msg.getNewValue());
- break;
- case Notification.ADD_MANY :
- List list = (List) msg.getNewValue();
- for (int i = 0; i < list.size(); i++) {
- updateModificationTracking((Resource) list.get(i));
- }
- default :
- break;
- }
- }
-
- /**
- * Used internally; clients should not need to call
- */
- public FileIterator getFileIterator() throws IOException {
- return new FileIteratorImpl(getContainer().getFiles());
- }
-
- /**
- * @see com.ibm.etools.archive.LoadStrategy
- */
- public abstract List getFiles();
-
- public List collectFiles() {
- //The loose archives need to be read first
- collectFilesFromLooseArchives();
- List files = getFiles();
- files.addAll(collectedLooseArchiveFiles.values());
- collectedLooseArchiveFiles = null;
- return files;
- }
-
- protected void collectFilesFromLooseArchives() {
- if (!canHaveLooseChildren() || getLooseArchive() == null) {
- collectedLooseArchiveFiles = Collections.EMPTY_MAP;
- return;
- }
-
- collectedLooseArchiveFiles = new HashMap();
- List children = LooseConfigRegister.singleton().getLooseChildren(getLooseArchive());
-
- for (int i = 0; i < children.size(); i++) {
- LooseArchive loose = (LooseArchive) children.get(i);
- String uri = loose.getUri();
- if (!collectedLooseArchiveFiles.containsKey(uri)) {
- Archive archive = openNestedArchive(loose);
- if (archive != null) {
- collectedLooseArchiveFiles.put(uri, archive);
- archive.setLoadingContainer(getContainer());
- }
- }
- }
- }
-
- /**
- * @see com.ibm.etools.archive.LoadStrategy
- */
- public abstract InputStream getInputStream(String uri) throws IOException, FileNotFoundException;
-
- public InputStream getResourceInputStream(String uri) throws IOException {
- return getResourceSet().getURIConverter().createInputStream(URI.createURI(uri));
- }
-
- /**
- * @see com.ibm.etools.commonarchive.Archive returns an immutable collection of the loaded
- * resources in the resource set
- */
- public Collection getLoadedMofResources() {
- Collection resources = getResourceSet().getResources();
- if (resources.isEmpty())
- return Collections.EMPTY_LIST;
-
- List result = new ArrayList(resources.size());
- Iterator iter = resources.iterator();
- while (iter.hasNext()) {
- Resource res = (Resource) iter.next();
- if (res.isLoaded())
- result.add(res);
- }
- return result;
- }
-
- /**
- * @see com.ibm.etools.commonarchive.Archive
- */
- public Resource getMofResource(String uri) throws FileNotFoundException, ResourceLoadException {
- try {
- return getResourceSet().getResource(URI.createURI(uri), true);
- } catch (WrappedException wrapEx) {
- if ((ExtendedEcoreUtil.getFileNotFoundDetector().isFileNotFound(wrapEx))) {
- FileNotFoundException fileNotFoundEx = ExtendedEcoreUtil.getInnerFileNotFoundException(wrapEx);
- throw fileNotFoundEx;
- }
- throwResourceLoadException(uri, wrapEx);
- return null; //never happens - compiler expects it though
- }
- }
-
- protected void initializeResourceSet() {
- //Not the best design here, because a load strategy should only know
- // about
- //container; however, this method will only get called when the
- // container
- //is an archive
- Archive archive = (Archive) getContainer();
- URIConverter converter = new ArchiveURIConverterImpl(archive, primGetResourcesPath());
- ResourceSet rs = new ResourceSetImpl();
- Resource.Factory.Registry reg = createResourceFactoryRegistry();
- rs.setResourceFactoryRegistry(reg);
- setResourceSet(rs);
- rs.setURIConverter(converter);
- if (archive.shouldUseJavaReflection()) {
- rs.getAdapterFactories().add(new JavaJDKAdapterFactory());
- archive.initializeClassLoader();
- }
- }
-
- protected Resource.Factory.Registry createResourceFactoryRegistry() {
- if (isReadOnly())
- return new J2EEResouceFactorySaxRegistry();
-
- Resource.Factory.Registry registry = null;
- switch (getRendererType()) {
- case ArchiveOptions.SAX :
- registry = new J2EEResouceFactorySaxRegistry();
- break;
- case ArchiveOptions.DOM :
- registry = new J2EEResourceFactoryDomRegistry();
- break;
- case ArchiveOptions.DEFAULT :
- default :
- registry = new J2EEResourceFactoryRegistry();
- break;
- }
- return registry;
- }
-
- /**
- * @return
- */
- public int getRendererType() {
- return rendererType;
- }
-
- protected boolean isArchive(String uri) {
- return ((Archive) getContainer()).isNestedArchive(uri);
- }
-
- /**
- * An archive uses a custom class loader for java reflection within a mof resourceSet;
- * implementers of LoadStrategy may supply a mof resourceSet for which this class loader is not
- * necessary, or could even cause breakage; this test gives the strategy the chance to "opt out"
- * of the class loading game
- */
- public boolean isClassLoaderNeeded() {
- return true;
- }
-
- /**
- * @see com.ibm.etools.archive.LoadStrategy The default is false
- */
- public boolean isDirectory() {
- return false;
- }
-
- /**
- * @see com.ibm.etools.archive.LoadStrategy#getExistingMofResource(String)
- */
- public Resource getExistingMofResource(String uri) {
- return getResourceSet().getResource(URI.createURI(uri), false);
- }
-
- public boolean isMofResourceLoaded(java.lang.String uri) {
- Resource res = getExistingMofResource(uri);
- return res != null && res.isLoaded();
- }
-
- public boolean isOpen() {
- return isOpen;
- }
-
- /**
- * @see com.ibm.etools.archive.LoadStrategy return false by default; subclasses should override
- * if necessary
- */
- public boolean isUsing(java.io.File aSystemFile) {
- return false;
- }
-
- public Resource makeMofResource(String uri, EList extent) {
- Resource existing = getExistingMofResource(uri);
- if (existing != null)
- return existing;
- return getResourceSet().createResource(URI.createURI(uri));
- }
-
- protected Archive openNestedArchive(String uri) {
-
- try {
- return ((Archive) getContainer()).openNestedArchive(uri);
- } catch (OpenFailureException e) {
- //Caught an exception trying to open the nested archive
- Logger.getLogger().logError(e);
- return null;
- }
-
- }
-
- protected Archive openNestedArchive(LooseArchive loose) {
-
- try {
- return ((Archive) getContainer()).openNestedArchive(loose);
- } catch (OpenFailureException e) {
- //Caught an exception trying to open the nested archive
- Logger.getLogger().logError(e);
- return null;
- }
-
- }
-
- public void setContainer(Container newContainer) {
- container = newContainer;
- }
-
- public void setResourceSet(org.eclipse.emf.ecore.resource.ResourceSet newResourceSet) {
- // fixes problem in reopen
- if (resourceSet != newResourceSet) {
-
- // remove adapter from old resource set
- if (resourceSet != null)
- resourceSet.eAdapters().remove(this);
-
- // add as adapter to new resource set if necessary
- if (newResourceSet != null && !newResourceSet.eAdapters().contains(this))
- newResourceSet.eAdapters().add(this);
-
- resourceSet = newResourceSet;
- } // no need to update if old set equals new set (by reference)
- }
-
- protected void setIsOpen(boolean newIsOpen) {
- isOpen = newIsOpen;
- }
-
- protected void throwResourceLoadException(String resourceUri, Exception ex) throws ResourceLoadException {
- throw new ResourceLoadException(CommonArchiveResourceHandler.getString("load_resource_EXC_", (new Object[]{resourceUri, getContainer().getURI()})), ex); //$NON-NLS-1$ = "Could not load resource "{0}" in archive "{1}""
- }
-
- /**
- * Gets the looseArchive.
- *
- * @return Returns a LooseArchive
- */
- public LooseArchive getLooseArchive() {
- return looseArchive;
- }
-
- /**
- * Sets the looseArchive.
- *
- * @param looseArchive
- * The looseArchive to set
- */
- public void setLooseArchive(LooseArchive looseArchive) {
- this.looseArchive = looseArchive;
- checkLoosePathsValid();
- }
-
- /*
- * Added to support WAS runtime; throw an ArchiveRuntimeException if one of the paths in the
- * loose config does not point to an existing file
- */
- protected void checkLoosePathsValid() {
- if (looseArchive == null)
- return;
-
- String path = looseArchive.getBinariesPath();
- if (path != null) {
- java.io.File ioFile = new java.io.File(path);
- if (!ioFile.exists())
- throw new ArchiveRuntimeException("Invalid binaries path: " + path); //$NON-NLS-1$
- }
- path = looseArchive.getResourcesPath();
- if (path != null) {
- java.io.File ioFile = new java.io.File(path);
- if (!ioFile.exists())
- throw new ArchiveRuntimeException("Invalid resources path: " + path); //$NON-NLS-1$
- }
- }
-
- protected boolean canHaveLooseChildren() {
- return container.isEARFile() || container.isWARFile();
- }
-
- public boolean isReadOnly() {
- return readOnly;
- }
-
- public void setReadOnly(boolean readOnly) {
- this.readOnly = readOnly;
- }
-
- /**
- * @param rendererType
- * The rendererType to set.
- */
- public void setRendererType(int rendererType) {
- this.rendererType = rendererType;
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/NestedArchiveLoadStrategyImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/NestedArchiveLoadStrategyImpl.java
deleted file mode 100644
index ec211da10..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/NestedArchiveLoadStrategyImpl.java
+++ /dev/null
@@ -1,260 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.strategy;
-
-
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipInputStream;
-
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonArchiveResourceHandler;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.File;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.NestedJarException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.FileIterator;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.NestedArchiveIterator;
-
-
-/**
- * Load strategy used as a last resort to read entries from jars inside of jars. It is a last resort
- * because of the poor perfomance involved, as the contents of the zip entries are not cached, and
- * sequential scan searches will cause the zip stream to be inflated on each search. Whenever
- * possible,
- *
- * @link {TempFileLoadStrategy} should be used.
- */
-public class NestedArchiveLoadStrategyImpl extends LoadStrategyImpl {
- /**
- * Index to improve lookup performance - not used if in Runtime to reduce footprint
- */
- protected Map urisToPositions;
- protected LoadStrategy parent;
-
- /**
- * NestedArchiveLoadStrategyImpl constructor comment.
- */
- public NestedArchiveLoadStrategyImpl(LoadStrategy parentStrategy) {
- super();
- setParent(parentStrategy);
- }
-
- protected void buildIndex() {
- Map map = new HashMap();
- try {
- ZipInputStream zis = getZipInputStream();
- ZipEntry entry = null;
- long position = 0;
- while ((entry = zis.getNextEntry()) != null) {
- position++;
- map.put(entry.getName(), new Long(position));
- }
- } catch (IOException iox) {
- throwNestedJarException(iox);
- }
- setUrisToPositions(map);
- }
-
- /**
- * @see com.ibm.etools.archive.impl.LoadStrategyImpl
- */
- protected boolean primContains(String uri) {
- if (usingIndex())
- return containsUsingIndex(uri);
- return containsSequentially(uri);
- }
-
-
- protected boolean containsSequentially(String uri) {
- ZipInputStream zis = null;
- try {
- zis = getZipInputStreamSkippedTo(uri);
- return zis != null;
- } catch (IOException ex) {
- return false;
- } finally {
- if (zis != null) {
- try {
- zis.close();
- } catch (IOException ioe) {
- //Ignore
- }
- }
- }
- }
-
-
- protected boolean containsUsingIndex(String uri) {
- return getUrisToPositions().containsKey(uri);
- }
-
-
- /**
- * Used internally; clients should not need to call
- */
- public FileIterator getFileIterator() throws IOException {
- if (((Archive) getContainer()).getOptions().isReadOnly())
- return new NestedArchiveIterator(getContainer().getFiles(), getZipInputStream());
- return super.getFileIterator();
- }
-
- /**
- * @see com.ibm.etools.archive.impl.LoadStrategyImpl
- */
- public java.util.List getFiles() {
- List list = new ArrayList(500);
- ZipInputStream zis = null;
- try {
- zis = getZipInputStream();
- ZipEntry entry = zis.getNextEntry();
- while (entry != null) {
- if (!entry.isDirectory()) {
- File aFile = createFile(entry.getName());
- aFile.setSize(entry.getSize());
- aFile.setLastModified(entry.getTime());
- list.add(aFile);
- }
- entry = zis.getNextEntry();
- }
- } catch (IOException iox) {
- throwNestedJarException(iox);
- } finally {
- if (zis != null) {
- try {
- zis.close();
- } catch (IOException iox) {
- //Ignore
- }
- }
- }
- return list;
- }
-
- /**
- * @see com.ibm.etools.archive.impl.LoadStrategyImpl
- */
- public java.io.InputStream getInputStream(String uri) throws IOException, FileNotFoundException {
- if (usingIndex())
- return getInputStreamUsingIndex(uri);
- return getInputStreamSequentially(uri);
- }
-
- protected java.io.InputStream getInputStreamSequentially(String uri) throws IOException, FileNotFoundException {
- return new java.io.BufferedInputStream(getZipInputStreamSkippedTo(uri));
- }
-
- protected java.io.InputStream getInputStreamUsingIndex(String uri) throws IOException, FileNotFoundException {
- Long position = (Long) getUrisToPositions().get(uri);
- if (position == null)
- throw new FileNotFoundException();
- ZipInputStream zis = getZipInputStream();
- long pos = position.longValue();
- for (long i = 0; i < pos; i++) {
- zis.getNextEntry();
- }
- return new java.io.BufferedInputStream(zis);
- }
-
- /**
- * Insert the method's description here. Creation date: (12/07/00 6:12:36 PM)
- *
- * @return com.ibm.etools.archive.LoadStrategy
- */
- public org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.LoadStrategy getParent() {
- return parent;
- }
-
- /**
- * Insert the method's description here. Creation date: (12/07/00 4:38:21 PM)
- *
- * @return java.util.Map
- */
- public java.util.Map getUrisToPositions() {
- if (usingIndex() && urisToPositions == null)
- buildIndex();
- return urisToPositions;
- }
-
- protected ZipInputStream getZipInputStream() throws IOException, FileNotFoundException {
- String uri = getContainer().getURI();
- InputStream in = getParent().getInputStream(uri);
- return new ZipInputStream(in);
- }
-
- protected ZipInputStream getZipInputStreamSkippedTo(String uri) throws IOException, FileNotFoundException {
- if (uri == null)
- throw new NullPointerException(CommonArchiveResourceHandler.getString("Null_uri_EXC_")); //$NON-NLS-1$ = "Null uri"
- ZipInputStream zis = null;
- ZipEntry entry = null;
- try {
- zis = getZipInputStream();
- entry = zis.getNextEntry();
- while (entry != null) {
- if (uri.equals(entry.getName()))
- return zis;
- entry = zis.getNextEntry();
- }
- } finally {
- // entry was not found so close the stream
- if (entry == null && zis != null) {
- try {
- zis.close();
- } catch (IOException ioe) {
- //Ignore
- }
- }
- }
- throw new FileNotFoundException(uri);
- }
-
- /**
- * Insert the method's description here. Creation date: (12/07/00 6:12:36 PM)
- *
- * @param newParent
- * com.ibm.etools.archive.LoadStrategy
- */
- public void setParent(org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.LoadStrategy newParent) {
- parent = newParent;
- }
-
- /**
- * Insert the method's description here. Creation date: (12/07/00 4:38:21 PM)
- *
- * @param newUrisToPositions
- * java.util.Map
- */
- public void setUrisToPositions(java.util.Map newUrisToPositions) {
- urisToPositions = newUrisToPositions;
- }
-
- /**
- * An exception was caught reading the nested jar; throws a runtime exception
- */
- protected void throwNestedJarException(Exception caughtException) {
- throw new NestedJarException(CommonArchiveResourceHandler.getString("nested_jar_EXC_", (new Object[]{getContainer().getURI(), getParent().getContainer().getURI()})), caughtException);//$NON-NLS-1$ = "An error occurred reading {0} from {1}"
- }
-
- /**
- * Don't use the index in the runtime environment; reduce footprint
- */
- public boolean usingIndex() {
- return false;
- //return !com.ibm.etools.archive.util.ArchiveUtil.isRuntime();
- }
-
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/NullLoadStrategyImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/NullLoadStrategyImpl.java
deleted file mode 100644
index 5ef61c3f4..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/NullLoadStrategyImpl.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.strategy;
-
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * No-op implementer used for new archive instances, which have their contents added and copied from
- * other sources
- */
-public class NullLoadStrategyImpl extends LoadStrategyImpl {
- protected static List emptyList = new ArrayList(0);
-
- /**
- * NullLoadStrategy constructor comment.
- */
- public NullLoadStrategyImpl() {
- super();
- }
-
- /**
- * @see com.ibm.etools.archive.impl.LoadStrategyImpl
- */
- public boolean contains(String uri) {
- return false;
- }
-
- protected boolean primContains(String uri) {
- return false;
- }
-
- /**
- * @see com.ibm.etools.archive.impl.LoadStrategyImpl
- */
- public java.util.List getFiles() {
- return emptyList;
- }
-
- /**
- * @see com.ibm.etools.archive.impl.LoadStrategyImpl
- */
- public java.io.InputStream getInputStream(String uri) throws java.io.IOException, java.io.FileNotFoundException {
- throw new java.io.FileNotFoundException(uri);
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/RarExportStrategyImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/RarExportStrategyImpl.java
deleted file mode 100644
index 87e77e3b1..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/RarExportStrategyImpl.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.strategy;
-
-
-
-
-/**
- * Concrete implementer that knows how to export meta-data for a J2C Resource Adapter
- */
-public class RarExportStrategyImpl extends ExportStrategyImpl {
- /**
- * RarExportStrategy constructor comment.
- */
- public RarExportStrategyImpl() {
- super();
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/RarImportStrategyImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/RarImportStrategyImpl.java
deleted file mode 100644
index 10c35f8b9..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/RarImportStrategyImpl.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.strategy;
-
-
-
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonArchiveResourceHandler;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.RARFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveTypeDiscriminator;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveTypeDiscriminatorImpl;
-import org.eclipse.jst.j2ee.internal.J2EEConstants;
-import org.eclipse.jst.j2ee.internal.xml.J2EEXmlDtDEntityResolver;
-import org.eclipse.jst.j2ee.jca.Connector;
-
-
-/**
- * Concrete implementer that knows how to import meta-data for a J2C Resource Adapter
- */
-public class RarImportStrategyImpl extends XmlBasedImportStrategyImpl {
-
- public static class Discriminator extends ArchiveTypeDiscriminatorImpl {
- public boolean canImport(Archive anArchive) {
- return anArchive.containsFile(J2EEConstants.RAR_DD_URI);
- }
-
- /**
- * @see com.ibm.etools.archive.ArchiveTypeDiscriminator
- */
- public org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.ImportStrategy createImportStrategy(Archive old, Archive newArchive) {
- return new RarImportStrategyImpl();
- }
-
- public String getUnableToOpenMessage() {
- return getXmlDDMessage(CommonArchiveResourceHandler.getString("RAR_File"), J2EEConstants.RAR_DD_URI); //$NON-NLS-1$ = "RAR File"
- }
-
- public Archive createConvertedArchive() {
- return getArchiveFactory().createRARFile();
- }
- }
-
- protected static Discriminator discriminator;
-
- /**
- * RarImportStrategy constructor comment.
- */
- public RarImportStrategyImpl() {
- super();
- }
-
- /**
- * @see com.ibm.etools.archive.ImportStrategy
- */
- public org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.ImportStrategy createImportStrategy(Archive old, Archive newArchive) {
- return getDiscriminator().createImportStrategy(old, newArchive);
- }
-
- public static ArchiveTypeDiscriminator getDiscriminator() {
- if (discriminator == null) {
- discriminator = new Discriminator();
- // Connectors use their own special entity resolver for now...
- J2EEXmlDtDEntityResolver.registerDtD(J2EEConstants.CONNECTOR_SYSTEMID_1_0, "connector_1_0.dtd"); //$NON-NLS-1$
- }
- return discriminator;
- }
-
- public RARFile getRARFile() {
- return (RARFile) getArchive();
- }
-
- /**
- * @see com.ibm.etools.archive.ImportStrategy
- */
- public void importMetaData() throws Exception {
- loadDeploymentDescriptor();
- }
-
- public void loadDeploymentDescriptor() throws Exception {
- Connector connector = null;
-
- connector = (Connector) primLoadDeploymentDescriptor();
- getRARFile().setDeploymentDescriptor(connector);
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/ReadOnlyDirectoryLoadStrategyImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/ReadOnlyDirectoryLoadStrategyImpl.java
deleted file mode 100644
index cf08edb88..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/ReadOnlyDirectoryLoadStrategyImpl.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.strategy;
-
-
-
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ReadOnlyDirectory;
-
-public class ReadOnlyDirectoryLoadStrategyImpl extends DirectoryLoadStrategyImpl {
- protected java.io.File subdirectory;
-
- /**
- * ReadOnlyDirectoryLoadStrategy constructor comment.
- */
- public ReadOnlyDirectoryLoadStrategyImpl(String aDirectoryUri) {
- super(aDirectoryUri);
- }
-
- /**
- * ReadOnlyDirectoryLoadStrategy constructor comment.
- */
- public ReadOnlyDirectoryLoadStrategyImpl(String rootDirectoryUri, java.io.File subdir) {
- super(rootDirectoryUri);
- setSubdirectory(subdir);
- }
-
- /**
- * addDirectory method comment.
- */
- protected void addDirectory(java.io.File aFile, java.util.List aList) {
- ReadOnlyDirectory dir = getArchiveFactory().createReadOnlyDirectory();
- dir.setLastModified(aFile.lastModified());
- dir.setURI(getURIFrom(aFile));
- dir.setLoadingContainer(getContainer());
- dir.setLoadStrategy(new ReadOnlyDirectoryLoadStrategyImpl(getDirectoryUri(), aFile));
- aList.add(dir);
-
- }
-
- public boolean contains(java.lang.String uri) {
- return super.contains(uri) && (getSubdirectory() == null || subdirectoryContains(uri));
- }
-
- /**
- * @see com.ibm.etools.archive.LoadStrategy
- */
- public java.lang.String getAbsolutePath() throws java.io.FileNotFoundException {
- java.io.File subdir = getSubdirectory();
- if (subdir == null) {
- return super.getAbsolutePath();
- }
- return subdir.getAbsolutePath();
- }
-
- /**
- * getDirectoryForList method comment.
- */
- protected java.io.File getDirectoryForList() {
- if (getSubdirectory() != null)
- return getSubdirectory();
- return new java.io.File(getDirectoryUri());
- }
-
- /**
- * Insert the method's description here. Creation date: (01/08/01 1:10:47 PM)
- *
- * @return java.io.File
- */
- protected java.io.File getSubdirectory() {
- return subdirectory;
- }
-
- /**
- * Always return false, because we want to treat the entries in a file system directory as basic
- * files
- */
- protected boolean isArchive(String uri) {
- return false;
- }
-
- /**
- * Insert the method's description here. Creation date: (01/08/01 1:10:47 PM)
- *
- * @param newSubdirectory
- * java.io.File
- */
- protected void setSubdirectory(java.io.File newSubdirectory) {
- subdirectory = newSubdirectory;
- }
-
- protected boolean subdirectoryContains(String uri) {
- if (getSubdirectory() == null)
- return false;
- java.io.File aFile = new java.io.File(getFileNameFrom(uri)).getParentFile();
- boolean contains = false;
- while (aFile != null && !contains) {
- if (getSubdirectory().equals(aFile)) {
- contains = true;
- } else {
- aFile = aFile.getParentFile();
- }
- }
- return contains;
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/SaveStrategy.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/SaveStrategy.java
deleted file mode 100644
index d3bce2cb3..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/SaveStrategy.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.strategy;
-
-
-
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.File;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveManifest;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.FileIterator;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.SaveFilter;
-
-
-/**
- * Knows how to export the contents of an archive file. This provides a delegation model saving the
- * archive. Examples might include exporting to a zip output stream, to the file system, or into a
- * workbench.
- */
-public interface SaveStrategy extends ArchiveStrategy {
- /**
- * Close and release any resources being held by this object
- */
- public void close() throws java.io.IOException;
-
- /**
- * Notify resources if necessary that save is complete for this archive, being careful not to
- * close any resources that a parent archive might still be using
- */
- public void finish() throws java.io.IOException;
-
- public SaveFilter getFilter();
-
- /**
- * Returns whether this archive is saving files to a directory on the file system
- */
- public boolean isDirectory();
-
- public void save() throws org.eclipse.jst.j2ee.commonarchivecore.internal.exception.SaveFailureException;
-
- public void save(ArchiveManifest aManifest) throws org.eclipse.jst.j2ee.commonarchivecore.internal.exception.SaveFailureException;
-
- public void save(File aFile, FileIterator iterator) throws org.eclipse.jst.j2ee.commonarchivecore.internal.exception.SaveFailureException;
-
- public void save(File aFile, java.io.InputStream in) throws org.eclipse.jst.j2ee.commonarchivecore.internal.exception.SaveFailureException;
-
- public void saveMofResource(Resource aResource) throws org.eclipse.jst.j2ee.commonarchivecore.internal.exception.SaveFailureException;
-
- public void setFilter(SaveFilter aFilter);
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/SaveStrategyImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/SaveStrategyImpl.java
deleted file mode 100644
index 19549c679..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/SaveStrategyImpl.java
+++ /dev/null
@@ -1,280 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.strategy;
-
-
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonArchiveResourceHandler;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.File;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ModuleFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.SaveFailureException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveManifest;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.FileIterator;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.SaveFilter;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.SaveFilterImpl;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.util.ArchiveUtil;
-import org.eclipse.jst.j2ee.internal.J2EEConstants;
-import org.eclipse.wst.common.internal.emf.resource.CompatibilityXMIResource;
-import org.eclipse.wst.common.internal.emf.resource.TranslatorResource;
-import org.eclipse.wst.common.internal.emf.utilities.Revisit;
-
-
-/**
- * Abstract implementer off which any save strategy can subclass
- *
- * @see com.ibm.etools.archive.SaveStrategy
- */
-
-public abstract class SaveStrategyImpl extends ArchiveStrategyImpl implements SaveStrategy {
- protected SaveFilter filter;
-
- /**
- * SaveStrategyImpl constructor comment.
- */
- public SaveStrategyImpl() {
- super();
- }
-
- /**
- * The default is to do nothing - subclasses should override as necessary
- */
- public void close() throws java.io.IOException {
- //Default
- }
-
- protected abstract SaveStrategy createNestedSaveStrategy(Archive anArchive) throws java.io.IOException;
-
- /**
- * The default is to do nothing - subclasses should override as necessary
- */
- public void finish() throws java.io.IOException {
- //Default
- }
-
- /**
- * Insert the method's description here. Creation date: (02/28/01 4:11:28 PM)
- *
- * @return com.ibm.etools.archive.SaveFilter
- */
- public org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.SaveFilter getFilter() {
- if (filter == null)
- filter = new SaveFilterImpl();
- return filter;
- }
-
- protected abstract OutputStream getOutputStreamForResource(Resource aResource) throws java.io.IOException;
-
- /**
- * @see com.ibm.etools.archive.SaveStrategy
- */
- public boolean isDirectory() {
- return false;
- }
-
- protected boolean isLoadedResourceOrManifest(File aFile) {
- return getArchive().isMofResourceLoaded(aFile.getURI()) || aFile.getURI().equals(J2EEConstants.MANIFEST_URI);
- }
-
- public void save() throws SaveFailureException {
-
- saveManifest();
- saveMofResources();
- saveFiles();
-
- }
-
- /**
- * @see com.ibm.etools.archive.SaveStrategy
- */
- public void save(Archive anArchive) throws SaveFailureException {
- SaveStrategy strat = null;
- try {
- strat = createNestedSaveStrategy(anArchive);
- } catch (java.io.IOException iox) {
- throw new SaveFailureException(anArchive.getURI(), iox);
- }
- anArchive.save(strat);
-
- }
-
- /**
- * @see com.ibm.etools.archive.SaveStrategy
- */
- public void save(File aFile, FileIterator iterator) throws SaveFailureException {
- if (aFile.isArchive() && shouldIterateOver((Archive) aFile))
- save((Archive) aFile);
- else {
- InputStream in = null;
- if (!aFile.isDirectoryEntry()) {
- try {
- in = iterator.getInputStream(aFile);
- } catch (IOException ex) {
- throw new SaveFailureException(aFile.getURI(), ex);
- }
- }
- save(aFile, in);
- }
- }
-
- public abstract void save(File aFile, InputStream in) throws SaveFailureException;
-
- protected void saveFiles() throws SaveFailureException {
- try {
- FileIterator iterator = getArchive().getFilesForSave();
- while (iterator.hasNext()) {
- File aFile = iterator.next();
- if (shouldSave(aFile))
- save(aFile, iterator);
- }
- } catch (IOException iox) {
- throw new SaveFailureException(CommonArchiveResourceHandler.getString("Error_occurred_iterating_f_EXC_"), iox); //$NON-NLS-1$ = "Error occurred iterating files"
- }
- }
-
- protected void saveManifest() throws SaveFailureException {
- if (!shouldSave(J2EEConstants.MANIFEST_URI))
- return;
- ArchiveManifest mf = getArchive().getManifest();
- if (mf.getManifestVersion() == null || mf.getManifestVersion().equals(""))//$NON-NLS-1$
- mf.setManifestVersion("1.0");//$NON-NLS-1$
- save(mf);
- }
-
- /**
- * @see com.ibm.etools.archive.SaveStrategy
- */
- public void saveMofResource(org.eclipse.emf.ecore.resource.Resource aResource) throws SaveFailureException {
- if (!shouldSave(aResource))
- return;
- setEncoding(aResource);
- try {
- boolean wasModified = aResource.isModified();
- OutputStream os = getOutputStreamForResource(aResource);
- saveMofResource(aResource, os);
- aResource.setModified(wasModified);
- } catch (Exception e) {
- throw new SaveFailureException(aResource.getURI().toString(), e);
- }
- }
-
- /**
- * @see com.ibm.etools.archive.SaveStrategy
- */
- protected void saveMofResource(org.eclipse.emf.ecore.resource.Resource aResource, OutputStream os) throws IOException {
- aResource.save(os, Collections.EMPTY_MAP);
- }
-
- protected void saveMofResources() throws SaveFailureException {
- Iterator iterator = getArchive().getLoadedMofResources().iterator();
- //We have to go through this process because java resources could get added during the
- //process of iterating and saving, and adding to a collection while iterating causes a
- // failure
- List xmiResources = new ArrayList();
- //We will save the xmi resources first, then the xml resources. This way the
- //any necessary id's for referenced objects will have been generated prior to save
- List xmlResources = new ArrayList();
- Resource res = null;
- while (iterator.hasNext()) {
- res = (Resource) iterator.next();
- // We don't want to save the java reflection resources or uri mapped resources
- if (!ArchiveUtil.isJavaResource(res) && !ArchiveUtil.isRegisteredURIMapping(res) && !ArchiveUtil.isPlatformMetaResource(res)) {
- Revisit.revisit();
- //For now, always use the mof5 format
- if (res instanceof CompatibilityXMIResource)
- ((CompatibilityXMIResource) res).setFormat(CompatibilityXMIResource.FORMAT_MOF5);
- if (res instanceof TranslatorResource)
- xmlResources.add(res);
- else {
- xmiResources.add(res);
- }
- }
- }
- basicSaveMofResources(xmiResources);
- basicSaveMofResources(xmlResources);
- }
-
- protected void basicSaveMofResources(List resources) throws SaveFailureException {
- Resource res = null;
- for (int i = 0; i < resources.size(); i++) {
- res = (Resource) resources.get(i);
- saveMofResource(res);
-
- }
- }
-
- protected void setEncoding(Resource aResource) {
- if (aResource instanceof org.eclipse.emf.ecore.xmi.XMLResource)
- ((org.eclipse.emf.ecore.xmi.XMLResource) aResource).setEncoding(archive.getXmlEncoding());
- }
-
- /**
- * Insert the method's description here. Creation date: (02/28/01 4:11:28 PM)
- *
- * @param newFilter
- * com.ibm.etools.archive.SaveFilter
- */
- public void setFilter(org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.SaveFilter newFilter) {
- filter = newFilter;
- }
-
- /**
- * Answer whether the nested archive needs to be saved one file at a time, or if we can bulk
- * save it from the original
- */
- protected boolean shouldIterateOver(Archive anArchive) {
- return anArchive.getLoadStrategy().requiresIterationOnSave();
- }
-
- protected boolean shouldSave(File aFile) {
- boolean loaded = isLoadedResourceOrManifest(aFile);
- if (loaded) {
- Resource res = archive.getLoadStrategy().getExistingMofResource(aFile.getURI());
- if (res == null)
- return false;
- //must be manifest
- return !shouldSave(res);
- }
-
- if (getArchive().isModuleFile()) {
- ModuleFile m = (ModuleFile) getArchive();
- if (m.getExportStrategy() != null && m.getExportStrategy().hasSaved(aFile.getURI()))
- return false;
- }
- return shouldSave(aFile.getURI());
- }
-
- protected boolean shouldSave(Resource res) {
- if (!res.isModified() && getArchive().getOptions().saveOnlyDirtyMofResources())
- return false;
-
- return shouldSave(res.getURI().toString());
- }
-
-
- /**
- * This is the one method through which all elements of an archive (file, nested archive, mof
- * resource, or manifest) will be tested before saving. Subclasses can override to do something
- * more specific
- */
- protected boolean shouldSave(String uri) {
- return getFilter().shouldSave(uri, getArchive());
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/TempZipFileLoadStrategyImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/TempZipFileLoadStrategyImpl.java
deleted file mode 100644
index 54a85d29e..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/TempZipFileLoadStrategyImpl.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.strategy;
-
-
-
-import java.io.FileNotFoundException;
-
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonArchiveResourceHandler;
-
-
-/**
- * Used as an optimization for reading jars within jars. Reading from a ZipFile is much faster than
- * from a ZipInputStream, therefore, when possible, it makes sense to copy the nested jar to a temp
- * file. It is the responsibility of the caller to ensure that the temp file gets deleted on normal
- * system exit, using the helper method on java.io.File. This strategy will also delete the file
- * when closed or finalized.
- */
-public class TempZipFileLoadStrategyImpl extends ZipFileLoadStrategyImpl {
- /**
- * TemporaryZipFileLoadStrategyImpl constructor comment.
- */
- public TempZipFileLoadStrategyImpl() {
- super();
- }
-
- /**
- * TemporaryZipFileLoadStrategyImpl constructor comment.
- *
- * @param file
- * java.io.File
- * @throws java.io.IOException
- * The exception description.
- */
- public TempZipFileLoadStrategyImpl(java.io.File file) throws java.io.IOException {
- super(file);
- }
-
- public void close() {
- super.close();
- getFile().delete();
- }
-
- /**
- * @see com.ibm.etools.archive.LoadStrategy
- */
- public java.lang.String getAbsolutePath() throws java.io.FileNotFoundException {
- throw new FileNotFoundException(CommonArchiveResourceHandler.getString("Absolute_path_unknown_EXC_")); //$NON-NLS-1$ = "Absolute path unknown"
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/War22ExportStrategyImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/War22ExportStrategyImpl.java
deleted file mode 100644
index 2120efce9..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/War22ExportStrategyImpl.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.strategy;
-
-
-
-
-/**
- * Concrete implementer that knows how to export meta-data for a 2.2 Web app
- */
-public class War22ExportStrategyImpl extends ExportStrategyImpl {
- /**
- * War22ExportStrategy constructor comment.
- */
- public War22ExportStrategyImpl() {
- super();
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/War22ImportStrategyImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/War22ImportStrategyImpl.java
deleted file mode 100644
index 3d14872ff..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/War22ImportStrategyImpl.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.strategy;
-
-
-
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonArchiveResourceHandler;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.WARFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveTypeDiscriminator;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveTypeDiscriminatorImpl;
-import org.eclipse.jst.j2ee.internal.J2EEConstants;
-import org.eclipse.jst.j2ee.webapplication.WebApp;
-
-
-/**
- * Concrete implementer that knows how to import meta-data for a 2.2 Web app
- */
-public class War22ImportStrategyImpl extends XmlBasedImportStrategyImpl {
-
- public static class Discriminator extends ArchiveTypeDiscriminatorImpl {
- public boolean canImport(Archive anArchive) {
- return anArchive.containsFile(J2EEConstants.WEBAPP_DD_URI);
- }
-
- /**
- * @see com.ibm.etools.archive.ArchiveTypeDiscriminator
- */
- public org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.ImportStrategy createImportStrategy(Archive old, Archive newArchive) {
- return new War22ImportStrategyImpl();
- }
-
- public String getUnableToOpenMessage() {
- return getXmlDDMessage(CommonArchiveResourceHandler.getString("WAR_File"), J2EEConstants.WEBAPP_DD_URI); //$NON-NLS-1$ = "WAR File"
- }
-
- public Archive createConvertedArchive() {
- return getArchiveFactory().createWARFile();
- }
- }
-
- protected static Discriminator discriminator;
-
- /**
- * War22ImportStrategy constructor comment.
- */
- public War22ImportStrategyImpl() {
- super();
- }
-
- /**
- * @see com.ibm.etools.archive.ImportStrategy
- */
- public org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.ImportStrategy createImportStrategy(Archive old, Archive newArchive) {
- return getDiscriminator().createImportStrategy(old, newArchive);
- }
-
- public static ArchiveTypeDiscriminator getDiscriminator() {
- if (discriminator == null) {
- discriminator = new Discriminator();
- }
- return discriminator;
- }
-
- public WARFile getWARFile() {
- return (WARFile) getArchive();
- }
-
- /**
- * @see com.ibm.etools.archive.ImportStrategy
- */
- public void importMetaData() throws Exception {
- loadDeploymentDescriptor();
- }
-
- public void loadDeploymentDescriptor() throws Exception {
-
- WebApp webapp = null;
- webapp = (WebApp) primLoadDeploymentDescriptor();
-
- getWARFile().setDeploymentDescriptor(webapp);
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/XmlBasedImportStrategyImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/XmlBasedImportStrategyImpl.java
deleted file mode 100644
index f36bfe0e0..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/XmlBasedImportStrategyImpl.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.strategy;
-
-
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ModuleFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.util.ArchiveUtil;
-
-
-/**
- * Abstract implementer for archives that use xml deployment descriptors
- */
-public abstract class XmlBasedImportStrategyImpl extends ImportStrategyImpl {
- /**
- * XmlBasedImportStrategy constructor comment.
- */
- public XmlBasedImportStrategyImpl() {
- super();
- }
-
- public ModuleFile getModuleFile() {
- return (ModuleFile) getArchive();
- }
-
- protected EObject primLoadDeploymentDescriptor() throws Exception {
- Resource resource = null;
-
- resource = getModuleFile().getDeploymentDescriptorResource();
- EObject root = null;
-
- root = ArchiveUtil.getRoot(resource);
-
- return root;
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/ZipFileLoadStrategyImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/ZipFileLoadStrategyImpl.java
deleted file mode 100644
index 2c03dbfb0..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/ZipFileLoadStrategyImpl.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.strategy;
-
-
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.List;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-import org.eclipse.jst.j2ee.commonarchivecore.internal.File;
-
-
-/**
- * Implementer that knows how to read files from a zip/jar file on the local file system
- *
- * @see LoadStrategy
- */
-
-public class ZipFileLoadStrategyImpl extends LoadStrategyImpl {
- protected java.io.File file;
- protected ZipFile zipFile;
-
- /**
- * ZipFileLoadStrategy constructor comment.
- */
- public ZipFileLoadStrategyImpl() {
- super();
- }
-
- /**
- * ZipFileLoadStrategy constructor comment.
- */
- public ZipFileLoadStrategyImpl(java.io.File file) throws IOException {
- super();
- setFile(file);
- setZipFile(new ZipFile(file));
- }
-
- public void close() {
- super.close();
- try {
- getZipFile().close();
- } catch (Throwable t) {
- //Ignore
- }
- }
-
- /**
- * @see com.ibm.etools.archive.impl.LoadStrategyImpl
- */
- protected boolean primContains(java.lang.String uri) {
- return getZipFile().getEntry(uri) != null;
- }
-
- /**
- * @see com.ibm.etools.archive.LoadStrategy
- */
- public java.lang.String getAbsolutePath() throws java.io.FileNotFoundException {
- return getFile().getAbsolutePath();
- }
-
- /**
- * Insert the method's description here. Creation date: (12/20/00 4:40:14 PM)
- *
- * @return java.io.File
- */
- public java.io.File getFile() {
- return file;
- }
-
- /**
- * @see com.ibm.etools.archive.impl.LoadStrategyImpl
- */
- public java.util.List getFiles() {
- List list = new ArrayList();
- Enumeration entries = getZipFile().entries();
- while (entries.hasMoreElements()) {
- ZipEntry entry = (ZipEntry) entries.nextElement();
- if (!entry.isDirectory() && !collectedLooseArchiveFiles.containsKey(entry.getName())) {
- File aFile = createFile(entry.getName());
- aFile.setSize(entry.getSize());
- aFile.setLastModified(entry.getTime());
- list.add(aFile);
- }
- }
- return list;
- }
-
- /**
- * @see com.ibm.etools.archive.impl.LoadStrategyImpl
- */
- public java.io.InputStream getInputStream(java.lang.String uri) throws IOException, FileNotFoundException {
- try {
- ZipEntry entry = getZipFile().getEntry(uri);
- if (entry == null)
- throw new FileNotFoundException(uri);
-
- return new java.io.BufferedInputStream(getZipFile().getInputStream(entry));
- } catch (IllegalStateException zipClosed) {
- throw new IOException(zipClosed.toString());
- }
- }
-
- /**
- * Insert the method's description here. Creation date: (11/01/00 11:28:12 AM)
- *
- * @return java.util.zip.ZipFile
- */
- public java.util.zip.ZipFile getZipFile() {
- return zipFile;
- }
-
- /**
- * @see com.ibm.etools.archive.LoadStrategy
- */
- public boolean isUsing(java.io.File aSystemFile) {
- return getFile() != null && getFile().equals(aSystemFile);
- }
-
- /**
- * Insert the method's description here. Creation date: (12/20/00 4:40:14 PM)
- *
- * @param newFile
- * java.io.File
- */
- public void setFile(java.io.File newFile) {
- file = newFile;
- }
-
-
- /**
- * Insert the method's description here. Creation date: (11/01/00 11:28:12 AM)
- *
- * @param newZipFile
- * java.util.zip.ZipFile
- */
- public void setZipFile(java.util.zip.ZipFile newZipFile) {
- zipFile = newZipFile;
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/ZipStreamSaveStrategyImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/ZipStreamSaveStrategyImpl.java
deleted file mode 100644
index 445c878f4..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/ZipStreamSaveStrategyImpl.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.strategy;
-
-
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipOutputStream;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.URIConverter;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.File;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.SaveFailureException;
-import org.eclipse.jst.j2ee.internal.J2EEConstants;
-import org.eclipse.wst.common.internal.emf.resource.CompatibilityURIConverter;
-import org.eclipse.wst.common.internal.emf.utilities.Revisit;
-
-
-/**
- * This is a concrete implentation of SaveStrategy. All the contents of the archive, including xmi
- * resources, will be output to a ZipOutputStream. The output stream should be passed in by the
- * client.
- */
-public class ZipStreamSaveStrategyImpl extends SaveStrategyImpl implements SaveStrategy {
- protected OutputStream destinationStream;
- /** Used internally */
- protected ZipOutputStream zipOutputStream;
-
- /**
- * Wraps a new zip output stream around the parameter
- */
- public ZipStreamSaveStrategyImpl(OutputStream out) {
- setDestinationStream(out);
- setZipOutputStream(new ZipOutputStream(out));
- }
-
- public void close() throws IOException {
- getDestinationStream().close();
- }
-
- protected SaveStrategy createNestedSaveStrategy(Archive anArchive) {
- return new ZipStreamSaveStrategyImpl(getZipOutputStream());
- }
-
- public void finish() throws IOException {
- getZipOutputStream().finish();
- //If this is not nested, close the stream to free up the resource
- //otherwise, don't close it because the parent may not be done
- if (!(getDestinationStream() instanceof ZipOutputStream))
- getDestinationStream().close();
- }
-
- /**
- * @return java.io.OutputStream
- */
- public java.io.OutputStream getDestinationStream() {
- return destinationStream;
- }
-
- /**
- * @see com.ibm.etools.archive.impl.SaveStrategyImpl
- */
- protected java.io.OutputStream getOutputStreamForResource(Resource aResource) throws java.io.IOException {
- return getZipOutputStream();
- }
-
- /**
- * @see com.ibm.etools.archive.SaveStrategy#saveMofResource(Resource)
- */
- public void saveMofResource(Resource aResource, OutputStream out) throws IOException {
- Revisit.revisit();
- URI uri = aResource.getURI();
- //Ensure container relative URI
- URIConverter conv = getArchive().getResourceSet().getURIConverter();
- if (conv instanceof CompatibilityURIConverter)
- uri = ((CompatibilityURIConverter) conv).deNormalize(uri);
- ZipEntry entry = new ZipEntry(uri.toString());
- zipOutputStream.putNextEntry(entry);
- super.saveMofResource(aResource, out);
- zipOutputStream.closeEntry();
- }
-
- /**
- * @return java.util.zip.ZipOutputStream
- */
- protected java.util.zip.ZipOutputStream getZipOutputStream() {
- return zipOutputStream;
- }
-
- /**
- * @see com.ibm.etools.archive.SaveStrategy
- */
- public void save(org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveManifest aManifest) throws SaveFailureException {
- try {
- ZipEntry entry = new ZipEntry(J2EEConstants.MANIFEST_URI);
- getZipOutputStream().putNextEntry(entry);
- aManifest.write(getZipOutputStream());
- getZipOutputStream().closeEntry();
- } catch (IOException iox) {
- throw new SaveFailureException(J2EEConstants.MANIFEST_URI, iox);
- }
- }
-
- public void save(Archive anArchive) throws SaveFailureException {
- try {
- ZipEntry entry = new ZipEntry(anArchive.getURI());
- getZipOutputStream().putNextEntry(entry);
- super.save(anArchive);
- getZipOutputStream().closeEntry();
- } catch (IOException iox) {
- throw new SaveFailureException(anArchive.getURI(), iox);
- }
- }
-
- public void save(File aFile, InputStream in) throws SaveFailureException {
- try {
- String entryName = aFile.getURI();
- if (aFile.isDirectoryEntry() && !entryName.endsWith("/"))//$NON-NLS-1$
- entryName = entryName + '/';
- ZipEntry entry = new ZipEntry(entryName);
- if (aFile.getLastModified() > 0)
- entry.setTime(aFile.getLastModified());
- getZipOutputStream().putNextEntry(entry);
- if (!aFile.isDirectoryEntry()) {
- org.eclipse.jst.j2ee.commonarchivecore.internal.util.ArchiveUtil.copy(in, getZipOutputStream());
- }
- getZipOutputStream().closeEntry();
- } catch (IOException iox) {
- throw new SaveFailureException(aFile.getURI(), iox);
- }
- }
-
- /**
- * @param newDestinationStream
- * java.io.OutputStream
- */
- public void setDestinationStream(java.io.OutputStream newDestinationStream) {
- destinationStream = newDestinationStream;
- }
-
- /**
- * @param newZipOutputStream
- * java.util.zip.ZipOutputStream
- */
- protected void setZipOutputStream(java.util.zip.ZipOutputStream newZipOutputStream) {
- zipOutputStream = newZipOutputStream;
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/ArchiveFileDynamicClassLoader.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/ArchiveFileDynamicClassLoader.java
deleted file mode 100644
index eb86a98e6..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/ArchiveFileDynamicClassLoader.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.util;
-
-
-import java.io.InputStream;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonArchiveResourceHandler;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.File;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.ArchiveRuntimeException;
-
-
-/**
- * Class loader which loads a given set of classes stored in byte arrays. (Assumption: System
- * classes and those in the set are the only classes needed to resolve each one)
- */
-
-public class ArchiveFileDynamicClassLoader extends ClassLoader {
- protected Archive archive = null;
- protected ClassLoader extraClassLoader;
- protected boolean inEARFile;
-
- public ArchiveFileDynamicClassLoader(Archive anArchive, ClassLoader parentCl, ClassLoader extraCl) {
- super(parentCl);
- setArchive(anArchive);
- setExtraClassLoader(extraCl);
- inEARFile = anArchive.getContainer() != null && anArchive.getContainer().isEARFile();
- }
-
- /**
- * Loads a specified class. This gets called only after the parent class loader has had it's
- * chance, based on the Java2 delegation model
- */
- protected Class findClass(String name) throws ClassNotFoundException {
-
- Class result;
- // Load class bytes from current set of class byte[]'s
- byte[] bytes = getClassBytesFor(name);
-
- if (bytes != null) {
- result = defineClass(name, bytes, 0, bytes.length);
- if (result == null) {
- throw new ClassNotFoundException(name);
- } // endif
- } else {
- throw new ClassNotFoundException(name);
- } // endif
- return result;
- }
-
- /**
- * Insert the method's description here. Creation date: (12/17/00 9:59:57 PM)
- *
- * @return com.ibm.etools.commonarchive.Archive
- */
- public Archive getArchive() {
- return archive;
- }
-
- protected byte[] getClassBytesFor(String className) {
-
- if (className == null)
- return null;
- // Change the class name to a jar entry name
- String jarEntryName = ArchiveUtil.classNameToUri(className);
-
- try {
- InputStream in = getArchive().getInputStream(jarEntryName);
- return ArchiveUtil.inputStreamToBytes(in);
- } catch (java.io.FileNotFoundException ex) {
- return null;
- } catch (java.io.IOException ex) {
- throw new ArchiveRuntimeException(CommonArchiveResourceHandler.getString("io_ex_loading_EXC_", (new Object[]{className})), ex); //$NON-NLS-1$ = "An IO exception occurred loading "
- }
- }
-
- protected EARFile getEARFile() {
- return (EARFile) getArchive().getContainer();
- }
-
- /**
- * Insert the method's description here. Creation date: (11/21/00 6:58:05 PM)
- *
- * @return java.lang.ClassLoader
- */
- public java.lang.ClassLoader getExtraClassLoader() {
- return extraClassLoader;
- }
-
- /**
- * Used for dynamic class loading in dependent jars in ears; the set is used to terminate a
- * cycle if one exists; the cycle is invalid, but you never know what people might try...
- */
- protected synchronized Class loadClass(String name, Set visitedArchives) throws ClassNotFoundException {
- if (visitedArchives.contains(getArchive()))
- throw new ClassNotFoundException(name);
- visitedArchives.add(getArchive());
- try {
- return super.loadClass(name, false);
- } catch (ClassNotFoundException ex) {
- return loadClassInDependentJarInEAR(name, visitedArchives);
- }
- }
-
- protected synchronized Class loadClass(String name, boolean resolve) throws ClassNotFoundException {
- try {
- return super.loadClass(name, resolve);
- } catch (ClassNotFoundException ex) {
- Class c = loadClassInDependentJar(name);
- if (c != null && resolve)
- resolveClass(c);
- return c;
- }
- }
-
- protected Class loadClassInDependentJar(String name) throws ClassNotFoundException {
-
- if (inEARFile) {
- return loadClassInDependentJarInEAR(name);
- } else if (getExtraClassLoader() != null) {
- return getExtraClassLoader().loadClass(name);
- }
- throw new ClassNotFoundException(name);
- }
-
- protected Class loadClassInDependentJarInEAR(String name) throws ClassNotFoundException {
-
- Set visitedArchives = new HashSet(5);
- visitedArchives.add(getArchive());
- return loadClassInDependentJarInEAR(name, visitedArchives);
- }
-
- protected Class loadClassInDependentJarInEAR(String name, Set visitedArchives) throws ClassNotFoundException {
-
- String[] classpath = archive.getManifest().getClassPathTokenized();
- for (int i = 0; i < classpath.length; i++) {
- try {
- String uri = ArchiveUtil.deriveEARRelativeURI(classpath[i], archive);
- if (uri == null)
- continue;
- File file = getEARFile().getFile(uri);
- if (file.isArchive()) {
- Archive dep = (Archive) file;
- try {
- return ((ArchiveFileDynamicClassLoader) dep.getArchiveClassLoader()).loadClass(name, visitedArchives);
- } catch (ClassNotFoundException noDice) {
- continue;
- }
- }
- } catch (java.io.FileNotFoundException depJarNotInEAR) {
- //Ignore
- }
- }
- throw new ClassNotFoundException(name);
- }
-
- /**
- * Insert the method's description here. Creation date: (12/17/00 9:59:57 PM)
- *
- * @param newArchive
- * com.ibm.etools.commonarchive.Archive
- */
- public void setArchive(Archive newArchive) {
- archive = newArchive;
- }
-
- /**
- * Insert the method's description here. Creation date: (11/21/00 6:58:05 PM)
- *
- * @param newExtraClassLoader
- * java.lang.ClassLoader
- */
- public void setExtraClassLoader(java.lang.ClassLoader newExtraClassLoader) {
- extraClassLoader = newExtraClassLoader;
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/ArchiveUtil.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/ArchiveUtil.java
deleted file mode 100644
index 9f4c32e6d..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/ArchiveUtil.java
+++ /dev/null
@@ -1,865 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.util;
-
-
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.StringTokenizer;
-import java.util.zip.ZipFile;
-import java.util.zip.ZipInputStream;
-import java.util.zip.ZipOutputStream;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.URIConverter;
-import org.eclipse.emf.ecore.resource.impl.URIMappingRegistryImpl;
-import org.eclipse.jem.java.JavaURL;
-import org.eclipse.jst.j2ee.application.Module;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonArchiveResourceHandler;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ModuleFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ModuleRef;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.ArchiveException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.EmptyResourceException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveURIConverterImpl;
-import org.eclipse.jst.j2ee.internal.J2EEConstants;
-import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
-import org.eclipse.jst.j2ee.internal.common.XMLResource;
-import org.eclipse.jst.j2ee.internal.xml.GeneralXmlDocumentReader;
-import org.eclipse.jst.j2ee.internal.xml.XmlDocumentReader;
-import org.w3c.dom.Document;
-import org.w3c.dom.DocumentType;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.xml.sax.InputSource;
-
-
-/**
- * This is a utility class to hold helper methods common to multiple classes in the archive support
- * packages
- */
-public class ArchiveUtil {
- public static final String DOT_CLASS = ".class"; //$NON-NLS-1$
-
- public static final String DOT_JAVA = ".java"; //$NON-NLS-1$
-
- public static final String DOT_SQLJ = ".sqlj"; //$NON-NLS-1$
-
- protected static boolean isRuntime = false;
-
- /**
- * Flag to indicate whether the temp directory should be used for extracting nested jars for
- * read; defaults to true
- */
- protected static boolean shouldUseTempDirectoryForRead = true;
-
- /**
- * Settable name for the temp directory; must resolve to a valid file on the file system; if not
- * specified, defaults to the system temp directory
- */
- protected static String tempDirectoryName;
-
- protected static java.io.File tempDirectory;
-
- public static String classNameToJavaUri(String className) {
- return className.replace('.', '/').concat(DOT_JAVA);
- }
-
- public static String classNameToUri(String className) {
- return className.replace('.', '/').concat(DOT_CLASS);
- }
-
- /**
- * For a given uri of a .class file, derive the uri of the .java file; takes into consideration
- * inner classes by splitting on the first occurrence of '$'
- *
- * @return String a uri or null if the input is null or doesn't end with ".class"
- */
- public static String classUriToJavaUri(String classUri) {
- if (classUri == null || !classUri.endsWith(DOT_CLASS))
- return null;
-
- String truncated = truncateIgnoreCase(classUri, DOT_CLASS);
- StringTokenizer tok = new StringTokenizer(truncated, "$"); //$NON-NLS-1$
- return tok.nextToken().concat(DOT_JAVA);
- }
-
- /**
- * Concatenates the two strings with a separator, if necessary
- */
- public static String concatUri(String directoryname, String filename, char separator) {
- String uri = directoryname;
- if (!directoryname.endsWith(separator + "") && !filename.startsWith(separator + "")) //$NON-NLS-2$//$NON-NLS-1$
- uri = uri + separator;
- return uri + filename;
- }
-
- /**
- * Copy all the data from the input stream to the output stream up until the first end of file
- * character, and close the two streams
- */
- public static void copy(InputStream in, OutputStream out) throws IOException {
- byte[] buffer = new byte[1024];
- try {
- int n = in.read(buffer);
- while (n > 0) {
- out.write(buffer, 0, n);
- n = in.read(buffer);
- }
- } finally {
- if (!(in instanceof ZipInputStream))
- in.close();
- if (!(out instanceof ZipOutputStream))
- out.close();
- }
- }
-
- public static File createTempDirectory(String baseName, File parentDirectory) throws IOException {
-
- File tempFile = createTempFile(baseName, parentDirectory);
- tempFile.delete();
- tempFile.mkdir();
- return tempFile;
- }
-
- public static File createTempFile(String baseName) throws IOException {
- return createTempFile(baseName, getTempDirectory());
- }
-
- public static File createTempFile(String baseName, File directory) throws IOException {
- String fileName = getFileNameTail(baseName);
- if (fileName.length() < 3) {
- fileName = "WSTMP" + fileName; //$NON-NLS-1$
- }
- File tempFile = File.createTempFile(fileName, null, directory);
- return tempFile;
- }
-
- /**
- * deletes a file from the file system; for directories, recurse the subdirectories and delete
- * them as well
- *
- * @return true if successful; false if any file or sub file could not be deleted
- */
- public static boolean delete(File aFile) {
- if (aFile.isDirectory()) {
- File[] files = aFile.listFiles();
- for (int i = 0; i < files.length; i++) {
- if (!delete(files[i]))
- return false;
- }
- }
- return aFile.delete();
- }
-
- /**
- * returns a list of all files, recursive, that can't be written
- */
- public static List getWriteProtectedFiles(File aFile, List aList) {
- if (aList == null)
- aList = new ArrayList();
- if (aFile.exists() && !aFile.canWrite())
- aList.add(aFile);
- if (aFile.isDirectory()) {
- File[] files = aFile.listFiles();
- for (int i = 0; i < files.length; i++) {
- getWriteProtectedFiles(files[i], aList);
- }
- }
- return aList;
- }
-
- /**
- * Leverage the java.io.File apis to resolve things like "./xxx" and "../xxx" into uris of
- * entries in the ear file
- *
- * @param classpathEntry -
- * a classpath entry from the manifest of
- * @anArchive
- * @param anArchive -
- * the archive to which the dependent jar is relative
- *
- * @return a cananonicalized relative uri of an entry in an ear file representing the dependent
- * jar
- */
- public static String deriveEARRelativeURI(String classpathEntry, Archive anArchive) {
- return deriveEARRelativeURI(classpathEntry, anArchive.getURI());
- }
-
- /**
- * Leverage the java.io.File apis to resolve things like "./xxx" and "../xxx" into uris of
- * entries in the ear file
- *
- * @param classpathEntry -
- * a classpath entry from the manifest of an archive
- * @param String -
- * the uri of the archive to which the dependent jar is relative
- *
- * @return a cananonicalized relative uri of an entry in an ear file representing the dependent
- * jar
- */
- public static String deriveEARRelativeURI(String classpathEntry, String archiveUri) {
- try {
- String parent = getFileNameParent(archiveUri);
- if (parent == null || parent.equals("")) //$NON-NLS-1$
- parent = "."; //$NON-NLS-1$
- String workingDir = new java.io.File(".").getCanonicalPath(); //$NON-NLS-1$
-
- String resolvedPath = new java.io.File(parent, classpathEntry).getCanonicalPath();
- if (!resolvedPath.startsWith(workingDir))
- return null;
- if (resolvedPath.equals(workingDir))
- return null;
- int start = workingDir.endsWith(java.io.File.separator) ? workingDir.length() : workingDir.length() + 1;
- return resolvedPath.substring(start, resolvedPath.length()).replace(java.io.File.separatorChar, '/');
- } catch (java.io.IOException ex) {
- //getCanonicalPath could throw this
- return null;
- }
- }
-
- /**
- * Return "" if there is no extension
- */
- public static String getFileNameExtension(String uri) {
-
- if (uri != null) {
- int index = uri.lastIndexOf("."); //$NON-NLS-1$
- if (index != -1)
- return uri.substring(index + 1);
- }
- return ""; //$NON-NLS-1$
- }
-
- /**
- * Returns the directory from the uri, or the truncation of the segment after the last
- * occurrence of a separator
- */
- public static String getFileNameParent(String uri) {
- String tempURI = uri.replace('\\', '/');
- while (tempURI.endsWith("/")) //$NON-NLS-1$
- tempURI = tempURI.substring(0, tempURI.length() - 1);
- int lastIndex = tempURI.lastIndexOf('/');
- if (lastIndex == -1)
- return ""; //$NON-NLS-1$
- else if (lastIndex == 0)
- return "/"; //$NON-NLS-1$
- return uri.substring(0, lastIndex);
- }
-
- /**
- * Returns the filename from the uri, or the segment after the last occurrence of a separator
- */
- public static String getFileNameTail(String uri) {
- String tempURI = uri.replace('\\', '/');
- while (tempURI.endsWith("/")) //$NON-NLS-1$
- tempURI = tempURI.substring(0, tempURI.length() - 1);
- int lastIndex = tempURI.lastIndexOf('/');
- if (lastIndex == -1)
- return uri;
- return uri.substring(lastIndex + 1, tempURI.length());
- }
-
- /**
- * For the given object in the deployment descriptor, return the owning module file; for
- * example, retrieve the EJBJarFile that owns the EJBJar. This works even for alts
- */
- public static ModuleFile getModuleFile(EObject ddObject) {
- Resource res = ddObject.eResource();
- if (res == null)
- return null;
-
- Archive archive = getArchive(res);
- if (archive == null || !archive.isModuleFile())
- return null;
-
- if (!(res instanceof XMLResource))
- return null;
-
- XMLResource xmlRes = (XMLResource) res;
- if (xmlRes.isAlt())
- return getModuleFileUsingAltDD((EARFile) archive, res);
-
- return (ModuleFile) archive;
- }
-
- protected static ModuleFile getModuleFileUsingAltDD(EARFile ear, Resource res) {
- if (res == null)
- return null;
-
- String uri = res.getURI().toString();
- Module m = ear.getDeploymentDescriptor().getModuleHavingAltDD(uri);
- if (m == null)
- return null;
- ModuleRef ref = ear.getModuleRef(m);
- if (ref == null)
- return null;
-
- return ref.getModuleFile();
- }
-
- public static String getModuleFileTypeName(int moduleType) {
- switch (moduleType) {
- case XMLResource.APPLICATION_TYPE :
- return CommonArchiveResourceHandler.getString("A_Application_file"); //$NON-NLS-1$
- case XMLResource.APP_CLIENT_TYPE :
- return CommonArchiveResourceHandler.getString("An_Application_Client_JAR_file"); //$NON-NLS-1$
- case XMLResource.EJB_TYPE :
- return CommonArchiveResourceHandler.getString("An_EJB_JAR_file"); //$NON-NLS-1$
- case XMLResource.WEB_APP_TYPE :
- return CommonArchiveResourceHandler.getString("A_WAR_file"); //$NON-NLS-1$
- case XMLResource.RAR_TYPE :
- return CommonArchiveResourceHandler.getString("A_RAR_file"); //$NON-NLS-1$
- }
- return null;
- }
-
- /**
- * For the given resource, return the owning module file; for example, retrieve the EJBJarFile
- * that owns the EJBJar. In the case of alts, this returns the EARFile and not the module file.
- * This method is internal; clients should use {@link #getModuleFile(EObject)}
- */
- public static Archive getArchive(Resource res) {
- if (res == null)
- return null;
-
- ResourceSet set = res.getResourceSet();
- if (set == null)
- return null;
-
- URIConverter conv = set.getURIConverter();
- if (conv == null || !(conv instanceof ArchiveURIConverterImpl))
- return null;
-
- return ((ArchiveURIConverterImpl) conv).getArchive();
- }
-
- /**
- * Concatenates the two strings and ensures the correct separator is used in the path
- */
- public static String getOSUri(String uri) {
- char sep = File.separatorChar;
- if (sep != '/')
- return uri.replace('/', sep);
- return uri.replace('\\', sep);
- }
-
- /**
- * Concatenates the two strings and ensures the correct separator is used in the path
- */
- public static String getOSUri(String directoryname, String filename) {
- String osDirName = getOSUri(directoryname);
- String osFileName = getOSUri(filename);
- return concatUri(osDirName, osFileName, File.separatorChar);
- }
-
- /**
- * Returns the first element in the extent of the resource
- *
- * @throws EmptyResourceException -
- * thrown if the extent is empty
- */
- public static EObject getRoot(Resource aResource) throws EmptyResourceException {
- EList extent = aResource.getContents();
- if (extent.size() < 1) {
- throw new EmptyResourceException(aResource.getURI().toString());
- }
- return (EObject) extent.get(0);
- }
-
- public static java.io.File getTempDirectory() {
- return tempDirectory;
- }
-
- /**
- * Insert the method's description here. Creation date: (12/19/00 1:16:48 PM)
- *
- * @return java.lang.String
- */
- public static java.lang.String getTempDirectoryName() {
- return tempDirectoryName;
- }
-
- public static String[] getTokens(String aString) {
- return getTokens(aString, null);
- }
-
- public static String[] getTokens(String aString, String delimiter) {
-
- StringTokenizer tok = (delimiter == null) ? new StringTokenizer(aString) : new StringTokenizer(aString, delimiter);
- int size = tok.countTokens();
- String[] tokens = new String[size];
- for (int i = 0; i < size && tok.hasMoreTokens(); i++) {
- tokens[i] = tok.nextToken();
- }
- return tokens;
- }
-
- /**
- * getValueIgnoreKeyCase method comment.
- */
- public static java.lang.String getValueIgnoreKeyCase(java.lang.String key, java.util.jar.Attributes attr) {
- Iterator keysAndValues = attr.entrySet().iterator();
- while (keysAndValues.hasNext()) {
- Map.Entry entry = (Map.Entry) keysAndValues.next();
- String entryKey = entry.getKey().toString();
- if (entryKey.equalsIgnoreCase(key))
- return entry.getValue() == null ? null : entry.getValue().toString();
- }
- return null;
- }
-
- public static void inform(String message) {
- org.eclipse.jem.util.logger.proxy.Logger.getLogger().logInfo(message);
- }
-
- /**
- * Read all the data from the input stream up until the first end of file character, add this
- * data to a byte array, and close the input stream; returns the byte array
- */
- public static byte[] inputStreamToBytes(InputStream in) throws IOException {
- ByteArrayOutputStream out = new ByteArrayOutputStream();
- copy(in, out);
- return out.toByteArray();
- }
-
- public static boolean isJavaResource(Resource aResource) {
- return JavaURL.isJavaURL(aResource.getURI().toString());
- }
-
- public static boolean isRegisteredURIMapping(Resource res) {
- return URIMappingRegistryImpl.INSTANCE.getURI(res.getURI()) != res.getURI();
- }
-
- public static boolean isPlatformMetaResource(Resource res) {
- URI uri = res.getURI();
- return "platform".equals(uri.scheme()) && "meta".equals(uri.segment(0)); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- public static boolean isNullOrEmpty(String aString) {
- return aString == null || aString.trim().length() == 0;
- }
-
- public static boolean isRuntime() {
- return isRuntime;
- }
-
- /**
- * Is it within the spec for the JAR or module file to reference the archive via the Manifest
- * Class-Path?
- */
- public static boolean isValidDependency(Archive referencedJAR, Archive referencingJAR) {
- //No other modules should reference wars
- if (referencedJAR.isWARFile())
- return false;
-
- if (referencedJAR == referencingJAR)
- return false;
-
- //Clients can reference all but the WARs, which we've already covered
- // above; WARs and EJB JARs
- //can reference all but WARs, above, or ApplicationClients
- return referencingJAR.isApplicationClientFile() || !referencedJAR.isApplicationClientFile();
- }
-
- /**
- * Loads a properties file with the given uri from the given archive
- *
- * @throws FileNotFoundException
- * if the file does not exist in the archive
- * @throws IOException
- * if an IO exception occurs reading the properties
- */
- public static Properties loadProperties(Archive archive, String uri) throws FileNotFoundException, IOException {
- InputStream in = null;
- try {
- in = archive.getInputStream(uri);
- Properties p = new Properties();
- p.load(in);
- return p;
- } finally {
- if (in != null)
- in.close();
- }
- }
-
- public static void setIsRuntime(boolean aBoolean) {
- isRuntime = aBoolean;
- }
-
- /**
- *
- */
- public static void setShouldUseTempDirectoryForRead(boolean value) {
- shouldUseTempDirectoryForRead = value;
- }
-
- /**
- * Insert the method's description here. Creation date: (12/19/00 1:26:28 PM)
- *
- * @param newTempDirectory
- * java.io.File
- */
- public static void setTempDirectory(java.io.File newTempDirectory) {
- tempDirectory = newTempDirectory;
- tempDirectoryName = newTempDirectory.getAbsolutePath();
- }
-
- /**
- * Sets the temp directory to the specified path; creates it and sets it to be deleted on exit
- * if it does not exist.
- *
- * @param newTempDirectoryName
- * java.lang.String
- * @throws ArchiveException
- * thrown if the directory does not exist and can not be created
- */
- public static void setTempDirectoryName(java.lang.String newTempDirectoryName) throws ArchiveException {
- java.io.File dir = new java.io.File(newTempDirectoryName);
- if (!dir.exists()) {
- dir.mkdirs();
- if (!dir.exists())
- throw new ArchiveException(CommonArchiveResourceHandler.getString("make_temp_dir_EXC_", (new Object[]{newTempDirectoryName}))); //$NON-NLS-1$ = "Unable to make temp directory: "
- dir.deleteOnExit();
- }
- setTempDirectory(dir);
- }
-
- /**
- * Insert the method's description here. Creation date: (12/19/00 1:08:20 PM)
- *
- * @return boolean
- */
- public static boolean shouldUseTempDirectoryForRead() {
- return shouldUseTempDirectoryForRead;
- }
-
- /**
- * Convert the list of string elements to an array of file URLs; if an entry is relative, make
- * it relative to the uri root
- */
- public static java.net.URL[] toLocalURLs(List entries, String uriRoot) {
- List urls = new ArrayList();
- for (int i = 0; i < entries.size(); i++) {
- String pathEntry = (String) entries.get(i);
- java.io.File aFile = new java.io.File(pathEntry);
- if (!aFile.isAbsolute()) {
- pathEntry = getOSUri(uriRoot, pathEntry);
- aFile = new java.io.File(pathEntry);
- }
- if (!aFile.exists()) {
- //inform("Classpath element " + pathEntry + " does not
- // exist");
- continue;
- }
- if (aFile.isDirectory()) {
- if (!pathEntry.endsWith(java.io.File.separator)) {
- pathEntry = pathEntry + java.io.File.separatorChar;
- }
- } else {
- ZipFile zip = null;
- try {
- zip = new ZipFile(aFile);
- } catch (Exception ex) {
- inform(CommonArchiveResourceHandler.getString("invalid_classpath_WARN_", (new Object[]{pathEntry}))); //$NON-NLS-1$ = "Classpath element "{0}" is not a directory or a Zip file"
- continue;
- } finally {
- if (zip != null)
- try {
- zip.close();
- } catch (IOException ignore) {
- //Ignore
- }
- }
- }
- try {
- aFile = new java.io.File(pathEntry);
- java.net.URL aUrl = aFile.toURL(); //$NON-NLS-1$
- urls.add(aUrl);
- } catch (java.net.MalformedURLException ex) {
- inform(CommonArchiveResourceHandler.getString("invalid_cp_file_WARN_", (new Object[]{pathEntry}))); //$NON-NLS-1$ = "Classpath element "{0}" does not point to a local file"
- }
- }
- java.net.URL[] urlArray = new java.net.URL[urls.size()];
- return (java.net.URL[]) urls.toArray(urlArray);
- }
-
- /**
- * Return a substring of the first parameter, starting at the end of the prefix
- */
- public static String truncateFromFrontIgnoreCase(String aString, String leadingSubString) {
- if (!aString.toLowerCase().startsWith(leadingSubString.toLowerCase()))
- return aString;
- return aString.substring(leadingSubString.length(), aString.length());
- }
-
- /**
- * Return a substring of the first parameter, up to the last index of the second
- */
- public static String truncateIgnoreCase(String aString, String trailingSubString) {
- int index = aString.toLowerCase().lastIndexOf(trailingSubString.toLowerCase());
- if (index != -1)
- return aString.substring(0, index);
- return aString;
- }
-
- public static String uriToClassName(String uri) {
- return truncateIgnoreCase(uri.replace('/', '.'), DOT_CLASS);
- }
-
- public static boolean isJ2EE13FastCheck(ModuleFile moduleFile) {
- if (moduleFile == null)
- return false;
- else if (moduleFile.isRARFile())
- return true;
- InputStream in = null;
- String uri = moduleFile.getDeploymentDescriptorUri();
- try {
- in = moduleFile.getInputStream(uri);
-
- DocumentType docType = XmlDocumentReader.readDocumentType(in, uri);
- if (docType == null)
- return false;
- String[] ids = getJ2EE13PublicAndSystemIdFor(moduleFile);
- if (ids == null)
- return false;
- return ids[0].equals(docType.getPublicId()) && ids[1].equals(docType.getSystemId());
- } catch (IOException ex) {
- return false;
- } finally {
- try {
- if (in != null)
- in.close();
- } catch (IOException ex) {
- //Ignore
- }
- }
-
- }
-
- protected static String[] getJ2EE13PublicAndSystemIdFor(ModuleFile moduleFile) {
- if (moduleFile.isEARFile())
- return new String[]{J2EEConstants.APPLICATION_PUBLICID_1_3, J2EEConstants.APPLICATION_SYSTEMID_1_3};
- else if (moduleFile.isEJBJarFile())
- return new String[]{J2EEConstants.EJBJAR_PUBLICID_2_0, J2EEConstants.EJBJAR_SYSTEMID_2_0};
- else if (moduleFile.isApplicationClientFile())
- return new String[]{J2EEConstants.APP_CLIENT_PUBLICID_1_3, J2EEConstants.APP_CLIENT_SYSTEMID_1_3};
- else if (moduleFile.isWARFile())
- return new String[]{J2EEConstants.WEBAPP_PUBLICID_2_3, J2EEConstants.WEBAPP_SYSTEMID_2_3};
- else if (moduleFile.isRARFile())
- return new String[]{J2EEConstants.CONNECTOR_PUBLICID_1_0, J2EEConstants.CONNECTOR_SYSTEMID_1_0};
- else
- return null;
- }
-
- //TODO doing the parse with SAX would be faster
- public static int getFastSpecVersion(ModuleFile moduleFile) {
- InputStream in = null;
- String uri = moduleFile.getDeploymentDescriptorUri();
- try {
- in = moduleFile.getInputStream(uri);
-
- DocumentType docType = null;
-
- InputSource source = new InputSource(in);
- GeneralXmlDocumentReader aReader = new XmlDocumentReader(source);
- aReader.setValidate(false);
- Document aDocument = aReader.parseDocument();
- if (aDocument != null) {
- docType = aDocument.getDoctype();
- }
- int version = -1;
- if (null != docType) {
- String publicID = docType.getPublicId();
- String systemID = docType.getSystemId();
- if (publicID != null && systemID != null) {
- version = lookupVersion(moduleFile, publicID, systemID);
- }
- }
- if (version == -1) {
- String schemaName = null;
- String versionString = null;
- if (aDocument != null) {
- if (null == docType) {
- NamedNodeMap map = aDocument.getDocumentElement().getAttributes();
- if (null != map) {
- Node schemaNode = map.getNamedItem("xsi:schemaLocation"); //$NON-NLS-1$
- if (null != schemaNode) {
- schemaName = schemaNode.getNodeValue();
- }
- Node versionNode = map.getNamedItem("version");//$NON-NLS-1$
- if (null != versionNode) {
- versionString = versionNode.getNodeValue();
- }
- }
- }
- }
- if (null != schemaName) {
- version = lookupVersion(moduleFile, schemaName);
- }
- if (version == -1) {
- version = parseVersionString(moduleFile, versionString);
- }
- }
-
- return version;
- } catch (IOException ex) {
- return -1;
- } finally {
- try {
- if (in != null)
- in.close();
- } catch (IOException ex) {
- //Ignore
- }
- }
- }
-
- private static int parseVersionString(ModuleFile moduleFile, String versionAttr) {
- int version = -1;
- if (moduleFile.isEARFile()) {
- if (null == versionAttr) {
- version = J2EEVersionConstants.J2EE_1_4_ID;
- } else if (versionAttr.equals(J2EEVersionConstants.VERSION_1_2_TEXT)) {
- version = J2EEVersionConstants.J2EE_1_2_ID;
- } else if (versionAttr.equals(J2EEVersionConstants.VERSION_1_3_TEXT)) {
- version = J2EEVersionConstants.J2EE_1_3_ID;
- } else {
- version = J2EEVersionConstants.J2EE_1_4_ID;
- }
- } else if (moduleFile.isEJBJarFile()) {
- if (null == versionAttr) {
- version = J2EEVersionConstants.EJB_2_1_ID;
- } else if (versionAttr.equals(J2EEVersionConstants.VERSION_1_1_TEXT)) {
- version = J2EEVersionConstants.EJB_1_1_ID;
- } else if (versionAttr.equals(J2EEVersionConstants.VERSION_2_0_TEXT)) {
- version = J2EEVersionConstants.EJB_2_0_ID;
- } else {
- version = J2EEVersionConstants.EJB_2_1_ID;
- }
- } else if (moduleFile.isApplicationClientFile()) {
- if (null == versionAttr) {
- version = J2EEVersionConstants.J2EE_1_4_ID;
- } else if (versionAttr.equals(J2EEVersionConstants.VERSION_1_2_TEXT)) {
- version = J2EEVersionConstants.J2EE_1_2_ID;
- } else if (versionAttr.equals(J2EEVersionConstants.VERSION_1_3_TEXT)) {
- version = J2EEVersionConstants.J2EE_1_3_ID;
- } else {
- version = J2EEVersionConstants.J2EE_1_4_ID;
- }
- } else if (moduleFile.isWARFile()) {
- if (null == versionAttr) {
- version = J2EEVersionConstants.WEB_2_4_ID;
- } else if (versionAttr.equals(J2EEVersionConstants.VERSION_2_2_TEXT)) {
- version = J2EEVersionConstants.WEB_2_2_ID;
- } else if (versionAttr.equals(J2EEVersionConstants.VERSION_2_3_TEXT)) {
- version = J2EEVersionConstants.WEB_2_3_ID;
- } else {
- version = J2EEVersionConstants.WEB_2_4_ID;
- }
- } else if (moduleFile.isRARFile()) {
- if (null == versionAttr) {
- version = J2EEVersionConstants.JCA_1_5_ID;
- } else if (versionAttr.equals(J2EEVersionConstants.VERSION_1_0_TEXT)) {
- version = J2EEVersionConstants.JCA_1_0_ID;
- } else {
- version = J2EEVersionConstants.JCA_1_5_ID;
- }
- }
- return version;
-
- }
-
- private static int lookupVersion(ModuleFile moduleFile, String schemaName) {
- int version = -1;
- if (moduleFile.isEARFile()) {
- if (schemaName.equals(J2EEConstants.APPLICATION_SCHEMA_1_4)) {
- version = J2EEVersionConstants.J2EE_1_4_ID;
- }
- } else if (moduleFile.isEJBJarFile()) {
- if ((schemaName.indexOf(J2EEConstants.EJBJAR_SCHEMA_2_1_NS)) != -1) {
- version = J2EEVersionConstants.EJB_2_1_ID;
- }
- } else if (moduleFile.isApplicationClientFile()) {
- if (schemaName.equals(J2EEConstants.APP_CLIENT_SCHEMA_1_4)) {
- version = J2EEVersionConstants.J2EE_1_4_ID;
- }
- } else if (moduleFile.isWARFile()) {
- if (schemaName.equals(J2EEConstants.WEBAPP_SCHEMA_2_4)) {
- version = J2EEVersionConstants.WEB_2_4_ID;
- }
- } else if (moduleFile.isRARFile()) {
- if (schemaName.equals(J2EEConstants.CONNECTOR_SCHEMA_1_5)) {
- version = J2EEVersionConstants.JCA_1_5_ID;
- }
- }
- return version;
- }
-
- private static int lookupVersion(ModuleFile moduleFile, String publicID, String systemID) {
- int version = -1;
- if (moduleFile.isEARFile()) {
- if (publicID.equals(J2EEConstants.APPLICATION_PUBLICID_1_3) && systemID.equals(J2EEConstants.APPLICATION_SYSTEMID_1_3)) {
- version = J2EEVersionConstants.J2EE_1_3_ID;
- } else if (publicID.equals(J2EEConstants.APPLICATION_PUBLICID_1_2) && systemID.equals(J2EEConstants.APPLICATION_SYSTEMID_1_2)) {
- version = J2EEVersionConstants.J2EE_1_2_ID;
- } else {
- version = J2EEVersionConstants.J2EE_1_4_ID;
- }
- } else if (moduleFile.isEJBJarFile()) {
- if (publicID.equals(J2EEConstants.EJBJAR_PUBLICID_2_0) && systemID.equals(J2EEConstants.EJBJAR_SYSTEMID_2_0)) {
- version = J2EEVersionConstants.EJB_2_0_ID;
- } else if (publicID.equals(J2EEConstants.EJBJAR_PUBLICID_1_1) && systemID.equals(J2EEConstants.EJBJAR_SYSTEMID_1_1)) {
- version = J2EEVersionConstants.EJB_1_1_ID;
- } else {
- version = J2EEVersionConstants.EJB_2_1_ID;
- }
- } else if (moduleFile.isApplicationClientFile()) {
- if (publicID.equals(J2EEConstants.APP_CLIENT_PUBLICID_1_3) && systemID.equals(J2EEConstants.APP_CLIENT_SYSTEMID_1_3)) {
- version = J2EEVersionConstants.J2EE_1_3_ID;
- } else if (publicID.equals(J2EEConstants.APP_CLIENT_PUBLICID_1_2) && systemID.equals(J2EEConstants.APP_CLIENT_SYSTEMID_1_2)) {
- version = J2EEVersionConstants.J2EE_1_2_ID;
- } else {
- version = J2EEVersionConstants.J2EE_1_4_ID;
- }
- } else if (moduleFile.isWARFile()) {
- if (publicID.equals(J2EEConstants.WEBAPP_PUBLICID_2_3) && systemID.equals(J2EEConstants.WEBAPP_SYSTEMID_2_3)) {
- version = J2EEVersionConstants.WEB_2_3_ID;
- } else if (publicID.equals(J2EEConstants.WEBAPP_PUBLICID_2_2) && systemID.equals(J2EEConstants.WEBAPP_SYSTEMID_2_2)) {
- version = J2EEVersionConstants.WEB_2_2_ID;
- } else {
- version = J2EEVersionConstants.WEB_2_4_ID;
- }
- } else if (moduleFile.isRARFile()) {
- if (publicID.equals(J2EEConstants.CONNECTOR_PUBLICID_1_0) && systemID.equals(J2EEConstants.CONNECTOR_SYSTEMID_1_0)) {
- version = J2EEVersionConstants.JCA_1_0_ID;
- } else {
- version = J2EEVersionConstants.JCA_1_5_ID;
- }
- }
- return version;
- }
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/ClasspathUtil.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/ClasspathUtil.java
deleted file mode 100644
index 496258357..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/ClasspathUtil.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.util;
-
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Set;
-import java.util.StringTokenizer;
-import java.util.jar.Attributes;
-import java.util.jar.JarFile;
-import java.util.jar.Manifest;
-
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.RuntimeClasspathEntry;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.RuntimeClasspathEntryImpl;
-
-
-public class ClasspathUtil {
-
- public static void processManifest(String inPath, List rtClasspath, Set processedPaths) {
- ArrayList paths = getManifestPaths(inPath);
- for (int i = 0; i < paths.size(); i++) {
- RuntimeClasspathEntry entry = (RuntimeClasspathEntry) paths.get(i);
- if (!processedPaths.contains(entry)) {
- processedPaths.add(entry);
- rtClasspath.add(entry);
- processManifest(entry.getAbsolutePath(), rtClasspath, processedPaths);
- }
- }
- }
-
- protected static RuntimeClasspathEntry createRuntimeClasspathEntry(String absolutePath, String manifestValue) {
- RuntimeClasspathEntry entry = new RuntimeClasspathEntryImpl();
- entry.setAbsolutePath(absolutePath);
- entry.setManifestValue(manifestValue);
- return entry;
- }
-
- protected static ArrayList getManifestPaths(String path) {
- ArrayList manifestPaths = new ArrayList();
- File f = new File(path);
- if (f.exists()) {
- if (f.isDirectory()) {
- File manifestFile = new File(path + File.separator + "META-INF" + File.separator + "MANIFEST.MF"); //$NON-NLS-1$ //$NON-NLS-2$
- if (manifestFile.exists()) {
- FileInputStream inputStream = null;
- try {
- inputStream = new FileInputStream(manifestFile);
- Manifest manifest = new Manifest(inputStream);
- manifestPaths = getManifestClassPaths(manifest, f.getParent());
- } catch (IOException e) {
- //Ignore
- } finally {
- if (null != inputStream) {
- try {
- inputStream.close();
- } catch (IOException ex) {
- Logger.getLogger().logError(ex);
- }
- }
- }
- }
- } else {
- JarFile jarFile = null;
- try {
- jarFile = new JarFile(f);
- Manifest manifest = jarFile.getManifest();
- if (manifest != null)
- manifestPaths = getManifestClassPaths(manifest, f.getParent());
- } catch (IOException e) {
- //Ignore
- } finally {
- if (jarFile != null)
- try {
- jarFile.close();
- } catch (IOException ex) {
- //Ignore
- }
- }
- }
- }
- return manifestPaths;
- }
-
- protected static ArrayList getManifestClassPaths(Manifest manifest, String archivePath) {
- ArrayList pathList = new ArrayList();
- Attributes main = manifest.getMainAttributes();
- String classPath = main.getValue(Attributes.Name.CLASS_PATH);
- if (classPath != null) {
- StringTokenizer st = new StringTokenizer(classPath, " "); //$NON-NLS-1$
- while (st.hasMoreTokens()) {
- String token = st.nextToken();
- String path = archivePath + File.separator + token;
- path = normalizePath(path);
- if (new File(path).exists()) {
- pathList.add(createRuntimeClasspathEntry(path, token));
- }
- }
- }
- return pathList;
- }
-
- public static String normalizePath(String path) {
- File f = new File(path);
- try {
- f = f.getCanonicalFile();
- } catch (Exception ex) {
- //Ignore
- }
- return f.getPath();
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/CommonarchiveAdapterFactory.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/CommonarchiveAdapterFactory.java
deleted file mode 100644
index 19c6bef65..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/CommonarchiveAdapterFactory.java
+++ /dev/null
@@ -1,381 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.util;
-
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ApplicationClientFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ClientModuleRef;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ConnectorModuleRef;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Container;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.EJBJarFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.EJBModuleRef;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.File;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ModuleFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ModuleRef;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.RARFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ReadOnlyDirectory;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.WARFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.WebModuleRef;
-
-
-public class CommonarchiveAdapterFactory extends AdapterFactoryImpl {
- protected static CommonarchivePackage modelPackage;
-
- public CommonarchiveAdapterFactory() {
- if (modelPackage == null) {
- modelPackage = (CommonarchivePackage) EPackage.Registry.INSTANCE.getEPackage(CommonarchivePackage.eNS_URI);
- }
- }
-
- public boolean isFactoryForType(Object type) {
- if (type == modelPackage) {
- return true;
- }
- if (type instanceof EObject) {
- return ((EObject) type).eClass().eContainer() == modelPackage;
- }
- return false;
- }
-
- protected CommonarchiveSwitch sw = new CommonarchiveSwitch() {
- public Object caseContainer(Container object) {
- return createContainerAdapter();
- }
-
- public Object caseWARFile(WARFile object) {
- return createWARFileAdapter();
- }
-
- public Object caseModuleFile(ModuleFile object) {
- return createModuleFileAdapter();
- }
-
- public Object caseEARFile(EARFile object) {
- return createEARFileAdapter();
- }
-
- public Object caseApplicationClientFile(ApplicationClientFile object) {
- return createApplicationClientFileAdapter();
- }
-
- public Object caseEJBJarFile(EJBJarFile object) {
- return createEJBJarFileAdapter();
- }
-
- public Object caseRARFile(RARFile object) {
- return createRARFileAdapter();
- }
-
- public Object caseArchive(Archive object) {
- return createArchiveAdapter();
- }
-
- public Object caseFile(File object) {
- return createFileAdapter();
- }
-
- public Object caseReadOnlyDirectory(ReadOnlyDirectory object) {
- return createReadOnlyDirectoryAdapter();
- }
- };
-
- public Adapter createAdapter(Notifier target) {
- return (Adapter) sw.doSwitch((EObject) target);
- }
-
- /**
- * By default create methods return null so that we can easily ignore cases. It's useful to
- * ignore a case when inheritance will catch all the cases anyway.
- */
-
- public Adapter createContainerAdapter() {
- return null;
- }
-
- public Adapter createEJBComponentAdapter() {
- return null;
- }
-
- public Adapter createModuleComponentAdapter() {
- return null;
- }
-
- public Adapter createServletComponentAdapter() {
- return null;
- }
-
- public Adapter createWARFileAdapter() {
- return null;
- }
-
- public Adapter createModuleFileAdapter() {
- return null;
- }
-
- public Adapter createEARFileAdapter() {
- return null;
- }
-
- public Adapter createApplicationClientFileAdapter() {
- return null;
- }
-
- public Adapter createEJBJarFileAdapter() {
- return null;
- }
-
- public Adapter createRARFileAdapter() {
- return null;
- }
-
- public Adapter createArchiveAdapter() {
- return null;
- }
-
- public Adapter createFileAdapter() {
- return null;
- }
-
- public Adapter createEJBClientJarFileAdapter() {
- return null;
- }
-
- public Adapter createReadOnlyDirectoryAdapter() {
- return null;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Adapter createModuleRefAdapter() {
- return null;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Adapter createEJBModuleRefAdapter() {
- return null;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Adapter createWebModuleRefAdapter() {
- return null;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Adapter createClientModuleRefAdapter() {
- return null;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Adapter createConnectorModuleRefAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for the default case. <!-- begin-user-doc --> This default
- * implementation returns null. <!-- end-user-doc -->
- *
- * @return the new adapter.
- * @generated
- */
- public Adapter createEObjectAdapter() {
- return null;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public boolean isFactoryForTypeGen(Object object) {
- if (object == modelPackage) {
- return true;
- }
- if (object instanceof EObject) {
- return ((EObject) object).eClass().getEPackage() == modelPackage;
- }
- return false;
- }
-
- /**
- * The switch the delegates to the <code>createXXX</code> methods. <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- protected CommonarchiveSwitch modelSwitch = new CommonarchiveSwitch() {
- public Object caseFile(File object) {
- return createFileAdapter();
- }
-
- public Object caseArchive(Archive object) {
- return createArchiveAdapter();
- }
-
- public Object caseEJBJarFile(EJBJarFile object) {
- return createEJBJarFileAdapter();
- }
-
- public Object caseWARFile(WARFile object) {
- return createWARFileAdapter();
- }
-
- public Object caseEARFile(EARFile object) {
- return createEARFileAdapter();
- }
-
- public Object caseApplicationClientFile(ApplicationClientFile object) {
- return createApplicationClientFileAdapter();
- }
-
- public Object caseModuleFile(ModuleFile object) {
- return createModuleFileAdapter();
- }
-
- public Object caseContainer(Container object) {
- return createContainerAdapter();
- }
-
- public Object caseReadOnlyDirectory(ReadOnlyDirectory object) {
- return createReadOnlyDirectoryAdapter();
- }
-
- public Object caseRARFile(RARFile object) {
- return createRARFileAdapter();
- }
-
- public Object caseModuleRef(ModuleRef object) {
- return createModuleRefAdapter();
- }
-
- public Object caseEJBModuleRef(EJBModuleRef object) {
- return createEJBModuleRefAdapter();
- }
-
- public Object caseWebModuleRef(WebModuleRef object) {
- return createWebModuleRefAdapter();
- }
-
- public Object caseClientModuleRef(ClientModuleRef object) {
- return createClientModuleRefAdapter();
- }
-
- public Object caseConnectorModuleRef(ConnectorModuleRef object) {
- return createConnectorModuleRefAdapter();
- }
-
- public Object defaultCase(EObject object) {
- return createEObjectAdapter();
- }
- };
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Adapter createAdapterGen(Notifier target) {
- return (Adapter) modelSwitch.doSwitch((EObject) target);
- }
-
-
- /**
- * By default create methods return null so that we can easily ignore cases. It's useful to
- * ignore a case when inheritance will catch all the cases anyway.
- */
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Adapter createContainerAdapterGen() {
-
- return null;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Adapter createWARFileAdapterGen() {
- return null;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Adapter createModuleFileAdapterGen() {
- return null;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Adapter createApplicationClientFileAdapterGen() {
- return null;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Adapter createEARFileAdapterGen() {
- return null;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Adapter createEJBJarFileAdapterGen() {
- return null;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Adapter createRARFileAdapterGen() {
- return null;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Adapter createArchiveAdapterGen() {
- return null;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Adapter createFileAdapterGen() {
- return null;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Adapter createReadOnlyDirectoryAdapterGen() {
- return null;
- }
-
-} //CommonarchiveAdapterFactory
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/CommonarchiveSwitch.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/CommonarchiveSwitch.java
deleted file mode 100644
index 1fb6e52b3..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/CommonarchiveSwitch.java
+++ /dev/null
@@ -1,479 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.util;
-
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ApplicationClientFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ClientModuleRef;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ConnectorModuleRef;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Container;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.EJBJarFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.EJBModuleRef;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.File;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ModuleFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ModuleRef;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.RARFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ReadOnlyDirectory;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.WARFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.WebModuleRef;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.impl.CommonarchiveFactoryImpl;
-
-
-public class CommonarchiveSwitch {
- /**
- * The cached model package <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- protected static CommonarchivePackage modelPackage;
-
- protected static CommonarchiveFactory factory;
-
- public CommonarchiveSwitch() {
- factory = (CommonarchiveFactory) CommonarchiveFactoryImpl.getPackage().getEFactoryInstance();
- modelPackage = CommonarchiveFactoryImpl.getPackage();
- }
-
- public Object doSwitch(EObject theEObject) {
- EClass theEClass = theEObject.eClass();
- if (theEClass.eContainer() != modelPackage)
- return defaultCase(theEObject);
-
- switch (theEClass.getClassifierID()) {
- case CommonarchivePackage.WAR_FILE : {
- WARFile castedObject = (WARFile) theEObject;
- Object result = caseWARFile(castedObject);
- if (result == null)
- result = caseModuleFile(castedObject);
- if (result == null)
- result = caseArchive(castedObject);
- if (result == null)
- result = caseContainer(castedObject);
- if (result == null)
- result = caseFile(castedObject);
- if (result == null)
- result = defaultCase(theEObject);
- return result;
- }
- case CommonarchivePackage.EAR_FILE : {
- EARFile castedObject = (EARFile) theEObject;
- Object result = caseEARFile(castedObject);
- if (result == null)
- result = caseModuleFile(castedObject);
- if (result == null)
- result = caseArchive(castedObject);
- if (result == null)
- result = caseContainer(castedObject);
- if (result == null)
- result = caseFile(castedObject);
- if (result == null)
- result = defaultCase(theEObject);
- return result;
- }
- case CommonarchivePackage.APPLICATION_CLIENT_FILE : {
- ApplicationClientFile castedObject = (ApplicationClientFile) theEObject;
- Object result = caseApplicationClientFile(castedObject);
- if (result == null)
- result = caseModuleFile(castedObject);
- if (result == null)
- result = caseArchive(castedObject);
- if (result == null)
- result = caseContainer(castedObject);
- if (result == null)
- result = caseFile(castedObject);
- if (result == null)
- result = defaultCase(theEObject);
- return result;
- }
- case CommonarchivePackage.EJB_JAR_FILE : {
- EJBJarFile castedObject = (EJBJarFile) theEObject;
- Object result = caseEJBJarFile(castedObject);
- if (result == null)
- result = caseModuleFile(castedObject);
- if (result == null)
- result = caseArchive(castedObject);
- if (result == null)
- result = caseContainer(castedObject);
- if (result == null)
- result = caseFile(castedObject);
- if (result == null)
- result = defaultCase(theEObject);
- return result;
- }
- case CommonarchivePackage.RAR_FILE : {
- RARFile castedObject = (RARFile) theEObject;
- Object result = caseRARFile(castedObject);
- if (result == null)
- result = caseModuleFile(castedObject);
- if (result == null)
- result = caseArchive(castedObject);
- if (result == null)
- result = caseContainer(castedObject);
- if (result == null)
- result = caseFile(castedObject);
- if (result == null)
- result = defaultCase(theEObject);
- return result;
- }
- case CommonarchivePackage.ARCHIVE : {
- Archive castedObject = (Archive) theEObject;
- Object result = caseArchive(castedObject);
- if (result == null)
- result = caseContainer(castedObject);
- if (result == null)
- result = caseFile(castedObject);
- if (result == null)
- result = defaultCase(theEObject);
- return result;
- }
- case CommonarchivePackage.FILE : {
- File castedObject = (File) theEObject;
- Object result = caseFile(castedObject);
- if (result == null)
- result = defaultCase(theEObject);
- return result;
- }
- case CommonarchivePackage.READ_ONLY_DIRECTORY : {
- ReadOnlyDirectory castedObject = (ReadOnlyDirectory) theEObject;
- Object result = caseReadOnlyDirectory(castedObject);
- if (result == null)
- result = caseContainer(castedObject);
- if (result == null)
- result = caseFile(castedObject);
- if (result == null)
- result = defaultCase(theEObject);
- return result;
- }
- default :
- return defaultCase(theEObject);
- }
- } // doSwitch
-
- public Object caseContainer(Container object) {
- return null;
- }
-
- public Object caseWARFile(WARFile object) {
- return null;
- }
-
- public Object caseModuleFile(ModuleFile object) {
- return null;
- }
-
- public Object caseEARFile(EARFile object) {
- return null;
- }
-
- public Object caseApplicationClientFile(ApplicationClientFile object) {
- return null;
- }
-
- public Object caseEJBJarFile(EJBJarFile object) {
- return null;
- }
-
- public Object caseRARFile(RARFile object) {
- return null;
- }
-
- public Object caseArchive(Archive object) {
- return null;
- }
-
- public Object caseFile(File object) {
- return null;
- }
-
- public Object caseReadOnlyDirectory(ReadOnlyDirectory object) {
- return null;
- }
-
- public Object defaultCase(EObject object) {
- return null;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Object caseModuleRef(ModuleRef object) {
- return null;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Object caseEJBModuleRef(EJBModuleRef object) {
- return null;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Object caseWebModuleRef(WebModuleRef object) {
- return null;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Object caseClientModuleRef(ClientModuleRef object) {
- return null;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Object caseConnectorModuleRef(ConnectorModuleRef object) {
- return null;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Object doSwitchGen(EObject theEObject) {
- EClass theEClass = theEObject.eClass();
- if (theEClass.eContainer() == modelPackage) {
- switch (theEClass.getClassifierID()) {
- case CommonarchivePackage.FILE : {
- File file = (File) theEObject;
- Object result = caseFile(file);
- if (result == null)
- result = defaultCase(theEObject);
- return result;
- }
- case CommonarchivePackage.ARCHIVE : {
- Archive archive = (Archive) theEObject;
- Object result = caseArchive(archive);
- if (result == null)
- result = caseContainer(archive);
- if (result == null)
- result = caseFile(archive);
- if (result == null)
- result = defaultCase(theEObject);
- return result;
- }
- case CommonarchivePackage.EJB_JAR_FILE : {
- EJBJarFile ejbJarFile = (EJBJarFile) theEObject;
- Object result = caseEJBJarFile(ejbJarFile);
- if (result == null)
- result = caseModuleFile(ejbJarFile);
- if (result == null)
- result = caseArchive(ejbJarFile);
- if (result == null)
- result = caseContainer(ejbJarFile);
- if (result == null)
- result = caseFile(ejbJarFile);
- if (result == null)
- result = defaultCase(theEObject);
- return result;
- }
- case CommonarchivePackage.WAR_FILE : {
- WARFile warFile = (WARFile) theEObject;
- Object result = caseWARFile(warFile);
- if (result == null)
- result = caseModuleFile(warFile);
- if (result == null)
- result = caseArchive(warFile);
- if (result == null)
- result = caseContainer(warFile);
- if (result == null)
- result = caseFile(warFile);
- if (result == null)
- result = defaultCase(theEObject);
- return result;
- }
- case CommonarchivePackage.EAR_FILE : {
- EARFile earFile = (EARFile) theEObject;
- Object result = caseEARFile(earFile);
- if (result == null)
- result = caseModuleFile(earFile);
- if (result == null)
- result = caseArchive(earFile);
- if (result == null)
- result = caseContainer(earFile);
- if (result == null)
- result = caseFile(earFile);
- if (result == null)
- result = defaultCase(theEObject);
- return result;
- }
- case CommonarchivePackage.APPLICATION_CLIENT_FILE : {
- ApplicationClientFile applicationClientFile = (ApplicationClientFile) theEObject;
- Object result = caseApplicationClientFile(applicationClientFile);
- if (result == null)
- result = caseModuleFile(applicationClientFile);
- if (result == null)
- result = caseArchive(applicationClientFile);
- if (result == null)
- result = caseContainer(applicationClientFile);
- if (result == null)
- result = caseFile(applicationClientFile);
- if (result == null)
- result = defaultCase(theEObject);
- return result;
- }
- case CommonarchivePackage.READ_ONLY_DIRECTORY : {
- ReadOnlyDirectory readOnlyDirectory = (ReadOnlyDirectory) theEObject;
- Object result = caseReadOnlyDirectory(readOnlyDirectory);
- if (result == null)
- result = caseContainer(readOnlyDirectory);
- if (result == null)
- result = caseFile(readOnlyDirectory);
- if (result == null)
- result = defaultCase(theEObject);
- return result;
- }
- case CommonarchivePackage.RAR_FILE : {
- RARFile rarFile = (RARFile) theEObject;
- Object result = caseRARFile(rarFile);
- if (result == null)
- result = caseModuleFile(rarFile);
- if (result == null)
- result = caseArchive(rarFile);
- if (result == null)
- result = caseContainer(rarFile);
- if (result == null)
- result = caseFile(rarFile);
- if (result == null)
- result = defaultCase(theEObject);
- return result;
- }
- case CommonarchivePackage.EJB_MODULE_REF : {
- EJBModuleRef ejbModuleRef = (EJBModuleRef) theEObject;
- Object result = caseEJBModuleRef(ejbModuleRef);
- if (result == null)
- result = caseModuleRef(ejbModuleRef);
- if (result == null)
- result = defaultCase(theEObject);
- return result;
- }
- case CommonarchivePackage.WEB_MODULE_REF : {
- WebModuleRef webModuleRef = (WebModuleRef) theEObject;
- Object result = caseWebModuleRef(webModuleRef);
- if (result == null)
- result = caseModuleRef(webModuleRef);
- if (result == null)
- result = defaultCase(theEObject);
- return result;
- }
- case CommonarchivePackage.CLIENT_MODULE_REF : {
- ClientModuleRef clientModuleRef = (ClientModuleRef) theEObject;
- Object result = caseClientModuleRef(clientModuleRef);
- if (result == null)
- result = caseModuleRef(clientModuleRef);
- if (result == null)
- result = defaultCase(theEObject);
- return result;
- }
- case CommonarchivePackage.CONNECTOR_MODULE_REF : {
- ConnectorModuleRef connectorModuleRef = (ConnectorModuleRef) theEObject;
- Object result = caseConnectorModuleRef(connectorModuleRef);
- if (result == null)
- result = caseModuleRef(connectorModuleRef);
- if (result == null)
- result = defaultCase(theEObject);
- return result;
- }
- default :
- return defaultCase(theEObject);
- }
- }
- return defaultCase(theEObject);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Object caseContainerGen(Container object) {
- return null;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Object caseWARFileGen(WARFile object) {
- return null;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Object caseModuleFileGen(ModuleFile object) {
- return null;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Object caseApplicationClientFileGen(ApplicationClientFile object) {
- return null;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Object caseEARFileGen(EARFile object) {
- return null;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Object caseEJBJarFileGen(EJBJarFile object) {
- return null;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Object caseRARFileGen(RARFile object) {
- return null;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Object caseArchiveGen(Archive object) {
- return null;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Object caseFileGen(File object) {
- return null;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Object caseReadOnlyDirectoryGen(ReadOnlyDirectory object) {
- return null;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public Object defaultCaseGen(EObject object) {
- return null;
- }
-
-} //CommonarchiveSwitch
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/EARFileUtil.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/EARFileUtil.java
deleted file mode 100644
index ef6ea5227..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/EARFileUtil.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.util;
-
-
-import java.io.FileNotFoundException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ModuleFile;
-import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
-import org.eclipse.jst.j2ee.internal.common.XMLResource;
-
-
-public class EARFileUtil {
-
- /**
- * Constructor for EARFileUtil.
- */
- private EARFileUtil() {
- super();
- }
-
- /**
- * Returns a list of all module files which are a spec level too high for the EAR file. If the
- * EAR is 1.3, returns an empty list. Otherwise returns any J2EE 1.3 modules.
- */
- public static List getIncompatible13ModuleFiles(EARFile earFile) {
- if (isJ2EE13(earFile))
- return Collections.EMPTY_LIST;
-
- List moduleFiles = earFile.getModuleFiles();
- List result = new ArrayList();
- for (int i = 0; i < moduleFiles.size(); i++) {
- ModuleFile aModuleFile = (ModuleFile) moduleFiles.get(i);
- if (isJ2EE13(aModuleFile))
- result.add(aModuleFile);
- }
- return result;
- }
-
- /**
- * Returns a list of all module files which are a spec level too high for the EAR file. If the
- * EAR is 1.4, returns an empty list. Otherwise returns any J2EE 1.4 modules.
- */
- public static List getIncompatible14ModuleFiles(EARFile earFile) {
- if (isJ2EE14(earFile))
- return Collections.EMPTY_LIST;
-
- List moduleFiles = earFile.getModuleFiles();
- List result = new ArrayList();
- for (int i = 0; i < moduleFiles.size(); i++) {
- ModuleFile aModuleFile = (ModuleFile) moduleFiles.get(i);
- if (isJ2EE14(aModuleFile))
- result.add(aModuleFile);
- }
- return result;
- }
-
- public static boolean isJ2EE13(ModuleFile aModuleFile) {
- try {
- XMLResource xmlResource = (XMLResource) aModuleFile.getDeploymentDescriptorResource();
- return xmlResource.getJ2EEVersionID() == J2EEVersionConstants.J2EE_1_3_ID;
- } catch (FileNotFoundException ex) {
- return false;
- }
- }
-
- public static boolean isJ2EE14(ModuleFile aModuleFile) {
- try {
- XMLResource xmlResource = (XMLResource) aModuleFile.getDeploymentDescriptorResource();
- return xmlResource.getJ2EEVersionID() == J2EEVersionConstants.J2EE_1_4_ID;
- } catch (FileNotFoundException ex) {
- return false;
- }
- }
-
-
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/FileDups.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/FileDups.java
deleted file mode 100644
index fbb2081c9..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/FileDups.java
+++ /dev/null
@@ -1,201 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.util;
-
-
-import java.io.File;
-import java.util.Arrays;
-import java.util.Enumeration;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.Map;
-import java.util.Set;
-import java.util.StringTokenizer;
-import java.util.TreeMap;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-/**
- * Insert the type's description here. Creation date: (4/11/2001 10:28:44 AM)
- *
- * @author: Administrator
- */
-public class FileDups {
- private static int sFiles = 0;
- private static int sDups = 0;
- private static int sJARs = 0;
- private static String[] excludedEntryNames = new String[]{"com/ibm/ivj/ejb/runtime/_CopyHelper_Stub.class", //$NON-NLS-1$
- "org/omg/stub/javax/ejb/_HomeHandle_Stub.class", //$NON-NLS-1$
- "org/omg/stub/javax/ejb/_Handle_Stub.class", //$NON-NLS-1$
- "org/omg/stub/javax/ejb/_EJBObject_Stub.class", //$NON-NLS-1$
- "org/omg/stub/javax/ejb/_EJBHome_Stub.class", //$NON-NLS-1$
- "org/omg/stub/java/lang/_Cloneable_Stub.class", //$NON-NLS-1$
- "com/ibm/websphere/csi/_TransactionalObject_Stub.class", //$NON-NLS-1$
- "com/ibm/websphere/csi/_CSIServant_Stub.class", //$NON-NLS-1$
- "com/ibm/ejs/container/_EJSWrapper_Tie.class", //$NON-NLS-1$
- "com/ibm/ejs/container/_EJSWrapper_Stub.class" //$NON-NLS-1$
- };
- private static HashSet excluded = new HashSet(Arrays.asList(excludedEntryNames));
-
- private static void addEntry(String entry, Map map, String jarName) {
- sFiles++;
-
- Object current = map.get(entry);
- if (current == null) {
- // This is the first time the entry is found
- map.put(entry, jarName);
- } else if (current instanceof String) {
- // There is one other entry
- map.remove(entry);
-
- String other = (String) current;
- LinkedList list = new LinkedList();
- list.addFirst(other);
- list.addFirst(jarName);
- map.put(entry, list);
-
- sDups++;
- } else {
- // There are more than one other instances
- LinkedList list = (LinkedList) current;
- list.addFirst(jarName);
-
- sDups++;
- }
- }
-
- /**
- * Starts the application.
- *
- * @param args
- * an array of command-line arguments
- */
- public static void main(java.lang.String[] args) {
- if (args.length != 1) {
- StringBuffer sb = new StringBuffer();
- sb.append("FileDups utility\r\n\r\n"); //$NON-NLS-1$
- sb.append("Synopsis:\r\n"); //$NON-NLS-1$
- sb.append("Analyzes JAR and ZIP files in a directory for duplicate entries with the same name. This excludes all entries in the \"META-INF\" directory of the archive. This does not check timestamps or size.\r\n\r\n"); //$NON-NLS-1$
- sb.append("Usage: FileDups dirName\r\n"); //$NON-NLS-1$
- System.out.println(sb.toString());
- return;
- }
-
- TreeMap map = new TreeMap();
-
- try {
- for (int i = 0; i < args.length; i++) {
- File root = new File(args[i]);
- processDirectory(root, map);
- }
-
- TreeMap outputMap = new TreeMap();
-
- Set set = map.entrySet();
- Iterator it = set.iterator();
- while (it.hasNext()) {
- Map.Entry me = (Map.Entry) it.next();
- Object o = me.getValue();
- if (o instanceof LinkedList) {
- StringBuffer jars = new StringBuffer();
-
- LinkedList list = (LinkedList) o;
- Iterator entryIter = list.iterator();
- while (entryIter.hasNext()) {
- jars.append(entryIter.next());
- jars.append("\r\n"); //$NON-NLS-1$
- }
-
- LinkedList outputList = (LinkedList) outputMap.get(jars.toString());
- if (outputList == null) {
- outputList = new LinkedList();
- outputMap.put(jars.toString(), outputList);
- }
- outputList.addFirst(me.getKey());
- }
- }
-
- Set outSet = outputMap.entrySet();
- it = outSet.iterator();
- while (it.hasNext()) {
- Map.Entry me = (Map.Entry) it.next();
- String jars = (String) me.getKey();
- StringTokenizer tokens = new StringTokenizer(jars, "\r\n"); //$NON-NLS-1$
-
- while (tokens.hasMoreTokens()) {
- System.out.println(tokens.nextToken());
- }
-
- LinkedList list = (LinkedList) me.getValue();
- Iterator entryIter = list.iterator();
- while (entryIter.hasNext()) {
- System.out.println(" " + (String) entryIter.next()); //$NON-NLS-1$
- }
- }
-
- System.out.println("\r\nSearched " + sJARs + " jars, found " + sDups + " dups in " + sFiles + " files."); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- } catch (Exception x) {
- x.printStackTrace();
- }
- }
-
- private static void processDirectory(File root, Map map) throws java.io.IOException {
- File[] files = root.listFiles();
- for (int i = 0; i < files.length; i++) {
- File f = files[i];
- if (f.isDirectory())
- processDirectory(f, map);
- else {
- String name = f.getName().toLowerCase();
- if (name.endsWith(".zip") || name.endsWith(".jar")) //$NON-NLS-1$ //$NON-NLS-2$
- {
- processFile(f, map);
- }
- }
- }
- }
-
- private static void processFile(File file, Map map) throws java.io.IOException {
- HashSet filesInFile = new HashSet();
-
- sJARs++;
- ZipFile zip = null;
- try {
- zip = new ZipFile(file);
- Enumeration eNum = zip.entries();
- while (eNum.hasMoreElements()) {
- ZipEntry entry = (ZipEntry) eNum.nextElement();
- String name = entry.getName();
- if (!name.startsWith("META-INF") && !excluded.contains(name)) //$NON-NLS-1$
- filesInFile.add(name);
- }
- } catch (Exception x) {
- System.out.println("*Error searching in " + file.getAbsolutePath()); //$NON-NLS-1$
- } finally {
- try {
- if (zip != null)
- zip.close();
- } catch (java.io.IOException ignored) {
- //Ignore
- }
- }
-
- // Now add the packages to the map
- String filename = file.getPath();
-
- Iterator it = filesInFile.iterator();
- while (it.hasNext()) {
- String entryName = (String) it.next();
- addEntry(entryName, map, filename);
- }
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/ObjectInputStreamCustomResolver.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/ObjectInputStreamCustomResolver.java
deleted file mode 100644
index b7ac91a20..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/ObjectInputStreamCustomResolver.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.commonarchivecore.internal.util;
-
-
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.ObjectStreamClass;
-import java.io.StreamCorruptedException;
-import java.lang.reflect.Array;
-
-public class ObjectInputStreamCustomResolver extends java.io.ObjectInputStream {
- private ClassLoader cl;
-
- /**
- * Constructor
- */
-
- public ObjectInputStreamCustomResolver(InputStream is, ClassLoader loader) throws IOException, StreamCorruptedException {
-
- super(is);
-
- if (loader != null)
- cl = loader;
-
- }
-
- /**
- * Gets the java type class given a signature letter.
- */
-
- private Class getType(char type) {
-
- switch (type) {
- case 'B' :
- return byte.class;
- case 'C' :
- return char.class;
- case 'D' :
- return double.class;
- case 'F' :
- return float.class;
- case 'I' :
- return int.class;
- case 'J' :
- return long.class;
- case 'S' :
- return short.class;
- case 'Z' :
- return boolean.class;
- default :
- return null;
- }
-
- }
-
- /**
- * This overrides the default resolveClass() method to use a custom class loader.
- */
-
- protected Class resolveClass(ObjectStreamClass classDesc) throws IOException, ClassNotFoundException {
-
- String className = classDesc.getName();
-
- //UtilsTrace.trace(" ObjectInputStreamCustomResolver: Resolving " + className);
-
- // Handle arrays of classes differently
-
- if (className.startsWith("[")) {//$NON-NLS-1$
-
- Class component = null;
- int dimNum;
-
- for (dimNum = 1; className.charAt(dimNum) == '['; dimNum++)
-
- if (className.charAt(dimNum) == 'L') {
- component = cl.loadClass(className.substring(dimNum + 1, className.length() - 1));
- } else {
- if (className.length() != dimNum + 1)
- throw new ClassNotFoundException(className); // malformed
- component = getType(className.charAt(dimNum));
- }
-
- int dimensions[] = new int[dimNum];
- for (int i = 0; i < dimNum; i++)
- dimensions[i] = 0;
-
- return Array.newInstance(component, dimensions).getClass();
-
- }
- return cl.loadClass(className);
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/RarFileDynamicClassLoader.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/RarFileDynamicClassLoader.java
deleted file mode 100644
index a882bc907..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/RarFileDynamicClassLoader.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-/*
- * Created on Jun 2, 2003
- *
- * To change the template for this generated file go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.jst.j2ee.commonarchivecore.internal.util;
-
-import java.io.InputStream;
-import java.util.List;
-
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonArchiveResourceHandler;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.RARFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.ArchiveRuntimeException;
-
-
-public class RarFileDynamicClassLoader extends ArchiveFileDynamicClassLoader {
-
-
- public RarFileDynamicClassLoader(Archive anArchive, ClassLoader parentCl, ClassLoader extraCl) {
- super(anArchive, parentCl, extraCl);
- }
-
- protected byte[] getClassBytesFor(String className) {
-
- if (className == null)
- return null;
- // Change the class name to a jar entry name
- List children = getRarFile().getArchiveFiles();
- String jarEntryName = ArchiveUtil.classNameToUri(className);
- for (int i = 0; i < children.size(); i++) {
- try {
- InputStream in = ((Archive) children.get(i)).getInputStream(jarEntryName);
- return ArchiveUtil.inputStreamToBytes(in);
- } catch (java.io.FileNotFoundException ex) {
- continue;
- } catch (java.io.IOException ex) {
- throw new ArchiveRuntimeException(CommonArchiveResourceHandler.getString("io_ex_loading_EXC_", (new Object[]{className})), ex); //$NON-NLS-1$ = "An IO exception occurred loading "
- }
- }
- return null;
- }
-
- private RARFile getRarFile() {
- return (RARFile) getArchive();
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/WarFileDynamicClassLoader.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/WarFileDynamicClassLoader.java
deleted file mode 100644
index 1a9a84afa..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/WarFileDynamicClassLoader.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-/*
- * Created on Jun 23, 2003
- *
- * To change the template for this generated file go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.jst.j2ee.commonarchivecore.internal.util;
-
-import java.io.InputStream;
-import java.util.List;
-
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonArchiveResourceHandler;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.WARFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.ArchiveRuntimeException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveConstants;
-
-
-/**
- * @author dfholttp
- *
- * To change the template for this generated type comment go to Window>Preferences>Java>Code
- * Generation>Code and Comments
- */
-public class WarFileDynamicClassLoader extends ArchiveFileDynamicClassLoader {
-
- public WarFileDynamicClassLoader(Archive anArchive, ClassLoader parentCl, ClassLoader extraCl) {
- super(anArchive, parentCl, extraCl);
- }
-
- protected byte[] getClassBytesFor(String className) {
-
- String jarEntryName = ArchiveUtil.classNameToUri(className);
- String swizzledName = ArchiveUtil.concatUri(ArchiveConstants.WEBAPP_CLASSES_URI, jarEntryName, '/');
-
- try {
- InputStream in = getWarFile().getInputStream(swizzledName);
- return ArchiveUtil.inputStreamToBytes(in);
- } catch (java.io.FileNotFoundException ex) {
- //Ignore
- } catch (java.io.IOException ex) {
- throw new ArchiveRuntimeException(CommonArchiveResourceHandler.getString("io_ex_loading_EXC_", (new Object[]{className})), ex); //$NON-NLS-1$ = "An IO exception occurred loading "
- }
-
- List children = getWarFile().getLibs();
- for (int i = 0; i < children.size(); i++) {
- try {
- InputStream in = ((Archive) children.get(i)).getInputStream(jarEntryName);
- return ArchiveUtil.inputStreamToBytes(in);
- } catch (java.io.FileNotFoundException ex) {
- continue;
- } catch (java.io.IOException ex) {
- throw new ArchiveRuntimeException(CommonArchiveResourceHandler.getString("io_ex_loading_EXC_", (new Object[]{className})), ex); //$NON-NLS-1$ = "An IO exception occurred loading "
- }
- }
- return super.getClassBytesFor(className);
- }
-
- private WARFile getWarFile() {
- return (WARFile) getArchive();
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/component.xml b/plugins/org.eclipse.jst.j2ee.core/component.xml
deleted file mode 100644
index 5dd21567b..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/component.xml
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><component xmlns="http://eclipse.org/wtp/releng/tools/component-model" name="org.eclipse.jst.j2ee.core"><component-depends unrestricted="true"></component-depends><plugin id="org.eclipse.jst.j2ee.core" fragment="false"/></component> \ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/applicationclientvalidation.properties b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/applicationclientvalidation.properties
deleted file mode 100644
index 9dd19953a..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/applicationclientvalidation.properties
+++ /dev/null
@@ -1,65 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 2004 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
-###############################################################################
-# This properties file holds all the externalized strings for the Application Client project
-#
-# :Begin: WebSphere Quality Validation Information :Begin:
-#COMPONENTPREFIX CHKJ
-#COMPONENTNAMEFOR CHKJ IBM WebSphere Validation
-#CMVCPATHNAME ncf/src/java/com/ibm/websphere/validation/applicationclientvalidation.properties
-# :End: WebSphere Quality Validation Information :End:
-
-
-ERROR_APPLICATIONCLIENT_INVALID_APPCLIENT_FILE=CHKJ1000E: Validation failed because the application client file is not valid. Ensure that the deployment descriptor is valid.
-#EXPLANATION None.
-#USERACTION None.
-
-ERROR_APPCLIENT_VALIDATION_FAILED=CHKJ1001E: Validation failed:
-#EXPLANATION None.
-#USERACTION None.
-
-ERROR_EJB_REFS=CHKJ1002E: Unresolvable EJB references in {0};
-#EXPLANATION None.
-#USERACTION None.
-
-INVALID_DD=CHKJ1003E: The application client project has an invalid deployment descriptor.
-#EXPLANATION None.
-#USERACTION None.
-
-MESSAGE_APPCLIENT_MISSING_URI=CHKJ1004E: The URI, {0}, does not match anything in the application client file.
-#EXPLANATION None.
-#USERACTION None.
-
-APPCLIENT_DD_PARSE_LINECOL=CHKJ1005E: The deployment descriptor could not be loaded due to an unknown syntax error. The bad section starts at line {0}, column {1}.
-#EXPLANATION None.
-#USERACTION None.
-
-APPCLIENT_DD_PARSE_LINE=CHKJ1006E: The deployment descriptor could not be loaded due to an unknown syntax error. The bad section starts at line {0}.
-#EXPLANATION None.
-#USERACTION None.
-
-APPCLIENT_DD_PARSE_NOINFO=CHKJ1007E: The deployment descriptor could not be loaded due to an unknown syntax error. There is no information available to help identify the bad section.
-#EXPLANATION None.
-#USERACTION None.
-
-APPCLIENT_DD_CANNOT_OPEN_DD=CHKJ1008E: Validation cannot complete because the deployment descriptor cannot be opened.
-#EXPLANATION None.
-#USERACTION None.
-
-APPCLIENT_DUP_RES_ENV_REF_ERROR_=IWAE0002E Duplicate resource environment reference "{0}" in application-client.xml.
-#EXPLANATION None.
-#USERACTION None.
-
-APPCLIENT_INVALID_DOC_TYPE_ERROR_=IWAE0003E Document type version "{0}" for application-client.xml in project "{1}" needs to be version "{2}".
-#EXPLANATION None.
-#USERACTION None.
-
-APPCLIENT_DUP_EJB_REF_ERROR_=IWAE0004E Duplicate enterprise bean reference "{0}" in application-client.xml.
-APPCLIENT_MAIN_CLASS_ERROR_=IWAE0035E The Main-Class attribute must be defined in the application client module.
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/earvalidation.properties b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/earvalidation.properties
deleted file mode 100644
index b768fa8d5..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/earvalidation.properties
+++ /dev/null
@@ -1,139 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 2004 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
-###############################################################################
-# This properties file hold all the externalised strings for eTools
-# EAR Validation project
-#
-# Messages should be according to the format at
-# http://hany.austin.ibm.com/messages/index.html
-#
-# Briefly:
-# MESSAGE_ID=<ComponentPrefix><MessageNumber><TypeCode>: <MessageText>
-#
-# The prefix for this component is:
-# CHKW (IBM WebSphere Validation)
-#
-# Message numbers are four digit numbers, from '0000' to '9999', inclusive.
-# Message numbers are filled to the left with '0', to a width of 4.
-#
-# Valid message type codes are:
-# I (Informational)
-# W (Warning)
-# E (Error)
-#
-# Note the ": " that appears between the type code and the message text.
-#
-# :Begin: WebSphere Quality Validation Information :Begin:
-#COMPONENTPREFIX CHKJ
-#COMPONENTNAMEFOR CHKJ IBM WebSphere Validation
-#CMVCPATHNAME ncf/src/java/com/ibm/websphere/validation/earvalidation.properties
-# :End: WebSphere Quality Validation Information :End:
-#
-# 29-June-2001:
-# This file has been tested using the ProcessMsgFile tool, written by
-# Hany Salem and owned by Dennis Hebert. Any future changes should
-# also be verified using this tool. Please contact Dennis
-# (hebert@us.ibm.com or T/L 543-2520) for more information.
-#
-# --------------------------------
-#NOTAMSG
-validator.name=EAR Validator
-
-# --------------------------------
-ERROR_EAR_VALIDATION_FAILED=CHKJ1000E: EAR Validation failed: {0}
-#EXPLANATION None.
-#USERACTION None.
-
-# --------------------------------
-ERROR_EAR_INVALID_EAR_FILE=CHKJ1001E: The EAR project {0} is invalid.
-#EXPLANATION None.
-#USERACTION None.
-
-# --------------------------------
-ERROR_EAR_DUPLICATE_ROLES=CHKJ1002E: Duplicate security role named {0}.
-#EXPLANATION None.
-#USERACTION None.
-
-# --------------------------------
-MESSAGE_EAR_NO_MODULE_URI=CHKJ1003E: A module has been defined with no URI.
-#EXPLANATION None.
-#USERACTION None.
-
-# --------------------------------
-MESSAGE_EAR_MISSING_URI=CHKJ1004E: The URI, {0}, does not match anything in the EAR file.
-#EXPLANATION None.
-#USERACTION None.
-
-# --------------------------------
-EAR_DD_PARSE_LINECOL=CHKJ1005E: The deployment descriptor could not be loaded. The start of the bad section is at line {0}, column {1}.
-#EXPLANATION None.
-#USERACTION None.
-
-# --------------------------------
-EAR_DD_PARSE_LINE=CHKJ1006E: The deployment descriptor could not be loaded. The start of the bad section is at line {0}.
-#EXPLANATION None.
-#USERACTION None.
-
-# --------------------------------
-EAR_DD_PARSE_NOINFO=CHKJ1007E: The deployment descriptor could not be loaded.
-#EXPLANATION None.
-#USERACTION None.
-
-# --------------------------------
-EAR_DD_CANNOT_OPEN_DD=CHKJ1008E: Cannot open the deployment descriptor. Validation cannot complete.
-#EXPLANATION None.
-#USERACTION None.
-
-# errors ---------------------------
-URI_CONTAINS_SPACES_ERROR_=IWAE0005E The URI {0} contains a space. This is not recommended because it cannot be referenced from a manifest file.
-MESSAGE_EAR_DUPLICATE_URI_ERROR_=IWAE0006E The module {0} has duplicate uri in EAR: {1}.
-MESSAGE_EAR_DUPICATE_ROOTCONTEXT_ERROR_=IWAE0007E Same context root "{0}" exists in Web modules "{1}" and "{2}".
-MESSAGE_EMPTY_ALT_DD_ERROR_=IWAE0009E The module {0} has empty <alt-dd> tag in EAR {1}. The tag should be removed or the value should be valid.
-DUPLICATE_UTILJAR_FOR_PROJECT_NAME_ERROR_=IWAE0010E =The project {0} in Enterprise Application project {1} has duplicate utility JAR URI {2}.
-DUPLICATE_MODULE_FOR_PROJECT_NAME_ERROR_=IWAE0011E The project {0} in Enterprise Application project {1} has duplicate module name {2}.
-MESSAGE_UTIL_URI_NAME_COLLISION_ERROR_=IWAE0012E The module {0} in Enterprise Application project {1} has same name as utility JAR URI.
-MESSAGE_UTIL_PROJECT_NAME_COLLISION_ERROR_=IWAE0013E The module {0} in Enterprise Application project {1} has same name as utility JAR project name.
-ERROR_READING_MANIFEST_ERROR_=IWAE0014E An error occurred validating the MANIFEST.MF file in archive {0}.
-MANIFEST_LINE_END_ERROR_=IWAE0015E The MANIFEST.MF file in archive {0} does not end with a newline.
-MANIFEST_LINE_EXCEEDS_LENGTH_ERROR_=IWAE0016E Line {0} in the MANIFEST.MF file in archive {1} exceeds the specification limit of 72 bytes.
-
-INVALID_URI_FOR_MODULE_ERROR_=IWAE0017E The module {0} has a wrong default extension (.jar for EJB modules and .war for Web modules).
-EAR_INVALID_DOC_TYPE_ERROR_=IWAE0018E Document type version "{0}" for application.xml in project "{1}" needs to be version "{2}".
-
-MODULE_DD_PARSE_LINECOL_ERROR_=IWAE0019E The deployment descriptor of module {0} could not be loaded. The bad section starts at line {1}, column {2}.
-MODULE_DD_PARSE_LINE_ERROR_=IWAE0020E The deployment descriptor of module {0} could not be loaded. The bad section starts at line {1}
-MODULE_DD_PARSE_NOINFO_ERROR_=IWAE0021E The deployment descriptor of module {0} could not be loaded.
-EJB_BEAN_EJB_LINK_INTEFACE_MISMATCH_ERROR_=IWAE0037E The interfaces of the linked enterprise bean {0} do not match those in EJB ref {1} in module {2}.
-
-# warnings ----------------------------
-WARNING_METAFOLDER_MISSING=IWAJ0000W: Meta folder {0} must exist in project {1}.
-WARNING_FILE_MISSING=IWAJ0001W: {0} must exist in project {1}.
-MESSAGE_INVALID_ALT_DD_WARN_=IWAE0022W The module {0} has alt-dd {1}, but the resource does not exist in EAR {2}.
-INVALID_MANIFEST_CLASSPATH_ONE_WARN_=IWAE0023W The Manifest Class-Path in archive {0} contains an entry that cannot be resolved in the EAR: {1}.
-INVALID_MANIFEST_CLASSPATH_TWO_WARN_=IWAE0024W The Manifest Class-Path for archive {0} contains an entry, {1}, that is not resolvable to a file or module in the Enterprise Application: {2}.
-INVALID_MANIFEST_CLASSPATH_DEPENDENCY_WARN_=IWAE0025W The Manifest Class-Path in module {0} contains an entry, {1}, that resolves to archive {2}. This dependency does not comply with the J2EE specification.
-PROJECT_IS_CLOSED_WARN_=IWAE0026W EAR Validation cannot run on closed project: {0}. Open the project, and try again.
-PROJECT_DOES_NOT_EXIST_WARN_=IWAE0027W The project {0} for module or utility JAR {1} in enterprise application project {2} does not exist in the workspace.
-MISSING_WEBNATURE_FORMODULE_WARN_=IWAE0028W The web module {0} in enterprise application project {1} is not a J2EE Web project.
-DEPRECATED_ABSPATHS_WARN_=IWAE0029W The IBM extensions file in enterprise application project {0} contains deprecated absolute paths. Use the application editor to clean up the file.
-INVALID_CONTEXTROOT_WEBMODULE_WARN_=IWAE0030W The context root for Web module: {0} in enterprise application project: {1} does not match the context root in web project settings of {2}.
-MISSING_CLIENTNATURE_FORMODULE_WARN_=IWAE0031W The application client module {0} in enterprise application project:{1} is not an application client project.
-MISSING_EJBNATURE_FORMODULE_WARN_=IWAE0032W The EJB module {0} in enterprise application project {1} is not an EJB project.
-MISSING_PROJECT_FORMODULE_WARN_=IWAE0033W The module {0} in enterprise application project {1} is not mapped to a workbench project. Use the application editor to correct.
-INVALID_CASE_FOR_MANIFEST_ERROR_=IWAE0038E The case of the manifest file name "{0}" in archive {1} in incorrect. File name must be "META-INF/MANIFEST.MF", case sensitive.
-URI_ALREADY_EXISTS_IN_EAR_WARN_=IWAE0039W Project utility JAR URI {0} collides with an existing file in project {1}.
-MISSING_MODULE_EXTENSION_ERROR_=IWAE0040E The application extension in EAR project: {0} is missing module extension for module project: {1}.
-PROJECT_SERVER_TARGET_DOES_NOT_MATCH_EAR=The target server of the module project "{0}" does not match the target server of the containing enterprise application project "{1}"
-NO_SERVER_TARGET_MODULE_IN_EAR_WITH_SERVER_TARGET=The module project "{0}" with no target server belongs to an enterprise application project "{1}" that has a target server
-NO_SERVER_TARGET_ON_EAR_WITH_MODULE_SERVER_TARGETS=The ear project "{0}" with no target server has module project "{1}" that has a target server
-INVALID_EAR_SERVER_TARGET_FOR_14_SPEC_LEVEL=The J2EE 1.4 specification EAR project "{0}" has an incompatible target server "{1}"
-INVALID_MODULE_SERVER_TARGET_FOR_14_SPEC_LEVEL=The J2EE 1.4 specification module project "{0}" has an incompatible target server "{1}".
-MESSAGE_INCOMPATIBLE_SPEC_WARNING_=IWAE0008E The module "{0}" is at an incompatible J2EE specification level than that of the "{1}" Enterprise Application.
-EAR_VALIDATION_INTERNAL_ERROR_UI_=IWAE0053E An internal error has occurred running validation on project:{0}, check the log file for details
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/ejbvalidator.properties b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/ejbvalidator.properties
deleted file mode 100644
index 4e132fa03..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/ejbvalidator.properties
+++ /dev/null
@@ -1,1528 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 2004 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
-###############################################################################
-#
-# *************************************************************************
-# * Code oriented instructions:
-# *
-# * In the string, you may see the following special sequences:
-# * a) {n} where n is a number. These are replaceable parameters.
-# * b) '' In .properties files, in order to see one apostrophe (') in the final
-# * string, sometimes two apostrophes must be entered in the string. In the translated
-# * string, if there is at least one {n} in the string, then to show one apostrophe
-# * to the user, put two apostrophes in the string. If there are no {n} in the string,
-# * then put one apostrophe.
-# * For example, say that you want the user to read "George's file".
-# * GEORGE=George's file was on the desk.
-# * GEORGE2=George''s file and {0} were on the desk.
-# * GEORGE uses one apostrophe because there are no {n} and GEORGE2
-# * uses two apostrophes because there is a {n}.
-# * c) '' text '' where text can be any word(s). The text between the double
-# * apostrophes should not be translated.
-# * d) <text> where text can be any word(s). The text between the angle
-# * brackets should NOT be translated.
-# * e) "text" where text can be any word(s). The text between the quotation
-# * marks should NOT be translated.
-# *
-# *************************************************************************
-# * Other instructions
-# * a) Do not translate any text that is on a line which begins with a comment
-# * symbol (#).
-# * b) Do not translate these words:
-# * schema, EJB, RDB, JAR, RMI, BMP, CMP, OOSQL
-# * c) Please return the .properties files using the same directory structure.
-# * This is necessary because two of the files have the same name.
-# *
-# *************************************************************************
-# Any other comments to the translators are on lines which start like this: # 2TC:
-#
-# Version 1.42
-#
-
-#
-# Begin EJB Validator strings.
-#
-# The purpose of
-# IDs:
-# STATUS=Status message
-# LOC=Text description of a location (identifies the source of the problem when no line number is available)
-# CHKJ=EJB validation message
-#
-
-#
-# Start of status messages
-#
-STATUS_VALIDATING=Validating {0}.
-
-LOC_CLASS=Class: {0}
-LOC_FIELD=Field: {0}, Class: {1}
-LOC_METHOD=Method: {0}, Class: {1}
-LOC_BEAN=Enterprise bean: {0}
-LOC_ROLE=<localRelationshipRoles>: {0}, Enterprise bean: {1}
-LOC_ROLEREF=<security-role-ref>: {0}
-LOC_METHODELEMENT=<method> element: {0}
-LOC_METHODPERMISSION=<method-permission> element: {0}
-LOC_METHODTRANSACTION=<container-transaction> element: {0}
-LOC_EJBRELATION=<ejb-relation>: {0}
-LOC_EJBRELATIONSHIPROLE=<ejb-relationship-role>: {0}, <ejb-relation>: {1}
-#
-# end of status messages
-#
-
-#
-# Start of validation messages
-#
-# All unique error ids follow this format:
-#
-# CHKJnnnn[s]
-#
-# where
-# - CHKJ is the four character unique component prefix
-# - nnnn is the numerical id, unique within EJB Validator
-# - [s] is the severity indicator: E (error), W (warning), or I (information).
-#
-# nnnn ranges from 2000 - 2999
-# 2000 - 2099 Messages on a class
-# 2100 - 2199 Messages which are specific to Websphere or WSA (i.e., not mentioned in EJB specification, such as associations & finders)
-# 2200 - 2399 Messages on a field
-# 2400 - 2799 Messages on a method
-# 2800 - 2899 Messages on the deployment descriptor
-# 2900 - 2999 Miscellaneous
-#
-
-#
-# Messages common across EJB specifications
-#
-CHKJ2900=CHKJ2900I: Internal error when running EJB validator. Read the log for details.
-CHKJ2852=CHKJ2852W: Internal error while validating {0}. The bean being validated was {1}.
-CHKJ2433=CHKJ2433W: Cannot validate {0} because {1} cannot be reflected. Check the classpath.
-CHKJ2907=CHKJ2907E: Type {0}, or one of its supertypes, cannot be reflected. Check the classpath.
-CHKJ2905=CHKJ2905W: The EJB Validator did not run because ejb-jar.xml could not be loaded. Run the XML validator for more information.
-CHKJ2041=CHKJ2041I: Permanent classes and interfaces should be in a named package. (JLS 2.0: 7.4.2).
-
-CHKJ2456.i=CHKJ2456W: {0} should throw {1} for {2} or there may be compile errors in the deployment code.
-CHKJ2456.m=CHKJ2456W: This method should throw {0} for {1} or there may be compile errors in the deployment code.
-
-#
-# end of common messages
-#
-
-#
-# Messages for the EJB 1.1 specification
-#
-CHKJ2001.eb.ejb11=CHKJ2001W: The {0} key class must implement the {1} method. (EJB 1.1: 9.2.9)
-CHKJ2002.eb.i.ejb11=CHKJ2002W: This class should implement a matching ejbPostCreate method for {0}. (EJB 1.1: 9.2.4)
-CHKJ2002.eb.m.ejb11=CHKJ2002W: This class should implement a matching ejbPostCreate method for this method. (EJB 1.1: 9.2.4)
-CHKJ2003E.ejb11=CHKJ2003E: This class must not implement javax.ejb.SessionSynchronization. (EJB 1.1: 6.5.3).
-CHKJ2003I.ejb11=CHKJ2003I: Bean-managed transaction stateful session beans do not need to implement javax.ejb.SessionSynchronization. (EJB 1.1: 6.5.3).
-CHKJ2004.eb.i.ejb11=CHKJ2004W: The {1} bean class should not implement the {0} ejbFind method. (EJB 1.1: 9.4.6)
-CHKJ2004.eb.m.ejb11=CHKJ2004W: The {0} bean class should not implement an ejbFind method. (EJB 1.1: 9.4.6)
-CHKJ2005.eh.i.ejb11=CHKJ2005E: {0} must be either a create method or a find method. (EJB 1.1: 9.2.8)
-CHKJ2005.eh.m.ejb11=CHKJ2005E: The method must be either a create method or a find method. (EJB 1.1: 9.2.8)
-CHKJ2006.sb.ejb11=CHKJ2006E: The {0} bean class must have a public constructor that takes no arguments. (EJB 1.1: 6.10.2)
-CHKJ2006.eb.ejb11=CHKJ2006E: The {0} bean class must have a public constructor that takes no arguments. (EJB 1.1: 9.2.2)
-CHKJ2007.sb.ejb11=CHKJ2007W: {0} should not declare the finalize() method. (EJB 1.1: 6.10.2)
-CHKJ2007.eb.ejb11=CHKJ2007W: {0} should not declare the finalize() method. (EJB 1.1: 9.2.2)
-CHKJ2008.sb.ejb11=CHKJ2008E: The {0} bean class must contain at least one ejbCreate method. (EJB 1.1: 6.5.5, 6.10.3)
-CHKJ2009.eb.ejb11=CHKJ2009E: The {0} bean class must contain at least one ejbFindByPrimaryKey method. (EJB 1.1: 9.2.5)
-CHKJ2010.sh.ejb11=CHKJ2010E: The {0} home interface must contain at least one create method. (EJB 1.1: 6.10.6)
-CHKJ2011.eh.ejb11=CHKJ2011E: The {0} home interface must contain one findByPrimaryKey method. (EJB 1.1: 9.2.8)
-CHKJ2012.sr.ejb11=CHKJ2012E: This type must be an interface. (EJB 1.1: 6.10.5).
-CHKJ2012.sh.ejb11=CHKJ2012E: This type must be an interface. (EJB 1.1: 6.10.6).
-CHKJ2012.er.ejb11=CHKJ2012E: This type must be an interface. (EJB 1.1: 9.2.7).
-CHKJ2012.eh.ejb11=CHKJ2012E: This type must be an interface. (EJB 1.1: 9.2.8).
-CHKJ2013.sb.ejb11=CHKJ2013E: The {0} bean class must implement {1}. (EJB 1.1: 6.10.2).
-CHKJ2013.eb.ejb11=CHKJ2013E: The {0} bean class must implement {1}. (EJB 1.1: 9.2.2).
-CHKJ2014.sb.ejb11=CHKJ2014E: The {0} bean class cannot be abstract. (EJB 1.1: 6.10.2)
-CHKJ2014.eb.ejb11=CHKJ2014E: The {0} bean class cannot be abstract. (EJB 1.1: 9.2.2)
-CHKJ2015.sb.ejb11=CHKJ2015E: The {0} bean class cannot be final. (EJB 1.1: 6.10.2)
-CHKJ2015.eb.ejb11=CHKJ2015E: The {0} bean class cannot be final. (EJB 1.1: 9.2.2)
-CHKJ2017.sr.ejb11=CHKJ2017E: Interface must extend {0}. (EJB 1.1: 6.10.5)
-CHKJ2017.sh.ejb11=CHKJ2017E: Interface must extend {0}. (EJB 1.1: 6.10.6)
-CHKJ2017.er.ejb11=CHKJ2017E: Interface must extend {0}. (EJB 1.1: 9.2.7)
-CHKJ2017.eh.ejb11=CHKJ2017E: Interface must extend {0}. (EJB 1.1: 9.2.8)
-CHKJ2019.eb.ejb11=CHKJ2019I: The {0} key class must be serializable at runtime. (EJB 1.1: 9.2.9) (RMI 1.3: 2.6).
-
-
-CHKJ2020.eb.ejb11=CHKJ2020E: The {0} key class must be public. (EJB 1.1: 9.4.7.2)
-CHKJ2021.eb.ejb11=CHKJ2021E: The {0} key class must define a public default constructor. (EJB 1.1: 9.4.7.2)
-CHKJ2022.sb.ejb11=CHKJ2022E: {0} bean class must be public. (EJB 1.1: 6.10.2)
-CHKJ2022.eb.ejb11=CHKJ2022E: {0} bean class must be public. (EJB 1.1: 9.2.2)
-CHKJ2023.sr.i.ejb11=CHKJ2023E: {0} must have a matching method in the {1} bean class. (EJB 1.1: 6.10.5)
-CHKJ2023.sr.m.ejb11=CHKJ2023E: This method must have a matching method in the {0} bean class. (EJB 1.1: 6.10.5)
-CHKJ2023.er.i.ejb11=CHKJ2023E: {0} must have a matching method in the {1} bean class. (EJB 1.1: 9.2.7)
-CHKJ2023.er.m.ejb11=CHKJ2023E: This method must have a matching method in the {0} bean class. (EJB 1.1: 9.2.7)
-CHKJ2024.sh.i.ejb11=CHKJ2024E: {0} must not exist. Only create() may exist (EJB 1.1: 6.8).
-CHKJ2024.sh.m.ejb11=CHKJ2024E: This method must not exist. Only create() may exist (EJB 1.1: 6.8).
-CHKJ2025.sb.i.ejb11=CHKJ2025E: {0} must not exist. Only ejbCreate() may exist (EJB 1.1: 6.8).
-CHKJ2025.sb.m.ejb11=CHKJ2025E: This method must not exist. Only ejbCreate() may exist (EJB 1.1: 6.8).
-CHKJ2026.sh.i.ejb11=CHKJ2026E: Bean class {1} must implement a matching ejbCreate method for {0}. (EJB 1.1: 6.10.6)
-CHKJ2026.sh.m.ejb11=CHKJ2026E: Bean class {0} must implement a matching ejbCreate method for this method. (EJB 1.1: 6.10.6)
-CHKJ2026.eh.i.ejb11=CHKJ2026E: Bean class {1} must implement a matching ejbCreate method for {0}. (EJB 1.1: 9.2.8)
-CHKJ2026.eh.m.ejb11=CHKJ2026E: Bean class {0} must implement a matching ejbCreate method for this method. (EJB 1.1: 9.2.8)
-CHKJ2028.eb.i.ejb11=CHKJ2028W: {0} will not be called unless a matching ejbCreate method is defined. (EJB 1.1: 9.1.5.1)
-CHKJ2028.eb.m.ejb11=CHKJ2028W: This method will not be called unless a matching ejbCreate method is defined. (EJB 1.1: 9.1.5.1)
-CHKJ2029.eb.i.ejb11=CHKJ2029W: {0} cannot be called without the matching create method on the home interface {1}. (EJB 1.1: 9.2.3)
-CHKJ2029.eb.m.ejb11=CHKJ2029W: This method cannot be called without the matching create method on the home interface {0}. (EJB 1.1: 9.2.3)
-CHKJ2030.eh.i.ejb11=CHKJ2030E: {0} must have a matching ejbFind method in the {1} bean class. (EJB 1.1: 9.2.8)
-CHKJ2030.eh.m.ejb11=CHKJ2030E: This method must have a matching ejbFind method in the {0} bean class. (EJB 1.1: 9.2.8)
-CHKJ2032.eb.ejb11=CHKJ2032W: Bean class {0} must declare at least one container managed field. (EJB 1.1: 9.4.7)
-CHKJ2033.eb.ejb11=CHKJ2033W: The setEntityContext(EntityContext ic) method must exist. (EJB 1.1: 9.1.5.1)
-CHKJ2034.eb.ejb11=CHKJ2034W: The unsetEntityContext() method must exist. (EJB 1.1: 9.1.5.1)
-CHKJ2035.eb.ejb11=CHKJ2035W: The ejbActivate() method must exist. (EJB 1.1: 9.1.5.1)
-CHKJ2036.eb.ejb11=CHKJ2036W: The ejbPassivate() method must exist. (EJB 1.1: 9.1.5.1)
-CHKJ2037.eb.ejb11=CHKJ2037W: The ejbRemove() method must exist. (EJB 1.1: 9.1.5.1)
-CHKJ2038.eb.ejb11=CHKJ2038W: The ejbLoad() method must exist. (EJB 1.1: 9.1.5.1)
-CHKJ2039.eb.ejb11=CHKJ2039W: The ejbStore() method must exist. (EJB 1.1: 9.1.5.1)
-
-CHKJ2040.sb.ejb11=CHKJ2040I: "this" must not be passed as a method argument or result. (EJB 1.1: 6.10.2)
-
-CHKJ2100.ejb11=CHKJ2100E: Both ends of the role must use the same number of attributes.
-CHKJ2101.ejb11=CHKJ2101E: Both ends of the role must use the same type.
-CHKJ2102.eh.ejb11=CHKJ2102E: Either a finder descriptor, or a matching custom finder method on the {0} class, must be defined.
-CHKJ2103.ejb11=CHKJ2103E: In component inheritance, the {0} bean class must inherit {1}. (EJB 1.1: B.2)
-CHKJ2104.ejb11=CHKJ2104E: In component inheritance, the {0} home interface must not inherit {1}. (EJB 1.1: B.2)
-CHKJ2105.ejb11=CHKJ2105E: In component inheritance, the {0} remote interface must inherit {1}. (EJB 1.1: B.2)
-CHKJ2106.ejb11=CHKJ2106E: Bean {0} must use {1} as its <prim-key-class> (EJB 1.1: B.2).
-
-CHKJ2200.i.ejb11=CHKJ2200W: The {0} static field should be final. (EJB 1.1: 18.1.2)
-CHKJ2200.m.ejb11=CHKJ2200W: This static field should be final. (EJB 1.1: 18.1.2)
-CHKJ2201.eb.i.ejb11=CHKJ2201E: {0} must not be transient. (EJB 1.1: 9.4.1)
-CHKJ2201.eb.m.ejb11=CHKJ2201E: The field must not be transient. (EJB 1.1: 9.4.1)
-CHKJ2202.eb.i.ejb11=CHKJ2202W: The field type of field {0} is invalid for a CMP bean. (EJB 1.1: 9.4.1)
-CHKJ2202.eb.m.ejb11=CHKJ2202W: The field type is invalid for a CMP bean. (EJB 1.1: 9.4.1)
-CHKJ2203.eb.i.ejb11=CHKJ2203E: {0} must be public. (EJB 1.1: 9.4.1)
-CHKJ2203.eb.m.ejb11=CHKJ2203E: The field must be public. (EJB 1.1: 9.4.1)
-CHKJ2205.eb.i.ejb11=CHKJ2205W: The primary key field named {0} must be public. (EJB 1.1: 9.4.7.2)
-CHKJ2205.eb.m.ejb11=CHKJ2205W: The primary key field must be public. (EJB 1.1: 9.4.7.2)
-CHKJ2206.eb.i.ejb11=CHKJ2206W: {0} must be a <cmp-field> of {1} and a field of bean class {2}. (EJB 1.1: 9.4.7.2).
-CHKJ2206.eb.m.ejb11=CHKJ2206W: This field must be a <cmp-field> of {0} and a field of bean class {1}. (EJB 1.1: 9.4.7.2).
-CHKJ2207.eb.ejb11=CHKJ2207E: Key field {0} must be the same type as the primary key, {1}. (EJB 1.1: 9.4.7.1).
-
-CHKJ2400.ejbCreate.sb.i.ejb11=CHKJ2400W: Deprecated use of a java.rmi.RemoteException on method {0}. (EJB 1.1: 6.10.3).
-CHKJ2400.ejbCreate.sb.m.ejb11=CHKJ2400W: Deprecated use of a java.rmi.RemoteException. (EJB 1.1: 6.10.3).
-CHKJ2400.bus.sb.i.ejb11=CHKJ2400W: Deprecated use of a java.rmi.RemoteException on method {0}. (EJB 1.1: 6.10.4).
-CHKJ2400.bus.sb.m.ejb11=CHKJ2400W: Deprecated use of a java.rmi.RemoteException. (EJB 1.1: 6.10.4).
-CHKJ2400.ejbCreate.eb.i.ejb11=CHKJ2400W: Deprecated use of a java.rmi.RemoteException on {0}. (EJB 1.1: 9.2.3).
-CHKJ2400.ejbCreate.eb.m.ejb11=CHKJ2400W: Deprecated use of a java.rmi.RemoteException. (EJB 1.1: 9.2.3).
-CHKJ2400.ejbPostCreate.eb.i.ejb11=CHKJ2400W: Deprecated use of a java.rmi.RemoteException on {0}. (EJB 1.1: 9.2.4).
-CHKJ2400.ejbPostCreate.eb.m.ejb11=CHKJ2400W: Deprecated use of a java.rmi.RemoteException. (EJB 1.1: 9.2.4).
-CHKJ2400.ejbFind.eb.i.ejb11=CHKJ2400W: Deprecated use of a java.rmi.RemoteException on {0}. (EJB 1.1: 9.2.5).
-CHKJ2400.ejbFind.eb.m.ejb11=CHKJ2400W: Deprecated use of a java.rmi.RemoteException. (EJB 1.1: 9.2.5).
-CHKJ2400.bus.eb.i.ejb11=CHKJ2400W: Deprecated use of a java.rmi.RemoteException on {0}. (EJB 1.1: 9.2.6).
-CHKJ2400.bus.eb.m.ejb11=CHKJ2400W: Deprecated use of a java.rmi.RemoteException. (EJB 1.1: 9.2.6).
-
-CHKJ2401.sb.i.ejb11=CHKJ2401E: {0} must return void. (EJB 1.1: 6.10.3)
-CHKJ2401.sb.m.ejb11=CHKJ2401E: This method must return void. (EJB 1.1: 6.10.3)
-CHKJ2402.sh.i.ejb11=CHKJ2402W: {0} must return the {1} remote interface type. (EJB 1.1: 6.10.6).
-CHKJ2402.sh.m.ejb11=CHKJ2402W: This create method must return the {0} remote interface type. (EJB 1.1: 6.10.6).
-CHKJ2402.eh.i.ejb11=CHKJ2402W: {0} must return the {1} remote interface type. (EJB 1.1: 9.2.8).
-CHKJ2402.eh.m.ejb11=CHKJ2402W: This create method must return the {0} remote interface type. (EJB 1.1: 9.2.8).
-CHKJ2403.eh.i.ejb11=CHKJ2403W: {0} must return {1} or a collection thereof. (EJB 1.1: 9.2.8)
-CHKJ2403.eh.m.ejb11=CHKJ2403W: The method must return {0} or a collection thereof. (EJB 1.1: 9.2.8)
-CHKJ2405.eh.i.ejb11=CHKJ2405W: The order and types of the arguments in {0} must match the order and types of the fields in the {1} key class. (EJB 1.1: 9.2.8, 9.4.7.3, 16.5)
-CHKJ2405.eh.m.ejb11=CHKJ2405W: The order and types of the arguments must match the order and types of the fields in the {0} key class. (EJB 1.1: 9.2.8, 9.4.7.3, 16.5)
-CHKJ2406.eb.i.ejb11=CHKJ2406W: {0} should return the primary key type {1}. (EJB 1.1: 9.2.3, 9.4.2, 9.4.7.3).
-CHKJ2406.eb.m.ejb11=CHKJ2406W: The method should return the primary key type {0}. (EJB 1.1: 9.2.3, 9.4.2, 9.4.7.3).
-CHKJ2407.eb.i.ejb11=CHKJ2407W: {0} should return either {1} or a collection thereof. (EJB 1.1: 9.2.5)
-CHKJ2407.eb.m.ejb11=CHKJ2407W: This method should return either {0} or a collection thereof. (EJB 1.1: 9.2.5)
-
-CHKJ2408.ejbCreate.sb.i.ejb11=CHKJ2408E: {0} must be public. (EJB 1.1: 6.10.3).
-CHKJ2408.ejbCreate.sb.m.ejb11=CHKJ2408E: The method must be public. (EJB 1.1: 6.10.3).
-CHKJ2408.bus.sb.i.ejb11=CHKJ2408E: {0} must be public. (EJB 1.1: 6.10.4).
-CHKJ2408.bus.sb.m.ejb11=CHKJ2408E: This method must be public. (EJB 1.1: 6.10.4).
-CHKJ2408.ejbCreate.eb.i.ejb11=CHKJ2408E: {0} must be public. (EJB 1.1: 9.2.3).
-CHKJ2408.ejbCreate.eb.m.ejb11=CHKJ2408E: This method must be public. (EJB 1.1: 9.2.3).
-CHKJ2408.ejbPostCreate.eb.i.ejb11=CHKJ2408E: {0} must be public. (EJB 1.1: 9.2.4).
-CHKJ2408.ejbPostCreate.eb.m.ejb11=CHKJ2408E: This method must be public. (EJB 1.1: 9.2.4).
-CHKJ2408.ejbFind.eb.i.ejb11=CHKJ2408E: {0} must be public. (EJB 1.1: 9.2.5).
-CHKJ2408.ejbFind.eb.m.ejb11=CHKJ2408E: This method must be public. (EJB 1.1: 9.2.5).
-CHKJ2408.bus.eb.i.ejb11=CHKJ2408E: {0} must be public. (EJB 1.1: 9.2.6).
-CHKJ2408.bus.eb.m.ejb11=CHKJ2408E: This method must be public. (EJB 1.1: 9.2.6).
-
-CHKJ2409.ejbCreate.sb.i.ejb11=CHKJ2409E: {0} must not be final. (EJB 1.1: 6.10.3).
-CHKJ2409.ejbCreate.sb.m.ejb11=CHKJ2409E: This method must not be final. (EJB 1.1: 6.10.3).
-CHKJ2409.bus.sb.i.ejb11=CHKJ2409E: {0} must not be final. (EJB 1.1: 6.10.4).
-CHKJ2409.bus.sb.m.ejb11=CHKJ2409E: This method must not be final. (EJB 1.1: 6.10.4).
-CHKJ2409.ejbCreate.eb.i.ejb11=CHKJ2409E: {0} must not be final. (EJB 1.1: 9.2.3).
-CHKJ2409.ejbCreate.eb.m.ejb11=CHKJ2409E: This method must not be final. (EJB 1.1: 9.2.3).
-CHKJ2409.ejbPostCreate.eb.i.ejb11=CHKJ2409E: {0} must not be final. (EJB 1.1: 9.2.4).
-CHKJ2409.ejbPostCreate.eb.m.ejb11=CHKJ2409E: This method must not be final. (EJB 1.1: 9.2.4).
-CHKJ2409.ejbFind.eb.i.ejb11=CHKJ2409E: {0} must not be final. (EJB 1.1: 9.2.5).
-CHKJ2409.ejbFind.eb.m.ejb11=CHKJ2409E: This method must not be final. (EJB 1.1: 9.2.5).
-CHKJ2409.bus.eb.i.ejb11=CHKJ2409E: {0} must not be final. (EJB 1.1: 9.2.6).
-CHKJ2409.bus.eb.m.ejb11=CHKJ2409E: This method must not be final. (EJB 1.1: 9.2.6).
-
-CHKJ2410.ejbCreate.sb.i.ejb11=CHKJ2410E: {0} must not be static. (EJB 1.1: 6.10.3).
-CHKJ2410.ejbCreate.sb.m.ejb11=CHKJ2410E: This method must not be static. (EJB 1.1: 6.10.3).
-CHKJ2410.bus.sb.i.ejb11=CHKJ2410E: {0} must not be static. (EJB 1.1: 6.10.4).
-CHKJ2410.bus.sb.m.ejb11=CHKJ2410E: This method must not be static. (EJB 1.1: 6.10.4).
-CHKJ2410.ejbCreate.eb.i.ejb11=CHKJ2410E: {0} must not be static. (EJB 1.1: 9.2.3).
-CHKJ2410.ejbCreate.eb.m.ejb11=CHKJ2410E: This method must not be static. (EJB 1.1: 9.2.3).
-CHKJ2410.ejbPostCreate.eb.i.ejb11=CHKJ2410E: {0} must not be static. (EJB 1.1: 9.2.4).
-CHKJ2410.ejbPostCreate.eb.m.ejb11=CHKJ2410E: This method must not be static. (EJB 1.1: 9.2.4).
-CHKJ2410.ejbFind.eb.i.ejb11=CHKJ2410E: {0} must not be static. (EJB 1.1: 9.2.5).
-CHKJ2410.ejbFind.eb.m.ejb11=CHKJ2410E: This method must not be static. (EJB 1.1: 9.2.5).
-CHKJ2410.bus.eb.i.ejb11=CHKJ2410E: {0} must not be static. (EJB 1.1: 9.2.6).
-CHKJ2410.bus.eb.m.ejb11=CHKJ2410E: This method must not be static. (EJB 1.1: 9.2.6).
-
-CHKJ2411.sb.i.ejb11=CHKJ2411E: The name of {0} must not start with "ejb". (EJB 1.1: 6.10.4)
-CHKJ2411.sb.m.ejb11=CHKJ2411E: The name of the method must not start with "ejb". (EJB 1.1: 6.10.4)
-CHKJ2411.eb.i.ejb11=CHKJ2411E: The name of {0} must not start with "ejb". (EJB 1.1: 9.2.6)
-CHKJ2411.eb.m.ejb11=CHKJ2411E: The name of the method must not start with "ejb". (EJB 1.1: 9.2.6)
-
-CHKJ2412.sb.i.ejb11=CHKJ2412I: The return type of {0} must be serializable at runtime. (EJB 1.1: 6.10) (RMI 1.3: 2.6).
-CHKJ2412.sb.m.ejb11=CHKJ2412I: The return type must be serializable at runtime. (EJB 1.1: 6.10) (RMI 1.3: 2.6).
-CHKJ2412.eb.i.ejb11=CHKJ2412I: The return type of {0} must be serializable at runtime. (EJB 1.1: 9.2) (RMI 1.3: 2.6).
-CHKJ2412.eb.m.ejb11=CHKJ2412I: The return type must be serializable at runtime. (EJB 1.1: 9.2) (RMI 1.3: 2.6).
-CHKJ2412.sr.i.ejb11=CHKJ2412I: The return type of {0} must be serializable at runtime. (EJB 1.1: 6.10.5) (RMI 1.3: 2.6).
-CHKJ2412.sr.m.ejb11=CHKJ2412I: The return type must be serializable at runtime. (EJB 1.1: 6.10.5) (RMI 1.3: 2.6).
-CHKJ2412.er.i.ejb11=CHKJ2412I: The return type of {0} must be serializable at runtime. (EJB 1.1: 9.2.7) (RMI 1.3: 2.6).
-CHKJ2412.er.m.ejb11=CHKJ2412I: The return type must be serializable at runtime. (EJB 1.1: 9.2.7) (RMI 1.3: 2.6).
-CHKJ2412.sh.i.ejb11=CHKJ2412I: The return type of {0} must be serializable at runtime. (EJB 1.1: 6.10.6) (RMI 1.3: 2.6).
-CHKJ2412.sh.m.ejb11=CHKJ2412I: The return type must be serializable at runtime. (EJB 1.1: 6.10.6) (RMI 1.3: 2.6).
-CHKJ2412.eh.i.ejb11=CHKJ2412I: The return type of {0} must be serializable at runtime. (EJB 1.1: 9.2.8) (RMI 1.3: 2.6).
-CHKJ2412.eh.m.ejb11=CHKJ2412I: The return type must be serializable at runtime. (EJB 1.1: 9.2.8) (RMI 1.3: 2.6).
-
-CHKJ2413.sb.i.ejb11=CHKJ2413I: Argument {1} of {0} must be serializable at runtime. (EJB 1.1: 6.10) (RMI 1.3: 2.6).
-CHKJ2413.sb.m.ejb11=CHKJ2413I: Argument {0} must be serializable at runtime. (EJB 1.1: 6.10) (RMI 1.3: 2.6).
-CHKJ2413.eb.i.ejb11=CHKJ2413I: Argument {1} of {0} must be serializable at runtime. (EJB 1.1: 9.2) (RMI 1.3: 2.6).
-CHKJ2413.eb.m.ejb11=CHKJ2413I: Argument {0} must be serializable at runtime. (EJB 1.1: 9.2) (RMI 1.3: 2.6).
-CHKJ2413.sr.i.ejb11=CHKJ2413I: Argument {1} of {0} must be serializable at runtime. (EJB 1.1: 6.10.5) (RMI 1.3: 2.6).
-CHKJ2413.sr.m.ejb11=CHKJ2413I: Argument {0} must be serializable at runtime. (EJB 1.1: 6.10.5) (RMI 1.3: 2.6).
-CHKJ2413.er.i.ejb11=CHKJ2413I: Argument {1} of {0} must be serializable at runtime. (EJB 1.1: 9.2.7) (RMI 1.3: 2.6).
-CHKJ2413.er.m.ejb11=CHKJ2413I: Argument {0} must be serializable at runtime. (EJB 1.1: 9.2.7) (RMI 1.3: 2.6).
-CHKJ2413.sh.i.ejb11=CHKJ2413I: Argument {1} of {0} must be serializable at runtime. (EJB 1.1: 6.10.6) (RMI 1.3: 2.6).
-CHKJ2413.sh.m.ejb11=CHKJ2413I: Argument {0} must be serializable at runtime. (EJB 1.1: 6.10.6) (RMI 1.3: 2.6).
-CHKJ2413.eh.i.ejb11=CHKJ2413I: Argument {1} of {0} must be serializable at runtime. (EJB 1.1: 9.2.8) (RMI 1.3: 2.6).
-CHKJ2413.eh.m.ejb11=CHKJ2413I: Argument {0} must be serializable at runtime. (EJB 1.1: 9.2.8) (RMI 1.3: 2.6).
-
-CHKJ2414.sh.i.ejb11=CHKJ2414E: {0} must throw {1}. (EJB 1.1: 6.10.6)
-CHKJ2414.sh.m.ejb11=CHKJ2414E: The method must throw {0}. (EJB 1.1: 6.10.6)
-CHKJ2414.eh.i.ejb11=CHKJ2414E: {0} must throw {1}. (EJB 1.1: 9.2.8)
-CHKJ2414.eh.m.ejb11=CHKJ2414E: The method must throw {0}. (EJB 1.1: 9.2.8)
-CHKJ2414.sr.i.ejb11=CHKJ2414E: {0} must throw {1}. (EJB 1.1: 6.10.5)
-CHKJ2414.sr.m.ejb11=CHKJ2414E: The method must throw {0}. (EJB 1.1: 6.10.5)
-CHKJ2414.er.i.ejb11=CHKJ2414E: {0} must throw {1}. (EJB 1.1: 9.2.7)
-CHKJ2414.er.m.ejb11=CHKJ2414E: The method must throw {0}. (EJB 1.1: 9.2.7)
-
-CHKJ2415.sr.i.ejb11=CHKJ2415E: The return type of {0} must match the return type, {1}, of the matching method in the {2} bean class. (EJB 1.1: 6.10.5)
-CHKJ2415.sr.m.ejb11=CHKJ2415E: The return type must match the return type, {0}, of the matching method in the {1} bean class. (EJB 1.1: 6.10.5)
-CHKJ2415.er.i.ejb11=CHKJ2415E: The return type of {0} must match the return type, {1}, of the matching method in the {2} bean class. (EJB 1.1: 9.2.7)
-CHKJ2415.er.m.ejb11=CHKJ2415E: The return type must match the return type, {0}, of the matching method in the {1} bean class. (EJB 1.1: 9.2.7)
-CHKJ2415.sh.i.ejb11=CHKJ2415E: The return type of {0} must match the return type, {1}, of the matching method in the {2} bean class. (EJB 1.1: 6.10.6)
-CHKJ2415.sh.m.ejb11=CHKJ2415E: The return type must match the return type, {0}, of the matching method in the {1} bean class. (EJB 1.1: 6.10.6)
-CHKJ2415.eh.i.ejb11=CHKJ2415E: The return type of {0} must match the return type, {1}, of the matching method in the {2} bean class. (EJB 1.1: 9.2.8)
-CHKJ2415.eh.m.ejb11=CHKJ2415E: The return type must match the return type, {0}, of the matching method in the {1} bean class. (EJB 1.1: 9.2.8)
-
-CHKJ2418.eb.i.ejb11=CHKJ2418E: {0} must return void. (EJB 1.1: 9.2.4)
-CHKJ2418.eb.m.ejb11=CHKJ2418E: This method must return void. (EJB 1.1: 9.2.4)
-CHKJ2419.sh.i.ejb11=CHKJ2419E: {0} must be a create method. (EJB 1.1: 6.10.6)
-CHKJ2419.sh.m.ejb11=CHKJ2419E: This method must be a create method. (EJB 1.1: 6.10.6)
-
-CHKJ2420.sb.i.ejb11=CHKJ2420E: {1} must be thrown by {0}''s corresponding method on the {2} home interface. (EJB 1.1: 6.10.6, 12.2.1, 12.2.2)
-CHKJ2420.sb.m.ejb11=CHKJ2420E: {0} must be thrown by the corresponding method on the {1} home interface. (EJB 1.1: 6.10.6, 12.2.1, 12.2.2)
-CHKJ2420.eb.i.ejb11=CHKJ2420E: {1} must be thrown by {0}''s corresponding method on the {2} home interface. (EJB 1.1: 9.2.8, 12.2.1, 12.2.2)
-CHKJ2420.eb.m.ejb11=CHKJ2420E: {0} must be thrown by the corresponding method on the {1} home interface. (EJB 1.1: 9.2.8, 12.2.1, 12.2.2)
-CHKJ2432.sb.i.ejb11=CHKJ2432E: {0}''s corresponding method on the {1} remote interface must throw {2}. (EJB 1.1: 6.10.5, 12.2.1, 12.2.2)
-CHKJ2432.sb.m.ejb11=CHKJ2432E: The corresponding method on the {0} remote interface must throw {1}. (EJB 1.1: 6.10.5, 12.2.1, 12.2.2)
-CHKJ2432.eb.i.ejb11=CHKJ2432E: {0}''s corresponding method on the {1} remote interface must throw {2}. (EJB 1.1: 9.2.7, 12.2.1, 12.2.2)
-CHKJ2432.eb.m.ejb11=CHKJ2432E: The corresponding method on the {0} remote interface must throw {1}. (EJB 1.1: 9.2.7, 12.2.1, 12.2.2)
-
-CHKJ2801.ejb11=CHKJ2801E: The value of the <ejb-name> element must be specified. (EJB 1.1: 16.2, 16.5)
-CHKJ2802.named.ejb11=CHKJ2802E: <ejb-class> class {0}, or one of its supertypes, cannot be reflected. Check the classpath.
-CHKJ2802.unnamed.ejb11=CHKJ2802E: Unknown class specified in the <ejb-class> element. (EJB 1.1: 16.2, 16.5).
-CHKJ2803.named.ejb11=CHKJ2803E: <home> interface {0}, or one of its supertypes, cannot be reflected. Check the classpath.
-CHKJ2803.unnamed.ejb11=CHKJ2803E: Unknown interface specified in the <home> element. (EJB 1.1: 16.2, 16.5).
-CHKJ2804.named.ejb11=CHKJ2804E: <remote> interface {0}, or one of its supertypes, cannot be reflected. Check the classpath.
-CHKJ2804.unnamed.ejb11=CHKJ2804E: Unknown interface specified in the <remote> element. (EJB 1.1: 16.2, 16.5).
-CHKJ2806.ejb11=CHKJ2806E: The value of the <reentrant> element must be either "True" or "False". (EJB 1.1: 16.2, 16.5)
-CHKJ2807.ejb11=CHKJ2807E: The value of the <session-type> element must be either "Stateful" or "Stateless". (EJB 1.1: 16.2, 16.5)
-CHKJ2808.ejb11=CHKJ2808E: The value of the <transaction-type> element must be either "Container" or "Bean". (EJB 1.1: 11.3.5, 16.2,, 16.5)
-CHKJ2809.ejb11=CHKJ2809E: The value of the <persistence-type> element must be either "Container" or "Bean". (EJB 1.1: 16.2, 16.5)
-CHKJ2810.named.ejb11=CHKJ2810E: <prim-key-class> class {0}, or one of its supertypes, cannot be reflected. Check the classpath.
-CHKJ2810.unnamed.ejb11=CHKJ2810E: Unknown class specified in the <prim-key-class> element. (EJB 1.1: 16.2, 16.5).
-CHKJ2811.named.ejb11=CHKJ2811E: <field-name> {0} cannot be located on bean class {1}. (EJB 1.1: 16.5).
-CHKJ2811.unnamed.ejb11=CHKJ2811E: <cmp-field> must specify a <field-name>. (EJB 1.1: 16.5).
-CHKJ2812.ejb11=CHKJ2812E: Bean class {0} must specify at least one of its fields as a <cmp-field>. (EJB 1.1: 16.5)
-CHKJ2814.ejb11=CHKJ2814W: <ejb-name>, in <method>, should specify a known enterprise bean. (EJB 1.1: 11.4.1, 15.3.2, 16.5)
-
-CHKJ2820.ejb11=CHKJ2820W: The security role ref must be defined only once.
-CHKJ2822.ejb11=CHKJ2822W: <security-role-ref> element for bean {0} should define the <role-name> element. (EJB 1.1: 15.2.5.3)
-CHKJ2823.ejb11=CHKJ2823W: <security-role-ref> element should define the <role-link> element. (EJB 1.1: 15.3.3)
-CHKJ2824.ejb11=CHKJ2824W: <security-role-ref> element refers to unknown role {0}. (EJB 1.1: 15.3.3)
-CHKJ2825.ejb11=CHKJ2825W: <security-role> element in ejb-jar.xml should define the <role-name> element. (EJB 1.1: 15.3.1)
-CHKJ2826.ejb11=CHKJ2826W: The security-role name must be unique. (EJB 1.1: 15.3.1)
-CHKJ2827.ejb11=CHKJ2827W: Cannot use a <role-link> element without <security-role> elements. (EJB 1.1: 15.2.5.3, 15.3.1, 15.3.3)
-CHKJ2828.ejb11=CHKJ2828E: Cannot use a <primkey-field> element without a primitive primary key. (EJB 1.1: 9.4.7, 16.5)
-CHKJ2829.ejb11=CHKJ2829E: Key class {0} does not map to any fields in enterprise bean {1}. (EJB 1.1: 9.4.7, 16.5)
-
-CHKJ2830.ejb11=CHKJ2830W: The type of the {0} field cannot be reflected. Check the classpath.
-CHKJ2831.ejb11=CHKJ2831W: {0} must be declared in a <cmp-field> element. (EJB 1.1: 9.4.7.2)
-CHKJ2832.ejb11=CHKJ2832I: Home {0}, specified in the <ejb-ref> element, cannot be found in the EJB module. (EJB 1.1: 14.3.1.2)
-CHKJ2833.ejb11=CHKJ2833I: Remote {0}, specified in the <ejb-ref> element, cannot be found in the EJB module. (EJB 1.1: 14.3.1.2)
-CHKJ2834.ejb11=CHKJ2834I: Bean {0}, specified in the <ejb-ref> element, cannot be found in the EJB module. (EJB 1.1: 14.3.2)
-CHKJ2835.ejb11=CHKJ2835I: Bean {0} is a {1} type. Update the <ejb-ref-type> element of the <ejb-ref> element. (EJB 1.1: 14.3.2)
-CHKJ2836.ejb11=CHKJ2836I: Bean {0} uses home {1}. Update the <ejb-ref> element of the <ejb-ref> element. (EJB 1.1: 14.3.2)
-CHKJ2837.ejb11=CHKJ2837I: Bean {0} uses remote {1}. Update the <ejb-ref> element of the <ejb-ref> element. (EJB 1.1: 14.3.2).
-CHKJ2838.ejb11=CHKJ2838I: It is recommended that all references to enterprise beans be organized in the "ejb" subcontext. (EJB 1.1: 14.3.1.1).
-CHKJ2839.ejb11=CHKJ2839W: The <env-entry-name> element, of the <env-entry> element, is invalid. (EJB 1.1: 14.2.1.2)
-
-CHKJ2840.ejb11=CHKJ2840W: The <env-entry-type> element, of the <env-entry> element, is invalid. (EJB 1.1: 14.2.1.2).
-CHKJ2841.ejb11=CHKJ2841W: The {0} name, in the <env-entry-name> element, can be used only once in the bean. (EJB 1.1: 14.2.1.2).
-CHKJ2842.ejb11=CHKJ2842W: <method-params> is ignored when <method-name> is "*". (EJB 1.1: 11.4.1, 15.3.2).
-CHKJ2843.ejb11=CHKJ2843W: No methods, on {0}, match this <method>. (EJB 1.1: 11.4.1, 15.3.2).
-CHKJ2844.ejb11=CHKJ2844W: At least one <method> should be set in a <method-permission>. (EJB 1.1: 11.4.1, 15.3.2).
-CHKJ2845.ejb11=CHKJ2845W: At least one <role-name> should be set in a <method-permission>. (EJB 1.1: 11.4.1, 15.3.2).
-CHKJ2846.ejb11=CHKJ2846W: No methods can be found for this <method-permission>. (EJB 1.1: 15.3.2).
-CHKJ2847.ejb11=CHKJ2847W: No methods can be found for this <container-transaction>. (EJB 1.1: 11.4.1).
-CHKJ2849.ejb11=CHKJ2849W: Cannot validate component inheritance of {0} because {1}, or one of its supertypes, cannot be reflected. Check the classpath.
-CHKJ2850.ejb11=CHKJ2850W: Cannot validate <method> because {0}, or one of its supertypes, cannot be reflected. Check the classpath.
-CHKJ2851.ejb11=CHKJ2851W: Cannot validate {0} because {1}, or one of its supertypes, cannot be reflected. Check the classpath.
-CHKJ2852.ejb11=CHKJ2852W: Throwable caught while validating the ejb-jar.xml. The bean being validated was {0}.
-CHKJ2853.ejb11=CHKJ2853W: Throwable caught while validating the ibm-ejb-jar-ext.xmi. The bean being validated was {0}.
-
-CHKJ2908.ejb11=CHKJ2908W: An enterprise bean cannot be reflected properly. Run the XML validator for more information.
-
-CHKJ2895.ejb11=CHKJ2895W: <ejb-name> {0} must be unique within the ejb-jar.xml file (EJB 1.1: 16.5).
-CHKJ2875.ejb11=CHKJ2875E: <ejb-client-jar> {0} must exist in every EAR file that contains this EJB module (EJB 1.1: 16.5, 17.4).
-
-
-# EJB_METHOD_BEAN_NULL=CHKJ2434W: Validation of this method was terminated because the bean class cannot be found. Check the spelling of the bean class'' name in the ejb-jar.xml file.
-# EJB_METHOD_HOME_NULL=CHKJ2435W: Validation of this method was terminated because the home interface cannot be found. Check the spelling of the home interface''s name in the ejb-jar.xml file.
-# EJB_METHOD_REMOTE_NULL=CHKJ2436W: Validation of this method was terminated because the remote interface cannot be found. Check the spelling of the remote interface''s name in the ejb-jar.xml file.
-# EJB_METHOD_NULL=CHKJ2437W: Validation of this method was terminated because the enterprise bean cannot be found.
-# EJB_METHOD_KEY_NULL=CHKJ2438W: Validation of this method was terminated because the primary key cannot be found. Check the spelling of the key class'' name in the ejb-jar.xml file.
-# EJB_REMOTE_NULL=CHKJ2904E: Validation of {0} was terminated because the remote interface cannot be found. Check the spelling of its name in the ejb-jar.xml file.
-# EJB_NULL=CHKJ2903E: Validation was terminated because the enterprise bean cannot be found.
-# EJB_NOTREFLECTED_JAVACLASS=CHKJ2907E: Cannot validate because the {0} type cannot be reflected. Ensure that it, and all of its dependencies, are included in the classpath.
-# EJB_FIELD_CANNOT_REFLECT=CHKJ2208W: Type {0} of field {1} cannot be reflected. Ensure that {0}, and all of its dependencies, are included in the classpath.
-# EJB_FIELD_BEAN_NULL=CHKJ2209W: Validation of this field was terminated because the bean class cannot be found. Check the spelling of the bean class'' name in the ejb-jar.xml file.
-# EJB_FIELD_HOME_NULL=CHKJ2210W: Validation of this field was terminated because the home interface cannot be found. Check the spelling of the home interface''s name in the ejb-jar.xml file.
-# EJB_FIELD_REMOTE_NULL=CHKJ2211W: Validation of this field was terminated because the remote interface cannot be found. Check the spelling of the remote interface''s name in the ejb-jar.xml file.
-# EJB_FIELD_NULL=CHKJ2212W: Validation of this field was terminated because the enterprise bean cannot be found.
-# EJB_FIELD_KEY_NULL=CHKJ2213W: Validation of this field was terminated because the primary key cannot be found. Check the spelling of the key class'' name in the ejb-jar.xml file.
-# EJB_HAS_MULTIPLE_PK_METHODS=CHKJ2000W: The {0} home interface must contain only one findByPrimaryKey method. (EJB 1.1: 9.2.8)
-# EJB_HOME_NULL=CHKJ2901E: Validation of {0} was terminated because the home interface cannot be found. Check the spelling of its name in the ejb-jar.xml file.
-# EJB_KEY_NULL=CHKJ2902E: Validation of {0} was terminated because the key class cannot be found. Check the spelling of its name in the ejb-jar.xml file.
-# EJB_BEAN_NULL=CHKJ2900E: Validation of {0} was terminated because the bean class cannot be found. Check the spelling of its name in the ejb-jar.xml file.
-# EJB_BMP_NOFIELDS=CHKJ2042W: To have a primary key, the {0} bean class must declare at least one field. (EJB 1.1: 9.1.5.1)
-# EJB_DD_CANNOT_OPEN_DD=CHKJ2821E: Cannot open the deployment descriptor. Validation cannot complete.
-# EJB_DD_METHTRANSACTION_NO_TRANSACTION=CHKJ2848W: At least one <trans-attribute> must be set in a <container-transaction>. (EJB 1.1: 11.4.1)
-
-#
-# end of messages for the EJB 1.1 specification
-#
-
-#
-# Messages for EJB 2.0 specification
-#
-CHKJ2828.ejb20=CHKJ2828E: Cannot use a <primkey-field> without a primitive primary key (EJB 2.0: 10.8.1, 22.5).
-CHKJ2829.ejb20=CHKJ2829E: Key class {0} does not map to any fields in enterprise bean {1}. (EJB 2.0: 10.8, 22.5).
-CHKJ2839.ejb20=CHKJ2839W: The <env-entry-name> element, of the <env-entry> element, is invalid. (EJB 2.0: 20.2.1.2).
-CHKJ2840.ejb20=CHKJ2840W: The <env-entry-type> element, of the <env-entry> element, is invalid. (EJB 2.0: 20.2.1.2).
-CHKJ2841.ejb20=CHKJ2841W: The {0} name, in the <env-entry-name> element, can be used only once in the bean. (EJB 2.0: 20.2.1.2).
-CHKJ2830.ejb20=CHKJ2830W: The type of the {0} field cannot be reflected. Check the classpath.
-CHKJ2831.ejb20=CHKJ2831W: {0} must be declared in a <cmp-field> element. (EJB 2.0: 10.8.2).
-CHKJ2801.ejb20=CHKJ2801E: The value of the <ejb-name> element must be specified. (EJB 2.0 22.2, 22.5).
-CHKJ2809.ejb20=CHKJ2809E: The value of the <persistence-type> element must be either "Container" or "Bean". (EJB 2.0: 22.2, 22.5).
-CHKJ2806.ejb20=CHKJ2806E: The value of the <reentrant> element must be either "True" or "False". (EJB 2.0: 22.2, 22.5).
-CHKJ2807.ejb20=CHKJ2807E: The value of the <session-type> element must be either "Stateful" or "Stateless". (EJB 2.0: 22.2, 22.5).
-CHKJ2808.ejb20=CHKJ2808E: The value of the <transaction-type> element must be either "Container" or "Bean". (EJB 2.0: 17.3.6, 22.2, 22.5).
-CHKJ2814.ejb20=CHKJ2814W: <ejb-name>, in <method>, should specify a known enterprise bean. (EJB 2.0: 17.4.1, 21.3.2, 22.5).
-CHKJ2842.ejb20=CHKJ2842W: <method-params> is ignored when <method-name> is "*". (EJB 2.0: 17.4.1, 21.3.2).
-CHKJ2843.ejb20=CHKJ2843W: No methods, on {0}, match this <method>. (EJB 2.0: 17.4.1, 21.3.2).
-CHKJ2844.ejb20=CHKJ2844W: At least one <method> should be set in a <method-permission>. (EJB 2.0: 17.4.1, 21.3.2).
-CHKJ2845.ejb20=CHKJ2845W: A <role-name> or an <unchecked> element should be set in a <method-permission>. (EJB 2.0: 17.4.1, 21.3.2).
-CHKJ2846.ejb20=CHKJ2846W: No methods can be found for this <method-permission>. (EJB 2.0: 21.3.2).
-CHKJ2847.ejb20=CHKJ2847W: No methods can be found for this <container-transaction>. (EJB 2.0: 17.4.1).
-CHKJ2812.ejb20=CHKJ2812E: Bean class {0} must specify at least one of its fields as a <cmp-field>. (EJB 2.0: 22.5).
-CHKJ2832.ejb20=CHKJ2832I: Home {0}, specified in the <ejb-ref> element, cannot be found in the EJB module. (EJB 2.0: 20.3.1.2).
-CHKJ2833.ejb20=CHKJ2833I: Remote {0}, specified in the <ejb-ref> element, cannot be found in the EJB module. (EJB 2.0: 20.3.1.2).
-CHKJ2834.ejb20=CHKJ2834I: Bean {0}, specified in the <ejb-ref> element, cannot be found in the EJB module. (EJB 2.0: 20.3.2).
-CHKJ2835.ejb20=CHKJ2835I: Bean {0} is a {1} type. Update the <ejb-ref-type> element of the <ejb-ref> element. (EJB 2.0: 20.3.2).
-CHKJ2836.ejb20=CHKJ2836I: Bean {0} uses home {1}. Update the <ejb-ref> element of the <ejb-ref> element. (EJB 2.0: 20.3.2).
-CHKJ2837.ejb20=CHKJ2837I: Bean {0} uses remote {1}. Update the <ejb-ref> element of the <ejb-ref> element. (EJB 2.0: 20.3.2).
-CHKJ2838.ejb20=CHKJ2838I: It is recommended that all references to enterprise beans be organized in the "ejb" subcontext. (EJB 2.0: 20.3.1.1).
-CHKJ2820.ejb20=CHKJ2820W: The security role ref is defined more than once.
-CHKJ2822.ejb20=CHKJ2822W: <security-role-ref> element for bean {0} should define the <role-name> element. (EJB 2.0: 21.2.5.3).
-CHKJ2823.ejb20=CHKJ2823W: <security-role-ref> element should define the <role-link> element. (EJB 2.0: 21.3.3).
-CHKJ2824.ejb20=CHKJ2824W: <security-role-ref> element refers to unknown role {0}. (EJB 2.0: 21.3.3).
-CHKJ2825.ejb20=CHKJ2825W: <security-role> element in ejb-jar.xml should define the <role-name> element. (EJB 2.0: 21.3.1).
-CHKJ2826.ejb20=CHKJ2826W: The security-role name must be unique. (EJB 2.0: 21.3.1).
-CHKJ2827.ejb20=CHKJ2827W: Cannot use a <role-link> element without <security-role> elements. (EJB 2.0: 21.2.5.3, 21.3.1, 21.3.3).
-CHKJ2850.ejb20=CHKJ2850W: Cannot validate <method> because the {0} type cannot be reflected. Check the classpath.
-CHKJ2851.ejb20=CHKJ2851W: Cannot validate {0} because type {1} cannot be reflected. Check the classpath.
-CHKJ2875.ejb20=CHKJ2875E: <ejb-client-jar> {0} must exist in every EAR file that contains this EJB module (EJB 2.0: 22.5, 23.4, 23.6).
-
-CHKJ2003E.ejb20=CHKJ2003E: This class must not implement javax.ejb.SessionSynchronization (EJB 2.0: 7.5.3, 7.10.2, 17.3.4.1).
-CHKJ2003I.ejb20=CHKJ2003I: Bean-managed transaction stateful session beans need not implement javax.ejb.SessionSynchronization (EJB 2.0: 7.5.3, 7.10.2, 17.3.4.1).
-CHKJ2802.named.ejb20=CHKJ2802E: <ejb-class> class {0}, or one of its supertypes, cannot be reflected. Check the classpath.
-CHKJ2802.unnamed.ejb20=CHKJ2802E: The bean class, identified by the <ejb-class> element, cannot be found. (EJB 2.0: 22.2, 22.5).
-CHKJ2803.named.ejb20=CHKJ2803E: <home> interface {0}, or one of its supertypes, cannot be reflected. Check the classpath.
-CHKJ2803.unnamed.ejb20=CHKJ2803E: Unknown interface specified in the <home> element. (EJB 2.0: 22.2, 22.5).
-CHKJ2804.named.ejb20=CHKJ2804E: <remote> interface {0}, or one of its supertypes, cannot be reflected. Check the classpath.
-CHKJ2804.unnamed.ejb20=CHKJ2804E: Unknown interface specified in the <remote> element. (EJB 2.0: 22.2, 22.5).
-CHKJ2805.named.ejb20=CHKJ2805E: <local-home> interface {0}, or one of its supertypes, cannot be reflected. Check the classpath.
-CHKJ2805.unnamed.ejb20=CHKJ2805E: Unknown interface specified in the <local-home> element. (EJB 2.0: 22.2, 22.5).
-CHKJ2800.named.ejb20=CHKJ2800E: <local> interface {0}, or one of its supertypes, cannot be reflected. Check the classpath.
-CHKJ2800.unnamed.ejb20=CHKJ2800E: Unknown interface specified in the <local> element. (EJB 2.0: 22.2, 22.5).
-CHKJ2810.named.ejb20=CHKJ2810E: <prim-key-class> class {0}, or one of its supertypes, cannot be reflected. Check the classpath.
-CHKJ2810.unnamed.ejb20=CHKJ2810E: Unknown class specified in the <prim-key-class> element. (EJB 2.0: 22.2, 22.5).
-CHKJ2811.ejb20=CHKJ2811E: <field-name> {0} cannot be located on bean class {1}. (EJB 2.0: 22.5).
-
-CHKJ2103.ejb20=CHKJ2103E: In component inheritance, the {0} bean class must inherit {1} (EJB 2.0: D.2)
-CHKJ2104.ejb20=CHKJ2104E: In component inheritance, the {0} home interface must not inherit {1}. (EJB 2.0: D.2).
-CHKJ2105.ejb20=CHKJ2105E: In component inheritance, the {0} component interface must inherit {1}. (EJB 2.0: D.2).
-CHKJ2106.ejb20=CHKJ2106E: Bean {0} must use {1} as its <prim-key-class> (EJB 2.0: D.2).
-CHKJ2849.ejb20=CHKJ2849W: Cannot validate component inheritance of {0} because the {1} type, or one of its dependencies, cannot be reflected. Check the classpath.
-
-CHKJ2895.ejb20=CHKJ2895W: <ejb-name> {0} must be unique within the ejb-jar.xml file (EJB 2.0: 22.5).
-
-##################################################
-# class/interface checks
-##################################################
-# implement SessionBean/EntityBean/MessageDrivenBean/MessageListener
-CHKJ2017.sb.ejb20=CHKJ2017E: This class must implement {0} (EJB 2.0: 7.5.1, 7.10.2).
-CHKJ2017.mb.ejb20=CHKJ2017E: This class must implement {0} (EJB 2.0: 15.4.1, 15.7.2).
-CHKJ2017.cb.ejb20=CHKJ2017E: This class must implement {0} (EJB 2.0: 10.6.2).
-CHKJ2017.bb.ejb20=CHKJ2017E: This class must implement {0} (EJB 2.0: 12.2.2).
-
-# implement EJBHome
-CHKJ2017.srh.ejb20=CHKJ2017E: This interface must extend javax.ejb.EJBHome (EJB 2.0: 6.3, 7.10.6).
-CHKJ2017.crh.ejb20=CHKJ2017E: This interface must extend javax.ejb.EJBHome (EJB 2.0: 9.5, 10.6.10).
-CHKJ2017.brh.ejb20=CHKJ2017E: This interface must extend javax.ejb.EJBHome (EJB 2.0: 9.5, 12.2.9).
-
-# implement EJBLocalHome
-CHKJ2017.slh.ejb20=CHKJ2017E: This interface must extend javax.ejb.EJBLocalHome (EJB 2.0: 6.4, 7.10.8).
-CHKJ2017.clh.ejb20=CHKJ2017E: This interface must extend javax.ejb.EJBLocalHome (EJB 2.0: 9.6, 10.6.12).
-CHKJ2017.blh.ejb20=CHKJ2017E: This interface must extend javax.ejb.EJBLocalHome (EJB 2.0: 9.6, 12.2.11).
-
-# implement EJBObject
-CHKJ2017.src.ejb20=CHKJ2017E: This interface must extend javax.ejb.EJBObject (EJB 2.0: 6.5, 7.10.5).
-CHKJ2017.crc.ejb20=CHKJ2017E: This interface must extend javax.ejb.EJBObject (EJB 2.0: 9.9, 10.6.9).
-CHKJ2017.brc.ejb20=CHKJ2017E: This interface must extend javax.ejb.EJBObject (EJB 2.0: 9.9, 12.2.8).
-
-# implement EJBLocalObject
-CHKJ2017.slc.ejb20=CHKJ2017E: This interface must extend javax.ejb.EJBLocalObject (EJB 2.0: 7.10.7).
-CHKJ2017.clc.ejb20=CHKJ2017E: This interface must extend javax.ejb.EJBLocalObject (EJB 2.0: 9.10, 10.6.10).
-CHKJ2017.blc.ejb20=CHKJ2017E: This interface must extend javax.ejb.EJBLocalObject (EJB 2.0: 9.10, 12.2.10).
-
-# impl component interface
-CHKJ2040.cb.ejb20=CHKJ2040I: "this" must not be passed as a method argument or result (EJB 2.0: 10.6.2).
-CHKJ2040.bb.ejb20=CHKJ2040I: "this" must not be passed as a method argument or result (EJB 2.0: 12.2.2).
-CHKJ2040.sb.ejb20=CHKJ2040I: "this" must not be passed as a method argument or result (EJB 2.0: 7.10.2).
-
-# bean class
-CHKJ2014.cb.ejb20=CHKJ2014W: This class must be abstract (EJB 2.0: 10.3.1, 10.4.1, 10.6.2).
-CHKJ2014.mb.ejb20=CHKJ2014W: This class must not be abstract (EJB 2.0: 15.7.2).
-CHKJ2014.bb.ejb20=CHKJ2014W: This class must not be abstract (EJB 2.0: 12.2.2).
-CHKJ2014.sb.ejb20=CHKJ2014W: This class must not be abstract (EJB 2.0: 7.10.1).
-
-CHKJ2022.cb.ejb20=CHKJ2022W: This class must be public (EJB 2.0: 10.6.2).
-CHKJ2022.mb.ejb20=CHKJ2022W: This class must be public (EJB 2.0: 15.7.2).
-CHKJ2022.bb.ejb20=CHKJ2022W: This class must be public (EJB 2.0: 12.2.2).
-CHKJ2022.sb.ejb20=CHKJ2022W: This class must be public (EJB 2.0: 7.10.1).
-CHKJ2022.kc.ejb20=CHKJ2022W: This class must be public (EJB 2.0: 10.8.2).
-
-CHKJ2015.cb.ejb20=CHKJ2015W: This class must not be final (EJB 2.0: 10.6.2).
-CHKJ2015.mb.ejb20=CHKJ2015W: This class must not be final (EJB 2.0: 15.7.2).
-CHKJ2015.bb.ejb20=CHKJ2015W: This class must not be final (EJB 2.0: 12.2.2).
-CHKJ2015.sb.ejb20=CHKJ2015W: This class must not be final (EJB 2.0: 7.10.1).
-
-# dependent value class
-CHKJ2018.ejb20=CHKJ2018W: This class must be serializable (EJB 2.0: 10.3.3, 10.6.3).
-CHKJ2043.ejb20=CHKJ2043W: This class must be public (EJB 2.0: 10.6.3).
-CHKJ2044.ejb20=CHKJ2044W: This class must not be abstract (EJB 2.0: 10.6.3).
-
-# key class
-CHKJ2019.kc.ejb20=CHKJ2019W: This class must be a legal Value Type in RMI-IIOP (EJB 2.0: 9.8, 10.6.13).
-CHKJ2019.kb.ejb20=CHKJ2019W: This class must be a legal Value Type in RMI-IIOP (EJB 2.0: 9.8, 12.2.12).
-
-
-###
-# methods which must exist
-###
-# public default constructor with no parameters
-CHKJ2050.constr.sb.ejb20=CHKJ2050W: public {0} must exist (EJB 2.0: 7.10.2).
-CHKJ2050.constr.cb.ejb20=CHKJ2050W: public {0} must exist (EJB 2.0: 10.5.2, 10.6.2).
-CHKJ2050.constr.bb.ejb20=CHKJ2050W: public {0} must exist (EJB 2.0: 12.1.4.1, 12.2.2).
-CHKJ2050.constr.mb.ejb20=CHKJ2050W: public {0} must exist (EJB 2.0: 15.7.2).
-CHKJ2050.constr.kc.ejb20=CHKJ2050W: public {0} must exist (EJB 2.0: 10.8.2).
-
-
-# accessor method
-CHKJ2050.acc.cb.ejb20=CHKJ2050E: This class must define {0} (EJB 2.0: 10.3.1).
-
-CHKJ2050.onMessage.mb.ejb20=CHKJ2050W: onMessage(javax.jms.Message) must exist (EJB 2.0: 15.4.2, 15.7.4).
-
-CHKJ2050.ejbCreate.sfb.ejb20=CHKJ2050W: At least one ejbCreate method must exist (EJB 2.0: 7.5.5).
-CHKJ2050.ejbCreate.ssb.ejb20=CHKJ2050W: The ejbCreate() method must exist (EJB 2.0: 7.8).
-CHKJ2050.ejbCreate.mb.ejb20=CHKJ2050W: The ejbCreate() method must exist (EJB 2.0: 15.4.4, 15.7.2).
-
-CHKJ2050.ejbFindByPrimaryKey.bb.ejb20=CHKJ2050W: The ejbFindByPrimaryKey method must exist (EJB 2.0: 12.2.5).
-
-CHKJ2050.setEntityContext.cb.ejb20=CHKJ2050W: The setEntityContext(EntityContext) method must exist (EJB 2.0: 10.5.2).
-CHKJ2050.setEntityContext.bb.ejb20=CHKJ2050W: The setEntityContext(EntityContext) method must exist (EJB 2.0: 12.1.4.1).
-
-CHKJ2050.unsetEntityContext.cb.ejb20=CHKJ2050W: The unsetEntityContext() method must exist (EJB 2.0: 10.5.2).
-CHKJ2050.unsetEntityContext.bb.ejb20=CHKJ2050W: The unsetEntityContext() method must exist (EJB 2.0: 12.1.4.1).
-
-CHKJ2050.ejbActivate.cb.ejb20=CHKJ2050W: The ejbActivate() method must exist (EJB 2.0: 10.5.2).
-CHKJ2050.ejbActivate.bb.ejb20=CHKJ2050W: The ejbActivate() method must exist (EJB 2.0: 12.1.4.1).
-
-CHKJ2050.ejbPassivate.cb.ejb20=CHKJ2050W: The ejbPassivate() method must exist (EJB 2.0: 10.5.2).
-CHKJ2050.ejbPassivate.bb.ejb20=CHKJ2050W: The ejbPassivate() method must exist (EJB 2.0: 12.1.4.1).
-CHKJ2050.ejbPassivate.sb.ejb20=CHKJ2050W: The ejbPassivate() method must exist (EJB 2.0: 7.5.1).
-
-CHKJ2050.ejbRemove.cb.ejb20=CHKJ2050W: The ejbRemove() method must exist (EJB 2.0: 10.5.2).
-CHKJ2050.ejbRemove.bb.ejb20=CHKJ2050W: The ejbRemove() method must exist (EJB 2.0: 12.1.4.1).
-CHKJ2050.ejbRemove.mb.ejb20=CHKJ2050W: The ejbRemove() method must exist (EJB 2.0: 15.7.5).
-CHKJ2050.ejbRemove.sb.ejb20=CHKJ2050W: The ejbRemove() method must exist (EJB 2.0: 4.2.2, 7.5.1).
-
-CHKJ2050.ejbLoad.cb.ejb20=CHKJ2050W: The ejbLoad() method must exist (EJB 2.0: 10.5.2).
-CHKJ2050.ejbLoad.bb.ejb20=CHKJ2050W: The ejbLoad() method must exist (EJB 2.0: 12.1.4.1).
-
-CHKJ2050.ejbStore.cb.ejb20=CHKJ2050W: The ejbStore() method must exist (EJB 2.0: 10.5.2).
-CHKJ2050.ejbStore.bb.ejb20=CHKJ2050W: The ejbStore() method must exist (EJB 2.0: 12.1.4.1).
-
-CHKJ2050.create.ssrh.ejb20=CHKJ2050W: The create() method must exist (EJB 2.0: 7.8, 7.10.6).
-CHKJ2050.create.sslh.ejb20=CHKJ2050W: The create() method must exist (EJB 2.0: 7.8, 7.10.8).
-
-CHKJ2050.create.srh.ejb20=CHKJ2050W: This interface must define at least one create method (EJB 2.0: 6.3.1, 7.10.6).
-CHKJ2050.create.slh.ejb20=CHKJ2050W: This interface must define at least one create method (EJB 2.0: 6.4.1, 7.10.8).
-
-CHKJ2050.find.crh.ejb20=CHKJ2050W: At least one finder method must exist (EJB 2.0: 9.5.2).
-CHKJ2050.find.brh.ejb20=CHKJ2050W: At least one finder method must exist (EJB 2.0: 9.5.2).
-CHKJ2050.find.clh.ejb20=CHKJ2050W: At least one finder method must exist (EJB 2.0: 9.6.2).
-CHKJ2050.find.blh.ejb20=CHKJ2050W: At least one finder method must exist (EJB 2.0: 9.6.2).
-
-CHKJ2050.home.crh.ejb20=CHKJ2050W: This interface must define at least one home method (EJB 2.0: 9.5.4).
-CHKJ2050.home.brh.ejb20=CHKJ2050W: This interface must define at least one home method (EJB 2.0: 9.5.4).
-CHKJ2050.home.clh.ejb20=CHKJ2050W: This interface must define at least one home method (EJB 2.0: 9.6.4).
-CHKJ2050.home.blh.ejb20=CHKJ2050W: This interface must define at least one home method (EJB 2.0: 9.6.4).
-
-CHKJ2050.ejbHome.crh.ejb20=CHKJ2050W: This class must define at least one ejbHome method (EJB 2.0: 9.5.4).
-CHKJ2050.ejbHome.brh.ejb20=CHKJ2050W: This class must define at least one ejbHome method (EJB 2.0: 9.5.4).
-CHKJ2050.ejbHome.clh.ejb20=CHKJ2050W: This class must define at least one ejbHome method (EJB 2.0: 9.6.4).
-CHKJ2050.ejbHome.blh.ejb20=CHKJ2050W: This class must define at least one ejbHome method (EJB 2.0: 9.6.4).
-
-CHKJ2050.hashCode.kb.ejb20=CHKJ2050W: hashCode() must exist on this class (EJB 2.0: 12.2.12).
-CHKJ2050.hashCode.kc.ejb20=CHKJ2050W: hashCode() must exist on this class (EJB 2.0: 10.6.13).
-
-CHKJ2050.equals.kb.ejb20=CHKJ2050W: equals(Object) must exist on this class (EJB 2.0: 12.2.12).
-CHKJ2050.equals.kc.ejb20=CHKJ2050W: equals(Object) must exist on this class (EJB 2.0: 10.6.13).
-
-# ejbSelect - needed? pl174 says zero or more, p.193 says one or more
-CHKJ2050.ejbSelect.cb.ejb20=CHKJ2050W: An ejbSelect method must exist (EJB 2.0: 10.5.2, 10.6.7).
-
-CHKJ2050.findByPrimaryKey.crh.ejb20=CHKJ2050W: findByPrimaryKey must exist (EJB 2.0: 9.5.2, 10.6.10).
-CHKJ2050.findByPrimaryKey.clh.ejb20=CHKJ2050W: findByPrimaryKey must exist (EJB 2.0: 9.6.2, 10.6.12).
-CHKJ2050.findByPrimaryKey.blh.ejb20=CHKJ2050W: findByPrimaryKey must exist (EJB 2.0: 9.6.2, 12.2.11).
-CHKJ2050.findByPrimaryKey.brh.ejb20=CHKJ2050W: findByPrimaryKey must exist (EJB 2.0: 9.5.2, 12.2.9).
-
-# ejbFind
-CHKJ2050.ejbFind.bb.ejb20=CHKJ2050W: {0} must exist (EJB 2.0: 12.1.4.1).
-
-CHKJ2050.ejbPostCreate.cb.ejb20=CHKJ2050E: {0} must exist (EJB 2.0: 10.5.2).
-CHKJ2050.ejbPostCreate.bb.ejb20=CHKJ2050E: {0} must exist (EJB 2.0: 12.1.4.1, 12.2.4).
-
-
-##################################################
-# method checks
-##################################################
-# application exception
-CHKJ2404.i.ejb20=CHKJ2404W: Application exception {1} on {0} must extend java.lang.Exception (EJB 2.0: 18.1.1, 18.2.1).
-CHKJ2404.m.ejb20=CHKJ2404W: Application exception {0} must extend java.lang.Exception (EJB 2.0: 18.1.1, 18.2.1).
-CHKJ2416.i.ejb20=CHKJ2416W: Application exception {1} on {0} must not extend java.lang.RuntimeException (EJB 2.0: 18.1.1, 18.2.1).
-CHKJ2416.m.ejb20=CHKJ2416W: Application exception {0} must not extend java.lang.RuntimeException (EJB 2.0: 18.1.1, 18.2.1).
-
-# ejbRemove
-CHKJ2492.mb.i.ejb20=CHKJ2492W: {0} on {1} must be public (EJB 2.0: 15.7.5).
-CHKJ2492.mb.m.ejb20=CHKJ2492W: This method must be public (EJB 2.0: 15.7.5).
-CHKJ2492.cb.i.ejb20=CHKJ2492W: {0} on {1} must be public (EJB 2.0: 10.5.2).
-CHKJ2492.cb.m.ejb20=CHKJ2492W: This method must be public (EJB 2.0: 10.5.2).
-CHKJ2492.bb.i.ejb20=CHKJ2492W: {0} on {1} must be public (EJB 2.0: 12.1.4.1).
-CHKJ2492.bb.m.ejb20=CHKJ2492W: This method must be public (EJB 2.0: 12.1.4.1).
-CHKJ2492.sb.i.ejb20=CHKJ2492W: {0} on {1} must be public (EJB 2.0: 7.6).
-CHKJ2492.sb.m.ejb20=CHKJ2492W: This method must be public (EJB 2.0: 7.6).
-
-CHKJ2493.mb.i.ejb20=CHKJ2493W: {0} must not be final (EJB 2.0: 15.7.5).
-CHKJ2493.mb.m.ejb20=CHKJ2493W: This method must not be final (EJB 2.0: 15.7.5).
-CHKJ2493.cb.i.ejb20=CHKJ2493W: {0} must not be final (EJB 2.0: 10.5.2).
-CHKJ2493.cb.m.ejb20=CHKJ2493W: This method must not be final (EJB 2.0: 10.5.2).
-CHKJ2493.bb.i.ejb20=CHKJ2493W: {0} must not be final (EJB 2.0: 12.1.4.1).
-CHKJ2493.bb.m.ejb20=CHKJ2493W: This method must not be final (EJB 2.0: 12.1.4.1).
-CHKJ2493.sb.i.ejb20=CHKJ2493W: {0} must not be final (EJB 2.0: 7.6).
-CHKJ2493.sb.m.ejb20=CHKJ2493W: This method must not be final (EJB 2.0: 7.6).
-
-CHKJ2494.mb.i.ejb20=CHKJ2494W: {0} must not be static (EJB 2.0: 15.7.5).
-CHKJ2494.mb.m.ejb20=CHKJ2494W: This method must not be static (EJB 2.0: 15.7.5).
-CHKJ2494.cb.i.ejb20=CHKJ2494W: {0} must not be static (EJB 2.0: 10.5.2).
-CHKJ2494.cb.m.ejb20=CHKJ2494W: This method must not be static (EJB 2.0: 10.5.2).
-CHKJ2494.bb.i.ejb20=CHKJ2494W: {0} must not be static (EJB 2.0: 12.1.4.1).
-CHKJ2494.bb.m.ejb20=CHKJ2494W: This method must not be static (EJB 2.0: 12.1.4.1).
-CHKJ2494.sb.i.ejb20=CHKJ2494W: {0} must not be static (EJB 2.0: 7.6).
-CHKJ2494.sb.m.ejb20=CHKJ2494W: This method must not be static (EJB 2.0: 7.6).
-
-CHKJ2505.ejbRemove.mb.i.ejb20=CHKJ2505W: {0} must return void (EJB 2.0: 15.7.5).
-CHKJ2505.ejbRemove.mb.m.ejb20=CHKJ2505W: This method must return void (EJB 2.0: 15.7.5).
-CHKJ2505.ejbRemove.cb.i.ejb20=CHKJ2505W: {0} must return void (EJB 2.0: 10.5.2).
-CHKJ2505.ejbRemove.cb.m.ejb20=CHKJ2505W: This method must return void (EJB 2.0: 10.5.2).
-CHKJ2505.ejbRemove.bb.i.ejb20=CHKJ2505W: {0} must return void (EJB 2.0: 12.1.4.1).
-CHKJ2505.ejbRemove.bb.m.ejb20=CHKJ2505W: This method must return void (EJB 2.0: 12.1.4.1).
-CHKJ2505.ejbRemove.sb.i.ejb20=CHKJ2505W: {0} must return void (EJB 2.0: 7.6).
-CHKJ2505.ejbRemove.sb.m.ejb20=CHKJ2505W: This method must return void (EJB 2.0: 7.6).
-
-# ejbCreate
-CHKJ2421.mb.i.ejb20=CHKJ2421W: {0} must be public (EJB 2.0: 15.7.3).
-CHKJ2421.cb.i.ejb20=CHKJ2421W: {0} must be public (EJB 2.0: 10.6.4).
-CHKJ2421.bb.i.ejb20=CHKJ2421W: {0} must be public (EJB 2.0: 12.2.3).
-CHKJ2421.sb.i.ejb20=CHKJ2421W: {0} must be public (EJB 2.0: 7.10.3).
-CHKJ2421.mb.m.ejb20=CHKJ2421W: This method must be public (EJB 2.0: 15.7.3).
-CHKJ2421.cb.m.ejb20=CHKJ2421W: This method must be public (EJB 2.0: 10.6.4).
-CHKJ2421.bb.m.ejb20=CHKJ2421W: This method must be public (EJB 2.0: 12.2.3).
-CHKJ2421.sb.m.ejb20=CHKJ2421W: This method must be public (EJB 2.0: 7.10.3).
-
-CHKJ2422.sb.i.ejb20=CHKJ2422W: {0} must not be final (EJB 2.0: 7.10.3).
-CHKJ2422.cb.i.ejb20=CHKJ2422W: {0} must not be final (EJB 2.0: 10.6.4).
-CHKJ2422.bb.i.ejb20=CHKJ2422W: {0} must not be final (EJB 2.0: 12.2.3).
-CHKJ2422.mb.i.ejb20=CHKJ2422W: {0} must not be final (EJB 2.0: 15.7.3).
-CHKJ2422.sb.m.ejb20=CHKJ2422W: This method must not be final (EJB 2.0: 7.10.3).
-CHKJ2422.cb.m.ejb20=CHKJ2422W: This method must not be final (EJB 2.0: 10.6.4).
-CHKJ2422.bb.m.ejb20=CHKJ2422W: This method must not be final (EJB 2.0: 12.2.3).
-CHKJ2422.mb.m.ejb20=CHKJ2422W: This method must not be final (EJB 2.0: 15.7.3).
-
-CHKJ2423.sb.i.ejb20=CHKJ2423W: {0} must not be static (EJB 2.0: 7.10.3).
-CHKJ2423.cb.i.ejb20=CHKJ2423W: {0} must not be static (EJB 2.0: 10.6.4).
-CHKJ2423.bb.i.ejb20=CHKJ2423W: {0} must not be static (EJB 2.0: 12.2.3).
-CHKJ2423.mb.i.ejb20=CHKJ2423W: {0} must not be static (EJB 2.0: 15.7.3).
-CHKJ2423.sb.m.ejb20=CHKJ2423W: This method must not be static (EJB 2.0: 7.10.3).
-CHKJ2423.cb.m.ejb20=CHKJ2423W: This method must not be static (EJB 2.0: 10.6.4).
-CHKJ2423.bb.m.ejb20=CHKJ2423W: This method must not be static (EJB 2.0: 12.2.3).
-CHKJ2423.mb.m.ejb20=CHKJ2423W: This method must not be static (EJB 2.0: 15.7.3).
-
-CHKJ2424.cb.i.ejb20=CHKJ2424W: {0} must return {1} (EJB 2.0: 10.6.4).
-CHKJ2424.bb.i.ejb20=CHKJ2424W: {0} must return {1} (EJB 2.0: 12.2.3).
-CHKJ2424.sb.i.ejb20=CHKJ2424W: {0} must return void (EJB 2.0: 7.10.3).
-CHKJ2424.mb.i.ejb20=CHKJ2424W: {0} must return void (EJB 2.0: 15.7.3).
-CHKJ2424.cb.m.ejb20=CHKJ2424W: This method must return {0} (EJB 2.0: 10.6.4).
-CHKJ2424.bb.m.ejb20=CHKJ2424W: This method must return {0} (EJB 2.0: 12.2.3).
-CHKJ2424.sb.m.ejb20=CHKJ2424W: This method must return void (EJB 2.0: 7.10.3).
-CHKJ2424.mb.m.ejb20=CHKJ2424W: This method must return void (EJB 2.0: 15.7.3).
-
-
-
-# ejbCreate's method parameters and return type
-CHKJ2500.ejbCreate.sb.i.ejb20=CHKJ2500I: {1} in method {0} must be serializable at runtime (EJB 2.0: 7.10.3).
-CHKJ2500.ejbCreate.cb.i.ejb20=CHKJ2500I: {1} in method {0} must be serializable at runtime (EJB 2.0: 10.6.4).
-CHKJ2500.ejbCreate.bb.i.ejb20=CHKJ2500I: {1} in method {0} must be serializable at runtime (EJB 2.0: 12.2.3).
-CHKJ2500.ejbCreate.sb.m.ejb20=CHKJ2500I: {0} must be serializable at runtime (EJB 2.0: 7.10.3).
-CHKJ2500.ejbCreate.cb.m.ejb20=CHKJ2500I: {0} must be serializable at runtime (EJB 2.0: 10.6.4).
-CHKJ2500.ejbCreate.bb.m.ejb20=CHKJ2500I: {0} must be serializable at runtime (EJB 2.0: 12.2.3).
-
-CHKJ2497.cb.i.ejb20=CHKJ2497W: {0} must throw javax.ejb.CreateException (EJB 2.0: 10.6.4).
-CHKJ2497.cb.m.ejb20=CHKJ2497W: This method must throw javax.ejb.CreateException (EJB 2.0: 10.6.4).
-
-CHKJ2501.ejbCreate.mb.i.ejb20=CHKJ2501I: {0} must not throw application exceptions (EJB 2.0: 15.7.3, 18.1.1, 18.2.1, 18.3.2).
-CHKJ2501.ejbCreate.mb.m.ejb20=CHKJ2501I: This method must not throw application exceptions (EJB 2.0: 15.7.3, 18.1.1, 18.2.1, 18.3.2).
-CHKJ2501.ejbRemove.mb.i.ejb20=CHKJ2501I: {0} must not throw application exceptions (EJB 2.0: 15.7.5, 18.1.1, 18.2.1, 18.3.2).
-CHKJ2501.ejbRemove.mb.m.ejb20=CHKJ2501I: This method must not throw application exceptions (EJB 2.0: 15.7.5, 18.1.1, 18.2.1, 18.3.2).
-CHKJ2501.onMessage.mb.i.ejb20=CHKJ2501I: {0} must not throw application exceptions (EJB 2.0: 15.4.10, 15.7.4, 18.1.1, 18.2.1, 18.3.2).
-CHKJ2501.onMessage.mb.m.ejb20=CHKJ2501I: This method must not throw application exceptions (EJB 2.0: 15.4.10, 15.7.4, 18.1.1, 18.2.1, 18.3.2).
-
-
-CHKJ2503.ejbCreate.sb.i.ejb20=CHKJ2503W: {0} must not throw java.rmi.RemoteException (EJB 2.0: 7.10.3, 18.3.8, 18.6).
-CHKJ2503.ejbCreate.cb.i.ejb20=CHKJ2503W: {0} must not throw java.rmi.RemoteException (EJB 2.0: 10.6.4, 18.3.8, 18.6).
-CHKJ2503.ejbCreate.bb.i.ejb20=CHKJ2503W: {0} must not throw java.rmi.RemoteException (EJB 2.0: 12.2.3, 18.3.8, 18.6).
-CHKJ2503.ejbCreate.sb.m.ejb20=CHKJ2503W: This method must not throw java.rmi.RemoteException (EJB 2.0: 7.10.3, 18.3.8, 18.6).
-CHKJ2503.ejbCreate.cb.m.ejb20=CHKJ2503W: This method must not throw java.rmi.RemoteException (EJB 2.0: 10.6.4, 18.3.8, 18.6).
-CHKJ2503.ejbCreate.bb.m.ejb20=CHKJ2503W: This method must not throw java.rmi.RemoteException (EJB 2.0: 12.2.3, 18.3.8, 18.6).
-
-# ejbPostCreate
-CHKJ2426.cb.i.ejb20=CHKJ2426W: {0} must be public (EJB 2.0: 10.6.5).
-CHKJ2426.bb.i.ejb20=CHKJ2426W: {0} must be public (EJB 2.0: 12.2.4).
-CHKJ2426.cb.m.ejb20=CHKJ2426W: This method must be public (EJB 2.0: 10.6.5).
-CHKJ2426.bb.m.ejb20=CHKJ2426W: This method must be public (EJB 2.0: 12.2.4).
-
-CHKJ2427.cb.i.ejb20=CHKJ2427W: {0} must not be final (EJB 2.0: 10.6.5).
-CHKJ2427.bb.i.ejb20=CHKJ2427W: {0} must not be final (EJB 2.0: 12.2.4).
-CHKJ2427.cb.m.ejb20=CHKJ2427W: This method must not be final (EJB 2.0: 10.6.5).
-CHKJ2427.bb.m.ejb20=CHKJ2427W: This method must not be final (EJB 2.0: 12.2.4).
-
-CHKJ2428.cb.i.ejb20=CHKJ2428W: {0} must not be static (EJB 2.0: 10.6.5).
-CHKJ2428.bb.i.ejb20=CHKJ2428W: {0} must not be static (EJB 2.0: 12.2.4).
-CHKJ2428.cb.m.ejb20=CHKJ2428W: This method must not be static (EJB 2.0: 10.6.5).
-CHKJ2428.bb.m.ejb20=CHKJ2428W: This method must not be static (EJB 2.0: 12.2.4).
-
-CHKJ2505.ejbPostCreate.cb.i.ejb20=CHKJ2505W: {0} must return void (EJB 2.0: 10.6.5).
-CHKJ2505.ejbPostCreate.bb.i.ejb20=CHKJ2505W: {0} must return void (EJB 2.0: 12.2.4).
-CHKJ2505.ejbPostCreate.cb.m.ejb20=CHKJ2505W: This method must return void (EJB 2.0: 10.6.5).
-CHKJ2505.ejbPostCreate.bb.m.ejb20=CHKJ2505W: This method must return void (EJB 2.0: 12.2.4).
-
-CHKJ2503.ejbPostCreate.cb.i.ejb20=CHKJ2503W: {0} must not throw java.rmi.RemoteException (EJB 2.0: 10.6.5, 18.3.8, 18.6).
-CHKJ2503.ejbPostCreate.bb.i.ejb20=CHKJ2503W: {0} must not throw java.rmi.RemoteException (EJB 2.0: 12.2.4, 18.3.8, 18.6).
-CHKJ2503.ejbPostCreate.cb.m.ejb20=CHKJ2503W: This method must not throw java.rmi.RemoteException (EJB 2.0: 10.6.5, 18.3.8, 18.6).
-CHKJ2503.ejbPostCreate.bb.m.ejb20=CHKJ2503W: This method must not throw java.rmi.RemoteException (EJB 2.0: 12.2.4, 18.3.8, 18.6).
-
-
-# ejbHome
-CHKJ2430.cb.i.ejb20=CHKJ2430I: {1} must exist for {0} to be called (EJB 2.0: 10.5.2, 10.6.6).
-CHKJ2430.bb.i.ejb20=CHKJ2430I: {1} must exist for {0} to be called (EJB 2.0: 12.1.4.1).
-CHKJ2430.cb.m.ejb20=CHKJ2430I: {0} must exist for this method to be called (EJB 2.0: 10.5.2, 10.6.6).
-CHKJ2430.bb.m.ejb20=CHKJ2430I: {0} must exist for this method to be called (EJB 2.0: 12.1.4.1).
-
-CHKJ2431.cb.i.ejb20=CHKJ2431W: {0} must be public (EJB 2.0: 10.6.6).
-CHKJ2431.bb.i.ejb20=CHKJ2431W: {0} must be public. (EJB 2.0: 12.2.6).
-CHKJ2431.cb.m.ejb20=CHKJ2431W: This method must be public (EJB 2.0: 10.6.6).
-CHKJ2431.bb.m.ejb20=CHKJ2431W: This method must be public. (EJB 2.0: 12.2.6).
-
-CHKJ2439.cb.i.ejb20=CHKJ2439W: {0} must not be static (EJB 2.0: 10.6.6).
-CHKJ2439.bb.i.ejb20=CHKJ2439W: {0} must not be static (EJB 2.0: 12.2.6).
-CHKJ2439.cb.m.ejb20=CHKJ2439W: This method must not be static (EJB 2.0: 10.6.6).
-CHKJ2439.bb.m.ejb20=CHKJ2439W: This method must not be static (EJB 2.0: 12.2.6).
-
-CHKJ2500.ejbHome.cb.i.ejb20=CHKJ2500I: {1} in method {0} must be serializable at runtime (EJB 2.0: 10.6.6).
-CHKJ2500.ejbHome.bb.i.ejb20=CHKJ2500I: {1} in method {0} must be serializable at runtime (EJB 2.0: 12.2.6).
-CHKJ2500.ejbHome.cb.m.ejb20=CHKJ2500I: {0} must be serializable at runtime (EJB 2.0: 10.6.6).
-CHKJ2500.ejbHome.bb.m.ejb20=CHKJ2500I: {0} must be serializable at runtime (EJB 2.0: 12.2.6).
-
-CHKJ2503.ejbHome.cb.i.ejb20=CHKJ2503W: {0} must not throw java.rmi.RemoteException (EJB 2.0: 10.6.6, 18.3.8, 18.6).
-CHKJ2503.ejbHome.bb.i.ejb20=CHKJ2503W: {0} must not throw java.rmi.RemoteException (EJB 2.0: 12.2.6, 18.3.8, 18.6).
-CHKJ2503.ejbHome.cb.m.ejb20=CHKJ2503W: This method must not throw java.rmi.RemoteException (EJB 2.0: 10.6.6, 18.3.8, 18.6).
-CHKJ2503.ejbHome.bb.m.ejb20=CHKJ2503W: This method must not throw java.rmi.RemoteException (EJB 2.0: 12.2.6, 18.3.8, 18.6).
-
-# ejbFind
-CHKJ2457.bb.i.ejb20=CHKJ2457W: {0} must be public (EJB 2.0: 12.2.5).
-CHKJ2457.bb.m.ejb20=CHKJ2457W: This method must be public (EJB 2.0: 12.2.5).
-
-CHKJ2458.bb.i.ejb20=CHKJ2458W: {0} must not be final (EJB 2.0: 12.2.5).
-CHKJ2458.bb.m.ejb20=CHKJ2458W: This method must not be final (EJB 2.0: 12.2.5).
-
-CHKJ2459.bb.i.ejb20=CHKJ2459W: {0} must not be static (EJB 2.0: 12.2.5).
-CHKJ2459.bb.m.ejb20=CHKJ2459W: This method must not be static (EJB 2.0: 12.2.5).
-
-CHKJ2500.ejbFind.bb.i.ejb20=CHKJ2500I: {0} on method {1} must be serializable at runtime (EJB 2.0: 12.2.5).
-CHKJ2500.ejbFind.bb.m.ejb20=CHKJ2500I: {0} must be serializable at runtime (EJB 2.0: 12.2.5).
-
-CHKJ2407.bb.i.ejb20=CHKJ2407W: {0} must return {1} or a collection thereof (EJB 2.0: 12.2.5).
-CHKJ2407.bb.m.ejb20=CHKJ2407W: This method must return {0} or a collection thereof (EJB 2.0: 12.2.5).
-
-CHKJ2503.ejbFind.bb.i.ejb20=CHKJ2503W: {0} must not throw java.rmi.RemoteException (EJB 2.0: 12.2.5, 18.3.8, 18.6).
-CHKJ2503.ejbFind.bb.m.ejb20=CHKJ2503W: This method must not throw java.rmi.RemoteException (EJB 2.0: 12.2.5, 18.3.8, 18.6).
-
-CHKJ2498.bb.i.ejb20=CHKJ2498W: {0} must not throw ObjectNotFoundException (EJB 2.0: 12.1.8.4).
-CHKJ2498.bb.m.ejb20=CHKJ2498W: This method must not throw ObjectNotFoundException (EJB 2.0: 12.1.8.4).
-
-
-#
-# methods which must not exist
-#
-CHKJ2502.ejbFind.cb.i.ejb20=CHKJ2502I: {0} must not exist. The container provides this method implementation (EJB 2.0: 10.5.2, 10.6.2).
-CHKJ2502.ejbFind.cb.m.ejb20=CHKJ2502I: This method must not exist. The container provides this method implementation (EJB 2.0: 10.5.2, 10.6.2).
-
-CHKJ2502.ejbSelect.bb.i.ejb20=CHKJ2502I: {0} must not exist. Only CMP beans may have ejbSelect methods (EJB 2.0: 12.1.5).
-CHKJ2502.ejbSelect.bb.m.ejb20=CHKJ2502I: This method must not exist. Only CMP beans may have ejbSelect methods (EJB 2.0: 12.1.5).
-CHKJ2502.ejbSelect.sfb.i.ejb20=CHKJ2502I: {0} must not exist. Only CMP beans may have ejbSelect methods (EJB 2.0: 7.6.1).
-CHKJ2502.ejbSelect.sfb.m.ejb20=CHKJ2502I: This method must not exist. Only CMP beans may have ejbSelect methods (EJB 2.0: 7.6.1).
-CHKJ2502.ejbSelect.ssb.i.ejb20=CHKJ2502I: {0} must not exist. Only CMP beans may have ejbSelect methods (EJB 2.0: 7.8.2).
-CHKJ2502.ejbSelect.ssb.m.ejb20=CHKJ2502I: This method must not exist. Only CMP beans may have ejbSelect methods (EJB 2.0: 7.8.2).
-CHKJ2502.ejbSelect.crh.i.ejb20=CHKJ2502I: {0} must not exist (EJB 2.0: 10.5.2, 10.5.7).
-CHKJ2502.ejbSelect.crh.m.ejb20=CHKJ2502I: This method must not exist (EJB 2.0: 10.5.2, 10.5.7).
-CHKJ2502.ejbSelect.clh.i.ejb20=CHKJ2502I: {0} must not exist (EJB 2.0: 10.5.2, 10.5.7).
-CHKJ2502.ejbSelect.clh.m.ejb20=CHKJ2502I: This method must not exist (EJB 2.0: 10.5.2, 10.5.7).
-CHKJ2502.ejbSelect.crc.i.ejb20=CHKJ2502I: {0} must not exist (EJB 2.0: 10.5.2, 10.5.7).
-CHKJ2502.ejbSelect.crc.m.ejb20=CHKJ2502I: This method must not exist (EJB 2.0: 10.5.2, 10.5.7).
-CHKJ2502.ejbSelect.clc.i.ejb20=CHKJ2502I: {0} must not exist (EJB 2.0: 10.5.2, 10.5.7).
-CHKJ2502.ejbSelect.clc.m.ejb20=CHKJ2502I: This method must not exist (EJB 2.0: 10.5.2, 10.5.7).
-
-# finalize
-CHKJ2502.finalize.cb.i.ejb20=CHKJ2502I: finalize() must not exist (EJB 2.0: 10.6.2).
-CHKJ2502.finalize.cb.m.ejb20=CHKJ2502I: This method must not exist (EJB 2.0: 10.6.2).
-CHKJ2502.finalize.mb.i.ejb20=CHKJ2502I: finalize() must not exist (EJB 2.0: 15.7.2).
-CHKJ2502.finalize.mb.m.ejb20=CHKJ2502I: This method must not exist (EJB 2.0: 15.7.2).
-CHKJ2502.finalize.bb.i.ejb20=CHKJ2502I: finalize() must not exist (EJB 2.0: 12.2.2).
-CHKJ2502.finalize.bb.m.ejb20=CHKJ2502I: This method must not exist (EJB 2.0: 12.2.2).
-CHKJ2502.finalize.sb.i.ejb20=CHKJ2502I: finalize() must not exist (EJB 2.0: 7.10.2).
-CHKJ2502.finalize.sb.m.ejb20=CHKJ2502I: This method must not exist (EJB 2.0: 7.10.2).
-
-CHKJ2502.slh.i.ejb20=CHKJ2502I: {0} must not exist (EJB 2.0: 7.10.8).
-CHKJ2502.slh.m.ejb20=CHKJ2502I: This method must not exist (EJB 2.0: 7.10.8).
-CHKJ2502.srh.i.ejb20=CHKJ2502I: {0} must not exist (EJB 2.0: 7.10.6).
-CHKJ2502.srh.m.ejb20=CHKJ2502I: This method must not exist (EJB 2.0: 7.10.6).
-
-
-# business
-CHKJ2411.sb.i.ejb20=CHKJ2411W: The name of method {0} must not start with "ejb" (EJB 2.0: 7.10.4).
-CHKJ2411.cb.i.ejb20=CHKJ2411W: The name of method {0} must not start with "ejb" (EJB 2.0: 10.6.8).
-CHKJ2411.bb.i.ejb20=CHKJ2411W: The name of method {0} must not start with "ejb" (EJB 2.0: 12.2.7).
-CHKJ2411.sb.m.ejb20=CHKJ2411W: This method name must not start with "ejb" (EJB 2.0: 7.10.4).
-CHKJ2411.cb.m.ejb20=CHKJ2411W: This method name must not start with "ejb" (EJB 2.0: 10.6.8).
-CHKJ2411.bb.m.ejb20=CHKJ2411W: This method name must not start with "ejb" (EJB 2.0: 12.2.7).
-
-CHKJ2441.sb.i.ejb20=CHKJ2441W: {0} must be public (EJB 2.0: 7.10.4).
-CHKJ2441.cb.i.ejb20=CHKJ2441W: {0} must be public (EJB 2.0: 10.6.8).
-CHKJ2441.bb.i.ejb20=CHKJ2441W: {0} must be public (EJB 2.0: 12.2.7).
-CHKJ2441.sb.m.ejb20=CHKJ2441W: This method must be public (EJB 2.0: 7.10.4).
-CHKJ2441.cb.m.ejb20=CHKJ2441W: This method must be public (EJB 2.0: 10.6.8).
-CHKJ2441.bb.m.ejb20=CHKJ2441W: This method must be public (EJB 2.0: 12.2.7).
-
-CHKJ2442.sb.i.ejb20=CHKJ2442W: {0} must not be final (EJB 2.0: 7.10.4).
-CHKJ2442.cb.i.ejb20=CHKJ2442W: {0} must not be final (EJB 2.0: 10.6.8).
-CHKJ2442.bb.i.ejb20=CHKJ2442W: {0} must not be final (EJB 2.0: 12.2.7).
-CHKJ2442.sb.m.ejb20=CHKJ2442W: This method must not be final (EJB 2.0: 7.10.4).
-CHKJ2442.cb.m.ejb20=CHKJ2442W: This method must not be final (EJB 2.0: 10.6.8).
-CHKJ2442.bb.m.ejb20=CHKJ2442W: This method must not be final (EJB 2.0: 12.2.7).
-
-CHKJ2443.sb.i.ejb20=CHKJ2443W: {0} must not be static (EJB 2.0: 7.10.4).
-CHKJ2443.cb.i.ejb20=CHKJ2443W: {0} must not be static (EJB 2.0: 10.6.8).
-CHKJ2443.bb.i.ejb20=CHKJ2443W: {0} must not be static (EJB 2.0: 12.2.7).
-CHKJ2443.sb.m.ejb20=CHKJ2443W: This method must not be static (EJB 2.0: 7.10.4).
-CHKJ2443.cb.m.ejb20=CHKJ2443W: This method must not be static (EJB 2.0: 10.6.8).
-CHKJ2443.bb.m.ejb20=CHKJ2443W: This method must not be static (EJB 2.0: 12.2.7).
-
-CHKJ2500.bus.sb.i.ejb20=CHKJ2500I: {1} in method {0} must be serializable at runtime (EJB 2.0: 7.10.4).
-CHKJ2500.bus.cb.i.ejb20=CHKJ2500I: {1} in method {0} must be serializable at runtime (EJB 2.0: 10.6.8).
-CHKJ2500.bus.bb.i.ejb20=CHKJ2500I: {1} in method {0} must be serializable at runtime (EJB 2.0: 12.2.7).
-CHKJ2500.bus.sb.m.ejb20=CHKJ2500I: {0} must be serializable at runtime (EJB 2.0: 7.10.4).
-CHKJ2500.bus.cb.m.ejb20=CHKJ2500I: {0} must be serializable at runtime (EJB 2.0: 10.6.8).
-CHKJ2500.bus.bb.m.ejb20=CHKJ2500I: {0} must be serializable at runtime (EJB 2.0: 12.2.7).
-
-CHKJ2503.bus.sb.i.ejb20=CHKJ2503W: {0} must not throw java.rmi.RemoteException (EJB 2.0: 7.10.4, 18.3.8, 18.6).
-CHKJ2503.bus.cb.i.ejb20=CHKJ2503W: {0} must not throw java.rmi.RemoteException (EJB 2.0: 10.6.8, 18.3.8, 18.6).
-CHKJ2503.bus.bb.i.ejb20=CHKJ2503W: {0} must not throw java.rmi.RemoteException (EJB 2.0: 12.2.7, 18.3.8, 18.6).
-CHKJ2503.bus.sb.m.ejb20=CHKJ2503W: This method must not throw java.rmi.RemoteException (EJB 2.0: 7.10.4, 18.3.8, 18.6).
-CHKJ2503.bus.cb.m.ejb20=CHKJ2503W: This method must not throw java.rmi.RemoteException (EJB 2.0: 10.6.8, 18.3.8, 18.6).
-CHKJ2503.bus.bb.m.ejb20=CHKJ2503W: This method must not throw java.rmi.RemoteException (EJB 2.0: 12.2.7, 18.3.8, 18.6).
-
-# onMessage
-CHKJ2503.onMessage.mb.i.ejb20=CHKJ2503W: {0} must not throw java.rmi.RemoteException (EJB 2.0: 15.4.10, 18.3.8, 18.6).
-CHKJ2503.onMessage.mb.m.ejb20=CHKJ2503W: This method must not throw java.rmi.RemoteException (EJB 2.0: 15.4.10, 18.3.8, 18.6).
-
-CHKJ2445.mb.i.ejb20=CHKJ2445W: {0} must be public (EJB 2.0: 15.7.4).
-CHKJ2445.mb.m.ejb20=CHKJ2445W: This method must be public (EJB 2.0: 15.7.4).
-
-CHKJ2446.mb.i.ejb20=CHKJ2446W: {0} must not be final (EJB 2.0: 15.7.4).
-CHKJ2446.mb.m.ejb20=CHKJ2446W: This method must not be final (EJB 2.0: 15.7.4).
-
-CHKJ2447.mb.i.ejb20=CHKJ2447W: {0} must not be static (EJB 2.0: 15.7.4).
-CHKJ2447.mb.m.ejb20=CHKJ2447W: This method must not be static (EJB 2.0: 15.7.4).
-
-CHKJ2505.onMessage.mb.i.ejb20=CHKJ2505W: {0} must return void (EJB 2.0: 15.7.4).
-CHKJ2505.onMessage.mb.m.ejb20=CHKJ2505W: This method must return void (EJB 2.0: 15.7.4).
-
-# accessor method
-CHKJ2449.cb.i.ejb20=CHKJ2449W: {0} must be public (EJB 2.0: 10.3.1).
-CHKJ2449.cb.m.ejb20=CHKJ2449W: This method must be public (EJB 2.0: 10.3.1).
-
-CHKJ2450.cb.i.ejb20=CHKJ2450W: {0} must be abstract (EJB 2.0: 10.3.1, 10.6.2).
-CHKJ2450.cb.m.ejb20=CHKJ2450W: This method must be abstract (EJB 2.0: 10.3.1, 10.6.2).
-
-# get & set methods of cmr fields
-CHKJ2473.crc.i.ejb20=CHKJ2473W: {0} must not be exposed (EJB 2.0: 10.3.1, 10.3.10.1).
-CHKJ2473.crc.m.ejb20=CHKJ2473W: This method must not be exposed (EJB 2.0: 10.3.1, 10.3.10.1).
-CHKJ2473.crh.i.ejb20=CHKJ2473W: {0} must not be exposed (EJB 2.0: 10.3.1, 10.3.10.1).
-CHKJ2473.crh.m.ejb20=CHKJ2473W: This method must not be exposed (EJB 2.0: 10.3.1, 10.3.10.1).
-
-# home
-CHKJ2461.home.brh.ejb20=CHKJ2461W: This interface must follow RMI-IIOP rules for remote interfaces (EJB 2.0: 12.2.9).
-CHKJ2461.home.crh.ejb20=CHKJ2461W: This interface must follow RMI-IIOP rules for remote interfaces (EJB 2.0: 10.6.10).
-CHKJ2461.home.srh.ejb20=CHKJ2461W: This interface must follow RMI-IIOP rules for remote interfaces (EJB 2.0: 7.10.6).
-
-CHKJ2462.clh.i.ejb20=CHKJ2462I: The name of method {0} must not start with "create" (EJB 2.0: 9.5.4, 10.6.10).
-CHKJ2462.brh.i.ejb20=CHKJ2462I: The name of method {0} must not start with "create" (EJB 2.0: 9.5.4, 12.2.9).
-CHKJ2462.crh.i.ejb20=CHKJ2462I: The name of method {0} must not start with "create" (EJB 2.0: 9.6.4, 10.6.12).
-CHKJ2462.blh.i.ejb20=CHKJ2462I: The name of method {0} must not start with "create" (EJB 2.0: 9.5.4, 12.2.11).
-CHKJ2462.clh.m.ejb20=CHKJ2462I: This method name must not start with "create" (EJB 2.0: 9.5.4, 10.6.10).
-CHKJ2462.brh.m.ejb20=CHKJ2462I: This method name must not start with "create" (EJB 2.0: 9.5.4, 12.2.9).
-CHKJ2462.crh.m.ejb20=CHKJ2462I: This method name must not start with "create" (EJB 2.0: 9.6.4, 10.6.12).
-CHKJ2462.blh.m.ejb20=CHKJ2462I: This method name must not start with "create" (EJB 2.0: 9.5.4, 12.2.11).
-
-CHKJ2463.clh.i.ejb20=CHKJ2463I: The name of method {0} must not start with "find" (EJB 2.0: 9.5.4, 10.6.10).
-CHKJ2463.brh.i.ejb20=CHKJ2463I: The name of method {0} must not start with "find" (EJB 2.0: 9.5.4, 12.2.9).
-CHKJ2463.crh.i.ejb20=CHKJ2463I: The name of method {0} must not start with "find" (EJB 2.0: 9.6.4, 10.6.12).
-CHKJ2463.blh.i.ejb20=CHKJ2463I: The name of method {0} must not start with "find" (EJB 2.0: 9.5.4, 12.2.11).
-CHKJ2463.clh.m.ejb20=CHKJ2463I: This method name must not start with "find" (EJB 2.0: 9.5.4, 10.6.10).
-CHKJ2463.brh.m.ejb20=CHKJ2463I: This method name must not start with "find" (EJB 2.0: 9.5.4, 12.2.9).
-CHKJ2463.crh.m.ejb20=CHKJ2463I: This method name must not start with "find" (EJB 2.0: 9.6.4, 10.6.12).
-CHKJ2463.blh.m.ejb20=CHKJ2463I: This method name must not start with "find" (EJB 2.0: 9.5.4, 12.2.11).
-
-CHKJ2464.clh.i.ejb20=CHKJ2464I: The name of method {0} must not start with "remove" (EJB 2.0: 9.5.4, 10.6.10).
-CHKJ2464.brh.i.ejb20=CHKJ2464I: The name of method {0} must not start with "remove" (EJB 2.0: 9.5.4, 12.2.9).
-CHKJ2464.crh.i.ejb20=CHKJ2464I: The name of method {0} must not start with "remove" (EJB 2.0: 9.6.4, 10.6.12).
-CHKJ2464.blh.i.ejb20=CHKJ2464I: The name of method {0} must not start with "remove" (EJB 2.0: 9.5.4, 12.2.11).
-CHKJ2464.clh.m.ejb20=CHKJ2464I: This method name must not start with "remove" (EJB 2.0: 9.5.4, 10.6.10).
-CHKJ2464.brh.m.ejb20=CHKJ2464I: This method name must not start with "remove" (EJB 2.0: 9.5.4, 12.2.9).
-CHKJ2464.crh.m.ejb20=CHKJ2464I: This method name must not start with "remove" (EJB 2.0: 9.6.4, 10.6.12).
-CHKJ2464.blh.m.ejb20=CHKJ2464I: This method name must not start with "remove" (EJB 2.0: 9.5.4, 12.2.11).
-
-CHKJ2503.home.brh.i.ejb20=CHKJ2503E: {0} must throw java.rmi.RemoteException (EJB 2.0: 9.5.4, 12.2.9).
-CHKJ2503.home.crh.i.ejb20=CHKJ2503E: {0} must throw java.rmi.RemoteException (EJB 2.0: 9.5.4, 10.6.10).
-CHKJ2503.home.srh.i.ejb20=CHKJ2503E: {0} must throw java.rmi.RemoteException (EJB 2.0: 7.10.6).
-CHKJ2503.home.blh.i.ejb20=CHKJ2503W: {0} must not throw java.rmi.RemoteException (EJB 2.0: 9.6.4, 12.2.11, 18.3.8, 18.6).
-CHKJ2503.home.clh.i.ejb20=CHKJ2503W: {0} must not throw java.rmi.RemoteException (EJB 2.0: 9.6.4, 10.6.12, 18.3.8, 18.6).
-CHKJ2503.home.slh.i.ejb20=CHKJ2503W: {0} must not throw java.rmi.RemoteException (EJB 2.0: 7.10.8, 18.3.8, 18.6).
-CHKJ2503.home.brh.m.ejb20=CHKJ2503E: This method must throw java.rmi.RemoteException (EJB 2.0: 9.5.4, 12.2.9).
-CHKJ2503.home.crh.m.ejb20=CHKJ2503E: This method must throw java.rmi.RemoteException (EJB 2.0: 9.5.4, 10.6.10).
-CHKJ2503.home.srh.m.ejb20=CHKJ2503E: This method must throw java.rmi.RemoteException (EJB 2.0: 7.10.6).
-CHKJ2503.home.blh.m.ejb20=CHKJ2503W: This method must not throw java.rmi.RemoteException (EJB 2.0: 9.6.4, 12.2.11, 18.3.8, 18.6).
-CHKJ2503.home.clh.m.ejb20=CHKJ2503W: This method must not throw java.rmi.RemoteException (EJB 2.0: 9.6.4, 10.6.12, 18.3.8, 18.6).
-CHKJ2503.home.slh.m.ejb20=CHKJ2503W: This method must not throw java.rmi.RemoteException (EJB 2.0: 7.10.8, 18.3.8, 18.6).
-
-
-# create
-CHKJ2503.create.brh.i.ejb20=CHKJ2503E: {0} must throw java.rmi.RemoteException (EJB 2.0: 9.5.1, 12.2.9).
-CHKJ2503.create.crh.i.ejb20=CHKJ2503E: {0} must throw java.rmi.RemoteException (EJB 2.0: 9.5.1, 10.6.10).
-CHKJ2503.create.srh.i.ejb20=CHKJ2503E: {0} must throw java.rmi.RemoteException (EJB 2.0: 7.10.6).
-CHKJ2503.create.blh.i.ejb20=CHKJ2503W: {0} must not throw java.rmi.RemoteException (EJB 2.0: 9.6.1, 12.2.11, 18.3.8, 18.6).
-CHKJ2503.create.clh.i.ejb20=CHKJ2503W: {0} must not throw java.rmi.RemoteException (EJB 2.0: 9.6.1, 10.6.12, 18.3.8, 18.6).
-CHKJ2503.create.slh.i.ejb20=CHKJ2503W: {0} must not throw java.rmi.RemoteException (EJB 2.0: 7.10.8, 18.3.8, 18.6).
-CHKJ2503.create.brh.m.ejb20=CHKJ2503E: This method must throw java.rmi.RemoteException (EJB 2.0: 9.5.1, 12.2.9).
-CHKJ2503.create.crh.m.ejb20=CHKJ2503E: This method must throw java.rmi.RemoteException (EJB 2.0: 9.5.1, 10.6.10).
-CHKJ2503.create.srh.m.ejb20=CHKJ2503E: This method must throw java.rmi.RemoteException (EJB 2.0: 7.10.6).
-CHKJ2503.create.blh.m.ejb20=CHKJ2503W: This method must not throw java.rmi.RemoteException (EJB 2.0: 9.6.1, 12.2.11, 18.3.8, 18.6).
-CHKJ2503.create.clh.m.ejb20=CHKJ2503W: This method must not throw java.rmi.RemoteException (EJB 2.0: 9.6.1, 10.6.12, 18.3.8, 18.6).
-CHKJ2503.create.slh.m.ejb20=CHKJ2503W: This method must not throw java.rmi.RemoteException (EJB 2.0: 7.10.8, 18.3.8, 18.6).
-
-CHKJ2467.srh.i.ejb20=CHKJ2467W: {0} must throw javax.ejb.CreateException (EJB 2.0: 7.10.6).
-CHKJ2467.slh.i.ejb20=CHKJ2467W: {0} must throw javax.ejb.CreateException (EJB 2.0: 7.10.8).
-CHKJ2467.crh.i.ejb20=CHKJ2467W: {0} must throw javax.ejb.CreateException (EJB 2.0: 9.5.1, 10.6.10).
-CHKJ2467.clh.i.ejb20=CHKJ2467W: {0} must throw javax.ejb.CreateException (EJB 2.0: 9.6.1, 10.6.12).
-CHKJ2467.brh.i.ejb20=CHKJ2467W: {0} must throw javax.ejb.CreateException (EJB 2.0: 9.5.1, 12.2.9).
-CHKJ2467.blh.i.ejb20=CHKJ2467W: {0} must throw javax.ejb.CreateException (EJB 2.0: 9.6.1, 12.2.11).
-CHKJ2467.srh.m.ejb20=CHKJ2467W: This method must throw javax.ejb.CreateException (EJB 2.0: 7.10.6).
-CHKJ2467.slh.m.ejb20=CHKJ2467W: This method must throw javax.ejb.CreateException (EJB 2.0: 7.10.8).
-CHKJ2467.crh.m.ejb20=CHKJ2467W: This method must throw javax.ejb.CreateException (EJB 2.0: 9.5.1, 10.6.10).
-CHKJ2467.clh.m.ejb20=CHKJ2467W: This method must throw javax.ejb.CreateException (EJB 2.0: 9.6.1, 10.6.12).
-CHKJ2467.brh.m.ejb20=CHKJ2467W: This method must throw javax.ejb.CreateException (EJB 2.0: 9.5.1, 12.2.9).
-CHKJ2467.blh.m.ejb20=CHKJ2467W: This method must throw javax.ejb.CreateException (EJB 2.0: 9.6.1, 12.2.11).
-
-CHKJ2402.sfrh.i.ejb20=CHKJ2402E: {0} must return {1} (EJB 2.0: 6.3.1, 7.10.6).
-CHKJ2402.sflh.i.ejb20=CHKJ2402E: {0} must return {1} (EJB 2.0: 6.4.1, 7.10.8).
-CHKJ2402.ssrh.i.ejb20=CHKJ2402E: {0} must return {1} (EJB 2.0: 6.3.1, 7.8, 7.10.6).
-CHKJ2402.sslh.i.ejb20=CHKJ2402E: {0} must return {1} (EJB 2.0: 6.4.1, 7.8, 7.10.8).
-CHKJ2402.crh.i.ejb20=CHKJ2402E: {0} must return {1} (EJB 2.0: 9.5.1, 10.6.10).
-CHKJ2402.clh.i.ejb20=CHKJ2402E: {0} must return {1} (EJB 2.0: 9.6.1, 10.6.12).
-CHKJ2402.brh.i.ejb20=CHKJ2402E: {0} must return {1} (EJB 2.0: 9.5.1, 12.2.9).
-CHKJ2402.blh.i.ejb20=CHKJ2402E: {0} must return {1} (EJB 2.0: 9.6.1, 12.2.11).
-CHKJ2402.sfrh.m.ejb20=CHKJ2402E: This method must return {0} (EJB 2.0: 6.3.1, 7.10.6).
-CHKJ2402.sflh.m.ejb20=CHKJ2402E: This method must return {0} (EJB 2.0: 6.4.1, 7.10.8).
-CHKJ2402.ssrh.m.ejb20=CHKJ2402E: This method must return {0} (EJB 2.0: 6.3.1, 7.8, 7.10.6).
-CHKJ2402.sslh.m.ejb20=CHKJ2402E: This method must return {0} (EJB 2.0: 6.4.1, 7.8, 7.10.8).
-CHKJ2402.crh.m.ejb20=CHKJ2402E: This method must return {0} (EJB 2.0: 9.5.1, 10.6.10).
-CHKJ2402.clh.m.ejb20=CHKJ2402E: This method must return {0} (EJB 2.0: 9.6.1, 10.6.12).
-CHKJ2402.brh.m.ejb20=CHKJ2402E: This method must return {0} (EJB 2.0: 9.5.1, 12.2.9).
-CHKJ2402.blh.m.ejb20=CHKJ2402E: This method must return {0} (EJB 2.0: 9.6.1, 12.2.11).
-
-CHKJ2476.srh.i.ejb20=CHKJ2476E: {0} must be the create() method (EJB 2.0: 7.8, 7.10.6).
-CHKJ2476.slh.i.ejb20=CHKJ2476E: {0} must be the create() method (EJB 2.0: 7.8, 7.10.8).
-CHKJ2476.srh.m.ejb20=CHKJ2476E: This method must be the create() method (EJB 2.0: 7.8, 7.10.6).
-CHKJ2476.slh.m.ejb20=CHKJ2476E: This method must be the create() method (EJB 2.0: 7.8, 7.10.8).
-CHKJ2476.ssb.i.ejb20=CHKJ2476E: {0} must be the ejbCreate() method (EJB 2.0: 7.8).
-CHKJ2476.ssb.m.ejb20=CHKJ2476E: This method must be the ejbCreate() method (EJB 2.0: 7.8).
-
-
-# remote create
-CHKJ2504.create.srh.i.ejb20=CHKJ2504W: The {1} matching method for {0} must exist on {2} (EJB 2.0: 7.10.6).
-CHKJ2504.create.slh.i.ejb20=CHKJ2504W: The {1} matching method for {0} must exist on {2} (EJB 2.0: 7.10.8).
-CHKJ2504.create.crh.i.ejb20=CHKJ2504W: The {1} matching method for {0} must exist on {2} (EJB 2.0: 10.6.10).
-CHKJ2504.create.clh.i.ejb20=CHKJ2504W: The {1} matching method for {0} must exist on {2} (EJB 2.0: 10.6.12).
-CHKJ2504.create.brh.i.ejb20=CHKJ2504W: The {1} matching method for {0} must exist on {2} (EJB 2.0: 12.2.9).
-CHKJ2504.create.blh.i.ejb20=CHKJ2504W: The {1} matching method for {0} must exist on {2} (EJB 2.0: 12.2.11).
-CHKJ2504.create.srh.m.ejb20=CHKJ2504W: The {0} matching method must exist on {1} (EJB 2.0: 7.10.6).
-CHKJ2504.create.slh.m.ejb20=CHKJ2504W: The {0} matching method must exist on {1} (EJB 2.0: 7.10.8).
-CHKJ2504.create.crh.m.ejb20=CHKJ2504W: The {0} matching method must exist on {1} (EJB 2.0: 10.6.10).
-CHKJ2504.create.clh.m.ejb20=CHKJ2504W: The {0} matching method must exist on {1} (EJB 2.0: 10.6.12).
-CHKJ2504.create.brh.m.ejb20=CHKJ2504W: The {0} matching method must exist on {1} (EJB 2.0: 12.2.9).
-CHKJ2504.create.blh.m.ejb20=CHKJ2504W: The {0} matching method must exist on {1} (EJB 2.0: 12.2.11).
-
-CHKJ2500.create.srh.i.ejb20=CHKJ2500I: {1} in method {0} must be serializable at runtime (EJB 2.0: 7.10.6).
-CHKJ2500.create.crh.i.ejb20=CHKJ2500I: {1} in method {0} must be serializable at runtime (EJB 2.0: 9.5.4, 10.6.10).
-CHKJ2500.create.brh.i.ejb20=CHKJ2500I: {1} in method {0} must be serializable at runtime (EJB 2.0: 9.5.4, 12.2.9).
-CHKJ2500.create.srh.m.ejb20=CHKJ2500I: {0} must be serializable at runtime (EJB 2.0: 7.10.6).
-CHKJ2500.create.crh.m.ejb20=CHKJ2500I: {0} must be serializable at runtime (EJB 2.0: 9.5.4, 10.6.10).
-CHKJ2500.create.brh.m.ejb20=CHKJ2500I: {0} must be serializable at runtime (EJB 2.0: 9.5.4, 12.2.9).
-
-# home method
-CHKJ2504.home.crh.i.ejb20=CHKJ2504W: The {1} matching method for {0} must exist on {2} (EJB 2.0: 10.5.2, 10.6.10).
-CHKJ2504.home.clh.i.ejb20=CHKJ2504W: The {1} matching method for {0} must exist on {2} (EJB 2.0: 10.5.2, 10.6.12).
-CHKJ2504.home.brh.i.ejb20=CHKJ2504W: The {1} matching method for {0} must exist on {2} (EJB 2.0: 12.2.9).
-CHKJ2504.home.blh.i.ejb20=CHKJ2504W: The {1} matching method for {0} must exist on {2} (EJB 2.0: 12.2.11).
-CHKJ2504.home.crh.m.ejb20=CHKJ2504W: The {0} method must exist on {1} (EJB 2.0: 10.5.2, 10.6.10).
-CHKJ2504.home.clh.m.ejb20=CHKJ2504W: The {0} method must exist on {1} (EJB 2.0: 10.5.2, 10.6.12).
-CHKJ2504.home.brh.m.ejb20=CHKJ2504W: The {0} method must exist on {1} (EJB 2.0: 12.2.9).
-CHKJ2504.home.blh.m.ejb20=CHKJ2504W: The {0} method must exist on {1} (EJB 2.0: 12.2.11).
-
-
-# find method
-CHKJ2503.find.brh.i.ejb20=CHKJ2503E: {0} must throw java.rmi.RemoteException (EJB 2.0: 9.5.2, 12.2.9).
-CHKJ2503.find.crh.i.ejb20=CHKJ2503E: {0} must throw java.rmi.RemoteException (EJB 2.0: 9.5.2, 10.6.10).
-CHKJ2503.find.srh.i.ejb20=CHKJ2503E: {0} must throw java.rmi.RemoteException (EJB 2.0: 7.10.6).
-CHKJ2503.find.blh.i.ejb20=CHKJ2503W: {0} must not throw java.rmi.RemoteException (EJB 2.0: 9.6.2, 12.2.11, 18.3.8, 18.6).
-CHKJ2503.find.clh.i.ejb20=CHKJ2503W: {0} must not throw java.rmi.RemoteException (EJB 2.0: 9.6.2, 10.6.12, 18.3.8, 18.6).
-CHKJ2503.find.slh.i.ejb20=CHKJ2503W: {0} must not throw java.rmi.RemoteException (EJB 2.0: 7.10.8, 18.3.8, 18.6).
-CHKJ2503.find.brh.m.ejb20=CHKJ2503E: This method must throw java.rmi.RemoteException (EJB 2.0: 9.5.2, 12.2.9).
-CHKJ2503.find.crh.m.ejb20=CHKJ2503E: This method must throw java.rmi.RemoteException (EJB 2.0: 9.5.2, 10.6.10).
-CHKJ2503.find.srh.m.ejb20=CHKJ2503E: This method must throw java.rmi.RemoteException (EJB 2.0: 7.10.6).
-CHKJ2503.find.blh.m.ejb20=CHKJ2503W: This method must not throw java.rmi.RemoteException (EJB 2.0: 9.6.2, 12.2.11, 18.3.8, 18.6).
-CHKJ2503.find.clh.m.ejb20=CHKJ2503W: This method must not throw java.rmi.RemoteException (EJB 2.0: 9.6.2, 10.6.12, 18.3.8, 18.6).
-CHKJ2503.find.slh.m.ejb20=CHKJ2503W: This method must not throw java.rmi.RemoteException (EJB 2.0: 7.10.8, 18.3.8, 18.6).
-
-CHKJ2477.crh.i.ejb20=CHKJ2477W: {0} must throw javax.ejb.FinderException (EJB 2.0: 9.5.2, 12.2.9).
-CHKJ2477.brh.i.ejb20=CHKJ2477W: {0} must throw javax.ejb.FinderException (EJB 2.0: 9.6.2, 12.2.11).
-CHKJ2477.clh.i.ejb20=CHKJ2477W: {0} must throw javax.ejb.FinderException (EJB 2.0: 9.5.2, 10.6.10).
-CHKJ2477.blh.i.ejb20=CHKJ2477W: {0} must throw javax.ejb.FinderException (EJB 2.0: 9.6.2, 10.6.12).
-CHKJ2477.crh.m.ejb20=CHKJ2477W: This method must throw javax.ejb.FinderException (EJB 2.0: 9.5.2, 12.2.9).
-CHKJ2477.brh.m.ejb20=CHKJ2477W: This method must throw javax.ejb.FinderException (EJB 2.0: 9.6.2, 12.2.11).
-CHKJ2477.clh.m.ejb20=CHKJ2477W: This method must throw javax.ejb.FinderException (EJB 2.0: 9.5.2, 10.6.10).
-CHKJ2477.blh.m.ejb20=CHKJ2477W: This method must throw javax.ejb.FinderException (EJB 2.0: 9.6.2, 10.6.12).
-
-CHKJ2478.crh.i.ejb20=CHKJ2478I: {0} must not throw ObjectNotFoundException (EJB 2.0: 10.5.8.4).
-CHKJ2478.crh.m.ejb20=CHKJ2478I: This method must not throw ObjectNotFoundException (EJB 2.0: 10.5.8.4).
-CHKJ2478.clh.i.ejb20=CHKJ2478I: {0} must not throw ObjectNotFoundException (EJB 2.0: 10.5.8.4).
-CHKJ2478.clh.m.ejb20=CHKJ2478I: This method must not throw ObjectNotFoundException (EJB 2.0: 10.5.8.4).
-CHKJ2478.brh.i.ejb20=CHKJ2478I: {0} must not throw ObjectNotFoundException (EJB 2.0: 12.1.8.4).
-CHKJ2478.brh.m.ejb20=CHKJ2478I: This method must not throw ObjectNotFoundException (EJB 2.0: 12.1.8.4).
-CHKJ2478.blh.i.ejb20=CHKJ2478I: {0} must not throw ObjectNotFoundException (EJB 2.0: 12.1.8.4).
-CHKJ2478.blh.m.ejb20=CHKJ2478I: This method must not throw ObjectNotFoundException (EJB 2.0: 12.1.8.4).
-CHKJ2478.cb.i.ejb20=CHKJ2478I: {0} must not throw ObjectNotFoundException (EJB 2.0: 10.5.8.4).
-CHKJ2478.cb.m.ejb20=CHKJ2478I: This method must not throw ObjectNotFoundException (EJB 2.0: 10.5.8.4).
-CHKJ2478.bb.i.ejb20=CHKJ2478I: {0} must not throw ObjectNotFoundException (EJB 2.0: 12.1.8.4).
-CHKJ2478.bb.m.ejb20=CHKJ2478I: This method must not throw ObjectNotFoundException (EJB 2.0: 12.1.8.4).
-
-CHKJ2403.brh.i.ejb20=CHKJ2403W: {0} must return {1} or a collection thereof (EJB 2.0: 9.5.2, 12.1.7, 12.2.9).
-CHKJ2403.blh.i.ejb20=CHKJ2403W: {0} must return {1} or a collection thereof (EJB 2.0: 9.6.2, 12.1.7, 12.2.11).
-CHKJ2403.crh.i.ejb20=CHKJ2403W: {0} must return {1} or a collection thereof (EJB 2.0: 9.5.2, 10.5.6, 10.6.10, 11.2.2).
-CHKJ2403.clh.i.ejb20=CHKJ2403W: {0} must return {1} or a collection thereof (EJB 2.0: 9.6.2, 10.5.6, 10.6.12, 11.2.2).
-CHKJ2403.brh.m.ejb20=CHKJ2403W: This method must return {0} or a collection thereof (EJB 2.0: 9.5.2, 12.1.7, 12.2.9).
-CHKJ2403.blh.m.ejb20=CHKJ2403W: This method must return {0} or a collection thereof (EJB 2.0: 9.6.2, 12.1.7, 12.2.11).
-CHKJ2403.crh.m.ejb20=CHKJ2403W: This method must return {0} or a collection thereof (EJB 2.0: 9.5.2, 10.5.6, 10.6.10, 11.2.2).
-CHKJ2403.clh.m.ejb20=CHKJ2403W: This method must return {0} or a collection thereof (EJB 2.0: 9.6.2, 10.5.6, 10.6.12, 11.2.2).
-
-# remote find
-CHKJ2504.find.brh.i.ejb20=CHKJ2504W: {1} must exist on {2} for {0} (EJB 2.0: 12.2.9).
-CHKJ2504.find.crh.i.ejb20=CHKJ2504W: {1} must exist on {2} for {0} (EJB 2.0: 10.6.10).
-CHKJ2504.find.brh.m.ejb20=CHKJ2504W: {0} must exist on {1} (EJB 2.0: 12.2.9).
-CHKJ2504.find.crh.m.ejb20=CHKJ2504W: {0} must exist on {1} (EJB 2.0: 10.6.10).
-
-# local find
-CHKJ2504.find.blh.i.ejb20=CHKJ2504W: {1} must exist on {2} for {0} (EJB 2.0: 12.2.11).
-CHKJ2504.find.clh.i.ejb20=CHKJ2504W: {1} must exist on {2} for {0} (EJB 2.0: 10.6.2).
-CHKJ2504.find.blh.m.ejb20=CHKJ2504W: {0} must exist on {1} (EJB 2.0: 12.2.11).
-CHKJ2504.find.clh.m.ejb20=CHKJ2504W: {0} must exist on {1} (EJB 2.0: 10.6.2).
-
-
-CHKJ2500.find.srh.i.ejb20=CHKJ2500I: {1} in method {0} must be serializable at runtime (EJB 2.0: 7.10.6).
-CHKJ2500.find.crh.i.ejb20=CHKJ2500I: {1} in method {0} must be serializable at runtime (EJB 2.0: 9.5.4, 10.6.10).
-CHKJ2500.find.brh.i.ejb20=CHKJ2500I: {1} in method {0} must be serializable at runtime (EJB 2.0: 9.5.4, 12.2.9).
-CHKJ2500.find.srh.m.ejb20=CHKJ2500I: {0} must be serializable at runtime (EJB 2.0: 7.10.6).
-CHKJ2500.find.crh.m.ejb20=CHKJ2500I: {0} must be serializable at runtime (EJB 2.0: 9.5.4, 10.6.10).
-CHKJ2500.find.brh.m.ejb20=CHKJ2500I: {0} must be serializable at runtime (EJB 2.0: 9.5.4, 12.2.9).
-
-CHKJ2495.clh.i.ejb20=CHKJ2495I: {0} must be associated with a query element in ejb-jar.xml (EJB 2.0: 10.5.6, 10.6.14).
-CHKJ2495.clh.m.ejb20=CHKJ2495I: This method must be associated with a query element in ejb-jar.xml (EJB 2.0: 10.5.6, 10.6.14).
-CHKJ2495.crh.i.ejb20=CHKJ2495I: {0} must be associated with a query element in ejb-jar.xml (EJB 2.0: 10.5.6, 10.6.14).
-CHKJ2495.crh.m.ejb20=CHKJ2495I: This method must be associated with a query element in ejb-jar.xml (EJB 2.0: 10.5.6, 10.6.14).
-
-
-# method on a component interface
-CHKJ2503.bus.src.i.ejb20=CHKJ2503E: {0} must throw java.rmi.RemoteException (EJB 2.0: 7.10.5).
-CHKJ2503.bus.slc.i.ejb20=CHKJ2503W: {0} must not throw java.rmi.RemoteException (EJB 2.0: 7.10.7, 18.3.8, 18.6).
-CHKJ2503.bus.brc.i.ejb20=CHKJ2503E: {0} must throw java.rmi.RemoteException (EJB 2.0: 12.2.8).
-CHKJ2503.bus.blc.i.ejb20=CHKJ2503W: {0} must not throw java.rmi.RemoteException (EJB 2.0: 9.10, 12.2.10, 18.3.8, 18.6).
-CHKJ2503.bus.crc.i.ejb20=CHKJ2503E: {0} must throw java.rmi.RemoteException (EJB 2.0: 10.6.9).
-CHKJ2503.bus.clc.i.ejb20=CHKJ2503W: {0} must not throw java.rmi.RemoteException (EJB 2.0: 9.10, 18.3.8, 18.6).
-CHKJ2503.bus.src.m.ejb20=CHKJ2503E: This method must throw java.rmi.RemoteException (EJB 2.0: 7.10.5).
-CHKJ2503.bus.slc.m.ejb20=CHKJ2503W: This method must not throw java.rmi.RemoteException (EJB 2.0: 7.10.7, 18.3.8, 18.6).
-CHKJ2503.bus.brc.m.ejb20=CHKJ2503E: This method must throw java.rmi.RemoteException (EJB 2.0: 12.2.8).
-CHKJ2503.bus.blc.m.ejb20=CHKJ2503W: This method must not throw java.rmi.RemoteException (EJB 2.0: 9.10, 12.2.10, 18.3.8, 18.6).
-CHKJ2503.bus.crc.m.ejb20=CHKJ2503E: This method must throw java.rmi.RemoteException (EJB 2.0: 10.6.9).
-CHKJ2503.bus.clc.m.ejb20=CHKJ2503W: This method must not throw java.rmi.RemoteException (EJB 2.0: 9.10, 18.3.8, 18.6).
-
-# method on a home interface
-CHKJ2465.brh.i.ejb20=CHKJ2465W: {0} must throw {1} for {2} (EJB 2.0: 12.2.9).
-CHKJ2465.blh.i.ejb20=CHKJ2465W: {0} must throw {1} for {2} (EJB 2.0: 12.2.11).
-CHKJ2465.crh.i.ejb20=CHKJ2465W: {0} must throw {1} for {2} (EJB 2.0: 10.6.10).
-CHKJ2465.clh.i.ejb20=CHKJ2465W: {0} must throw {1} for {2} (EJB 2.0: 10.6.12).
-CHKJ2465.srh.i.ejb20=CHKJ2465W: {0} must throw {1} for {2} (EJB 2.0: 7.10.6).
-CHKJ2465.slh.i.ejb20=CHKJ2465W: {0} must throw {1} for {2} (EJB 2.0: 7.10.8).
-CHKJ2465.brh.m.ejb20=CHKJ2465W: This method must throw {0} for {1} (EJB 2.0: 12.2.9).
-CHKJ2465.blh.m.ejb20=CHKJ2465W: This method must throw {0} for {1} (EJB 2.0: 12.2.11).
-CHKJ2465.crh.m.ejb20=CHKJ2465W: This method must throw {0} for {1} (EJB 2.0: 10.6.10).
-CHKJ2465.clh.m.ejb20=CHKJ2465W: This method must throw {0} for {1} (EJB 2.0: 10.6.12).
-CHKJ2465.srh.m.ejb20=CHKJ2465W: This method must throw {0} for {1} (EJB 2.0: 7.10.6).
-CHKJ2465.slh.m.ejb20=CHKJ2465W: This method must throw {0} for {1} (EJB 2.0: 7.10.8).
-
-# method on a remote home
-CHKJ2500.home.srh.i.ejb20=CHKJ2500I: {1} in method {0} must be serializable at runtime (EJB 2.0: 7.10.6).
-CHKJ2500.home.crh.i.ejb20=CHKJ2500I: {1} in method {0} must be serializable at runtime (EJB 2.0: 9.5.4, 10.6.10).
-CHKJ2500.home.brh.i.ejb20=CHKJ2500I: {1} in method {0} must be serializable at runtime (EJB 2.0: 9.5.4, 12.2.9).
-CHKJ2500.home.srh.m.ejb20=CHKJ2500I: {0} must be serializable at runtime (EJB 2.0: 7.10.6).
-CHKJ2500.home.crh.m.ejb20=CHKJ2500I: {0} must be serializable at runtime (EJB 2.0: 9.5.4, 10.6.10).
-CHKJ2500.home.brh.m.ejb20=CHKJ2500I: {0} must be serializable at runtime (EJB 2.0: 9.5.4, 12.2.9).
-
-CHKJ2466.src.i.ejb20=CHKJ2466I: {0} must not expose the {1} type (EJB 2.0: 7.10.5).
-CHKJ2466.crh.i.ejb20=CHKJ2466I: {0} must not expose the {1} type (EJB 2.0: 10.6.10).
-CHKJ2466.brh.i.ejb20=CHKJ2466I: {0} must not expose the {1} type (EJB 2.0: 12.2.9).
-CHKJ2466.crh.m.ejb20=CHKJ2466I: This method must not expose the {0} type (EJB 2.0: 10.6.10).
-CHKJ2466.brh.m.ejb20=CHKJ2466I: This method must not expose the {0} type (EJB 2.0: 12.2.9).
-CHKJ2466.src.m.ejb20=CHKJ2466I: This method must not expose the {0} type (EJB 2.0: 7.10.5).
-
-# method on a remote component
-CHKJ2468.src.ejb20=CHKJ2468W: This interface must follow RMI-IIOP rules for remote interfaces (EJB 2.0: 7.10.5).
-CHKJ2468.crc.ejb20=CHKJ2468W: This interface must follow RMI-IIOP rules for remote interfaces (EJB 2.0: 10.6.9).
-CHKJ2468.brc.ejb20=CHKJ2468W: This interface must follow RMI-IIOP rules for remote interfaces (EJB 2.0: 12.2.8).
-
-CHKJ2500.bus.src.i.ejb20=CHKJ2500I: {0} in method {1} must be serializable at runtime (EJB 2.0: 7.10.5).
-CHKJ2500.bus.crc.i.ejb20=CHKJ2500I: {0} in method {1} must be serializable at runtime (EJB 2.0: 10.6.9).
-CHKJ2500.bus.brc.i.ejb20=CHKJ2500I: {0} in method {1} must be serializable at runtime (EJB 2.0: 12.2.8).
-CHKJ2500.bus.src.m.ejb20=CHKJ2500I: {0} must be serializable at runtime (EJB 2.0: 7.10.5).
-CHKJ2500.bus.crc.m.ejb20=CHKJ2500I: {0} must be serializable at runtime (EJB 2.0: 10.6.9).
-CHKJ2500.bus.brc.m.ejb20=CHKJ2500I: {0} must be serializable at runtime (EJB 2.0: 12.2.8).
-
-CHKJ2472.srh.i.ejb20=CHKJ2472W: {1} in method {0} cannot be an argument or result type (EJB 2.0: 6.7.2).
-CHKJ2472.brc.i.ejb20=CHKJ2472W: {0} must not pass {1} as an argument or result (EJB 2.0: 9.7.2, 12.2.8).
-CHKJ2472.crc.i.ejb20=CHKJ2472W: {0} must not pass {1} as an argument or result (EJB 2.0: 9.7.2, 10.3.1, 10.3.10.1).
-CHKJ2472.brc.m.ejb20=CHKJ2472W: This method must not pass {0} as an argument or result (EJB 2.0: 9.7.2, 12.2.8).
-CHKJ2472.crc.m.ejb20=CHKJ2472W: This method must not pass {0} as an argument or result (EJB 2.0: 9.7.2, 10.3.1, 10.3.10.1).
-CHKJ2472.srh.m.ejb20=CHKJ2472W: {0} cannot be an argument or result type (EJB 2.0: 6.7.2).
-
-# method on a remote component CMP
-CHKJ2474.crc.i.ejb20=CHKJ2474W: {0} must not expose {1} (EJB 2.0: 10.3.1, 10.3.10.1).
-CHKJ2474.crc.m.ejb20=CHKJ2474W: This method must not expose {0} (EJB 2.0: 10.3.1, 10.3.10.1).
-
-CHKJ2490.crc.i.ejb20=CHKJ2490W: {0} must not be exposed (EJB 2.0: 10.3.1, 10.3.10.1).
-CJKJ2490.crc.m.ejb20=CHKJ2490W: This method must not be exposed (EJB 2.0: 10.3.1, 10.3.10.1).
-
-# ejbSelect method
-CHKJ2485.cb.i.ejb20=CHKJ2485W: {0} must be abstract (EJB 2.0: 10.5.7, 10.6.7).
-CHKJ2485.cb.m.ejb20=CHKJ2485W: This method must be abstract (EJB 2.0: 10.5.7, 10.6.7).
-
-CHKJ2487.cb.i.ejb20=CHKJ2487W: {0} must be public (EJB 2.0: 10.6.7).
-CHKJ2487.cb.m.ejb20=CHKJ2487W: This method must be public (EJB 2.0: 10.6.7).
-
-CHKJ2488.cb.i.ejb20=CHKJ2488W: {0} must throw javax.ejb.FinderException (EJB 2.0: 10.6.7).
-CHKJ2488.cb.m.ejb20=CHKJ2488W: This method must throw javax.ejb.FinderException (EJB 2.0: 10.6.7).
-
-CHKJ2486.cb.i.ejb20=CHKJ2486W: {0} must return {1} or a collection thereof (EJB 2.0: 10.5.7, 11.2.2).
-CHKJ2486.cb.m.ejb20=CHKJ2486W: This method must return {0} or a collection thereof (EJB 2.0: 10.5.7, 11.2.2).
-
-CHKJ2496.cb.i.ejb20=CHKJ2496W: {0} must be associated with a query element in ejb-jar.xml (EJB 2.0: 10.5.7, 10.6.14).
-CHKJ2496.cb.m.ejb20=CHKJ2496W: This method must be associated with a query element in ejb-jar.xml (EJB 2.0: 10.5.7, 10.6.14).
-
-# component matching method
-CHKJ2023.src.i.ejb20=CHKJ2023W: The {0} method needs {1} to exist on {2} (EJB 2.0: 7.10.5).
-CHKJ2023.slc.i.ejb20=CHKJ2023W: The {0} method needs {1} to exist on {2} (EJB 2.0: 7.10.7).
-CHKJ2023.brc.i.ejb20=CHKJ2023W: The {0} method needs {1} to exist on {2} (EJB 2.0: 12.2.8).
-CHKJ2023.blc.i.ejb20=CHKJ2023W: The {0} method needs {1} to exist on {2} (EJB 2.0: 12.2.10).
-CHKJ2023.crc.i.ejb20=CHKJ2023W: The {0} method needs {1} to exist on {2} (EJB 2.0: 10.6.9).
-CHKJ2023.clc.i.ejb20=CHKJ2023W: The {0} method needs {1} to exist on {2} (EJB 2.0: 10.6.11).
-CHKJ2023.src.m.ejb20=CHKJ2023W: The {0} method must exist on {1} (EJB 2.0: 7.10.5).
-CHKJ2023.slc.m.ejb20=CHKJ2023W: The {0} method must exist on {1} (EJB 2.0: 7.10.7).
-CHKJ2023.brc.m.ejb20=CHKJ2023W: The {0} method must exist on {1} (EJB 2.0: 12.2.8).
-CHKJ2023.blc.m.ejb20=CHKJ2023W: The {0} method must exist on {1} (EJB 2.0: 12.2.10).
-CHKJ2023.crc.m.ejb20=CHKJ2023W: The {0} method must exist on {1} (EJB 2.0: 10.6.9).
-CHKJ2023.clc.m.ejb20=CHKJ2023W: The {0} method must exist on {1} (EJB 2.0: 10.6.11).
-
-CHKJ2470.src.i.ejb20=CHKJ2470E: {0} must return {1} (EJB 2.0: 7.10.5).
-CHKJ2470.slc.i.ejb20=CHKJ2470E: {0} must return {1} (EJB 2.0: 7.10.7).
-CHKJ2470.crc.i.ejb20=CHKJ2470E: {0} must return {1} (EJB 2.0: 10.6.9).
-CHKJ2470.clc.i.ejb20=CHKJ2470E: {0} must return {1} (EJB 2.0: 10.6.11).
-CHKJ2470.brc.i.ejb20=CHKJ2470E: {0} must return {1} (EJB 2.0: 12.2.8).
-CHKJ2470.blc.i.ejb20=CHKJ2470E: {0} must return {1} (EJB 2.0: 12.2.10).
-CHKJ2470.src.m.ejb20=CHKJ2470E: This method must return {0} (EJB 2.0: 7.10.5).
-CHKJ2470.slc.m.ejb20=CHKJ2470E: This method must return {0} (EJB 2.0: 7.10.7).
-CHKJ2470.crc.m.ejb20=CHKJ2470E: This method must return {0} (EJB 2.0: 10.6.9).
-CHKJ2470.clc.m.ejb20=CHKJ2470E: This method must return {0} (EJB 2.0: 10.6.11).
-CHKJ2470.brc.m.ejb20=CHKJ2470E: This method must return {0} (EJB 2.0: 12.2.8).
-CHKJ2470.blc.m.ejb20=CHKJ2470E: This method must return {0} (EJB 2.0: 12.2.10).
-
-CHKJ2471.src.i.ejb20=CHKJ2471W: {0} must throw {1} (EJB 2.0: 7.10.5).
-CHKJ2471.slc.i.ejb20=CHKJ2471W: {0} must throw {1} (EJB 2.0: 7.10.7).
-CHKJ2471.crc.i.ejb20=CHKJ2471W: {0} must throw {1} (EJB 2.0: 10.6.9).
-CHKJ2471.clc.i.ejb20=CHKJ2471W: {0} must throw {1} (EJB 2.0: 10.6.11).
-CHKJ2471.brc.i.ejb20=CHKJ2471W: {0} must throw {1} (EJB 2.0: 12.2.8).
-CHKJ2471.blc.i.ejb20=CHKJ2471W: {0} must throw {1} (EJB 2.0: 12.2.10).
-CHKJ2471.src.m.ejb20=CHKJ2471W: This method must throw {0} (EJB 2.0: 7.10.5).
-CHKJ2471.slc.m.ejb20=CHKJ2471W: This method must throw {0} (EJB 2.0: 7.10.7).
-CHKJ2471.crc.m.ejb20=CHKJ2471W: This method must throw {0} (EJB 2.0: 10.6.9).
-CHKJ2471.clc.m.ejb20=CHKJ2471W: This method must throw {0} (EJB 2.0: 10.6.11).
-CHKJ2471.brc.m.ejb20=CHKJ2471W: This method must throw {0} (EJB 2.0: 12.2.8).
-CHKJ2471.blc.m.ejb20=CHKJ2471W: This method must throw {0} (EJB 2.0: 12.2.10).
-
-# EJBObject, EJBLocalObject methods
-CHKJ2469.src.i.ejb20=CHKJ2469W: {0} is provided by the container (EJB 2.0: 6.5).
-CHKJ2469.slc.i.ejb20=CHKJ2469W: {0} is provided by the container (EJB 2.0: 6.5).
-CHKJ2469.crc.i.ejb20=CHKJ2469W: {0} is provided by the container (EJB 2.0: 9.9).
-CHKJ2469.clc.i.ejb20=CHKJ2469W: {0} is provided by the container (EJB 2.0: 9.10).
-CHKJ2469.brc.i.ejb20=CHKJ2469W: {0} is provided by the container (EJB 2.0: 9.9).
-CHKJ2469.blc.i.ejb20=CHKJ2469W: {0} is provided by the container (EJB 2.0: 9.10).
-CHKJ2469.src.m.ejb20=CHKJ2469W: This method is provided by the container (EJB 2.0: 6.5).
-CHKJ2469.slc.m.ejb20=CHKJ2469W: This method is provided by the container (EJB 2.0: 6.5).
-CHKJ2469.crc.m.ejb20=CHKJ2469W: This method is provided by the container (EJB 2.0: 9.9).
-CHKJ2469.clc.m.ejb20=CHKJ2469W: This method is provided by the container (EJB 2.0: 9.10).
-CHKJ2469.brc.m.ejb20=CHKJ2469W: This method is provided by the container (EJB 2.0: 9.9).
-CHKJ2469.blc.m.ejb20=CHKJ2469W: This method is provided by the container (EJB 2.0: 9.10).
-
-# findByPrimaryKey
-CHKJ2475.crh.i.ejb20=CHKJ2475W: {0} must be findByPrimaryKey({1}) (EJB 2.0: 9.5.2, 10.6.10).
-CHKJ2475.clh.i.ejb20=CHKJ2475W: {0} must be findByPrimaryKey({1}) (EJB 2.0: 9.6.2, 10.6.12).
-CHKJ2475.crhd.i.ejb20=CHKJ2475W: {0} must be findByPrimaryKey(Object) (EJB 2.0: 10.8.3).
-CHKJ2475.clhd.i.ejb20=CHKJ2475W: {0} must be findByPrimaryKey(Object) (EJB 2.0: 10.8.3).
-CHKJ2475.brh.i.ejb20=CHKJ2475W: {0} must be findByPrimaryKey({1}) (EJB 2.0: 9.5.2, 12.2.9).
-CHKJ2475.blh.i.ejb20=CHKJ2475W: {0} must be findByPrimaryKey({1}) (EJB 2.0: 9.6.2, 12.2.11).
-CHKJ2475.crh.m.ejb20=CHKJ2475W: This method must be findByPrimaryKey({0}) (EJB 2.0: 9.5.2, 10.6.10).
-CHKJ2475.clh.m.ejb20=CHKJ2475W: This method must be findByPrimaryKey({0}) (EJB 2.0: 9.6.2, 10.6.12).
-CHKJ2475.crhd.m.ejb20=CHKJ2475W: This method must be findByPrimaryKey(Object) (EJB 2.0: 10.8.3).
-CHKJ2475.clhd.m.ejb20=CHKJ2475W: This method must be findByPrimaryKey(Object) (EJB 2.0: 10.8.3).
-CHKJ2475.brh.m.ejb20=CHKJ2475W: This method must be findByPrimaryKey({0}) (EJB 2.0: 9.5.2, 12.2.9).
-CHKJ2475.blh.m.ejb20=CHKJ2475W: This method must be findByPrimaryKey({0}) (EJB 2.0: 9.6.2, 12.2.11).
-
-CHKJ2479.crh.i.ejb20=CHKJ2479E: {0} must return {1} (EJB 2.0: 9.5.2, 10.6.10).
-CHKJ2479.clh.i.ejb20=CHKJ2479E: {0} must return {1} (EJB 2.0: 9.6.2, 10.6.12).
-CHKJ2479.brh.i.ejb20=CHKJ2479E: {0} must return {1} (EJB 2.0: 9.5.2, 12.2.9).
-CHKJ2479.blh.i.ejb20=CHKJ2479E: {0} must return {1} (EJB 2.0: 9.6.2, 12.2.11).
-CHKJ2479.crh.m.ejb20=CHKJ2479E: This method must return {0} (EJB 2.0: 9.5.2, 10.6.10).
-CHKJ2479.clh.m.ejb20=CHKJ2479E: This method must return {0} (EJB 2.0: 9.6.2, 10.6.12).
-CHKJ2479.brh.m.ejb20=CHKJ2479E: This method must return {0} (EJB 2.0: 9.5.2, 12.2.9).
-CHKJ2479.blh.m.ejb20=CHKJ2479E: This method must return {0} (EJB 2.0: 9.6.2, 12.2.11).
-
-
-
-##################################################
-# field checks
-##################################################
-CHKJ2452.sb.i.ejb20=CHKJ2452W: Transient field {0} should not be the {1} type (EJB 2.0: 7.4.1).
-CHKJ2452.sb.m.ejb20=CHKJ2452W: A transient field should not be the {0} type (EJB 2.0: 7.4.1).
-
-CHKJ2453.sb.i.ejb20=CHKJ2453W: Transient fields ({0}) are discouraged (EJB 2.0: 7.4.1).
-CHKJ2453.sb.m.ejb20=CHKJ2453W: Transient fields are discouraged (EJB 2.0: 7.4.1).
-
-# CMR and CMP fields must NOT be defined on the bean class.
-CHKJ2454.cb.i.ejb20=CHKJ2454W: {0} must not be defined (EJB 2.0: 10.3.1).
-CHKJ2454.cb.m.ejb20=CHKJ2454W: {0} must not be defined (EJB 2.0: 10.3.1).
-
-CHKJ2480.cb.i.ejb20=CHKJ2480I: {0} must begin with a lowercase letter (EJB 2.0: 10.3.1).
-CHKJ2480.cb.m.ejb20=CHKJ2480I: {0} must begin with a lowercase letter (EJB 2.0: 10.3.1).
-
-CHKJ2481.cb.i.ejb20=CHKJ2481W: {0} must be declared as a <cmp-field> (EJB 2.0: 10.3.1, 10.3.13).
-CHKJ2481.cb.m.ejb20=CHKJ2481W: {0} must be declared as a <cmp-field> (EJB 2.0: 10.3.1, 10.3.13).
-
-CHKJ2482.cb.i.ejb20=CHKJ2482W: {0} must be declared as a <cmr-field> (EJB 2.0: 10.3.1, 10.3.13).
-CHKJ2482.cb.m.ejb20=CHKJ2482W: {0} must be declared as a <cmr-field> (EJB 2.0: 10.3.1, 10.3.13).
-
-CHKJ2483.cb.i.ejb20=CHKJ2483W: {0} should not be exposed (EJB 2.0: 10.3.1).
-CHKJ2483.cb.m.ejb20=CHKJ2483W: {0} should not be exposed (EJB 2.0: 10.3.1).
-
-CHKJ2484.cb.i.ejb20=CHKJ2484W: {0} must be either a primitive or a serializable type (EJB 2.0: 10.3.1).
-CHKJ2484.cb.m.ejb20=CHKJ2484W: {0} must be either a primitive or a serializable type (EJB 2.0: 10.3.1).
-
-CHKJ2489.cb.i.ejb20=CHKJ2489W: Field {0} must be the {1} type (EJB 2.0: 10.8.1).
-CHKJ2489.cb.m.ejb20=CHKJ2489W: This field must be the {0} type (EJB 2.0: 10.8.1).
-
-CHKJ2205.kc.i.ejb20=CHKJ2205W: Field {0} must be public (EJB 2.0: 10.8.2).
-CHKJ2205.kc.m.ejb20=CHKJ2205W: This field must be public (EJB 2.0: 10.8.2).
-
-CHKJ2206.kc.i.ejb20=CHKJ2206W: Field {0} must be a <cmp-field> (EJB 2.0: 10.8.2).
-CHKJ2206.kc.m.ejb20=CHKJ2206W: This field must be a <cmp-field> (EJB 2.0: 10.8.2).
-
-
-############################################################
-## DD
-############################################################
-CHKJ2880.s.ejb20=CHKJ2880W: This bean must provide a <local-home> (EJB 2.0: 7.10.1).
-CHKJ2881.s.ejb20=CHKJ2881W: This bean must provide a <home> (EJB 2.0: 7.10.1).
-CHKJ2882.s.ejb20=CHKJ2882W: This bean must provide a <local> (EJB 2.0: 7.10.1).
-CHKJ2883.s.ejb20=CHKJ2883W: This bean must provide a <remote> (EJB 2.0: 7.10.1).
-CHKJ2884.s.ejb20=CHKJ2884W: This bean must provide either a <local-home> or a <home> (EJB 2.0: 7.10.1).
-CHKJ2885.s.ejb20=CHKJ2885W: This bean must provide either a <local> or a <remote> (EJB 2.0: 7.10.1).
-CHKJ2880.c.ejb20=CHKJ2880W: This bean must provide a <local-home> (EJB 2.0: 10.6.1).
-CHKJ2881.c.ejb20=CHKJ2881W: This bean must provide a <home> (EJB 2.0: 10.6.1).
-CHKJ2882.c.ejb20=CHKJ2882W: This bean must provide a <local> (EJB 2.0: 10.6.1).
-CHKJ2883.c.ejb20=CHKJ2883W: This bean must provide a <remote> (EJB 2.0: 10.6.1).
-CHKJ2884.c.ejb20=CHKJ2884W: This bean must provide either a <local-home> or a <home> (EJB 2.0: 10.6.1).
-CHKJ2885.c.ejb20=CHKJ2885W: This bean must provide either a <local> or a <remote> (EJB 2.0: 10.6.1).
-CHKJ2880.b.ejb20=CHKJ2880W: This bean must provide a <local-home> (EJB 2.0: 12.2.1).
-CHKJ2881.b.ejb20=CHKJ2881W: This bean must provide a <home> (EJB 2.0: 12.2.1).
-CHKJ2882.b.ejb20=CHKJ2882W: This bean must provide a <local> (EJB 2.0: 12.2.1).
-CHKJ2883.b.ejb20=CHKJ2883W: This bean must provide a <remote> (EJB 2.0: 12.2.1).
-CHKJ2884.b.ejb20=CHKJ2884W: This bean must provide either a <local-home> or a <home> (EJB 2.0: 12.2.1).
-CHKJ2885.b.ejb20=CHKJ2885W: This bean must provide either a <local> or a <remote> (EJB 2.0: 12.2.1).
-
-CHKJ2813.ejb20=CHKJ2813I: <ejb-name> {0} must be a valid Java identifier (EJB 2.0: 10.3.13, 11.2.6.1).
-CHKJ2819.ejb20=CHKJ2819I: <abstract-schema-name> {0} must be a valid Java identifier (EJB 2.0: 10.3.13, 10.6.14, 11.2.6.1).
-CHKJ2854.ejb20=CHKJ2854E: <abstract-schema-name> {0} must be unique within the ejb-jar.xml file (EJB 2.0: 10.3.13, 10.6.14, 11.2.2).
-CHKJ2858.ejb20=CHKJ2858W: <abstract-schema-name> must exist (EJB 2.0: 22.2, 22.5).
-CHKJ2859.ejb20=CHKJ2859W: Reserved identifier {0} cannot be used as an <ejb-name> (EJB 2.0: 10.6.14, 11.2.6.1).
-CHKJ2860.ejb20=CHKJ2860W: Reserved identifier {0} cannot be used as an <abstract-schema-name> (EJB 2.0: 10.6.14, 11.2.6.1).
-
-CHKJ2861.ejb20=CHKJ2861I: <cmp-field> {0} must be a valid Java identifier and begin with a lowercase letter (EJB 2.0: 10.3.1, 11.2.6.1).
-CHKJ2857.ejb20=CHKJ2857I: <cmr-field> {0} must be a valid Java identifier and begin with a lowercase letter (EJB 2.0: 10.3.1, 11.2.6.1).
-
-CHKJ2862.ejb20=CHKJ2862I: <cmp-field> {0} must have a set method (EJB 2.0: 10.3.1, 10.6.2).
-CHKJ2863.ejb20=CHKJ2863I: <cmp-field> {0} must have a get method (EJB 2.0: 10.3.1, 10.6.2).
-CHKJ2864.ejb20=CHKJ2864I: <cmr-field> {0} must have a set method (EJB 2.0: 10.3.1, 10.6.2).
-CHKJ2865.ejb20=CHKJ2865I: <cmr-field> {0} must have a get method (EJB 2.0: 10.3.1, 10.6.2).
-CHKJ2855.ejb20=CHKJ2855I: <cmp-field> {0} must be a Java primitive or a Java serializable type (EJB 2.0: 10.3.1).
-CHKJ2856.ejb20=CHKJ2856I: <cmr-field> {0} must be the {1} type or a collection thereof (EJB 2.0: 10.3.1).
-
-CHKJ2815.ejb20=CHKJ2815W: Dependent value class {0} cannot be a <cmr-field> (EJB 2.0: 10.3.3).
-
-CHKJ2816.ejb20=CHKJ2816I: <ejb-relation-name> must be unique in ejb-jar.xml (EJB 2.0: 10.3.2, 10.3.13, 22.5).
-CHKJ2817.ejb20=CHKJ2817I: <ejb-relationship-role-name> must be unique within an <ejb-relation> (EJB 2.0: 10.3.2, 10.3.13, 22.5).
-CHKJ2818.ejb20=CHKJ2818I: The value of the <multiplicity> element must be either "One" or "Many" (EJB 2.0: 10.3.2, 10.3.13, 22.5).
-CHKJ2821.ejb20=CHKJ2821I: <relationship-role-source> in role {0} must refer to an existing CMP bean (EJB 2.0: 10.3.2, 22.5).
-CHKJ2848.ejb20=CHKJ2848I: <cascade-delete> must be used with a <multiplicity> of "One" (EJB 2.0: 10.3.4.2, 22.5).
-CHKJ2866.ejb20=CHKJ2866I: <cmr-field> {0} must be defined on {1} (EJB 2.0: 10.3.2, 22.5).
-CHKJ2867.ejb20=CHKJ2867I: This bean can have only unidirectional relationships to other beans (EJB 2.0: 10.3.2).
-CHKJ2868.ejb20=CHKJ2868I: The value of the <cmr-field-type> element must be either "java.util.Collection" or "java.util.Set" (EJB 2.0: 10.3.13, 22.5).
-CHKJ2869.ejb20=CHKJ2869I: At least one <ejb-relationship-role> must define a <cmr-field> (EJB 2.0: 10.3.2, 10.3.13, 22.5).
-CHKJ2870.ejb20=CHKJ2870I: <ejb-name> {0} must exist (EJB 2.0: 10.3.13).
-CHKJ2871.ejb20=CHKJ2871I: <ejb-name> {0} must refer to a CMP bean (EJB 2.0: 10.3.2, 10.3.13).
-
-CHKJ2872.ejb20=CHKJ2872E: The value of the <cmp-version> element must be either "1.x" or "2.x" (EJB 2.0: 22.5).
-CHKJ2873.ejb20=CHKJ2873W: Migrate this bean's datasource binding to a CMP Connection Factory binding.
-CHKJ2874.ejb20=CHKJ2874W: Migrate this EJB module's default datasource binding to a default CMP Connection Factory binding.
-
-###########################################################################
-#
-# 2TC: Do not translate anything in the following section. These strings
-# are reserved for future use.
-#
-###########################################################################
-#
-# Ignore these messages for now; the EJB QL validator may take care of this.
-# If not, add this validation into the EJBJarVRule class.
-#
-#
-# Identification variables
-#
-# IWAD4927.ejb20=IWAD4927W: Identification variable {0} must be declared in the FROM clause (EJB 2.0: 11.2.6.2).
-# IWAD4928.ejb20=IWAD4928W: Reserved identifier {0} cannot be used as an identification variable (EJB 2.0: 11.2.6.2).
-# IWAD4929.ejb20=IWAD4929W: <abstract-schema-name> {0} cannot be used as an identification variable (EJB 2.0: 11.2.6.2).
-# IWAD4930.ejb20=IWAD4930W: <ejb-name> {0} cannot be used as an identification variable (EJB 2.0: 11.2.6.2).
-
-#
-# query statement
-#
-# IWAD4918.ejb20=IWAD4918W: This query must contain a SELECT clause (EJB 2.0: 11.1).
-# IWAD4919.ejb20=IWAD4919W: This query must contain a FROM clause (EJB 2.0: 11.1).
-# IWAD4920.ejb20=IWAD4920W: This query has a syntax error (EJB 2.0: 11.2).
-#
-
-
-# IWAD4808.ejb20=IWAD4808W: This bean must use container-managed transaction demarcation (EJB 2.0: 17.3.1, 17.3.3).
-# IWAD4809.ejb20=IWAD4809W: Specify a transaction attribute for this method (EJB 2.0: 17.4.1).
-# IWAD4810.ejb20=IWAD4810W: A transaction attribute must not exist for this method (EJB 2.0: 17.4.1).
-
-# IWAD4811.ejb20=IWAD4811W: At least one <method> must exist in a <container-transaction> (EJB 2.0: 17.4.1).
-# IWAD4900.ejb20=IWAD4900W: This <container-transaction> must reference only one bean (EJB 2.0: 17.4.1).
-# IWAD4901.ejb20=IWAD4901W: {0} must exist (EJB 2.0: 17.4.1)
-# IWAD4815.ejb20=IWAD4815W: No methods on {0} match this <method> (EJB 2.0: 17.4.1).
-# IWAD4817.ejb20=IWAD4817W: <trans-attribute> is unknown (EJB 2.0: 17.4.1).
-# IWAD4818.ejb20=IWAD4818W: Only one Style 1 <container-transaction> may exist for {0} (EJB 2.0: 17.4.1).
-# IWAD4819.ejb20=IWAD4819W: Only one Style 2 <container-transaction> may exist for {0} (EJB 2.0: 17.4.1).
-# IWAD4820.ejb20=IWAD4820W: At least one <method-param> must exist in a <method-params>.
-
-# IWAD4821.ejb20=IWAD4821W: <env-entry-value> must be a {0} (EJB 2.0: 20.2.1.2, 22.5).
-# IWAD4822.ejb20=IWAD4822W: <env-entry-name> must exist (EJB 2.0: 20.2.1.2, 22.5).
-# IWAD4823.ejb20=IWAD4823W: <env-entry-type> must exist (EJB 2.0: 20.2.1.2, 22.5).
-# IWAD4824.ejb20=IWAD4824W: <env-entry-name> must be unique within {0} (EJB 2.0: 20.2.1.2).
-# IWAD4825.ejb20=IWAD4825W: <env-entry-type> must be a legal type (EJB 2.0: 20.2.1.2, 22.5).
-# IWAD4826.ejb20=IWAD4826W: <env-entry-value> must be a String or a character (EJB 2.0: 20.2.1.2).
-
-# IWAD4828.ejb20=IWAD4828W: Conventionally this reference is located in the "ejb" subcontext (EJB 2.0: 20.3.1.1, 22.5).
-# IWAD4829.ejb20=IWAD4829W: This <env-entry> should be in an <ejb-ref> (EJB 2.0: 20.3.1.2).
-# IWAD4830.ejb20=IWAD4830W: This <env-entry> should be in an <ejb-local-ref> (EJB 2.0: 20.3.1.2).
-# IWAD4831.ejb20=IWAD4831W: <ejb-ref-type> must be {0} (EJB 2.0: 20.3.1.2, 20.3.2).
-# IWAD4832.ejb20=IWAD4832W: <ejb-ref> must exist (EJB 2.0: 20.3.1.2, 20.3.2).
-# IWAD4833.ejb20=IWAD4833W: <ejb-local-ref> must exist (EJB 2.0: 20.3.1.2, 20.3.2).
-# IWAD4834.ejb20=IWAD4834W: <home> must exist (EJB 2.0: 20.3.1.2, 20.3.2).
-# IWAD4835.ejb20=IWAD4835W: <local-home> must exist (EJB 2.0: 20.3.1.2, 20.3.2).
-# IWAD4836.ejb20=IWAD4836W: <remote> must exist (EJB 2.0: 20.3.1.2, 20.3.2).
-# IWAD4837.ejb20=IWAD4837W: <local-remote> must exist (EJB 2.0: 20.3.1.2, 20.3.2).
-# IWAD4838.ejb20=IWAD4838W: <ejb-ref> must be unique within {0} (EJB 2.0: 20.3.1.2).
-# IWAD4839.ejb20=IWAD4839W: <ejb-local-ref> must be unique within {0} (EJB 2.0: 20.3.1.2).
-# IWAD4840.ejb20=IWAD4840W: <home> {0} is not used by bean {1} (EJB 2.0: 20.3.1.2, 20.3.2).
-# IWAD4841.ejb20=IWAD4841W: <remote> {0} is not used by bean {1} (EJB 2.0: 20.3.1.2, 20.3.2).
-# IWAD4842.ejb20=IWAD4842W: <ejb-link> must exist (EJB 2.0: 20.3.1.2).
-
-# IWAD4843.ejb20=IWAD4843W: This <env-entry> must be a <resource-ref> (EJB 2.0: 20.4.1.2).
-# IWAD4844.ejb20=IWAD4844W: <res-ref-name> should not include the "java:com/env/" string (EJB 2.0: 20.4.1.2).
-# IWAD4845.ejb20=IWAD4845W: <res-auth> must be "Application" or "Container" (EJB 2.0: 20.4.1.2).
-# IWAD4846.ejb20=IWAD4846W: <res-sharing-scope> must be "Shareable" or "Unshareable" (EJB 2.0: 20.4.1.2).
-# IWAD4847.ejb20=IWAD4847W: <resource-ref> must be unique in bean {0} (EJB 2.0: 20.4.1.2).
-
-# IWAD4848.ejb20=IWAD4848W: Conventionally this is located in the "java:comp/env/jdbc" subcontext (EJB 2.0: 20.4.1.3, 20.5.1.1).
-# IWAD4849.ejb20=IWAD4849W: Conventionally this is located in the "java:comp/env/jms" subcontext (EJB 2.0: 20.4.1.3, 20.5.1.1).
-# IWAD4850.ejb20=IWAD4850W: Conventionally this is located in the "java:comp/env/mail" subcontext (EJB 2.0: 20.4.1.3, 20.5.1.1).
-# IWAD4851.ejb20=IWAD4851W: Conventionally this is located in the "java:comp/env/url" subcontext (EJB 2.0: 20.4.1.3, 20.5.1.1).
-
-# IWAD4852.ejb20=IWAD4852W: This <env-entry> must be a <resource-env-ref> (EJB 2.0: 20.5.1.2).
-# IWAD4853.ejb20=IWAD4853W: <resource-env-ref-name> should not include the "java:comp/env" string (EJB 2.0: 20.5.1.2).
-# IWAD4854.ejb20=IWAD4854W: A JMS Destination value must be either javax.jms.Queue or javax.jms.Topic (EJB 2.0: 20.5.1.2).
-# IWAD4855.ejb20=IWAD4855W: <resource-env-ref-name> must be unique in bean {0} (EJB 2.0: 20.5.1.2).
-
-# IWAD4856.ejb20=IWAD4856W: A <role-name> must exist (EJB 2.0: 21.2.5.3).
-# IWAD4857.ejb20=IWAD4857W: <role-name> {0} must be unique within bean {1} (EJB 2.0: 21.2.5.3).
-# IWAD4858.ejb20=IWAD4858W: A <role-name> must exist (EJB 2.0: 21.3.1).
-# IWAD4859.ejb20=IWAD4859W: <role-name> {0} must be unique within bean {1} (EJB 2.0: 21.3.1).
-# IWAD4860.ejb20=IWAD4860W: Security roles must exist (EJB 2.0: 21.3.1).
-
-# IWAD4931.ejb20=IWAD4931W: At least one <method> must exist in a <method-permission> (EJB 2.0: 21.3.2).
-# IWAD4932.ejb20=IWAD4932W: {0} must exist (EJB 2.0: 21.3.2) (EJB 2.0: 17.4.1).
-# IWAD4933.ejb20=IWAD4933W: No methods on {0} match this <method> (EJB 2.0: 21.3.2).
-# IWAD4934.ejb20=IWAD4934W: At least one <method-param> must exist in a <method-params>.
-
-# IWAD4866.ejb20=IWAD4866W: A <role-link> must exist (EJB 2.0: 21.3.3).
-# IWAD4867.ejb20=IWAD4867W: This <role-link> must not exist (EJB 2.0: 21.3.3).
-# IWAD4868.ejb20=IWAD4868W: {0} must exist (EJB 2.0: 21.3.3).
-
-# IWAD4869.ejb20=IWAD4869W: <security-identity> must be either "use-caller-identity" or "run-as" (EJB 2.0: 21.3.4).
-# IWAD4870.ejb20=IWAD4870W: <security-identity> must be "run-as" (EJB 2.0: 21.3.4).
-# IWAD4871.ejb20=IWAD4871W: Security role {0} must exist (EJB 2.0: 21.3.4.1).
-
-# IWAD4875.ejb20=IWAD4875W: <session-type> must be either "Stateful" or "Stateless" (EJB 2.0: 22.2, 22.5).
-# IWAD4876.ejb20=IWAD4876W: <transaction-type> must be either "Bean" or "Container" (EJB 2.0: 22.2, 22.5).
-# IWAD4877.ejb20=IWAD4877W: <persistence-type> must be either "Bean" or "Container" (EJB 2.0: 22.2, 22.5).
-# IWAD4879.ejb20=IWAD4879W: At least one <cmp-field> must exist (EJB 2.0: 22.2, 22.5).
-
-# IWAD4880.ejb20=IWAD4880W: <acknowledge-mode> must be either "Auto-acknowledge" or "Dups-ok-acknowledge" (EJB 2.0: 22.5).
-# IWAD4881.ejb20=IWAD4881W: <cascade-delete> must not exist (EJB 2.0: 22.5).
-# IWAD4882.ejb20=IWAD4882W: <cmp-version> must be either "1.x" or "2.x" (EJB 2.0: 22.5).
-# IWAD4883.ejb20=IWAD4883W: <cmr-field-name> must exist on {0} (EJB 2.0: 22.5).
-# IWAD4884.ejb20=IWAD4884W: <cmr-field-type> must be the same type as {0} (EJB 2.0: 22.5).
-# IWAD4885.ejb20=IWAD4885W: <cmr-field-type> must be either java.util.Collection or java.util.Set (EJB 2.0: 22.5).
-
-# IWAD4886.ejb20=IWAD4886W: <cmr-field-name> must begin with a lowercase letter (EJB 2.0: 22.5).
-# IWAD4887.ejb20=IWAD4887W: <destination-type> must be either javax.jms.Queue or javax.jms.Topic (EJB 2.0: 22.5).
-# IWAD4889.ejb20=IWAD4889W: {0} must exist (EJB 2.0: 22.5).
-# IWAD4890.ejb20=IWAD4890W: <ejb-ref-name> must be unique in bean {0} (EJB 2.0: 22.5).
-# IWAD4891.ejb20=IWAD4891W: <ejb-ref-type> must be "Entity" or "Session" (EJB 2.0: 22.5).
-
-# IWAD4862.ejb20=IWAD4862W: <result-type-mapping> must be "Remote" (EJB 2.0: 10.5.7).
-###############################################################################
-#
-# 2TC: end of messages which should not be translated
-#
-###############################################################################
-
-#
-# end of messages for the EJB 2.0 specification
-#
-
-#
-# end of validation messages
-#
-
-#
-# End EJB Validation strings
-#
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/erefvalidation.properties b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/erefvalidation.properties
deleted file mode 100644
index e10f4fe6c..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/erefvalidation.properties
+++ /dev/null
@@ -1,78 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 2004 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
-###############################################################################
-#This properties file hold all the externalised strings for eTools J2EE Validation project
-# Validation project
-#
-# Messages should be according to the format at:
-# http://hany.austin.ibm.com/messages/index.html
-#
-# Briefly:
-# MESSAGE_ID=<ComponentPrefix><MessageNumber><TypeCode>: <MessageText>
-#
-# The prefix for this component is:
-# CHKJ (IBM WebSphere Validation)
-#
-# Note the ": " that appears between the type code and the message text.
-#
-# :Begin: WebSphere Quality Validation Information :Begin:
-#COMPONENTPREFIX CHKJ
-#COMPONENTNAMEFOR CHKJ IBM WebSphere Validation
-#CMVCPATHNAME ncf/src/java/com/ibm/websphere/validation/erefvalidation.properties
-# :End: WebSphere Quality Validation Information :End:
-#
-# 14-October-2001:
-#
-
-# --------------------------------
-ERROR_EAR_MISSING_EREFNAME=CHKJ3009E: In module {1}, ''ejb-ref-name'' element in ejb-ref: {0} is invalid.
-#EXPLANATION None.
-#USERACTION None.
-
-# --------------------------------
-ERROR_EAR_INVALID_EREFTYPE=CHKJ3010E: In module {1}, ''ejb-ref-type'' element in ejb-ref: {0} is invalid.
-#EXPLANATION None.
-#USERACTION None.
-
-ERROR_EAR_MISSING_EREFTYPE=CHKJ3014E: In module {1}, ''ejb-ref-type'' element in ejb-ref: {0} is missing.
-
-
-# --------------------------------
-ERROR_EAR_MISSING_EREFHOME=CHKJ3011E: In module {1}, Home interface is missing from ejb-ref: {0} element.
-#EXPLANATION None.
-#USERACTION None.
-
-# --------------------------------
-ERROR_EAR_MISSING_EREFREMOTE=CHKJ3012E: In module {1}, Remote interface is missing from ejb-ref: {0} element.
-#EXPLANATION None.
-#USERACTION None.
-
-# --------------------------------
-ERROR_EAR_MISSING_EJB_ROLE=CHKJ2827W: ''security-role-ref'' element {0} defines the ''role-link'' element but no ''security-role'' elements in the application descriptor.
-#EXPLANATION None.
-#USERACTION None.
-
-# --------------------------------
-ERROR_EAR_DUPLICATE_RESREF=CHKJ3013E: Duplicate ''resource-ref'' element named {0}.
-#EXPLANATION None.
-#USERACTION None.
-
-# new string added for version 5 WSAD
-UNRESOLVED_EJB_REF_WARN_=IWAE0034W EJB link element {0} is unresolvable in module {1} and EAR {2}.
-
-ERROR_EAR_DUPLICATE_SERVICEREF=CHKJ3015E: Duplicate ''service-ref'' element named {0}.
-ERROR_EAR_DUPLICATE_SECURITYROLEREF=CHKJ3016E: Duplicate ''security role-ref'' element named {0}.
-ERROR_EAR_DUPLICATE_EJBREF=CHKJ3017E: Duplicate ''ejb-ref'' element named {0}.
-ERROR_EAR_DUPLICATE_RESENVREF=CHKJ3018E: Duplicate ''resource environment-ref'' element named {0}.
-ERROR_EAR_DUPLICATE_MESSSAGEDESTINATIONREF=CHKJ3019E: Duplicate ''message destination-ref'' element named {0}.
-
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ABMPHomeVRule.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ABMPHomeVRule.java
deleted file mode 100644
index bbb2f65b2..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ABMPHomeVRule.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-import java.util.List;
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaHelpers;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.jst.j2ee.ejb.Entity;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-
-public abstract class ABMPHomeVRule extends AEntityHomeVRule {
-
- public final void validateMatchingReturnTypeMatches(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method homeMethod, Method beanMethod, List[] methodsExtendedLists) {
- long methodType = MethodUtility.getUtility().getMethodTypeId(bean, clazz, homeMethod, methodsExtendedLists, this);
- if((methodType & FIND) != FIND) {
- super.validateMatchingReturnTypeMatches(vc, bean, clazz, homeMethod, beanMethod, methodsExtendedLists);
- }
- else {
- JavaHelpers homeRetType = homeMethod.getReturnType();
- JavaHelpers beanRetType = beanMethod.getReturnType();
- if (!ValidationRuleUtility.isAssignableFrom(homeRetType, beanRetType)) {
- // emit the error only if it's a multi-finder. Single-finders are supposed to have different return types on the home & bean class.
- boolean homeRetTypeIsRemote = ValidationRuleUtility.isAssignableFrom(homeRetType, bean.getRemoteInterface());
- boolean homeRetTypeIsLocal = ValidationRuleUtility.isAssignableFrom(homeRetType, bean.getLocalInterface());
- boolean beanRetTypeIsKey = ValidationRuleUtility.isAssignableFrom(beanRetType, ((Entity)bean).getPrimaryKey());
- if(!((homeRetTypeIsRemote || homeRetTypeIsLocal) && beanRetTypeIsKey)) {
- String retTypeName = null;
- if(beanRetTypeIsKey) {
- if((isRemote() & IEJBType.REMOTE) == IEJBType.REMOTE) {
- retTypeName = (bean.getRemoteInterface() == null) ? IEJBValidatorConstants.NULL_REMOTE : bean.getRemoteInterface().getJavaName();
- }
- else {
- retTypeName = (bean.getLocalInterface() == null) ? IEJBValidatorConstants.NULL_LOCAL : bean.getLocalInterface().getJavaName();
- }
- }
- else {
- retTypeName = (beanRetType == null) ? "?" : beanRetType.getJavaName(); //$NON-NLS-1$
- }
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2479, IEJBValidationContext.ERROR, bean, clazz, homeMethod, new String[] { retTypeName}, this);
- vc.addMessage(message);
- }
- }
- }
- }
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ABeanClassVRule.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ABeanClassVRule.java
deleted file mode 100644
index a86b79d0d..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ABeanClassVRule.java
+++ /dev/null
@@ -1,506 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.jem.java.Field;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaHelpers;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-
-/**
- * @version 1.0
- * @author
- */
-public abstract class ABeanClassVRule extends ATypeVRule implements IEJBType {
- protected final static long[] BASE_TYPES = new long[]{ITypeConstants.JAVA_LANG_OBJECT};
- protected final static int MESSAGE_REMOTE_EXCEPTION_SEVERITY = IEJBValidationContext.WARNING; // Deprecated use of RemoteException.
-
- public long[] getBaseTypes() {
- return BASE_TYPES;
- }
-
- public Object getTarget(Object parent, Object clazz) {
- if(parent == null) {
- return null;
- }
-
- return ((EnterpriseBean)parent).getEjbClass();
- }
-
- public long getDefaultMethodType() {
- return HELPER;
- }
-
- public void validate(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws ValidationCancelledException, InvalidInputException, ValidationException {
- if(!followAbstractRules(clazz)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2014, IEJBValidationContext.WARNING, bean, clazz, this);
- vc.addMessage(message);
- }
-
- if(!followPublicRules(clazz)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2022, IEJBValidationContext.WARNING, bean, clazz, this);
- vc.addMessage(message);
- }
-
- if(!followFinalRules(clazz)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2015, IEJBValidationContext.WARNING, bean, clazz, this);
- vc.addMessage(message);
- }
-
- validateAppendixB(vc, bean, clazz);
- }
-
- public final static List getRemoteHomeMethodsExtended(List[] methodsExtendedList) {
- return methodsExtendedList[0];
- }
-
- public final static List getLocalHomeMethodsExtended(List[] methodsExtendedList) {
- return methodsExtendedList[1];
- }
-
- public final static List getRemoteComponentMethodsExtended(List[] methodsExtendedList) {
- return methodsExtendedList[2];
- }
-
- public final static List getLocalComponentMethodsExtended(List[] methodsExtendedList) {
- return methodsExtendedList[3];
- }
-
- public final static List getBeanClassMethodsExtended(List[] methodsExtendedList) {
- return methodsExtendedList[4];
- }
-
- public final List[] getMethodsExtended(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) {
- // A bean class needs the following classes' extended methods:
- // 1. remote home
- // 2. local home
- // 3. remote component
- // 4. local component
- // 5. bean class (when searching for a matching ejbPostCreate method).
- // If a particular bean doesn't use a remote view or local view,
- // then the corresponding entry in the array will be null.
- List[] result = new List[5];
- JavaClass remoteHome = bean.getHomeInterface();
- if(remoteHome != null) {
- result[0] = remoteHome.getMethodsExtended();
- }
- else {
- result[0] = null;
- }
-
- JavaClass localHome = bean.getLocalHomeInterface();
- if(localHome != null) {
- result[1] = localHome.getMethodsExtended();
- }
- else {
- result[1] = null;
- }
-
- JavaClass remoteComponent = bean.getRemoteInterface();
- if(remoteComponent != null) {
- result[2] = remoteComponent.getMethodsExtended();
- }
- else {
- result[2] = null;
- }
-
- JavaClass localComponent = bean.getLocalInterface();
- if(localComponent != null) {
- result[3] = localComponent.getMethodsExtended();
- }
- else {
- result[3] = null;
- }
-
- JavaClass beanClass = bean.getEjbClass();
- if(beanClass != null) {
- result[4] = beanClass.getMethodsExtended();
- }
- else {
- result[4] = null;
- }
-
- return result;
- }
-
- public final List[] getFieldsExtended(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) {
- // Never check that a bean class' field is defined on another class
- // of the bean.
- return null;
- }
-
- protected abstract boolean shouldBeFinal(JavaClass clazz);
- protected abstract boolean shouldBePublic(JavaClass clazz);
- protected abstract boolean shouldBeAbstract(JavaClass clazz);
- protected abstract boolean shouldValidateTransientField();
- protected abstract JavaHelpers getEjbCreateReturnType(EnterpriseBean bean, Method method) throws InvalidInputException;
- protected abstract String getEjbCreateReturnTypeName(EnterpriseBean bean, Method method) throws InvalidInputException;
- public abstract String getMatchingHomeMethodName(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedList);
-
- public String getMatchingEjbHomeMethodName(IEJBValidationContext vc, Method method) {
- // Section number stating this name convention?
- String methodName = method.getName();
- // Strip the "ejbHome" off, strip off the next character, and replace that character with a lowercase version of that character
- StringBuffer buffer = new StringBuffer(Character.toLowerCase(methodName.charAt(0)));
- buffer.append(method.getName().substring(8));
- return buffer.toString();
- }
-
- public String getMatchingEjbCreateMethodName(IEJBValidationContext vc, Method method) {
- StringBuffer buffer = new StringBuffer(IMethodAndFieldConstants.PREFIX_C);
- // Strip the "ejbC" off of "create" and replace with "c"
- buffer.append(method.getName().substring(4));
- return buffer.toString();
- }
-
- public String getMatchingEjbPostCreateMethodName(IEJBValidationContext vc, Method method) {
- StringBuffer buffer = new StringBuffer(IMethodAndFieldConstants.PREFIX_C);
- // Strip the "ejbPostC" off of "create" and replace with "c"
- buffer.append(method.getName().substring(8));
- return buffer.toString();
- }
-
-
-
- public String getMatchingEjbFindMethodName(IEJBValidationContext vc, Method method) {
- StringBuffer buffer = new StringBuffer(IMethodAndFieldConstants.PREFIX_F);
- // Strip the "ejbF" off of "ejbFind" and replace with "f"
- buffer.append(method.getName().substring(4));
- return buffer.toString();
- }
-
- public String getMatchingBusinessMethodName(IEJBValidationContext vc, Method method) {
- return method.getName();
- }
-
- /*
- * The given method is not supposed to have a matching method.
- */
- public String getNoMatchingMethodName(IEJBValidationContext vc, Method method) {
- return null; // not supposed to have a matching method
- }
-
- public final boolean followFinalRules(JavaClass clazz) {
- if(shouldBeFinal(clazz)) {
- return clazz.isFinal();
- }
- return !clazz.isFinal();
- }
-
- public final boolean followPublicRules(JavaClass clazz) {
- if(shouldBePublic(clazz)) {
- return clazz.isPublic();
- }
- return !clazz.isPublic();
- }
-
- public final boolean followAbstractRules(JavaClass clazz) {
- if(shouldBeAbstract(clazz)) {
- return clazz.isAbstract();
- }
- return !clazz.isAbstract();
- }
-
-
- public void validateEjbCreateMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) throws ValidationCancelledException, InvalidInputException, ValidationException {
- if(!ValidationRuleUtility.isPublic(method)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2421, IEJBValidationContext.WARNING, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- if(method.isFinal()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2422, IEJBValidationContext.WARNING, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- if(method.isStatic()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2423, IEJBValidationContext.WARNING, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- JavaHelpers retType = getEjbCreateReturnType(bean, method);
- if((retType == null) || (!ValidationRuleUtility.isAssignableFrom(method.getReturnType(), retType))) {
- String retTypeName = (retType == null) ? getEjbCreateReturnTypeName(bean, method) : retType.getJavaName();
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2424, IEJBValidationContext.WARNING, bean, clazz, method, new String[]{retTypeName}, this);
- vc.addMessage(message);
- }
-
- validateRMI_IIOPTypeRules(vc, bean, clazz, method, methodsExtendedLists, true);
-
- if(validateEjbCreateMethodExceptions()) {
- if(!followRemoteExceptionRules(bean, method)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2503_ejbCreate, IEJBValidationContext.WARNING, bean, clazz, method, this);
- vc.addMessage(message);
- }
- }
- }
-
- public boolean validateEjbCreateMethodExceptions() {
- return true;
- }
-
- public void validateEjbPostCreateMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws ValidationCancelledException, InvalidInputException, ValidationException {
- if(!ValidationRuleUtility.isPublic(method)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2426, IEJBValidationContext.WARNING, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- if(method.isFinal()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2427, IEJBValidationContext.WARNING, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- if(method.isStatic()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2428, IEJBValidationContext.WARNING, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- if(!method.isVoid()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2505_ejbPostCreate, IEJBValidationContext.WARNING, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- if(!followRemoteExceptionRules(bean, method)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2503_ejbPostCreate, IEJBValidationContext.WARNING, bean, clazz, method, this);
- vc.addMessage(message);
- }
- }
-
- public final void validateEjbHomeMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) throws ValidationCancelledException, InvalidInputException, ValidationException {
- if(!ValidationRuleUtility.isPublic(method)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2431, IEJBValidationContext.WARNING, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- if(method.isStatic()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2439, IEJBValidationContext.WARNING, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- validateRMI_IIOPTypeRules(vc, bean, clazz, method, methodsExtendedLists, true);
-
- if(!followRemoteExceptionRules(bean, method)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2503_ejbHome, IEJBValidationContext.WARNING, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- // "ejbHome" is 7 characters
- // method will follow the convention, "ejbHome" + Char.toUpper(0) + substring(1), so reverse that convention here
- StringBuffer buffer = new StringBuffer();
- buffer.append(Character.toLowerCase(method.getName().charAt(7))); // put the character back into lower-case
- buffer.append(method.getName().substring(8)); // substring starts at the character following "ejbHome" and the first character -- substring is 0 indexed
- String methodToMatchName = buffer.toString();
-
- Method matchingRemoteHomeMethod = ValidationRuleUtility.getMethod(method, methodToMatchName, getRemoteHomeMethodsExtended(methodsExtendedLists));
- if(matchingRemoteHomeMethod != null) {
- return;
- }
-
- Method matchingLocalHomeMethod = ValidationRuleUtility.getMethod(method, methodToMatchName, getLocalHomeMethodsExtended(methodsExtendedLists));
- if(matchingLocalHomeMethod != null) {
- return;
- }
-
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2430, IEJBValidationContext.INFO, bean, clazz, method, new String[]{methodToMatchName}, this);
- vc.addMessage(message);
- }
-
- public final void validateBusinessMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) throws ValidationCancelledException, InvalidInputException, ValidationException {
- // IWAD4048 = Business methods must not start with "ejb". Read section 7.10.4 of the EJB 2.0 specification.
- // IWAD4201 = This method name must not start with "ejb". Read section 10.6.8 of the EJB 2.0 specification.
- // IWAD4317 = The method name must not start with "ejb". Read section 12.2.7 of the EJB 2.0 specification.
- if(method.getName().startsWith(IMethodAndFieldConstants.PREFIX_EJB)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2411, IEJBValidationContext.WARNING, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- // IWAD4049 = This method must be public. Read section 7.10.4 of the EJB 2.0 specification.
- // IWAD4202 = This method must be public. Read section 10.6.8 of the EJB 2.0 specification.
- // IWAD4318 = The method must be public. Read section 12.2.7 of the EJB 2.0 specification.
- if(!ValidationRuleUtility.isPublic(method)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2441, IEJBValidationContext.WARNING, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- // IWAD4050 = This method must not be final. Read section 7.10.4 of the EJB 2.0 specification.
- // IWAD4203 = This method must not be final. Read section 10.6.8 of the EJB 2.0 specification.
- // IWAD4319 = The method must not be final. Read section 12.2.7 of the EJB 2.0 specification.
- if(method.isFinal()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2442, IEJBValidationContext.WARNING, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- // IWAD4051 = This method must not be static. Read section 7.10.4 of the EJB 2.0 specification.
- // IWAD4204 = This method must not be static. Read section 10.6.8 of the EJB 2.0 specification.
- // IWAD4320 = The method must not be static. Read section 12.2.7 of the EJB 2.0 specification.
- if(method.isStatic()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2443, IEJBValidationContext.WARNING, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- // IWAD4052 = {0} must be a legal RMI-IIOP type. Read section 7.10.4 of the EJB 2.0 specification.
- // IWAD4205 = {0} must be a legal RMI-IIOP type. Read section 10.6.8 of the EJB 2.0 specification.
- // IWAD4321 = {0} must be a legal type for RMI-IIOP. Read section 12.2.7 of the EJB 2.0 specification.
- validateRMI_IIOPTypeRules(vc, bean, clazz, method, methodsExtendedLists, true);
-
- // IWAD4053 = This method cannot throw java.rmi.RemoteException. Read section 7.10.4, 18.3.8, 18.6 of the EJB 2.0 specification.
- // IWAD4206 = This method must not throw java.rmi.RemoteException. Read section 10.6.8, 18.3.8, 18.6 of the EJB 2.0 specification.
- // IWAD4322 = This method must not throw java.rmi.RemoteException. Read section 12.2.7, 18.3.8, 18.6 of the EJB 2.0 specification.
- if(!followRemoteExceptionRules(bean, method)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2503_bus, getMessageRemoteExceptionSeverity(), bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- validateMatchingComponentMethod(vc, bean, clazz, method, methodsExtendedLists);
- }
-
- public void validateEjbRemoveMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws ValidationCancelledException, InvalidInputException, ValidationException {
- // IWAD4402 = This method must be public. Read section 15.7.5 of the EJB 2.0 specification.
- if(!ValidationRuleUtility.isPublic(method)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2492, IEJBValidationContext.WARNING, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- // IWAD4403 = This method must not be final. Read section 15.7.5 of the EJB 2.0 specification.
- if(method.isFinal()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2493, IEJBValidationContext.WARNING, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- // IWAD4404 = This method must not be static. Read section 15.7.5 of the EJB 2.0 specification.
- if(method.isStatic()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2494, IEJBValidationContext.WARNING, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- // IWAD4405 = This method must return void. Read section 15.7.5 of the EJB 2.0 specification.
- if(!method.isVoid()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2505_ejbRemove, IEJBValidationContext.WARNING, bean, clazz, method, this);
- vc.addMessage(message);
- }
- }
-
- /*
- * @see IClassVRule#validate(IEJBValidationContext, JavaClass, Field)
- */
- public void validate(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Field field, List[] fieldExtendedLists) throws ValidationCancelledException, InvalidInputException, ValidationException {
- // IWAD4024 = A transient field should not be the {0} type. Read section 7.4.1 of the EJB 2.0 specification.
- // IWAD4025 = Transient fields are discouraged. Read section 7.4.1 of the EJB 2.0 specification.
- // IWAD4115 = {0} must not be defined in this class. Read section 10.3.1 of the EJB 2.0 specification.
- // IWAD4259 = <cmp-field> field must be the {0} type. Read section 11.2.1 of the EJB 2.0 specification.
- // IWAD4260 = <cmr-field> field must be the {0} type. Read section 11.2.1 of the EJB 2.0 specification.
- if(shouldValidateTransientField()) {
- validateTransientField(vc, bean, clazz, field);
- }
- }
-
- public void validateTransientField(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Field field) throws ValidationCancelledException, InvalidInputException, ValidationException {
- // By default do nothing
- }
-
- public long getFieldType(EnterpriseBean bean, JavaClass clazz, Field field) {
- if(field == null) {
- return EXCLUDED_FIELD;
- }
- else if(field.getName().equals(IMethodAndFieldConstants.FIELDNAME_SERIALVERSIONUID)) {
- return SERIALVERSIONUID;
- }
- else {
- return OTHER_FIELD;
- }
- }
-
- public void validateMatchingMethodExceptions(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method, JavaClass matchingClazz, Method matchingMethod) {
- // Every exception thrown on the bean class' method must be thrown on the component/home method
- /* Don't check for this here - let the home & component do it.
- Set exceptions = ValidationRuleUtility.getNotSubsetExceptions(bean, method, matchingMethod);
- Iterator eiterator = exceptions.iterator();
- while(eiterator.hasNext()) {
- }
- */
-
- // Every exception thrown by the component/home method should be thrown or there may be compile errors
- Set exceptions = ValidationRuleUtility.getNotSubsetSubtypeExceptions(bean, matchingMethod, method);
- Iterator eiterator = exceptions.iterator();
- while(eiterator.hasNext()) {
- JavaClass exception = (JavaClass)eiterator.next();
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2456, IEJBValidationContext.WARNING, bean, clazz, method, new String[]{exception.getJavaName(), matchingClazz.getJavaName()}, this);
- vc.addMessage(message);
- }
- }
-
- public final void validateMatchingHomeMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) {
- Method remoteMethod = ValidationRuleUtility.getMethod(method, getMatchingHomeMethodName(vc, bean, clazz, method, methodsExtendedLists), getRemoteHomeMethodsExtended(methodsExtendedLists));
- if(remoteMethod != null) {
- validateMatchingMethodExceptions(vc, bean, clazz, method, bean.getHomeInterface(), remoteMethod);
- }
-
- Method localMethod = ValidationRuleUtility.getMethod(method, getMatchingHomeMethodName(vc, bean, clazz, method, methodsExtendedLists), getLocalHomeMethodsExtended(methodsExtendedLists));
- if(localMethod != null) {
- validateMatchingMethodExceptions(vc, bean, clazz, method, bean.getLocalHomeInterface(), localMethod);
- }
- }
-
- public final void validateMatchingComponentMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) {
- Method remoteMethod = ValidationRuleUtility.getMethod(method, method.getName(), getRemoteComponentMethodsExtended(methodsExtendedLists));
- if(remoteMethod != null) {
- validateMatchingMethodExceptions(vc, bean, clazz, method, bean.getRemoteInterface(), remoteMethod);
- }
-
- Method localMethod = ValidationRuleUtility.getMethod(method, method.getName(), getLocalComponentMethodsExtended(methodsExtendedLists));
- if(localMethod != null) {
- validateMatchingMethodExceptions(vc, bean, clazz, method, bean.getLocalInterface(), localMethod);
- }
- }
-
- protected void validateAppendixB(IEJBValidationContext vc, EnterpriseBean bean, JavaClass thisEjbObject) {
- // The Java inheritance structure must match the EJB inheritance structure.
- // e.g. if EJB B is a child of EJB A, then class B must be a child of class A.
- // B could be a grandchild (or great-grandchild or ...) of A.
- if(bean == null) {
- return;
- }
- EnterpriseBean supertype = getSuperType(bean);
- JavaClass parentEjbObject = null;
- if (supertype != null) {
- parentEjbObject = supertype.getEjbClass();
-
- // EJBObject a Xchild of parent EJBObject (X = child, grandchild, great-grandchild, etc.)
- try {
- ValidationRuleUtility.isValidType(thisEjbObject);
- ValidationRuleUtility.isValidType(parentEjbObject);
- if (!ValidationRuleUtility.isAssignableFrom(thisEjbObject, parentEjbObject)) {
- String[] msgParm = new String[] { thisEjbObject.getQualifiedName(), parentEjbObject.getQualifiedName()};
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2103, IEJBValidationContext.ERROR, bean, thisEjbObject, msgParm, this);
- vc.addMessage(message);
- }
- }
- catch (InvalidInputException e) {
- String[] msgParm = { e.getJavaClass().getQualifiedName(), bean.getName()};
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2849, IEJBValidationContext.WARNING, bean, msgParm, this);
- vc.addMessage(message);
- }
- }
- }
-
- public final boolean followRemoteExceptionRules(EnterpriseBean bean, Method method) throws InvalidInputException, ValidationCancelledException {
- // must not throw RemoteException
- return ValidationRuleUtility.doesNotThrowRemoteException(bean, method);
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ACMPHomeVRule.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ACMPHomeVRule.java
deleted file mode 100644
index 04053bd8c..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ACMPHomeVRule.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-import java.util.List;
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaHelpers;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jst.j2ee.ejb.ContainerManagedEntity;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-
-/**
- */
-public abstract class ACMPHomeVRule extends AEntityHomeVRule {
-
- public final void validateFindMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedList) throws ValidationCancelledException, InvalidInputException, ValidationException {
- super.validateFindMethod(vc, bean, clazz, method);
-
- // Check that this method is associated with a query element in ejb-jar.xml
- // findByPrimaryKey does not need a query element (10.5.6)
- long methodType = MethodUtility.getUtility().getMethodTypeId(bean, clazz, method, methodsExtendedList, this);
- if((methodType & IMethodAndFieldConstants.FINDBYPRIMARYKEY) == IMethodAndFieldConstants.FINDBYPRIMARYKEY) {
- return;
- }
-
- ContainerManagedEntity cmp = (ContainerManagedEntity)bean;
- if(!ValidationRuleUtility.isAssociatedWithQuery(cmp, method)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2495, IEJBValidationContext.INFO, bean, clazz, method, this);
- vc.addMessage(message);
- }
- }
-
- public boolean findMatchingMethod(long methodType) {
- if((methodType & FIND) == IMethodAndFieldConstants.FIND) {
- return false;
- }
- return super.findMatchingMethod(methodType);
- }
-
-
- /**
- * @see org.eclipse.wst.validation.internal.provisional.core.core.ejb.ejb20.rules.impl.AHomeVRule#returnsComponentInterfaceOrCollection(IEJBValidationContext, EnterpriseBean, JavaClass, Method)
- */
- protected boolean returnsComponentInterfaceOrCollection(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws ValidationCancelledException, InvalidInputException {
- if(returnsComponentInterface(vc, bean, clazz, method)) {
- return true;
- }
-
- JavaHelpers returnParm = method.getReturnType();
- JavaHelpers javaUtilCollection = ValidationRuleUtility.getType(ITypeConstants.CLASSNAME_JAVA_UTIL_COLLECTION, bean);
- if(ValidationRuleUtility.isAssignableFrom(returnParm, javaUtilCollection)) {
- return true;
- }
-
- return false;
- }
-
- public final void validateMatchingReturnTypeMatches(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method homeMethod, Method beanMethod, List[] methodsExtendedList) {
- long methodType = MethodUtility.getUtility().getMethodTypeId(bean, clazz, homeMethod, methodsExtendedList, this);
- if((methodType & FIND) != FIND) {
- super.validateMatchingReturnTypeMatches(vc, bean, clazz, homeMethod, beanMethod, methodsExtendedList);
- }
- // do not validate the return type of find methods because there should not be an implementation on the bean class
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AComponentVRule.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AComponentVRule.java
deleted file mode 100644
index 870ed42c6..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AComponentVRule.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaHelpers;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-
-/**
- * @version 1.0
- * @author
- */
-public abstract class AComponentVRule extends AInterfaceTypeVRule {
- public Object getTarget(Object parent, Object clazz) {
- if(parent == null) {
- return null;
- }
-
- if((isRemote() & REMOTE) == REMOTE) {
- return ((EnterpriseBean)parent).getRemoteInterface();
- }
- return ((EnterpriseBean)parent).getLocalInterface();
- }
-
- public long getDefaultMethodType() {
- return BUSINESS;
- }
-
- public long[] getBaseTypes() {
- return getSupertypes();
- }
-
- public void validate(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws ValidationCancelledException, InvalidInputException, ValidationException {
- if(!followRMI_IIOPInheritanceRules(bean, clazz)) {
- // IWAD4057 = {0} must follow RMI-IIOP rules for remote interfaces. Read section 7.10.5 of the EJB 2.0 specification.
- // IWAD4210 = {0} must follow RMI-IIOP rules for remote interfaces. Read section 10.6.9 of the EJB 2.0 specification.
- // IWAD4326 = {0} must follow RMI-IIOP rules for remote interfaces. Read section 12.2.8 of the EJB 2.0 specification.
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2468, IEJBValidationContext.INFO, bean, clazz, this);
- vc.addMessage(message);
- }
-
- validateAppendixB(vc, bean, clazz);
- }
-
- public void validate(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) throws ValidationCancelledException, InvalidInputException, ValidationException {
- super.validate(vc, bean, clazz, method, methodsExtendedLists); // check application exceptions
-
- if(isEJBInterfaceMethod(bean, method)) {
- // IWAD4021 = {0} is provided by the container. Read section 6.5 of the EJB 2.0 specification.
- // IWAD4110 = {0} is provided by the container. Read section 9.9 of the EJB 2.0 specification.
- // IWAD4112 = {0} is provided by the container. Read section 9.10 of the EJB 2.0 specification.
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2469, IEJBValidationContext.INFO, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- Method match = ValidationRuleUtility.getMethod(method, method.getName(), getBeanClassMethodsExtended(methodsExtendedLists));
- if(match == null) {
- // IWAD4058 = {0} must exist on {1}. Read section 7.10.5 of the EJB 2.0 specificiation.
- // IWAD4070 = {0} must exist on {1}. Read section 7.10.7 of the EJB 2.0 specification.
- // IWAD4327 = {0} must exist on {1}. Read section 12.2.8 of the EJB 2.0 specification.
- // IWAD4354 = {0} must exist on {1}. Read section 12.2.10 of the EJB 2.0 specification.
- // IWAD4211 = {0} must exist on {1}. Read section 10.6.9 of the EJB 2.0 specification.
- // IWAD4227 = {0} must exist on {1}. Read section 10.6.11 of the EJB 2.0 specification.
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2023, IEJBValidationContext.WARNING, bean, clazz, method, new String[]{method.getMethodElementSignature(), bean.getEjbClass().getJavaName()}, this);
- vc.addMessage(message);
- }
- else {
- if(!ValidationRuleUtility.isAssignableFrom(method.getReturnType(), match.getReturnType())) {
- // IWAD4212 = This method must return the same type as {0}. Read section 10.6.9 of the EJB 2.0 specification.
- // IWAD4228 = This method must return the same type as {0}. Read section 10.6.11 of the EJB 2.0 specification.
- // IWAD4328 = This method must return the same type as {0} on {1}. Read section 12.2.8 of the EJB 2.0 specification.
- // IWAD4355 = This method must return {0}. Read section 12.2.10 of the EJB 2.0 specification.
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2470, IEJBValidationContext.ERROR, bean, clazz, method, new String[]{match.getReturnType().getJavaName()}, this);
- vc.addMessage(message);
- }
-
- Set exceptions = ValidationRuleUtility.getNotSubsetExceptions(bean, match, method);
- Iterator eiterator = exceptions.iterator();
- while(eiterator.hasNext()) {
- JavaClass exception = (JavaClass)eiterator.next();
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2471, IEJBValidationContext.WARNING, bean, clazz, method, new String[]{exception.getJavaName(), match.getMethodElementSignature()}, this);
- vc.addMessage(message);
- }
- }
-
- if(!followRemoteExceptionRules(bean, method)) {
- // IWAD4056 = This method must throw java.rmi.RemoteException. Read section 7.10.5 of the EJB 2.0 specification.
- // IWAD4069 = This method must not throw java.rmi.RemoteException. Read section 7.10.7, 18.3.8, 18.6 of the EJB 2.0 specification.
- // IWAD4325 = This method must throw java.rmi.RemoteException. Read section 12.2.8 of the EJB 2.0 specification.
- // IWAD4353 = This method must not throw java.rmi.RemoteException. Read section 12.2.10, 18.3.8, 18.6 of the EJB 2.0 specification.
- // IWAD4209 = This method must throw java.rmi.RemoteException. Read section 10.6.9 of the EJB 2.0 specification.
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2503_bus, getMessageRemoteExceptionSeverity(), bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- // IWAD4055 = {0} must be a legal type for RMI-IIOP. Read section 7.10.5 of the EJB 2.0 specification.
- // IWAD4208 = {0} must be a legal type for RMI-IIOP. Read section 10.6.9 of the EJB 2.0 specification.
- // IWAD4324 = {0} must be a legal type for RMI-IIOP. Read section 12.2.8 of the EJB 2.0 specification.
- validateRMI_IIOPTypeRules(vc, bean, clazz, method, methodsExtendedLists, true);
-
- JavaHelpers oe = getOverExposedLocalType(bean, clazz, method);
- if(oe != null) {
- // IWAD4059 = This method must not expose the {0} type. Read section 7.10.5 of the EJB 2.0 specification.
- // IWAD4107 = This method must not expose the {0} type. Read section 9.7.2 of the EJB 2.0 specification.
- // IWAD4330 = This method must not expose the {0} type. Read section 12.2.8 of the EJB 2.0 specification.
- // IWAD4128 = This method must not expose the {0} type. Read section 10.3.1, 10.3.10.1 of the EJB 2.0 specification.
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2472, IEJBValidationContext.INFO, bean, clazz, method, new String[]{oe.getQualifiedName()}, this);
- vc.addMessage(message);
- }
- }
-
- protected void validateAppendixB(IEJBValidationContext vc, EnterpriseBean bean, JavaClass thisComponent) {
- // The Java inheritance structure must match the EJB inheritance structure.
- // e.g. if EJB B is a child of EJB A, then class B must be a child of class A.
- // B could be a grandchild (or great-grandchild or ...) of A.
- if(bean == null) {
- return;
- }
- EnterpriseBean supertype = getSuperType(bean);
- JavaClass parentComponent = null;
- if (supertype != null) {
- parentComponent = getComponentInterface(supertype);
-
- if(parentComponent == null) {
- // child uses either local, or remote, but not both interfaces
- return;
- }
-
- // Component a Xchild of parent Component
- try {
- ValidationRuleUtility.isValidType(thisComponent);
- ValidationRuleUtility.isValidType(parentComponent);
- if (!ValidationRuleUtility.isAssignableFrom(thisComponent, parentComponent)) {
- String[] msgParm = new String[] { thisComponent.getQualifiedName(), parentComponent.getQualifiedName()};
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2105, IEJBValidationContext.ERROR, bean, thisComponent, msgParm, this);
- vc.addMessage(message);
- }
- }
- catch (InvalidInputException e) {
- String[] msgParm = { e.getJavaClass().getQualifiedName(), bean.getName()};
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2849, IEJBValidationContext.WARNING, bean, msgParm, this);
- vc.addMessage(message);
- }
- }
-
-// validateAppendixB(vc, supertype, parentComponent);
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AEntityBeanClassVRule.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AEntityBeanClassVRule.java
deleted file mode 100644
index 4948507ac..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AEntityBeanClassVRule.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import java.text.MessageFormat;
-import java.util.List;
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-
-/**
- */
-public abstract class AEntityBeanClassVRule extends ABeanClassVRule {
- private static final String missingMethodTemplate = "{0}({1})"; //$NON-NLS-1$
-
- public void validateEjbCreateMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedList) throws ValidationCancelledException, ValidationCancelledException, InvalidInputException, ValidationException {
- super.validateEjbCreateMethod(vc, bean, clazz, method, methodsExtendedList);
-
- validateMatchingEjbPostCreateMethod(vc, bean, clazz, method, methodsExtendedList);
- }
-
- public final void validateMatchingEjbPostCreateMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) throws ValidationCancelledException, InvalidInputException, ValidationException {
- String matchingMethodName = IMethodAndFieldConstants.METHODNAME_EJBPOSTCREATE + method.getName().substring(9); // "ejbCreate" is 9 characters long, so strip off characters 0..8 inclusive
- Method ejbPostCreateMethod = ValidationRuleUtility.getMethod(method, matchingMethodName, getBeanClassMethodsExtended(methodsExtendedLists));
- if(ejbPostCreateMethod == null) {
- String missingMethod = MessageFormat.format(missingMethodTemplate, new String[]{matchingMethodName, ValidationRuleUtility.getParmsAsString(method)});
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2050_ejbPostCreate, IEJBValidationContext.ERROR, bean, clazz, method, new String[]{missingMethod}, this);
- vc.addMessage(message);
- }
- }
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AEntityHomeVRule.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AEntityHomeVRule.java
deleted file mode 100644
index b742fc311..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AEntityHomeVRule.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaParameter;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.jst.j2ee.ejb.Entity;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-
-
-public abstract class AEntityHomeVRule extends AHomeVRule {
- /**
- * If the type of the method isn't listed in the KNOWN_METHODS, what type of method is it
- * considered to be?
- */
- public long getDefaultMethodType() {
- return HOME;
- }
-
- public final void validateFindByPrimaryKeyMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws ValidationCancelledException, ValidationException {
- JavaClass key = ((Entity)bean).getPrimaryKey();
- JavaParameter[] parms = method.listParametersWithoutReturn();
- if((parms.length != 1) || (!ValidationRuleUtility.isAssignableFrom(key, parms[0].getJavaType()))) {
- String keyName = (key == null) ? IEJBValidatorConstants.NULL_PRIMARY_KEY : key.getJavaName();
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2475, IEJBValidationContext.WARNING, bean, clazz, method, new String[]{keyName}, this);
- vc.addMessage(message);
- }
- }
-
- public void validateFindMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws ValidationCancelledException, InvalidInputException, ValidationException {
- if(!ValidationRuleUtility.followsFinderExceptionRules(bean, method)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2477, IEJBValidationContext.INFO, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- if(!ValidationRuleUtility.followsObjectNotFoundExceptionRules(bean, method)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2478, IEJBValidationContext.INFO, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- if(method.getName().equals(IMethodAndFieldConstants.METHODNAME_FINDBYPRIMARYKEY)) {
- validateFindByPrimaryKeyMethod(vc, bean, clazz, method);
- if(!returnsComponentInterface(vc, bean, clazz, method)) {
- JavaClass componentInterface = getComponentInterface(bean);
- String className = null;
- if(componentInterface != null) {
- className = componentInterface.getJavaName();
- }
- else {
- if((isRemote() & IEJBType.REMOTE) == IEJBType.REMOTE) {
- className = IEJBValidatorConstants.NULL_REMOTE;
- }
- else {
- className = IEJBValidatorConstants.NULL_LOCAL;
- }
- }
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2479, IEJBValidationContext.ERROR, bean, clazz, method, new String[]{className}, this);
- vc.addMessage(message);
- }
- }
- else {
- if(!returnsComponentInterfaceOrCollection(vc, bean, clazz, method)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2403, IEJBValidationContext.WARNING, bean, clazz, method, new String[]{getComponentInterface(bean).getName()}, this);
- vc.addMessage(message);
- }
- }
- }
-
- public void validateHomeMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws ValidationCancelledException, ValidationException {
- // IWAD4350 = The return type must match the return type of {0}. Read section 12.2.9 of the EJB 2.0 specification.
- // The above check is done in the "validate(vc, bean, clazz, method) method.
- if(method.getName().startsWith(IMethodAndFieldConstants.METHODNAME_CREATE)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2462, IEJBValidationContext.INFO, bean, clazz, method, this);
- vc.addMessage(message);
- }
- else if(method.getName().startsWith(IMethodAndFieldConstants.PREFIX_FIND)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2463, IEJBValidationContext.INFO, bean, clazz, method, this);
- vc.addMessage(message);
- }
- else if(method.getName().startsWith(IMethodAndFieldConstants.METHODNAME_REMOVE)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2464, IEJBValidationContext.INFO, bean, clazz, method, this);
- vc.addMessage(message);
- }
- }
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AHomeVRule.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AHomeVRule.java
deleted file mode 100644
index fdcab9111..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AHomeVRule.java
+++ /dev/null
@@ -1,284 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-import java.util.logging.Level;
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaHelpers;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jem.util.logger.LogEntry;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-/**
- * @version 1.0
- * @author
- */
-public abstract class AHomeVRule extends AInterfaceTypeVRule {
- public Object getTarget(Object parent, Object clazz) {
- if(parent == null) {
- return null;
- }
-
- if((isRemote() & REMOTE) == REMOTE) {
- return ((EnterpriseBean)parent).getHomeInterface();
- }
- return ((EnterpriseBean)parent).getLocalHomeInterface();
- }
-
- public void validateFindMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws ValidationCancelledException, InvalidInputException, ValidationException {
- // By default, do nothing.
- // Let the entity rules override this method, and the session don't do anything
- // because validateMethodMustNotExist does what the sessions need.
- }
-
- public boolean followsCreateExceptionRules(EnterpriseBean bean, Method method) throws InvalidInputException, ValidationCancelledException {
- return ValidationRuleUtility.throwsCreateException(bean, method);
- }
-
- public void validate(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws ValidationCancelledException, InvalidInputException, ValidationException {
- if(!ValidationRuleUtility.isLegalRMI_IIOPInheritance(clazz)) {
- // IWAD4334 = {0} must follow RMI-IIOP rules for remote interfaces. Read section 12.2.9 of the EJB 2.0 specification.
- // IWAD4217 = {0} must follow RMI-IIOP rules for remote interfaces. Read section 10.6.10 of the EJB 2.0 specification.
- // IWAD4062 = {0} must follow RMI-IIOP rules for remote interfaces. Read section 7.10.6 of the EJB 2.0 specification.
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2461, IEJBValidationContext.INFO, bean, clazz, this);
- vc.addMessage(message);
- }
-
- validateAppendixB(vc, bean, clazz);
- }
-
- public final void validate(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) throws ValidationCancelledException, InvalidInputException, ValidationException {
- super.validate(vc, bean, clazz, method, methodsExtendedLists); // check application exceptions
-
- long methodType = MethodUtility.getUtility().getMethodTypeId(bean, clazz, method, methodsExtendedLists, this);
- String nameOfMethodToFind = method.getName();
- boolean validateReturnTypeMatches = false;
- if((methodType & CREATE) == CREATE) {
- validateCreateMethod(vc, bean, clazz, method);
-
- StringBuffer buffer = new StringBuffer(IMethodAndFieldConstants.PREFIX_EJBC);
- // Strip the "c" off of "create" and replace with "ejbC"
- buffer.append(method.getName().substring(1));
- nameOfMethodToFind = buffer.toString();
- }
- else if((methodType & FIND) == FIND) {
- validateFindMethod(vc, bean, clazz, method);
- StringBuffer buffer = new StringBuffer(IMethodAndFieldConstants.PREFIX_EJBF);
- // Strip the "f" off of "find" and replace with "ejbF"
- buffer.append(method.getName().substring(1));
- nameOfMethodToFind = buffer.toString();
-
- validateReturnTypeMatches = true;
- }
- else if((methodType & HOME) == HOME) {
- // remove is a special method. See 9.5.3 for an example
-
- validateHomeMethod(vc, bean, clazz, method);
-
- // Section number stating this name convention?
- String methodName = method.getName();
- StringBuffer buffer = new StringBuffer(IMethodAndFieldConstants.PREFIX_EJBHOME);
- buffer.append(Character.toUpperCase(methodName.charAt(0)));
- buffer.append(method.getName().substring(1));
- nameOfMethodToFind = buffer.toString();
-
- validateReturnTypeMatches = true;
- }
- else {
- // Method shouldn't be here. ATypeVRule will catch.
- return;
- }
-
- if(!followRemoteExceptionRules(bean, method)) {
- IMethodType mType = MethodUtility.getUtility().getMethodType(bean, clazz, method, methodsExtendedLists, this);
- if(mType == null) {
- // should never happen...
- Logger logger = vc.getMsgLogger();
- if(logger != null && logger.isLoggingLevel(Level.FINEST)) {
- LogEntry entry = vc.getLogEntry();
- entry.setSourceID("AHomeVRule - validate method which must not exist"); //$NON-NLS-1$
- entry.setText("Method type is null: " + clazz.getQualifiedName() + "::" + method.getName() ); //$NON-NLS-1$ //$NON-NLS-2$
- logger.write(Level.FINEST, entry);
- }
- }
- else {
- IMessage message = MessageUtility.getUtility().getMessage(vc, mType.getMessageId_messageRemoteException(), getMessageRemoteExceptionSeverity(), bean, clazz, method, this);
- vc.addMessage(message);
- }
- }
-
- validateRMI_IIOPTypeRules(vc, bean, clazz, method, methodsExtendedLists, ((methodType & FIND) != FIND)); // do not check that the return type of a find method is serializable. If it's Collection or Set it won't be serializable, and if it doesn't return Collection, Set, or the component interface then the return type will be flagged.
-
- JavaHelpers local = getOverExposedLocalType(bean, clazz, method);
- if(local != null) {
- // IWAD4023 = {0} cannot be an argument or result type. Read section 6.7.2 of the EJB 2.0 specification.
- // IWAD4225 = This method must not expose the {0} type. Read section 10.6.10 of the EJB 2.0 specification.
- // IWAD4351 = This method must not expose the {0} type. Read section 12.2.9 of the EJB 2.0 specification.
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2466, IEJBValidationContext.INFO, bean, clazz, method, new String[]{local.getQualifiedName()}, this);
- vc.addMessage(message);
- }
-
- if(findMatchingMethod(methodType)) {
- validateMatchingBeanMethod(vc, bean, clazz, method, nameOfMethodToFind, validateReturnTypeMatches, methodsExtendedLists);
- }
- }
-
- public boolean findMatchingMethod(long methodType) {
- return true;
- }
-
- public final void validateMatchingBeanMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method, String nameOfMethodToFind, boolean validateReturnTypeMatches, List[] methodsExtendedLists) throws ValidationCancelledException, InvalidInputException, ValidationException {
- Method match = ValidationRuleUtility.getMethod(method, nameOfMethodToFind, getBeanClassMethodsExtended(methodsExtendedLists));
- if(match == null) {
- IMethodType mType = MethodUtility.getUtility().getMethodType(bean, clazz, method, methodsExtendedLists, this);
- if(mType == null) {
- // oops
- Logger logger = vc.getMsgLogger();
- if(logger != null && logger.isLoggingLevel(Level.FINEST)) {
- LogEntry entry = vc.getLogEntry();
- entry.setSourceID("AHomeVRule - validate method"); //$NON-NLS-1$
- entry.setText("Method type is null: " + bean.getName() + "::" + clazz.getJavaName() + "::" + method.getMethodElementSignature()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- logger.write(Level.FINEST, entry);
- }
- }
- else {
- JavaClass beanClass = bean.getEjbClass();
- String beanClassName = (beanClass == null) ? IEJBValidatorConstants.NULL_BEAN_CLASS : beanClass.getJavaName();
- IMessage message = MessageUtility.getUtility().getMessage(vc, mType.getMessageId_messageMissingMatching(), IEJBValidationContext.WARNING, bean, clazz, method, new String[]{nameOfMethodToFind, beanClassName}, this);
- vc.addMessage(message);
- }
- }
- else {
- if(validateReturnTypeMatches) {
- validateMatchingReturnTypeMatches(vc, bean, clazz, method, match, methodsExtendedLists);
- }
-
- Set exceptions = ValidationRuleUtility.getNotSubsetExceptions(bean, match, method);
- Iterator eiterator = exceptions.iterator();
- while(eiterator.hasNext()) {
- JavaClass exception = (JavaClass)eiterator.next();
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2465, IEJBValidationContext.WARNING, bean, clazz, method, new String[]{exception.getJavaName(), match.getMethodElementSignature()}, this);
- vc.addMessage(message);
- }
- }
- }
-
- public void validateMatchingReturnTypeMatches(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method homeMethod, Method beanMethod, List[] methodsExtendedMethod) {
- if(!ValidationRuleUtility.isAssignableFrom(homeMethod.getReturnType(), beanMethod.getReturnType())) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2402, IEJBValidationContext.ERROR, bean, clazz, homeMethod, new String[]{beanMethod.getReturnType().getJavaName()}, this);
- vc.addMessage(message);
- }
- }
-
- public void validateCreateMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws ValidationCancelledException, InvalidInputException, ValidationException {
- if(!followsCreateExceptionRules(bean, method)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2467, IEJBValidationContext.INFO, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- if(!returnsComponentInterface(vc, bean, clazz, method)) {
- JavaClass componentInterface = getComponentInterface(bean);
- String className = null;
- if(componentInterface != null) {
- className = componentInterface.getJavaName();
- }
- else {
- if((isRemote() & IEJBType.REMOTE) == IEJBType.REMOTE) {
- className = IEJBValidatorConstants.NULL_REMOTE;
- }
- else {
- className = IEJBValidatorConstants.NULL_LOCAL;
- }
- }
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2402, IEJBValidationContext.ERROR, bean, clazz, method, new String[]{className}, this);
- vc.addMessage(message);
- }
- }
-
- public void validateHomeMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws ValidationCancelledException, ValidationException {
- // IWAD4350 = The return type must match the return type of {0}. Read section 12.2.9 of the EJB 2.0 specification.
- // The above check is done in the "validate(vc, bean, clazz, method) method.
- }
-
- protected boolean returnsComponentInterface(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws ValidationCancelledException {
- JavaClass componentInterface = getComponentInterface(bean);
- return ValidationRuleUtility.isAssignableFrom(method.getReturnType(), componentInterface);
- }
-
- protected boolean returnsComponentInterfaceOrCollection(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws ValidationCancelledException, InvalidInputException {
- if(returnsComponentInterface(vc, bean, clazz, method)) {
- return true;
- }
-
- JavaHelpers returnParm = method.getReturnType();
- JavaHelpers javaUtilEnumeration = ValidationRuleUtility.getType(ITypeConstants.CLASSNAME_JAVA_UTIL_ENUMERATION, bean);
- if(ValidationRuleUtility.isAssignableFrom(returnParm, javaUtilEnumeration)) {
- return true;
- }
-
- JavaHelpers javaUtilCollection = ValidationRuleUtility.getType(ITypeConstants.CLASSNAME_JAVA_UTIL_COLLECTION, bean);
- if(ValidationRuleUtility.isAssignableFrom(returnParm, javaUtilCollection)) {
- return true;
- }
-
- return false;
- }
-
- protected void validateAppendixB(IEJBValidationContext vc, EnterpriseBean bean, JavaClass thisHome) {
- // The Java inheritance structure must match the EJB inheritance structure.
- // e.g. if EJB B is a child of EJB A, then class B must be a child of class A.
- // B could be a grandchild (or great-grandchild or ...) of A.
-
- if(bean == null) {
- // bean has no supertype
- return;
- }
- EnterpriseBean supertype = getSuperType(bean);
- JavaClass parentHome = null;
- if (supertype != null) {
- // check this CMP's supertype
- parentHome = getHomeInterface(supertype);
-
- if(parentHome == null) {
- // child uses either local, or remote, but not both interfaces
- return;
- }
-
- // Home a Xchild of parent Home
- // In our EJB component inheritance structure, while it is legal for
- // a home to inherit from another home, (section B.2), it is not legal
- // for WSA component inheritance structure.
- try {
- ValidationRuleUtility.isValidType(thisHome);
- ValidationRuleUtility.isValidType(parentHome);
- if (ValidationRuleUtility.isAssignableFrom(thisHome, parentHome)) {
- String[] msgParm = new String[] { thisHome.getQualifiedName(), parentHome.getQualifiedName()};
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2104, IEJBValidationContext.ERROR, bean, thisHome, msgParm, this);
- vc.addMessage(message);
- }
- }
- catch (InvalidInputException e) {
- String[] msgParm = { e.getJavaClass().getQualifiedName(), bean.getName()};
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2849, IEJBValidationContext.WARNING, bean, msgParm, this);
- vc.addMessage(message);
- }
- }
-
-// validateAppendixB(vc, supertype, parentHome);
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AInterfaceTypeVRule.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AInterfaceTypeVRule.java
deleted file mode 100644
index 0fd0c14ce..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AInterfaceTypeVRule.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jem.java.Field;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaHelpers;
-import org.eclipse.jem.java.JavaParameter;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.MessageLimitException;
-
-
-/*
- * This class is a hack around the Java lack of support for multiple inheritance.
- * All if statements which object-oriented programming would normally replace
- * are contained in this class.
- */
-public abstract class AInterfaceTypeVRule extends ATypeVRule implements IEJBInterfaceType {
- public final static List getBeanClassMethodsExtended(List[] methodsExtendedList) {
- return methodsExtendedList[0];
- }
-
- public final List[] getMethodsExtended(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws InvalidInputException {
- // A home or component class needs the following classes' extended methods:
- // 1. bean class
- JavaClass beanClass = bean.getEjbClass();
- if(beanClass == null) {
- throw new InvalidInputException();
- }
- List[] result = new List[1];
- result[0] = beanClass.getMethodsExtended();
- return result;
- }
-
- public final List[] getFieldsExtended(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) {
- // Never check that a home or component's field is defined on another class
- // of the bean.
- return null;
- }
-
- public void validate(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Field field, List[] fieldsExtendedLists) throws ValidationCancelledException, InvalidInputException, ValidationException {
- //Default
- }
-
- public void validate(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) throws ValidationCancelledException, InvalidInputException, ValidationException {
- validateApplicationExceptionRules(vc, bean, clazz, method);
- }
-
- public final boolean isEJBInterfaceMethod(EnterpriseBean bean, Method method) throws InvalidInputException {
- long[] superTypes = getSupertypes();
- for(int i=0; i<superTypes.length; i++) {
- if(ClassUtility.getUtility().isClassType(bean, method.getJavaClass(), superTypes[i])) {
- return true;
- }
- }
- return false;
- }
-
- public final JavaHelpers getOverExposedLocalType(EnterpriseBean bean, JavaClass clazz, Method method) {
- if((isRemote() & IEJBType.REMOTE) == IEJBType.REMOTE) {
- // need to check that the method doesn't expose any of the local types of the bean
- JavaParameter[] parms = method.listParametersWithoutReturn();
- if(parms != null) {
- for(int i=0; i<parms.length; i++) {
- JavaParameter parm = parms[i];
- if(ValidationRuleUtility.isLocalType(bean, parm.getJavaType())) {
- return parm.getJavaType();
- }
- }
- }
-
- // Now check the return type
- JavaHelpers parm = method.getReturnType();
- if(ValidationRuleUtility.isLocalType(bean, parm)) {
- return parm;
- }
-
- return null;
- }
- return null;
- }
-
- public long getFieldType(EnterpriseBean bean, JavaClass clazz, Field field) {
- if(field == null) {
- return EXCLUDED_FIELD;
- }
- else if(field.getName().equals(IMethodAndFieldConstants.FIELDNAME_SERIALVERSIONUID)) {
- return SERIALVERSIONUID;
- }
- else {
- return OTHER_FIELD;
- }
- }
-
- public void validateApplicationExceptionRules(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws ValidationCancelledException, MessageLimitException {
- List exceptions = method.getJavaExceptions();
- if(exceptions.size() == 0) {
- return;
- }
-
- // IWAD4419 = {0} must be a subclass of java.lang.Exception. Read section 18.1.1, 18.2.1 of the EJB 2.0 specification.
- Iterator iterator = exceptions.iterator();
- try {
- JavaHelpers javaLangException = ValidationRuleUtility.getType(ITypeConstants.CLASSNAME_JAVA_LANG_EXCEPTION, bean);
- JavaHelpers javaLangRuntimeException = ValidationRuleUtility.getType(ITypeConstants.CLASSNAME_JAVA_LANG_RUNTIMEEXCEPTION, bean);
-
- while(iterator.hasNext()) {
- JavaClass exception = (JavaClass)iterator.next();
-
- if(!ValidationRuleUtility.isApplicationException(exception, bean)) {
- continue;
- }
-
- if(!ValidationRuleUtility.isAssignableFrom(exception, javaLangException)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2404, IEJBValidationContext.WARNING, bean, clazz, method, new String[]{exception.getName()}, this);
- vc.addMessage(message);
-
- // no point checking the rest
- continue;
- }
-
- // IWAD4420 = {0} must not be a subclass of java.lang.RuntimeException. Read section 18.1.1, 18.2.1 of the EJB 2.0 specification.
- if(ValidationRuleUtility.isAssignableFrom(exception, javaLangRuntimeException)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2416, IEJBValidationContext.WARNING, bean, clazz, method, new String[]{exception.getName()}, this);
- vc.addMessage(message);
- }
- }
- return;
- }
- catch(InvalidInputException exc) {
- // vc.addMessage("Cannot validate exceptions because the {0} type cannot be reflected. Check the classpath.");
- // Don't add any message other than the "cannot validate" message.
- return;
- }
- }
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AKeyClassVRule.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AKeyClassVRule.java
deleted file mode 100644
index ec134bc17..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AKeyClassVRule.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import java.util.List;
-
-import org.eclipse.jem.java.Field;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-
-/**
- * @version 1.0
- * @author
- */
-public abstract class AKeyClassVRule extends ATypeVRule {
- protected final static long[] BASE_TYPES = new long[]{ITypeConstants.JAVA_LANG_OBJECT};
-
- public long[] getBaseTypes() {
- return BASE_TYPES;
- }
-
- public final List[] getMethodsExtended(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) {
- // Never check that a key class' method is defined on another class
- // of the bean.
- return null;
- }
-
- public final List[] getFieldsExtended(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) {
- // Never check that a key class' field is defined on another class
- // of the bean.
- return null;
- }
-
- /*
- * @see IClassVRule#validate(IEJBValidationContext, EnterpriseBean, JavaClass)
- */
- public void validate(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws ValidationCancelledException, InvalidInputException, ValidationException {
- // CHKJ2108 = {0} must be a legal Value Type in RMI-IIOP. Read section 9.8 of the EJB 2.0 specification.
- // CHKJ2241 = {0} must be a legal Value Type in RMI-IIOP. Read section 10.6.13 of the EJB 2.0 specification.
- // CHKJ2376 = {0} must be a legal Value Type in RMI-IIOP. Read section 12.2.12 of the EJB 2.0 specification.
- if(!ValidationRuleUtility.isLegalRMI_IIOPType(bean, clazz)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2019, IEJBValidationContext.INFO, bean, clazz, this);
- vc.addMessage(message);
- }
- }
-
- public long getFieldType(EnterpriseBean bean, JavaClass clazz, Field field) {
- if(field == null) {
- return EXCLUDED_FIELD;
- }
- else if(field.getName().equals(IMethodAndFieldConstants.FIELDNAME_SERIALVERSIONUID)) {
- return SERIALVERSIONUID;
- }
- else {
- return OTHER_FIELD;
- }
- }
-
- public long getDefaultMethodType() {
- return NO_METHODS;
- }
-
- public final boolean followRemoteExceptionRules(EnterpriseBean bean, Method method) throws InvalidInputException, ValidationCancelledException {
- // Doesn't matter if the key class throws RemoteException or not
- return true;
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ASessionBeanClassVRule.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ASessionBeanClassVRule.java
deleted file mode 100644
index 43e682bc9..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ASessionBeanClassVRule.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import org.eclipse.jem.java.Field;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaHelpers;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-
-/**
- */
-public abstract class ASessionBeanClassVRule extends ABeanClassVRule {
- public final void validateTransientField(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Field field) throws ValidationCancelledException, InvalidInputException, ValidationException {
- if(field.isTransient()) {
- // IWAD4025 = Transient fields are discouraged. Read section 7.4.1 of the EJB 2.0 specification.
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2453, IEJBValidationContext.INFO, bean, clazz, field, this);
- vc.addMessage(message);
-
- JavaHelpers javaxEjbSessionContext = ValidationRuleUtility.getType(ITypeConstants.CLASSNAME_JAVAX_EJB_SESSIONCONTEXT, bean);
- JavaHelpers javaxTransactionUsertransaction = ValidationRuleUtility.getType(ITypeConstants.CLASSNAME_JAVAX_TRANSACTION_USERTRANSACTION, bean);
- if(ValidationRuleUtility.isAssignableFrom(ValidationRuleUtility.getType(field), javaxEjbSessionContext) ||
- ValidationRuleUtility.isAssignableFrom(ValidationRuleUtility.getType(field), javaxTransactionUsertransaction) ||
- ValidationRuleUtility.isLocalType(bean, ValidationRuleUtility.getType(field)) ||
- ValidationRuleUtility.isJNDINamingContext(field))
- {
- // IWAD4024 = A transient field should not be the {0} type. Read section 7.4.1 of the EJB 2.0 specification.
- message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2452, IEJBValidationContext.WARNING, bean, clazz, field, this);
- vc.addMessage(message);
- }
- }
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ASessionHomeVRule.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ASessionHomeVRule.java
deleted file mode 100644
index 4959ef332..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ASessionHomeVRule.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-/**
- */
-public abstract class ASessionHomeVRule extends AHomeVRule {
- /**
- * If the type of the method isn't listed in the KNOWN_METHODS, what type of method is it
- * considered to be?
- */
- public long getDefaultMethodType() {
- // If it's not a create method, then it shouldn't be there.
- return EXCLUDED_METHOD;
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AStatelessHomeVRule.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AStatelessHomeVRule.java
deleted file mode 100644
index 0a7e3ebf5..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AStatelessHomeVRule.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-
-/**
- * @version 1.0
- * @author
- */
-public abstract class AStatelessHomeVRule extends ASessionHomeVRule {
- public void validateCreateMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws ValidationCancelledException, InvalidInputException, ValidationException {
- // The create method must be a create() method.
- if((method.listParametersWithoutReturn().length != 0) || (!IMethodAndFieldConstants.METHODNAME_CREATE.equals(method.getName()))) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2476, IEJBValidationContext.ERROR, bean, clazz, method, this);
- vc.addMessage(message);
- }
- else {
- super.validateCreateMethod(vc, bean, clazz, method);
- }
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ATypeVRule.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ATypeVRule.java
deleted file mode 100644
index d3801b237..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ATypeVRule.java
+++ /dev/null
@@ -1,644 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-
-import java.util.List;
-import java.util.logging.Level;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.xmi.XMIResource;
-import org.eclipse.jem.java.Field;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaHelpers;
-import org.eclipse.jem.java.JavaParameter;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jem.util.logger.LogEntry;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.MessageLimitException;
-
-
-/**
- * @version 1.0
- * @author
- */
-public abstract class ATypeVRule extends AValidationRule implements IClassVRule, IEJBType {
- private static final int NO_FIELDS = 0;
-
- private long _methodList = NO_METHODS;
- private long _fieldList = NO_FIELDS;
-
- public final void validate(IEJBValidationContext vc, Object targetParent, Object target) throws ValidationException {
- vc.subtask(IEJBValidatorConstants.STATUS_VALIDATING, new String[]{((JavaClass) target).getJavaName()});
-
- Logger logger = vc.getMsgLogger();
- if (logger != null && logger.isLoggingLevel(Level.FINEST)) {
- LogEntry entry = vc.getLogEntry();
- entry.setSourceID("EJB20Validator - validate"); //$NON-NLS-1$
- entry.setText(getClass().getName() + "::validate(" + targetParent + ", " + target); //$NON-NLS-1$ //$NON-NLS-2$
- logger.write(Level.FINEST, entry);
- }
-
- try {
- vc.terminateIfCancelled();
-
- EnterpriseBean bean = (EnterpriseBean) targetParent;
- JavaClass clazz = (JavaClass) target;
-
- try {
- //clean up old reflection error on the clazz that is getting validated
- vc.removeMessages(clazz);
- // Check that all of the types in the bean reflected correctly,
- // and that the types' parents reflected correctly too.
- ValidationRuleUtility.isValidTypeHierarchy(bean, clazz);
- } catch (InvalidInputException exc) {
- reflectionError(vc, bean, clazz);
- return;
- }
-
- if (ValidationRuleUtility.isUnnamedPackage(clazz.getJavaPackage())) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2041, IEJBValidationContext.INFO, bean, clazz, this);
- vc.addMessage(message);
- }
-
- try {
- validate(vc, bean, clazz);
- vc.terminateIfCancelled();
-
- List[] methodsExtendedList = getMethodsExtended(vc, bean, clazz);
- validate(vc, bean, clazz, clazz.listMethodExtended(), methodsExtendedList);
- vc.terminateIfCancelled();
-
- List[] fieldsExtendedList = getFieldsExtended(vc, bean, clazz);
- validate(vc, bean, clazz, clazz.listFieldExtended(), fieldsExtendedList);
- vc.terminateIfCancelled();
-
- validateSupertypes(vc, bean, clazz);
- vc.terminateIfCancelled();
-
- validateMethodsWhichMustExist(vc, bean, clazz);
- vc.terminateIfCancelled();
- } catch (InvalidInputException exc) {
- reflectionError(vc, bean, clazz);
- return;
- }
- } catch (ValidationCancelledException exc) {
- // remove any existing messages since they may be faulty
- }
- }
-
- protected final void validate(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Field[] fields, List[] fieldsExtendedLists) throws ValidationException {
- try {
- vc.terminateIfCancelled();
-
- Field field = null;
- for (int i = 0; i < fields.length; i++) {
- vc.terminateIfCancelled();
- field = fields[i];
- if (field == null) {
- Logger logger = vc.getMsgLogger();
- if (logger != null && logger.isLoggingLevel(Level.FINE)) {
- LogEntry entry = vc.getLogEntry();
- entry.setSourceID("EJB20Validator - validate fields"); //$NON-NLS-1$
- entry.setText("A field is null on " + clazz.getQualifiedName()); //$NON-NLS-1$
- logger.write(Level.FINE, entry);
- }
- continue;
- }
- try {
- Logger logger = vc.getMsgLogger();
- if (logger.isLoggingLevel(Level.FINEST)) {
- LogEntry entry = vc.getLogEntry();
- entry.setSourceID("EJB20Validator - validate fields"); //$NON-NLS-1$
- entry.setText("Validating field " + field.getName() + "on clazz " + clazz + " and isValid returns " + isValid(bean, clazz, field)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- logger.write(Level.FINEST, entry);
- }
-
- if (isValid(bean, clazz, field)) {
- register(vc, bean, clazz, field, fieldsExtendedLists);
- validate(vc, bean, clazz, field, fieldsExtendedLists);
- }
- } catch (InvalidInputException e) {
- reflectionWarning(vc, bean, clazz, field, e);
- }
- }
- vc.terminateIfCancelled();
- } catch (ValidationCancelledException exc) {
- // remove any existing messages since they may be faulty
- }
-
- }
-
- protected final boolean isValid(EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) throws InvalidInputException {
- if (isOwnedByBase(bean, method)) {
- return false;
- }
-
- return ((getMethodType(bean, clazz, method, methodsExtendedLists) & EXCLUDED_METHOD) != EXCLUDED_METHOD);
- }
-
- protected final boolean isOwnedByBase(EnterpriseBean bean, Field field) throws InvalidInputException {
- if (field == null) {
- return false;
- }
-
- long[] baseTypes = getBaseTypes();
- if (baseTypes == null) {
- // no parents
- return false;
- }
-
- for (int i = 0; i < baseTypes.length; i++) {
- if (ClassUtility.getUtility().isClassType(bean, field.getJavaClass(), baseTypes[i])) {
- return true;
- }
- }
- return false;
- }
-
- protected final boolean isOwnedByBase(EnterpriseBean bean, Method method) throws InvalidInputException {
- if (method == null) {
- return false;
- }
-
- long[] baseTypes = getBaseTypes();
- if (baseTypes == null) {
- // no parents
- return false;
- }
-
- for (int i = 0; i < baseTypes.length; i++) {
- if (ClassUtility.getUtility().isClassType(bean, method.getJavaClass(), baseTypes[i])) {
- return true;
- }
- }
- return false;
- }
-
- protected final boolean isValid(EnterpriseBean bean, JavaClass clazz, Field field) throws InvalidInputException {
- if (isOwnedByBase(bean, field)) {
- return false;
- }
-
- return ((getFieldType(bean, clazz, field) & EXCLUDED_FIELD) != EXCLUDED_FIELD);
- }
-
- protected final void validate(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method[] methods, List[] methodsExtendedLists) throws ValidationException {
- try {
- vc.terminateIfCancelled();
-
- Method method = null;
- for (int i = 0; i < methods.length; i++) {
- vc.terminateIfCancelled();
- method = methods[i];
- if (method == null) {
- // No point adding a validation message, because the user can't do anything.
- // Log this condition.
- Logger logger = vc.getMsgLogger();
- if (logger != null && logger.isLoggingLevel(Level.FINE)) {
- LogEntry entry = vc.getLogEntry();
- entry.setSourceID("EJB20Validator - validate methods"); //$NON-NLS-1$
- entry.setText("On " + clazz.getQualifiedName() + ", there is a null method."); //$NON-NLS-1$ //$NON-NLS-2$
- logger.write(Level.FINE, entry);
- }
- continue;
- }
- try {
- Logger logger = vc.getMsgLogger();
- if (logger.isLoggingLevel(Level.FINEST)) {
- LogEntry entry = vc.getLogEntry();
- entry.setSourceID("EJB20Validator - validate methods"); //$NON-NLS-1$
- entry.setText("Validating method " + method.getMethodElementSignature() + " on clazz " + clazz + " and isValid returns " + isValid(bean, clazz, method, methodsExtendedLists)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- logger.write(Level.FINEST, entry);
- }
-
- if (isValid(bean, clazz, method, methodsExtendedLists)) {
- register(vc, bean, clazz, method, methodsExtendedLists);
- if (isMethodAllowedToExist(bean, clazz, method, methodsExtendedLists)) {
- validate(vc, bean, clazz, method, methodsExtendedLists);
- } else {
- validateMethodWhichMustNotExist(vc, bean, clazz, method, methodsExtendedLists);
- }
- } else {
- if (!isOwnedByBase(bean, method)) {
- if ((MethodUtility.getUtility().getMethodTypeId(bean, clazz, method, methodsExtendedLists, this) & EXCLUDED_METHOD) == EXCLUDED_METHOD) {
- // unidentified method excluded
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2502, IEJBValidationContext.INFO, bean, clazz, method, new String[]{method.getName()}, this);
- vc.addMessage(message);
- }
- }
- }
- } catch (InvalidInputException e) {
- reflectionWarning(vc, bean, clazz, method, e);
- }
-
- }
- vc.terminateIfCancelled();
- } catch (ValidationCancelledException exc) {
- // remove any existing messages since they may be faulty
- }
-
- }
-
- public final void register(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Field field, List[] fieldsExtendedList) throws InvalidInputException, ValidationCancelledException, ValidationException {
- _fieldList = (_fieldList | getFieldType(bean, clazz, field));
- }
-
- private boolean isDefaultConstructor(long methodType) {
- return ((methodType & IMethodAndFieldConstants.CONSTRUCTOR_NOPARM) == IMethodAndFieldConstants.CONSTRUCTOR_NOPARM);
- }
-
- private boolean doesPublicDefaultConstructorExist() {
- if ((_methodList & IMethodAndFieldConstants.CONSTRUCTOR_NOPARM) == IMethodAndFieldConstants.CONSTRUCTOR_NOPARM) {
- return true;
- }
-
- return false;
- }
-
- private boolean isDefaultConstructorInsertedByCompiler() {
- // If the default constructor is not in the list, and if there are no constructors,
- // the Java compiler will insert a default constructor.
- if ((_methodList & IMethodAndFieldConstants.CONSTRUCTOR) == IMethodAndFieldConstants.CONSTRUCTOR) {
- // There is a constructor, so return false.
- return false;
- }
-
- return true;
- }
-
- protected final boolean isMethodAllowedToExist(EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) {
- long[] methods = getMethodsWhichMustNotExist();
- if (methods != null) {
- for (int i = 0; i < methods.length; i++) {
- long methodType = methods[i];
- long existingMethodType = MethodUtility.getUtility().getMethodTypeId(bean, clazz, method, methodsExtendedLists, this);
- if ((existingMethodType & methodType) == methodType) {
- return false;
- }
- }
- }
- return true;
- }
-
- /*
- * @see IValidationRule#reset()
- */
- public void validateMethodsWhichMustExist(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws InvalidInputException, ValidationCancelledException, ValidationException {
- long[] methods = getMethodsWhichMustExist();
- if (methods != null) {
- for (int i = 0; i < methods.length; i++) {
- long methodType = methods[i];
- boolean emitWarning = false;
- if (isDefaultConstructor(methodType)) {
- if (!doesPublicDefaultConstructorExist() && !isDefaultConstructorInsertedByCompiler()) {
- emitWarning = true;
- }
- } else {
- emitWarning = !exists(methodType);
- }
-
- if (emitWarning) {
- // IWAD4041 = This class must define a public constructor which takes no
- // parameters. Read section 7.10.1 of the EJB 2.0 specification.
- // IWAD4142 = {0} must exist. Read section 10.5.2 of the EJB 2.0 specification.
- // IWAD4173 = {0} must exist. Read section 10.6.2 of the EJB 2.0 specification.
- // IWAD4271 = {0} must exist. Read section 12.1.4.1 of the EJB 2.0
- // specification.
- // IWAD4290 = {0} must exist. Read section 12.2.2 of the EJB 2.0 specification.
- // IWAD4388 = {0} must exist. Read section 15.7.2 of the EJB 2.0 specification.
- IMethodType mType = MethodUtility.getUtility().getMethodType(methodType);
- if (mType == null) {
- // ummmm....oops. This case should never happen.
- Logger logger = vc.getMsgLogger();
- if (logger != null && logger.isLoggingLevel(Level.FINEST)) {
- LogEntry entry = vc.getLogEntry();
- entry.setSourceID("EJB20Validator - validate methods which must exist"); //$NON-NLS-1$
- entry.setText("Method type is null: " + methodType); //$NON-NLS-1$
- logger.write(Level.FINEST, entry);
- }
- continue;
- }
-
- IMessage message = MessageUtility.getUtility().getMessage(vc, mType.getMessageId_messageMissing(), IEJBValidationContext.WARNING, bean, clazz, new String[]{mType.getMethodName(bean, clazz, null)}, this);
- vc.addMessage(message);
- }
- }
- }
- }
-
- public final void validateMethodWhichMustNotExist(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) throws InvalidInputException, ValidationCancelledException, ValidationException {
- IMethodType mType = MethodUtility.getUtility().getMethodType(bean, clazz, method, methodsExtendedLists, this);
- if (mType == null) {
- // what happened?
- Logger logger = vc.getMsgLogger();
- if (logger != null && logger.isLoggingLevel(Level.FINEST)) {
- LogEntry entry = vc.getLogEntry();
- entry.setSourceID("EJB20Validator - validate method which must not exist"); //$NON-NLS-1$
- entry.setText("Method type is null: " + MethodUtility.getUtility().getMethodType(bean, clazz, method, methodsExtendedLists, this)); //$NON-NLS-1$
- logger.write(Level.FINEST, entry);
- }
- return;
- }
-
-
- IMessage message = MessageUtility.getUtility().getMessage(vc, mType.getMessageId_messageExists(), IEJBValidationContext.INFO, bean, clazz, method, new String[]{mType.getMethodName(bean, clazz, method)}, this);
- vc.addMessage(message);
- }
-
- public abstract long getFieldType(EnterpriseBean bean, JavaClass clazz, Field field);
-
- public abstract long[] getBaseTypes();
-
- public abstract int getMessageRemoteExceptionSeverity(); // is a missing (or present)
- // RemoteException a warning or an
- // error? See ILocalType and
- // IRemoteType.
-
- public final long getMethodType(EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedList) {
- if (method == null) {
- return EXCLUDED_METHOD;
- }
- long id = MethodUtility.getUtility().getMethodTypeId(bean, clazz, method, methodsExtendedList, this);
- if ((id & CLINIT) == CLINIT) {
- return EXCLUDED_METHOD;
- }
- return id;
- }
-
- public final void register(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedList) throws InvalidInputException, ValidationCancelledException, ValidationException {
- _methodList = (_methodList | MethodUtility.getUtility().getMethodTypeId(bean, clazz, method, methodsExtendedList, this));
- }
-
- public final void validateSupertypes(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws InvalidInputException, ValidationCancelledException, ValidationException {
- validateShouldBeSuperTypes(vc, bean, clazz);
- validateShouldNotBeSuperTypes(vc, bean, clazz);
- }
-
- /**
- * @param vc
- * @param bean
- * @param clazz
- * @throws InvalidInputException
- */
- protected void validateShouldNotBeSuperTypes(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws InvalidInputException {
- long[] types;
- // Test for types which can be supertypes, though it's either not recommended or should be
- // coded with caution
- types = getShouldNotBeSupertypes();
- if (types != null) {
- for (int i = 0; i < types.length; i++) {
- JavaHelpers superType = ClassUtility.getUtility().getSupertype(bean, types[i]);
- if (superType == null) {
- // no supertype
- continue;
- }
-
- if (ValidationRuleUtility.isAssignableFrom(clazz, superType)) {
- // IWAD4179 = Because this class implements {0}, "this" must not be passed as a
- // method argument or result. Read section 10.6.2 of the EJB 2.0 specification.
- // IWAD4292 = Because {0} implements {1}, "this" must not be passed as a method
- // argument or result. Read section 12.2.2 of the EJB 2.0 specification.
- // IWAD4043 = Because {0} implements {1}, "this" must not be passed as a method
- // argument or result. Read section 7.10.2 of the EJB 2.0 specification.
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2040, IEJBValidationContext.INFO, bean, clazz, this);
- vc.addMessage(message);
- }
- }
- }
- }
-
- /**
- * @param vc
- * @param bean
- * @param clazz
- * @throws InvalidInputException
- */
- protected void validateShouldBeSuperTypes(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws InvalidInputException {
- long[] types = getSupertypes();
- if (types != null) {
- for (int i = 0; i < types.length; i++) {
- JavaHelpers superType = ClassUtility.getUtility().getSupertype(bean, types[i]);
- if (superType == null) {
- // no supertype
- continue;
- }
-
- if (!ValidationRuleUtility.isAssignableFrom(clazz, superType)) {
- // IWAD4026 = This class must implement javax.ejb.SessionBean. Read section
- // 7.5.1, 7.10.2 of the EJB 2.0 specification.
- // IWAD4379 = This class must implement javax.ejb.MessageDrivenBean. Read
- // section 15.4.1, 15.7.2 of the EJB 2.0 specification.
- // IWAD4380 = This class must implement javax.jms.MessageListener. Read section
- // 15.4.1, 15.7.2 of the EJB 2.0 specification.
- // IWAD4170 = This class must implement java.ejb.EntityBean. Read section 10.6.2
- // of the EJB 2.0 specification.
- // IWAD4286 = This class must implement java.ejb.EntityBean. Read section 12.2.2
- // of the EJB 2.0 specification.
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2017, IEJBValidationContext.ERROR, bean, clazz, new String[]{superType.getJavaName()}, this);
- vc.addMessage(message);
- }
- }
- }
- }
-
- public void reset() {
- super.reset();
- _methodList = NO_METHODS;
- _fieldList = NO_FIELDS;
- }
-
- protected final void reflectionError(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws MessageLimitException {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2907, IEJBValidationContext.ERROR, bean, clazz, new String[]{clazz.getQualifiedName()}, this);
- vc.addMessage(message);
- }
-
- protected final void reflectionWarning(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Field field, InvalidInputException exc) throws MessageLimitException {
- vc.removeMessages(field);
- vc.removeMessages(clazz, field.getName());
- IMessage message = getReflectionWarning(vc, exc, bean, clazz, field);
- vc.addMessage(message);
- }
-
- protected final void reflectionWarning(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method, InvalidInputException exc) throws MessageLimitException {
- vc.removeMessages(method);
- vc.removeMessages(clazz, method.getSignature());
- IMessage message = getReflectionWarning(vc, exc, bean, clazz, method);
- vc.addMessage(message);
- }
-
- protected final IMessage getReflectionWarning(IEJBValidationContext vc, InvalidInputException exc, EnterpriseBean bean, JavaClass clazz, EObject fieldOrMethod) {
- if (exc == null) {
- return null;
- }
-
- JavaClass badClazz = exc.getJavaClass();
- String typeName = (badClazz == null) ? "?" : badClazz.getQualifiedName(); //$NON-NLS-1$
- IMessage message = null;
-
- if (fieldOrMethod instanceof Field) {
- String name = ((Field) fieldOrMethod).getName();
- message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2433, IEJBValidationContext.WARNING, bean, clazz, (Field) fieldOrMethod, new String[]{name, typeName}, this);
- } else if (fieldOrMethod instanceof Method) {
- String name = ((Method) fieldOrMethod).getMethodElementSignature();
- message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2433, IEJBValidationContext.WARNING, bean, clazz, (Method) fieldOrMethod, new String[]{name, typeName}, this);
- } else {
- String name = ((XMIResource) fieldOrMethod.eResource()).getID(fieldOrMethod);
- message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2433, IEJBValidationContext.WARNING, bean, clazz, new String[]{name, typeName}, this);
- }
- if (badClazz == null) {
- Logger logger = vc.getMsgLogger();
- if (logger != null && logger.isLoggingLevel(Level.FINEST)) {
- LogEntry entry = vc.getLogEntry();
- entry.setSourceID("getMessageId(IEJBValidationContext, InvalidInputException, boolean)"); //$NON-NLS-1$
- entry.setText("InvalidInputException thrown on unknown class"); //$NON-NLS-1$
- entry.setTargetException(exc);
- logger.write(Level.FINEST, entry);
- }
- }
-
- return message;
- }
-
-
- public final JavaClass getComponentInterface(EnterpriseBean bean) {
- if ((isRemote() & IEJBType.REMOTE) == IEJBType.REMOTE) {
- return bean.getRemoteInterface();
- }
- return bean.getLocalInterface();
- }
-
- public final boolean exists(long methodType) {
- return ((_methodList & methodType) == methodType);
- }
-
- public final JavaClass getHomeInterface(EnterpriseBean bean) {
- if ((isRemote() & IEJBType.REMOTE) == IEJBType.REMOTE) {
- return bean.getHomeInterface();
- }
- return bean.getLocalHomeInterface();
- }
-
- public boolean followRemoteExceptionRules(EnterpriseBean bean, Method method) throws InvalidInputException, ValidationCancelledException {
- if ((isRemote() & IEJBType.REMOTE) == IEJBType.REMOTE) {
- // must throw RemoteException or one of its parents (IOException or Exception)
- return ValidationRuleUtility.throwsRemoteExceptionOrParent(bean, method);
- } else if ((isRemote() & IEJBType.LOCAL) == IEJBType.LOCAL) {
- // must not throw RemoteException
- return ValidationRuleUtility.doesNotThrowRemoteException(bean, method);
- }
-
- return true;
- }
-
- public final void validateRMI_IIOPTypeRules(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedList, boolean checkReturnType) throws InvalidInputException, MessageLimitException {
- if ((isRemote() & IEJBType.REMOTE) == IEJBType.REMOTE) {
- JavaParameter[] parms = method.listParametersWithoutReturn();
-
- for (int i = 0; i < parms.length; i++) {
- JavaParameter parm = parms[i];
- if (!ValidationRuleUtility.isLegalRMI_IIOPType(bean, parm.getJavaType())) {
- IMethodType mt = MethodUtility.getUtility().getMethodType(bean, clazz, method, methodsExtendedList, this);
- if (mt == null) {
- // log
- } else {
- IMessage message = MessageUtility.getUtility().getMessage(vc, mt.getMessageId_messageRMI_IIOPParm(), IEJBValidationContext.INFO, bean, clazz, method, new String[]{parm.getJavaType().getJavaName()}, this); // Can't
- // use
- // the
- // name
- // of
- // the
- // field,
- // because
- // when
- // it's
- // the
- // return
- // type
- // of
- // the
- // method,
- // it's
- // confusing
- // to
- // see
- // "result"
- // as
- // the
- // name
- // of
- // the
- // field.
- vc.addMessage(message);
- }
- }
- }
-
- if (checkReturnType) {
- if (!ValidationRuleUtility.isLegalRMI_IIOPType(bean, method.getReturnType())) {
- IMethodType mt = MethodUtility.getUtility().getMethodType(bean, clazz, method, methodsExtendedList, this);
- if (mt == null) {
- // log
- } else {
- IMessage message = MessageUtility.getUtility().getMessage(vc, mt.getMessageId_messageRMI_IIOPParm(), IEJBValidationContext.INFO, bean, clazz, method, new String[]{method.getReturnType().getJavaName()}, this); // Can't
- // use
- // the
- // name
- // of
- // the
- // field,
- // because
- // when
- // it's
- // the
- // return
- // type
- // of
- // the
- // method,
- // it's
- // confusing
- // to
- // see
- // "result"
- // as
- // the
- // name
- // of
- // the
- // field.
- vc.addMessage(message);
- }
- }
- }
- } else {
- // don't need to check
- return;
- }
- }
-
- public final boolean followRMI_IIOPInheritanceRules(EnterpriseBean bean, JavaClass clazz) {
- if ((isRemote() & IEJBType.REMOTE) == IEJBType.REMOTE) {
- return ValidationRuleUtility.isLegalRMI_IIOPInheritance(clazz);
- }
- return true;
- }
-
- public void validateSerialVersionUID(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Field field) {
- /*
- * For now, do nothing. In future, check if the field is public & static?
- */
- }
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AValidateBean.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AValidateBean.java
deleted file mode 100644
index 10991ba6c..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AValidateBean.java
+++ /dev/null
@@ -1,673 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.jem.java.Field;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-
-/**
- * Performs validation common to session and entity beans.
- */
-public abstract class AValidateBean extends AValidateEJB {
- protected HashSet componentParents = null; // The JavaClass instances which are parents of this JavaClass instance, if this JavaClass instance is part of a component inheritance hierarchy.
-
- public AValidateBean() {
- componentParents = new HashSet();
- }
-
- public void reset() {
- super.reset();
- componentParents.clear();
- }
-
- protected void buildComponentParents(EnterpriseBean bean) {
- if (bean == null) {
- return;
- }
- EnterpriseBean supertype = getSuperType(bean);
- if (supertype == null) {
- return;
- }
-
- // check this CMP's supertype
- JavaClass thisEjbObject = bean.getEjbClass();
- JavaClass parentEjbObject = supertype.getEjbClass();
-
- // EJBObject a Xchild of parent EJBObject (X = child, grandchild, great-grandchild, etc.)
- if (ValidationRuleUtility.isAssignableFrom(thisEjbObject, parentEjbObject)) {
- componentParents.add(parentEjbObject);
- }
- buildComponentParents(supertype);
- }
-
- public final Object getTarget(Object parent, Object clazz) {
- if(parent == null) {
- return null;
- }
-
- return ((EnterpriseBean)parent).getEjbClass();
- }
-
- public final static List getRemoteHomeMethodsExtended(List[] methodsExtendedList) {
- return methodsExtendedList[0];
- }
-
- public final static List getRemoteComponentMethodsExtended(List[] methodsExtendedList) {
- return methodsExtendedList[1];
- }
-
- public final static List getBeanClassMethodsExtended(List[] methodsExtendedList) {
- return methodsExtendedList[2];
- }
-
- public final List[] getMethodsExtended(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) {
- // A bean class needs the following classes' extended methods:
- // 1. home
- // 2. remote
- // 3. bean class (when searching for a matching ejbPostCreate method).
- // If a particular bean doesn't use a remote view or local view,
- // then the corresponding entry in the array will be null.
- List[] result = new List[3];
- JavaClass remoteHome = bean.getHomeInterface();
- if(remoteHome != null) {
- result[0] = remoteHome.getMethodsExtended();
- }
- else {
- result[0] = null;
- }
-
- JavaClass remoteComponent = bean.getRemoteInterface();
- if(remoteComponent != null) {
- result[1] = remoteComponent.getMethodsExtended();
- }
- else {
- result[1] = null;
- }
-
- JavaClass beanClass = bean.getEjbClass();
- if(beanClass != null) {
- result[2] = beanClass.getMethodsExtended();
- }
- else {
- result[2] = null;
- }
-
- return result;
- }
-
- public final List[] getFieldsExtended(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) {
- // Never check that a bean class' field is defined on another class
- // of the bean.
- return null;
- }
-
-
-
- /**
- * For the check that the ejbCreate method has a matching create method on the home,
- * this method, given the bean method, returns the corresponding home method.
- *
- * 6.10.6 Session bean's home interface
- * The following are the requirements for the session bean's home interface:
- * - Each create method must be named "create", and it must match one of
- * the ejbCreate methods defined in the session bean class. The matching
- * ejbCreate method must have the same number and types of arguments.
- * (Note that the return type is different.)
- * - All the exceptions defined in the throws clause of an ejbCreate method
- * of the session bean class must be defined in the throws clause of the
- * matching create method of the home interface.
- *...
- *
- * 9.2.8 Entity bean's home interface
- * The following are the requirements for the entity bean's home interface:
- * - Each create method must be named "create", and it must match one of the
- * ejbCreate methods defined in the enterprise Bean class. The matching
- * ejbCreate method must have the same number and types of its arguments.
- * (Note that the return type is different.)
- * - All the exceptions defined in the throws clause of the matching ejbCreate
- * and ejbPostCreate methods of the enterprise Bean class must be included in
- * the throws clause of the matching create method of the home interface
- * (i.e the set of exceptions defined for the create method must be a superset
- * of the union of exceptions defined for the ejbCreate and ejbPostCreate methods)
- */
- public final Method getMatchingHomeCreateMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) throws InvalidInputException {
- vc.terminateIfCancelled();
-
- if (method == null) {
- return null;
- }
-
- if (bean == null) {
- return null;
- }
-
- JavaClass homeIntf = bean.getHomeInterface();
- ValidationRuleUtility.isValidTypeHierarchy(bean, homeIntf);
-
- // check only the current class, not the parents in this case.
- // This method is used in the component inheritance hierarchy tests.
- return ValidationRuleUtility.getMethod(method, IMethodAndFieldConstants.METHODNAME_CREATE, homeIntf.getMethods());
- }
-
- /**
- * For the check that the ejbCreate method has a matching create method on the home,
- * this method, given the bean method, returns the corresponding home method.
- *
- * 6.10.6 Session bean's home interface
- * The following are the requirements for the session bean's home interface:
- * - Each create method must be named "create", and it must match one of
- * the ejbCreate methods defined in the session bean class. The matching
- * ejbCreate method must have the same number and types of arguments.
- * (Note that the return type is different.)
- * - All the exceptions defined in the throws clause of an ejbCreate method
- * of the session bean class must be defined in the throws clause of the
- * matching create method of the home interface.
- *...
- *
- * 9.2.8 Entity bean's home interface
- * The following are the requirements for the entity bean's home interface:
- * - Each create method must be named "create", and it must match one of the
- * ejbCreate methods defined in the enterprise Bean class. The matching
- * ejbCreate method must have the same number and types of its arguments.
- * (Note that the return type is different.)
- * - All the exceptions defined in the throws clause of the matching ejbCreate
- * and ejbPostCreate methods of the enterprise Bean class must be included in
- * the throws clause of the matching create method of the home interface
- * (i.e the set of exceptions defined for the create method must be a superset
- * of the union of exceptions defined for the ejbCreate and ejbPostCreate methods)
- */
- public Method getMatchingHomeCreateMethodExtended(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws InvalidInputException {
- vc. terminateIfCancelled();
- if (method == null) {
- return null;
- }
-
- if (bean == null) {
- return null;
- }
-
- JavaClass homeIntf = bean.getHomeInterface();
- ValidationRuleUtility.isValidTypeHierarchy(bean, homeIntf);
-
- return ValidationRuleUtility.getMethodExtended(homeIntf, method, IMethodAndFieldConstants.METHODNAME_CREATE);
- }
-
- /**
- * Return the name of the parent which the bean must implement.
- * For entity beans, it's javax.ejb.EntityBean.
- * For session beans, it's javax.ejb.SessionBean.
- */
- protected abstract String getParentName();
-
- /**
- * Returns true if the method passed in is a business method.
- *
- * Although the EJB 1.1 spec implies that all non-framework methods are business methods,
- * developers may create methods on the bean which are meant for internal use only. This
- * method (isBusinessMethod) separates the "internal helper" methods from the business
- * methods by checking if a corresponding method exists on the remote interface. If it
- * does, consider this a business method.
- */
- public boolean isBusinessMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws InvalidInputException {
- vc.terminateIfCancelled();
-
- if (method == null) {
- return false;
- }
- String name = method.getName();
-
- if (isFrameworkMethod(name)) {
- return false;
- }
-
- if (method.isConstructor()) {
- return false;
- }
-
- // Check if there's a matching method on the remote interface.
- if (bean == null) {
- return false;
- }
-
- JavaClass remoteInterface = bean.getRemoteInterface();
- ValidationRuleUtility.isValidTypeHierarchy(bean, remoteInterface);
- Method remoteInterfaceMethod = ValidationRuleUtility.getMethodExtended(remoteInterface, name, method.listParametersWithoutReturn());
- if ((remoteInterfaceMethod == null) || (ValidationRuleUtility.isEJBObjectMethod(bean, remoteInterfaceMethod))) {
- // no matching method
- // filter out methods from javax.ejb.EJBObject
- return false;
- }
-
- return true;
- }
-
- /**
- * Return true if the method passed in is inherited from a parent in a
- * component inheritance hierarchy.
- */
- protected boolean isComponentInherited(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method meth) throws InvalidInputException {
- if (componentParents == null) {
- // Not part of a component inheritance hierarchy
- return false;
- }
-
- return (componentParents.contains(meth.getContainingJavaClass()));
- }
-
- public boolean isFrameworkMethod(String name) {
- if (name == null) {
- return false;
- }
- else if (name.equals(IMethodAndFieldConstants.METHODNAME_EJBACTIVATE)) {
- return true;
- }
- else if (name.equals(IMethodAndFieldConstants.METHODNAME_EJBPASSIVATE)) {
- return true;
- }
- else if (name.equals(IMethodAndFieldConstants.METHODNAME_EJBREMOVE)) {
- return true;
- }
- else if (name.startsWith(IMethodAndFieldConstants.PREFIX_EJBFIND)) {
- return true;
- }
- else if (name.equals(IMethodAndFieldConstants.METHODNAME_EJBCREATE)) {
- return true;
- }
- else if (name.equals(IMethodAndFieldConstants.METHODNAME_EJBPOSTCREATE)) {
- return true;
- }
- else if (name.equals(IMethodAndFieldConstants.METHODNAME_FINALIZE)) {
- return true;
- }
- return false;
-
- }
-
- /**
- * Return true if the field can, and should, be validated.
- * Filter out faulty fields (i.e., null), and fields which
- * belong to the base type, whatever that is. (e.g. java.lang.Object)
- */
- protected boolean isValid(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Field field, List[] fieldsExtendedList) throws InvalidInputException {
- if (super.isValid(vc, bean, clazz, field, fieldsExtendedList)) {
- // exclude root object methods
- if (ValidationRuleUtility.isJavaLangObjectField(bean, field)) {
- return false;
- }
- return true;
- }
- return false;
- }
-
- /**
- * Return true if the method can, and should, be validated.
- * Filter out faulty methods (i.e., null), and methods which
- * belong to the base type, whatever that is. (e.g. java.lang.Object)
- */
- protected final boolean isValid(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedList) throws InvalidInputException {
- if (super.isValid(vc, bean, clazz, method, methodsExtendedList)) {
- // exclude root object methods
- if (ValidationRuleUtility.isJavaLangObjectMethod(bean, method)) {
- return false;
- }
- else if (method.getName().equals(IMethodAndFieldConstants.METHODNAME_EJBCREATE)) {
- return isValidEjbCreateMethod(vc, bean, clazz, method, methodsExtendedList);
- }
- else if (method.getName().equals(IMethodAndFieldConstants.METHODNAME_EJBPOSTCREATE)) {
- return isValidEjbCreateMethod(vc, bean, clazz, method, methodsExtendedList);
- }
- else {
- return true;
- }
- }
- return false;
- }
-
- /**
- * Return true if the ejbCreate method passed in is not inherited
- * from a parent in a component inheritance hierarchy, or is inherited,
- * but is also defined on this bean's home interface.
- *
- * This method is used to exclude ejbCreate methods which are inherited
- * from a parent in a component inheritance hierarchy, and are not
- * exposed anywhere on this bean class instance itself. (i.e., inherited,
- * but never used.) Since we generate the code for these methods, we
- * should not flag them as warnings.
- */
- protected final boolean isValidEjbCreateMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method meth, List[] methodsExtendedLists) throws InvalidInputException {
- boolean isValid = true;
- boolean isComp = isComponentInherited(vc, bean, clazz, meth);
- if (isComp) {
- Method homeMeth = getMatchingHomeCreateMethod(vc, bean, clazz, meth, methodsExtendedLists);
- if (homeMeth == null) {
- isValid = false;
- }
- }
-
- return isValid;
- }
-
- /**
- * 18.1.2 Programming restrictions
- *...
- * - An enterprise Bean must not use read/write static fields. Using read-only static fields is
- * allowed. Therefore, it is recommended that all static fields in the enterprise bean class be
- * declared as final.
- *...
- */
- public void primValidate(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Field field) throws InvalidInputException {
- //super.primValidate(ejbMethod);
-
- vc.terminateIfCancelled();
-
- validateStaticField(vc, bean, clazz, field);
- }
-
- /**
- * 6.10.4 Business methods
- * The session bean class may define zero or more business methods whose signatures must follow these rules:
- * - The method names can be arbitrary, but they must not start with "ejb" to avoid conflicts with the callback methods used by the EJB architecture.
- *
- * 9.2.6 Business methods
- * - The entity bean class may define zero or more business methods whose signatures
- * must follow these rules:
- * - The method names can be arbitrary, but they must not start with 'ejb' to
- * avoid conflicts with the callback methods used by the EJB architecture.
- */
- public void validateBusinessMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws InvalidInputException {
- // The method names can be arbitrary, but they must not start with "ejb" to avoid conflicts with the callback methods used by the EJB architecture.
- if (method.getName().startsWith(IMethodAndFieldConstants.PREFIX_EJB)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2411, IEJBValidationContext.ERROR, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- // Section 6.10.5 (session), 9.2.7 (entity), declare that all exceptions declared
- // on the ejbCreate, ejbPostCreate methods must be defined in the throws clause of
- // the matching create of the remote interface.
-
- JavaClass remote = bean.getRemoteInterface();
- ValidationRuleUtility.isValidTypeHierarchy(bean, remote);
-
- Method remoteMethod = ValidationRuleUtility.getMethodExtended(remote, method, method.getName());
- if (remoteMethod == null) {
- // Then this method shouldn't have been called; unless the method exists on the remote, this bean method isn't a business method.
- return;
- }
-
- Set exceptions = ValidationRuleUtility.getNotSubsetExceptions(bean, method, remoteMethod);
- if (exceptions.size() > 0) {
- Iterator iterator = exceptions.iterator();
- while (iterator.hasNext()) {
- JavaClass exc = (JavaClass) iterator.next();
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2432, IEJBValidationContext.ERROR, bean, clazz, method, new String[] { remote.getQualifiedName(), exc.getQualifiedName()}, this);
- vc.addMessage(message);
- }
- }
-
- validateMatchingMethodExceptions(vc, bean, clazz, method, bean.getRemoteInterface(), remoteMethod);
- }
-
- /**
- * 6.10.2 Session bean class
- * The following are the requirements for session bean class:
- * - The class must implement, directly or indirectly, the javax.ejb.SessionBean
- * interface.
- * - The class must be defined as public, must not be final, and must not
- * be abstract.
- * - The class may, but is not required to, implement the session bean's
- * remote interface [4] .
- * - If the class is a stateful session bean, it may optionally implement
- * the javax.ejb.SessionSynchronization interface.
- * - The session bean class may have superclasses and/or superinterfaces. If the
- * session bean has superclasses, then the business methods, the ejbCreate methods,
- * the methods of the SessionBean interface, and the methods of the optional
- * SessionSynchronization interface may be defined in the session bean class,
- * or in any of its superclasses.
- *
- *...
- * 9.2.2 Enterprise bean class
- * - The following are the requirements for an entity bean class:
- * - The class must implement, directly or indirectly, the javax.ejb.EntityBean interface.
- * - The class must be defined as public and must not be abstract.
- * - The class must not be defined as final.
- *...
- * - The class may, but is not required to, implement the entity bean's remote interface [9].
- * If the class implements the entity bean's remote interface, the class must provide no-op
- * implementations of the methods defined in the javax.ejb.EJBObject interface. The container
- * will never invoke these methods on the bean instances at runtime.
- * - A no-op implementation of these methods is required to avoid
- * defining the entity bean class as abstract.
- * - The entity bean class must implement the business methods, and the
- * ejbCreate, ejbPostCreate, and ejbFind<METHOD> methods as described
- * later in this section.
- * - The entity bean class may have superclasses and/or superinterfaces.
- * If the entity bean has superclasses, the business methods, the
- * ejbCreate and ejbPostCreate methods, the finder methods, and the
- * methods of the EntityBean interface may be implemented in the
- * enterprise bean class or in any of its superclasses.
- * - The entity bean class is allowed to implement other methods (for
- * example helper methods invoked internally by the business methods)
- * in addition to the methods required by the EJB specification.
- *...
- */
- public void validateClass(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws InvalidInputException {
- vc.terminateIfCancelled();
-
- buildComponentParents(bean);
-
- // The class must implement, directly or indirectly, the javax.ejb.EntityBean (for entity beans),
- // or the javax.ejb.SessionBean (for session beans), interface.
- if (!ValidationRuleUtility.isAssignableFrom(clazz, ValidationRuleUtility.getType(getParentName(), bean))) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2013, IEJBValidationContext.ERROR, bean, clazz, new String[] {clazz.getQualifiedName(), getParentName()}, this);
- vc.addMessage(message);
- }
-
- // For both entity and session beans, the class must be public.
- if (!clazz.isPublic()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2022, IEJBValidationContext.ERROR, bean, clazz, new String[] { clazz.getQualifiedName()}, this);
- vc.addMessage(message);
- }
-
- // For both entity and session beans, the class must not be abstract.
- if (clazz.isAbstract()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2014, IEJBValidationContext.ERROR, bean, clazz, new String[] { clazz.getQualifiedName()}, this);
- vc.addMessage(message);
- }
-
- // For both entity and session beans, the class must not be final.
- if (clazz.isFinal()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2015, IEJBValidationContext.ERROR, bean, clazz, new String[] { clazz.getQualifiedName()}, this);
- vc.addMessage(message);
- }
-
- if (ValidationRuleUtility.isUnnamedPackage(clazz.getJavaPackage())) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2041, IEJBValidationContext.INFO, bean, clazz, this);
- vc.addMessage(message);
- }
-
- validateAppendixB(vc, bean, clazz);
- }
-
- /**
- * 9.2.3 ejbCreate methods
- * - The entity bean class may define zero or more ejbCreate(...) methods whose signatures
- * must follow these rules:
- * - The method name must be ejbCreate.
- * - The method must be declared as public.
- * - The method must not be declared as final or static.
- * - The return type must be the entity bean's primary key type.
- * - The method argument and return value types must be legal types for RMI-IIOP.
- * - The throws clause may define arbitrary application specific exceptions,
- * including the javax.ejb.CreateException.
- * - Compatibility Note: EJB 1.0 allowed the ejbCreate method to throw the
- * java.rmi.RemoteException to indicate a non-application exception. This
- * practice is deprecated in EJB 1.1 -- an EJB 1.1 compliant enterprise bean
- * should throw the javax.ejb.EJBException or another java.lang.RuntimeException
- * to indicate non-application exceptions to the Container (see Section 12.2.2).
- * - The entity object created by the ejbCreate method must have a unique primary key.
- * This means that the primary key must be different from the primary keys of all
- * the existing entity objects within the same home. The ejbCreate method should
- * throw the DuplicateKeyException on an attempt to create an entity object with
- * a duplicate primary key. However, it is legal to reuse the primary key of a
- * previously removed entity object.
- *
- * 9.2.8 Entity bean's home interface
- * The following are the requirements for the entity bean's home interface:
- * - Each create method must be named "create", and it must match one of the
- * ejbCreate methods defined in the enterprise Bean class. The matching
- * ejbCreate method must have the same number and types of its arguments.
- * (Note that the return type is different.)
- * - All the exceptions defined in the throws clause of the matching ejbCreate
- * and ejbPostCreate methods of the enterprise Bean class must be included in
- * the throws clause of the matching create method of the home interface
- * (i.e the set of exceptions defined for the create method must be a superset
- * of the union of exceptions defined for the ejbCreate and ejbPostCreate methods)
- *...
- *
- * 9.4.2 ejbCreate, ejbPostCreate
- *...
- * - The ejbCreate(...) methods must be defined to return the primary key class type.
- * The implementation of the ejbCreate(...) methods should be coded to return a null.
- * The returned value is ignored by the Container.
- *...
- */
- public void validateEjbCreateMethod_homeDep(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws InvalidInputException {
- vc.terminateIfCancelled();
-
- // The method which calls this method must have already tested that the method name is ejbCreate.
- if (method == null) {
- return;
- }
-
- Method createMethod = getMatchingHomeCreateMethodExtended(vc, bean, clazz, method);
- if (createMethod == null) {
- // Can't check the exceptions of a method which doesn't exist.
- return;
- }
-
- // Whether this is from a component inheritance or not, if the method exists on the
- // home, check that the method follows the spec.
-
- // Section 6.10.6 (session), 9.2.8 (entity), declare that all exceptions declared
- // on the ejbCreate, ejbPostCreate methods must be defined in the throws clause of
- // the matching create of the home interface.
- Set exceptions = ValidationRuleUtility.getNotSubsetExceptions(bean, method, createMethod);
- if (exceptions.size() > 0) {
- Iterator iterator = exceptions.iterator();
- while (iterator.hasNext()) {
- JavaClass exc = (JavaClass) iterator.next();
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2420, IEJBValidationContext.ERROR, bean, clazz, method, new String[] { exc.getQualifiedName(), bean.getHomeInterface().getQualifiedName()}, this);
- vc.addMessage(message);
- }
- }
-
- }
-
- public void validateHelperMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) {
- //Default
- }
-
- public void validateNoRemoteException(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method, String messagePrefix) throws InvalidInputException {
- // EJB 2.0 added "throws InvalidInputException" above
- if (method == null) {
- return;
- }
-
- if(!ValidationRuleUtility.doesNotThrowRemoteException(bean, method)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, messagePrefix, IEJBValidationContext.WARNING, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- }
-
- /**
- * 18.1.2 Programming restrictions
- *...
- * - An enterprise Bean must not use read/write static fields. Using read-only static fields is
- * allowed. Therefore, it is recommended that all static fields in the enterprise bean class be
- * declared as final.
- *...
- */
- protected void validateStaticField(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Field field) throws InvalidInputException {
- if (field == null) {
- return;
- }
-
- // An enterprise Bean must not use read/write static fields. Using read-only static fields is
- // allowed. Therefore, it is recommended that all static fields in the enterprise bean class be
- // declared as final.
- if (field.isStatic() && !field.isFinal()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2200, IEJBValidationContext.WARNING, bean, clazz, field, this);
- vc.addMessage(message);
- }
- }
-
- public void validateMatchingMethodExceptions(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method, JavaClass matchingClazz, Method matchingMethod) {
- // Every exception thrown on the bean class' method must be thrown on the component/home method
- /* Don't check for this here - let the home & component do it.
- Set exceptions = ValidationRuleUtility.getNotSubsetExceptions(bean, method, matchingMethod);
- Iterator eiterator = exceptions.iterator();
- while(eiterator.hasNext()) {
- }
- */
-
- // Every exception thrown by the component/home method should be thrown or there may be compile errors
- Set exceptions = ValidationRuleUtility.getNotSubsetSubtypeExceptions(bean, matchingMethod, method);
- Iterator eiterator = exceptions.iterator();
- while(eiterator.hasNext()) {
- JavaClass exception = (JavaClass)eiterator.next();
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2456, IEJBValidationContext.WARNING, bean, clazz, method, new String[]{exception.getJavaName(), matchingClazz.getJavaName()}, this);
- vc.addMessage(message);
- }
- }
-
- protected void validateAppendixB(IEJBValidationContext vc, EnterpriseBean bean, JavaClass thisEjbObject) {
- // The Java inheritance structure must match the EJB inheritance structure.
- // e.g. if EJB B is a child of EJB A, then class B must be a child of class A.
- // B could be a grandchild (or great-grandchild or ...) of A.
- if(bean == null) {
- return;
- }
- EnterpriseBean supertype = getSuperType(bean);
- JavaClass parentEjbObject = null;
- if (supertype != null) {
- parentEjbObject = supertype.getEjbClass();
-
- // EJBObject a Xchild of parent EJBObject (X = child, grandchild, great-grandchild, etc.)
- try {
- ValidationRuleUtility.isValidType(thisEjbObject);
- ValidationRuleUtility.isValidType(parentEjbObject);
- if (!ValidationRuleUtility.isAssignableFrom(thisEjbObject, parentEjbObject)) {
- String[] msgParm = new String[] { thisEjbObject.getQualifiedName(), parentEjbObject.getQualifiedName()};
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2103, IEJBValidationContext.ERROR, bean, thisEjbObject, msgParm, this);
- vc.addMessage(message);
- }
- }
- catch (InvalidInputException e) {
- String[] msgParm = { e.getJavaClass().getQualifiedName(), bean.getName()};
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2849, IEJBValidationContext.WARNING, bean, msgParm, this);
- vc.addMessage(message);
- }
- }
-
-// validateAppendixB(vc, supertype, parentEjbObject);
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AValidateEJB.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AValidateEJB.java
deleted file mode 100644
index e5886629f..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AValidateEJB.java
+++ /dev/null
@@ -1,375 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.logging.Level;
-
-import org.eclipse.jem.java.Field;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaParameter;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jem.util.logger.LogEntry;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.MessageLimitException;
-
-/**
- * Insert the type's description here.
- * Creation date: (1/5/01 11:51:09 AM)
- * @author: Administrator
- */
-public abstract class AValidateEJB extends AValidationRule {
- private List roleMethodNames;
-
- public void reset() {
- super.reset();
- if(roleMethodNames != null) {
- roleMethodNames.clear();
- roleMethodNames = null; // in this case, clearing the list isn't enough, because it is legal to have zero role names. Must be null or we'll keep trying to reload the role names just because there are zero role names.
- }
- }
-
- /**
- * Insert the method's description here.
- * Creation date: (9/5/2001 12:36:39 PM)
- * @return java.util.List
- */
- protected List getRoleMethodNames(IEJBValidationContext vc, EnterpriseBean bean) {
- try {
- if (roleMethodNames == null && bean != null) {
- roleMethodNames = getRoleMethodNamesExtended(bean);
- }
- return roleMethodNames;
- }
- catch (Throwable exc) {
- Logger logger = vc.getMsgLogger();
- if (logger != null && logger.isLoggingLevel(Level.FINER)) {
- logger.write(Level.FINER, exc);
- }
- return Collections.EMPTY_LIST;
- }
- }
-
- protected boolean isEjbRelationshipRoleMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) {
- if (method == null)
- return false;
- List aRoleMethodNames = getRoleMethodNames(vc, bean);
- if(aRoleMethodNames != null && !aRoleMethodNames.isEmpty())
- return aRoleMethodNames.contains(method.getName());
- return false;
- }
-
- /**
- * Return true if the field can, and should, be validated.
- * Filter out faulty fields (i.e., null), and fields which
- * belong to the base type, whatever that is. (e.g. java.lang.Object)
- */
- protected boolean isValid(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Field field, List[] fieldsExtendedLists) throws InvalidInputException {
- // The following call checks if the type reflected properly
- ValidationRuleUtility.isValidType(ValidationRuleUtility.getType(field));
-
- if (field.getName().equals(IMethodAndFieldConstants.FIELDNAME_SERIALVERSIONUID)) {
- return false;
- }
-
- return true;
- }
-
- /**
- * Return true if the method can, and should, be validated.
- * Filter out faulty methods (i.e., null), and methods which
- * belong to the base type, whatever that is. (e.g. java.lang.Object)
- */
- protected boolean isValid(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedList) throws InvalidInputException {
- if (method == null) {
- throw new InvalidInputException();
- }
- return true;
- }
-
- /**
- * This method actually does the validation. Since many of the classes do
- * not validate fields now, implement this method as a no-op so that the
- * classes compile.
- */
- public void primValidate(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Field field) throws InvalidInputException {
- //Default
- }
-
- /**
- * This method actually does the validation.
- */
- public abstract void primValidate(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method ejbMethod) throws InvalidInputException;
-
- /**
- * This method does the actual checking (if ejbMethod exists).
- */
- protected abstract void primValidateExistence(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method ejbMethod) throws InvalidInputException;
-
- protected abstract List[] getMethodsExtended(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz);
- protected abstract List[] getFieldsExtended(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz);
-
- protected final void reflectionError(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws MessageLimitException {
- vc.removeMessages(clazz);
-
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2907, IEJBValidationContext.ERROR, bean, clazz, new String[]{clazz.getQualifiedName()}, this);
- vc.addMessage(message);
- }
-
- protected final void reflectionWarning(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Field field, InvalidInputException e) {
- // One of two cases where we care if the type is on this class or not (i.e., not leaving it up to MessageUtility)
- String[] msgParm = null;
- String javaClassName = (e.getJavaClass() == null) ? "?" : e.getJavaClass().getQualifiedName(); //$NON-NLS-1$
- if(ValidationRuleUtility.onClass(clazz, field)) {
- msgParm = new String[] {String.valueOf(field.getName()), String.valueOf(javaClassName)};
- }
- else {
- msgParm = new String[] {javaClassName}; // MessageUtility will substitute in the name of the field
- }
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2433, IEJBValidationContext.WARNING, bean, clazz, field, msgParm, this);
- vc.addMessage(message);
- }
-
- protected final void reflectionWarning(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method, InvalidInputException e) {
- // One of two cases where we care if the type is on this class or not (i.e., not leaving it up to MessageUtility)
- String[] msgParm = null;
- String javaClassName = (e.getJavaClass() == null) ? "?" : e.getJavaClass().getQualifiedName(); //$NON-NLS-1$
- if(ValidationRuleUtility.onClass(clazz, method)) {
- msgParm = new String[] {method.getMethodElementSignature(), javaClassName};
- }
- else {
- msgParm = new String[] {javaClassName}; // MessageUtility will substitute in the name of the field
- }
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2433, IEJBValidationContext.WARNING, bean, clazz, method, msgParm, this);
- vc.addMessage(message);
- }
-
- public final void validate(IEJBValidationContext vc, Object targetParent, Object target) throws ValidationException {
- vc.terminateIfCancelled();
-
- EnterpriseBean bean = (EnterpriseBean)targetParent;
- JavaClass clazz = (JavaClass)target;
-
- try {
- // check if all of the types in the bean reflected properly
- ValidationRuleUtility.isValidTypeHierarchy(bean, clazz);
-
- vc.subtask(IEJBValidatorConstants.STATUS_VALIDATING, new String[]{clazz.getQualifiedName()});
- validateClass(vc, bean, clazz);
- validateMethods(vc, bean, clazz);
- validateFields(vc, bean, clazz);
- }
- catch(InvalidInputException e) {
- reflectionError(vc, bean, clazz);
- return;
- }
- catch(MessageLimitException e) {
- throw e;
- }
- catch(ValidationCancelledException e) {
- throw e;
- }
- }
-
- /**
- * This method should be called to avoid validating a Field more
- * than once. This is not used for checking the existence of a field.
- */
- public final void validate(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Field field, List[] fieldsExtendedList) throws InvalidInputException {
- if (isValid(vc, bean, clazz, field, fieldsExtendedList)) {
- primValidate(vc, bean, clazz, field);
- }
- }
-
- /**
- * This method should be called to avoid validating a Method more
- * than once. This is not used for checking the existence of a method.
- */
- public final void validate(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method ejbMethod, List[] methodsExtendedList) throws InvalidInputException {
- if (isValid(vc, bean, clazz, ejbMethod, methodsExtendedList)) {
- primValidate(vc, bean, clazz, ejbMethod);
- }
- }
- /**
- * Checks to see if @ejbMethod is one of the required methods.
- */
- protected final void validateExistence(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method ejbMethod, List[] methodsExtendedList) throws InvalidInputException {
- if (isValid(vc, bean, clazz, ejbMethod, methodsExtendedList)) {
- primValidateExistence(vc, bean, clazz, ejbMethod);
- }
- }
-
- public void validateClass(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws InvalidInputException {
- //Default
- }
-
- public final void validateFields(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws ValidationCancelledException, InvalidInputException, ValidationException {
- vc.terminateIfCancelled();
-
- // Whenever looping over an entire list, always use an
- // iterator instead of a for loop, for performance reasons.
- // If the list is an instance of a linked list, for example,
- // the get(i) call can take a long time.
- List fields = clazz.getFieldsExtended();
- Iterator iterator = fields.iterator();
- Field field = null;
- List[] fieldsExtendedList = getFieldsExtended(vc, bean, clazz);
- while (iterator.hasNext()) {
- vc.terminateIfCancelled();
- field = (Field) iterator.next();
- if (field == null) {
- Logger logger = vc.getMsgLogger();
- if (logger != null && logger.isLoggingLevel(Level.FINEST)) {
- LogEntry entry = vc.getLogEntry();
- entry.setSourceID("AValidateEJB.validateFields()"); //$NON-NLS-1$
- entry.setText("A field is null on " + clazz); //$NON-NLS-1$
- logger.write(Level.FINEST, entry);
- }
- continue;
- }
- try {
- validate(vc, bean, clazz, field, fieldsExtendedList);
- }
- catch (InvalidInputException e) {
- reflectionWarning(vc, bean, clazz, field, e);
- }
- }
- vc.terminateIfCancelled();
- }
-
- /**
- * Verifies that a given method is RMI legal.
- * This means that their argument and return values must be of valid types
- * for RMI/IIOP, and their throws clause must include the java.rmi.RemoteException.
- */
- public final void validateLegalRMIMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws InvalidInputException {
- vc.terminateIfCancelled();
- validateLegalRMIMethodWithoutExceptions(vc, bean, clazz, method);
- validateLegalRMIMethodExceptions(vc, bean, clazz, method);
- }
-
- /**
- * Verifies that a given method is RMI legal.
- * This means that their argument and return values must be of valid types
- * for RMI/IIOP, and their throws clause must include the java.rmi.RemoteException.
- */
- public final void validateLegalRMIMethodArguments(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws InvalidInputException {
- vc.terminateIfCancelled();
-
- if (method == null) {
- return;
- }
-
- JavaParameter[] args = method.listParametersWithoutReturn();
- for (int i = 0; i < args.length; i++) {
- vc.terminateIfCancelled();
-
- if (!ValidationRuleUtility.isLegalRMI_IIOPType(bean, args[i].getJavaType())) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2413, IEJBValidationContext.INFO, bean, clazz, method, new String[]{args[i].getQualifiedName()}, this);
- vc.addMessage(message);
- }
- }
- }
-
- /**
- * Verifies that a given method is RMI legal.
- * This means that their argument and return values must be of valid types
- * for RMI/IIOP, and their throws clause must include the java.rmi.RemoteException.
- */
- public final void validateLegalRMIMethodExceptions(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws InvalidInputException {
- vc.terminateIfCancelled();
-
- if (method == null) {
- return;
- }
-
- if (!ValidationRuleUtility.throwsRemoteExceptionOrParent(bean, method)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2414, IEJBValidationContext.ERROR, bean, clazz, method, new String[]{ITypeConstants.CLASSNAME_JAVA_RMI_REMOTEEXCEPTION}, this);
- vc.addMessage(message);
- }
- }
-
- /**
- * Verifies that a given method is RMI legal, but doesn't check the exceptions.
- * This means that the method's argument and return values must be of valid types
- * for RMI/IIOP.
- */
- public final void validateLegalRMIMethodReturnType(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws InvalidInputException {
- vc.terminateIfCancelled();
- if (method == null) {
- return;
- }
-
- if (!ValidationRuleUtility.isLegalRMI_IIOPType(bean, method.getReturnType())) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2412, IEJBValidationContext.INFO, bean, clazz, method, this);
- vc.addMessage(message);
- }
- }
-
- /**
- * Verifies that a given method is RMI legal, but doesn't check the exceptions.
- * This means that the method's argument and return values must be of valid types
- * for RMI/IIOP.
- */
- public final void validateLegalRMIMethodWithoutExceptions(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws InvalidInputException {
- vc.terminateIfCancelled();
- validateLegalRMIMethodArguments(vc, bean, clazz, method);
- validateLegalRMIMethodReturnType(vc, bean, clazz, method);
- }
-
- /**
- * Final check to see if required methods were detected.
- */
- protected abstract void validateMethodExists(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws InvalidInputException;
-
- public final void validateMethods(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws ValidationCancelledException, InvalidInputException, ValidationException {
- vc.terminateIfCancelled();
-
- // Whenever looping over an entire list, always use an
- // iterator instead of a for loop, for performance reasons.
- // If the list is an instance of a linked list, for example,
- // the get(i) call can take a long time.
- Method[] ejbMethods = clazz.listMethodExtended();
- Method method = null;
- List[] methodsExtendedList = getMethodsExtended(vc, bean, clazz);
- for(int i=0; i<ejbMethods.length; i++) {
- vc.terminateIfCancelled();
- method = ejbMethods[i];
- if (method == null) {
- // No point adding a validation message, because the user can't do anything.
- // Log this condition.
- Logger logger = vc.getMsgLogger();
- if (logger != null && logger.isLoggingLevel(Level.FINEST)) {
- LogEntry entry = vc.getLogEntry();
- entry.setSourceID("AValidateEJB.validateMethods()"); //$NON-NLS-1$
- entry.setText("On " + clazz + ", there is a null method."); //$NON-NLS-1$ //$NON-NLS-2$
- logger.write(Level.FINEST, entry);
- }
- continue;
- }
- try {
- validateExistence(vc, bean, clazz, method, methodsExtendedList);
- validate(vc, bean, clazz, method, methodsExtendedList);
- }
- catch (InvalidInputException e) {
- reflectionWarning(vc, bean, clazz, method, e);
- }
- }
- validateMethodExists(vc, bean, clazz);
- vc.terminateIfCancelled();
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AValidateEntityBean.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AValidateEntityBean.java
deleted file mode 100644
index e2d518a3a..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AValidateEntityBean.java
+++ /dev/null
@@ -1,1001 +0,0 @@
-package org.eclipse.jst.j2ee.model.internal.validation;
-
-/*
-* Licensed Material - Property of IBM
-* (C) Copyright IBM Corp. 2001 - All Rights Reserved.
-* US Government Users Restricted Rights - Use, duplication or disclosure
-* restricted by GSA ADP Schedule Contract with IBM Corp.
-*/
-
-import java.util.Iterator;
-import java.util.Set;
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaHelpers;
-import org.eclipse.jem.java.JavaParameter;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.jst.j2ee.ejb.Entity;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-
-/**
- * This class checks entity bean classes for errors or potential errors.
- * If any problems are found, an error, warning, or info marker is added to the task list.
- *
- * The following paragraph is taken from
- * Enterprise JavaBeans Specification ("Specification")
- * Version: 1.1
- * Status: Final Release
- * Release: 12/17/99
- * Copyright 1999 Sun Microsystems, Inc.
- * 901 San Antonio Road, Palo Alto, CA 94303, U.S.A.
- * All rights reserved.
- *
- *
- * All 9.2.X sections describe BMP requirements.
- * If a CMP requirement is different than these, then the differences are
- * documented in 9.4.X sections.
- *
- * 9.1.5.1 Entity bean instance's view: ... The entity Bean Provider is responsible
- * for implementing the following methods in the entity bean class:...
- *
- * 9.2.2 Enterprise bean class
- * - The following are the requirements for an entity bean class:
- * - The class must implement, directly or indirectly, the javax.ejb.EntityBean interface.
- * - The class must be defined as public and must not be abstract.
- * - The class must not be defined as final.
- * - The class must define a public constructor that takes no arguments.
- * - The class must not define the finalize() method.
- * - The class may, but is not required to, implement the entity bean's remote interface [9].
- * If the class implements the entity bean's remote interface, the class must provide no-op
- * implementations of the methods defined in the javax.ejb.EJBObject interface. The container
- * will never invoke these methods on the bean instances at runtime.
- * - A no-op implementation of these methods is required to avoid
- * defining the entity bean class as abstract.
- * - The entity bean class must implement the business methods, and the
- * ejbCreate, ejbPostCreate, and ejbFind<METHOD> methods as described
- * later in this section.
- * - The entity bean class may have superclasses and/or superinterfaces.
- * If the entity bean has superclasses, the business methods, the
- * ejbCreate and ejbPostCreate methods, the finder methods, and the
- * methods of the EntityBean interface may be implemented in the
- * enterprise bean class or in any of its superclasses.
- * - The entity bean class is allowed to implement other methods (for
- * example helper methods invoked internally by the business methods)
- * in addition to the methods required by the EJB specification.
- *
- * 9.2.3 ejbCreate methods
- * - The entity bean class may define zero or more ejbCreate(...) methods whose signatures
- * must follow these rules:
- * - The method name must be ejbCreate.
- * - The method must be declared as public.
- * - The method must not be declared as final or static.
- * - The return type must be the entity bean's primary key type.
- * - The method argument and return value types must be legal types for RMI-IIOP.
- * - The throws clause may define arbitrary application specific exceptions,
- * including the javax.ejb.CreateException.
- * - Compatibility Note: EJB 1.0 allowed the ejbCreate method to throw the
- * java.rmi.RemoteException to indicate a non-application exception. This
- * practice is deprecated in EJB 1.1 -- an EJB 1.1 compliant enterprise bean
- * should throw the javax.ejb.EJBException or another java.lang.RuntimeException
- * to indicate non-application exceptions to the Container (see Section 12.2.2).
- * - The entity object created by the ejbCreate method must have a unique primary key.
- * This means that the primary key must be different from the primary keys of all
- * the existing entity objects within the same home. The ejbCreate method should
- * throw the DuplicateKeyException on an attempt to create an entity object with
- * a duplicate primary key. However, it is legal to reuse the primary key of a
- * previously removed entity object.
- *
- * 9.2.4 ejbPostCreate methods
- * - For each ejbCreate(...) method, the entity bean class must define a matching
- * ejbPostCreate(...) method, using the following rules:
- * - The method name must be ejbPostCreate.
- * - The method must be declared as public.
- * - The method must not be declared as final or static.
- * - The return type must be void.
- * - The method arguments must be the same as the arguments of the matching ejbCreate(...) method.
- * - The throws clause may define arbitrary application specific exceptions, including the javax.ejb.CreateException.
- * - Compatibility Note: EJB 1.0 allowed the ejbPostCreate method to throw the
- * java.rmi.RemoteExceptionto indicate a non-application exception. This practice is deprecated in EJB 1.1 -- an EJB 1.1
- * compliant enterprise bean should throw the javax.ejb.EJBException or another java.lang.RuntimeException
- * to indicate non-application exceptions to the Container (see Section 12.2.2).
- *
- * 9.2.5 ejbFind methods
- * - The entity bean class may also define additional ejbFind<METHOD>(...) finder methods.
- * - The signatures of the finder methods must follow the following rules:
- * - A finder method name must start with the prefix "ejbFind"
- * (e.g. ejbFindByPrimaryKey, ejbFindLargeAccounts, ejbFindLateShipments).
- * - A finder method must be declared as public.
- * - The method must not be declared as final or static.
- * - The method argument types must be legal types for RMI-IIOP.
- * - The return type of a finder method must be the entity bean's primary key type,
- * or a collection of primary keys (see Section Subsection 9.1.8).
- * - The throws clause may define arbitrary application specific exceptions, including
- * the javax.ejb.FinderException.
- * - Every entity bean must define the ejbFindByPrimaryKey method. The result type for
- * this method must be the primary key type (i.e. the ejbFindByPrimaryKey method must
- * be a single-object finder).
- * - Compatibility Note: EJB 1.0 allowed the finder methods to throw the
- * java.rmi.RemoteException to indicate a non-application exception.
- * This practice is deprecated in EJB 1.1 -- an EJB 1.1 compliant enterprise bean
- * should throw the javax.ejb.EJBException or another java.lang.RuntimeException
- * to indicate non-application exceptions to the Container (see Section 12.2.2).
- *
- * 9.2.6 Business methods
- * - The entity bean class may define zero or more business methods whose signatures
- * must follow these rules:
- * - The method names can be arbitrary, but they must not start with 'ejb' to
- * avoid conflicts with the callback methods used by the EJB architecture.
- * - The business method must be declared as public.
- * - The method must not be declared as final or static.
- * - The method argument and return value types must be legal types for RMI-IIOP.
- * - The throws clause may define arbitrary application specific exceptions.
- * - Compatibility Note: EJB 1.0 allowed the business methods to throw the
- * java.rmi.RemoteException to indicate a non-application exception. This
- * practice is deprecated in EJB 1.1 -- an EJB 1.1 compliant enterprise bean
- * should throw the javax.ejb.EJBException or another java.lang.RuntimeException
- * to indicate non-application exceptions to the Container (see Section 12.2.2).
- *...
- * 9.2.9 Entity bean's primary key class
- *...
- * - The primary key type must be a legal Value Type in RMI-IIOP.
- *...
- *
- * 9.4.1 Container-managed fields
- *...
- * - The following requirements ensure that an entity bean can be deployed in any
- * compliant container.
- * - The Bean Provider must ensure that the Java programming language types
- * assigned to the container-managed fields are restricted to the following:
- * Java programming language primitive types, Java programming language
- * serializable types, and references of enterprise beans' remote or home
- * interfaces.
- * - The Container Provider may, but is not required to, use Java programming
- * language Serialization to store the container-managed fields in the database.
- * If the container chooses a different approach, the effect should be equivalent
- * to that of Java programming language Serialization. The Container must also be
- * capable of persisting references to enterprise beans' remote and home interfaces
- * (for example, by storing their handle or primary key).
- *...
- *
- * 9.4.2 ejbCreate, ejbPostCreate
- *...
- * - The ejbCreate(...) methods must be defined to return the primary key class type.
- * The implementation of the ejbCreate(...) methods should be coded to return a null.
- * The returned value is ignored by the Container.
- *...
- *
- * 9.4.6 finder methods
- * - The entity Bean Provider does not write the finder (ejbFind<METHOD>(...)) methods.
- *...
- * 9.4.7 primary key type
- * - The container must be able to manipulate the primary key type. Therefore,
- * the primary key type for an entity bean with container-managed persistence
- * must follow the rules in this subsection, in addition to those specified in
- * Subsection 9.2.9.
- *
- * There are two ways to specify a primary key class for an entity bean with container-managed persistence:
- * - Primary key that maps to a single field in the entity bean class.
- * - Primary key that maps to multiple fields in the entity bean class.
- * The second method is necessary for implementing compound keys, and the first method is convenient for
- * single-field keys. Without the first method, simple types such as String would have to be wrapped in a
- * user-defined class.
- *
- * 9.4.7.1 Primary key that maps to a single field in the entity bean class
- * The Bean Provider uses the primkey-field element of the deployment descriptor to specify the
- * container-managed field of the entity bean class that contains the primary key. The field's type must be
- * the primary key type.
- *
- * 9.4.7.2 Primary key that maps to multiple fields in the entity bean class
- * The primary key class must be public, and must have a public constructor with no parameters.
- * All fields in the primary key class must be declared as public.
- * The names of the fields in the primary key class must be a subset of the names of the container-managed
- * fields. (This allows the container to extract the primary key fields from an instance's container-managed
- * fields, and vice versa.)
- *
- * 9.4.7.3 Special case: Unknown primary key class
- * In special situations, the entity Bean Provider may choose not to specify the primary key class for an
- * entity bean with container-managed persistence. This case usually happens when the entity bean does
- * not have a natural primary key, and the Bean Provider wants to allow the Deployer to select the primary
- * key fields at deployment time. The entity bean's primary key type will usually be derived from the primary
- * key type used by the underlying database system that stores the entity objects. The primary key
- * used by the database system may not be known to the Bean Provider.
- * When defining the primary key for the enterprise bean, the Deployer may sometimes need to subclass
- * the entity bean class to add additional container-managed fields (this typically happens for entity beans
- * that do not have a natural primary key, and the primary keys are system-generated by the underlying
- * database system that stores the entity objects).
- * In this special case, the type of the argument of the findByPrimaryKey method must be declared as
- * java.lang.Object, and the return value of ejbCreate() must be declared as
- * java.lang.Object. The Bean Provider must specify the primary key class in the deployment
- * descriptor as of the type java.lang.Object.
- * The primary key class is specified at deployment time in the situations when the Bean Provider develops
- * an entity bean that is intended to be used with multiple back-ends that provide persistence, and when
- * these multiple back-ends require different primary key structures.
- * Use of entity beans with a deferred primary key type specification limits the client application programming
- * model, because the clients written prior to deployment of the entity bean may not use, in general,
- * the methods that rely on the knowledge of the primary key type.
- * The implementation of the enterprise bean class methods must be done carefully. For example, the meth-ods
- * should not depend on the type of the object returned from EntityContext.getPrimaryKey(), because
- * the return type is determined by the Deployer after the EJB class has been written.
- *
- */
-public abstract class AValidateEntityBean extends AValidateBean {
- protected final static String JAVAX_EJB_ENTITYBEAN = "javax.ejb.EntityBean"; //$NON-NLS-1$
- protected final static String SETENTITYCONTEXT = "setEntityContext"; //$NON-NLS-1$
- protected final static String UNSETENTITYCONTEXT = "unsetEntityContext"; //$NON-NLS-1$
- protected final static String EJBLOAD = "ejbLoad"; //$NON-NLS-1$
- protected final static String EJBSTORE = "ejbStore"; //$NON-NLS-1$
- protected final static String JAVAX_EJB_ENTITYCONTEXT = "javax.ejb.EntityContext"; //$NON-NLS-1$
- private boolean hasValidConstructor = false;
- private boolean hasAConstructor = false;
- private boolean hasSetEntityContext = false;
- private boolean hasUnsetEntityContext = false;
- private boolean hasEjbActivate = false;
- private boolean hasEjbPassivate = false;
- private boolean hasEjbRemove = false;
- private boolean hasEjbLoad = false;
- private boolean hasEjbStore = false;
-
- /**
- * Given a bean's ejbFind method, return the matching find method from
- * the home, if it exists. If not, return null.
- */
- public Method getMatchingHomeFindMethodExtended(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws InvalidInputException {
- vc.terminateIfCancelled();
- if (method == null) {
- return null;
- }
-
- if (bean == null) {
- return null;
- }
-
- return ValidationRuleUtility.getMethodExtended(bean.getHomeInterface(), method, IMethodAndFieldConstants.PREFIX_FIND);
- }
- /**
- * getParentName method comment.
- */
- protected String getParentName() {
- return JAVAX_EJB_ENTITYBEAN;
- }
-
- public boolean isFrameworkMethod(String name) {
- if (name == null) {
- return false;
- }
-
- if (super.isFrameworkMethod(name)) {
- return true;
- }
- // check for entity-specific methods
- else if (name.equals(IMethodAndFieldConstants.METHODNAME_EJBLOAD)) {
- return true;
- }
- else if (name.equals(IMethodAndFieldConstants.METHODNAME_EJBSTORE)) {
- return true;
- }
- else if (name.equals(IMethodAndFieldConstants.METHODNAME_SETENTITYCONTEXT)) {
- return true;
- }
- else if (name.equals(IMethodAndFieldConstants.METHODNAME_UNSETENTITYCONTEXT)) {
- return true;
- }
-
- return false;
- }
-
- /**
- * Checks that the methods in the entity bean class follow the EJB 1.1. specification,
- * and that there are no missing required methods.
- *
- * 9.2.2 Enterprise bean class
- *...
- * - The following are the requirements for an entity bean class:
- *...
- * - The class must define a public constructor that takes no arguments.
- * - The class must not define the finalize() method.
- *...
- * - The entity bean class must implement the business methods, and the
- * ejbCreate, ejbPostCreate, and ejbFind<METHOD> methods as described
- * later in this section.
- * - The entity bean class may have superclasses and/or superinterfaces.
- * If the entity bean has superclasses, the business methods, the
- * ejbCreate and ejbPostCreate methods, the finder methods, and the
- * methods of the EntityBean interface may be implemented in the
- * enterprise bean class or in any of its superclasses.
- * - The entity bean class is allowed to implement other methods (for
- * example helper methods invoked internally by the business methods)
- * in addition to the methods required by the EJB specification.
- */
- public void primValidate(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method ejbMethod) throws InvalidInputException {
- // Can't invoke an abstract method
- //super.primValidate(ejbMethod);
-
- vc.terminateIfCancelled();
-
- String name = ejbMethod.getName();
- if (name.equals(IMethodAndFieldConstants.METHODNAME_EJBCREATE))
- validateEjbCreateMethod(vc, bean, clazz, ejbMethod);
- else if (name.equals(IMethodAndFieldConstants.METHODNAME_EJBPOSTCREATE))
- validateEjbPostCreateMethod(vc, bean, clazz, ejbMethod);
- else if (name.equals(IMethodAndFieldConstants.METHODNAME_FINALIZE))
- validateFinalize(vc, bean, clazz, ejbMethod);
- else if (name.startsWith(IMethodAndFieldConstants.PREFIX_EJBFIND))
- validateEjbFindMethod(vc, bean, clazz, ejbMethod);
- else if (isBusinessMethod(vc, bean, clazz, ejbMethod))
- validateBusinessMethod(vc, bean, clazz, ejbMethod);
- else
- validateHelperMethod(vc, bean, clazz, ejbMethod);
-
- vc.terminateIfCancelled();
- }
-
- /**
- * Checks to see if @ejbMethod is one of the required methods.
- */
- protected void primValidateExistence(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method ejbMethod) throws InvalidInputException {
- // Can't invoke an abstract method
- //super.validateExistence(ejbMethod);
-
- vc.terminateIfCancelled();
-
- String name = ejbMethod.getName();
- if (!hasSetEntityContext && name.equals(IMethodAndFieldConstants.METHODNAME_SETENTITYCONTEXT)) {
- JavaParameter[] params = ejbMethod.listParametersWithoutReturn();
- if (params.length == 1) {
- if (ValidationRuleUtility.isAssignableFrom(params[0].getJavaType(), ValidationRuleUtility.getType(ITypeConstants.CLASSNAME_JAVAX_EJB_ENTITYCONTEXT, bean))) {
- hasSetEntityContext = true;
- }
- }
- }
- else if (!hasUnsetEntityContext && name.equals(IMethodAndFieldConstants.METHODNAME_UNSETENTITYCONTEXT)) {
- if (ejbMethod.listParametersWithoutReturn().length == 0) {
- hasUnsetEntityContext = true;
- }
- }
- else if (!hasEjbActivate && name.equals(IMethodAndFieldConstants.METHODNAME_EJBACTIVATE)) {
- if (ejbMethod.listParametersWithoutReturn().length == 0) {
- hasEjbActivate = true;
- }
- }
- else if (!hasEjbPassivate && name.equals(IMethodAndFieldConstants.METHODNAME_EJBPASSIVATE)) {
- if (ejbMethod.listParametersWithoutReturn().length == 0) {
- hasEjbPassivate = true;
- }
- }
- else if (!hasEjbRemove && name.equals(IMethodAndFieldConstants.METHODNAME_EJBREMOVE)) {
- if (ejbMethod.listParametersWithoutReturn().length == 0) {
- hasEjbRemove = true;
- }
- }
- else if (!hasEjbLoad && name.equals(IMethodAndFieldConstants.METHODNAME_EJBLOAD)) {
- if (ejbMethod.listParametersWithoutReturn().length == 0) {
- hasEjbLoad = true;
- }
- }
- else if (!hasEjbStore && name.equals(IMethodAndFieldConstants.METHODNAME_EJBSTORE)) {
- if (ejbMethod.listParametersWithoutReturn().length == 0) {
- hasEjbStore = true;
- }
- }
- else if (!hasValidConstructor && ejbMethod.isConstructor()) {
- hasAConstructor = true;
- if (ValidationRuleUtility.isPublic(ejbMethod) && (ejbMethod.listParametersWithoutReturn().length == 0)) {
- hasValidConstructor = true;
- }
- }
-
- vc.terminateIfCancelled();
-
- }
-
- /**
- * 9.2.6 Business methods
- * - The entity bean class may define zero or more business methods whose signatures
- * must follow these rules:
- * - The method names can be arbitrary, but they must not start with 'ejb' to
- * avoid conflicts with the callback methods used by the EJB architecture.
- * - The business method must be declared as public.
- * - The method must not be declared as final or static.
- * - The method argument and return value types must be legal types for RMI-IIOP.
- * - The throws clause may define arbitrary application specific exceptions.
- * - Compatibility Note: EJB 1.0 allowed the business methods to throw the
- * java.rmi.RemoteException to indicate a non-application exception. This
- * practice is deprecated in EJB 1.1 -- an EJB 1.1 compliant enterprise bean
- * should throw the javax.ejb.EJBException or another java.lang.RuntimeException
- * to indicate non-application exceptions to the Container (see Section 12.2.2).
- */
- public void validateBusinessMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws InvalidInputException {
- vc.terminateIfCancelled();
-
- super.validateBusinessMethod(vc, bean, clazz, method); // make sure that name does not start with 'ejb'
-
- // The method must be declared as public.
- if (!ValidationRuleUtility.isPublic(method)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2408_bus, IEJBValidationContext.ERROR, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- // The method must not be declared as final or static.
- if (method.isStatic()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2410_bus, IEJBValidationContext.ERROR, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- if (method.isFinal()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2409_bus, IEJBValidationContext.ERROR, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- // The method argument and return value types must be legal types for RMI-IIOP.
- validateLegalRMIMethodWithoutExceptions(vc, bean, clazz, method);
-
- // The throws clause may define arbitrary application specific exceptions.
- // Compatibility Note: EJB 1.0 allowed the business methods to throw the
- // java.rmi.RemoteException to indicate a non-application exception. This
- // practice is deprecated in EJB 1.1 -- an EJB 1.1 compliant enterprise bean
- // should throw the javax.ejb.EJBException or another java.lang.RuntimeException
- // to indicate non-application exceptions to the Container (see Section 12.2.2).
- validateBusinessMethodNoRemoteException(vc, bean, clazz, method);
- }
-
- protected void validateBusinessMethodNoRemoteException(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws InvalidInputException {
- // EJB 2.0 added "throws InvalidInputException" above
- validateNoRemoteException(vc, bean, clazz, method, IMessagePrefixEjb11Constants.CHKJ2400_bus);
- }
-
- /**
- * 9.2.2 Enterprise bean class
- * - The following are the requirements for an entity bean class:
- * - The class must implement, directly or indirectly, the javax.ejb.EntityBean interface.
- * - The class must be defined as public and must not be abstract.
- * - The class must not be defined as final.
- *...
- * - The class may, but is not required to, implement the entity bean's remote interface [9].
- * If the class implements the entity bean's remote interface, the class must provide no-op
- * implementations of the methods defined in the javax.ejb.EJBObject interface. The container
- * will never invoke these methods on the bean instances at runtime.
- * - A no-op implementation of these methods is required to avoid
- * defining the entity bean class as abstract.
- * - The entity bean class must implement the business methods, and the
- * ejbCreate, ejbPostCreate, and ejbFind<METHOD> methods as described
- * later in this section.
- * - The entity bean class may have superclasses and/or superinterfaces.
- * If the entity bean has superclasses, the business methods, the
- * ejbCreate and ejbPostCreate methods, the finder methods, and the
- * methods of the EntityBean interface may be implemented in the
- * enterprise bean class or in any of its superclasses.
- * - The entity bean class is allowed to implement other methods (for
- * example helper methods invoked internally by the business methods)
- * in addition to the methods required by the EJB specification.
- */
- public void validateClass(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws InvalidInputException {
- // All of the above checks are performed by ValidateBean.
- super.validateClass(vc, bean, clazz);
-
- // Plus, check that at least one field exists on the bean.
- verifyFieldExists(vc, bean, clazz);
- }
-
- /**
- * 9.2.3 ejbCreate methods
- * - The entity bean class may define zero or more ejbCreate(...) methods whose signatures
- * must follow these rules:
- * - The method name must be ejbCreate.
- * - The method must be declared as public.
- * - The method must not be declared as final or static.
- * - The return type must be the entity bean's primary key type.
- * - The method argument and return value types must be legal types for RMI-IIOP.
- * - The throws clause may define arbitrary application specific exceptions,
- * including the javax.ejb.CreateException.
- * - Compatibility Note: EJB 1.0 allowed the ejbCreate method to throw the
- * java.rmi.RemoteException to indicate a non-application exception. This
- * practice is deprecated in EJB 1.1 -- an EJB 1.1 compliant enterprise bean
- * should throw the javax.ejb.EJBException or another java.lang.RuntimeException
- * to indicate non-application exceptions to the Container (see Section 12.2.2).
- * - The entity object created by the ejbCreate method must have a unique primary key.
- * This means that the primary key must be different from the primary keys of all
- * the existing entity objects within the same home. The ejbCreate method should
- * throw the DuplicateKeyException on an attempt to create an entity object with
- * a duplicate primary key. However, it is legal to reuse the primary key of a
- * previously removed entity object.
- *
- * 9.2.8 Entity bean's home interface
- * The following are the requirements for the entity bean's home interface:
- * - Each create method must be named "create", and it must match one of the
- * ejbCreate methods defined in the enterprise Bean class. The matching
- * ejbCreate method must have the same number and types of its arguments.
- * (Note that the return type is different.)
- * - All the exceptions defined in the throws clause of the matching ejbCreate
- * and ejbPostCreate methods of the enterprise Bean class must be included in
- * the throws clause of the matching create method of the home interface
- * (i.e the set of exceptions defined for the create method must be a superset
- * of the union of exceptions defined for the ejbCreate and ejbPostCreate methods)
- *...
- *
- * 9.4.2 ejbCreate, ejbPostCreate
- *...
- * - The ejbCreate(...) methods must be defined to return the primary key class type.
- * The implementation of the ejbCreate(...) methods should be coded to return a null.
- * The returned value is ignored by the Container.
- *...
- */
- public void validateEjbCreateMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws InvalidInputException {
- vc.terminateIfCancelled();
- // The method which calls this method has already tested that the method name is ejbCreate.
- if (method == null)
- return;
-
- // The method must be declared as public.
- if (!ValidationRuleUtility.isPublic(method)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2408_ejbCreate, IEJBValidationContext.ERROR, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- // The method must not be declared as final or static.
- if (method.isStatic()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2410_ejbCreate, IEJBValidationContext.ERROR, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- if (method.isFinal()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2409_ejbCreate, IEJBValidationContext.ERROR, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- // The method argument and return value types must be legal types for RMI-IIOP.
- // But if the bean uses java.lang.Object for a key, don't check if it's serializable.
- if(ValidationRuleUtility.usesUnknownPrimaryKey(bean)) {
- validateLegalRMIMethodArguments(vc, bean, clazz, method);
- }
- else {
- validateLegalRMIMethodWithoutExceptions(vc, bean, clazz, method);
- }
-
- // The return type must be the entity bean's primary key type; unless this is
- // a CMP, and an unkonwn primary key class is used. Read section 9.4.7.3.
- validateEjbCreateMethod_keyDep(vc, bean, clazz, method);
-
- // The throws clause may define arbitrary application specific exceptions,
- // including the javax.ejb.CreateException.
- // Compatibility Note: EJB 1.0 allowed the ejbPostCreate method to throw
- // the java.rmi.RemoteException to indicate a non-application exception.
- // This practice is deprecated in EJB 1.1 -- an EJB 1.1 compliant enterprise
- // bean should throw the javax.ejb.EJBException or another
- // java.lang.RuntimeException to indicate non-application exceptions to the
- // Container (see Section 12.2.2).
- validateNoRemoteException(vc, bean, clazz, method, IMessagePrefixEjb11Constants.CHKJ2400_ejbCreate);
-
- // Verify that there is a matching ejbPostCreate method for this ejbCreate method.
- Method ejbPostCreateMethod = ValidationRuleUtility.getMethodExtended(clazz, IMethodAndFieldConstants.METHODNAME_EJBPOSTCREATE, method.listParametersWithoutReturn());
- if (ejbPostCreateMethod == null) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2002, IEJBValidationContext.WARNING, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- // Check for a matching create method on the home, and that the exceptions on
- // this method are a subset of the exceptions of the matching method on the home.
- validateEjbCreateMethod_homeDep(vc, bean, clazz, method);
- }
-
- /**
- * 9.2.3 ejbCreate methods
- * - The entity bean class may define zero or more ejbCreate(...) methods whose signatures
- * must follow these rules:
- * - The method name must be ejbCreate.
- * - The method must be declared as public.
- * - The method must not be declared as final or static.
- * - The return type must be the entity bean's primary key type.
- * - The method argument and return value types must be legal types for RMI-IIOP.
- * - The throws clause may define arbitrary application specific exceptions,
- * including the javax.ejb.CreateException.
- * - Compatibility Note: EJB 1.0 allowed the ejbCreate method to throw the
- * java.rmi.RemoteException to indicate a non-application exception. This
- * practice is deprecated in EJB 1.1 -- an EJB 1.1 compliant enterprise bean
- * should throw the javax.ejb.EJBException or another java.lang.RuntimeException
- * to indicate non-application exceptions to the Container (see Section 12.2.2).
- * - The entity object created by the ejbCreate method must have a unique primary key.
- * This means that the primary key must be different from the primary keys of all
- * the existing entity objects within the same home. The ejbCreate method should
- * throw the DuplicateKeyException on an attempt to create an entity object with
- * a duplicate primary key. However, it is legal to reuse the primary key of a
- * previously removed entity object.
- *
- * 9.2.8 Entity bean's home interface
- * The following are the requirements for the entity bean's home interface:
- * - Each create method must be named "create", and it must match one of the
- * ejbCreate methods defined in the enterprise Bean class. The matching
- * ejbCreate method must have the same number and types of its arguments.
- * (Note that the return type is different.)
- * - All the exceptions defined in the throws clause of the matching ejbCreate
- * and ejbPostCreate methods of the enterprise Bean class must be included in
- * the throws clause of the matching create method of the home interface
- * (i.e the set of exceptions defined for the create method must be a superset
- * of the union of exceptions defined for the ejbCreate and ejbPostCreate methods)
- *...
- *
- * 9.4.2 ejbCreate, ejbPostCreate
- *...
- * - The ejbCreate(...) methods must be defined to return the primary key class type.
- * The implementation of the ejbCreate(...) methods should be coded to return a null.
- * The returned value is ignored by the Container.
- *...
- */
- public void validateEjbCreateMethod_keyDep(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws InvalidInputException {
- vc.terminateIfCancelled();
-
- // The method which calls this method has already tested that the method name is ejbCreate.
- if (method == null)
- return;
-
- // Unknown primary key class (section 9.4.7.3) is also validated by this
- // check, because the primary key must be of type java.lang.Object, and
- // the ejbCreate must return java.lang.Object.
- JavaHelpers primaryKey = null;
- if(ValidationRuleUtility.usesUnknownPrimaryKey(bean)) {
- primaryKey = ValidationRuleUtility.getType(ITypeConstants.CLASSNAME_JAVA_LANG_OBJECT, bean);
- }
- else {
- primaryKey = ((Entity) bean).getPrimaryKey();
- }
-
- // The return type must be the entity bean's primary key type.
- vc.terminateIfCancelled();
- JavaHelpers parmType = method.getReturnType();
-
- if (!ValidationRuleUtility.isAssignableFrom(parmType, primaryKey)) {
- // if the parameter type is java.lang.Object, could be section 9.4.7.3
- String keyName = (primaryKey == null) ? IEJBValidatorConstants.NULL_PRIMARY_KEY : primaryKey.getJavaName();
- String[] msgParm = {keyName};
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2406, IEJBValidationContext.WARNING, bean, clazz, method, msgParm, this);
- vc.addMessage(message);
- }
- }
-
- /**
- * 9.2.5 ejbFind methods
- * - The entity bean class may also define additional ejbFind<METHOD>(...) finder methods.
- * - The signatures of the finder methods must follow the following rules:
- * - A finder method name must start with the prefix "ejbFind"
- * (e.g. ejbFindByPrimaryKey, ejbFindLargeAccounts, ejbFindLateShipments).
- * - A finder method must be declared as public.
- * - The method must not be declared as final or static.
- * - The method argument types must be legal types for RMI-IIOP.
- * - The return type of a finder method must be the entity bean's primary key type,
- * or a collection of primary keys (see Section Subsection 9.1.8).
- * - The throws clause may define arbitrary application specific exceptions, including
- * the javax.ejb.FinderException.
- * - Every entity bean must define the ejbFindByPrimaryKey method. The result type for
- * this method must be the primary key type (i.e. the ejbFindByPrimaryKey method must
- * be a single-object finder).
- * - Compatibility Note: EJB 1.0 allowed the finder methods to throw the
- * java.rmi.RemoteException to indicate a non-application exception.
- * This practice is deprecated in EJB 1.1 -- an EJB 1.1 compliant enterprise bean
- * should throw the javax.ejb.EJBException or another java.lang.RuntimeException
- * to indicate non-application exceptions to the Container (see Section 12.2.2).
- *
- * 9.4.6 finder methods
- * - The entity Bean Provider does not write the finder (ejbFind<METHOD>(...)) methods.
- *
- * 9.4.7.3 (CMP) Special case: Unknown primary key class.
- * - In this special case, the type of the argument of the findByPrimaryKey method
- * must be declared as java.lang.Object, and the return value of ejbCreate() must
- * be declared as java.lang.Object. The Bean Provider must specify the primary key
- * class in the deployment descriptor as of the type java.lang.Object.
- * (This does not need to be validated directly, since CMPs don't implement finder methods.
- */
- public void validateEjbFindMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws InvalidInputException {
- // This method is a no-op so that the dependency classes don't have to implement it.
- // (This method will never be called in a dependency class.)
- }
-
- /**
- * 9.2.5 ejbFind methods
- * - The entity bean class may also define additional ejbFind<METHOD>(...) finder methods.
- * - The signatures of the finder methods must follow the following rules:
- * - A finder method name must start with the prefix "ejbFind"
- * (e.g. ejbFindByPrimaryKey, ejbFindLargeAccounts, ejbFindLateShipments).
- * - A finder method must be declared as public.
- * - The method must not be declared as final or static.
- * - The method argument types must be legal types for RMI-IIOP.
- * - The return type of a finder method must be the entity bean's primary key type,
- * or a collection of primary keys (see Section Subsection 9.1.8).
- * - The throws clause may define arbitrary application specific exceptions, including
- * the javax.ejb.FinderException.
- * - Every entity bean must define the ejbFindByPrimaryKey method. The result type for
- * this method must be the primary key type (i.e. the ejbFindByPrimaryKey method must
- * be a single-object finder).
- * - Compatibility Note: EJB 1.0 allowed the finder methods to throw the
- * java.rmi.RemoteException to indicate a non-application exception.
- * This practice is deprecated in EJB 1.1 -- an EJB 1.1 compliant enterprise bean
- * should throw the javax.ejb.EJBException or another java.lang.RuntimeException
- * to indicate non-application exceptions to the Container (see Section 12.2.2).
- *
- * 9.4.6 finder methods
- * - The entity Bean Provider does not write the finder (ejbFind<METHOD>(...)) methods.
- *
- * 9.4.7.3 (CMP) Special case: Unknown primary key class.
- * - In this special case, the type of the argument of the findByPrimaryKey method
- * must be declared as java.lang.Object, and the return value of ejbCreate() must
- * be declared as java.lang.Object. The Bean Provider must specify the primary key
- * class in the deployment descriptor as of the type java.lang.Object.
- * (This does not need to be validated directly, since CMPs don't implement finder methods.
- */
- public void validateEjbFindMethod_homeDep(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws InvalidInputException {
- // All the exceptions defined in the throws clause of the matching ejbCreate
- // and ejbPostCreate methods of the enterprise Bean class must be included in
- // the throws clause of the matching create method of the home interface
- // (i.e the set of exceptions defined for the create method must be a superset
- // of the union of exceptions defined for the ejbCreate and ejbPostCreate methods)
- JavaClass home = bean.getHomeInterface();
- ValidationRuleUtility.isValidTypeHierarchy(bean, home);
-
- String methodName = IMethodAndFieldConstants.PREFIX_F + method.getName().substring(4); // e.g. if the home method is named findX, then the bean method will be named ejbFindX
- Method homeMethod = ValidationRuleUtility.getMethodExtended(home, method, methodName);
- if (homeMethod == null) {
- // Then this method shouldn't have been called; unless the method exists on the remote, this bean method isn't a business method.
- return;
- }
- Set exceptions = ValidationRuleUtility.getNotSubsetExceptions(bean, method, homeMethod);
- if (exceptions.size() > 0) {
- Iterator iterator = exceptions.iterator();
- while (iterator.hasNext()) {
- JavaClass exc = (JavaClass) iterator.next();
- String[] msgParm = { exc.getQualifiedName(), home.getQualifiedName()};
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2420, IEJBValidationContext.ERROR, bean, clazz, method, msgParm, this);
- vc.addMessage(message);
- }
- }
- }
-
- /**
- * Checks that the ejbPostCreate method follows the EJB 1.1. specification.
- *
- * 9.2.4 ejbPostCreate methods
- * - For each ejbCreate(...) method, the entity bean class must define a matching
- * ejbPostCreate(...) method, using the following rules:
- * - The method name must be ejbPostCreate.
- * - The method must be declared as public.
- * - The method must not be declared as final or static.
- * - The return type must be void.
- * - The method arguments must be the same as the arguments of the matching
- * ejbCreate(...) method.
- * - The throws clause may define arbitrary application specific exceptions,
- * including the javax.ejb.CreateException.
- * Compatibility Note: EJB 1.0 allowed the ejbPostCreate method to throw
- * the java.rmi.RemoteException to indicate a non-application exception.
- * This practice is deprecated in EJB 1.1 -- an EJB 1.1 compliant enterprise
- * bean should throw the javax.ejb.EJBException or another
- * java.lang.RuntimeException to indicate non-application exceptions to the
- * Container (see Section 12.2.2).
- *...
- */
- public void validateEjbPostCreateMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws InvalidInputException {
- vc.terminateIfCancelled();
- // The method which calls this method has already tested that the method name is ejbPostCreate.
- if (method == null)
- return;
-
- // The method must be declared as public.
- if (!ValidationRuleUtility.isPublic(method)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2408_ejbPostCreate, IEJBValidationContext.ERROR, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- // The method must not be declared as final or static.
- if (method.isStatic()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2410_ejbPostCreate, IEJBValidationContext.ERROR, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- if (method.isFinal()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2409_ejbPostCreate, IEJBValidationContext.ERROR, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- vc.terminateIfCancelled();
-
- // The return type must be void.
- JavaHelpers parmType = method.getReturnType();
- String returnTypeName = ((parmType == null) ? "" : parmType.getQualifiedName()); //$NON-NLS-1$
- if (!returnTypeName.equals(ITypeConstants.VOID)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2418, IEJBValidationContext.ERROR, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- // The throws clause may define arbitrary application specific exceptions,
- // including the javax.ejb.CreateException.
- // Compatibility Note: EJB 1.0 allowed the ejbPostCreate method to throw
- // the java.rmi.RemoteException to indicate a non-application exception.
- // This practice is deprecated in EJB 1.1 -- an EJB 1.1 compliant enterprise
- // bean should throw the javax.ejb.EJBException or another
- // java.lang.RuntimeException to indicate non-application exceptions to the
- // Container (see Section 12.2.2).
- validateNoRemoteException(vc, bean, clazz, method, IMessagePrefixEjb11Constants.CHKJ2400_ejbPostCreate);
-
- // Verify that the ejbPostCreate method has a matching ejbCreate method.
- Method ejbCreateMethod = ValidationRuleUtility.getMethodExtended(clazz, IMethodAndFieldConstants.METHODNAME_EJBCREATE, method.listParametersWithoutReturn());
- if (ejbCreateMethod == null) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2028, IEJBValidationContext.WARNING, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- validateEjbPostCreateMethod_homeDep(vc, bean, clazz, method);
- }
-
- /**
- * Checks that the ejbPostCreate method follows the EJB 1.1. specification.
- *
- * 9.2.4 ejbPostCreate methods
- * - For each ejbCreate(...) method, the entity bean class must define a matching
- * ejbPostCreate(...) method, using the following rules:
- * - The method name must be ejbPostCreate.
- * - The method must be declared as public.
- * - The method must not be declared as final or static.
- * - The return type must be void.
- * - The method arguments must be the same as the arguments of the matching
- * ejbCreate(...) method.
- * - The throws clause may define arbitrary application specific exceptions,
- * including the javax.ejb.CreateException.
- * Compatibility Note: EJB 1.0 allowed the ejbPostCreate method to throw
- * the java.rmi.RemoteException to indicate a non-application exception.
- * This practice is deprecated in EJB 1.1 -- an EJB 1.1 compliant enterprise
- * bean should throw the javax.ejb.EJBException or another
- * java.lang.RuntimeException to indicate non-application exceptions to the
- * Container (see Section 12.2.2).
- *...
- */
- public void validateEjbPostCreateMethod_homeDep(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws InvalidInputException {
- vc.terminateIfCancelled();
-
- // The method which calls this method has already tested that the method name is ejbPostCreate.
- if (method == null) {
- return;
- }
-
- JavaClass homeIntf = bean.getHomeInterface();
- ValidationRuleUtility.isValidTypeHierarchy(bean, homeIntf);
-
- Method createMethod = getMatchingHomeCreateMethodExtended(vc, bean, clazz, method);
- if (createMethod == null) {
- // If the ejbCreate method is inherited from a component parent, it is likely
- // that the corresponding create method does not exist on the home.
- // Since our tools generate the component inheritance code, suppress this warning.
-
- // ejbCreate methods which are inherited via component inheritance, but do not
- // have a method on their immediate home, are filtered out via the isValid(Method) method.
-
- // The validateEjbCreateMethod checks for a matching create method, but just in
- // case the ejbCreate method is missing, check for it here too.
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2029, IEJBValidationContext.WARNING, bean, clazz, method, new String[] { homeIntf.getName()}, this);
- vc.addMessage(message);
-
- // Can't check the exceptions of a method which doesn't exist.
- return;
- }
-
- // Whether this is from a component inheritance or not, if the method exists on the
- // home, check that the method follows the spec.
-
- // Section 6.10.6 (session), 9.2.8 (entity), declare that all exceptions declared
- // on the ejbCreate, ejbPostCreate methods must be defined in the throws clause of
- // the matching create of the home interface.
- Set exceptions = ValidationRuleUtility.getNotSubsetExceptions(bean, method, createMethod);
- if (exceptions.size() > 0) {
- Iterator iterator = exceptions.iterator();
- while (iterator.hasNext()) {
- JavaClass exc = (JavaClass) iterator.next();
- String[] msgParm = { exc.getQualifiedName(), homeIntf.getQualifiedName()};
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2420, IEJBValidationContext.ERROR, bean, clazz, method, msgParm, this);
- vc.addMessage(message);
- }
- }
- }
-
- /**
- * 9.2.2 Enterprise bean class
- *...
- * - The following are the requirements for an entity bean class:
- *...
- * - The class must not define the finalize() method.
- *...
- */
- protected void validateFinalize(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) {
- if (method == null) {
- return;
- }
-
- // If it's "finalize()", the ejb bean shouldn't have the method.
- if (method.listParametersWithoutReturn().length == 0) {
- // This is a warning, not an error, because EJB 1.0 allowed the finalize() method to be called. EJB 1.1 (section 6.10.2) specifically prohibits it.
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2007, IEJBValidationContext.WARNING, bean, clazz, method, new String[] { clazz.getQualifiedName()}, this);
- vc.addMessage(message);
- }
- }
-
- /**
- * 9.2.2 Enterprise bean class
- *...
- * - The following are the requirements for an entity bean class:
- *...
- * - The class must define a public constructor that takes no arguments.
- *...
- *
- * EJB spec 1.1, p. 105 explains why this method does not check for at least one ejbCreate method.
- * [6] An entity enterprise Bean has no ejbCreate(...) and ejbPostCreate(...)
- * methods if it does not define any create methods in its home interface.
- * Such an entity enterprise Bean does not allow the clients to create new
- * EJB objects. The enterprise Bean restricts the clients to accessing entities
- * that were created through direct database inserts.
- */
- protected void validateMethodExists(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws InvalidInputException {
- final String[] modelObjectName = new String[] { clazz.getQualifiedName()};
- if (!hasValidConstructor && hasAConstructor) {
- // If a public constructor with no arguments does not exist explicitly,
- // Java will insert one as long as there are no constructors defined in the
- // class. If there is a constructor, Java does not insert a default constructor.
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2006, IEJBValidationContext.ERROR, bean, clazz, modelObjectName, this);
- vc.addMessage(message);
- }
-
- if (!hasSetEntityContext) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2033, IEJBValidationContext.WARNING, bean, clazz, this);
- vc.addMessage(message);
- }
-
- if (!hasUnsetEntityContext) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2034, IEJBValidationContext.WARNING, bean, clazz, this);
- vc.addMessage(message);
- }
-
- if (!hasEjbActivate) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2035, IEJBValidationContext.WARNING, bean, clazz, this);
- vc.addMessage(message);
- }
-
- if (!hasEjbPassivate) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2036, IEJBValidationContext.WARNING, bean, clazz, this);
- vc.addMessage(message);
- }
-
- if (!hasEjbRemove) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2037, IEJBValidationContext.WARNING, bean, clazz, this);
- vc.addMessage(message);
- }
-
- if (!hasEjbLoad) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2038, IEJBValidationContext.WARNING, bean, clazz, this);
- vc.addMessage(message);
- }
-
- if (!hasEjbStore) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2039, IEJBValidationContext.WARNING, bean, clazz, this);
- vc.addMessage(message);
- }
- }
-
- /**
- * Check that at least one field exists on the bean class.
- */
- public abstract void verifyFieldExists(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws InvalidInputException;
-
- /*
- * @see IValidationRule#preValidate(IEJBValidationContext, Object, Object)
- */
- public void preValidate(IEJBValidationContext vc, Object targetParent, Object target) throws ValidationCancelledException, ValidationException {
- super.preValidate(vc, targetParent, target);
- hasValidConstructor = false;
- hasAConstructor = false;
- hasSetEntityContext = false;
- hasUnsetEntityContext = false;
- hasEjbActivate = false;
- hasEjbPassivate = false;
- hasEjbRemove = false;
- hasEjbLoad = false;
- hasEjbStore = false;
-
- }
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AValidateEntityHome.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AValidateEntityHome.java
deleted file mode 100644
index 12466b686..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AValidateEntityHome.java
+++ /dev/null
@@ -1,681 +0,0 @@
-package org.eclipse.jst.j2ee.model.internal.validation;
-
-/*
-* Licensed Material - Property of IBM
-* (C) Copyright IBM Corp. 2001 - All Rights Reserved.
-* US Government Users Restricted Rights - Use, duplication or disclosure
-* restricted by GSA ADP Schedule Contract with IBM Corp.
-*/
-
-import java.util.HashSet;
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaHelpers;
-import org.eclipse.jem.java.JavaParameter;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.jst.j2ee.ejb.Entity;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-
-/**
- * This class checks entity home classes for errors or potential errors.
- * If any problems are found, an error, warning, or info marker is added to the task list.
- *
- * The following paragraph is taken from
- * Enterprise JavaBeans Specification ("Specification")
- * Version: 1.1
- * Status: Final Release
- * Release: 12/17/99
- * Copyright 1999 Sun Microsystems, Inc.
- * 901 San Antonio Road, Palo Alto, CA 94303, U.S.A.
- * All rights reserved.
- *
- * 9.2.8 Entity bean's home interface
- * The following are the requirements for the entity bean's home interface:
- * - The interface must extend the javax.ejb.EJBHome interface.
- * - The methods defined in this interface must follow the rules for RMI-IIOP.
- * This means that their argument and return types must be of valid types for
- * RMI-IIOP, and that their throws clause must include the java.rmi.RemoteException.
- * - The home interface is allowed to have superinterfaces. Use of interface
- * inheritance is subject to the RMI-IIOP rules for the definition of remote interfaces.
- * - Each method defined in the home interface must be one of the following:
- * - A create method.
- * - A finder method.
- * - Each create method must be named "create", and it must match one of the
- * ejbCreate methods defined in the enterprise Bean class. The matching
- * ejbCreate method must have the same number and types of its arguments.
- * (Note that the return type is different.)
- * - The return type for a create method must be the entity bean's remote interface type.
- * - All the exceptions defined in the throws clause of the matching ejbCreate
- * and ejbPostCreate methods of the enterprise Bean class must be included in
- * the throws clause of the matching create method of the home interface
- * (i.e the set of exceptions defined for the create method must be a superset
- * of the union of exceptions defined for the ejbCreate and ejbPostCreate methods)
- * - The throws clause of a create method must include the javax.ejb.CreateException.
- * - Each finder method must be named "find<METHOD>" (e.g. findLargeAccounts), and it
- * must match one of the ejbFind<METHOD> methods defined in the entity bean class
- * (e.g. ejbFindLargeAccounts). The matching ejbFind<METHOD> method must have the
- * same number and types of arguments. (Note that the return type may be different.)
- * - The return type for a find<METHOD> method must be the entity bean's remote
- * interface type (for a single-object finder), or a collection thereof (for a
- * multi-object finder).
- * - The home interface must always include the findByPrimaryKey method, which is
- * always a single-object finder. The method must declare the primary key class
- * as the method argument.
- * - All the exceptions defined in the throws clause of an ejbFind method of the
- * entity bean class must be included in the throws clause of the matching find
- * method of the home interface.
- * - The throws clause of a finder method must include the javax.ejb.FinderException.
- */
-public abstract class AValidateEntityHome extends AValidateHome {
- private HashSet findByPKMethods = null;
-
- public AValidateEntityHome() {
- findByPKMethods = new HashSet();
- }
-
- public void reset() {
- super.reset();
- findByPKMethods.clear();
- }
-
- protected void incrementFindByPrimaryKeyCount(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) {
- if (method == null) {
- return;
- }
-
- // Need to track number of findByPrimaryKey methods for the
- // validateMethodExists() checks. Do not check only the current
- // class, or a findByPrimaryKey which is inherited from a parent interface
- // will not be detected.
- if (method.getName().equals(IMethodAndFieldConstants.METHODNAME_FINDBYPRIMARYKEY)) {
- findByPKMethods.add(method);
- }
- }
-
- /**
- * This method returns true if the given method returns the remote interface,
- * and false otherwise.
- */
- public boolean isSingleObjectFinder(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws InvalidInputException {
- vc.terminateIfCancelled();
- if (method == null) {
- return false;
- }
-
- // The findByPrimaryKey method is always a single-object finder.
- JavaClass remoteIntf = bean.getRemoteInterface();
- ValidationRuleUtility.isValidTypeHierarchy(bean, remoteIntf);
-
- if (!ValidationRuleUtility.isAssignableFrom(method.getReturnType(), remoteIntf)) {
- return false;
- }
-
- // The method is a single-object finder.
- return true;
- }
-
- /**
- * This method checks that the entity home's methods comply with the EJB 1.1 specification.
- *
- * 9.2.8 Entity bean's home interface
- * The following are the requirements for the entity bean's home interface:
- *...
- * - The methods defined in this interface must follow the rules for RMI-IIOP.
- * This means that their argument and return types must be of valid types for
- * RMI-IIOP, and that their throws clause must include the java.rmi.RemoteException.
- *...
- * - Each method defined in the home interface must be one of the following:
- * - A create method.
- * - A finder method.
- * - Each create method must be named "create", and it must match one of the
- * ejbCreate methods defined in the enterprise Bean class. The matching
- * ejbCreate method must have the same number and types of its arguments.
- * (Note that the return type is different.)
- * - The return type for a create method must be the entity bean's remote interface type.
- * - All the exceptions defined in the throws clause of the matching ejbCreate
- * and ejbPostCreate methods of the enterprise Bean class must be included in
- * the throws clause of the matching create method of the home interface
- * (i.e the set of exceptions defined for the create method must be a superset
- * of the union of exceptions defined for the ejbCreate and ejbPostCreate methods)
- * - The throws clause of a create method must include the javax.ejb.CreateException.
- * - Each finder method must be named "find<METHOD>" (e.g. findLargeAccounts), and it
- * must match one of the ejbFind<METHOD> methods defined in the entity bean class
- * (e.g. ejbFindLargeAccounts). The matching ejbFind<METHOD> method must have the
- * same number and types of arguments. (Note that the return type may be different.)
- * - The return type for a find<METHOD> method must be the entity bean's remote
- * interface type (for a single-object finder), or a collection thereof (for a
- * multi-object finder).
- * - The home interface must always include the findByPrimaryKey method, which is
- * always a single-object finder. The method must declare the primary key class
- * as the method argument.
- * - All the exceptions defined in the throws clause of an ejbFind method of the
- * entity bean class must be included in the throws clause of the matching find
- * method of the home interface.
- * - The throws clause of a finder method must include the javax.ejb.FinderException.
- */
- public void primValidate(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method hiMethod) throws InvalidInputException {
- // Can't invoke an abstract method
- // super.primValidate(hiMethod);
-
- vc.terminateIfCancelled();
-
- String name = hiMethod.getName();
-
- // Each method defined in the home interface must be one of the following:
- // - A create method.
- // - A finder method.
- if (name.equals(IMethodAndFieldConstants.METHODNAME_CREATE))
- validateCreateMethod(vc, bean, clazz, hiMethod);
- else if (name.startsWith(IMethodAndFieldConstants.PREFIX_FIND))
- validateFindMethod(vc, bean, clazz, hiMethod);
- else {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2005, IEJBValidationContext.ERROR, bean, clazz, hiMethod, this);
- vc.addMessage(message);
- }
- }
-
- /**
- * Checks to see if @ejbMethod is one of the required methods.
- */
- protected void primValidateExistence(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method ejbMethod) throws InvalidInputException {
- // Can't invoke an abstract method
- //super.validateExistence(ejbMethod);
-
- if (IMethodAndFieldConstants.METHODNAME_FINDBYPRIMARYKEY.equals(ejbMethod.getName()))
- incrementFindByPrimaryKeyCount(vc, bean, clazz, ejbMethod);
- }
-
- /**
- * 9.2.8 Entity bean's home interface
- * The following are the requirements for the entity bean's home interface:
- * - The interface must extend the javax.ejb.EJBHome interface.
- *...
- * - The home interface is allowed to have superinterfaces. Use of interface
- * inheritance is subject to the RMI-IIOP rules for the definition of remote interfaces.
- *...
- */
- public void validateClass(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws InvalidInputException {
- super.validateClass(vc, bean, clazz);
- // The superclass checks that the home extends javax.ejb.EJBHome,
- // and that the interface inheritance complies with RMI-IIOP rules.
- }
-
- /**
- * Checks that the create method on the entity home follows the EJB 1.1. specification.
- *
- * 9.2.8 Entity bean's home interface
- * The following are the requirements for the entity bean's home interface:
- * - Each create method must be named "create", and it must match one of the
- * ejbCreate methods defined in the enterprise Bean class. The matching
- * ejbCreate method must have the same number and types of its arguments.
- * (Note that the return type is different.)
- * - The return type for a create method must be the entity bean's remote interface type.
- * - All the exceptions defined in the throws clause of the matching ejbCreate
- * and ejbPostCreate methods of the enterprise Bean class must be included in
- * the throws clause of the matching create method of the home interface
- * (i.e the set of exceptions defined for the create method must be a superset
- * of the union of exceptions defined for the ejbCreate and ejbPostCreate methods)
- */
- public void validateCreateMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws InvalidInputException {
- vc.terminateIfCancelled();
- if (method == null) {
- return;
- }
-
- // Each create method must be named "create", and it must match one of the
- // ejbCreate methods defined in the enterprise Bean class. The matching
- // ejbCreate method must have the same number and types of its arguments.
- // (Note that the return type is different.)
- //
- // All the exceptions defined in the throws clause of the matching ejbCreate
- // and ejbPostCreate methods of the enterprise Bean class must be included in
- // the throws clause of the matching create method of the home interface
- // (i.e the set of exceptions defined for the create method must be a superset
- // of the union of exceptions defined for the ejbCreate and ejbPostCreate methods)
- validateCreateMethod_beanDep(vc, bean, clazz, method);
-
- vc.terminateIfCancelled();
-
- // The return type for a create method must be the entity bean's remote interface type.
- validateCreateMethod_remoteDep(vc, bean, clazz, method);
-
- // The throws clause of a create method must include the javax.ejb.CreateException.
- if (!ValidationRuleUtility.throwsCreateException(bean, method)) {
- String[] msgParm = { ITypeConstants.CLASSNAME_JAVAX_EJB_CREATEEXCEPTION };
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2414, IEJBValidationContext.ERROR, bean, clazz, method, msgParm, this);
- vc.addMessage(message);
- }
-
- // The methods defined in this interface must follow the rules for RMI-IIOP.
- // This means that their argument and return types must be of valid types for
- // RMI-IIOP, and that their throws clause must include the java.rmi.RemoteException.
- validateLegalRMIMethod(vc, bean, clazz, method);
-
- }
-
- /**
- * Checks that the create method on the entity home follows the EJB 1.1. specification.
- *
- * 9.2.8 Entity bean's home interface
- * The following are the requirements for the entity bean's home interface:
- * - Each create method must be named "create", and it must match one of the
- * ejbCreate methods defined in the enterprise Bean class. The matching
- * ejbCreate method must have the same number and types of its arguments.
- * (Note that the return type is different.)
- * - The return type for a create method must be the entity bean's remote interface type.
- * - All the exceptions defined in the throws clause of the matching ejbCreate
- * and ejbPostCreate methods of the enterprise Bean class must be included in
- * the throws clause of the matching create method of the home interface
- * (i.e the set of exceptions defined for the create method must be a superset
- * of the union of exceptions defined for the ejbCreate and ejbPostCreate methods)
- */
- public void validateCreateMethod_beanDep(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws InvalidInputException {
- vc.terminateIfCancelled();
- if (method == null) {
- return;
- }
-
- // Each create method must be named "create", and it must match one of the
- // ejbCreate methods defined in the enterprise Bean class. The matching
- // ejbCreate method must have the same number and types of its arguments.
- // (Note that the return type is different.)
- super.validateCreateMethod_beanDep(vc, bean, clazz, method);
-
- //
- // All the exceptions defined in the throws clause of the matching ejbCreate
- // and ejbPostCreate methods of the enterprise Bean class must be included in
- // the throws clause of the matching create method of the home interface
- // (i.e the set of exceptions defined for the create method must be a superset
- // of the union of exceptions defined for the ejbCreate and ejbPostCreate methods)
- validateMatchingBeanPostCreateMethod(vc, bean, clazz, method);
- }
-
- /**
- * In addition to regular find rules, findByPrimaryKey needs to follow some other rules.
- *
- * 9.2.8 Entity bean's home interface
- * The following are the requirements for the entity bean's home interface:
- *...
- * - The home interface must always include the findByPrimaryKey method, which is
- * always a single-object finder. The method must declare the primary key class
- * as the method argument.
- */
- public void validateFindByPrimaryKeyMethod_keyDep(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws InvalidInputException {
- vc.terminateIfCancelled();
- if (method == null) {
- return;
- }
-
- boolean hasValidFBPKMethod = false;
- Entity entityBean = (Entity) bean; // bean is checked for null in AValidateEJB.validate() method, so don't need to check for it here.
- JavaClass keyClass = entityBean.getPrimaryKey();
-
- ValidationRuleUtility.isValidTypeHierarchy(bean, keyClass);
-
- vc.terminateIfCancelled();
-
- // The method must declare the primary key class as the method argument.
- // This check also validates case 9.4.7.3 (CMP unknown primary key class,
- // which must be declared as java.lang.Object.)
- JavaParameter[] parms = method.listParametersWithoutReturn();
- if (parms.length == 1) {
- JavaHelpers type = parms[0].getJavaType();
- if (ValidationRuleUtility.isAssignableFrom(type, keyClass)) {
- // check that it's a single-object finder
- if (isSingleObjectFinder(vc, bean, clazz, method)) {
- hasValidFBPKMethod = true;
- }
- }
- else {
- // check if it's java.lang.Object. If it is, this could be a case of 9.4.7.3.
- if (ValidationRuleUtility.isSameType(type, ValidationRuleUtility.getType(ITypeConstants.CLASSNAME_JAVA_LANG_OBJECT, entityBean))) {
- hasValidFBPKMethod = true;
- }
- }
- }
-
- if (!hasValidFBPKMethod) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2405, IEJBValidationContext.WARNING, bean, clazz, method, new String[] { keyClass.getQualifiedName()}, this);
- vc.addMessage(message);
- }
- }
-
- /**
- * In addition to regular find rules, findByPrimaryKey needs to follow some other rules.
- *
- * 9.2.8 Entity bean's home interface
- * The following are the requirements for the entity bean's home interface:
- *...
- * - The home interface must always include the findByPrimaryKey method, which is
- * always a single-object finder. The method must declare the primary key class
- * as the method argument.
- */
- public void validateFindByPrimaryKeyMethod_remoteDep(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws InvalidInputException {
- vc.terminateIfCancelled();
- if (!isSingleObjectFinder(vc, bean, clazz, method)) {
- String remoteIntfName = bean.getRemoteInterface().getName(); // Can assume that remote interface isn't null, or isSingleObjectFinder would have thrown an InvalidInputException.
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2403, IEJBValidationContext.WARNING, bean, clazz, method, new String[] { remoteIntfName }, this);
- vc.addMessage(message);
- }
- }
-
- /**
- * Checks that the finder method on the entity home class follows the EJB 1.1 specification.
- *
- * 9.2.8 Entity bean's home interface
- * The following are the requirements for the entity bean's home interface:
- *...
- * - Each finder method must be named "find<METHOD>" (e.g. findLargeAccounts), and it
- * must match one of the ejbFind<METHOD> methods defined in the entity bean class
- * (e.g. ejbFindLargeAccounts). The matching ejbFind<METHOD> method must have the
- * same number and types of arguments. (Note that the return type may be different.)
- * - The return type for a find<METHOD> method must be the entity bean's remote
- * interface type (for a single-object finder), or a collection thereof (for a
- * multi-object finder).
- *...
- * - All the exceptions defined in the throws clause of an ejbFind method of the
- * entity bean class must be included in the throws clause of the matching find
- * method of the home interface.
- * - The throws clause of a finder method must include the javax.ejb.FinderException.
- */
- public void validateFindMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws InvalidInputException {
- vc.terminateIfCancelled();
- if (method == null) {
- return;
- }
-
- // The return type for a find<METHOD> method must be the entity bean's remote
- // interface type (for a single-object finder), or a collection thereof (for a
- // multi-object finder).
- //
- // Whether or not the parameter is a type or an array of types, the following
- // call will return the base type. i.e., if it's an array of "MyClass",
- // the returnTypeName will be set to "MyClass", not an array type.
- validateFindMethod_remoteDep(vc, bean, clazz, method);
-
- // The throws clause of a finder method must include the javax.ejb.FinderException.
- if (!ValidationRuleUtility.throwsFinderException(bean, method)) {
- String[] msgParm = { ITypeConstants.CLASSNAME_JAVAX_EJB_FINDEREXCEPTION };
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2414, IEJBValidationContext.ERROR, bean, clazz, method, msgParm, this);
- vc.addMessage(message);
- }
-
- // The home interface must always include the findByPrimaryKey method, which is
- // always a single-object finder. The method must declare the primary key class
- // as the method argument.
- boolean validateRMIParameters = true; // should the parameters be validated to see if they follow RMI-IIOP rules?
- boolean validateRMIRetType = true; // should the return type be validated to see if it follows RMI-IIOP rules?
- if (method.getName().equals(IMethodAndFieldConstants.METHODNAME_FINDBYPRIMARYKEY)) {
- // - The home interface must always include the findByPrimaryKey method, which is
- // always a single-object finder. The method must declare the primary key class
- // as the method argument.
- //
- // The findByPrimaryKey method is always a single-object finder.
- // The call to validateFindByPrimaryKeyMethod_remoteDep is done in
- // validateFindMethod_remoteDep(method);
- //validateFindByPrimaryKeyMethod_remoteDep(method);
-
- // The method must declare the primary key class as the method argument.
- validateFindByPrimaryKeyMethod_keyDep(vc, bean, clazz, method);
-
- if(ValidationRuleUtility.usesUnknownPrimaryKey(bean)) {
- validateRMIParameters = false;
- }
- }
-
- // The methods defined in this interface must follow the rules for RMI-IIOP.
- // This means that their argument and return types must be of valid types for
- // RMI-IIOP, and that their throws clause must include the java.rmi.RemoteException.
- // However, the return type of "Enumeration" or "Collection" is exempted from this
- // check, because the spec states, in 9.1.8.2, that Enumeration or Collection must be returned
- // for multi-object finders.
- JavaHelpers retType = method.getReturnType();
- validateRMIRetType = !((ValidationRuleUtility.isAssignableFrom(retType, ValidationRuleUtility.getType(ITypeConstants.CLASSNAME_JAVA_UTIL_ENUMERATION, bean))) ||
- (ValidationRuleUtility.isAssignableFrom(retType, ValidationRuleUtility.getType(ITypeConstants.CLASSNAME_JAVA_UTIL_COLLECTION, bean))));
-
- if(validateRMIParameters) {
- validateLegalRMIMethodArguments(vc, bean, clazz, method);
- }
-
- if(validateRMIRetType) {
- validateLegalRMIMethodReturnType(vc, bean, clazz, method);
- }
-
- validateLegalRMIMethodExceptions(vc, bean, clazz, method);
- }
-
- /**
- * Checks that the finder method on the entity home class follows the EJB 1.1 specification.
- *
- * 9.2.8 Entity bean's home interface
- * The following are the requirements for the entity bean's home interface:
- *...
- * - Each finder method must be named "find<METHOD>" (e.g. findLargeAccounts), and it
- * must match one of the ejbFind<METHOD> methods defined in the entity bean class
- * (e.g. ejbFindLargeAccounts). The matching ejbFind<METHOD> method must have the
- * same number and types of arguments. (Note that the return type may be different.)
- * - The return type for a find<METHOD> method must be the entity bean's remote
- * interface type (for a single-object finder), or a collection thereof (for a
- * multi-object finder).
- *...
- * - All the exceptions defined in the throws clause of an ejbFind method of the
- * entity bean class must be included in the throws clause of the matching find
- * method of the home interface.
- * - The throws clause of a finder method must include the javax.ejb.FinderException.
- */
- public void validateFindMethod_remoteDep(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws InvalidInputException {
- vc.terminateIfCancelled();
- if (method == null) {
- return;
- }
-
- // The return type for a find<METHOD> method must be the entity bean's remote
- // interface type (for a single-object finder), or a collection thereof (for a
- // multi-object finder).
- //
- // Whether or not the parameter is a type or an array of types, the following
- // call will return the base type. i.e., if it's an array of "MyClass",
- // the returnTypeName will be set to "MyClass", not an array type.
- JavaClass remoteIntf = bean.getRemoteInterface();
- ValidationRuleUtility.isValidTypeHierarchy(bean, remoteIntf);
-
- // Perform this check for all finders but the findByPrimaryKey method.
- // The findByPrimaryKey method must return the remote interface, because the method is
- // a single-object finder method; but other finders may return a Collection or Enumeration.
- if (!method.getName().equals(IMethodAndFieldConstants.METHODNAME_FINDBYPRIMARYKEY)) {
- JavaHelpers returnType = method.getReturnType();
-
- if (! (ValidationRuleUtility.isAssignableFromCollection(returnType, bean) ||
- ValidationRuleUtility.isAssignableFromEnumeration(returnType, bean) ||
- ValidationRuleUtility.isAssignableFrom(returnType, remoteIntf))) {
- String[] msgParm = { remoteIntf.getName()};
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2403, IEJBValidationContext.WARNING, bean, clazz, method, msgParm, this);
- vc.addMessage(message);
- }
- }
-
- // The home interface must always include the findByPrimaryKey method, which is
- // always a single-object finder. The method must declare the primary key class
- // as the method argument.
- if (method.getName().equals(IMethodAndFieldConstants.METHODNAME_FINDBYPRIMARYKEY)) {
- validateFindByPrimaryKeyMethod_remoteDep(vc, bean, clazz, method);
- }
- }
-
- public void validateMatchingBeanCreateMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws InvalidInputException {
- vc.terminateIfCancelled();
-
- super.validateMatchingBeanCreateMethod(vc, bean, clazz, method);
- JavaClass beanClass = bean.getEjbClass();
- Method ejbCreateMethod = ValidationRuleUtility.getMethodExtended(beanClass, method, IMethodAndFieldConstants.METHODNAME_EJBCREATE);
- if (ejbCreateMethod == null) {
- // already reported in super
- return;
- }
- }
-
- /**
- * Checks that the finder method on the entity home class follows the EJB 1.1 specification.
- *
- * 9.2.8 Entity bean's home interface
- * The following are the requirements for the entity bean's home interface:
- * - Each finder method must be named "find<METHOD>" (e.g. findLargeAccounts), and it
- * must match one of the ejbFind<METHOD> methods defined in the entity bean class
- * (e.g. ejbFindLargeAccounts). The matching ejbFind<METHOD> method must have the
- * same number and types of arguments. (Note that the return type may be different.)
- *...
- * - All the exceptions defined in the throws clause of an ejbFind method of the
- * entity bean class must be included in the throws clause of the matching find
- * method of the home interface.
- *...
- */
- public void validateMatchingBeanFindMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method homeMethod) throws InvalidInputException {
- vc.terminateIfCancelled();
-
- if (homeMethod == null) {
- return;
- }
-
- // Each finder method must be named "find<METHOD>" (e.g. findLargeAccounts), and it
- // must match one of the ejbFind<METHOD> methods defined in the entity bean class
- // (e.g. ejbFindLargeAccounts). The matching ejbFind<METHOD> method must have the
- // same number and types of arguments. (Note that the return type may be different.)
- String findMethodName = IMethodAndFieldConstants.PREFIX_EJBF + (homeMethod.getName()).substring(1); // e.g. if the home method is named findX, then the bean method will be named ejbFindX
-
- JavaClass beanClass = bean.getEjbClass();
- ValidationRuleUtility.isValidTypeHierarchy(bean, beanClass);
-
- Method beanMethod = ValidationRuleUtility.getMethodExtended(beanClass, homeMethod, findMethodName);
- if (beanMethod == null) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2030, IEJBValidationContext.ERROR, bean, clazz, homeMethod, new String[] { beanClass.getName()}, this);
- vc.addMessage(message);
- return;
- }
-
- // Check if return types match
- vc.terminateIfCancelled();
- JavaHelpers homeRetType = homeMethod.getReturnType();
- JavaHelpers beanRetType = beanMethod.getReturnType();
- if (!ValidationRuleUtility.isAssignableFrom(homeRetType, beanRetType)) {
- // emit the error only if it's a multi-finder. Single-finders are supposed to have different return types on the home & bean class.
- boolean homeRetTypeIsRemote = ValidationRuleUtility.isAssignableFrom(homeRetType, bean.getRemoteInterface());
- boolean beanRetTypeIsKey = ValidationRuleUtility.isAssignableFrom(beanRetType, ((Entity)bean).getPrimaryKey());
- if(!(homeRetTypeIsRemote && beanRetTypeIsKey)) {
- JavaHelpers retType = (beanRetTypeIsKey) ? bean.getRemoteInterface() : beanRetType; // if the bean class returns a key, the home must return the remote; if the bean class returns a Coll/Enum, the home must return the same
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2415, IEJBValidationContext.ERROR, bean, clazz, homeMethod, new String[] { retType.getJavaName(), beanClass.getName()}, this);
- vc.addMessage(message);
- }
- }
-
- // All the exceptions defined in the throws clause of an ejbFind method of the
- // entity bean class must be included in the throws clause of the matching find
- // method of the home interface.
- /*
- // Don't check for the exceptions here - let the bean class do it. When the home
- // changes, a "dependent" validation of the bean's checks should be done automatically.
- // If it is checked in this method as well, there are duplicate messages on the task list.
- HashSet exceptions = getNotSubsetExceptions(homeMethod, beanMethod);
- if(exceptions.size() > 0) {
- Iterator iterator = exceptions.iterator();
- while(iterator.hasNext()) {
- JavaClass exc = (JavaClass)iterator.next();
- String[] msgParm = {exc.getQualifiedName()};
- addValidationMessage(IEJBValidationContext.ERROR, IMessagePrefixEjb11Constants.EJB_METHOD_THROW_NOTHI_EXCEP, msgParm, beanMethod, EJB_BEAN_GROUP);
- }
- }
- */
- }
-
- /**
- * Checks that the create method on the entity home has a matching ejbCreate and ejbPostCreate on the bean.
- *
- * 9.2.8 Entity bean's home interface
- * The following are the requirements for the entity bean's home interface:
- * - Each create method must be named "create", and it must match one of the
- * ejbCreate methods defined in the enterprise Bean class. The matching
- * ejbCreate method must have the same number and types of its arguments.
- * (Note that the return type is different.)
- *...
- * - All the exceptions defined in the throws clause of the matching ejbCreate
- * and ejbPostCreate methods of the enterprise Bean class must be included in
- * the throws clause of the matching create method of the home interface
- * (i.e the set of exceptions defined for the create method must be a superset
- * of the union of exceptions defined for the ejbCreate and ejbPostCreate methods)
- *...
- */
- public void validateMatchingBeanPostCreateMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method homeMethod) throws InvalidInputException {
- vc.terminateIfCancelled();
-
- if (homeMethod == null) {
- return;
- }
-
- // Each create method must be named "create", and it must match one of the
- // ejbCreate methods defined in the enterprise Bean class. The matching
- // ejbCreate method must have the same number and types of its arguments.
- // (Note that the return type is different.)
- JavaClass beanClass = bean.getEjbClass();
- ValidationRuleUtility.isValidTypeHierarchy(bean, beanClass);
-
- Method beanMethod = ValidationRuleUtility.getMethodExtended(beanClass, homeMethod, IMethodAndFieldConstants.METHODNAME_EJBPOSTCREATE);
- if (beanMethod == null) {
- // Let the bean class report this message. Otherwise, when the bean class reports it, this message looks like a duplicate.
- /*
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2031, IEJBValidationContext.WARNING, bean, clazz, homeMethod, new String[] { beanClass.getName()}, this);
- vc.addMessage(message);
- */
- return;
- }
-
- // All the exceptions defined in the throws clause of the matching ejbCreate
- // and ejbPostCreate methods of the enterprise Bean class must be included in
- // the throws clause of the matching create method of the home interface
- // (i.e the set of exceptions defined for the create method must be a superset
- // of the union of exceptions defined for the ejbCreate and ejbPostCreate methods)
- /*
- // Don't check for the exceptions here - let the bean class do it. When the home
- // changes, a "dependent" validation of the bean's checks should be done automatically.
- // If it is checked in this method as well, there are duplicate messages on the task list.
- HashSet exceptions = getNotSubsetExceptions(homeMethod, beanMethod);
- if(exceptions.size() > 0) {
- Iterator iterator = exceptions.iterator();
- while(iterator.hasNext()) {
- JavaClass exc = (JavaClass)iterator.next();
- String[] msgParm = {exc.getQualifiedName()};
- addValidationMessage(IEJBValidationContext.ERROR, IMessagePrefixEjb11Constants.EJB_METHOD_THROW_NOTHI_EXCEP, msgParm, beanMethod, EJB_BEAN_GROUP);
- }
- }
- */
- }
-
- /**
- * 9.2.8 Entity bean's home interface
- * The following are the requirements for the entity bean's home interface:
- * - The home interface must always include the findByPrimaryKey method, which is
- * always a single-object finder. The method must declare the primary key class
- * as the method argument.
- */
- protected void validateMethodExists(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws InvalidInputException {
- // - The home interface must always include the findByPrimaryKey method, which is
- // always a single-object finder. The method must declare the primary key class
- // as the method argument.
- if (findByPKMethods.size() == 0) {
- // must have one findByPrimaryKey method
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2011, IEJBValidationContext.ERROR, bean, clazz, new String[] { clazz.getQualifiedName()}, this);
- vc.addMessage(message);
- }
- /*
- // Not sure if this check is useful or not, because it is legal for a child home to declare a findByPrimaryKey,
- // and also for a parent home to declare a findByPrimaryKey.
- else if ( findByPKMethods.size() > 1 ) {
- // if the home interface has multiple findByPrimaryKey methods (implied by 9.2.8)
- Iterator iterator = findByPKMethods.iterator();
- while(iterator.hasNext()) {
- addValidationMessage(IEJBValidationContext.WARNING, IMessagePrefixEjb11Constants.EJB_HAS_MULTIPLE_PK_METHODS, (Method)iterator.next());
- }
- }
- */
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AValidateHome.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AValidateHome.java
deleted file mode 100644
index 4a59c1103..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AValidateHome.java
+++ /dev/null
@@ -1,420 +0,0 @@
-package org.eclipse.jst.j2ee.model.internal.validation;
-
-/*
-* Licensed Material - Property of IBM
-* (C) Copyright IBM Corp. 2001 - All Rights Reserved.
-* US Government Users Restricted Rights - Use, duplication or disclosure
-* restricted by GSA ADP Schedule Contract with IBM Corp.
-*/
-
-import java.util.List;
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-
-/**
- * This class checks home classes for errors or potential errors.
- * If any problems are found, an error, warning, or info marker is added to the task list.
- *
- * The following paragraph is taken from
- * Enterprise JavaBeans Specification ("Specification")
- * Version: 1.1
- * Status: Final Release
- * Release: 12/17/99
- * Copyright 1999 Sun Microsystems, Inc.
- * 901 San Antonio Road, Palo Alto, CA 94303, U.S.A.
- * All rights reserved.
- *
- * 6.8 Stateless session beans
- *...
- * The home interface of a stateless session bean must have one create
- * method that takes no arguments and returns the session bean's remote
- * interface. There can be no other create methods in the home interface.
- * The session bean class must define a single ejbCreate method that takes
- * no arguments.
- *...
- *
- * 6.10.6 Session bean's home interface
- * The following are the requirements for the session bean's home interface:
- * - The interface must extend the javax.ejb.EJBHome interface.
- * - The methods defined in this interface must follow the rules for RMI/IIOP.
- * This means that their argument and return values must be of valid types
- * for RMI/IIOP, and that their throws clause must include the java.rmi.RemoteException.
- * - The home interface is allowed to have superinterfaces. Use of interface
- * inheritance is subject to the RMI/IIOP rules for the definition of
- * remote interfaces.
- * - A session bean's home interface must define one or more create(...) methods.
- * - Each create method must be named "create", and it must match one of
- * the ejbCreate methods defined in the session bean class. The matching
- * ejbCreate method must have the same number and types of arguments.
- * (Note that the return type is different.)
- * - The return type for a create method must be the session bean's remote
- * interface type.
- * - All the exceptions defined in the throws clause of an ejbCreate method
- * of the session bean class must be defined in the throws clause of the
- * matching create method of the home interface.
- * - The throws clause must include javax.ejb.CreateException.
- *...
- *
- * 9.2.8 Entity bean's home interface
- * The following are the requirements for the entity bean's home interface:
- * - The interface must extend the javax.ejb.EJBHome interface.
- * - The methods defined in this interface must follow the rules for RMI-IIOP.
- * This means that their argument and return types must be of valid types for
- * RMI-IIOP, and that their throws clause must include the java.rmi.RemoteException.
- * - The home interface is allowed to have superinterfaces. Use of interface
- * inheritance is subject to the RMI-IIOP rules for the definition of remote interfaces.
- * - Each method defined in the home interface must be one of the following:
- * - A create method.
- * - A finder method.
- * - Each create method must be named "create", and it must match one of the
- * ejbCreate methods defined in the enterprise Bean class. The matching
- * ejbCreate method must have the same number and types of its arguments.
- * (Note that the return type is different.)
- * - The return type for a create method must be the entity bean's remote interface type.
- * - All the exceptions defined in the throws clause of the matching ejbCreate
- * and ejbPostCreate methods of the enterprise Bean class must be included in
- * the throws clause of the matching create method of the home interface
- * (i.e the set of exceptions defined for the create method must be a superset
- * of the union of exceptions defined for the ejbCreate and ejbPostCreate methods)
- * - The throws clause of a create method must include the javax.ejb.CreateException.
- * - Each finder method must be named "find<METHOD>" (e.g. findLargeAccounts), and it
- * must match one of the ejbFind<METHOD> methods defined in the entity bean class
- * (e.g. ejbFindLargeAccounts). The matching ejbFind<METHOD> method must have the
- * same number and types of arguments. (Note that the return type may be different.)
- * - The return type for a find<METHOD> method must be the entity bean's remote
- * interface type (for a single-object finder), or a collection thereof (for a
- * multi-object finder).
- * - The home interface must always include the findByPrimaryKey method, which is
- * always a single-object finder. The method must declare the primary key class
- * as the method argument.
- * - All the exceptions defined in the throws clause of an ejbFind method of the
- * entity bean class must be included in the throws clause of the matching find
- * method of the home interface.
- * - The throws clause of a finder method must include the javax.ejb.FinderException.
- */
-public abstract class AValidateHome extends AValidateEJB {
- public final Object getTarget(Object parent, Object clazz) {
- if(parent == null) {
- return null;
- }
-
- return ((EnterpriseBean)parent).getHomeInterface();
- }
-
- public final List[] getMethodsExtended(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) {
- // A home or component class needs the following classes' extended methods:
- // 1. bean class
- List[] result = new List[1];
- JavaClass beanClass = bean.getEjbClass();
- if(beanClass == null) {
- result[0] = null;
- }
- else {
- result[0] = beanClass.getMethodsExtended();
- }
- return result;
- }
-
- public final List[] getFieldsExtended(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) {
- // Never check that a home or component's field is defined on another class
- // of the bean.
- return null;
- }
-
- /**
- * For the check that the ejbCreate method has a matching create method on the home,
- * this method, given the bean method, returns the corresponding home method.
- *
- * 6.10.6 Session bean's home interface
- * The following are the requirements for the session bean's home interface:
- * - Each create method must be named "create", and it must match one of
- * the ejbCreate methods defined in the session bean class. The matching
- * ejbCreate method must have the same number and types of arguments.
- * (Note that the return type is different.)
- * - All the exceptions defined in the throws clause of an ejbCreate method
- * of the session bean class must be defined in the throws clause of the
- * matching create method of the home interface.
- *...
- *
- * 9.2.8 Entity bean's home interface
- * The following are the requirements for the entity bean's home interface:
- * - Each create method must be named "create", and it must match one of the
- * ejbCreate methods defined in the enterprise Bean class. The matching
- * ejbCreate method must have the same number and types of its arguments.
- * (Note that the return type is different.)
- * - All the exceptions defined in the throws clause of the matching ejbCreate
- * and ejbPostCreate methods of the enterprise Bean class must be included in
- * the throws clause of the matching create method of the home interface
- * (i.e the set of exceptions defined for the create method must be a superset
- * of the union of exceptions defined for the ejbCreate and ejbPostCreate methods)
- */
- public Method getMatchingBeanEjbCreateMethodExtended(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws InvalidInputException {
- vc.terminateIfCancelled();
- if (method == null) {
- return null;
- }
-
- if (bean == null) {
- return null;
- }
-
- return ValidationRuleUtility.getMethodExtended(bean.getEjbClass(), method, IMethodAndFieldConstants.METHODNAME_EJBCREATE);
- }
-
- /**
- * Return true if the method can, and should, be validated.
- * Filter out faulty methods (i.e., null), and methods which
- * belong to the base type, whatever that is. (e.g. java.lang.Object)
- */
- protected boolean isValid(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedList) throws InvalidInputException {
- if (super.isValid(vc, bean, clazz, method, methodsExtendedList)) {
- // Exclude root remote interface methods
- if (ValidationRuleUtility.isEJBHomeMethod(bean, method)) {
- return false;
- }
- else if (ValidationRuleUtility.isClinitMethod(bean, method)) {
- return false;
- }
- else {
- return true;
- }
- }
- return false;
- }
-
- /**
- * 6.10.6 Session bean's home interface
- * The following are the requirements for the session bean's home interface:
- * - The interface must extend the javax.ejb.EJBHome interface.
- *...
- *
- * 9.2.8 Entity bean's home interface
- * The following are the requirements for the entity bean's home interface:
- * - The interface must extend the javax.ejb.EJBHome interface.
- *...
- */
- public void validateClass(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws InvalidInputException {
- vc.terminateIfCancelled();
-
- // home interface must be an interface
- if (!clazz.isInterface()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2012, IEJBValidationContext.ERROR, bean, clazz, this);
- vc.addMessage(message);
- }
-
- // home interface must inherit javax.ejb.EJBHome.class
- if (!ValidationRuleUtility.isAssignableFrom(clazz, ValidationRuleUtility.getType(ITypeConstants.CLASSNAME_JAVAX_EJB_EJBHOME, bean))) {
- String[] msgParm = { ITypeConstants.CLASSNAME_JAVAX_EJB_EJBHOME };
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2017, IEJBValidationContext.ERROR, bean, clazz, msgParm, this);
- vc.addMessage(message);
- }
-
- if (ValidationRuleUtility.isUnnamedPackage(clazz.getJavaPackage())) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2041, IEJBValidationContext.INFO, bean, clazz, this);
- vc.addMessage(message);
- }
-
- validateAppendixB(vc, bean, clazz);
- }
-
- /**
- * 6.8 Stateless session beans
- *...
- * The home interface of a stateless session bean must have one create
- * method that takes no arguments and returns the session bean's remote
- * interface. There can be no other create methods in the home interface.
- * The session bean class must define a single ejbCreate method that takes
- * no arguments.
- *...
- *
- * 6.10.6 Session bean's home interface
- * The following are the requirements for the session bean's home interface:
- * - The methods defined in this interface must follow the rules for RMI/IIOP.
- * This means that their argument and return values must be of valid types
- * for RMI/IIOP, and that their throws clause must include the java.rmi.RemoteException.
- * - A session bean's home interface must define one or more create(...) methods.
- * - Each create method must be named "create", and it must match one of
- * the ejbCreate methods defined in the session bean class. The matching
- * ejbCreate method must have the same number and types of arguments.
- * (Note that the return type is different.)
- * - The return type for a create method must be the session bean's remote
- * interface type.
- * - All the exceptions defined in the throws clause of an ejbCreate method
- * of the session bean class must be defined in the throws clause of the
- * matching create method of the home interface.
- * - The throws clause must include javax.ejb.CreateException.
- */
- protected void validateCreateMethod_beanDep(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws InvalidInputException {
- if (method == null) {
- return;
- }
-
- // Each create method must be named "create", and it must match one of
- // the ejbCreate methods defined in the session bean class. The matching
- // ejbCreate method must have the same number and types of arguments.
- // (Note that the return type is different.)
- // All the exceptions defined in the throws clause of an ejbCreate method
- // of the session bean class must be defined in the throws clause of the
- // matching create method of the home interface.
- // The throws clause must include javax.ejb.CreateException.
- validateMatchingBeanCreateMethod(vc, bean, clazz, method);
- }
-
- /**
- * 6.8 Stateless session beans
- *...
- * The home interface of a stateless session bean must have one create
- * method that takes no arguments and returns the session bean's remote
- * interface. There can be no other create methods in the home interface.
- * The session bean class must define a single ejbCreate method that takes
- * no arguments.
- *...
- *
- * 6.10.6 Session bean's home interface
- * The following are the requirements for the session bean's home interface:
- * - The methods defined in this interface must follow the rules for RMI/IIOP.
- * This means that their argument and return values must be of valid types
- * for RMI/IIOP, and that their throws clause must include the java.rmi.RemoteException.
- * - A session bean's home interface must define one or more create(...) methods.
- * - Each create method must be named "create", and it must match one of
- * the ejbCreate methods defined in the session bean class. The matching
- * ejbCreate method must have the same number and types of arguments.
- * (Note that the return type is different.)
- * - The return type for a create method must be the session bean's remote
- * interface type.
- * - All the exceptions defined in the throws clause of an ejbCreate method
- * of the session bean class must be defined in the throws clause of the
- * matching create method of the home interface.
- * - The throws clause must include javax.ejb.CreateException.
- *
- *
- * 9.2.8 Entity bean's home interface
- * The following are the requirements for the entity bean's home interface:
- * ...
- * The return type for a create method must be the entity bean's remote interface type.
- * ...
- * The return type for a find<METHOD> method must be the entity bean's remote interface type (for a
- * single-object finder), or a collection thereof (for a multi-object finder).
- *...
- */
- protected void validateCreateMethod_remoteDep(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws InvalidInputException {
- if (method == null) {
- return;
- }
-
- JavaClass remoteIntf = bean.getRemoteInterface();
- ValidationRuleUtility.isValidTypeHierarchy(bean, remoteIntf);
-
- // The return type for a create method must be the remote interface type.
- if (!ValidationRuleUtility.isAssignableFrom(method.getReturnType(), remoteIntf)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2402, IEJBValidationContext.WARNING, bean, clazz, method, new String[] { remoteIntf.getName()}, this);
- vc.addMessage(message);
- }
- }
-
- /**
- * 6.10.6 Session bean's home interface
- * The following are the requirements for the session bean's home interface:
- * - Each create method must be named "create", and it must match one of
- * the ejbCreate methods defined in the session bean class. The matching
- * ejbCreate method must have the same number and types of arguments.
- * (Note that the return type is different.)
- *...
- * - All the exceptions defined in the throws clause of an ejbCreate method
- * of the session bean class must be defined in the throws clause of the
- * matching create method of the home interface.
- *...
- *
- * 9.2.8 Entity bean's home interface
- * The following are the requirements for the entity bean's home interface:
- * - Each create method must be named "create", and it must match one of the
- * ejbCreate methods defined in the enterprise Bean class. The matching
- * ejbCreate method must have the same number and types of its arguments.
- * (Note that the return type is different.)
- *...
- * - All the exceptions defined in the throws clause of the matching ejbCreate
- * and ejbPostCreate methods of the enterprise Bean class must be included in
- * the throws clause of the matching create method of the home interface
- * (i.e the set of exceptions defined for the create method must be a superset
- * of the union of exceptions defined for the ejbCreate and ejbPostCreate methods)
- */
- public void validateMatchingBeanCreateMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws InvalidInputException {
- vc.terminateIfCancelled();
-
- if (method == null) {
- return;
- }
-
- // Each create method must be named "create", and it must match one of the
- // ejbCreate methods defined in the enterprise Bean class. The matching
- // ejbCreate method must have the same number and types of its arguments.
- // (Note that the return type is different.)
- JavaClass beanClass = bean.getEjbClass();
- ValidationRuleUtility.isValidTypeHierarchy(bean, beanClass);
-
- Method ejbCreateMethod = ValidationRuleUtility.getMethodExtended(beanClass, method, IMethodAndFieldConstants.METHODNAME_EJBCREATE);
- if (ejbCreateMethod == null) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2026, IEJBValidationContext.ERROR, bean, clazz, method, new String[] { beanClass.getName()}, this);
- vc.addMessage(message);
- return;
- }
-
- // Section 6.10.6 (session), 9.2.8 (entity), declare that all exceptions declared
- // on the ejbCreate, ejbPostCreate methods must be defined in the throws clause of
- // the matching create of the home interface.
- /*
- // Don't check for the exceptions here - let the bean class do it. When the home
- // changes, a "dependent" validation of the bean's checks should be done automatically.
- // If it is checked in this method as well, there are duplicate messages on the task list.
- HashSet exceptions = getNotSubsetExceptions(method, ejbCreateMethod);
- if(exceptions.size() > 0) {
- Iterator iterator = exceptions.iterator();
- while(iterator.hasNext()) {
- JavaClass exc = (JavaClass)iterator.next();
- String[] msgParm = {exc.getQualifiedName()};
- addValidationMessage(IEJBValidationContext.ERROR, IMessagePrefixEjb11Constants.EJB_METHOD_THROW_NOTHI_EXCEP, msgParm, ejbCreateMethod, EJB_HOME_GROUP); // since we're adding the message to the bean class, we need to mark it like the bean class would; i.e., a home-dependent message
- }
- }
- */
- }
-
- protected void validateAppendixB(IEJBValidationContext vc, EnterpriseBean bean, JavaClass thisHome) {
- // The Java inheritance structure must match the EJB inheritance structure.
- // e.g. if EJB B is a child of EJB A, then class B must be a child of class A.
- // B could be a grandchild (or great-grandchild or ...) of A.
-
- if(bean == null) {
- // bean has no supertype
- return;
- }
- EnterpriseBean supertype = getSuperType(bean);
- JavaClass parentHome = null;
- if (supertype != null) {
- // check this CMP's supertype
- parentHome = supertype.getHomeInterface();
-
- // Home a Xchild of parent Home
- // In our EJB component inheritance structure, while it is legal for
- // a home to inherit from another home, (section B.2), it is not legal
- // for WSA component inheritance structure.
- try {
- ValidationRuleUtility.isValidType(thisHome);
- ValidationRuleUtility.isValidType(parentHome);
- if (ValidationRuleUtility.isAssignableFrom(thisHome, parentHome)) {
- String[] msgParm = new String[] { thisHome.getQualifiedName(), parentHome.getQualifiedName()};
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2104, IEJBValidationContext.ERROR, bean, thisHome, msgParm, this);
- vc.addMessage(message);
- }
- }
- catch (InvalidInputException e) {
- String[] msgParm = { e.getJavaClass().getQualifiedName(), bean.getName()};
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2849, IEJBValidationContext.WARNING, bean, msgParm, this);
- vc.addMessage(message);
- }
- }
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AValidateKeyClass.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AValidateKeyClass.java
deleted file mode 100644
index ddb975088..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AValidateKeyClass.java
+++ /dev/null
@@ -1,148 +0,0 @@
-package org.eclipse.jst.j2ee.model.internal.validation;
-
-/*
-* Licensed Material - Property of IBM
-* (C) Copyright IBM Corp. 2001 - All Rights Reserved.
-* US Government Users Restricted Rights - Use, duplication or disclosure
-* restricted by GSA ADP Schedule Contract with IBM Corp.
-*/
-
-import java.util.List;
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaHelpers;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.jst.j2ee.ejb.Entity;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-
-/**
- * This class checks entity key classes for errors or potential errors.
- * If any problems are found, an error, warning, or info marker is added to the task list.
- *
- * The following paragraph is taken from
- * Enterprise JavaBeans Specification ("Specification")
- * Version: 1.1
- * Status: Final Release
- * Release: 12/17/99
- * Copyright 1999 Sun Microsystems, Inc.
- * 901 San Antonio Road, Palo Alto, CA 94303, U.S.A.
- * All rights reserved.
- *
- * 9.2.9 Entity bean's primary key class
- * - The Bean Provider must specify a primary key class in the deployment descriptor.
- * - The primary key type must be a legal Value Type in RMI-IIOP.
- * - The class must provide suitable implementation of the hashCode() and
- * equals(Object other) methods to simplify the management of the primary keys
- * by client code.
-*/
-public abstract class AValidateKeyClass extends AValidateEJB {
- public Object getTarget(Object parent, Object clazz) {
- if (parent == null) {
- return null;
- }
-
- return ((Entity) parent).getPrimaryKey();
- }
-
- public final List[] getMethodsExtended(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) {
- // Never check that a key class' method is defined on another class
- // of the bean.
- return null;
- }
-
- public final List[] getFieldsExtended(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) {
- // Never check that a key class' field is defined on another class
- // of the bean.
- return null;
- }
-
- /**
- * Return true if the method can, and should, be validated.
- * Filter out faulty methods (i.e., null), and methods which
- * belong to the base type, whatever that is. (e.g. java.lang.Object)
- */
- protected boolean isValid(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedList) throws InvalidInputException {
- if (super.isValid(vc, bean, clazz, method, methodsExtendedList)) {
- // exclude root object methods
- if (!ValidationRuleUtility.isJavaLangObjectMethod(bean, method)) {
- return true;
- }
- }
- return false;
- }
-
- /**
- * 9.2.9 Entity bean's primary key class
- * - The Bean Provider must specify a primary key class in the deployment descriptor. (checked by the MOF model)
- * - The primary key type must be a legal Value Type in RMI-IIOP. (for key fields, checked in the ValidateEntityBean class)
- * - The class must provide suitable implementation of the hashCode() and
- * equals(Object other) methods to simplify the management of the primary keys
- * by client code.
- */
- public void validateClass(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws InvalidInputException {
- vc.terminateIfCancelled();
-
- validateLegalRMIType(vc, bean, clazz);
-
- if (ValidationRuleUtility.isUnnamedPackage(clazz.getJavaPackage())) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2041, IEJBValidationContext.INFO, bean, clazz, this);
- vc.addMessage(message);
- }
- }
-
- /**
- * Verifies that a given class is a legal Value Type in RMI-IIOP.
- *
- * Java Remote MethodInvocation
- * Specification
- *
- * Revision 1.7, Java 2 SDK, Standard Edition, v1.3.0, December 1999
- *
- * 2.6 Parameter Passing in Remote Method Invocation
- * An argument to, or a return value from, a remote object can be any object that
- * is serializable. This includes primitive types, remote objects, and non-remote
- * objects that implement the java.io.Serializable interface. For more
- * details on how to make classes serializable, see the Java Object Serialization
- * Specification.
- */
- public final void validateLegalRMIType(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws InvalidInputException {
- vc.terminateIfCancelled();
-
- ValidationRuleUtility.isValidType(clazz);
-
- if (!ValidationRuleUtility.isLegalRMI_IIOPType(bean, clazz)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2019, IEJBValidationContext.INFO, bean, clazz, new String[] { clazz.getQualifiedName()}, this);
- vc.addMessage(message);
- }
- }
-
- /**
- * 9.2.9 Entity bean's primary key class
- * - The class must provide suitable implementation of the hashCode() and
- * equals(Object other) methods to simplify the management of the primary keys
- * by client code.
- */
- public void validateMethodExists(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws InvalidInputException {
- // The class must provide suitable implementation of the hashCode() and
- // equals(Object other) methods to simplify the management of the primary keys
- // by client code.
- Method hashCodeMethod = ValidationRuleUtility.getMethodExtended(clazz, IMethodAndFieldConstants.METHODNAME_HASHCODE, new JavaHelpers[0]);
- if ((hashCodeMethod == null) || ValidationRuleUtility.isJavaLangObjectMethod(bean, hashCodeMethod)) {
- // EJB 1.0 did not require this method, so this is a warning instead of an error.
- String[] msgParm = { clazz.getQualifiedName(), IMethodAndFieldConstants.METHODSIGNATURE_HASHCODE};
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2001, IEJBValidationContext.WARNING, bean, clazz, msgParm, this);
- vc.addMessage(message);
- }
-
- Method equalsMethod = ValidationRuleUtility.getMethodExtended(clazz, IMethodAndFieldConstants.METHODNAME_EQUALS, new JavaHelpers[]{ValidationRuleUtility.getType(ITypeConstants.CLASSNAME_JAVA_LANG_OBJECT, bean)});
- if ((equalsMethod == null) || (ValidationRuleUtility.isJavaLangObjectMethod(bean, equalsMethod))) {
- // EJB 1.0 did not require this method, so this is a warning instead of an error.
- String[] msgParm = { clazz.getQualifiedName(), IMethodAndFieldConstants.METHODSIGNATURE_EQUALS };
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2001, IEJBValidationContext.WARNING, bean, clazz, msgParm, this);
- vc.addMessage(message);
- }
- }
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AValidateRemote.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AValidateRemote.java
deleted file mode 100644
index de90c7706..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AValidateRemote.java
+++ /dev/null
@@ -1,380 +0,0 @@
-package org.eclipse.jst.j2ee.model.internal.validation;
-
-/*
-* Licensed Material - Property of IBM
-* (C) Copyright IBM Corp. 2001 - All Rights Reserved.
-* US Government Users Restricted Rights - Use, duplication or disclosure
-* restricted by GSA ADP Schedule Contract with IBM Corp.
-*/
-
-import java.util.List;
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaHelpers;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-
-/**
- * This class checks remote interface classes for errors or potential errors.
- * If any problems are found, an error, warning, or info marker is added to the task list.
- * The checks for a session remote interface and an entity remote interface are the same
- * in EJB 1.1.
- *
- * The following paragraph is taken from
- * Enterprise JavaBeans Specification ("Specification")
- * Version: 1.1
- * Status: Final Release
- * Release: 12/17/99
- * Copyright 1999 Sun Microsystems, Inc.
- * 901 San Antonio Road, Palo Alto, CA 94303, U.S.A.
- * All rights reserved.
- *
- * 6.10.5 Session bean's remote interface
- * The following are the requirements for the session bean's remote interface:
- * - The interface must extend the javax.ejb.EJBObject interface.
- * - The methods defined in this interface must follow the rules for RMI/IIOP.
- * This means that their argument and return values must be of valid types
- * for RMI/IIOP, and their throws clause must include the java.rmi.RemoteException.
- * - The remote interface is allowed to have superinterfaces. Use of interface
- * inheritance is subject to the RMI/IIOP rules for the definition of remote interfaces.
- * - For each method defined in the remote interface, there must be a matching
- * method in the session bean's class.
- * - The matching method must have:
- * - The same name.
- * - The same number and types of arguments, and the same return type.
- * - All the exceptions defined in the throws clause of the matching
- * method of the session bean class must be defined in the throws
- * clause of the method of the remote interface.
- *
- * 9.2.7 Entity bean's remote interface
- * The following are the requirements for the entity bean's remote interface:
- * - The interface must extend the javax.ejb.EJBObject interface.
- * - The methods defined in the remote interface must follow the rules for RMI-IIOP.
- * This means that their argument and return value types must be valid types for RMI-IIOP,
- * and their throws clauses must include the java.rmi.RemoteException.
- * - The remote interface is allowed to have superinterfaces. Use of interface inheritance
- * is subject to the RMI-IIOP rules for the definition of remote interfaces.
- * - For each method defined in the remote interface, there must be a matching method
- * in the entity bean's class. The matching method must have:
- * - The same name.
- * - The same number and types of its arguments, and the same return type.
- * - All the exceptions defined in the throws clause of the matching method
- * of the enterprise Bean class must be defined in the throws clause of
- * the method of the remote interface.
- */
-public abstract class AValidateRemote extends AValidateEJB {
- public final Object getTarget(Object parent, Object clazz) {
- if(parent == null) {
- return null;
- }
-
- return ((EnterpriseBean)parent).getRemoteInterface();
- }
-
- public final List[] getMethodsExtended(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) {
- // A home or component class needs the following classes' extended methods:
- // 1. bean class
- List[] result = new List[1];
- JavaClass beanClass = bean.getEjbClass();
- if(beanClass == null) {
- result[0] = null;
- }
- else {
- result[0] = beanClass.getMethodsExtended();
- }
- return result;
- }
-
- public final List[] getFieldsExtended(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) {
- // Never check that a home or component's field is defined on another class
- // of the bean.
- return null;
- }
-
- /**
- * Return true if the method can, and should, be validated.
- * Filter out faulty methods (i.e., null), and methods which
- * belong to the base type, whatever that is. (e.g. java.lang.Object)
- */
- protected boolean isValid(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedList) throws InvalidInputException {
- if (super.isValid(vc, bean, clazz, method, methodsExtendedList)) {
- // Exclude root remote interface methods
- if (ValidationRuleUtility.isEJBObjectMethod(bean, method)) {
- return false;
- }
- else if (isEjbRelationshipRoleMethod(vc, bean, clazz, method)) {
- return false;
- }
- else if (ValidationRuleUtility.isClinitMethod(bean, method)) {
- return false;
- }
- else {
- return true;
- }
- }
- return false;
- }
-
- /**
- * Check the remote interface's methods against the EJB 1.1 spec.
- *
- * 6.10.5 Session bean's remote interface
- * ...
- * - The methods defined in this interface must follow the rules for RMI/IIOP.
- * This means that their argument and return values must be of valid types
- * for RMI/IIOP, and their throws clause must include the java.rmi.RemoteException.
- * ...
- * - For each method defined in the remote interface, there must be a matching
- * method in the session bean's class.
- * - The matching method must have:
- * - The same name.
- * - The same number and types of arguments, and the same return type.
- * - All the exceptions defined in the throws clause of the matching
- * method of the session bean class must be defined in the throws
- * clause of the method of the remote interface.
- * ...
- * 9.2.7 Entity bean's remote interface
- * ...
- * - The methods defined in the remote interface must follow the rules for RMI-IIOP.
- * This means that their argument and return value types must be valid types for RMI-IIOP,
- * and their throws clauses must include the java.rmi.RemoteException.
- * ...
- * - For each method defined in the remote interface, there must be a matching method
- * in the entity bean's class. The matching method must have:
- * - The same name.
- * - The same number and types of its arguments, and the same return type.
- * - All the exceptions defined in the throws clause of the matching method
- * of the enterprise Bean class must be defined in the throws clause of
- * the method of the remote interface.
- * ...
- */
- public void primValidate(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method riMethod) throws InvalidInputException {
- // Can't invoke an abstract method
- // super.validateExistence(riMethod);
-
- vc.terminateIfCancelled();
-
- // The methods defined in this interface must follow the rules for RMI/IIOP.
- validateLegalRMIMethod(vc, bean, clazz, riMethod);
-
- // For each method defined in the remote interface, there must be a matching
- // method in the session bean's class.
- validateMethod_beanDep(vc, bean, clazz, riMethod);
-
- }
-
- /**
- * Checks to see if @ejbMethod is one of the required methods.
- */
- protected void primValidateExistence(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method ejbMethod) throws InvalidInputException {
- // Can't invoke an abstract method
- //super.validateExistence(ejbMethod);
-
- //There are no required methods.
- }
-
- /**
- * Check that the remote interface class definition follows the EJB 1.1 spec.
- *
- * The following paragraph is taken from
- * Enterprise JavaBeans Specification ("Specification")
- * Version: 1.1
- * Status: Final Release
- * Release: 12/17/99
- * Copyright 1999 Sun Microsystems, Inc.
- * 901 San Antonio Road, Palo Alto, CA 94303, U.S.A.
- * All rights reserved.
- *
- * 6.10.5 Session bean's remote interface
- * The following are the requirements for the session bean's remote interface:
- * - The interface must extend the javax.ejb.EJBObject interface.
- * ...
- * - The remote interface is allowed to have superinterfaces. Use of interface
- * inheritance is subject to the RMI/IIOP rules for the definition of remote interfaces.
- * ...
- * 9.2.7 Entity bean's remote interface
- * The following are the requirements for the entity bean's remote interface:
- * - The interface must extend the javax.ejb.EJBObject interface.
- * ...
- * - The remote interface is allowed to have superinterfaces. Use of interface inheritance
- * is subject to the RMI-IIOP rules for the definition of remote interfaces.
- * ...
- */
- public void validateClass(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws InvalidInputException {
- vc.terminateIfCancelled();
-
- // It must be an interface, not a class.
- if (!clazz.isInterface()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2012, IEJBValidationContext.ERROR, bean, clazz, this);
- vc.addMessage(message);
- }
-
- // The interface must extend the javax.ejb.EJBObject interface.
- JavaHelpers javaxEjbObject = ValidationRuleUtility.getType(ITypeConstants.CLASSNAME_JAVAX_EJB_EJBOBJECT, bean);
- if (!ValidationRuleUtility.isAssignableFrom(clazz, javaxEjbObject)) {
- String[] msgParm = { ITypeConstants.CLASSNAME_JAVAX_EJB_EJBOBJECT };
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2017, IEJBValidationContext.ERROR, bean, clazz, msgParm, this);
- vc.addMessage(message);
- }
-
- if (ValidationRuleUtility.isUnnamedPackage(clazz.getJavaPackage())) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2041, IEJBValidationContext.INFO, bean, clazz, this);
- vc.addMessage(message);
- }
-
- validateAppendixB(vc, bean, clazz);
- }
-
- /**
- * 6.10.5
- * For each method defined in the remote interface, there must be a matching
- * method in the session bean's class. The matching method must have:
- * - The same name.
- * - The same number and types of arguments, and the same return type.
- * - All the exceptions defined in the throws clause of the matching method
- * of the session bean class must be defined in the throws clause of the
- * method of the remote interface.
- *
- * 9.2.7
- * For each method defined in the remote interface, there must be a matching
- * method in the entity bean's class. The matching method must have:
- * - The same name.
- * - The same number and types of its arguments, and the same return type.
- * - All the exceptions defined in the throws clause of the matching method
- * of the enterprise Bean class must be defined in the throws clause of
- * the method of the remote interface.
- */
- public void validateMatchingBeanMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method remoteMethod) throws InvalidInputException {
- vc.terminateIfCancelled();
- if (remoteMethod == null) {
- return;
- }
-
- JavaClass beanClass = bean.getEjbClass();
- ValidationRuleUtility.isValidTypeHierarchy(bean, beanClass);
-
- Method beanMethod = ValidationRuleUtility.getMethodExtended(beanClass, remoteMethod, remoteMethod.getName());
- if (beanMethod == null) {
- String[] msgParm = { beanClass.getName()};
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2023, IEJBValidationContext.ERROR, bean, clazz, remoteMethod, msgParm, this);
- vc.addMessage(message);
- return;
- }
-
- ValidationRuleUtility.isValidType(ValidationRuleUtility.getType(remoteMethod.getReturnType()));
-
- try {
- ValidationRuleUtility.isValidType(ValidationRuleUtility.getType(beanMethod.getReturnType()));
- }
- catch (InvalidInputException e) {
- // Let the validation of the bean class report the reflection warning.
- // Don't do any validation based on that method.
- return;
- }
-
- // Check if return types match
- vc.terminateIfCancelled();
- if (!ValidationRuleUtility.isAssignableFrom(remoteMethod.getReturnType(), beanMethod.getReturnType())) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2415, IEJBValidationContext.ERROR, bean, clazz, remoteMethod, new String[] { beanMethod.getReturnType().getJavaName(), beanClass.getName()}, this);
- vc.addMessage(message);
- }
-
-
- // Section 6.10.5 (session), 9.2.7 (entity), declare that all exceptions declared
- // on the ejbCreate, ejbPostCreate methods must be defined in the throws clause of
- // the matching create of the remote interface.
- /*
- // Don't check for the exceptions here - let the bean class do it. When the remote
- // changes, a "dependent" validation of the bean's checks should be done automatically.
- // If it is checked in this method as well, there are duplicate messages on the task list.
- HashSet exceptions = getNotSubsetExceptions(remoteMethod, beanMethod);
- if(exceptions.size() > 0) {
- Iterator iterator = exceptions.iterator();
- while(iterator.hasNext()) {
- JavaClass exc = (JavaClass)iterator.next();
- String[] msgParm = {exc.getQualifiedName()};
- addValidationMessage(IEJBValidationContext.ERROR, IMessagePrefixEjb11Constants.EJB_METHOD_THROW_NOTRI_EXCEP, msgParm, beanMethod, EJB_BEAN_GROUP);
- }
- }
- */
- }
-
- /**
- * Check the remote interface's methods against the EJB 1.1 spec.
- *
- * 6.10.5 Session bean's remote interface
- * ...
- * - The methods defined in this interface must follow the rules for RMI/IIOP.
- * This means that their argument and return values must be of valid types
- * for RMI/IIOP, and their throws clause must include the java.rmi.RemoteException.
- * ...
- * - For each method defined in the remote interface, there must be a matching
- * method in the session bean's class.
- * - The matching method must have:
- * - The same name.
- * - The same number and types of arguments, and the same return type.
- * - All the exceptions defined in the throws clause of the matching
- * method of the session bean class must be defined in the throws
- * clause of the method of the remote interface.
- * ...
- * 9.2.7 Entity bean's remote interface
- * ...
- * - The methods defined in the remote interface must follow the rules for RMI-IIOP.
- * This means that their argument and return value types must be valid types for RMI-IIOP,
- * and their throws clauses must include the java.rmi.RemoteException.
- * ...
- * - For each method defined in the remote interface, there must be a matching method
- * in the entity bean's class. The matching method must have:
- * - The same name.
- * - The same number and types of its arguments, and the same return type.
- * - All the exceptions defined in the throws clause of the matching method
- * of the enterprise Bean class must be defined in the throws clause of
- * the method of the remote interface.
- * ...
- */
- public void validateMethod_beanDep(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method riMethod) throws InvalidInputException {
- vc.terminateIfCancelled();
- // For each method defined in the remote interface, there must be a matching
- // method in the session bean's class.
- validateMatchingBeanMethod(vc, bean, clazz, riMethod);
- }
-
- /**
- * Final check to see if required methods were detected.
- */
- protected void validateMethodExists(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws InvalidInputException {
- //There are no required methods.
- }
-
- protected void validateAppendixB(IEJBValidationContext vc, EnterpriseBean bean, JavaClass thisRemote) {
- // The Java inheritance structure must match the EJB inheritance structure.
- // e.g. if EJB B is a child of EJB A, then class B must be a child of class A.
- // B could be a grandchild (or great-grandchild or ...) of A.
- if(bean == null) {
- return;
- }
- EnterpriseBean supertype = getSuperType(bean);
- JavaClass parentRemote = null;
- if (supertype != null) {
- parentRemote = supertype.getRemoteInterface();
-
- // Remote a Xchild of parent Remote
- try {
- ValidationRuleUtility.isValidType(thisRemote);
- ValidationRuleUtility.isValidType(parentRemote);
- if (!ValidationRuleUtility.isAssignableFrom(thisRemote, parentRemote)) {
- String[] msgParm = new String[] { thisRemote.getQualifiedName(), parentRemote.getQualifiedName()};
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2105, IEJBValidationContext.ERROR, bean, thisRemote, msgParm, this);
- vc.addMessage(message);
- }
- }
- catch (InvalidInputException e) {
- String[] msgParm = { e.getJavaClass().getQualifiedName(), bean.getName()};
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2849, IEJBValidationContext.WARNING, bean, msgParm, this);
- vc.addMessage(message);
- }
- }
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AValidationRule.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AValidationRule.java
deleted file mode 100644
index d59058685..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AValidationRule.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.jst.j2ee.ejb.ContainerManagedEntity;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.jst.j2ee.internal.EjbModuleExtensionHelper;
-import org.eclipse.jst.j2ee.internal.IEJBModelExtenderManager;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-
-
-/**
- * @version 1.0
- * @author
- */
-public abstract class AValidationRule implements IValidationRule {
-
- private Set _dependents = null;
-
- protected EjbModuleExtensionHelper modHelper = null;
-
- /*
- * @see IValidationRule#addDependent(IValidationRule)
- */
- public void addDependent(IValidationRule rule) {
- if (rule == null) { return; }
-
- if (_dependents == null) {
- _dependents = new HashSet();
- }
-
- _dependents.add(rule);
- }
-
- /*
- * @see IValidationRule#getDependents()
- */
- public Set getDependents() {
- return _dependents;
- }
-
- protected EjbModuleExtensionHelper getEjbExtensionHelper(Object context) {
- return IEJBModelExtenderManager.INSTANCE.getEJBModuleExtension(context);
- }
-
- /**
- * @param EnterpriseBean
- * @return EnterpriseBean return the super type of an EnterpriseBean by
- * loading the extnension plugin if extension plugin fails to load
- * return null
- */
- public final EnterpriseBean getSuperType(EnterpriseBean enterpriseBean) {
- EnterpriseBean superType = null;
- EjbModuleExtensionHelper aModHelper = getEjbExtensionHelper(enterpriseBean);
- if (aModHelper != null) superType = aModHelper.getSuperType(enterpriseBean);
- return superType;
- }
-
- /**
- * @param EnterpriseBean
- * @return String - super type file name return the super type file of an
- * EnterpriseBean by loading the extnension plugin if extension
- * plugin fails to load return null
- */
- public final String getEJBInheritanceFileName() {
- String superTypeFileName = null;
- // TODO MDE Revisit this after the drop
- EjbModuleExtensionHelper aModHelper = getEjbExtensionHelper(null);
- if (aModHelper != null) superTypeFileName = aModHelper.getEJBInheritanceFileName();
- return superTypeFileName;
- }
-
- /**
- * @param EnterpriseBean
- * @return List - extended role names return the extended role method name
- * of an EnterpriseBean by loading the extnension plugin if
- * extension plugin fails to load return null
- */
- public final List getRoleMethodNamesExtended(EnterpriseBean enterpriseBean) {
- List roleNameExtended = null;
- EjbModuleExtensionHelper aModHelper = getEjbExtensionHelper(enterpriseBean);
- if (aModHelper != null && enterpriseBean.isContainerManagedEntity())
- roleNameExtended = aModHelper.getRoleMethodNamesExtended((ContainerManagedEntity) enterpriseBean);
- return roleNameExtended;
- }
-
- /*
- * @see IValidationRule#preValidate(IEJBValidationContext, Object, Object)
- */
- public void preValidate(IEJBValidationContext vc, Object targetParent, Object target)
- throws ValidationCancelledException, ValidationException {
- // By default, allocate nothing.
- }
-
- /*
- * @see IValidationRule#postValidate(IEJBValidationContext, Object, Object)
- */
- public void postValidate(IEJBValidationContext vc, Object targetParent, Object target)
- throws ValidationCancelledException, ValidationException {
- // By default, assume that nothing was allocated in preValidate.
- }
-
- /*
- * @see IValidationRule#reset()
- */
- public void reset() {
- // By default, assume that nothing needs to be reset
- }
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AbstractEJBValidationRuleFactory.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AbstractEJBValidationRuleFactory.java
deleted file mode 100644
index 3704d09ca..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AbstractEJBValidationRuleFactory.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-/*
- * Abstract class for EJB Validation rules
- */
-package org.eclipse.jst.j2ee.model.internal.validation;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Set;
-import java.util.logging.Level;
-
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jst.j2ee.ejb.EJBJar;
-
-/**
- * To change the template for this generated type comment go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-public abstract class AbstractEJBValidationRuleFactory {
-
- /**
- *
- */
- public AbstractEJBValidationRuleFactory() {
- //Default
- }
-
- protected HashMap _ruleList = null;
-
- public void release(IValidationRule rule) {
- if(rule == null) {
- return;
- }
-
- // Since we don't put a lock on the rule when it's checked out via getRule(Object),
- // there's nothing to do other than reset the rule to prepare it for reuse.
- rule.reset();
- }
-
- protected Iterator addDependentRuleToRuleList() {
- Iterator iterator = _ruleList.values().iterator();
- while(iterator.hasNext()) {
- IValidationRule rule = (IValidationRule)iterator.next();
- Object[] ids = rule.getDependsOn();
- if(ids == null) {
- continue;
- }
-
- for(int i=0; i<ids.length; i++) {
- IValidationRule dRule = (IValidationRule)_ruleList.get(ids[i]);
- if(dRule != null) {
- dRule.addDependent(rule);
- }
- }
- }
- return iterator;
- }
-
- protected void logAllDependentRules() {
- Iterator iterator;
- Logger logger = getMsgLogger();
- if (logger.isLoggingLevel(Level.FINEST)) {
- iterator = _ruleList.values().iterator();
- Iterator depIterator = null;
- while(iterator.hasNext()) {
- IValidationRule rule = (IValidationRule)iterator.next();
- Set dependents = rule.getDependents();
- StringBuffer buffer = new StringBuffer();
- buffer.append("list of dependents for rule:"); //$NON-NLS-1$
- buffer.append(rule.getClass().getName());
- buffer.append("\n"); //$NON-NLS-1$
- if(dependents != null) {
- depIterator = dependents.iterator();
- while(depIterator.hasNext()) {
- IValidationRule dRule = (IValidationRule)depIterator.next();
- buffer.append("\t"); //$NON-NLS-1$
- buffer.append(dRule.getClass().getName());
- buffer.append("\n"); //$NON-NLS-1$
- }
- }
- buffer.append("\n"); //$NON-NLS-1$
- logger.write(Level.FINEST, buffer.toString());
- }
- }
- }
-
- /**
- * @return
- */
- protected abstract Logger getMsgLogger();
-
- protected EJBJar getEJBJar(IEJBValidationContext vc) {
- return (EJBJar)vc.loadModel(EJBValidatorModelEnum.EJB_MODEL);
- }
-
- /**
- * This method will return the identified IValidationRule.
- * If the ruleid is not registered, or if there is a problem
- * instantiating the IValidationRule, then null will be returned.
- */
- public IValidationRule getRule(IEJBValidationContext vc, Object ruleId) {
- // To avoid loading a rule until it is needed, intialize
- // the list with a rule id as the key, and a String class name
- // as a value. When a rule is loaded, if the value is a String,
- // then the IValidationRule has not been instantiated. Create an
- // instance and store that in place of the String. If the value
- // is already an IValidationRule instance, return it.
-
- Object rule = _ruleList.get(ruleId);
- if(rule == null) {
- // No such ruleId registered.
- Logger logger = vc.getMsgLogger();
- if (logger != null && logger.isLoggingLevel(Level.FINE)) {
- logger.write(Level.FINE, "Cannot load rule from ruleId: " + ruleId); //$NON-NLS-1$
- }
- return null;
- }
-
- return (IValidationRule)rule;
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AbstractEJBValidator.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AbstractEJBValidator.java
deleted file mode 100644
index 429d70d57..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/AbstractEJBValidator.java
+++ /dev/null
@@ -1,324 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-/*
- * Created on Nov 24, 2003
- *
- * To change the template for this generated file go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.jst.j2ee.model.internal.validation;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-import java.util.Vector;
-import java.util.logging.Level;
-
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.IReporter;
-import org.eclipse.wst.validation.internal.provisional.core.IValidationContext;
-import org.eclipse.wst.validation.internal.provisional.core.MessageLimitException;
-/**
- * @author vijayb
- *
- * To change the template for this generated type comment go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-public abstract class AbstractEJBValidator extends J2EEValidator {
- protected Map _validated = null;
- /**
- *
- */
- public AbstractEJBValidator() {
- super();
- _validated = new HashMap();
- }
-
- protected void logMissingRule(IEJBValidationContext vc, Object ruleId) {
- Logger logger = vc.getMsgLogger();
- if (logger != null && logger.isLoggingLevel(Level.SEVERE)) {
- logger.write(Level.SEVERE, ruleId + " = null"); //$NON-NLS-1$
- }
- addInternalErrorMessage(vc);
- }
- protected void addInternalErrorMessage(IEJBValidationContext vc) {
- addInternalErrorMessage(vc, null);
- }
-
- protected void addInternalErrorMessage(IEJBValidationContext vc, Throwable exc) {
- IMessage mssg = vc.getMessage();
- mssg.setId(internalErrorMessage());
- vc.addMessage(mssg);
- if(exc != null) {
- Logger logger = vc.getMsgLogger();
- if (logger != null && logger.isLoggingLevel(Level.SEVERE)) {
- logger.write(Level.SEVERE, exc);
- }
- }
- }
-
- protected Map removeOldMessages(IEJBValidationContext vc,Map targets) throws ValidationException {
- if(vc.getURIs() == null) {
- // Full validation
- vc.removeAllMessages(); // Remove messages from the EJBJar.
- vc.loadModel(removeOldMessagesString(), new Object[]{vc.getReporter(), null}); // Remove messages from any EJB client JAR files or Java Utility JAR files.
- return null;
- }
- preRemoveOldMessages(vc,targets); // Get the list of targets to be validated, and remove messages from all of them.
-
- // Remove the messages from all of the changed files and their dependents.
- vc.loadModel(removeOldMessagesString(), new Object[]{vc.getReporter(), targets});
- return targets;
- }
- /**
- * @param vc
- * @param delta
- * @param targets
- */
- protected void preRemoveOldMessages(IEJBValidationContext vc,Map targets) throws ValidationException {
- //Default
- }
- /**
- * @return
- */
- protected String removeOldMessagesString() {
- return null;
- }
- /**
- * @return
- */
- private String internalErrorMessage() {
- return null;
- }
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.wst.validation.internal.core.core.IValidator#validate(org.eclipse.wst.validation.internal.core.core.IHelper,
- * org.eclipse.wst.validation.internal.core.core.IReporter,
- * org.eclipse.wst.validation.internal.core.core.IFileDelta[])
- */
- public void validate(IValidationContext helper, IReporter reporter) throws ValidationException {
- //Default
- super.validate(helper, reporter);
- }
-
- public void run(IValidationRule rule, Object targetParent, Object target) throws ValidationException {
- if(isValidated(rule.getId(), targetParent, target)) {
- // Whether or not this is a full or incremental run, don't revalidate this target
- // if it has already been validated. (e.g. if a class is used by more than one bean,
- // and say one bean is stateless and one is stateful, and everything else about the
- // beans are identical, don't validate that class again.)
- return;
- }
-
- try {
- rule.preValidate(getValidationContext(), targetParent, target);
- rule.validate(getValidationContext(), targetParent, target);
- rule.postValidate(getValidationContext(), targetParent, target);
- }
- catch(ValidationCancelledException exc) {
- // Clean up the messages which are on the task list? Or is it nicer to leave them behind?
- }
- catch(ValidationException e) {
- throw e;
- }
- catch(MessageLimitException e) {
- throw e;
- }
- catch(Throwable exc) {
- addInternalErrorMessage(getValidationContext(), exc);
- }
- finally {
- setValidated(rule.getId(), targetParent, target);
- releaseRules(rule);
- }
- }
-
- /**
- * @param rule
- */
- protected abstract void releaseRules(IValidationRule rule);
-
- private IEJBValidationContext _vc = null;
-
- protected IEJBValidationContext getValidationContext() {
- return _vc;
- }
- protected void setValidationContext(IEJBValidationContext vc) {
- _vc = vc;
- }
-
- /**
- * This class is public only for the EJBHelper.
- */
- public class TargetObject {
- private Object _parent = null;
- private Object _target = null;
-
- public TargetObject() {
- //Default
- }
-
- public Object getTargetParent() {
- return _parent;
- }
-
- public Object getTarget() {
- return _target;
- }
-
- public void setTargetParent(Object tp) {
- _parent = tp;
- }
-
- public void setTarget(Object t) {
- _target = t;
- }
-
- public int hashCode() {
- int parent = (getTargetParent() == null) ? 0 : getTargetParent().hashCode();
- int target = (getTarget() == null) ? 0 : getTarget().hashCode();
- return parent + target;
- }
-
- public boolean equals(Object o) {
- if(o == null) {
- return false;
- }
-
- if(this == o) {
- return true;
- }
-
- if(!(o instanceof TargetObject)) {
- return false;
- }
-
- Object thisParent = this.getTargetParent();
- Object oParent = ((TargetObject)o).getTargetParent();
- Object thisTarget = this.getTarget();
- Object oTarget = ((TargetObject)o).getTarget();
-
- if((thisParent == null) && (oParent == null)) {
- // check target
- }
- else if((thisParent != null) && (oParent != null)) {
- if(thisParent.equals(oParent)) {
- // check target
- }
- else {
- return false;
- }
- }
- else {
- return false;
- }
-
- if((thisTarget == null) && (oTarget == null)) {
- return true;
- }
- else if((thisTarget != null) && (oTarget != null)) {
- return (thisTarget.equals(oTarget));
- }
- else {
- return false;
- }
- }
- }
-
-
- public void setValidated(Object key, Object targetParent, Object target) {
- Set done = null;
- if(_validated.containsKey(key)) {
- done = (Set)_validated.get(key);
- }
- else {
- done = new HashSet();
- }
-
- done.add(getTargetObjectPool().getTargetObject(targetParent, target));
- _validated.put(key, done);
- }
-
-
- protected class TargetObjectPool {
- private int _growSize = 0;
- private Vector _pool = null;
-
- public TargetObjectPool(int initialSize) {
- _growSize = initialSize;
- _pool = new Vector(initialSize, _growSize);
- grow();
- }
-
- private void grow() {
- for(int i=0; i<_growSize; i++) {
- _pool.add(new TargetObject());
- }
- }
-
- public TargetObject getTargetObject(Object targetParent, Object target) {
- if(_pool.size() <= 0) {
- grow();
- }
- TargetObject obj = (TargetObject)_pool.remove(0);
- obj.setTargetParent(targetParent);
- obj.setTarget(target);
- return obj;
- }
-
- public void release(TargetObject obj) {
- obj.setTargetParent(null);
- obj.setTarget(null);
- _pool.add(obj);
- }
- }
-
- protected abstract TargetObjectPool getTargetObjectPool();
-
- public boolean isValidated(Object key, Object targetParent, Object target) {
- if(!_validated.containsKey(key)) {
- return false;
- }
-
-
- Set done = (Set)_validated.get(key);
- TargetObject temp = getTargetObjectPool().getTargetObject(targetParent, target);
- try {
- if(done.contains(temp)) {
- return true;
- }
-
- return false;
- }
- finally {
- getTargetObjectPool().release(temp);
- }
- }
- public void cleanup(IReporter reporter) {
- Iterator iterator = _validated.keySet().iterator();
- while(iterator.hasNext()) {
- Set done = (Set)_validated.get(iterator.next());
- Iterator toIterator = done.iterator();
- while(toIterator.hasNext()) {
- TargetObject to = (TargetObject)toIterator.next();
- getTargetObjectPool().release(to);
- }
- done.clear();
- }
- _validated.clear();
- setValidationContext(null);
- }
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ApplicationClientMessageConstants.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ApplicationClientMessageConstants.java
deleted file mode 100644
index 7e73b75a0..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ApplicationClientMessageConstants.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-
-
-
-
-/**
- * Insert the type's description here.
- * Creation date: (4/9/2001 11:49:47 AM)
- * @author: Administrator
- */
-public interface ApplicationClientMessageConstants extends org.eclipse.jst.j2ee.model.internal.validation.J2EEMessageConstants {
- public static final String APPCLIENT_MODEL_NAME = "APPLICATIONCLIENT_VALIDATION"; //$NON-NLS-1$
- public static final String INVALID_DD = "INVALID_DD"; //$NON-NLS-1$
- public static final String ERROR_EJB_REFS = "ERROR_EJB_REFS"; //$NON-NLS-1$
- public static final String APPLICATIONCLIENT_VALIDATOR_ID = "APPLICATIONCLIENT_VALIDATOR"; //$NON-NLS-1$
- public static final String ERROR_APPCLIENT_INVALID_APPCLIENT_FILE = "ERROR_APPLICATIONCLIENT_INVALID_APPCLIENT_FILE"; //$NON-NLS-1$
- public static final String MESSAGE_APPCLIENT_MISSING_URI = "MESSAGE_APPCLIENT_MISSING_URI"; //$NON-NLS-1$
- public static final String ERROR_APPCLIENT_VALIDATION_FAILED = "ERROR_APPCLIENT_VALIDATION_FAILED"; //$NON-NLS-1$
- public static final String APPCLIENT_DD_PARSE_LINECOL = "APPCLIENT_DD_PARSE_LINECOL"; //$NON-NLS-1$
- public static final String APPCLIENT_DD_PARSE_LINE = "APPCLIENT_DD_PARSE_LINE"; //$NON-NLS-1$
- public static final String APPCLIENT_DD_CANNOT_OPEN_DD = "APPCLIENT_DD_CANNOT_OPEN_DD"; //$NON-NLS-1$
- public static final String APPCLIENT_DD_PARSE_NOINFO = "APPCLIENT_DD_PARSE_NOINFO"; //$NON-NLS-1$
- public static final String APPCLIENT_DUP_RES_ENV_REF_ERROR_ = "APPCLIENT_DUP_RES_ENV_REF_ERROR_"; //$NON-NLS-1$
- public static final String APPCLIENT_DUP_EJB_REF_ERROR_ = "APPCLIENT_DUP_EJB_REF_ERROR_"; //$NON-NLS-1$
- public static final String APPCLIENT_MAIN_CLASS_ERROR_ = "APPCLIENT_MAIN_CLASS_ERROR_"; //$NON-NLS-1$
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ApplicationClientValidator.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ApplicationClientValidator.java
deleted file mode 100644
index fe1cf8d25..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ApplicationClientValidator.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-
-
-import org.eclipse.emf.common.command.Command;
-import org.eclipse.jst.j2ee.client.ApplicationClient;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ApplicationClientFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ValidateXmlCommand;
-import org.eclipse.wst.validation.internal.core.Message;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.IReporter;
-import org.eclipse.wst.validation.internal.provisional.core.IValidationContext;
-
-
-
-/**
- * Validates the applicatin-client.xml
- */
-public class ApplicationClientValidator extends org.eclipse.jst.j2ee.model.internal.validation.J2EEValidator implements ApplicationClientMessageConstants {
- protected ApplicationClientFile appClientFile;
- protected ApplicationClient appClientDD;
-
- /**
- * ApplicationClientValidator constructor comment.
- */
- public ApplicationClientValidator() {
- super();
- }// ApplicationClientValidator
-
- /**
- * <p>Answer the id of the resource bundle which is
- * used by the receiver.</p>
- */
- public String getBaseName() {
- return APLICATIONCLIENT_CATEGORY;
- }// getBaseName
-
- /**
- * XML Validator now handles validation of Deployment Descriptor
- *
- * @throws ValidationException
- */
- public void validate() throws ValidationException {
- validateMainClassInManifest();
- }// validate
-
- protected void validateMainClassInManifest() {
-
- if (appClientFile != null && appClientFile.getManifest() != null) {
- String mainClass = appClientFile.getManifest().getMainClass();
- if (mainClass == null || mainClass.length() == 0) {
- Object target = getManifestTarget();
- addError(getBaseName(), APPCLIENT_MAIN_CLASS_ERROR_, new String[0], target);
- }
- }
- }
-
- protected Object getManifestTarget() {
- return null;
- }
- /**
- * Does the validation.
- *
- * @throws ValidationException
- */
- public void validate(IValidationContext inHelper, IReporter inReporter)
- throws ValidationException {
- super.validate(inHelper, inReporter);
- try {
- setAppClientFile( (ApplicationClientFile) inHelper.loadModel(APPCLIENT_MODEL_NAME) );
- if ( appClientFile != null ) {
- setAppClientDD( appClientFile.getDeploymentDescriptor() );
- validate();
- } else {
- IMessage errorMsg = new Message(getBaseName(), IMessage.HIGH_SEVERITY, ERROR_APPCLIENT_INVALID_APPCLIENT_FILE);
- throw new ValidationException(errorMsg);
- }// if
- } catch (ValidationException ex) {
- throw ex;
- } catch (Exception e) {
- IMessage errorMsg = new Message(getBaseName(), IMessage.HIGH_SEVERITY, ERROR_APPCLIENT_VALIDATION_FAILED);
- throw new ValidationException(errorMsg, e);
- }// try
- }// validate
- /**
- * Creates the validate xml command.
- *
- * @return Command
- */
- public Command createValidateXMLCommand() {
- Command cmd = new ValidateXmlCommand(appClientFile);
- return cmd;
- }// createValidateXMLCommand
-
- /**
- * Gets the appClientFile.
- *
- * @return ApplicationClientFile
- */
- public ApplicationClientFile getAppClientFile() {
- return appClientFile;
- }// getAppClientFile
-
- /**
- * Sets the appClientFile.
- *
- * @param ApplicatonClientFile appClientFile - The appClientFile to set
- */
- public void setAppClientFile(ApplicationClientFile appClientFile) {
- this.appClientFile = appClientFile;
- }// setAppClientFile
-
- /**
- * Gets the appClientDD.
- *
- * @return ApplicationClient
- */
- public ApplicationClient getAppClientDD() {
- return appClientDD;
- }// getAppClientDD
-
- /**
- * Sets the appClientDD.
- *
- * @param ApplicationClient appClientDD - The appClientDD to set
- */
- public void setAppClientDD(ApplicationClient appClientDD) {
- this.appClientDD = appClientDD;
- }// setAppClientDD
-
-}// ApplicationClientValidator
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/BMPBeanClassVRule.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/BMPBeanClassVRule.java
deleted file mode 100644
index 118eb9ddf..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/BMPBeanClassVRule.java
+++ /dev/null
@@ -1,303 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaHelpers;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.jst.j2ee.ejb.Entity;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-
-/**
- * @version 1.0
- * @author
- */
-public final class BMPBeanClassVRule extends AEntityBeanClassVRule implements IMessagePrefixEjb20Constants {
- private static final Object ID = IValidationRuleList.EJB20_BMP_BEANCLASS;
- private static final Object[] DEPENDS_ON = new Object[]{IValidationRuleList.EJB20_BMP_HOME, IValidationRuleList.EJB20_BMP_LOCALHOME, IValidationRuleList.EJB20_BMP_REMOTE, IValidationRuleList.EJB20_BMP_LOCAL, IValidationRuleList.EJB20_BMP_KEYCLASS};
- private static final Map MESSAGE_IDS;
-
- private static final String MSSGID = ".bb"; // In messages, to identify which message version belongs to the BMP bean class, this id is used. //$NON-NLS-1$
- private static final String EXT = MSSGID + SPEC; // Extension to be used on non-method, non-field messages
- private static final String BEXT = MSSGID + ON_BASE_SPEC; // Extension to be used on a method/field message when the method/field is inherited from a base type
- private static final String MEXT = MSSGID + ON_THIS_SPEC; // Extension to be used on a method/field message when the method/field is implemented on the current type
-
- private final long[] SUPERTYPES = new long[]{JAVAX_EJB_ENTITYBEAN};
- private final long[] SHOULD_NOT_BE_SUPERTYPES = new long[]{LOCAL_COMPONENT_INTERFACE, REMOTE_COMPONENT_INTERFACE};
-
- private final boolean SHOULD_BE_ABSTRACT = false;
- private final boolean SHOULD_BE_FINAL = false;
- private final boolean SHOULD_BE_PUBLIC = true;
- private final boolean SHOULD_VALIDATE_TRANSIENT_FIELD = false;
-
- private final long[] METHODS_WHICH_MUST_EXIST = new long[]{CONSTRUCTOR_NOPARM, EJBFINDBYPRIMARYKEY, SETENTITYCONTEXT, UNSETENTITYCONTEXT_NOPARM, EJBACTIVATE_NOPARM, EJBPASSIVATE_NOPARM, EJBREMOVE_NOPARM, EJBLOAD_NOPARM, EJBSTORE_NOPARM};
- private final long[] METHODS_WHICH_MUST_NOT_EXIST = new long[]{FINALIZE_NOPARM};
- private final long[] KNOWN_METHOD_TYPES = new long[]{CLINIT, CONSTRUCTOR_NOPARM, CONSTRUCTOR, EJBCREATE, EJBPOSTCREATE, EJBHOME, FINALIZE_NOPARM, EJBFINDBYPRIMARYKEY, EJBFIND, SETENTITYCONTEXT, UNSETENTITYCONTEXT_NOPARM, EJBACTIVATE_NOPARM, EJBPASSIVATE_NOPARM, EJBREMOVE_NOPARM, EJBLOAD_NOPARM, EJBSTORE_NOPARM, FINALIZE_NOPARM, BUSINESS};
-
- static {
- MESSAGE_IDS = new HashMap();
-
- MESSAGE_IDS.put(CHKJ2014, new String[]{CHKJ2014+EXT});
- MESSAGE_IDS.put(CHKJ2015, new String[]{CHKJ2015+EXT});
- MESSAGE_IDS.put(CHKJ2017, new String[]{CHKJ2017+EXT});
-
- MESSAGE_IDS.put(CHKJ2022, new String[]{CHKJ2022+EXT});
-
- MESSAGE_IDS.put(CHKJ2040, new String[]{CHKJ2040+EXT});
-
- MESSAGE_IDS.put(CHKJ2050_constr, new String[]{CHKJ2050_constr+EXT});
- MESSAGE_IDS.put(CHKJ2050_ejbCreate, new String[]{CHKJ2050_ejbCreate+EXT});
- MESSAGE_IDS.put(CHKJ2050_ejbFindByPrimaryKey, new String[]{CHKJ2050_ejbFindByPrimaryKey+EXT});
- MESSAGE_IDS.put(CHKJ2050_setEntityContext, new String[]{CHKJ2050_setEntityContext+EXT});
- MESSAGE_IDS.put(CHKJ2050_unsetEntityContext, new String[]{CHKJ2050_unsetEntityContext+EXT});
- MESSAGE_IDS.put(CHKJ2050_ejbActivate, new String[]{CHKJ2050_ejbActivate+EXT});
- MESSAGE_IDS.put(CHKJ2050_ejbPassivate, new String[]{CHKJ2050_ejbPassivate+EXT});
- MESSAGE_IDS.put(CHKJ2050_ejbRemove, new String[]{CHKJ2050_ejbRemove+EXT});
- MESSAGE_IDS.put(CHKJ2050_ejbLoad, new String[]{CHKJ2050_ejbLoad+EXT});
- MESSAGE_IDS.put(CHKJ2050_ejbStore, new String[]{CHKJ2050_ejbStore+EXT});
- MESSAGE_IDS.put(CHKJ2050_ejbSelect, new String[]{CHKJ2050_ejbSelect+EXT});
- MESSAGE_IDS.put(CHKJ2050_ejbFind, new String[]{CHKJ2050_ejbFind+EXT});
- MESSAGE_IDS.put(CHKJ2050_ejbPostCreate, new String[]{CHKJ2050_ejbPostCreate+EXT});
-
- MESSAGE_IDS.put(CHKJ2103, new String[]{CHKJ2103+SPEC});
-
- MESSAGE_IDS.put(CHKJ2404, new String[]{CHKJ2404+ON_BASE_SPEC, CHKJ2404+ON_THIS_SPEC}); // special case (shared by all types)
- MESSAGE_IDS.put(CHKJ2407, new String[]{CHKJ2407+BEXT, CHKJ2407+MEXT});
-
- MESSAGE_IDS.put(CHKJ2411, new String[]{CHKJ2411+BEXT, CHKJ2411+MEXT});
- MESSAGE_IDS.put(CHKJ2416, new String[]{CHKJ2416+ON_BASE_SPEC, CHKJ2416+ON_THIS_SPEC}); // special case (shared by all types)
-
- MESSAGE_IDS.put(CHKJ2421, new String[]{CHKJ2421+BEXT, CHKJ2421+MEXT});
- MESSAGE_IDS.put(CHKJ2422, new String[]{CHKJ2422+BEXT, CHKJ2422+MEXT});
- MESSAGE_IDS.put(CHKJ2423, new String[]{CHKJ2423+BEXT, CHKJ2423+MEXT});
- MESSAGE_IDS.put(CHKJ2424, new String[]{CHKJ2424+BEXT, CHKJ2424+MEXT});
- MESSAGE_IDS.put(CHKJ2426, new String[]{CHKJ2426+BEXT, CHKJ2426+MEXT});
- MESSAGE_IDS.put(CHKJ2427, new String[]{CHKJ2427+BEXT, CHKJ2427+MEXT});
- MESSAGE_IDS.put(CHKJ2428, new String[]{CHKJ2428+BEXT, CHKJ2428+MEXT});
-
- MESSAGE_IDS.put(CHKJ2430, new String[]{CHKJ2430+BEXT, CHKJ2430+MEXT});
- MESSAGE_IDS.put(CHKJ2431, new String[]{CHKJ2431+BEXT, CHKJ2431+MEXT});
- MESSAGE_IDS.put(CHKJ2439, new String[]{CHKJ2439+BEXT, CHKJ2439+MEXT});
-
- MESSAGE_IDS.put(CHKJ2441, new String[]{CHKJ2441+BEXT, CHKJ2441+MEXT});
- MESSAGE_IDS.put(CHKJ2442, new String[]{CHKJ2442+BEXT, CHKJ2442+MEXT});
- MESSAGE_IDS.put(CHKJ2443, new String[]{CHKJ2443+BEXT, CHKJ2443+MEXT});
-
- MESSAGE_IDS.put(CHKJ2456, new String[]{CHKJ2456+ON_BASE, CHKJ2456+ON_THIS}); // special case (shared by all types)
- MESSAGE_IDS.put(CHKJ2457, new String[]{CHKJ2457+BEXT, CHKJ2457+MEXT});
- MESSAGE_IDS.put(CHKJ2458, new String[]{CHKJ2458+BEXT, CHKJ2458+MEXT});
- MESSAGE_IDS.put(CHKJ2459, new String[]{CHKJ2459+BEXT, CHKJ2459+MEXT});
-
- MESSAGE_IDS.put(CHKJ2478, new String[]{CHKJ2478+BEXT, CHKJ2478+MEXT});
-
- MESSAGE_IDS.put(CHKJ2492, new String[]{CHKJ2492+BEXT, CHKJ2492+MEXT});
- MESSAGE_IDS.put(CHKJ2493, new String[]{CHKJ2493+BEXT, CHKJ2493+MEXT});
- MESSAGE_IDS.put(CHKJ2494, new String[]{CHKJ2494+BEXT, CHKJ2494+MEXT});
-
- MESSAGE_IDS.put(CHKJ2500_ejbCreate, new String[]{CHKJ2500_ejbCreate+BEXT, CHKJ2500_ejbCreate+MEXT});
- MESSAGE_IDS.put(CHKJ2500_ejbFind, new String[]{CHKJ2500_ejbCreate+BEXT, CHKJ2500_ejbCreate+MEXT});
- MESSAGE_IDS.put(CHKJ2500_business, new String[]{CHKJ2500_ejbCreate+BEXT, CHKJ2500_ejbCreate+MEXT});
- MESSAGE_IDS.put(CHKJ2502_finalize, new String[]{CHKJ2502_finalize+BEXT, CHKJ2502_finalize+MEXT});
-
- MESSAGE_IDS.put(CHKJ2503_bus, new String[]{CHKJ2503_bus+BEXT, CHKJ2503_bus+MEXT});
- MESSAGE_IDS.put(CHKJ2503_ejbCreate, new String[]{CHKJ2503_ejbCreate+BEXT, CHKJ2503_ejbCreate+MEXT});
- MESSAGE_IDS.put(CHKJ2503_ejbPostCreate, new String[]{CHKJ2503_ejbPostCreate+BEXT, CHKJ2503_ejbPostCreate+MEXT});
- MESSAGE_IDS.put(CHKJ2503_ejbHome, new String[]{CHKJ2503_ejbHome+BEXT, CHKJ2503_ejbHome+MEXT});
- MESSAGE_IDS.put(CHKJ2503_ejbFind, new String[]{CHKJ2503_ejbFind+BEXT, CHKJ2503_ejbFind+MEXT});
-
- MESSAGE_IDS.put(CHKJ2505_ejbRemove, new String[]{CHKJ2505_ejbRemove+BEXT, CHKJ2505_ejbRemove+MEXT});
- MESSAGE_IDS.put(CHKJ2505_ejbPostCreate, new String[]{CHKJ2505_ejbPostCreate+BEXT, CHKJ2505_ejbPostCreate+MEXT});
- }
-
- public final Map getMessageIds() {
- return MESSAGE_IDS;
- }
-
- public final int getMessageRemoteExceptionSeverity() {
- return MESSAGE_REMOTE_EXCEPTION_SEVERITY;
- }
-
- public final Object[] getDependsOn() {
- return DEPENDS_ON;
- }
-
- public final Object getId() {
- return ID;
- }
- public final boolean shouldValidateTransientField() {
- return SHOULD_VALIDATE_TRANSIENT_FIELD;
- }
-
- public final long[] getSupertypes() {
- return SUPERTYPES;
- }
-
- public final long[] getShouldNotBeSupertypes() {
- return SHOULD_NOT_BE_SUPERTYPES;
- }
- public final boolean shouldBeAbstract(JavaClass clazz) {
- return SHOULD_BE_ABSTRACT;
- }
-
- public final boolean shouldBeFinal(JavaClass clazz) {
- return SHOULD_BE_FINAL;
- }
-
- public final boolean shouldBePublic(JavaClass clazz) {
- return SHOULD_BE_PUBLIC;
- }
- public final int isRemote() {
- return NEITHER;
- }
-
- public final long[] getMethodsWhichMustExist() {
- return METHODS_WHICH_MUST_EXIST;
- }
-
- public final long[] getMethodsWhichMustNotExist() {
- return METHODS_WHICH_MUST_NOT_EXIST;
- }
-
- public final long[] getKnownMethodTypes() {
- return KNOWN_METHOD_TYPES;
- }
-
- /*
- * @see ABeanClassVRule#followEjbCreateReturnTypeRules(Method)
- */
- public final JavaHelpers getEjbCreateReturnType(EnterpriseBean bean, Method method) {
- return ((Entity)bean).getPrimaryKey();
- }
-
- public final String getEjbCreateReturnTypeName(EnterpriseBean bean, Method method) {
- JavaHelpers retType = getEjbCreateReturnType(bean, method);
- if(retType == null) {
- return IEJBValidatorConstants.NULL_PRIMARY_KEY;
- }
- return retType.getJavaName();
- }
-
- public void validate(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) throws ValidationCancelledException, InvalidInputException, ValidationException {
- long methodType = MethodUtility.getUtility().getMethodTypeId(bean, clazz, method, methodsExtendedLists, this);
-
- if((methodType & EJBCREATE) == EJBCREATE) {
- validateEjbCreateMethod(vc, bean, clazz, method, methodsExtendedLists);
- }
- else if((methodType & EJBPOSTCREATE) == EJBPOSTCREATE) {
- validateEjbPostCreateMethod(vc, bean, clazz, method);
- }
- else if((methodType & EJBFIND) == EJBFIND) {
- validateEjbFindMethod(vc, bean, clazz, method, methodsExtendedLists);
- }
- else if((methodType & EJBHOME) == EJBHOME) {
- validateEjbHomeMethod(vc, bean, clazz, method, methodsExtendedLists);
- }
- else if((methodType & EJBREMOVE_NOPARM) == EJBREMOVE_NOPARM) {
- validateEjbRemoveMethod(vc, bean, clazz, method);
- }
- else if((methodType & BUSINESS) == BUSINESS) {
- validateBusinessMethod(vc, bean, clazz, method, methodsExtendedLists);
- }
- else {
- // Method isn't supposed to be here. Let the validateMethodsWhichMustNotExist
- // take care of it.
- }
- }
-
- public final String getMatchingHomeMethodName(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) {
- long methodType = MethodUtility.getUtility().getMethodTypeId(bean, clazz, method, methodsExtendedLists, this);
-
- if((methodType & EJBCREATE) == EJBCREATE) {
- return getMatchingEjbCreateMethodName(vc, method);
- }
- else if((methodType & EJBPOSTCREATE) == EJBPOSTCREATE) {
- return getMatchingEjbPostCreateMethodName(vc, method);
- }
- else if((methodType & EJBFIND) == EJBFIND) {
- return getMatchingEjbFindMethodName(vc, method);
- }
- else if((methodType & EJBHOME) == EJBHOME) {
- return getMatchingEjbHomeMethodName(vc, method);
- }
- else if((methodType & EJBREMOVE_NOPARM) == EJBREMOVE_NOPARM) {
- return getNoMatchingMethodName(vc, method);
- }
- else if((methodType & BUSINESS) == BUSINESS) {
- return getMatchingBusinessMethodName(vc, method);
- }
- else {
- // Method isn't supposed to be here.
- return getNoMatchingMethodName(vc, method);
- }
- }
-
- public final void validateEjbFindMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) throws ValidationCancelledException, InvalidInputException, ValidationException {
- // # ejbFind methods
- // IWAD4502 = This method must not exist on this class. Read section 10.5.5 of the EJB 2.0 specification.
- // IWAD4507 = The container provides the ejbFind method implementation. Read section 10.6.2 of the EJB 2.0 specification.
- // covered by the "must not exist" code?
-
- // IWAD4305 = This method must be public. Read section 12.2.5 of the EJB 2.0 specification.
- if(!ValidationRuleUtility.isPublic(method)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2457, IEJBValidationContext.WARNING, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
-
- // IWAD4306 = This method must not be final. Read section 12.2.5 of the EJB 2.0 specification.
- if(method.isFinal()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2458, IEJBValidationContext.WARNING, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- // IWAD4307 = This method must not be static. Read section 12.2.5 of the EJB 2.0 specification.
- if(method.isStatic()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2459, IEJBValidationContext.WARNING, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- // IWAD4308 = {0} must be a legal type for RMI-IIOP. Read section 12.2.5 of the EJB 2.0 specification.
- validateRMI_IIOPTypeRules(vc, bean, clazz, method, methodsExtendedLists, false); // do not check if the return type is serializable
-
- // IWAD4309 = This method must return {0} or a collection thereof. Read section 12.2.5 of the EJB 2.0 specification.
- // IWAD4312 = This method must return {0}. Read section 12.2.5 of the EJB 2.0 specification.
- JavaHelpers retType = ValidationRuleUtility.getType(method.getReturnType());
- JavaHelpers key = ((Entity)bean).getPrimaryKey();
- if(!(ValidationRuleUtility.isAssignableFromEnumeration(retType, bean) ||
- ValidationRuleUtility.isAssignableFromCollection(retType, bean) ||
- ValidationRuleUtility.isAssignableFrom(retType, key)
- )) {
- String keyName = (key == null) ? IEJBValidatorConstants.NULL_PRIMARY_KEY : key.getJavaName();
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2407, IEJBValidationContext.WARNING, bean, clazz, method, new String[]{keyName}, this);
- vc.addMessage(message);
- }
-
- if(!ValidationRuleUtility.followsObjectNotFoundExceptionRules(bean, method)) {
- // IWAD4285 = This method must not throw javax.ejb.ObjectNotFoundException. Read section 12.1.8.4 of the EJB 2.0 specification.
- // IWAD4168 = This method must not throw ObjectNotFoundException. Read section 10.5.8.4 of the EJB 2.0 specification.
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2478, IEJBValidationContext.INFO, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- // IWAD4310 = This method must not throw java.rmi.RemoteException. Read section 12.2.5, 18.3.8, 18.6 of the EJB 2.0 specification.
- if(!followRemoteExceptionRules(bean, method)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2503_ejbFind, IEJBValidationContext.WARNING, bean, clazz, method, this);
- vc.addMessage(message);
- }
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/BMPKeyClassVRule.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/BMPKeyClassVRule.java
deleted file mode 100644
index 3e75d0e05..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/BMPKeyClassVRule.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jem.java.Field;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.jst.j2ee.ejb.Entity;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-
-
-/**
- * @version 1.0
- * @author
- */
-public final class BMPKeyClassVRule extends AKeyClassVRule implements IEJBType, IRemoteType, IMessagePrefixEjb20Constants {
- private static final Object ID = IValidationRuleList.EJB20_BMP_KEYCLASS;
- private static final Object[] DEPENDS_ON = null;
- private static final Map MESSAGE_IDS;
-
- private static final String MSSGID = ".kb"; // In messages, to identify which message version belongs to the BMP bean class, this id is used. //$NON-NLS-1$
- private static final String EXT = MSSGID + SPEC; // Extension to be used on non-method, non-field messages
-
- private final long[] SUPERTYPES = null;
- private final long[] SHOULD_NOT_BE_SUPERTYPES = null;
-
- private final long[] METHODS_WHICH_MUST_EXIST = new long[]{HASHCODE_NOPARM, EQUALS};
- private final long[] METHODS_WHICH_MUST_NOT_EXIST = null;
-
- private final long[] KNOWN_METHOD_TYPES = new long[]{CLINIT, HASHCODE_NOPARM, EQUALS, CONSTRUCTOR, CONSTRUCTOR_NOPARM};
-
- static {
- MESSAGE_IDS = new HashMap();
-
- MESSAGE_IDS.put(CHKJ2050_constr, new String[]{CHKJ2050_constr+EXT});
- MESSAGE_IDS.put(CHKJ2050_hashCode, new String[]{CHKJ2050_hashCode+EXT});
- MESSAGE_IDS.put(CHKJ2050_equals, new String[]{CHKJ2050_equals+EXT});
-
- MESSAGE_IDS.put(CHKJ2019, new String[]{CHKJ2019+EXT});
-
- MESSAGE_IDS.put(CHKJ2404, new String[]{CHKJ2404+ON_BASE_SPEC, CHKJ2404+ON_THIS_SPEC}); // special case (shared by all types)
- MESSAGE_IDS.put(CHKJ2416, new String[]{CHKJ2416+ON_BASE_SPEC, CHKJ2416+ON_THIS_SPEC}); // special case (shared by all types)
-
- MESSAGE_IDS.put(CHKJ2433, new String[]{CHKJ2433});
- MESSAGE_IDS.put(CHKJ2907, new String[]{CHKJ2907});
- }
-
- public final Map getMessageIds() {
- return MESSAGE_IDS;
- }
-
- public final int getMessageRemoteExceptionSeverity() {
- // Key methods are not checked for RemoteException, but to be consistent with the other VRules...
- return MESSAGE_REMOTE_EXCEPTION_SEVERITY;
- }
-
- public final Object[] getDependsOn() {
- return DEPENDS_ON;
- }
-
- public final Object getId() {
- return ID;
- }
-
- public final long[] getSupertypes() {
- return SUPERTYPES;
- }
-
- public final long[] getShouldNotBeSupertypes() {
- return SHOULD_NOT_BE_SUPERTYPES;
- }
-
- public final int isRemote() {
- return IS_REMOTE;
- }
-
- public final long[] getMethodsWhichMustExist() {
- return METHODS_WHICH_MUST_EXIST;
- }
-
-
- public final long[] getMethodsWhichMustNotExist() {
- return METHODS_WHICH_MUST_NOT_EXIST;
- }
-
- public final long[] getKnownMethodTypes() {
- return KNOWN_METHOD_TYPES;
- }
-
- public Object getTarget(Object parent, Object clazz) {
- if(parent == null) {
- return null;
- }
-
- return ((Entity)parent).getPrimaryKey();
- }
-
- /*
- * @see IClassVRule#validate(IEJBValidationContext, EnterpriseBean, JavaClass, Method)
- */
- public final void validate(IEJBValidationContext vc, EnterpriseBean bean, JavaClass parent, Method method, List[] methodExtendedLists) throws ValidationCancelledException, InvalidInputException, ValidationException {
- // Do not perform any validation on the methods of this class (other than the
- // validation performed in AKeyClassVRule's check for the existence of hashCode()
- // and equals(Object)
- }
-
- /*
- * @see IClassVRule#validate(IEJBValidationContext, EnterpriseBean, JavaClass, Field)
- */
- public final void validate(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Field field, List[] fieldExtendedLists) throws ValidationCancelledException, InvalidInputException, ValidationException {
- // Do not perform any validation on the fields of the BMP key class
- long fieldType = MethodUtility.getUtility().getFieldTypeId(bean, clazz, field, this);
- if((fieldType & IMethodAndFieldConstants.SERIALVERSIONUID) == IMethodAndFieldConstants.SERIALVERSIONUID) {
- validateSerialVersionUID(vc, bean, clazz, field);
- }
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/BMPLocalComponentVRule.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/BMPLocalComponentVRule.java
deleted file mode 100644
index 65af05ef2..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/BMPLocalComponentVRule.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import java.util.HashMap;
-import java.util.Map;
-
-
-
-/**
- * @version 1.0
- * @author
- */
-public final class BMPLocalComponentVRule extends AComponentVRule implements IEJBType, ILocalType, IMessagePrefixEjb20Constants {
- private static final Object ID = IValidationRuleList.EJB20_BMP_LOCAL;
- private static final Object[] DEPENDS_ON = new Object[]{IValidationRuleList.EJB20_BMP_BEANCLASS};
- private static final Map MESSAGE_IDS;
-
- private static final String MSSGID = ".blc"; // In messages, to identify which message version belongs to the BMP bean class, this id is used. //$NON-NLS-1$
- private static final String EXT = MSSGID + SPEC; // Extension to be used on non-method, non-field messages
- private static final String BEXT = MSSGID + ON_BASE_SPEC; // Extension to be used on a method/field message when the method/field is inherited from a base type
- private static final String MEXT = MSSGID + ON_THIS_SPEC; // Extension to be used on a method/field message when the method/field is implemented on the current type
-
- private static final long[] SUPERTYPES = new long[]{JAVAX_EJB_EJBLOCALOBJECT};
- private static final long[] SHOULD_NOT_BE_SUPERTYPES = null;
-
- private static final long[] METHODS_WHICH_MUST_EXIST = null;
- private static final long[] METHODS_WHICH_MUST_NOT_EXIST = new long[]{};
-
- private final long[] KNOWN_METHOD_TYPES = new long[]{CLINIT};
-
- static {
- MESSAGE_IDS = new HashMap();
-
- MESSAGE_IDS.put(CHKJ2017, new String[]{CHKJ2017+EXT});
-
- MESSAGE_IDS.put(CHKJ2023, new String[]{CHKJ2023+BEXT, CHKJ2023+MEXT});
-
- MESSAGE_IDS.put(CHKJ2105, new String[]{CHKJ2105+SPEC});
- MESSAGE_IDS.put(CHKJ2404, new String[]{CHKJ2404+ON_BASE_SPEC, CHKJ2404+ON_THIS_SPEC}); // special case (shared by all types)
-
- MESSAGE_IDS.put(CHKJ2416, new String[]{CHKJ2416+ON_BASE_SPEC, CHKJ2416+ON_THIS_SPEC}); // special case (shared by all types)
-
- MESSAGE_IDS.put(CHKJ2433, new String[]{CHKJ2433});
-
- MESSAGE_IDS.put(CHKJ2468, new String[]{CHKJ2468+BEXT, CHKJ2468+MEXT});
- MESSAGE_IDS.put(CHKJ2469, new String[]{CHKJ2469+BEXT, CHKJ2469+MEXT});
-
- MESSAGE_IDS.put(CHKJ2470, new String[]{CHKJ2470+BEXT, CHKJ2470+MEXT});
- MESSAGE_IDS.put(CHKJ2471, new String[]{CHKJ2471+BEXT, CHKJ2471+MEXT});
- MESSAGE_IDS.put(CHKJ2472, new String[]{CHKJ2472+BEXT, CHKJ2472+MEXT});
-
- MESSAGE_IDS.put(CHKJ2503_bus, new String[]{CHKJ2503_bus+BEXT, CHKJ2503_bus+MEXT});
-
- MESSAGE_IDS.put(CHKJ2907, new String[]{CHKJ2907});
- }
-
- public final int getMessageRemoteExceptionSeverity() {
- return MESSAGE_REMOTE_EXCEPTION_SEVERITY;
- }
-
- public final long[] getSupertypes() {
- return SUPERTYPES;
- }
-
- public final long[] getShouldNotBeSupertypes() {
- return SHOULD_NOT_BE_SUPERTYPES;
- }
-
- public final int isRemote() {
- return IS_REMOTE;
- }
-
- public final long[] getMethodsWhichMustExist() {
- return METHODS_WHICH_MUST_EXIST;
- }
-
- public final long[] getMethodsWhichMustNotExist() {
- return METHODS_WHICH_MUST_NOT_EXIST;
- }
- /*
- * @see IValidationRule#getDependsOn()
- */
- public final Object[] getDependsOn() {
- return DEPENDS_ON;
- }
-
- /*
- * @see IValidationRule#getId()
- */
- public final Object getId() {
- return ID;
- }
-
- /*
- * @see IValidationRule#getMessageIds()
- */
- public final Map getMessageIds() {
- return MESSAGE_IDS;
- }
-
- public final long[] getKnownMethodTypes() {
- return KNOWN_METHOD_TYPES;
- }
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/BMPLocalHomeVRule.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/BMPLocalHomeVRule.java
deleted file mode 100644
index c524194b9..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/BMPLocalHomeVRule.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import java.util.HashMap;
-import java.util.Map;
-
-
-
-/**
- * @version 1.0
- * @author
- */
-public final class BMPLocalHomeVRule extends ABMPHomeVRule implements ILocalType, IEJBType, IMessagePrefixEjb20Constants {
- private static final Object ID = IValidationRuleList.EJB20_BMP_LOCALHOME;
- private static final Object[] DEPENDS_ON = new Object[] { IValidationRuleList.EJB20_BMP_BEANCLASS, IValidationRuleList.EJB20_BMP_KEYCLASS };
- private static final Map MESSAGE_IDS;
-
- private static final String MSSGID = ".blh"; // In messages, to identify which message version belongs to the BMP bean class, this id is used. //$NON-NLS-1$
- private static final String EXT = MSSGID + SPEC; // Extension to be used on non-method, non-field messages
- private static final String BEXT = MSSGID + ON_BASE_SPEC; // Extension to be used on a method/field message when the method/field is inherited from a base type
- private static final String MEXT = MSSGID + ON_THIS_SPEC; // Extension to be used on a method/field message when the method/field is implemented on the current type
-
- private final long[] SUPERTYPES = new long[] { JAVAX_EJB_EJBLOCALHOME };
- private final long[] SHOULD_NOT_BE_SUPERTYPES = null;
-
- private final long[] METHODS_WHICH_MUST_EXIST = new long[] { FINDBYPRIMARYKEY, FIND };
- private final long[] METHODS_WHICH_MUST_NOT_EXIST = null;
-
- private final long[] KNOWN_METHOD_TYPES = new long[] {CLINIT, CREATE, FINDBYPRIMARYKEY, FIND, HOME };
-
- static {
- MESSAGE_IDS = new HashMap();
-
- MESSAGE_IDS.put(CHKJ2017, new String[] {CHKJ2017+EXT});
-
- MESSAGE_IDS.put(CHKJ2040, new String[]{CHKJ2040+EXT});
-
- MESSAGE_IDS.put(CHKJ2050_findByPrimaryKey, new String[] {CHKJ2050_findByPrimaryKey+EXT});
- MESSAGE_IDS.put(CHKJ2050_find, new String[]{CHKJ2050_find+EXT});
-
- MESSAGE_IDS.put(CHKJ2104, new String[]{CHKJ2104+SPEC});
- MESSAGE_IDS.put(CHKJ2402, new String[] { CHKJ2402+BEXT, CHKJ2402+MEXT });
- MESSAGE_IDS.put(CHKJ2403, new String[] { CHKJ2403+BEXT, CHKJ2403+MEXT });
- MESSAGE_IDS.put(CHKJ2404, new String[]{CHKJ2404+ON_BASE_SPEC, CHKJ2404+ON_THIS_SPEC}); // special case (shared by all types)
-
- MESSAGE_IDS.put(CHKJ2416, new String[]{CHKJ2416+ON_BASE_SPEC, CHKJ2416+ON_THIS_SPEC}); // special case (shared by all types)
-
- MESSAGE_IDS.put(CHKJ2433, new String[]{CHKJ2433});
-
- MESSAGE_IDS.put(CHKJ2461, new String[]{CHKJ2461+BEXT, CHKJ2461+MEXT});
- MESSAGE_IDS.put(CHKJ2462, new String[] { CHKJ2462+BEXT, CHKJ2462+MEXT });
- MESSAGE_IDS.put(CHKJ2463, new String[] { CHKJ2463+BEXT, CHKJ2463+MEXT });
- MESSAGE_IDS.put(CHKJ2464, new String[] { CHKJ2464+BEXT, CHKJ2464+MEXT });
- MESSAGE_IDS.put(CHKJ2465, new String[] { CHKJ2465+BEXT, CHKJ2465+MEXT });
- MESSAGE_IDS.put(CHKJ2466, new String[]{CHKJ2466+BEXT, CHKJ2466+MEXT});
- MESSAGE_IDS.put(CHKJ2467, new String[] { CHKJ2467+BEXT, CHKJ2467+MEXT });
-
- MESSAGE_IDS.put(CHKJ2475, new String[]{CHKJ2475+BEXT, CHKJ2475+MEXT});
- MESSAGE_IDS.put(CHKJ2477, new String[] { CHKJ2477+BEXT, CHKJ2477+MEXT });
- MESSAGE_IDS.put(CHKJ2478, new String[]{CHKJ2478+BEXT, CHKJ2478+MEXT});
- MESSAGE_IDS.put(CHKJ2479, new String[] { CHKJ2479+BEXT, CHKJ2479+MEXT });
-
- MESSAGE_IDS.put(CHKJ2500_create, new String[]{CHKJ2500_create+BEXT, CHKJ2500_create+MEXT});
- MESSAGE_IDS.put(CHKJ2500_find, new String[]{CHKJ2500_find+BEXT, CHKJ2500_find+MEXT});
- MESSAGE_IDS.put(CHKJ2500_home, new String[]{CHKJ2500_home+BEXT, CHKJ2500_home+MEXT});
- MESSAGE_IDS.put(CHKJ2503_create, new String[] { CHKJ2503_create+BEXT, CHKJ2503_create+MEXT });
- MESSAGE_IDS.put(CHKJ2503_find, new String[] { CHKJ2503_find+BEXT, CHKJ2503_find+MEXT });
- MESSAGE_IDS.put(CHKJ2503_home, new String[] { CHKJ2503_home+BEXT, CHKJ2503_home+MEXT });
- MESSAGE_IDS.put(CHKJ2504_create, new String[] { CHKJ2504_create+BEXT, CHKJ2504_create+MEXT });
- MESSAGE_IDS.put(CHKJ2504_find, new String[] { CHKJ2504_find+BEXT, CHKJ2504_find+MEXT });
- MESSAGE_IDS.put(CHKJ2504_home, new String[] { CHKJ2504_home+BEXT, CHKJ2504_home+MEXT });
-
- MESSAGE_IDS.put(CHKJ2907, new String[]{CHKJ2907});
- }
-
- public final long[] getBaseTypes() {
- return getSupertypes();
- }
-
- public final Map getMessageIds() {
- return MESSAGE_IDS;
- }
-
- public final int getMessageRemoteExceptionSeverity() {
- return MESSAGE_REMOTE_EXCEPTION_SEVERITY;
- }
-
- public final Object[] getDependsOn() {
- return DEPENDS_ON;
- }
-
- public final Object getId() {
- return ID;
- }
- public final long[] getSupertypes() {
- return SUPERTYPES;
- }
-
- public final long[] getShouldNotBeSupertypes() {
- return SHOULD_NOT_BE_SUPERTYPES;
- }
- public final int isRemote() {
- return IS_REMOTE;
- }
-
- public final long[] getMethodsWhichMustExist() {
- return METHODS_WHICH_MUST_EXIST;
- }
-
- public final long[] getMethodsWhichMustNotExist() {
- return METHODS_WHICH_MUST_NOT_EXIST;
- }
- public final long[] getKnownMethodTypes() {
- return KNOWN_METHOD_TYPES;
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/BMPRemoteComponentVRule.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/BMPRemoteComponentVRule.java
deleted file mode 100644
index 696716769..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/BMPRemoteComponentVRule.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import java.util.HashMap;
-import java.util.Map;
-
-
-
-/**
- * @version 1.0
- * @author
- */
-public final class BMPRemoteComponentVRule extends AComponentVRule implements IRemoteType, IComponentType, IMessagePrefixEjb20Constants {
- private static final Object ID = IValidationRuleList.EJB20_BMP_REMOTE;
- private static final Object[] DEPENDS_ON = new Object[]{IValidationRuleList.EJB20_BMP_BEANCLASS};
- private static final Map MESSAGE_IDS;
-
- private static final String MSSGID = ".brc"; // In messages, to identify which message version belongs to the BMP bean class, this id is used. //$NON-NLS-1$
- private static final String EXT = MSSGID + SPEC; // Extension to be used on non-method, non-field messages
- private static final String BEXT = MSSGID + ON_BASE_SPEC; // Extension to be used on a method/field message when the method/field is inherited from a base type
- private static final String MEXT = MSSGID + ON_THIS_SPEC; // Extension to be used on a method/field message when the method/field is implemented on the current type
-
- private final long[] SUPERTYPES = new long[]{JAVAX_EJB_EJBOBJECT};
- private final long[] SHOULD_NOT_BE_SUPERTYPES = null;
-
- private final long[] METHODS_WHICH_MUST_EXIST = null;
- private static final long[] METHODS_WHICH_MUST_NOT_EXIST = new long[]{};
-
- private final long[] KNOWN_METHOD_TYPES = new long[]{CLINIT};
-
- static {
- MESSAGE_IDS = new HashMap();
-
- MESSAGE_IDS.put(CHKJ2017, new String[]{CHKJ2017+EXT});
-
- MESSAGE_IDS.put(CHKJ2404, new String[]{CHKJ2404+ON_BASE_SPEC, CHKJ2404+ON_THIS_SPEC}); // special case (shared by all types)
-
- MESSAGE_IDS.put(CHKJ2416, new String[]{CHKJ2416+ON_BASE_SPEC, CHKJ2416+ON_THIS_SPEC}); // special case (shared by all types)
-
- MESSAGE_IDS.put(CHKJ2023, new String[]{CHKJ2023+BEXT, CHKJ2023+MEXT});
-
- MESSAGE_IDS.put(CHKJ2105, new String[]{CHKJ2105+SPEC});
- MESSAGE_IDS.put(CHKJ2433, new String[]{CHKJ2433});
-
- MESSAGE_IDS.put(CHKJ2468, new String[]{CHKJ2468+BEXT, CHKJ2468+MEXT});
- MESSAGE_IDS.put(CHKJ2469, new String[]{CHKJ2469+BEXT, CHKJ2469+MEXT});
-
- MESSAGE_IDS.put(CHKJ2470, new String[]{CHKJ2470+BEXT, CHKJ2470+MEXT});
- MESSAGE_IDS.put(CHKJ2471, new String[]{CHKJ2471+BEXT, CHKJ2471+MEXT});
- MESSAGE_IDS.put(CHKJ2472, new String[]{CHKJ2472+BEXT, CHKJ2472+MEXT});
-
- MESSAGE_IDS.put(CHKJ2500_business, new String[]{CHKJ2500_business+BEXT, CHKJ2500_business+MEXT});
- MESSAGE_IDS.put(CHKJ2500_create, new String[]{CHKJ2500_create+BEXT, CHKJ2500_create+MEXT});
- MESSAGE_IDS.put(CHKJ2500_home, new String[]{CHKJ2500_home+BEXT, CHKJ2500_home+MEXT});
- MESSAGE_IDS.put(CHKJ2503_bus, new String[]{CHKJ2503_bus+BEXT, CHKJ2503_bus+MEXT});
-
- MESSAGE_IDS.put(CHKJ2907, new String[]{CHKJ2907});
- }
-
- public final Map getMessageIds() {
- return MESSAGE_IDS;
- }
-
- public final int getMessageRemoteExceptionSeverity() {
- return MESSAGE_REMOTE_EXCEPTION_SEVERITY;
- }
-
- public final Object[] getDependsOn() {
- return DEPENDS_ON;
- }
-
- public final Object getId() {
- return ID;
- }
-
- public final long[] getBaseTypes() {
- return getSupertypes();
- }
-
- public final long[] getSupertypes() {
- return SUPERTYPES;
- }
-
- public final long[] getShouldNotBeSupertypes() {
- return SHOULD_NOT_BE_SUPERTYPES;
- }
-
-
- public final int isRemote() {
- return IS_REMOTE;
- }
-
- public final long[] getMethodsWhichMustExist() {
- return METHODS_WHICH_MUST_EXIST;
- }
-
- public final long[] getMethodsWhichMustNotExist() {
- return METHODS_WHICH_MUST_NOT_EXIST;
- }
-
- public final long[] getKnownMethodTypes() {
- return KNOWN_METHOD_TYPES;
- }
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/BMPRemoteHomeVRule.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/BMPRemoteHomeVRule.java
deleted file mode 100644
index 1e3398752..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/BMPRemoteHomeVRule.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import java.util.HashMap;
-import java.util.Map;
-
-
-
-/**
- * @version 1.0
- * @author
- */
-public final class BMPRemoteHomeVRule extends ABMPHomeVRule implements IRemoteType, IHomeType, IMessagePrefixEjb20Constants {
- private static final Object ID = IValidationRuleList.EJB20_BMP_HOME;
- private static final Object[] DEPENDS_ON = new Object[]{IValidationRuleList.EJB20_BMP_BEANCLASS, IValidationRuleList.EJB20_BMP_KEYCLASS};
- private static final Map MESSAGE_IDS;
-
- private static final String MSSGID = ".brh"; // In messages, to identify which message version belongs to the BMP bean class, this id is used. //$NON-NLS-1$
- private static final String EXT = MSSGID + SPEC; // Extension to be used on non-method, non-field messages
- private static final String BEXT = MSSGID + ON_BASE_SPEC; // Extension to be used on a method/field message when the method/field is inherited from a base type
- private static final String MEXT = MSSGID + ON_THIS_SPEC; // Extension to be used on a method/field message when the method/field is implemented on the current type
-
- private final long[] SUPERTYPES = new long[]{JAVAX_EJB_EJBHOME};
- private final long[] SHOULD_NOT_BE_SUPERTYPES = null;
-
- private final long[] METHODS_WHICH_MUST_EXIST = new long[]{FINDBYPRIMARYKEY, FIND};
- private final long[] METHODS_WHICH_MUST_NOT_EXIST = null;
-
- private final long[] KNOWN_METHOD_TYPES = new long[]{CLINIT, CREATE, FINDBYPRIMARYKEY, FIND, HOME};
-
- static {
- MESSAGE_IDS = new HashMap();
-
- MESSAGE_IDS.put(CHKJ2017, new String[]{CHKJ2017+EXT});
-
- MESSAGE_IDS.put(CHKJ2040, new String[]{CHKJ2040+EXT});
-
- MESSAGE_IDS.put(CHKJ2050_findByPrimaryKey, new String[]{CHKJ2050_findByPrimaryKey+EXT});
- MESSAGE_IDS.put(CHKJ2050_find, new String[]{CHKJ2050_find+EXT});
-
- MESSAGE_IDS.put(CHKJ2104, new String[]{CHKJ2104+SPEC});
- MESSAGE_IDS.put(CHKJ2402, new String[]{CHKJ2402+BEXT, CHKJ2402+MEXT});
- MESSAGE_IDS.put(CHKJ2403, new String[]{CHKJ2403+BEXT, CHKJ2403+MEXT});
- MESSAGE_IDS.put(CHKJ2404, new String[]{CHKJ2404+ON_BASE_SPEC, CHKJ2404+ON_THIS_SPEC}); // special case (shared by all types)
-
- MESSAGE_IDS.put(CHKJ2416, new String[]{CHKJ2416+ON_BASE_SPEC, CHKJ2416+ON_THIS_SPEC}); // special case (shared by all types)
-
- MESSAGE_IDS.put(CHKJ2433, new String[]{CHKJ2433});
-
- MESSAGE_IDS.put(CHKJ2461, new String[]{CHKJ2461+BEXT, CHKJ2461+MEXT});
- MESSAGE_IDS.put(CHKJ2462, new String[]{CHKJ2462+BEXT, CHKJ2462+MEXT});
- MESSAGE_IDS.put(CHKJ2463, new String[]{CHKJ2463+BEXT, CHKJ2463+MEXT});
- MESSAGE_IDS.put(CHKJ2464, new String[]{CHKJ2464+BEXT, CHKJ2464+MEXT});
- MESSAGE_IDS.put(CHKJ2465, new String[]{CHKJ2465+BEXT, CHKJ2465+MEXT});
- MESSAGE_IDS.put(CHKJ2466, new String[]{CHKJ2466+BEXT, CHKJ2466+MEXT});
- MESSAGE_IDS.put(CHKJ2467, new String[]{CHKJ2467+BEXT, CHKJ2467+MEXT});
-
- MESSAGE_IDS.put(CHKJ2475, new String[]{CHKJ2475+BEXT, CHKJ2475+MEXT});
- MESSAGE_IDS.put(CHKJ2477, new String[]{CHKJ2477+BEXT, CHKJ2477+MEXT});
- MESSAGE_IDS.put(CHKJ2478, new String[]{CHKJ2478+BEXT, CHKJ2478+MEXT});
- MESSAGE_IDS.put(CHKJ2479, new String[]{CHKJ2479+BEXT, CHKJ2479+MEXT});
-
- MESSAGE_IDS.put(CHKJ2500_create, new String[]{CHKJ2500_create+BEXT, CHKJ2500_create+MEXT});
- MESSAGE_IDS.put(CHKJ2500_find, new String[]{CHKJ2500_find+BEXT, CHKJ2500_find+MEXT});
- MESSAGE_IDS.put(CHKJ2500_home, new String[]{CHKJ2500_home+BEXT, CHKJ2500_home+MEXT});
- MESSAGE_IDS.put(CHKJ2503_create, new String[]{CHKJ2503_create+BEXT, CHKJ2503_create+MEXT});
- MESSAGE_IDS.put(CHKJ2503_find, new String[]{CHKJ2503_find+BEXT, CHKJ2503_find+MEXT});
- MESSAGE_IDS.put(CHKJ2503_home, new String[]{CHKJ2503_home+BEXT, CHKJ2503_home+MEXT});
- MESSAGE_IDS.put(CHKJ2504_create, new String[]{CHKJ2504_create+BEXT, CHKJ2504_create+MEXT});
- MESSAGE_IDS.put(CHKJ2504_find, new String[]{CHKJ2504_find+BEXT, CHKJ2504_find+MEXT});
- MESSAGE_IDS.put(CHKJ2504_home, new String[]{CHKJ2504_home+BEXT, CHKJ2504_home+MEXT});
-
- MESSAGE_IDS.put(CHKJ2907, new String[]{CHKJ2907});
- }
-
- public final long[] getBaseTypes() {
- return getSupertypes();
- }
-
- public final Map getMessageIds() {
- return MESSAGE_IDS;
- }
-
- public final int getMessageRemoteExceptionSeverity() {
- return MESSAGE_REMOTE_EXCEPTION_SEVERITY;
- }
-
- public final Object[] getDependsOn() {
- return DEPENDS_ON;
- }
-
- public final Object getId() {
- return ID;
- }
-
- public final long[] getSupertypes() {
- return SUPERTYPES;
- }
-
- public final long[] getShouldNotBeSupertypes() {
- return SHOULD_NOT_BE_SUPERTYPES;
- }
-
- public final int isRemote() {
- return IS_REMOTE;
- }
-
- public final long[] getMethodsWhichMustExist() {
- return METHODS_WHICH_MUST_EXIST;
- }
-
- public final long[] getMethodsWhichMustNotExist() {
- return METHODS_WHICH_MUST_NOT_EXIST;
- }
-
- public final long[] getKnownMethodTypes() {
- return KNOWN_METHOD_TYPES;
- }
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/CMPBeanClassVRule.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/CMPBeanClassVRule.java
deleted file mode 100644
index 70bc986e3..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/CMPBeanClassVRule.java
+++ /dev/null
@@ -1,484 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jem.java.Field;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaHelpers;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jst.j2ee.ejb.CMPAttribute;
-import org.eclipse.jst.j2ee.ejb.CMRField;
-import org.eclipse.jst.j2ee.ejb.ContainerManagedEntity;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.jst.j2ee.ejb.Entity;
-import org.eclipse.jst.j2ee.internal.ejb.impl.LocalModelledPersistentAttributeFilter;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-
-/**
- * @version 1.0
- * @author
- */
-public final class CMPBeanClassVRule extends AEntityBeanClassVRule implements IMessagePrefixEjb20Constants {
- private static final Object ID = IValidationRuleList.EJB20_CMP_BEANCLASS;
- private static final Object[] DEPENDS_ON = new Object[]{IValidationRuleList.EJB20_CMP_HOME, IValidationRuleList.EJB20_CMP_LOCALHOME, IValidationRuleList.EJB20_CMP_REMOTE, IValidationRuleList.EJB20_CMP_LOCAL, IValidationRuleList.EJB20_CMP_KEYCLASS};
- private static final Map MESSAGE_IDS;
-
- private static final String MSSGID = ".cb"; // In messages, to identify which message version belongs to the BMP bean class, this id is used. //$NON-NLS-1$
- private static final String EXT = MSSGID + SPEC; // Extension to be used on non-method, non-field messages
- private static final String BEXT = MSSGID + ON_BASE_SPEC; // Extension to be used on a method/field message when the method/field is inherited from a base type
- private static final String MEXT = MSSGID + ON_THIS_SPEC; // Extension to be used on a method/field message when the method/field is implemented on the current type
-
- private final long[] SUPERTYPES = new long[]{JAVAX_EJB_ENTITYBEAN};
- private final long[] SHOULD_NOT_BE_SUPERTYPES = new long[]{LOCAL_COMPONENT_INTERFACE, REMOTE_COMPONENT_INTERFACE};
-
- private final boolean SHOULD_BE_ABSTRACT = true;
- private final boolean SHOULD_BE_FINAL = false;
- private final boolean SHOULD_BE_PUBLIC = true;
- private final boolean SHOULD_VALIDATE_TRANSIENT_FIELD = false;
-
- private final long[] METHODS_WHICH_MUST_EXIST = new long[]{CONSTRUCTOR_NOPARM, SETENTITYCONTEXT, UNSETENTITYCONTEXT_NOPARM, EJBACTIVATE_NOPARM, EJBPASSIVATE_NOPARM, EJBREMOVE_NOPARM, EJBLOAD_NOPARM, EJBSTORE_NOPARM};
- private final long[] METHODS_WHICH_MUST_NOT_EXIST = new long[]{EJBFIND, FINALIZE_NOPARM};
- private final long[] KNOWN_METHOD_TYPES = new long[]{CLINIT, CONSTRUCTOR_NOPARM, CONSTRUCTOR, EJBCREATE, EJBPOSTCREATE, EJBHOME, FINALIZE_NOPARM, EJBFIND, ACCESSOR, EJBFINDBYPRIMARYKEY, SETENTITYCONTEXT, UNSETENTITYCONTEXT_NOPARM, EJBACTIVATE_NOPARM, EJBPASSIVATE_NOPARM, EJBREMOVE_NOPARM, EJBLOAD_NOPARM, EJBSTORE_NOPARM, EJBSELECT, FINALIZE_NOPARM, BUSINESS};
-
- static {
- MESSAGE_IDS = new HashMap();
-
- // Add these checks in the code later
- MESSAGE_IDS.put(CHKJ2481, new String[]{CHKJ2481+BEXT, CHKJ2481+MEXT});
- MESSAGE_IDS.put(CHKJ2482, new String[]{CHKJ2482+BEXT, CHKJ2482+MEXT});
- MESSAGE_IDS.put(CHKJ2483, new String[]{CHKJ2483+BEXT, CHKJ2483+MEXT});
- MESSAGE_IDS.put(CHKJ2484, new String[]{CHKJ2484+BEXT, CHKJ2484+MEXT});
- MESSAGE_IDS.put(CHKJ2489, new String[]{CHKJ2489+BEXT, CHKJ2489+MEXT});
- MESSAGE_IDS.put(CHKJ2205, new String[]{CHKJ2205+BEXT, CHKJ2205+MEXT});
- MESSAGE_IDS.put(CHKJ2206, new String[]{CHKJ2206+BEXT, CHKJ2206+MEXT});
- // end add later
-
- MESSAGE_IDS.put(CHKJ2014, new String[]{CHKJ2014+EXT});
- MESSAGE_IDS.put(CHKJ2015, new String[]{CHKJ2015+EXT});
- MESSAGE_IDS.put(CHKJ2017, new String[]{CHKJ2017+EXT});
-
- MESSAGE_IDS.put(CHKJ2022, new String[]{CHKJ2022+EXT});
-
- MESSAGE_IDS.put(CHKJ2040, new String[]{CHKJ2040+EXT});
-
- MESSAGE_IDS.put(CHKJ2050_acc, new String[]{CHKJ2050_acc+EXT});
- MESSAGE_IDS.put(CHKJ2050_constr, new String[]{CHKJ2050_constr+EXT});
- MESSAGE_IDS.put(CHKJ2050_ejbCreate, new String[]{CHKJ2050_ejbCreate+EXT});
- MESSAGE_IDS.put(CHKJ2050_ejbFindByPrimaryKey, new String[]{CHKJ2050_ejbFindByPrimaryKey+EXT});
- MESSAGE_IDS.put(CHKJ2050_setEntityContext, new String[]{CHKJ2050_setEntityContext+EXT});
- MESSAGE_IDS.put(CHKJ2050_unsetEntityContext, new String[]{CHKJ2050_unsetEntityContext+EXT});
- MESSAGE_IDS.put(CHKJ2050_ejbActivate, new String[]{CHKJ2050_ejbActivate+EXT});
- MESSAGE_IDS.put(CHKJ2050_ejbPassivate, new String[]{CHKJ2050_ejbPassivate+EXT});
- MESSAGE_IDS.put(CHKJ2050_ejbRemove, new String[]{CHKJ2050_ejbRemove+EXT});
- MESSAGE_IDS.put(CHKJ2050_ejbLoad, new String[]{CHKJ2050_ejbLoad+EXT});
- MESSAGE_IDS.put(CHKJ2050_ejbStore, new String[]{CHKJ2050_ejbStore+EXT});
- MESSAGE_IDS.put(CHKJ2050_ejbSelect, new String[]{CHKJ2050_ejbSelect+EXT});
- MESSAGE_IDS.put(CHKJ2050_ejbFind, new String[]{CHKJ2050_ejbFind+EXT});
- MESSAGE_IDS.put(CHKJ2050_ejbPostCreate, new String[]{CHKJ2050_ejbPostCreate+EXT});
-
- MESSAGE_IDS.put(CHKJ2103, new String[]{CHKJ2103+SPEC});
- MESSAGE_IDS.put(CHKJ2404, new String[]{CHKJ2404+ON_BASE_SPEC, CHKJ2404+ON_THIS_SPEC}); // special case (shared by all types)
-
- MESSAGE_IDS.put(CHKJ2411, new String[]{CHKJ2411+BEXT, CHKJ2411+MEXT});
- MESSAGE_IDS.put(CHKJ2416, new String[]{CHKJ2416+ON_BASE_SPEC, CHKJ2416+ON_THIS_SPEC}); // special case (shared by all types)
-
- MESSAGE_IDS.put(CHKJ2421, new String[]{CHKJ2421+BEXT, CHKJ2421+MEXT});
- MESSAGE_IDS.put(CHKJ2422, new String[]{CHKJ2422+BEXT, CHKJ2422+MEXT});
- MESSAGE_IDS.put(CHKJ2423, new String[]{CHKJ2423+BEXT, CHKJ2423+MEXT});
- MESSAGE_IDS.put(CHKJ2424, new String[]{CHKJ2424+BEXT, CHKJ2424+MEXT});
- MESSAGE_IDS.put(CHKJ2426, new String[]{CHKJ2426+BEXT, CHKJ2426+MEXT});
- MESSAGE_IDS.put(CHKJ2427, new String[]{CHKJ2427+BEXT, CHKJ2427+MEXT});
- MESSAGE_IDS.put(CHKJ2428, new String[]{CHKJ2428+BEXT, CHKJ2428+MEXT});
- MESSAGE_IDS.put(CHKJ2430, new String[]{CHKJ2430+BEXT, CHKJ2430+MEXT});
- MESSAGE_IDS.put(CHKJ2431, new String[]{CHKJ2431+BEXT, CHKJ2431+MEXT});
- MESSAGE_IDS.put(CHKJ2439, new String[]{CHKJ2439+BEXT, CHKJ2439+MEXT});
-
- MESSAGE_IDS.put(CHKJ2441, new String[]{CHKJ2441+BEXT, CHKJ2441+MEXT});
- MESSAGE_IDS.put(CHKJ2442, new String[]{CHKJ2442+BEXT, CHKJ2442+MEXT});
- MESSAGE_IDS.put(CHKJ2443, new String[]{CHKJ2443+BEXT, CHKJ2443+MEXT});
- MESSAGE_IDS.put(CHKJ2449, new String[]{CHKJ2449+BEXT, CHKJ2449+MEXT});
-
- MESSAGE_IDS.put(CHKJ2450, new String[]{CHKJ2450+BEXT, CHKJ2450+MEXT});
- MESSAGE_IDS.put(CHKJ2454, new String[]{CHKJ2454+BEXT, CHKJ2454+MEXT});
- MESSAGE_IDS.put(CHKJ2456, new String[]{CHKJ2456+ON_BASE, CHKJ2456+ON_THIS}); // special case (shared by all types)
-
- MESSAGE_IDS.put(CHKJ2478, new String[]{CHKJ2478+BEXT, CHKJ2478+MEXT});
-
- MESSAGE_IDS.put(CHKJ2480, new String[]{CHKJ2480+BEXT, CHKJ2480+MEXT});
- MESSAGE_IDS.put(CHKJ2485, new String[]{CHKJ2485+BEXT, CHKJ2485+MEXT});
- MESSAGE_IDS.put(CHKJ2486, new String[]{CHKJ2486+BEXT, CHKJ2486+MEXT});
- MESSAGE_IDS.put(CHKJ2487, new String[]{CHKJ2487+BEXT, CHKJ2487+MEXT});
- MESSAGE_IDS.put(CHKJ2488, new String[]{CHKJ2488+BEXT, CHKJ2488+MEXT});
-
- MESSAGE_IDS.put(CHKJ2492, new String[]{CHKJ2492+BEXT, CHKJ2492+MEXT});
- MESSAGE_IDS.put(CHKJ2493, new String[]{CHKJ2493+BEXT, CHKJ2493+MEXT});
- MESSAGE_IDS.put(CHKJ2494, new String[]{CHKJ2494+BEXT, CHKJ2494+MEXT});
- MESSAGE_IDS.put(CHKJ2496, new String[]{CHKJ2496+BEXT, CHKJ2496+MEXT});
- MESSAGE_IDS.put(CHKJ2497, new String[]{CHKJ2497+BEXT, CHKJ2497+MEXT});
-
- MESSAGE_IDS.put(CHKJ2500_ejbCreate, new String[]{CHKJ2500_ejbCreate+BEXT, CHKJ2500_ejbCreate+MEXT});
- MESSAGE_IDS.put(CHKJ2500_ejbFind, new String[]{CHKJ2500_ejbCreate+BEXT, CHKJ2500_ejbCreate+MEXT});
- MESSAGE_IDS.put(CHKJ2500_business, new String[]{CHKJ2500_ejbCreate+BEXT, CHKJ2500_ejbCreate+MEXT});
- MESSAGE_IDS.put(CHKJ2500_ejbHome, new String[]{CHKJ2500_ejbHome+BEXT, CHKJ2500_ejbHome+MEXT});
- MESSAGE_IDS.put(CHKJ2502_finalize, new String[]{CHKJ2502_finalize+BEXT, CHKJ2502_finalize+MEXT});
- MESSAGE_IDS.put(CHKJ2502_ejbFind, new String[]{CHKJ2502_ejbFind+BEXT, CHKJ2502_ejbFind+MEXT});
-
- MESSAGE_IDS.put(CHKJ2503_bus, new String[]{CHKJ2503_bus+BEXT, CHKJ2503_bus+MEXT});
- MESSAGE_IDS.put(CHKJ2503_ejbCreate, new String[]{CHKJ2503_ejbCreate+BEXT, CHKJ2503_ejbCreate+MEXT});
- MESSAGE_IDS.put(CHKJ2503_ejbPostCreate, new String[]{CHKJ2503_ejbPostCreate+BEXT, CHKJ2503_ejbPostCreate+MEXT});
- MESSAGE_IDS.put(CHKJ2503_ejbHome, new String[]{CHKJ2503_ejbHome+BEXT, CHKJ2503_ejbHome+MEXT});
-
- MESSAGE_IDS.put(CHKJ2505_ejbPostCreate, new String[]{CHKJ2505_ejbPostCreate+BEXT, CHKJ2505_ejbPostCreate+MEXT});
- MESSAGE_IDS.put(CHKJ2505_ejbRemove, new String[]{CHKJ2505_ejbRemove+BEXT, CHKJ2505_ejbRemove+MEXT});
- }
-
- public final Map getMessageIds() {
- return MESSAGE_IDS;
- }
-
- public final int getMessageRemoteExceptionSeverity() {
- return MESSAGE_REMOTE_EXCEPTION_SEVERITY;
- }
-
- public final Object[] getDependsOn() {
- return DEPENDS_ON;
- }
-
- public final Object getId() {
- return ID;
- }
-
- public final long[] getSupertypes() {
- return SUPERTYPES;
- }
-
- public final boolean shouldValidateTransientField() {
- return SHOULD_VALIDATE_TRANSIENT_FIELD;
- }
-
- public final long[] getShouldNotBeSupertypes() {
- return SHOULD_NOT_BE_SUPERTYPES;
- }
-
- public final boolean shouldBeAbstract(JavaClass clazz) {
- return SHOULD_BE_ABSTRACT;
- }
-
- public final boolean shouldBeFinal(JavaClass clazz) {
- return SHOULD_BE_FINAL;
- }
-
- public final boolean shouldBePublic(JavaClass clazz) {
- return SHOULD_BE_PUBLIC;
- }
-
- public final int isRemote() {
- return NEITHER;
- }
-
- public final long[] getMethodsWhichMustExist() {
- return METHODS_WHICH_MUST_EXIST;
- }
-
- public final long[] getMethodsWhichMustNotExist() {
- return METHODS_WHICH_MUST_NOT_EXIST;
- }
-
- public final JavaHelpers getEjbCreateReturnType(EnterpriseBean bean, Method method) {
- ContainerManagedEntity cmp = (ContainerManagedEntity)bean;
- if(ValidationRuleUtility.usesUnknownPrimaryKey(cmp)) {
- try {
- return ValidationRuleUtility.getType(ITypeConstants.CLASSNAME_JAVA_LANG_OBJECT, cmp);
- }
- catch(InvalidInputException e) {
- // problems....
- // let this fall through to the default (getPrimaryKey())
- }
- }
- return ((Entity)bean).getPrimaryKey();
- }
-
- public final String getEjbCreateReturnTypeName(EnterpriseBean bean, Method method) {
- JavaHelpers retType = getEjbCreateReturnType(bean, method);
- if(retType == null) {
- return IEJBValidatorConstants.NULL_PRIMARY_KEY;
- }
- return retType.getJavaName();
- }
-
- public final void validate(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws ValidationCancelledException, InvalidInputException, ValidationException {
- super.validate(vc, bean, clazz);
-
- ContainerManagedEntity cmp = (ContainerManagedEntity)bean;
-
- // 10.3.1, container-managed persistent fields and container-managed relationship
- // fields must *not* be defined in the entity bean class.
- List cmrFields = cmp.getCMRFields();
- Iterator iterator = cmrFields.iterator();
- while(iterator.hasNext()) {
- CMRField cmrField = (CMRField)iterator.next();
- if((cmrField != null) && (!cmrField.isDerived())) {
- validateCmrField(vc, cmp, clazz, cmrField);
- }
- }
-
- List cmpFields = cmp.getFilteredFeatures(LocalModelledPersistentAttributeFilter.singleton());
- if(cmpFields != null && !cmpFields.isEmpty()) {
- iterator = cmpFields.iterator();
- while(iterator.hasNext()) {
- CMPAttribute cmpField = (CMPAttribute)iterator.next();
- if((cmpField != null) && (!cmpField.isDerived())) {
- validateCmpField(vc, cmp, clazz, cmpField);
- }
- }
- }
- }
-
- public void validateEjbCreateMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedList) throws ValidationCancelledException, InvalidInputException, ValidationException {
- super.validateEjbCreateMethod(vc, bean, clazz, method, methodsExtendedList);
-
- if(!ValidationRuleUtility.throwsCreateException(bean, method)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2497, IEJBValidationContext.WARNING, bean, clazz, method, this);
- vc.addMessage(message);
- }
- }
-
- public final void validateEjbSelectMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass parent, Method method) throws ValidationCancelledException, InvalidInputException, ValidationException {
- // # ejbSelect<METHOD> checks
- // IWAD4154 = {0} must exist. Read section 10.5.2 of the EJB 2.0 specification.
- // IWAD4502 = This method must not exist on this class. Read section 10.5.5 of the EJB 2.0 specification.
- // IWAD4197 = An ejbSelect method must exist. Read section 10.6.7 of the EJB 2.0 specification.
-
- JavaHelpers returnType = method.getReturnType();
- JavaHelpers javaUtilCollection = ValidationRuleUtility.getType(ITypeConstants.CLASSNAME_JAVA_UTIL_COLLECTION, bean);
- if(!ValidationRuleUtility.isAssignableFrom(returnType, bean.getLocalInterface()) &&
- !ValidationRuleUtility.isAssignableFrom(returnType, javaUtilCollection) ) {
- // IWAD4160 = Type {0} cannot be returned by a select method. Read section 10.5.7 of the EJB 2.0 specification.
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2486, IEJBValidationContext.INFO, bean, parent, method, this);
- vc.addMessage(message);
- }
-
- if(!ValidationRuleUtility.isPublic(method)) {
- // IWAD4198 = This method must be public. Read section 10.6.7 of the EJB 2.0 specification.
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2487, IEJBValidationContext.INFO, bean, parent, method, this);
- vc.addMessage(message);
- }
-
- if(!method.isAbstract()) {
- // IWAD4199 = This method must be abstract. Read section 10.6.7 of the EJB 2.0 specification.
- // IWAD4158 = {0} must be abstract. Read section 10.5.7 of the EJB 2.0 specification.
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2485, IEJBValidationContext.INFO, bean, parent, method, this);
- vc.addMessage(message);
- }
-
- if(!ValidationRuleUtility.throwsFinderException(bean, method)) {
- // IWAD4200 = This method must throw javax.ejb.FinderException. Read section 10.6.7 of the EJB 2.0 specification.
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2488, IEJBValidationContext.INFO, bean, parent, method, this);
- vc.addMessage(message);
- }
-
- if(!ValidationRuleUtility.followsObjectNotFoundExceptionRules(bean, method)) {
- // IWAD4285 = This method must not throw javax.ejb.ObjectNotFoundException. Read section 12.1.8.4 of the EJB 2.0 specification.
- // IWAD4168 = This method must not throw ObjectNotFoundException. Read section 10.5.8.4 of the EJB 2.0 specification.
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2478, IEJBValidationContext.INFO, bean, parent, method, this);
- vc.addMessage(message);
- }
-
- // Check method is associated with a query element in ejb-jar.xml.
- ContainerManagedEntity cmp = (ContainerManagedEntity)bean;
- if(!ValidationRuleUtility.isAssociatedWithQuery(cmp, method)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2496, IEJBValidationContext.INFO, bean, parent, method, this);
- vc.addMessage(message);
- }
- }
-
- public final long[] getKnownMethodTypes() {
- return KNOWN_METHOD_TYPES;
- }
-
- public void validateCmpField(IEJBValidationContext vc, ContainerManagedEntity cmp, JavaClass clazz, CMPAttribute attrib) throws ValidationCancelledException, InvalidInputException, ValidationException {
- String fieldName = attrib.getName();
- if((fieldName == null) || (fieldName.equals(""))) { //$NON-NLS-1$
- // let the EJBJarVRule report this
- return;
- }
-
- if(!Character.isLowerCase(fieldName.charAt(0))) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2480, IEJBValidationContext.INFO, cmp, clazz, attrib.getField(), this);
- vc.addMessage(message);
- }
-
- // Section 10.8.3
- if(!ValidationRuleUtility.isUnknownPrimaryKey(attrib)) {
- JavaClass ejbClass = cmp.getEjbClass();
- Method getMethod = ValidationRuleUtility.getMethodExtended(ejbClass, attrib.getGetterName(), new JavaHelpers[0], attrib.getType());
- if(getMethod == null) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2050_acc, IEJBValidationContext.ERROR, cmp, clazz, new String[]{attrib.getGetterName()}, this);
- vc.addMessage(message);
- }
- else {
- validateCMPAccessorMethod(vc, cmp, clazz, getMethod, attrib);
- }
-
- JavaHelpers[] setMethodParms = new JavaHelpers[]{attrib.getType()};
- Method setMethod = ValidationRuleUtility.getMethodExtended(ejbClass, attrib.getSetterName(), setMethodParms);
- if(setMethod == null) {
- String setterName = attrib.getSetterName() + "(" + ValidationRuleUtility.getParmsAsString(setMethodParms) + ")"; //$NON-NLS-1$ //$NON-NLS-2$
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2050_acc, IEJBValidationContext.ERROR, cmp, clazz, new String[]{setterName}, this);
- vc.addMessage(message);
- }
- else {
- validateCMPAccessorMethod(vc, cmp, clazz, setMethod, attrib);
- }
- }
-
- Field field = attrib.getField();
- if ((field != null) && (clazz.getFieldExtended(attrib.getName()) != null)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2454, IEJBValidationContext.WARNING, cmp, clazz, field, new String[]{attrib.getName()}, this);
- vc.addMessage(message);
- }
-
- }
-
- public void validateCmrField(IEJBValidationContext vc, ContainerManagedEntity cmp, JavaClass clazz, CMRField cmrField) throws ValidationCancelledException, InvalidInputException, ValidationException {
- String fieldName = cmrField.getName();
- if((fieldName == null) || (fieldName.equals(""))) { //$NON-NLS-1$
- // let the EJBJarVRule report this
- return;
- }
-
- if(!Character.isLowerCase(fieldName.charAt(0))) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2480, IEJBValidationContext.INFO, cmp, clazz, cmrField.getField(), this);
- vc.addMessage(message);
- }
-
- JavaClass ejbClass = cmp.getEjbClass();
- JavaHelpers localType = ValidationRuleUtility.getCMRFieldType(vc, cmp, clazz, cmrField);
- if(localType == null) {
- // user made a mistake in ejb-jar.xml by trying to create a relation
- // to a CMP which doesn't have a local interface.
- // Don't report an error here; let the DD validation report the error.
- return;
- }
- Method getMethod = ValidationRuleUtility.getMethodExtended(ejbClass, cmrField.getGetterName(), new JavaHelpers[0], localType);
- if(getMethod == null) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2050_acc, IEJBValidationContext.ERROR, cmp, clazz, new String[]{cmrField.getGetterName()}, this);
- vc.addMessage(message);
- }
- else {
- validateCMRAccessorMethod(vc, cmp, clazz, getMethod, cmrField);
- }
-
- JavaHelpers[] setMethodParms = new JavaHelpers[]{localType};
- Method setMethod = ValidationRuleUtility.getMethodExtended(ejbClass, cmrField.getSetterName(), setMethodParms);
- if(setMethod == null) {
- String setterName = cmrField.getSetterName() + "(" + ValidationRuleUtility.getParmsAsString(setMethodParms) + ")"; //$NON-NLS-1$ //$NON-NLS-2$
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2050_acc, IEJBValidationContext.ERROR, cmp, clazz, new String[]{setterName}, this);
- vc.addMessage(message);
- }
- else {
- validateCMRAccessorMethod(vc, cmp, clazz, setMethod, cmrField);
- }
-
- Field field = cmrField.getField();
- if ((field != null) && (clazz.getFieldExtended(cmrField.getName()) != null)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2454, IEJBValidationContext.WARNING, cmp, clazz, field, new String[]{cmrField.getName()}, this);
- vc.addMessage(message);
- }
- }
-
- protected void validateCMRAccessorMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method, CMRField field) throws ValidationCancelledException, InvalidInputException, ValidationException {
- if(!ValidationRuleUtility.isPublic(method)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2449, IEJBValidationContext.WARNING, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- if(!method.isAbstract()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2450, IEJBValidationContext.WARNING, bean, clazz, method, this);
- vc.addMessage(message);
- }
- }
-
- protected void validateCMPAccessorMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method, CMPAttribute field) throws ValidationCancelledException, InvalidInputException, ValidationException {
- if(!ValidationRuleUtility.isPublic(method)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2449, IEJBValidationContext.WARNING, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- if(!method.isAbstract()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2450, IEJBValidationContext.WARNING, bean, clazz, method, this);
- vc.addMessage(message);
- }
- }
-
- public void validate(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) throws ValidationCancelledException, InvalidInputException, ValidationException {
- long methodType = MethodUtility.getUtility().getMethodTypeId(bean, clazz, method, methodsExtendedLists, this);
-
- if((methodType & EJBCREATE) == EJBCREATE) {
- validateEjbCreateMethod(vc, bean, clazz, method, methodsExtendedLists);
- }
- else if((methodType & EJBPOSTCREATE) == EJBPOSTCREATE) {
- validateEjbPostCreateMethod(vc, bean, clazz, method);
- }
- else if((methodType & EJBHOME) == EJBHOME) {
- validateEjbHomeMethod(vc, bean, clazz, method, methodsExtendedLists);
- }
- else if((methodType & EJBREMOVE_NOPARM) == EJBREMOVE_NOPARM) {
- validateEjbRemoveMethod(vc, bean, clazz, method);
- }
- else if((methodType & ACCESSOR) == ACCESSOR) {
- // This has already been validated in the validate(vc, bean, clazz) method
- }
- else if((methodType & BUSINESS) == BUSINESS) {
- validateBusinessMethod(vc, bean, clazz, method, methodsExtendedLists);
- }
- else {
- // Method isn't supposed to be here. Let the validateMethodsWhichMustNotExist
- // take care of it.
- }
- }
-
- public String getMatchingHomeMethodName(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedList) {
- long methodType = MethodUtility.getUtility().getMethodTypeId(bean, clazz, method, methodsExtendedList, this);
-
- if((methodType & EJBCREATE) == EJBCREATE) {
- return getMatchingEjbCreateMethodName(vc, method);
- }
- else if((methodType & EJBPOSTCREATE) == EJBPOSTCREATE) {
- return getMatchingEjbPostCreateMethodName(vc, method);
- }
- else if((methodType & EJBHOME) == EJBHOME) {
- return getMatchingEjbHomeMethodName(vc, method);
- }
- else if((methodType & EJBREMOVE_NOPARM) == EJBREMOVE_NOPARM) {
- return getNoMatchingMethodName(vc, method);
- }
- else if((methodType & ACCESSOR) == ACCESSOR) {
- // This has already been validated in the validate(vc, bean, clazz) method
- return getNoMatchingMethodName(vc, method);
- }
- else if((methodType & BUSINESS) == BUSINESS) {
- return getMatchingBusinessMethodName(vc, method);
- }
- else {
- // Method isn't supposed to be here.
- return getNoMatchingMethodName(vc, method);
- }
- }
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/CMPKeyClassVRule.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/CMPKeyClassVRule.java
deleted file mode 100644
index 1ee5bd790..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/CMPKeyClassVRule.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.jem.java.Field;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jst.j2ee.ejb.CMPAttribute;
-import org.eclipse.jst.j2ee.ejb.ContainerManagedEntity;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-
-/**
- * @version 1.0
- * @author
- */
-public final class CMPKeyClassVRule extends AKeyClassVRule implements IEJBType, IRemoteType, IMessagePrefixEjb20Constants {
- private static final Object ID = IValidationRuleList.EJB20_CMP_KEYCLASS;
- private static final Object[] DEPENDS_ON = new Object[]{IValidationRuleList.EJB20_CMP_BEANCLASS};
- private static final Map MESSAGE_IDS;
-
- private static final String MSSGID = ".kc"; // In messages, to identify which message version belongs to the BMP bean class, this id is used. //$NON-NLS-1$
- private static final String EXT = MSSGID + SPEC; // Extension to be used on non-method, non-field messages
- private static final String BEXT = MSSGID + ON_BASE + SPEC; // Extension to be used on a method/field message when the method/field is inherited from a base type
- private static final String MEXT = MSSGID + ON_THIS + SPEC; // Extension to be used on a method/field message when the method/field is implemented on the current type
-
- private final long[] SUPERTYPES = null;
- private final long[] SHOULD_NOT_BE_SUPERTYPES = null;
-
- private final long[] METHODS_WHICH_MUST_EXIST = new long[]{HASHCODE_NOPARM, EQUALS, CONSTRUCTOR_NOPARM};
- private final long[] METHODS_WHICH_MUST_NOT_EXIST = null;
-
- private final long[] KNOWN_METHOD_TYPES = new long[]{CLINIT, HASHCODE_NOPARM, EQUALS, CONSTRUCTOR_NOPARM, CONSTRUCTOR};
-
- private Set _keyFields = null;
-
- static {
- MESSAGE_IDS = new HashMap();
-
- MESSAGE_IDS.put(CHKJ2050_constr, new String[]{CHKJ2050_constr+EXT});
- MESSAGE_IDS.put(CHKJ2050_hashCode, new String[]{CHKJ2050_hashCode+EXT});
- MESSAGE_IDS.put(CHKJ2050_equals, new String[]{CHKJ2050_equals+EXT});
- MESSAGE_IDS.put(CHKJ2022, new String[]{CHKJ2022+EXT});
-
- MESSAGE_IDS.put(CHKJ2019, new String[]{CHKJ2019+EXT});
-
- MESSAGE_IDS.put(CHKJ2205, new String[]{CHKJ2205+BEXT, CHKJ2205+MEXT});
- MESSAGE_IDS.put(CHKJ2206, new String[]{CHKJ2206+BEXT, CHKJ2206+MEXT});
-
- MESSAGE_IDS.put(CHKJ2404, new String[]{CHKJ2404+ON_BASE_SPEC, CHKJ2404+ON_THIS_SPEC}); // special case (shared by all types)
- MESSAGE_IDS.put(CHKJ2416, new String[]{CHKJ2416+ON_BASE_SPEC, CHKJ2416+ON_THIS_SPEC}); // special case (shared by all types)
-
- MESSAGE_IDS.put(CHKJ2433, new String[]{CHKJ2433});
- MESSAGE_IDS.put(CHKJ2829, new String[]{CHKJ2829+SPEC});
- MESSAGE_IDS.put(CHKJ2907, new String[]{CHKJ2907});
- }
-
- public final Map getMessageIds() {
- return MESSAGE_IDS;
- }
-
- public final int getMessageRemoteExceptionSeverity() {
- // Key methods are not checked for RemoteException, but to be consistent with the other VRules...
- return MESSAGE_REMOTE_EXCEPTION_SEVERITY;
- }
-
- public final Object[] getDependsOn() {
- return DEPENDS_ON;
- }
-
- public final Object getId() {
- return ID;
- }
-
- public final long[] getSupertypes() {
- return SUPERTYPES;
- }
-
- public final long[] getShouldNotBeSupertypes() {
- return SHOULD_NOT_BE_SUPERTYPES;
- }
-
- public final int isRemote() {
- return IS_REMOTE;
- }
-
- public final long[] getMethodsWhichMustExist() {
- return METHODS_WHICH_MUST_EXIST;
- }
-
-
- public final long[] getMethodsWhichMustNotExist() {
- return METHODS_WHICH_MUST_NOT_EXIST;
- }
-
- public Object getTarget(Object parent, Object clazz) {
- if(parent == null) {
- return null;
- }
-
- ContainerManagedEntity cmp = (ContainerManagedEntity)parent;
- if(ValidationRuleUtility.isPrimitivePrimaryKey(cmp)) {
- return null; // do not validate a primitive primary key
- }
-
- return cmp.getPrimaryKey();
- }
-
-
- /*
- * @see IClassVRule#validate(IEJBValidationContext, EnterpriseBean, JavaClass, Method)
- */
- public final void validate(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) throws ValidationCancelledException, InvalidInputException, ValidationException {
- // Nothing to do.
- }
-
- public final void validate(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws ValidationCancelledException, InvalidInputException, ValidationException {
- super.validate(vc, bean, clazz);
-
- // IWAD4251 = This class must be public. Read section 10.8.2 of the EJB 2.0 specification.
- if(!clazz.isPublic()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2022, IEJBValidationContext.INFO, bean, clazz, this);
- vc.addMessage(message);
- }
-
- ContainerManagedEntity cmp = (ContainerManagedEntity)bean;
- if(!ValidationRuleUtility.usesUnknownPrimaryKey(cmp)) {
- // primary key must map to at least one field on the bean
- // But if it's an unknown key, there's no point checking java.lang.Object
- List primKeyFields = cmp.getKeyAttributes();
- if ((primKeyFields == null) || (primKeyFields.size() == 0)) {
- JavaClass primaryKey = cmp.getPrimaryKey(); // don't need to check ValidationRuleUtility.isValidType(primaryKey), because it's already been called in the validateDeploymentDescriptor method
- String beanName = (cmp.getName() == null) ? "null" : cmp.getName(); //$NON-NLS-1$
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2829, IEJBValidationContext.ERROR, cmp, primaryKey, new String[] { primaryKey.getName(), beanName }, this);
- vc.addMessage(message);
- }
- }
- }
-
- private Set getKeyFields(ContainerManagedEntity cmp) {
- if(_keyFields == null) {
- // Know that the traversal of the fields and methods is done sequentially.
- // i.e., that a class is validated according to one bean at at time.
- // Thus, we can cache the key field information to speed up subsequent calls.
- List fields = cmp.getKeyAttributes();
- Iterator iterator = fields.iterator();
- _keyFields = new HashSet();
- while(iterator.hasNext()) {
- CMPAttribute attrib = (CMPAttribute)iterator.next();
- _keyFields.add(attrib.getName());
- }
- }
- return _keyFields;
- }
-
- /*
- * @see IClassVRule#validate(IEJBValidationContext, EnterpriseBean, JavaClass, Field)
- */
- public final void validate(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Field field, List[] fieldExtendedLists) throws ValidationCancelledException, InvalidInputException, ValidationException {
- long fieldType = MethodUtility.getUtility().getFieldTypeId(bean, clazz, field, this);
- if((fieldType & IMethodAndFieldConstants.SERIALVERSIONUID) == IMethodAndFieldConstants.SERIALVERSIONUID) {
- validateSerialVersionUID(vc, bean, clazz, field);
- }
- else {
- // IWAD4253 = This field must be public. Read section 10.8.1 of the EJB 2.0 specification.
- if(!ValidationRuleUtility.isPublic(field)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2205, IEJBValidationContext.WARNING, bean, clazz, field, this);
- vc.addMessage(message);
- }
-
- Set keyFields = getKeyFields((ContainerManagedEntity)bean);
- if(!keyFields.contains(field.getName())) {
- // IWAD4254 = This field is not a <cmp-field>. Read section 10.8.1 of the EJB 2.0 specification.
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2206, IEJBValidationContext.WARNING, bean, clazz, field, this);
- vc.addMessage(message);
- }
- }
- }
-
- public final long[] getKnownMethodTypes() {
- return KNOWN_METHOD_TYPES;
- }
-
- /*
- * @see IValidationRule#reset()
- */
- public void reset() {
- super.reset();
- if(_keyFields != null) {
- _keyFields.clear();
- _keyFields = null; // in this case, clearing the Set isn't enough.
- }
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/CMPLocalComponentVRule.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/CMPLocalComponentVRule.java
deleted file mode 100644
index 7dcace187..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/CMPLocalComponentVRule.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import java.util.HashMap;
-import java.util.Map;
-
-
-
-/**
- * @version 1.0
- * @author
- */
-public final class CMPLocalComponentVRule extends AComponentVRule implements IComponentType, ILocalType, IMessagePrefixEjb20Constants {
- private static final Object ID = IValidationRuleList.EJB20_CMP_LOCAL;
- private static final Object[] DEPENDS_ON = new Object[]{IValidationRuleList.EJB20_CMP_BEANCLASS};
- private static final Map MESSAGE_IDS;
-
- private static final String MSSGID = ".clc"; // In messages, to identify which message version belongs to the BMP bean class, this id is used. //$NON-NLS-1$
- private static final String EXT = MSSGID + SPEC; // Extension to be used on non-method, non-field messages
- private static final String BEXT = MSSGID + ON_BASE_SPEC; // Extension to be used on a method/field message when the method/field is inherited from a base type
- private static final String MEXT = MSSGID + ON_THIS_SPEC; // Extension to be used on a method/field message when the method/field is implemented on the current type
-
- private final long[] SUPERTYPES = new long[]{JAVAX_EJB_EJBLOCALOBJECT};
- private final long[] SHOULD_NOT_BE_SUPERTYPES = null;
-
- private final long[] METHODS_WHICH_MUST_EXIST = null;
- private static final long[] METHODS_WHICH_MUST_NOT_EXIST = new long[]{EJBSELECT};
-
- private final long[] KNOWN_METHOD_TYPES = new long[]{CLINIT, EJBSELECT}; // Must know EJBSELECT to check that it's not exposed on this interface
-
- static {
- MESSAGE_IDS = new HashMap();
-
- MESSAGE_IDS.put(CHKJ2017, new String[]{CHKJ2017+EXT});
-
- MESSAGE_IDS.put(CHKJ2023, new String[]{CHKJ2023+BEXT, CHKJ2023+MEXT});
-
- MESSAGE_IDS.put(CHKJ2105, new String[]{CHKJ2105+SPEC});
- MESSAGE_IDS.put(CHKJ2404, new String[]{CHKJ2404+ON_BASE_SPEC, CHKJ2404+ON_THIS_SPEC}); // special case (shared by all types)
- MESSAGE_IDS.put(CHKJ2416, new String[]{CHKJ2416+ON_BASE_SPEC, CHKJ2416+ON_THIS_SPEC}); // special case (shared by all types)
-
- MESSAGE_IDS.put(CHKJ2433, new String[]{CHKJ2433});
-
- MESSAGE_IDS.put(CHKJ2468, new String[]{CHKJ2468+BEXT, CHKJ2468+MEXT});
- MESSAGE_IDS.put(CHKJ2469, new String[]{CHKJ2469+BEXT, CHKJ2469+MEXT});
-
- MESSAGE_IDS.put(CHKJ2470, new String[]{CHKJ2470+BEXT, CHKJ2470+MEXT});
- MESSAGE_IDS.put(CHKJ2471, new String[]{CHKJ2471+BEXT, CHKJ2471+MEXT});
- MESSAGE_IDS.put(CHKJ2472, new String[]{CHKJ2472+BEXT, CHKJ2472+MEXT});
- MESSAGE_IDS.put(CHKJ2474, new String[]{CHKJ2474+BEXT, CHKJ2474+MEXT});
-
- MESSAGE_IDS.put(CHKJ2500_create, new String[]{CHKJ2500_create+BEXT, CHKJ2500_create+MEXT});
- MESSAGE_IDS.put(CHKJ2500_home, new String[]{CHKJ2500_home+BEXT, CHKJ2500_home+MEXT});
- MESSAGE_IDS.put(CHKJ2502_ejbSelect, new String[]{CHKJ2502_ejbSelect+BEXT, CHKJ2502_ejbSelect+MEXT});
- MESSAGE_IDS.put(CHKJ2503_bus, new String[]{CHKJ2503_bus+BEXT, CHKJ2503_bus+MEXT});
-
- MESSAGE_IDS.put(CHKJ2907, new String[]{CHKJ2907});
- }
-
- public final Map getMessageIds() {
- return MESSAGE_IDS;
- }
-
- public final int getMessageRemoteExceptionSeverity() {
- return MESSAGE_REMOTE_EXCEPTION_SEVERITY;
- }
-
- public final Object[] getDependsOn() {
- return DEPENDS_ON;
- }
-
- public final Object getId() {
- return ID;
- }
-
- public final long[] getBaseTypes() {
- return getSupertypes();
- }
-
- public final long[] getSupertypes() {
- return SUPERTYPES;
- }
-
- public final long[] getShouldNotBeSupertypes() {
- return SHOULD_NOT_BE_SUPERTYPES;
- }
-
-
- public final int isRemote() {
- return IS_REMOTE;
- }
-
- public final long[] getMethodsWhichMustExist() {
- return METHODS_WHICH_MUST_EXIST;
- }
-
- public final long[] getMethodsWhichMustNotExist() {
- return METHODS_WHICH_MUST_NOT_EXIST;
- }
-
- public final long[] getKnownMethodTypes() {
- return KNOWN_METHOD_TYPES;
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/CMPLocalHomeVRule.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/CMPLocalHomeVRule.java
deleted file mode 100644
index 79aee23ac..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/CMPLocalHomeVRule.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import java.util.HashMap;
-import java.util.Map;
-
-
-
-/**
- * @version 1.0
- * @author
- */
-public final class CMPLocalHomeVRule extends ACMPHomeVRule implements ILocalType, IHomeType, IMessagePrefixEjb20Constants {
- private static final Object ID = IValidationRuleList.EJB20_CMP_LOCALHOME;
- private static final Object[] DEPENDS_ON = new Object[]{IValidationRuleList.EJB20_CMP_BEANCLASS, IValidationRuleList.EJB20_CMP_KEYCLASS, IValidationRuleList.EJB20_EJBEXT};
- private static final Map MESSAGE_IDS;
-
- private static final String MSSGID = ".clh"; // In messages, to identify which message version belongs to the BMP bean class, this id is used. //$NON-NLS-1$
- private static final String EXT = MSSGID + SPEC; // Extension to be used on non-method, non-field messages
- private static final String BEXT = MSSGID + ON_BASE_SPEC; // Extension to be used on a method/field message when the method/field is inherited from a base type
- private static final String MEXT = MSSGID + ON_THIS_SPEC; // Extension to be used on a method/field message when the method/field is implemented on the current type
-
- private final long[] SUPERTYPES = new long[]{JAVAX_EJB_EJBLOCALHOME};
- private final long[] SHOULD_NOT_BE_SUPERTYPES = null;
-
- private final long[] METHODS_WHICH_MUST_EXIST = new long[]{FINDBYPRIMARYKEY, FIND};
- private final long[] METHODS_WHICH_MUST_NOT_EXIST = new long[]{EJBSELECT};
-
- private final long[] KNOWN_METHOD_TYPES = new long[]{CLINIT, CREATE, FINDBYPRIMARYKEY, FIND, HOME, EJBSELECT}; // Must know EJBSELECT to check that it's not exposed on this interface
-
- static {
- MESSAGE_IDS = new HashMap();
-
- MESSAGE_IDS.put(CHKJ2017, new String[]{CHKJ2017+EXT});
-
- MESSAGE_IDS.put(CHKJ2040, new String[]{CHKJ2040+EXT});
-
- MESSAGE_IDS.put(CHKJ2050_findByPrimaryKey, new String[]{CHKJ2050_findByPrimaryKey+EXT});
- MESSAGE_IDS.put(CHKJ2050_find, new String[]{CHKJ2050_find+EXT});
-
- MESSAGE_IDS.put(CHKJ2104, new String[]{CHKJ2104+SPEC});
- MESSAGE_IDS.put(CHKJ2402, new String[]{CHKJ2402+BEXT, CHKJ2402+MEXT});
- MESSAGE_IDS.put(CHKJ2403, new String[]{CHKJ2403+BEXT, CHKJ2403+MEXT});
- MESSAGE_IDS.put(CHKJ2404, new String[]{CHKJ2404+ON_BASE_SPEC, CHKJ2404+ON_THIS_SPEC}); // special case (shared by all types)
-
- MESSAGE_IDS.put(CHKJ2416, new String[]{CHKJ2416+ON_BASE_SPEC, CHKJ2416+ON_THIS_SPEC}); // special case (shared by all types)
-
- MESSAGE_IDS.put(CHKJ2433, new String[]{CHKJ2433});
-
- MESSAGE_IDS.put(CHKJ2461, new String[]{CHKJ2461+BEXT, CHKJ2461+MEXT});
- MESSAGE_IDS.put(CHKJ2462, new String[]{CHKJ2462+BEXT, CHKJ2462+MEXT});
- MESSAGE_IDS.put(CHKJ2463, new String[]{CHKJ2463+BEXT, CHKJ2463+MEXT});
- MESSAGE_IDS.put(CHKJ2464, new String[]{CHKJ2464+BEXT, CHKJ2464+MEXT});
- MESSAGE_IDS.put(CHKJ2465, new String[]{CHKJ2465+BEXT, CHKJ2465+MEXT});
- MESSAGE_IDS.put(CHKJ2466, new String[]{CHKJ2466+BEXT, CHKJ2466+MEXT});
- MESSAGE_IDS.put(CHKJ2467, new String[]{CHKJ2467+BEXT, CHKJ2467+MEXT});
-
- MESSAGE_IDS.put(CHKJ2475, new String[]{CHKJ2475+BEXT, CHKJ2475+MEXT});
- MESSAGE_IDS.put(CHKJ2477, new String[]{CHKJ2477+BEXT, CHKJ2477+MEXT});
- MESSAGE_IDS.put(CHKJ2478, new String[]{CHKJ2478+BEXT, CHKJ2478+MEXT});
- MESSAGE_IDS.put(CHKJ2479, new String[]{CHKJ2479+BEXT, CHKJ2479+MEXT});
-
- MESSAGE_IDS.put(CHKJ2495, new String[]{CHKJ2495+BEXT, CHKJ2495+MEXT});
-
- MESSAGE_IDS.put(CHKJ2500_home, new String[]{CHKJ2500_home+BEXT, CHKJ2500_home+MEXT});
- MESSAGE_IDS.put(CHKJ2500_create, new String[]{CHKJ2500_create+BEXT, CHKJ2500_create+MEXT});
- MESSAGE_IDS.put(CHKJ2500_find, new String[]{CHKJ2500_find+BEXT, CHKJ2500_find+MEXT});
- MESSAGE_IDS.put(CHKJ2502_ejbSelect, new String[]{CHKJ2502_ejbSelect+BEXT, CHKJ2502_ejbSelect+MEXT});
- MESSAGE_IDS.put(CHKJ2503_create, new String[]{CHKJ2503_create+BEXT, CHKJ2503_create+MEXT});
- MESSAGE_IDS.put(CHKJ2503_find, new String[]{CHKJ2503_find+BEXT, CHKJ2503_find+MEXT});
- MESSAGE_IDS.put(CHKJ2503_home, new String[]{CHKJ2503_home+BEXT, CHKJ2503_home+MEXT});
- MESSAGE_IDS.put(CHKJ2504_create, new String[]{CHKJ2504_create+BEXT, CHKJ2504_create+MEXT});
- MESSAGE_IDS.put(CHKJ2504_find, new String[]{CHKJ2504_find+BEXT, CHKJ2504_find+MEXT});
- MESSAGE_IDS.put(CHKJ2504_home, new String[]{CHKJ2504_home+BEXT, CHKJ2504_home+MEXT});
-
- MESSAGE_IDS.put(CHKJ2907, new String[]{CHKJ2907});
- }
-
- public final long[] getBaseTypes() {
- return getSupertypes();
- }
-
- public final Map getMessageIds() {
- return MESSAGE_IDS;
- }
-
- public final int getMessageRemoteExceptionSeverity() {
- return MESSAGE_REMOTE_EXCEPTION_SEVERITY;
- }
-
- public final Object[] getDependsOn() {
- return DEPENDS_ON;
- }
-
- public final Object getId() {
- return ID;
- }
-
- public final long[] getSupertypes() {
- return SUPERTYPES;
- }
-
- public final long[] getShouldNotBeSupertypes() {
- return SHOULD_NOT_BE_SUPERTYPES;
- }
-
- public final int isRemote() {
- return IS_REMOTE;
- }
-
- public final long[] getMethodsWhichMustExist() {
- return METHODS_WHICH_MUST_EXIST;
- }
-
- public final long[] getMethodsWhichMustNotExist() {
- return METHODS_WHICH_MUST_NOT_EXIST;
- }
-
- public final long[] getKnownMethodTypes() {
- return KNOWN_METHOD_TYPES;
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/CMPRemoteComponentVRule.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/CMPRemoteComponentVRule.java
deleted file mode 100644
index 2edf00ae9..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/CMPRemoteComponentVRule.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaHelpers;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jst.j2ee.ejb.CMRField;
-import org.eclipse.jst.j2ee.ejb.ContainerManagedEntity;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-
-/**
- * @version 1.0
- * @author
- */
-public final class CMPRemoteComponentVRule extends AComponentVRule implements IRemoteType, IComponentType, IMessagePrefixEjb20Constants {
- private static final Object ID = IValidationRuleList.EJB20_CMP_REMOTE;
- private static final Object[] DEPENDS_ON = new Object[]{IValidationRuleList.EJB20_CMP_BEANCLASS};
- private static final Map MESSAGE_IDS;
-
- private static final String MSSGID = ".crc"; // In messages, to identify which message version belongs to the BMP bean class, this id is used. //$NON-NLS-1$
- private static final String EXT = MSSGID + SPEC; // Extension to be used on non-method, non-field messages
- private static final String BEXT = MSSGID + ON_BASE_SPEC; // Extension to be used on a method/field message when the method/field is inherited from a base type
- private static final String MEXT = MSSGID + ON_THIS_SPEC; // Extension to be used on a method/field message when the method/field is implemented on the current type
-
- private final long[] SUPERTYPES = new long[]{JAVAX_EJB_EJBOBJECT};
- private final long[] SHOULD_NOT_BE_SUPERTYPES = null;
-
- private final long[] METHODS_WHICH_MUST_EXIST = null;
- private static final long[] METHODS_WHICH_MUST_NOT_EXIST = new long[]{EJBSELECT};
-
- private final long[] KNOWN_METHOD_TYPES = new long[]{CLINIT, EJBSELECT}; // Must know EJBSELECT to check that it's not exposed on this interface
-
- static {
- MESSAGE_IDS = new HashMap();
-
- MESSAGE_IDS.put(CHKJ2017, new String[]{CHKJ2017+EXT});
-
- MESSAGE_IDS.put(CHKJ2023, new String[]{CHKJ2023+BEXT, CHKJ2023+MEXT});
-
- MESSAGE_IDS.put(CHKJ2404, new String[]{CHKJ2404+ON_BASE_SPEC, CHKJ2404+ON_THIS_SPEC}); // special case (shared by all types)
-
- MESSAGE_IDS.put(CHKJ2105, new String[]{CHKJ2105+SPEC});
- MESSAGE_IDS.put(CHKJ2416, new String[]{CHKJ2416+ON_BASE_SPEC, CHKJ2416+ON_THIS_SPEC}); // special case (shared by all types)
-
- MESSAGE_IDS.put(CHKJ2433, new String[]{CHKJ2433});
-
- MESSAGE_IDS.put(CHKJ2468, new String[]{CHKJ2468+BEXT, CHKJ2468+MEXT});
- MESSAGE_IDS.put(CHKJ2469, new String[]{CHKJ2469+BEXT, CHKJ2469+MEXT});
-
- MESSAGE_IDS.put(CHKJ2470, new String[]{CHKJ2470+BEXT, CHKJ2470+MEXT});
- MESSAGE_IDS.put(CHKJ2471, new String[]{CHKJ2471+BEXT, CHKJ2471+MEXT});
- MESSAGE_IDS.put(CHKJ2472, new String[]{CHKJ2472+BEXT, CHKJ2472+MEXT});
- MESSAGE_IDS.put(CHKJ2473, new String[]{CHKJ2473+BEXT, CHKJ2473+MEXT});
- MESSAGE_IDS.put(CHKJ2474, new String[]{CHKJ2474+BEXT, CHKJ2474+MEXT});
-
- MESSAGE_IDS.put(CHKJ2500_business, new String[]{CHKJ2500_business+BEXT, CHKJ2500_business+MEXT});
- MESSAGE_IDS.put(CHKJ2500_create, new String[]{CHKJ2500_create+BEXT, CHKJ2500_create+MEXT});
- MESSAGE_IDS.put(CHKJ2500_home, new String[]{CHKJ2500_home+BEXT, CHKJ2500_home+MEXT});
- MESSAGE_IDS.put(CHKJ2502_ejbSelect, new String[]{CHKJ2502_ejbSelect+BEXT, CHKJ2502_ejbSelect+MEXT});
- MESSAGE_IDS.put(CHKJ2503_bus, new String[]{CHKJ2503_bus+BEXT, CHKJ2503_bus+MEXT});
-
- MESSAGE_IDS.put(CHKJ2907, new String[]{CHKJ2907});
- }
-
- public final Map getMessageIds() {
- return MESSAGE_IDS;
- }
-
- public final int getMessageRemoteExceptionSeverity() {
- return MESSAGE_REMOTE_EXCEPTION_SEVERITY;
- }
-
- public final Object[] getDependsOn() {
- return DEPENDS_ON;
- }
-
- public final Object getId() {
- return ID;
- }
-
- public final long[] getBaseTypes() {
- return getSupertypes();
- }
-
- public final long[] getSupertypes() {
- return SUPERTYPES;
- }
-
- public final long[] getShouldNotBeSupertypes() {
- return SHOULD_NOT_BE_SUPERTYPES;
- }
-
-
- public final int isRemote() {
- return IS_REMOTE;
- }
-
- public final long[] getMethodsWhichMustExist() {
- return METHODS_WHICH_MUST_EXIST;
- }
-
- public final long[] getMethodsWhichMustNotExist() {
- return METHODS_WHICH_MUST_NOT_EXIST;
- }
-
- public final long[] getKnownMethodTypes() {
- return KNOWN_METHOD_TYPES;
- }
-
- public void validate(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws ValidationCancelledException, InvalidInputException, ValidationException {
- super.validate(vc, bean, clazz);
-
- ContainerManagedEntity cmp = (ContainerManagedEntity)bean;
-
- // 10.3.1, container-managed persistent fields and container-managed relationship
- // fields must *not* be defined in the entity bean class.
- List cmrFields = cmp.getCMRFields();
- Iterator iterator = cmrFields.iterator();
- while(iterator.hasNext()) {
- CMRField cmrField = (CMRField)iterator.next();
- if((cmrField != null) && (!cmrField.isDerived())) {
-
- JavaHelpers localType = ValidationRuleUtility.getCMRFieldType(vc, cmp, clazz, cmrField);
- if(localType == null) {
- // user made a mistake in ejb-jar.xml by trying to create a relation
- // to a CMP which doesn't have a local interface.
- // Don't report an error here; let the DD validation report the error.
- continue;
- }
-
- // Cannot expose get/set methods of CMR fields on the remote home or interface
- Method remoteGetMethod = ValidationRuleUtility.getMethodExtended(clazz, cmrField.getGetterName(), new JavaHelpers[0], localType);
- if(remoteGetMethod != null) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2473, IEJBValidationContext.WARNING, cmp, clazz, remoteGetMethod, new String[]{cmrField.getGetterName()}, this);
- vc.addMessage(message);
- }
-
- JavaHelpers[] setMethodParms = new JavaHelpers[]{localType};
- Method remoteSetMethod = ValidationRuleUtility.getMethodExtended(clazz, cmrField.getSetterName(), setMethodParms);
- if(remoteSetMethod != null) {
- String setterName = cmrField.getSetterName() + "(" + ValidationRuleUtility.getParmsAsString(setMethodParms) + ")"; //$NON-NLS-1$ //$NON-NLS-2$
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2473, IEJBValidationContext.WARNING, cmp, clazz, remoteSetMethod, new String[]{setterName}, this);
- vc.addMessage(message);
- }
- }
- }
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/CMPRemoteHomeVRule.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/CMPRemoteHomeVRule.java
deleted file mode 100644
index f40ec25d1..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/CMPRemoteHomeVRule.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import java.util.HashMap;
-import java.util.Map;
-
-
-
-/**
- * @version 1.0
- * @author
- */
-public final class CMPRemoteHomeVRule extends ACMPHomeVRule implements IRemoteType, IHomeType, IMessagePrefixEjb20Constants {
- private static final Object ID = IValidationRuleList.EJB20_CMP_HOME;
- private static final Object[] DEPENDS_ON = new Object[]{IValidationRuleList.EJB20_CMP_BEANCLASS, IValidationRuleList.EJB20_CMP_KEYCLASS, IValidationRuleList.EJB20_EJBEXT};
- private static final Map MESSAGE_IDS;
-
- private static final String MSSGID = ".crh"; // In messages, to identify which message version belongs to the BMP bean class, this id is used. //$NON-NLS-1$
- private static final String EXT = MSSGID + SPEC; // Extension to be used on non-method, non-field messages
- private static final String BEXT = MSSGID + ON_BASE_SPEC; // Extension to be used on a method/field message when the method/field is inherited from a base type
- private static final String MEXT = MSSGID + ON_THIS_SPEC; // Extension to be used on a method/field message when the method/field is implemented on the current type
-
- private final long[] SUPERTYPES = new long[]{JAVAX_EJB_EJBHOME};
- private final long[] SHOULD_NOT_BE_SUPERTYPES = null;
-
- private final long[] METHODS_WHICH_MUST_EXIST = new long[]{FINDBYPRIMARYKEY, FIND};
- private final long[] METHODS_WHICH_MUST_NOT_EXIST = new long[]{EJBSELECT};
-
- private final long[] KNOWN_METHOD_TYPES = new long[]{CLINIT, CREATE, FINDBYPRIMARYKEY, FIND, HOME, EJBSELECT}; // Must know EJBSELECT to check that it's not exposed on this interface
-
- static {
- MESSAGE_IDS = new HashMap();
-
- MESSAGE_IDS.put(CHKJ2017, new String[]{CHKJ2017+EXT});
-
- MESSAGE_IDS.put(CHKJ2040, new String[]{CHKJ2040+EXT});
-
- MESSAGE_IDS.put(CHKJ2050_findByPrimaryKey, new String[]{CHKJ2050_findByPrimaryKey+EXT});
- MESSAGE_IDS.put(CHKJ2050_find, new String[]{CHKJ2050_find+EXT});
-
- MESSAGE_IDS.put(CHKJ2104, new String[]{CHKJ2104+SPEC});
- MESSAGE_IDS.put(CHKJ2402, new String[]{CHKJ2402+BEXT, CHKJ2402+MEXT});
- MESSAGE_IDS.put(CHKJ2403, new String[]{CHKJ2403+BEXT, CHKJ2403+MEXT});
- MESSAGE_IDS.put(CHKJ2404, new String[]{CHKJ2404+ON_BASE_SPEC, CHKJ2404+ON_THIS_SPEC}); // special case (shared by all types)
-
- MESSAGE_IDS.put(CHKJ2416, new String[]{CHKJ2416+ON_BASE_SPEC, CHKJ2416+ON_THIS_SPEC}); // special case (shared by all types)
-
- MESSAGE_IDS.put(CHKJ2433, new String[]{CHKJ2433});
-
- MESSAGE_IDS.put(CHKJ2461, new String[]{CHKJ2461+BEXT, CHKJ2461+MEXT});
- MESSAGE_IDS.put(CHKJ2462, new String[]{CHKJ2462+BEXT, CHKJ2462+MEXT});
- MESSAGE_IDS.put(CHKJ2463, new String[]{CHKJ2463+BEXT, CHKJ2463+MEXT});
- MESSAGE_IDS.put(CHKJ2464, new String[]{CHKJ2464+BEXT, CHKJ2464+MEXT});
- MESSAGE_IDS.put(CHKJ2465, new String[]{CHKJ2465+BEXT, CHKJ2465+MEXT});
- MESSAGE_IDS.put(CHKJ2466, new String[]{CHKJ2466+BEXT, CHKJ2466+MEXT});
- MESSAGE_IDS.put(CHKJ2467, new String[]{CHKJ2467+BEXT, CHKJ2467+MEXT});
-
- MESSAGE_IDS.put(CHKJ2475, new String[]{CHKJ2475+BEXT, CHKJ2475+MEXT});
- MESSAGE_IDS.put(CHKJ2477, new String[]{CHKJ2477+BEXT, CHKJ2477+MEXT});
- MESSAGE_IDS.put(CHKJ2478, new String[]{CHKJ2478+BEXT, CHKJ2478+MEXT});
- MESSAGE_IDS.put(CHKJ2479, new String[]{CHKJ2479+BEXT, CHKJ2479+MEXT});
-
- MESSAGE_IDS.put(CHKJ2495, new String[]{CHKJ2495+BEXT, CHKJ2495+MEXT});
-
- MESSAGE_IDS.put(CHKJ2500_home, new String[]{CHKJ2500_home+BEXT, CHKJ2500_home+MEXT});
- MESSAGE_IDS.put(CHKJ2500_create, new String[]{CHKJ2500_create+BEXT, CHKJ2500_create+MEXT});
- MESSAGE_IDS.put(CHKJ2500_find, new String[]{CHKJ2500_find+BEXT, CHKJ2500_find+MEXT});
- MESSAGE_IDS.put(CHKJ2502_ejbSelect, new String[]{CHKJ2502_ejbSelect+BEXT, CHKJ2502_ejbSelect+MEXT});
- MESSAGE_IDS.put(CHKJ2503_create, new String[]{CHKJ2503_create+BEXT, CHKJ2503_create+MEXT});
- MESSAGE_IDS.put(CHKJ2503_find, new String[]{CHKJ2503_find+BEXT, CHKJ2503_find+MEXT});
- MESSAGE_IDS.put(CHKJ2503_home, new String[]{CHKJ2503_home+BEXT, CHKJ2503_home+MEXT});
- MESSAGE_IDS.put(CHKJ2504_create, new String[]{CHKJ2504_create+BEXT, CHKJ2504_create+MEXT});
- MESSAGE_IDS.put(CHKJ2504_find, new String[]{CHKJ2504_find+BEXT, CHKJ2504_find+MEXT});
- MESSAGE_IDS.put(CHKJ2504_home, new String[]{CHKJ2504_home+BEXT, CHKJ2504_home+MEXT});
-
- MESSAGE_IDS.put(CHKJ2907, new String[]{CHKJ2907});
- }
-
- public final long[] getBaseTypes() {
- return getSupertypes();
- }
-
- public final Map getMessageIds() {
- return MESSAGE_IDS;
- }
-
- public final int getMessageRemoteExceptionSeverity() {
- return MESSAGE_REMOTE_EXCEPTION_SEVERITY;
- }
-
- public final Object[] getDependsOn() {
- return DEPENDS_ON;
- }
-
- public final Object getId() {
- return ID;
- }
-
- public final long[] getSupertypes() {
- return SUPERTYPES;
- }
-
- public final long[] getShouldNotBeSupertypes() {
- return SHOULD_NOT_BE_SUPERTYPES;
- }
-
- public final int isRemote() {
- return IS_REMOTE;
- }
-
- public final long[] getMethodsWhichMustExist() {
- return METHODS_WHICH_MUST_EXIST;
- }
-
- public final long[] getMethodsWhichMustNotExist() {
- return METHODS_WHICH_MUST_NOT_EXIST;
- }
-
- public final long[] getKnownMethodTypes() {
- return KNOWN_METHOD_TYPES;
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ClassUtility.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ClassUtility.java
deleted file mode 100644
index 62b3fc4dc..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ClassUtility.java
+++ /dev/null
@@ -1,304 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-
-import java.util.Arrays;
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaHelpers;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.jst.j2ee.internal.ejb.EjbPackage;
-
-
-public final class ClassUtility {
- public static long supertype_counter = 0x1; // used by IMethodAndFieldConstants.java
- private long[] _classTypeIndex;
- private AClassType[] _classNames;
-
- private abstract class AClassType {
- public abstract String getName(EnterpriseBean bean) throws InvalidInputException;
- public abstract long getId();
-
- public JavaHelpers getClass(EnterpriseBean bean) throws InvalidInputException {
- return ValidationRuleUtility.getType(getName(bean), bean);
- }
-
- /**
- * Is this class type equal to the clazz parameter.
- */
- public boolean equals(EnterpriseBean bean, JavaClass clazz) throws InvalidInputException {
- if(clazz == null) {
- return false;
- }
-
- JavaHelpers thisClass = getClass(bean);
- if(thisClass == null) {
- return false;
- }
-
- return clazz.equals(thisClass);
- }
- }
-
- private static ClassUtility _inst = null;
-
- private ClassUtility() {
- buildTypeList();
- }
-
- public static ClassUtility getUtility() {
- if(_inst == null) {
- _inst = new ClassUtility();
- }
- return _inst;
- }
-
- /**
- * Return true if the clazz is the same as the class, identified by the "type"
- * parameter, in the bean.
- */
- public boolean isClassType(EnterpriseBean bean, JavaClass clazz, long type) throws InvalidInputException {
- AClassType ct = getClassType(type);
- if(ct == null) {
- // Unknown type
- return false;
- }
-
- return ct.equals(bean, clazz);
- }
-
- public String getClassName(EnterpriseBean bean, long type) throws InvalidInputException {
- AClassType ct = getClassType(type);
- if(ct == null) {
- return null;
- }
-
- return ct.getName(bean);
- }
-
- public AClassType getClassType(long type) {
- int index = Arrays.binarySearch(_classTypeIndex, type);
- if(index > _classNames.length) {
- return null;
- }
-
- if(index < 0) {
- return null;
- }
-
- if(_classNames[index].getId() != type) {
- return null;
- }
-
- return _classNames[index];
- }
-
- public JavaHelpers getSupertype(EnterpriseBean bean, long type) throws InvalidInputException {
- AClassType ct = getClassType(type);
- if(ct == null) {
- // No supertype
- return null;
- }
-
- return ct.getClass(bean);
- }
-
- private void buildTypeList() {
- int typeCount = 12; // This is the number of identifiable classes in ITypeConstants
- _classTypeIndex = new long[typeCount];
- _classNames = new AClassType[typeCount];
- int count = 0;
-
- // The index of the type in the long[] is equal to the
- // index of the IMethodType in the IMethodType[]. By using
- // this technique instead of a HashMap, we don't need to
- // create an Integer every time we need to locate the
- // IMethodType.
- _classTypeIndex[count] = ITypeConstants.LOCAL_COMPONENT_INTERFACE;
- _classNames[count++] = new AClassType() {
- public String getName(EnterpriseBean bean) {
- JavaHelpers clazz = getClass(bean);
- if(clazz == null) {
- return null;
- }
- return clazz.getQualifiedName();
- }
-
- public long getId() {
- return ITypeConstants.LOCAL_COMPONENT_INTERFACE;
- }
-
- public JavaHelpers getClass(EnterpriseBean bean) {
- if(bean == null) {
- return null;
- }
-
- if(bean.eIsSet(EjbPackage.eINSTANCE.getEnterpriseBean_LocalInterface())) {
- JavaClass result = bean.getLocalInterface();
- try {
- ValidationRuleUtility.isValidTypeHierarchy(bean, result);
- }
- catch(InvalidInputException e) {
- return null;
- }
- return result;
- }
-
- return null;
- }
- };
-
- _classTypeIndex[count] = ITypeConstants.REMOTE_COMPONENT_INTERFACE;
- _classNames[count++] = new AClassType() {
- public String getName(EnterpriseBean bean) {
- JavaHelpers clazz = getClass(bean);
- if(clazz == null) {
- return null;
- }
- return clazz.getQualifiedName();
- }
-
- public long getId() {
- return ITypeConstants.REMOTE_COMPONENT_INTERFACE;
- }
-
- public JavaHelpers getClass(EnterpriseBean bean) {
- if(bean == null) {
- return null;
- }
-
- if(bean.eIsSet(EjbPackage.eINSTANCE.getEnterpriseBean_RemoteInterface())) {
- JavaClass result = bean.getRemoteInterface();
- try {
- ValidationRuleUtility.isValidTypeHierarchy(bean, result);
- }
- catch(InvalidInputException e) {
- return null;
- }
- return result;
- }
-
- return null;
- }
- };
-
- _classTypeIndex[count] = ITypeConstants.JAVAX_EJB_ENTITYBEAN;
- _classNames[count++] = new AClassType() {
- public String getName(EnterpriseBean bean) {
- return ITypeConstants.CLASSNAME_JAVAX_EJB_ENTITYBEAN;
- }
-
- public long getId() {
- return ITypeConstants.JAVAX_EJB_ENTITYBEAN;
- }
- };
-
- _classTypeIndex[count] = ITypeConstants.JAVAX_EJB_EJBLOCALHOME;
- _classNames[count++] = new AClassType() {
- public String getName(EnterpriseBean bean) {
- return ITypeConstants.CLASSNAME_JAVAX_EJB_EJBLOCALHOME;
- }
-
- public long getId() {
- return ITypeConstants.JAVAX_EJB_EJBLOCALHOME;
- }
- };
-
- _classTypeIndex[count] = ITypeConstants.JAVAX_EJB_EJBLOCALOBJECT;
- _classNames[count++] = new AClassType() {
- public String getName(EnterpriseBean bean) {
- return ITypeConstants.CLASSNAME_JAVAX_EJB_EJBLOCALOBJECT;
- }
-
- public long getId() {
- return ITypeConstants.JAVAX_EJB_EJBLOCALOBJECT;
- }
- };
-
- _classTypeIndex[count] = ITypeConstants.JAVAX_EJB_EJBHOME;
- _classNames[count++] = new AClassType() {
- public String getName(EnterpriseBean bean) {
- return ITypeConstants.CLASSNAME_JAVAX_EJB_EJBHOME;
- }
-
- public long getId() {
- return ITypeConstants.JAVAX_EJB_EJBHOME;
- }
- };
-
- _classTypeIndex[count] = ITypeConstants.JAVAX_EJB_EJBOBJECT;
- _classNames[count++] = new AClassType() {
- public String getName(EnterpriseBean bean) {
- return ITypeConstants.CLASSNAME_JAVAX_EJB_EJBOBJECT;
- }
-
- public long getId() {
- return ITypeConstants.JAVAX_EJB_EJBOBJECT;
- }
- };
-
- _classTypeIndex[count] = ITypeConstants.JAVA_LANG_OBJECT;
- _classNames[count++] = new AClassType() {
- public String getName(EnterpriseBean bean) {
- return ITypeConstants.CLASSNAME_JAVA_LANG_OBJECT;
- }
-
- public long getId() {
- return ITypeConstants.JAVA_LANG_OBJECT;
- }
- };
-
- _classTypeIndex[count] = ITypeConstants.JAVAX_EJB_MESSAGEDRIVENBEAN;
- _classNames[count++] = new AClassType() {
- public String getName(EnterpriseBean bean) {
- return ITypeConstants.CLASSNAME_JAVAX_EJB_MESSAGEDRIVENBEAN;
- }
-
- public long getId() {
- return ITypeConstants.JAVAX_EJB_MESSAGEDRIVENBEAN;
- }
- };
-
- _classTypeIndex[count] = ITypeConstants.JAVAX_JMS_MESSAGELISTENER;
- _classNames[count++] = new AClassType() {
- public String getName(EnterpriseBean bean) {
- return ITypeConstants.CLASSNAME_JAVAX_JMS_MESSAGELISTENER;
- }
-
- public long getId() {
- return ITypeConstants.JAVAX_JMS_MESSAGELISTENER;
- }
- };
-
- _classTypeIndex[count] = ITypeConstants.JAVAX_EJB_SESSIONBEAN;
- _classNames[count++] = new AClassType() {
- public String getName(EnterpriseBean bean) {
- return ITypeConstants.CLASSNAME_JAVAX_EJB_SESSIONBEAN;
- }
-
- public long getId() {
- return ITypeConstants.JAVAX_EJB_SESSIONBEAN;
- }
- };
-
- _classTypeIndex[count] = ITypeConstants.JAVAX_EJB_SESSIONSYNCHRONIZATION;
- _classNames[count++] = new AClassType() {
- public String getName(EnterpriseBean bean) {
- return ITypeConstants.CLASSNAME_JAVAX_EJB_SESSIONSYNCHRONIZATION;
- }
-
- public long getId() {
- return ITypeConstants.JAVAX_EJB_SESSIONSYNCHRONIZATION;
- }
- };
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ConnectorMessageConstants.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ConnectorMessageConstants.java
deleted file mode 100644
index 890d48215..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ConnectorMessageConstants.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-/*
- * Created on Jan 22, 2004
- *
- * To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-package org.eclipse.jst.j2ee.model.internal.validation;
-
-
-/**
- * To change the template for this generated type comment go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-public interface ConnectorMessageConstants extends J2EEMessageConstants {
- public static final String DOCTYPE_1_3 = "1.0"; //$NON-NLS-1$
- public static final String DOCTYPE_1_4 = "1.5"; //$NON-NLS-1$
- public static final String CONNECTOR_MODEL_NAME = "CONNECTOR_VALIDATION"; //$NON-NLS-1$
- public static final String CONNECTOR_INVALID_DOC_TYPE_ERROR_ = "CONNECTOR_INVALID_DOC_TYPE_ERROR_"; //$NON-NLS-1$
- public static final String ERROR_INVALID_CONNECTOR_FILE = "ERROR_INVALID_CONNECTOR_FILE"; //$NON-NLS-1$
- public static final String ERROR_CONNECTOR_VALIDATION_FAILED = "ERROR_CONNECTOR_VALIDATION_FAILED"; //$NON-NLS-1$
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ConnectorValidator.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ConnectorValidator.java
deleted file mode 100644
index da245953d..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ConnectorValidator.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-/*
- * Created on Jan 22, 2004
- *
- * To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-package org.eclipse.jst.j2ee.model.internal.validation;
-
-import org.eclipse.jst.j2ee.commonarchivecore.internal.RARFile;
-import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
-import org.eclipse.jst.j2ee.jca.Connector;
-import org.eclipse.wst.validation.internal.core.Message;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.IReporter;
-import org.eclipse.wst.validation.internal.provisional.core.IValidationContext;
-
-
-/**
- * To change the template for this generated type comment go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-public class ConnectorValidator extends J2EEValidator implements ConnectorMessageConstants {
- protected RARFile rarFile;
- protected Connector connectorDD;
- /**
- *
- */
- public ConnectorValidator() {
- super();
- }
- /* (non-Javadoc)
- * @see org.eclipse.jst.j2ee.internal.model.validation.J2EEValidator#getBaseName()
- */
- public String getBaseName() {
- return "rarvalidation"; //$NON-NLS-1$
- }
- /**
- * @return Returns the connectorDD.
- */
- protected Connector getConnectorDD() {
- return connectorDD;
- }
-
- /**
- * @param connectorDD The connectorDD to set.
- */
- protected void setConnectorDD(Connector connectorDD) {
- this.connectorDD = connectorDD;
- }
-
- /**
- * @return Returns the rarFile.
- */
- protected RARFile getRarFile() {
- return rarFile;
- }
-
- /**
- * @param rarFile The rarFile to set.
- */
- protected void setRarFile(RARFile rarFile) {
- this.rarFile = rarFile;
- }
-
- /**
- * Does the validation.
- *
- * @throws ValidationException
- */
- public void validate(IValidationContext inHelper, IReporter inReporter) throws ValidationException {
- super.validate(inHelper, inReporter);
-
- // First remove all previous msg. for this project
- _reporter.removeAllMessages(this, null); // Note the WarHelper will return web.xml with a null object as well
-
- try {
- setRarFile((RARFile) inHelper.loadModel(CONNECTOR_MODEL_NAME));
- if (rarFile != null) {
- setConnectorDD( rarFile.getDeploymentDescriptor() );
- //validateJ2EE14DocType();
- } else {
- IMessage errorMsg = new Message(getBaseName(), IMessage.HIGH_SEVERITY, ERROR_INVALID_CONNECTOR_FILE);
- throw new ValidationException(errorMsg);
- }
-
- } catch (ValidationException ex) {
- throw ex;
- } catch (Exception e) {
- IMessage errorMsg = new Message(getBaseName(), IMessage.HIGH_SEVERITY, ERROR_CONNECTOR_VALIDATION_FAILED);
- throw new ValidationException(errorMsg, e);
- }
- }
-
- protected void validateJ2EE14DocType() {
-
- if ( getConnectorDD().getVersionID() < J2EEVersionConstants.JCA_1_5_ID) {
- String[] params = new String[3];
- params[0] = DOCTYPE_1_4;
- //params[1] = helper.getProject().getName();
- params[2] = DOCTYPE_1_3;
- addError(getBaseName(), CONNECTOR_INVALID_DOC_TYPE_ERROR_, params);
- } else if (getConnectorDD().getVersionID() != J2EEVersionConstants.JCA_1_0_ID) {
- String[] params = new String[3];
- params[0] = DOCTYPE_1_3;
- //params[1] = helper.getProject().getName();
- params[2] = DOCTYPE_1_4;
- addError(getBaseName(), CONNECTOR_INVALID_DOC_TYPE_ERROR_, params);
- }// if
- }// validateDocTypeVsNature
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/DuplicatesTable.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/DuplicatesTable.java
deleted file mode 100644
index 3bd98fe67..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/DuplicatesTable.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * In some places in the code, it is necessary to find out if there
- * are duplicates in a list, and if there are, to register a validation
- * message against the duplicates. This class is used to make finding
- * the duplicates easier.
- */
-public class DuplicatesTable extends java.util.HashMap {
- protected static final Boolean UNIQUE = Boolean.FALSE;
- protected static final Boolean DUPLICATE = Boolean.TRUE;
- protected Map _duplicates = null;
-
- /**
- * Add an object to this table; if the object is a duplicate, it will be
- * marked to a duplicate instead of being added twice to the table.
- */
- public void add(Object o) {
- // Build up hashtable to check for duplicate elements.
- Object key = get(o);
- if (key == null) {
- put(o, UNIQUE);
- }
- else {
- saveDuplicate(o);
- put(o, DUPLICATE);
- }
- }
-
- protected void saveDuplicate(Object o) {
- // The given object has been marked a duplicate.
- // Given that the HashMap can store only one object with the key,
- // duplicates are overwritten. This method stores the duplicates
- // elsewhere in a List.
- if (_duplicates == null) {
- _duplicates = new HashMap();
- }
-
- List dupList = (List) _duplicates.get(o);
- if (dupList == null) {
- dupList = new ArrayList();
- }
-
- dupList.add(o);
- _duplicates.put(o, dupList);
- }
-
- /**
- * If there are duplicates in this table, return true; else, return false.
- */
- public boolean containsDuplicates() {
- return containsValue(DUPLICATE);
- }
-
- /**
- * If there are unique elements in this table, return true; else, return false.
- */
- public boolean containsUniques() {
- return containsValue(UNIQUE);
- }
-
- /**
- * If there are duplicates in this table, return a set of the duplicates.
- * Otherwise, return an empty set.
- */
- public List getDuplicates() {
- if (!containsDuplicates()) {
- return Collections.EMPTY_LIST;
- }
-
- // Else, get the duplicate elements from the list
- return getElements(DUPLICATE);
- }
-
- /**
- * If there are duplicates in this table, return a list of the duplicates.
- * Otherwise, return an empty list.
- */
- private List getElements(Boolean type) {
- if (type == null) {
- return Collections.EMPTY_LIST;
- }
-
- // Else, get the duplicate elements from the list
- Set keys = keySet();
- if (keys == null) {
- return Collections.EMPTY_LIST;
- }
-
- List elements = new ArrayList();
- Iterator iterator = keys.iterator();
- while (iterator.hasNext()) {
- Object key = iterator.next();
- Object value = get(key);
- if (value == type) {
- elements.add(key);
- }
- }
-
- if (type == DUPLICATE) {
- // Also add the elements from the "duplicates" list.
- if (_duplicates != null) {
- iterator = _duplicates.values().iterator();
- while (iterator.hasNext()) {
- List dupList = (List) iterator.next();
- elements.addAll(dupList);
- }
- }
- }
-
- return elements;
- }
-
- /**
- * If there are unique elements in this table, return a set of the unique elements.
- * Otherwise, return an empty set.
- */
- public List getUniques() {
- if (!containsUniques()) {
- return Collections.EMPTY_LIST;
- }
-
- // Else, get the unique elements from the list
- return getElements(UNIQUE);
- }
-
- public void clear() {
- super.clear();
- if(_duplicates != null) {
- _duplicates.clear();
- }
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/EARMessageConstants.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/EARMessageConstants.java
deleted file mode 100644
index 6abe0bc2b..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/EARMessageConstants.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-
-
-
-/**
- * Message key constants for WAR validation.
- */
-public interface EARMessageConstants extends J2EEMessageConstants {
- public static final String EAR_VALIDATOR_ID = "EAR_VALIDATOR"; //$NON-NLS-1$
- public static final String EAR_MODEL_NAME = "EAR_VALIDATION"; //$NON-NLS-1$
- public static final String ERROR_EAR_VALIDATION_FAILED = "ERROR_EAR_VALIDATION_FAILED"; //$NON-NLS-1$
- public static final String ERROR_EAR_INVALID_EAR_FILE = "ERROR_EAR_INVALID_EAR_FILE"; //$NON-NLS-1$
- public static final String ERROR_EAR_DUPLICATE_ROLES = "ERROR_EAR_DUPLICATE_ROLES"; //$NON-NLS-1$
- public static final String MESSAGE_EAR_NO_MODULE_URI = "MESSAGE_EAR_NO_MODULE_URI"; //$NON-NLS-1$
- public static final String MESSAGE_EAR_MISSING_URI = "MESSAGE_EAR_MISSING_URI"; //$NON-NLS-1$
- public static final String EAR_DD_PARSE_LINECOL = "EAR_DD_PARSE_LINECOL"; //$NON-NLS-1$
-
- public static final String MODULE_DD_PARSE_LINECOL = "MODULE_DD_PARSE_LINECOL_ERROR_"; //$NON-NLS-1$
- public static final String MODULE_DD_PARSE_NOINFO = "MODULE_DD_PARSE_NOINFO_ERROR_"; //$NON-NLS-1$
- public static final String MODULE_DD_PARSE_LINE = "MODULE_DD_PARSE_LINE_ERROR_"; //$NON-NLS-1$
- public static final String EAR_DD_PARSE_LINE = "EAR_DD_PARSE_LINE"; //$NON-NLS-1$
- public static final String EAR_DD_CANNOT_OPEN_DD = "EAR_DD_CANNOT_OPEN_DD"; //$NON-NLS-1$
- public static final String EAR_DD_PARSE_NOINFO = "EAR_DD_PARSE_NOINFO"; //$NON-NLS-1$
-
- public static final String MESSAGE_EAR_DUPLICATE_URI_ERROR_ = "MESSAGE_EAR_DUPLICATE_URI_ERROR_"; //$NON-NLS-1$
- public static final String MESSAGE_INVALID_ALT_DD_WARN_ = "MESSAGE_INVALID_ALT_DD_WARN_"; //$NON-NLS-1$
- public static final String MESSAGE_EMPTY_ALT_DD_ERROR_ = "MESSAGE_EMPTY_ALT_DD_ERROR_"; //$NON-NLS-1$
- public static final String UNRESOLVED_EJB_REF_WARN_= "UNRESOLVED_EJB_REF_WARN_"; //$NON-NLS-1$
- public static final String ERROR_READING_MANIFEST_ERROR_ = "ERROR_READING_MANIFEST_ERROR_"; //$NON-NLS-1$
- public static final String MANIFEST_LINE_EXCEEDS_LENGTH_ERROR_ = "MANIFEST_LINE_EXCEEDS_LENGTH_ERROR_"; //$NON-NLS-1$
- public static final String MANIFEST_LINE_END_ERROR_ = "MANIFEST_LINE_END_ERROR_"; //$NON-NLS-1$
- public static final String MESSAGE_EAR_DUPICATE_ROOTCONTEXT_ERROR_ = "MESSAGE_EAR_DUPICATE_ROOTCONTEXT_ERROR_"; //$NON-NLS-1$
- public static final String URI_CONTAINS_SPACES_ERROR_ = "URI_CONTAINS_SPACES_ERROR_"; //$NON-NLS-1$
- public static final String MESSAGE_INCOMPATIBLE_SPEC_WARNING_ = "MESSAGE_INCOMPATIBLE_SPEC_WARNING_"; //$NON-NLS-1$
- public static final String EJB_BEAN_EJB_LINK_INTEFACE_MISMATCH_ERROR_ = "EJB_BEAN_EJB_LINK_INTEFACE_MISMATCH_ERROR_"; //$NON-NLS-1$
- public static final String EAR_VALIDATION_INTERNAL_ERROR_UI_ ="EAR_VALIDATION_INTERNAL_ERROR_UI_"; //$NON-NLS-1$
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/EJBExt20VRule.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/EJBExt20VRule.java
deleted file mode 100644
index a7b7a05d3..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/EJBExt20VRule.java
+++ /dev/null
@@ -1,252 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.logging.Level;
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.util.logger.LogEntry;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jst.j2ee.ejb.EJBJar;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.jst.j2ee.ejb.Entity;
-import org.eclipse.jst.j2ee.ejb.MessageDriven;
-import org.eclipse.jst.j2ee.internal.ejb.EjbPackage;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.MessageLimitException;
-
-/**
- * Validate the WebSphere-specific implementation of non-spec features, such
- * as component inheritance.
- */
-public class EJBExt20VRule extends AValidationRule implements IMessagePrefixEjb20Constants {
- private static final Map MESSAGE_IDS;
- private static final Object[] DEPENDS_ON = new Object[]{IValidationRuleList.EJB20_STATELESS_SESSION_BEANCLASS, IValidationRuleList.EJB20_STATELESS_SESSION_REMOTE, IValidationRuleList.EJB20_STATELESS_SESSION_HOME, IValidationRuleList.EJB20_STATELESS_SESSION_LOCAL, IValidationRuleList.EJB20_STATELESS_SESSION_LOCALHOME, IValidationRuleList.EJB20_STATEFUL_SESSION_BEANCLASS, IValidationRuleList.EJB20_STATEFUL_SESSION_REMOTE, IValidationRuleList.EJB20_STATEFUL_SESSION_HOME, IValidationRuleList.EJB20_STATEFUL_SESSION_LOCAL, IValidationRuleList.EJB20_STATEFUL_SESSION_LOCALHOME, IValidationRuleList.EJB20_CMP_BEANCLASS, IValidationRuleList.EJB20_CMP_REMOTE, IValidationRuleList.EJB20_CMP_HOME, IValidationRuleList.EJB20_CMP_LOCAL, IValidationRuleList.EJB20_CMP_LOCALHOME, IValidationRuleList.EJB20_CMP_KEYCLASS, IValidationRuleList.EJB20_BMP_BEANCLASS, IValidationRuleList.EJB20_BMP_REMOTE, IValidationRuleList.EJB20_BMP_HOME, IValidationRuleList.EJB20_BMP_LOCAL, IValidationRuleList.EJB20_BMP_LOCALHOME, IValidationRuleList.EJB20_BMP_KEYCLASS, IValidationRuleList.EJB20_MESSAGE_BEANCLASS, IValidationRuleList.EJB20_EJBJAR};
-
- static {
- MESSAGE_IDS = new HashMap();
-
- MESSAGE_IDS.put(CHKJ2106, new String[]{CHKJ2106+SPEC});
- MESSAGE_IDS.put(CHKJ2849, new String[]{CHKJ2849+SPEC});
- MESSAGE_IDS.put(CHKJ2852, new String[]{CHKJ2852});
- }
-
- public Object[] getDependsOn() {
- return DEPENDS_ON;
- }
-
- public Object getId() {
- return IValidationRuleList.EJB20_EJBEXT;
- }
-
- public Map getMessageIds() {
- return MESSAGE_IDS;
- }
-
- public Object getTarget(Object parent, Object clazz) {
- return null;
- }
-
- /**
- * If the bean components (home interface, remote interface, bean class, and primary
- * key) can all be found and reflected, return true. Let the DDValidator
- * report the error message against the bean if one of these types doesn't reflect.
- */
- public boolean areBeanComponentsReflected(EnterpriseBean bean) {
- // Don't need to check if the bean is null, because this method will
- // not be called if it is.
- try {
- ValidationRuleUtility.isValidTypeHierarchy(bean, bean.getEjbClass());
- }
- catch (InvalidInputException exc) {
- return false;
- }
-
- if(bean instanceof MessageDriven) {
- // don't need to check the rest
- return true;
- }
-
- try {
- if(bean.eIsSet(EjbPackage.eINSTANCE.getEnterpriseBean_HomeInterface())) {
- ValidationRuleUtility.isValidTypeHierarchy(bean, bean.getHomeInterface());
- }
- }
- catch (InvalidInputException exc) {
- return false;
- }
-
- try {
- if(bean.eIsSet(EjbPackage.eINSTANCE.getEnterpriseBean_RemoteInterface())) {
- ValidationRuleUtility.isValidTypeHierarchy(bean, bean.getRemoteInterface());
- }
- }
- catch (InvalidInputException exc) {
- return false;
- }
-
- try {
- if(bean.eIsSet(EjbPackage.eINSTANCE.getEnterpriseBean_LocalHomeInterface())) {
- ValidationRuleUtility.isValidTypeHierarchy(bean, bean.getLocalHomeInterface());
- }
- }
- catch (InvalidInputException exc) {
- return false;
- }
-
- try {
- if(bean.eIsSet(EjbPackage.eINSTANCE.getEnterpriseBean_LocalInterface())) {
- ValidationRuleUtility.isValidTypeHierarchy(bean, bean.getLocalInterface());
- }
- }
- catch (InvalidInputException exc) {
- return false;
- }
-
- if (bean.isEntity()) {
- JavaClass primaryKey = ((Entity) bean).getPrimaryKey();
- try {
- if(((Entity)bean).eIsSet(EjbPackage.eINSTANCE.getEntity_PrimaryKey())) {
- ValidationRuleUtility.isValidTypeHierarchy(bean, primaryKey);
- }
- }
- catch (InvalidInputException exc) {
- return false;
- }
- }
-
- return true;
- }
-
- public void validate(IEJBValidationContext vc, Object targetParent, Object target) throws ValidationCancelledException, ValidationException {
- Logger logger = vc.getMsgLogger();
- if(logger != null && logger.isLoggingLevel(Level.FINEST)) {
- LogEntry entry = vc.getLogEntry();
- entry.setSourceID("EJB20Validator - validate"); //$NON-NLS-1$
- entry.setText(getClass().getName() + "::validate(" + targetParent + ", " + target); //$NON-NLS-1$ //$NON-NLS-2$
- logger.write(Level.FINEST, entry);
- }
-
- EJBJar ejbJar = null;
- if(targetParent == null) {
- ejbJar = (EJBJar)target;
- validate(vc, ejbJar);
- }
- else {
- // running as a dependent
- ejbJar = (EJBJar)vc.loadModel(EJBValidatorModelEnum.EJB_MODEL);
- EnterpriseBean bean = (EnterpriseBean)targetParent;
- validate(vc, ejbJar, bean);
- }
- }
-
- /*
- * @see IValidationRule#validate(IEJBValidationContext, Object, Object)
- */
- public void validate(IEJBValidationContext vc, EJBJar ejbJar) throws ValidationCancelledException, ValidationException {
- List enterpriseBeans = ejbJar.getEnterpriseBeans();
- Iterator iterator = enterpriseBeans.iterator();
- EnterpriseBean bean = null;
- while(iterator.hasNext()) {
- bean = (EnterpriseBean)iterator.next();
- if(bean == null) {
- // If bean isn't valid, don't perform any of the other
- // validation checks on it. Let DDValidator output the error message.
- continue;
- }
- validate(vc, ejbJar, bean);
- }
- }
-
- public void validate(IEJBValidationContext vc, EJBJar ejbJar, EnterpriseBean bean) throws ValidationCancelledException, ValidationException {
- try {
- // Check if the class exists, etc.
- if(!areBeanComponentsReflected(bean)) {
- // Something didn't reflect properly, so don't continue with the
- // rest of the checks. Some metadata will be nonsense.
- return;
- }
-
- // Component inheritance is now checked in each VRule instead of here.
- // This was necessary for incremental validation; if one class changed
- // in the bean, and the bean was a member of component inheritance, then
- // messages were added multiple times onto the classes which had not changed.
- // In order to avoid multiple messages, only the component inheritance of
- // the class which changed should be revalidated when the class changes.
- validateAppendixB(vc, ejbJar, bean); // validate the key class since that message is registered against ejb-jar.xml
- }
- catch(MessageLimitException e) {
- throw e;
- }
- catch(ValidationCancelledException e) {
- throw e;
- }
- /* unreachable catch block
- catch(ValidationException exc) {
- // If there's a problem, proceed with the next bean.
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorConstants.CHKJ2852, IEJBValidationContext.WARNING, bean, new String[]{ArchiveConstants.EJBJAR_EXTENSIONS_SHORT_NAME, beanName}, this);
- vc.addMessage(message);
- if(logger.isLoggingLevel(Level.FINER)) {
- logger.write(Level.FINER, exc);
- }
- }
- */
- catch(Throwable exc) {
- // If there's a problem, proceed with the next bean.
- String superTypeName = getEJBInheritanceFileName();
- if(superTypeName == null)
- superTypeName = "unknown super type"; //$NON-NLS-1$
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2852, IEJBValidationContext.WARNING, bean, new String[]{superTypeName, bean.getName()}, this);
- vc.addMessage(message);
- Logger logger = vc.getMsgLogger();
- if(logger != null && logger.isLoggingLevel(Level.SEVERE)) {
- logger.write(Level.SEVERE, exc);
- }
- }
- }
-
- protected void validateAppendixB(IEJBValidationContext vc, EJBJar ejbJar, EnterpriseBean bean) {
- // The Java inheritance structure must match the EJB inheritance structure.
- // e.g. if EJB B is a child of EJB A, then class B must be a child of class A.
- // B could be a grandchild (or great-grandchild or ...) of A.
- if(bean == null) {
- return;
- }
- if(!bean.isEntity()) {
- return;
- }
- JavaClass thisKey = ((Entity)bean).getPrimaryKey();
- EnterpriseBean supertype = getSuperType(bean);
- JavaClass parentKey = null;
- if (supertype != null) {
- // check this CMP's supertype
- // Key a Xchild of parent Key
- // In WSA EJB component inheritance, the root EJB must define the key.
- // The key is the same for all child EJBs.
- if (supertype instanceof Entity) {
- parentKey = ((Entity) supertype).getPrimaryKey();
-
- if ((thisKey == null) || (parentKey == null) || !thisKey.equals(parentKey)) {
- String[] msgParm = new String[] { bean.getName(), parentKey.getQualifiedName()};
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2106, IEJBValidationContext.ERROR, bean, msgParm, this);
- vc.addMessage(message);
- }
- }
- }
-
-// validateAppendixB(vc, supertype, parentKey);
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/EJBJar11VRule.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/EJBJar11VRule.java
deleted file mode 100644
index b41bfbd7c..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/EJBJar11VRule.java
+++ /dev/null
@@ -1,595 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.logging.Level;
-
-import org.eclipse.jem.java.Method;
-import org.eclipse.jem.util.logger.LogEntry;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jst.j2ee.common.SecurityRole;
-import org.eclipse.jst.j2ee.ejb.AssemblyDescriptor;
-import org.eclipse.jst.j2ee.ejb.EJBJar;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.jst.j2ee.ejb.MethodElement;
-import org.eclipse.jst.j2ee.ejb.MethodPermission;
-import org.eclipse.jst.j2ee.ejb.MethodTransaction;
-import org.eclipse.jst.j2ee.internal.J2EEConstants;
-import org.eclipse.jst.j2ee.internal.common.CommonPackage;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.MessageLimitException;
-
-/**
- * This class checks ejb-jar.xml for errors or potential errors.
- * If any problems are found, an error, warning, or info marker is added to the task list.
- *
- * 15.2.5.3 Declaration of security roles referenced from the bean's code
- * The Bean Provider is responsible for declaring in the security-role-ref elements of the deploy-ment
- * descriptor all the security role names used in the enterprise bean code. Declaring the security roles
- * references in the code allows the Application Assembler or Deployer to link the names of the security
- * roles used in the code to the security roles defined for an assembled application through the secu-rity-
- * role elements.
- * The Bean Provider must declare each security role referenced in the code using the secu-rity-
- * role-ref element as follows:
- * Declare the name of the security role using the role-name element. The name must be the
- * security role name that is used as a parameter to the isCallerInRole(String role-Name)
- * method.
- * Optional: Provide a description of the security role in the description element.
- * A security role reference, including the name defined by the role-name element, is scoped to the ses-sion
- * or entity bean element whose declaration contains the security-role-ref element.
- * The following example illustrates how an enterprise bean's references to security roles are declared in
- * the deployment descriptor.
- * ...
- * <enterprise-beans>
- * ...
- * <entity>
- * <ejb-name>AardvarkPayroll</ejb-name>
- * <ejb-class>com.aardvark.payroll.PayrollBean</ejb-class>
- * ...
- * <security-role-ref>
- * <description>
- * This security role should be assigned to the
- * employees of the payroll department who are
- * allowed to update employees' salaries.
- * </description>
- * <role-name>payroll</role-name>
- * </security-role-ref>
- * ...
- * </entity>
- * ...
- * </enterprise-beans>
- * ...
- *
- * The deployment descriptor above indicates that the enterprise bean AardvarkPayroll makes the
- * security check using isCallerInRole("payroll") in its business method.
- *
- *
- * 15.3.3 Linking security role references to security roles
- * If the Application Assembler defines the security-role elements in the deployment descriptor, he
- * or she is also responsible for linking all the security role references declared in the secu-rity-
- * role-ref elements to the security roles defined in the security-role elements.
- * The Application Assembler links each security role reference to a security role using the role-link
- * element. The value of the role-link element must be the name of one of the security roles defined in
- * a security-role element.
- * A role-link element must be used even if the value of role-name is the same as the value of the
- * role-link reference.
- * The following deployment descriptor example shows how to link the security role reference named
- * payroll to the security role named payroll-department.
- * ...
- * <enterprise-beans>
- * ...
- * <entity>
- * <ejb-name>AardvarkPayroll</ejb-name>
- * <ejb-class>com.aardvark.payroll.PayrollBean</ejb-class>
- * ...
- * <security-role-ref>
- * <description>
- * This role should be assigned to the
- * employees of the payroll department.
- * Members of this role have access to
- * anyone's payroll record.
- *
- * The role has been linked to the
- * payroll-department role.
- * </description>
- * <role-name>payroll</role-name>
- * <role-link>payroll-department</role-link>
- * </security-role-ref>
- * ...
- * </entity>
- * ...
- * </enterprise-beans>
- * ...
- */
-public class EJBJar11VRule extends AValidationRule implements IMessagePrefixEjb11Constants {
- private DuplicatesTable _ejbName = null;
- private static final Object ID = IValidationRuleList.EJB11_EJBJAR;
- private static final Object[] DEPENDS_ON = new Object[]{IValidationRuleList.EJB11_SESSION_BEANCLASS, IValidationRuleList.EJB11_SESSION_REMOTE, IValidationRuleList.EJB11_SESSION_HOME, IValidationRuleList.EJB11_CMP_BEANCLASS, IValidationRuleList.EJB11_CMP_REMOTE, IValidationRuleList.EJB11_CMP_HOME, IValidationRuleList.EJB11_CMP_KEYCLASS, IValidationRuleList.EJB11_BMP_BEANCLASS, IValidationRuleList.EJB11_BMP_REMOTE, IValidationRuleList.EJB11_BMP_HOME, IValidationRuleList.EJB11_BMP_KEYCLASS, IValidationRuleList.EJB11_EJBEXT};
-
- private static final Map MESSAGE_IDS;
-
- static {
- MESSAGE_IDS = new HashMap();
-
- MESSAGE_IDS.put(CHKJ2814, new String[]{CHKJ2814 + SPEC});
-
- MESSAGE_IDS.put(CHKJ2825, new String[]{CHKJ2825 + SPEC});
- MESSAGE_IDS.put(CHKJ2826, new String[]{CHKJ2826 + SPEC});
-
- MESSAGE_IDS.put(CHKJ2842, new String[]{CHKJ2842 + SPEC});
- MESSAGE_IDS.put(CHKJ2843, new String[]{CHKJ2843 + SPEC});
- MESSAGE_IDS.put(CHKJ2844, new String[]{CHKJ2844 + SPEC});
- MESSAGE_IDS.put(CHKJ2845, new String[]{CHKJ2845 + SPEC});
- MESSAGE_IDS.put(CHKJ2846, new String[]{CHKJ2846 + SPEC});
- MESSAGE_IDS.put(CHKJ2847, new String[]{CHKJ2847 + SPEC});
-
- MESSAGE_IDS.put(CHKJ2850, new String[]{CHKJ2850 + SPEC});
- MESSAGE_IDS.put(CHKJ2852, new String[]{CHKJ2852});
-
- MESSAGE_IDS.put(CHKJ2875, new String[]{CHKJ2875 + SPEC});
-
- MESSAGE_IDS.put(CHKJ2895, new String[]{CHKJ2895 + SPEC});
- }
-
- public EJBJar11VRule() {
- _ejbName = new DuplicatesTable();
- }
-
- public final Map getMessageIds() {
- return MESSAGE_IDS;
- }
-
- public final Object[] getDependsOn() {
- return DEPENDS_ON;
- }
-
- public final Object getId() {
- return ID;
- }
-
- public Object getTarget(Object parent, Object target) {
- return null;
- }
-
- /**
- * 15.3.1 Security roles
- * The Application Assembler can define one or more security roles in
- * the deployment descriptor. The Application Assembler then assigns
- * groups of methods of the enterprise beans' home and remote interfaces
- * to the security roles to define the security view of the application.
- * Because the Application Assembler does not, in general, know the
- * security environment of the operational environment, the security
- * roles are meant to be logical roles (or actors), each representing
- * a type of user that should have the same access rights to the
- * application. The Deployer then assigns user groups and/or user
- * accounts defined in the operational environment to the security roles
- * defined by the Application Assembler.
- * Defining the security roles in the deployment descriptor is optional [17]
- * for the Application Assembler. Their omission in the deployment
- * descriptor means that the Application Assembler chose not to pass any
- * security deployment related instructions to the Deployer in the
- * deployment descriptor. The Application Assembler is responsible for
- * the following:
- * - Define each security role using a security-role element.
- * - Use the role-name element to define the name of the security role.
- * - Optionally, use the description element to provide a description of
- * a security role.
- * The security roles defined by the security-role elements are scoped to
- * the ejb-jar file level, and apply to all the enterprise beans in the
- * ejb-jar file.
- * [17] If the Application Assembler does not define security roles in the
- * deployment descriptor, the Deployer will have to define security
- * roles at deployment time.
- *...
- */
- protected void validateAssemblyDescriptorElement(IEJBValidationContext vc, EJBJar ejbJar) {
- vc.terminateIfCancelled();
-
- // Validate the security roles, if they're defined in the assembly-descriptor.
- if (ejbJar == null) {
- // nothing to validate
- return;
- }
-
- /**
- * Need to build up a list of duplicate role names, but the validation message
- * needs to be registered against the duplicate SecurityRole instance.
- * (Without the instance, we cannot get line numbers.)
- *
- * This class wrappers the SecurityRol instance so that the wrapper's
- * implemention of equals compares the names, but the validation message will
- * still be able to get the ref from the duplicate name.
- */
- class RoleWrapper {
- private SecurityRole _role = null;
-
- public RoleWrapper(SecurityRole role) {
- _role = role;
- }
-
- public boolean equals(Object o) {
- if (o instanceof RoleWrapper) {
- RoleWrapper other = (RoleWrapper) o;
- return _role.getRoleName().equals(other.getRole().getRoleName());
- }
- return false;
- }
-
- public SecurityRole getRole() {
- return _role;
- }
- }
-
- AssemblyDescriptor assemblyDescriptor = ejbJar.getAssemblyDescriptor();
- if (assemblyDescriptor == null) {
- // nothing to validate
- return;
- }
-
- List roles = assemblyDescriptor.getSecurityRoles();
- if (roles != null) {
- DuplicatesTable roleNames = new DuplicatesTable();
- SecurityRole role = null;
- Iterator roleIt = roles.iterator();
- while (roleIt.hasNext()) {
- vc.terminateIfCancelled();
- // Check that the role-name element has been set
- role = (SecurityRole) roleIt.next();
- if (role == null) {
- // role-name not set
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2825, IEJBValidationContext.WARNING, ejbJar, this);
- vc.addMessage(message);
- }
- else if ((!role.eIsSet(CommonPackage.eINSTANCE.getSecurityRole_RoleName())) || (role.getRoleName().equals(""))) { //$NON-NLS-1$
- // role-name not set
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2825, IEJBValidationContext.WARNING, role, this);
- vc.addMessage(message);
- }
- else {
- // Build up hashtable to check for duplicate role-names.
- roleNames.add(new RoleWrapper(role));
- }
- }
-
- // Check that there are no duplicate role-names. (15.3.1)
- if (roleNames.containsDuplicates()) {
- List duplicates = roleNames.getDuplicates();
- Iterator iterator = duplicates.iterator();
- while (iterator.hasNext()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2826, IEJBValidationContext.WARNING, ((RoleWrapper) iterator.next()).getRole(), this);
- vc.addMessage(message);
- }
- }
- roleNames.clear();
- }
-
- List methTrans = assemblyDescriptor.getMethodTransactions();
- MethodTransaction mt = null;
- Iterator iterator = methTrans.iterator();
- while (iterator.hasNext()) {
- vc.terminateIfCancelled();
-
- try {
- mt = (MethodTransaction) iterator.next();
- }
- catch (Throwable exc) {
- Logger logger = vc.getMsgLogger();
- if (logger != null && logger.isLoggingLevel(Level.FINER)) {
- logger.write(Level.FINER, exc);
- }
- mt = null;
- }
-
- if (mt == null) {
- Logger logger = vc.getMsgLogger();
- if (logger != null && logger.isLoggingLevel(Level.FINEST)) {
- LogEntry entry = vc.getLogEntry();
- entry.setSourceID("DDValidator.validateAssemblyDescriptorElement"); //$NON-NLS-1$
- entry.setText("mt is null"); //$NON-NLS-1$
- logger.write(Level.FINEST, entry);
- }
- continue;
- }
-
- boolean hasValidMethod = validateMethodElements(vc, ejbJar, mt.getMethodElements());
- if (!hasValidMethod) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2847, IEJBValidationContext.WARNING, mt, this);
- vc.addMessage(message);
- }
- }
-
- List methodPermissions = assemblyDescriptor.getMethodPermissions();
- iterator = methodPermissions.iterator();
- while (iterator.hasNext()) {
- MethodPermission mp = (MethodPermission) iterator.next();
-
- boolean hasValidMethod = validateMethodElements(vc, ejbJar, mp.getMethodElements());
- if (!hasValidMethod) {
- // 15.3.2, p. 229, a <method-permission> must have at least one method listed (and that method must be found)
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2846, IEJBValidationContext.WARNING, mp, this);
- vc.addMessage(message);
- }
-
- // at least one security-role must be defined
- List mproles = mp.getRoles();
- if ((mproles == null) || (mproles.size() == 0)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2845, IEJBValidationContext.WARNING, mp, this);
- vc.addMessage(message);
- }
- }
- }
-
- /**
- * This validateDeploymentDescriptor is called if the EJBJar could load, which means
- * that the syntax of the JAR is (mostly) correct.
- *
- * EJB spec 1.1, section C.4, "Added the requirement for the Bean Provider to specify whether the
- * enterprise bean uses a bean-managed or container-managed transaction."
- */
- public void validate(IEJBValidationContext vc, Object targetParent, Object target) throws ValidationException {
- EJBJar ejbJar = (EJBJar) target;
- List enterpriseBeans = ejbJar.getEnterpriseBeans();
- Iterator iterator = enterpriseBeans.iterator();
- EnterpriseBean bean = null;
- String beanName = null;
- while (iterator.hasNext()) {
- try {
- bean = (EnterpriseBean) iterator.next();
- register(vc, ejbJar, bean);
-
- Object id = IValidationRuleList.EJB11_ENTERPRISEBEAN;
- IValidationRule vRule = EJBValidationRuleFactory.getFactory().getRule(vc, id);
- if (vRule == null) {
- // This has already been logged by the AbstractEJBValidationRuleFactory, so just
- // need to add "Cannot validate" to the task list.
- continue;
- }
- try {
- vRule.preValidate(vc, ejbJar, bean);
- vRule.validate(vc, ejbJar, bean);
- vRule.postValidate(vc, ejbJar, bean);
- }
- catch (ValidationCancelledException exc) {
- // Clean up the messages which are on the task list? Or is it nicer to leave them behind?
- }
- catch(MessageLimitException exc) {
- throw exc;
- }
- catch(ValidationException e) {
- throw e;
- }
- catch (Throwable exc) {
- addInternalErrorMessage(vc, exc);
- }
- finally {
- EJBValidationRuleFactory.getFactory().release(vRule);
- }
- }
- catch (MessageLimitException e) {
- throw e;
- }
- catch(ValidationCancelledException e) {
- throw e;
- }
- catch (ValidationException e) {
- throw e;
- }
- catch (Throwable exc) {
- // If there's a problem, proceed with the next bean.
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2852, IEJBValidationContext.WARNING, bean, new String[] { J2EEConstants.EJBJAR_DD_SHORT_NAME, beanName }, this);
- vc.addMessage(message);
- Logger logger = vc.getMsgLogger();
- if (logger != null && logger.isLoggingLevel(Level.SEVERE)) {
- logger.write(Level.SEVERE, exc);
- }
- }
- }
-
- // Since the assembly descriptor is not specific to a bean, validate it once, after all bean processing is complete.
- validateAssemblyDescriptorElement(vc, ejbJar);
- validateUniqueEjbNames(vc, ejbJar);
- validateClientJAR(vc, ejbJar);
- }
-
- public void reset() {
- super.reset();
- _ejbName.clear();
- }
-
- protected void register(IEJBValidationContext vc, EJBJar ejbJar, EnterpriseBean bean) {
- // To check if every bean name is unique, need to build a list
- _ejbName.add(new EjbNameWrapper(bean));
- }
-
- private void addInternalErrorMessage(IEJBValidationContext vc, Throwable exc) {
- IMessage mssg = vc.getMessage();
- mssg.setId(IEJBValidatorMessageConstants.CHKJ2900);
- vc.addMessage(mssg);
-
- if(exc != null) {
- Logger logger = vc.getMsgLogger();
- if (logger != null && logger.isLoggingLevel(Level.SEVERE)) {
- logger.write(Level.SEVERE, exc);
- }
- }
- }
-
- public void validateUniqueEjbNames(IEJBValidationContext vc, EJBJar ejbJar) {
- List names = _ejbName.getDuplicates();
- if(names.size() == 0) {
- return;
- }
-
- Iterator iterator = names.iterator();
- while(iterator.hasNext()) {
- EjbNameWrapper wrapper = (EjbNameWrapper)iterator.next();
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2895, IEJBValidationContext.WARNING, wrapper.getBean(), new String[]{wrapper.getBean().getName()}, this);
- vc.addMessage(message);
- }
- }
-
- protected void validateClientJAR(IEJBValidationContext vc, EJBJar ejbJar) {
- String clientJARName = ejbJar.getEjbClientJar();
- if(clientJARName == null) {
- // No client JAR specified; everything's okay.
- return;
- }
-
- Boolean exists = (Boolean)vc.loadModel(EJBValidatorModelEnum.EJB_CLIENTJAR, new Object[]{clientJARName});
- if(exists == null) {
- // Helper doesn't support load model. WAS?
- // Can't perform this check, so just return.
- return;
- }
-
- if(!exists.booleanValue()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2875, IEJBValidationContext.ERROR, ejbJar, new String[]{clientJARName}, this);
- vc.addMessage(message);
- }
- }
-
- /**
- * Both section 11.4.1 and 15.3.2 need the <method> element. Also refer
- * to 16.5 for syntax.
- *
- * Return true if at least one of the methods referenced by this list of
- * MethodElement can be found.
- */
- protected boolean validateMethodElements(IEJBValidationContext vc, EJBJar ejbJar, List elements) {
- if ((elements == null) || (elements.size() == 0)) {
- return false;
- }
-
- boolean hasValidMethod = false;
- Iterator iterator = elements.iterator();
- while (iterator.hasNext()) {
- vc.terminateIfCancelled();
- MethodElement element = (MethodElement) iterator.next();
-
- EnterpriseBean bean = element.getEnterpriseBean();
- if (bean == null) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2814, IEJBValidationContext.WARNING, element, this);
- vc.addMessage(message);
- continue;
- }
-
- if (element.getName() != null) {
- // Do not attempt to access the methods on the home or remote interface if there'
- // been a problem locating or reflecting those types
- boolean reflected = true;
- try {
- ValidationRuleUtility.isValidType(bean.getHomeInterface());
- }
- catch (InvalidInputException e) {
- reflected = false;
- String className = (e.getJavaClass() == null) ? IEJBValidatorConstants.NULL_HOME : e.getJavaClass().getQualifiedName();
- String[] msgParm = { className };
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2850, IEJBValidationContext.WARNING, bean, msgParm, this);
- vc.addMessage(message);
- }
- try {
- ValidationRuleUtility.isValidType(bean.getRemoteInterface());
- }
- catch (InvalidInputException e) {
- reflected = false;
- String className = (e.getJavaClass() == null) ? IEJBValidatorConstants.NULL_REMOTE : e.getJavaClass().getQualifiedName();
- String[] msgParm = { className };
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2850, IEJBValidationContext.WARNING, bean, msgParm, this);
- vc.addMessage(message);
- }
-
- if(reflected) {
- // The "element.getMethods()" has a null pointer exception when it attempts to retrieve the methods from the home/remote interface,
- // if either of the interfaces don't exist.
- String name = element.getName();
-
- Method[] methods = element.getMethods(); // get all methods which will be retrieved for the given method-permission
- boolean hasMethods = ((methods != null) && (methods.length > 0));
-
- if (!hasMethods) {
- // warning
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2843, IEJBValidationContext.WARNING, element, new String[] { bean.getName()}, this);
- vc.addMessage(message);
- }
- else {
- hasValidMethod = true; // a <method-permission> must have at least one method (15.3.2, p.229)
- if (name.equals("*")) { //$NON-NLS-1$
- List params = element.getMethodParams();
- if ((params != null) && (params.size() > 0)) {
- // warning
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2842, IEJBValidationContext.WARNING, element, this);
- vc.addMessage(message);
- }
- }
- }
- }
- }
- else {
- // error
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2844, IEJBValidationContext.WARNING, element, this);
- vc.addMessage(message);
- }
- }
-
- return hasValidMethod;
- }
-
- /**
- * Need to build up a list of duplicate EJB names, but the validation message
- * needs to be registered against the duplicate EnterpriseBean instance.
- * (Without the instance, we cannot get line numbers.)
- *
- * This class wrappers the EnterpriseBean instance so that the wrapper's
- * implemention of equals compares the names, but the validation message will
- * still be able to get the ref from the duplicate name.
- */
- class EjbNameWrapper {
- private EnterpriseBean _bean = null;
-
- public EjbNameWrapper(EnterpriseBean bean) {
- _bean = bean;
- }
-
- public boolean equals(Object o) {
- if (o instanceof EjbNameWrapper) {
- EjbNameWrapper other = (EjbNameWrapper)o;
- if((_bean.getName() == null) && (other.getBean().getName() == null)) {
- return true;
- }
- else if(_bean.getName() == null) {
- return false;
- }
- else if(other.getBean().getName() == null) {
- return false;
- }
- return _bean.getName().equals(other.getBean().getName());
- }
- return false;
- }
-
- public int hashCode() {
- if((getBean() != null) && (getBean().getName() != null)) {
- return getBean().getName().hashCode();
- }
- return super.hashCode();
- }
-
- public EnterpriseBean getBean() {
- return _bean;
- }
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/EJBJar20VRule.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/EJBJar20VRule.java
deleted file mode 100644
index ed7112e15..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/EJBJar20VRule.java
+++ /dev/null
@@ -1,884 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.logging.Level;
-
-import org.eclipse.jem.java.Method;
-import org.eclipse.jem.util.logger.LogEntry;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jst.j2ee.common.SecurityRole;
-import org.eclipse.jst.j2ee.ejb.AssemblyDescriptor;
-import org.eclipse.jst.j2ee.ejb.CMRField;
-import org.eclipse.jst.j2ee.ejb.ContainerManagedEntity;
-import org.eclipse.jst.j2ee.ejb.EJBJar;
-import org.eclipse.jst.j2ee.ejb.EJBRelation;
-import org.eclipse.jst.j2ee.ejb.EJBRelationshipRole;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.jst.j2ee.ejb.Entity;
-import org.eclipse.jst.j2ee.ejb.MethodElement;
-import org.eclipse.jst.j2ee.ejb.MethodPermission;
-import org.eclipse.jst.j2ee.ejb.MethodTransaction;
-import org.eclipse.jst.j2ee.ejb.MultiplicityKind;
-import org.eclipse.jst.j2ee.ejb.Relationships;
-import org.eclipse.jst.j2ee.ejb.RoleSource;
-import org.eclipse.jst.j2ee.internal.J2EEConstants;
-import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
-import org.eclipse.jst.j2ee.internal.common.CommonPackage;
-import org.eclipse.jst.j2ee.internal.ejb.EjbPackage;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.MessageLimitException;
-
-/**
- * @version 1.0
- * @author
- */
-public class EJBJar20VRule extends AValidationRule implements IMessagePrefixEjb20Constants {
- private static final Map MESSAGE_IDS;
- private DuplicatesTable _ejbName = null;
- private DuplicatesTable _asName = null;
- private DuplicatesTable _relationshipName = null;
- private DuplicatesTable _relationshipRoleName = null;
- private static final Object[] DEPENDS_ON = new Object[]{IValidationRuleList.EJB20_STATELESS_SESSION_BEANCLASS, IValidationRuleList.EJB20_STATELESS_SESSION_REMOTE, IValidationRuleList.EJB20_STATELESS_SESSION_HOME, IValidationRuleList.EJB20_STATELESS_SESSION_LOCAL, IValidationRuleList.EJB20_STATELESS_SESSION_LOCALHOME, IValidationRuleList.EJB20_STATEFUL_SESSION_BEANCLASS, IValidationRuleList.EJB20_STATEFUL_SESSION_REMOTE, IValidationRuleList.EJB20_STATEFUL_SESSION_HOME, IValidationRuleList.EJB20_STATEFUL_SESSION_LOCAL, IValidationRuleList.EJB20_STATEFUL_SESSION_LOCALHOME, IValidationRuleList.EJB20_CMP_BEANCLASS, IValidationRuleList.EJB20_CMP_REMOTE, IValidationRuleList.EJB20_CMP_HOME, IValidationRuleList.EJB20_CMP_LOCAL, IValidationRuleList.EJB20_CMP_LOCALHOME, IValidationRuleList.EJB20_CMP_KEYCLASS, IValidationRuleList.EJB20_BMP_BEANCLASS, IValidationRuleList.EJB20_BMP_REMOTE, IValidationRuleList.EJB20_BMP_HOME, IValidationRuleList.EJB20_BMP_LOCAL, IValidationRuleList.EJB20_BMP_LOCALHOME, IValidationRuleList.EJB20_BMP_KEYCLASS, IValidationRuleList.EJB20_MESSAGE_BEANCLASS, IValidationRuleList.EJB20_EJBEXT};
-
- static {
- MESSAGE_IDS = new HashMap();
-
- MESSAGE_IDS.put(CHKJ2800_NAMED, new String[]{CHKJ2800_NAMED+SPEC});
- MESSAGE_IDS.put(CHKJ2800_UNNAMED, new String[]{CHKJ2800_UNNAMED+SPEC});
- MESSAGE_IDS.put(CHKJ2802_NAMED, new String[]{CHKJ2802_NAMED+SPEC});
- MESSAGE_IDS.put(CHKJ2802_UNNAMED, new String[]{CHKJ2802_UNNAMED+SPEC});
- MESSAGE_IDS.put(CHKJ2803_NAMED, new String[]{CHKJ2803_NAMED+SPEC});
- MESSAGE_IDS.put(CHKJ2803_UNNAMED, new String[]{CHKJ2803_UNNAMED+SPEC});
- MESSAGE_IDS.put(CHKJ2804_NAMED, new String[]{CHKJ2804_NAMED+SPEC});
- MESSAGE_IDS.put(CHKJ2804_UNNAMED, new String[]{CHKJ2804_UNNAMED+SPEC});
- MESSAGE_IDS.put(CHKJ2805_NAMED, new String[]{CHKJ2805_NAMED+SPEC});
- MESSAGE_IDS.put(CHKJ2805_UNNAMED, new String[]{CHKJ2805_UNNAMED+SPEC});
- MESSAGE_IDS.put(CHKJ2806, new String[]{CHKJ2806+SPEC});
- MESSAGE_IDS.put(CHKJ2807, new String[]{CHKJ2807+SPEC});
- MESSAGE_IDS.put(CHKJ2808, new String[]{CHKJ2808+SPEC});
- MESSAGE_IDS.put(CHKJ2809, new String[]{CHKJ2809+SPEC});
- MESSAGE_IDS.put(CHKJ2810_NAMED, new String[]{CHKJ2810_NAMED+SPEC});
- MESSAGE_IDS.put(CHKJ2810_UNNAMED, new String[]{CHKJ2810_UNNAMED+SPEC});
- MESSAGE_IDS.put(CHKJ2811_NAMED, new String[]{CHKJ2811_NAMED+SPEC});
- MESSAGE_IDS.put(CHKJ2814, new String[]{CHKJ2814+SPEC});
- MESSAGE_IDS.put(CHKJ2816, new String[]{CHKJ2816+SPEC});
- MESSAGE_IDS.put(CHKJ2817, new String[]{CHKJ2817+SPEC});
- MESSAGE_IDS.put(CHKJ2818, new String[]{CHKJ2818+SPEC});
- MESSAGE_IDS.put(CHKJ2820, new String[]{CHKJ2820+SPEC});
- MESSAGE_IDS.put(CHKJ2821, new String[]{CHKJ2821+SPEC});
- MESSAGE_IDS.put(CHKJ2822, new String[]{CHKJ2822+SPEC});
- MESSAGE_IDS.put(CHKJ2823, new String[]{CHKJ2823+SPEC});
- MESSAGE_IDS.put(CHKJ2824, new String[]{CHKJ2824+SPEC});
- MESSAGE_IDS.put(CHKJ2825, new String[]{CHKJ2825+SPEC});
- MESSAGE_IDS.put(CHKJ2826, new String[]{CHKJ2826+SPEC});
- MESSAGE_IDS.put(CHKJ2827, new String[]{CHKJ2827+SPEC});
- MESSAGE_IDS.put(CHKJ2828, new String[]{CHKJ2828+SPEC});
- MESSAGE_IDS.put(CHKJ2829, new String[]{CHKJ2829+SPEC});
- MESSAGE_IDS.put(CHKJ2830, new String[]{CHKJ2830+SPEC});
- MESSAGE_IDS.put(CHKJ2831, new String[]{CHKJ2831+SPEC});
- MESSAGE_IDS.put(CHKJ2832, new String[]{CHKJ2832+SPEC});
- MESSAGE_IDS.put(CHKJ2833, new String[]{CHKJ2833+SPEC});
- MESSAGE_IDS.put(CHKJ2834, new String[]{CHKJ2834+SPEC});
- MESSAGE_IDS.put(CHKJ2835, new String[]{CHKJ2835+SPEC});
- MESSAGE_IDS.put(CHKJ2836, new String[]{CHKJ2836+SPEC});
- MESSAGE_IDS.put(CHKJ2837, new String[]{CHKJ2837+SPEC});
- MESSAGE_IDS.put(CHKJ2838, new String[]{CHKJ2838+SPEC});
- MESSAGE_IDS.put(CHKJ2839, new String[]{CHKJ2839+SPEC});
- MESSAGE_IDS.put(CHKJ2841, new String[]{CHKJ2841+SPEC});
- MESSAGE_IDS.put(CHKJ2842, new String[]{CHKJ2842+SPEC});
- MESSAGE_IDS.put(CHKJ2843, new String[]{CHKJ2843+SPEC});
- MESSAGE_IDS.put(CHKJ2844, new String[]{CHKJ2844+SPEC});
- MESSAGE_IDS.put(CHKJ2845, new String[]{CHKJ2845+SPEC});
- MESSAGE_IDS.put(CHKJ2846, new String[]{CHKJ2846+SPEC});
- MESSAGE_IDS.put(CHKJ2847, new String[]{CHKJ2847+SPEC});
- MESSAGE_IDS.put(CHKJ2848, new String[]{CHKJ2848+SPEC});
- MESSAGE_IDS.put(CHKJ2850, new String[]{CHKJ2850+SPEC});
- MESSAGE_IDS.put(CHKJ2854, new String[]{CHKJ2854+SPEC});
- MESSAGE_IDS.put(CHKJ2855, new String[]{CHKJ2855+SPEC});
- MESSAGE_IDS.put(CHKJ2856, new String[]{CHKJ2856+SPEC});
- MESSAGE_IDS.put(CHKJ2857, new String[]{CHKJ2857+SPEC});
- MESSAGE_IDS.put(CHKJ2858, new String[]{CHKJ2858+SPEC});
- MESSAGE_IDS.put(CHKJ2859, new String[]{CHKJ2859+SPEC});
- MESSAGE_IDS.put(CHKJ2860, new String[]{CHKJ2860+SPEC});
- MESSAGE_IDS.put(CHKJ2866, new String[]{CHKJ2866+SPEC});
- MESSAGE_IDS.put(CHKJ2867, new String[]{CHKJ2867+SPEC});
- MESSAGE_IDS.put(CHKJ2868, new String[]{CHKJ2868+SPEC});
- MESSAGE_IDS.put(CHKJ2869, new String[]{CHKJ2869+SPEC});
- MESSAGE_IDS.put(CHKJ2871, new String[]{CHKJ2871+SPEC});
- MESSAGE_IDS.put(CHKJ2872, new String[]{CHKJ2872+SPEC});
- MESSAGE_IDS.put(CHKJ2873, new String[]{CHKJ2873+SPEC});
- MESSAGE_IDS.put(CHKJ2874, new String[]{CHKJ2874+SPEC});
- MESSAGE_IDS.put(CHKJ2875, new String[]{CHKJ2875 + SPEC});
- MESSAGE_IDS.put(CHKJ2895, new String[]{CHKJ2895+SPEC});
- MESSAGE_IDS.put(CHKJ2852, new String[]{CHKJ2852});
- MESSAGE_IDS.put(CHKJ2907, new String[]{CHKJ2907});
- }
-
- public EJBJar20VRule() {
- _ejbName = new DuplicatesTable();
- _asName = new DuplicatesTable();
- _relationshipName = new DuplicatesTable();
- _relationshipRoleName = new DuplicatesTable();
- }
-
- public Object[] getDependsOn() {
- // EJBJar doesn't depend on anything else
- return DEPENDS_ON;
- }
-
- public Object getId() {
- return IValidationRuleList.EJB20_EJBJAR;
- }
-
- public Map getMessageIds() {
- return MESSAGE_IDS;
- }
-
- public Object getTarget(Object parent, Object clazz) {
- // Since this rule doesn't depend on another rule, this
- // method (which is called on a dependent rule) will never
- // be called.
- return null;
- }
-
- /*
- * @see IValidationRule#reset()
- */
- public void reset() {
- super.reset();
- _ejbName.clear();
- _asName.clear();
- _relationshipName.clear();
- _relationshipRoleName.clear();
- }
-
- protected void addInternalErrorMessage(IEJBValidationContext vc, Throwable exc) {
- IMessage mssg = vc.getMessage();
- mssg.setId(IEJBValidatorMessageConstants.CHKJ2900);
- vc.addMessage(mssg);
-
- if(exc != null) {
- Logger logger = vc.getMsgLogger();
- if (logger != null && logger.isLoggingLevel(Level.SEVERE)) {
- logger.write(Level.SEVERE, exc);
- }
- }
- }
-
- protected void logMissingRule(IEJBValidationContext vc, Object ruleId) {
- log(vc, ruleId + " = null"); //$NON-NLS-1$
- addInternalErrorMessage(vc, null);
- }
-
- protected void log(IEJBValidationContext vc, String message) {
- Logger logger = vc.getMsgLogger();
- if (logger != null && logger.isLoggingLevel(Level.SEVERE)) {
- logger.write(Level.SEVERE, message);
- }
- }
-
- /*
- * @see IValidationRule#validate(IEJBValidationContext, Object, Object)
- */
- public void validate(IEJBValidationContext vc, Object targetParent, Object target) throws ValidationCancelledException, ValidationException {
- Logger logger = vc.getMsgLogger();
- if(logger != null && logger.isLoggingLevel(Level.FINEST)) {
- LogEntry entry = vc.getLogEntry();
- entry.setSourceID("EJBJar20VRule - validate"); //$NON-NLS-1$
- entry.setText(getClass().getName() + "::validate(" + targetParent + ", " + target); //$NON-NLS-1$ //$NON-NLS-2$
- logger.write(Level.FINEST, entry);
- }
-
- EJBJar ejbJar = (EJBJar) target;
- List beans = ejbJar.getEnterpriseBeans();
- Iterator iterator = beans.iterator();
- EnterpriseBean bean = null;
- while (iterator.hasNext()) {
- try {
- bean = (EnterpriseBean) iterator.next();
-
- register(vc, ejbJar, bean);
-
- Object id = null;
- switch(bean.getVersionID()) {
- case J2EEVersionConstants.EJB_1_0_ID:
- case J2EEVersionConstants.EJB_1_1_ID:
- id = IValidationRuleList.EJB11_ENTERPRISEBEAN;
- break;
- case J2EEVersionConstants.EJB_2_0_ID:
- case J2EEVersionConstants.EJB_2_1_ID:
- id = IValidationRuleList.EJB20_ENTERPRISEBEAN;
- break;
- default:
- // What version is it then?
- if(bean instanceof ContainerManagedEntity) {
- validateCMPVersionElement(vc, ejbJar, (ContainerManagedEntity)bean);
- }
- else {
- // log
- log(vc, "!bean.isVersion1_X() && !bean.isVersion2_X()"); //$NON-NLS-1$
- }
- continue;
- }
-
- IValidationRule vRule = EJBValidationRuleFactory.getFactory().getRule(vc, id);
- if(vRule == null) {
- logMissingRule(vc, id);
- continue;
- }
- try {
- vRule.preValidate(vc, ejbJar, bean);
- vRule.validate(vc, ejbJar, bean);
- vRule.postValidate(vc, ejbJar, bean);
- }
- catch(ValidationCancelledException exc) {
- // Clean up the messages which are on the task list? Or is it nicer to leave them behind?
- throw exc;
- }
- catch(MessageLimitException e) {
- throw e;
- }
- catch(ValidationException e) {
- throw e;
- }
- catch(Throwable exc) {
- addInternalErrorMessage(vc, exc);
- }
- finally {
- EJBValidationRuleFactory.getFactory().release(vRule);
- }
-
- }
- catch (MessageLimitException e) {
- throw e;
- }
- catch(ValidationCancelledException e) {
- throw e;
- }
- catch(ValidationException exc) {
- // something goes wrong, just proceed with the next bean
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2852, IEJBValidationContext.WARNING, bean, new String[]{J2EEConstants.EJBJAR_DD_SHORT_NAME, bean.getName()}, this);
- vc.addMessage(message);
- if (logger.isLoggingLevel(Level.SEVERE)) {
- logger.write(Level.SEVERE, exc);
- }
- }
- catch (Throwable exc) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2852, IEJBValidationContext.WARNING, bean, new String[]{J2EEConstants.EJBJAR_DD_SHORT_NAME, bean.getName()}, this);
- vc.addMessage(message);
- if (logger.isLoggingLevel(Level.SEVERE)) {
- logger.write(Level.SEVERE, exc);
- }
- }
- }
-
- // Since the assembly descriptor is not specific to a bean, validate it once, after all bean processing is complete.
- validateAssemblyDescriptorElement(vc, ejbJar);
- //TODO The Datasource validation will be done by the extensions
- validateUniqueEjbNames(vc, ejbJar);
- validateUniqueAbstractSchemaNames(vc, ejbJar);
- validateRelationships(vc, ejbJar);
- validateClientJAR(vc, ejbJar);
- }
-
- protected void register(IEJBValidationContext vc, EJBJar ejbJar, EnterpriseBean bean) {
- // To check if every bean name is unique, need to build a list
- _ejbName.add(new EjbNameWrapper(bean));
-
- if((bean instanceof ContainerManagedEntity) && bean.getVersionID() >= J2EEVersionConstants.EJB_2_0_ID) {
- // To check if every bean name is unique, need to build a list
- _asName.add(new ASNameWrapper((ContainerManagedEntity)bean));
- }
- }
-
- protected void validateCMPVersionElement(IEJBValidationContext vc, EJBJar ejbJar, ContainerManagedEntity cmp) {
- if(cmp.eIsSet(EjbPackage.eINSTANCE.getContainerManagedEntity_Version())) {
- String version = cmp.getVersion();
- if(! (ContainerManagedEntity.VERSION_1_X.equals(version) || ContainerManagedEntity.VERSION_2_X.equals(version))) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2872, IEJBValidationContext.ERROR, cmp, this);
- vc.addMessage(message);
- }
- }
- }
-
-
-
- protected void validateAssemblyDescriptorElement(IEJBValidationContext vc, EJBJar ejbJar) {
- vc.terminateIfCancelled();
-
- // Validate the security roles, if they're defined in the assembly-descriptor.
- if (ejbJar == null) {
- // nothing to validate
- return;
- }
-
- /**
- * Need to build up a list of duplicate role names, but the validation message
- * needs to be registered against the duplicate SecurityRole instance.
- * (Without the instance, we cannot get line numbers.)
- *
- * This class wrappers the SecurityRol instance so that the wrapper's
- * implemention of equals compares the names, but the validation message will
- * still be able to get the ref from the duplicate name.
- */
- class RoleWrapper {
- private SecurityRole _role = null;
-
- public RoleWrapper(SecurityRole role) {
- _role = role;
- }
-
- public boolean equals(Object o) {
- if (o instanceof RoleWrapper) {
- RoleWrapper other = (RoleWrapper) o;
- return _role.getRoleName().equals(other.getRole().getRoleName());
- }
- return false;
- }
-
- public SecurityRole getRole() {
- return _role;
- }
- }
-
- AssemblyDescriptor assemblyDescriptor = ejbJar.getAssemblyDescriptor();
- if (assemblyDescriptor == null) {
- // nothing to validate
- return;
- }
-
- List roles = assemblyDescriptor.getSecurityRoles();
- if (roles != null) {
- DuplicatesTable roleNames = new DuplicatesTable();
- SecurityRole role = null;
- Iterator roleIt = roles.iterator();
- while (roleIt.hasNext()) {
- vc.terminateIfCancelled();
- // Check that the role-name element has been set
- role = (SecurityRole) roleIt.next();
- if ((role == null) || (!role.eIsSet(CommonPackage.eINSTANCE.getSecurityRole_RoleName())) || (role.getRoleName().equals(""))) { //$NON-NLS-1$
- // role-name not set
- if(role == null) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2825, IEJBValidationContext.WARNING, role, this);
- vc.addMessage(message);
- }
- else {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2825, IEJBValidationContext.WARNING, assemblyDescriptor, this);
- vc.addMessage(message);
- }
- }
- else {
- // Build up hashtable to check for duplicate role-names.
- roleNames.add(new RoleWrapper(role));
- }
- }
-
- // Check that there are no duplicate role-names. (15.3.1)
- if (roleNames.containsDuplicates()) {
- List duplicates = roleNames.getDuplicates();
- Iterator iterator = duplicates.iterator();
- while (iterator.hasNext()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2826, IEJBValidationContext.WARNING, ((RoleWrapper) iterator.next()).getRole(), this);
- vc.addMessage(message);
- }
- }
- roleNames.clear();
- }
-
- List methTrans = assemblyDescriptor.getMethodTransactions();
- MethodTransaction mt = null;
- Iterator iterator = methTrans.iterator();
- while (iterator.hasNext()) {
- vc.terminateIfCancelled();
-
- try {
- mt = (MethodTransaction) iterator.next();
- }
- catch (Throwable exc) {
- Logger logger = vc.getMsgLogger();
- if (logger != null && logger.isLoggingLevel(Level.FINER)) {
- logger.write(Level.FINER, exc);
- }
- mt = null;
- }
-
- if (mt == null) {
- Logger logger = vc.getMsgLogger();
- if (logger != null && logger.isLoggingLevel(Level.FINEST)) {
- LogEntry entry = vc.getLogEntry();
- entry.setSourceID("EJBJar20VRule.validateAssemblyDescriptorElement"); //$NON-NLS-1$
- entry.setText("mt is null"); //$NON-NLS-1$
- logger.write(Level.FINEST, entry);
- }
- continue;
- }
-
- boolean hasValidMethod = validateMethodElements(vc, ejbJar, mt.getMethodElements());
- if (!hasValidMethod) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2847, IEJBValidationContext.WARNING, mt, this);
- vc.addMessage(message);
- }
- }
-
- List methodPermissions = assemblyDescriptor.getMethodPermissions();
- iterator = methodPermissions.iterator();
- while (iterator.hasNext()) {
- MethodPermission mp = (MethodPermission) iterator.next();
-
- boolean hasValidMethod = validateMethodElements(vc, ejbJar, mp.getMethodElements());
- if (!hasValidMethod) {
- // 15.3.2, p. 229, a <method-permission> must have at least one method listed (and that method must be found)
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2846, IEJBValidationContext.WARNING, mp, this);
- vc.addMessage(message);
- }
-
- // at least one security-role must be defined
- List mproles = mp.getRoles();
- if (((mproles == null) || (mproles.size() == 0)) && (!mp.isSetUnchecked())) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2845, IEJBValidationContext.WARNING, mp, this);
- vc.addMessage(message);
- }
- }
- }
-
- protected void validateUniqueAbstractSchemaNames(IEJBValidationContext vc, EJBJar ejbJar) {
- List names = _asName.getDuplicates();
- if(names.size() == 0) {
- return;
- }
-
- Iterator iterator = names.iterator();
- while(iterator.hasNext()) {
- ASNameWrapper wrapper = (ASNameWrapper)iterator.next();
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2854, IEJBValidationContext.ERROR, wrapper.getBean(), new String[]{wrapper.getBean().getAbstractSchemaName()}, this);
- vc.addMessage(message);
- }
- }
-
- protected void validateUniqueEjbNames(IEJBValidationContext vc, EJBJar ejbJar) {
- List names = _ejbName.getDuplicates();
- if(names.size() == 0) {
- return;
- }
-
- Iterator iterator = names.iterator();
- while(iterator.hasNext()) {
- EjbNameWrapper wrapper = (EjbNameWrapper)iterator.next();
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2895, IEJBValidationContext.WARNING, wrapper.getBean(), new String[]{wrapper.getBean().getName()}, this);
- vc.addMessage(message);
- }
- }
-
- protected void validateRelationships(IEJBValidationContext vc, EJBJar ejbJar) {
- Relationships relationships = ejbJar.getRelationshipList();
- if(relationships == null) {
- return;
- }
-
- List ejbRelationList = relationships.getEjbRelations();
- Iterator iterator = ejbRelationList.iterator();
- while(iterator.hasNext()) {
- EJBRelation relation = (EJBRelation)iterator.next();
-
- _relationshipName.add(new EJBRelationNameWrapper(relation));
-
- boolean atLeastOneCmrFieldExists = false;
- List roles = relation.getRelationshipRoles();
- Iterator roleIterator = roles.iterator();
- while(roleIterator.hasNext()) {
- EJBRelationshipRole role = (EJBRelationshipRole)roleIterator.next();
-
- _relationshipRoleName.add(new EJBRelationshipRoleNameWrapper(role));
-
- boolean validMultiplicity = role.isSetMultiplicity();
- if(!validMultiplicity) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2818, IEJBValidationContext.INFO, role, this);
- vc.addMessage(message);
- }
-
- // 10.3.4.2
- // The cascade-delete element can only be specified for an ejb-relationship-role
- // element contained in an ejb-relation element if the *other* ejb-relationship-role
- // element in the same ejb-relation element specifies a multiplicity of One.
- EJBRelationshipRole oppositeRole = role.getOpposite();
- if(role.isSetCascadeDelete()) {
- boolean isOtherMultiplicityOne = ((oppositeRole.isSetMultiplicity()) && (oppositeRole.getMultiplicity().getValue() == MultiplicityKind.ONE));
- if(!isOtherMultiplicityOne) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2848, IEJBValidationContext.INFO, role, this);
- vc.addMessage(message);
- }
- }
-
- CMRField cmrField = role.getCmrField();
- if(cmrField != null) {
- atLeastOneCmrFieldExists = true;
- if(cmrField.eIsSet(EjbPackage.eINSTANCE.getCMRField_CollectionType())) {
- String cmrFieldType = cmrField.getCollectionTypeName();
- if((!ITypeConstants.CLASSNAME_JAVA_UTIL_COLLECTION.equals(cmrFieldType)) &&
- (!ITypeConstants.CLASSNAME_JAVA_UTIL_SET.equals(cmrFieldType))) {
- // CHKJ2868: The value of the <cmr-field-type> element must be either "java.util.Collection" or "java.util.Set" (EJB 2.0: 10.3.13, 22.5).
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2868, IEJBValidationContext.INFO, role, this);
- vc.addMessage(message);
- }
- }
- }
-
- RoleSource sourceRoleSource = role.getSource();
- if(sourceRoleSource == null) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2821, IEJBValidationContext.INFO, role, new String[]{role.getName()}, this);
- vc.addMessage(message);
- continue;
- }
-
- Entity sourceEntity = sourceRoleSource.getEntityBean();
- if(sourceEntity == null) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2821, IEJBValidationContext.INFO, role, new String[]{role.getName()}, this);
- vc.addMessage(message);
- }
- else if(sourceEntity.isContainerManagedEntity()) {
- // CHKJ2866: <cmr-field> {0} must be defined on {1} (EJB 2.0: 22.5).
- if(cmrField != null) {
- ContainerManagedEntity cmp = (ContainerManagedEntity)sourceEntity;
- List cmrFields = cmp.getCMRFields();
- boolean found_cmrField = false;
- if((cmrFields != null) && (cmrFields.size() > 0)) {
- found_cmrField = cmrFields.contains(cmrField);
- }
-
- if(!found_cmrField) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2866, IEJBValidationContext.INFO, role, new String[]{cmrField.getName(), sourceEntity.getName()}, this);
- vc.addMessage(message);
- }
- }
- }
- else {
- // CHKJ2871: <ejb-name> {0} must refer to a CMP bean (EJB 2.0: 10.3.2, 10.3.13).
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2871, IEJBValidationContext.INFO, role, new String[]{sourceEntity.getName()}, this);
- vc.addMessage(message);
- }
-
- RoleSource oppositeRoleSource = oppositeRole.getSource();
- if(oppositeRoleSource == null) {
- // Do not emit an error message - when we iterate to the role where
- // this is the source, this error will be detected.
- continue;
- }
-
- Entity targetEntity = oppositeRoleSource.getEntityBean();
- if(targetEntity == null) {
- // Do not emit an error message - when we iterate to the role where
- // this is the source, this error will be detected.
- }
- else if(targetEntity.getLocalInterface() == null) {
- // Does the target of this role have a local interface?
- // CHKJ2867: This bean can have only unidirectional relationships to other beans (EJB 2.0: 10.3.2).
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2867, IEJBValidationContext.INFO, oppositeRole, this);
- vc.addMessage(message);
- }
- }
-
- // Verify unique role names within the <ejb-relation>
- validateUniqueRelationshipRoleNames(vc, ejbJar);
- _relationshipRoleName.clear();
-
- if(!atLeastOneCmrFieldExists) {
- // CHKJ2869I: At least one <ejb-relationship-role> must define a <cmr-field> (EJB 2.0: 10.3.2, 10.3.13, 22.5).
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2869, IEJBValidationContext.INFO, relation, this);
- vc.addMessage(message);
- }
- }
-
- validateUniqueRelationNames(vc, ejbJar);
- }
-
- protected void validateUniqueRelationNames(IEJBValidationContext vc, EJBJar ejbJar) {
- List names = _relationshipName.getDuplicates();
- if(names.size() == 0) {
- return;
- }
-
- Iterator iterator = names.iterator();
- while(iterator.hasNext()) {
- EJBRelationNameWrapper wrapper = (EJBRelationNameWrapper)iterator.next();
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2816, IEJBValidationContext.INFO, wrapper.getRelation(), new String[]{wrapper.getRelation().getName()}, this);
- vc.addMessage(message);
- }
- }
-
- protected void validateUniqueRelationshipRoleNames(IEJBValidationContext vc, EJBJar ejbJar) {
- List names = _relationshipRoleName.getDuplicates();
- if(names.size() == 0) {
- return;
- }
-
- Iterator iterator = names.iterator();
- while(iterator.hasNext()) {
- EJBRelationshipRoleNameWrapper wrapper = (EJBRelationshipRoleNameWrapper)iterator.next();
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2817, IEJBValidationContext.INFO, wrapper.getRelationshipRole(), new String[]{wrapper.getRelationshipRole().getName()}, this);
- vc.addMessage(message);
- }
- }
-
- /**
- * Both section 11.4.1 and 15.3.2 need the <method> element. Also refer
- * to 16.5 for syntax.
- *
- * Return true if at least one of the methods referenced by this list of
- * MethodElement can be found.
- */
- protected boolean validateMethodElements(IEJBValidationContext vc, EJBJar ejbJar, List elements) {
- if ((elements == null) || (elements.size() == 0)) {
- return false;
- }
-
- boolean hasValidMethod = false;
- Iterator iterator = elements.iterator();
- while (iterator.hasNext()) {
- vc.terminateIfCancelled();
- MethodElement element = (MethodElement) iterator.next();
-
- EnterpriseBean bean = element.getEnterpriseBean();
- if (bean == null) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2814, IEJBValidationContext.WARNING, element, this);
- vc.addMessage(message);
- continue;
- }
-
- if (element.getName() != null) {
- String name = element.getName();
-
- Method[] methods = element.getMethods(); // get all methods which will be retrieved for the given method-permission
- boolean hasMethods = ((methods != null) && (methods.length > 0));
-
- if (!hasMethods) {
- // warning
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2843, IEJBValidationContext.WARNING, element, new String[] { bean.getName()}, this);
- vc.addMessage(message);
- }
- else {
- hasValidMethod = true; // a <method-permission> must have at least one method (15.3.2, p.229)
- if (name.equals("*")) { //$NON-NLS-1$
- List params = element.getMethodParams();
- if ((params != null) && (params.size() > 0)) {
- // warning
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2842, IEJBValidationContext.WARNING, element, this);
- vc.addMessage(message);
- }
- }
- }
- }
- else {
- // error
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2844, IEJBValidationContext.WARNING, element, this);
- vc.addMessage(message);
- }
- }
-
- return hasValidMethod;
- }
-
- protected void validateClientJAR(IEJBValidationContext vc, EJBJar ejbJar) {
- String clientJARName = ejbJar.getEjbClientJar();
- if(clientJARName == null) {
- // No client JAR specified; everything's okay.
- return;
- }
-
- Boolean exists = (Boolean)vc.loadModel(EJBValidatorModelEnum.EJB_CLIENTJAR, new Object[]{clientJARName});
- if(exists == null) {
- // Helper doesn't support load model. WAS?
- // Can't perform this check, so just return.
- return;
- }
-
- if(!exists.booleanValue()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2875, IEJBValidationContext.ERROR, ejbJar, new String[]{clientJARName}, this);
- vc.addMessage(message);
- }
- }
-
- class ASNameWrapper {
- private ContainerManagedEntity _bean = null;
-
- public ASNameWrapper(ContainerManagedEntity bean) {
- _bean = bean;
- }
-
- public boolean equals(Object o) {
- if (o instanceof ASNameWrapper) {
- ASNameWrapper other = (ASNameWrapper)o;
- if((_bean.getAbstractSchemaName() == null) && (other.getBean().getAbstractSchemaName() == null)) {
- return true;
- }
- else if(_bean.getAbstractSchemaName() == null) {
- return false;
- }
- else if(other.getBean().getAbstractSchemaName() == null) {
- return false;
- }
- return _bean.getAbstractSchemaName().equals(other.getBean().getAbstractSchemaName());
- }
- return false;
- }
-
- public int hashCode() {
- if((getBean() != null) && (getBean().getAbstractSchemaName() != null)) {
- return getBean().getAbstractSchemaName().hashCode();
- }
- return super.hashCode();
- }
-
- public ContainerManagedEntity getBean() {
- return _bean;
- }
- }
-
- /**
- * Need to build up a list of duplicate EJB names, but the validation message
- * needs to be registered against the duplicate EnterpriseBean instance.
- * (Without the instance, we cannot get line numbers.)
- *
- * This class wrappers the EnterpriseBean instance so that the wrapper's
- * implemention of equals compares the names, but the validation message will
- * still be able to get the ref from the duplicate name.
- */
- class EjbNameWrapper {
- private EnterpriseBean _bean = null;
-
- public EjbNameWrapper(EnterpriseBean bean) {
- _bean = bean;
- }
-
- public boolean equals(Object o) {
- if (o instanceof EjbNameWrapper) {
- EjbNameWrapper other = (EjbNameWrapper)o;
- if((_bean.getName() == null) && (other.getBean().getName() == null)) {
- return true;
- }
- else if(_bean.getName() == null) {
- return false;
- }
- else if(other.getBean().getName() == null) {
- return false;
- }
- return _bean.getName().equals(other.getBean().getName());
- }
- return false;
- }
-
- public int hashCode() {
- if((getBean() != null) && (getBean().getName() != null)) {
- return getBean().getName().hashCode();
- }
- return super.hashCode();
- }
-
- public EnterpriseBean getBean() {
- return _bean;
- }
- }
-
- /**
- * Need to build up a list of duplicate relation names, but the validation message
- * needs to be registered against the duplicate EnterpriseBean instance.
- * (Without the instance, we cannot get line numbers.)
- *
- * This class wrappers the EnterpriseBean instance so that the wrapper's
- * implemention of equals compares the names, but the validation message will
- * still be able to get the ref from the duplicate name.
- */
- class EJBRelationNameWrapper {
- private EJBRelation _relation = null;
-
- public EJBRelationNameWrapper(EJBRelation rel) {
- _relation = rel;
- }
-
- public boolean equals(Object o) {
- if (o instanceof EJBRelationNameWrapper) {
- EJBRelationNameWrapper other = (EJBRelationNameWrapper)o;
- if((_relation.getName() == null) && (other.getRelation().getName() == null)) {
- return true;
- }
- else if(_relation.getName() == null) {
- return false;
- }
- else if(other.getRelation().getName() == null) {
- return false;
- }
- return _relation.getName().equals(other.getRelation().getName());
- }
- return false;
- }
-
- public int hashCode() {
- if((getRelation() != null) && (getRelation().getName() != null)) {
- return getRelation().getName().hashCode();
- }
- return super.hashCode();
- }
-
- public EJBRelation getRelation() {
- return _relation;
- }
- }
-
- /**
- * Need to build up a list of duplicate relation names, but the validation message
- * needs to be registered against the duplicate EnterpriseBean instance.
- * (Without the instance, we cannot get line numbers.)
- *
- * This class wrappers the EnterpriseBean instance so that the wrapper's
- * implemention of equals compares the names, but the validation message will
- * still be able to get the ref from the duplicate name.
- */
- class EJBRelationshipRoleNameWrapper {
- private EJBRelationshipRole _relationshipRole = null;
-
- public EJBRelationshipRoleNameWrapper(EJBRelationshipRole role) {
- _relationshipRole = role;
- }
-
- public boolean equals(Object o) {
- if (o instanceof EJBRelationshipRoleNameWrapper) {
- EJBRelationshipRoleNameWrapper other = (EJBRelationshipRoleNameWrapper)o;
- if((_relationshipRole.getRoleName() == null) && (other.getRelationshipRole().getRoleName() == null)) {
- return true;
- }
- else if(_relationshipRole.getRoleName() == null) {
- return false;
- }
- else if(other.getRelationshipRole().getRoleName() == null) {
- return false;
- }
- return _relationshipRole.getRoleName().equals(other.getRelationshipRole().getRoleName());
- }
- return false;
- }
-
- public int hashCode() {
- if((getRelationshipRole() != null) && (getRelationshipRole().getRoleName() != null)) {
- return getRelationshipRole().getRoleName().hashCode();
- }
- return super.hashCode();
- }
-
- public EJBRelationshipRole getRelationshipRole() {
- return _relationshipRole;
- }
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/EJBValidationContext.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/EJBValidationContext.java
deleted file mode 100644
index 7e496e1b9..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/EJBValidationContext.java
+++ /dev/null
@@ -1,194 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-
-import org.eclipse.jem.util.logger.LogEntry;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.validation.internal.core.Message;
-import org.eclipse.wst.validation.internal.core.MessageFilter;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.IReporter;
-import org.eclipse.wst.validation.internal.provisional.core.IValidationContext;
-import org.eclipse.wst.validation.internal.provisional.core.IValidator;
-import org.eclipse.wst.validation.internal.provisional.core.MessageLimitException;
-
-/**
- * @version 1.0
- * @author
- */
-public class EJBValidationContext implements IEJBValidationContext {
- private IValidator _validator = null;
- private IValidationContext _helper = null;
- private IReporter _reporter = null;
- private LogEntry logEntry = null;
-// private IMessage _message = null;
-
- public EJBValidationContext(IValidator v, IValidationContext h, IReporter r) {
- setValidator(v);
- setHelper(h);
- setReporter(r);
- }
-
- public IValidator getValidator() {
- return _validator;
- }
-
- public void setValidator(IValidator v) {
- _validator = v;
- }
-
- public IValidationContext getHelper() {
- return _helper;
- }
-
- public void setHelper(IValidationContext h) {
- _helper = h;
- }
-
- public IReporter getReporter() {
- return _reporter;
- }
-
- public void setReporter(IReporter r) {
- _reporter = r;
- }
-
- /*
- * Returns an empty Message which can be reused.
- */
- public IMessage getMessage() {
- IMessage message = new Message();
- message.setBundleName(IEJBValidatorConstants.BUNDLE_NAME);
- return message;
- /*
- if(_message == null) {
- _message = new Message();
- }
-
- reset(_message);
- _message.setBundleName(IEJBValidatorConstants.BUNDLE_NAME);
-
- return _message;
- */
- }
-
- /**
- * If, for performance reasons, an IMessage is reused instead of creating
- * a new one each time, this method resets the internal fields to the default.
- *
- * This method should really be on the IMessage implementation itself, but
- * this'll do for now.
- */
- protected void reset(IMessage message) {
- message.setId(null);
- message.setParams(null);
- message.setSeverity(MessageFilter.ANY_SEVERITY);
- message.setTargetObject(null);
- message.setBundleName(null);
- message.setGroupName(null);
- message.setLineNo(IMessage.LINENO_UNSET);
- message.setOffset(IMessage.OFFSET_UNSET);
- message.setLength(IMessage.OFFSET_UNSET);
- }
-
-
-
- public Logger getMsgLogger() {
- return Logger.getLogger(IEJBValidatorConstants.J2EE_CORE_PLUGIN);
- }
-
- public LogEntry getLogEntry() {
- if(logEntry == null)
- logEntry = new LogEntry(IEJBValidatorConstants.BUNDLE_NAME);
- return logEntry;
- }
-
- public Object loadModel(String symbolicName) {
- return getHelper().loadModel(symbolicName);
- }
-
- public Object loadModel(String symbolicName, Object[] parms) {
- return getHelper().loadModel(symbolicName, parms);
- }
-
- public void removeAllMessages() {
- getReporter().removeAllMessages(getValidator());
- }
-
- public void removeMessages(Object target) {
- getReporter().removeAllMessages(getValidator(), target);
- }
-
- public void removeMessages(Object target, String groupIdentifier) {
- getReporter().removeMessageSubset(getValidator(), target, groupIdentifier);
- }
-
- public void addMessage(IMessage message) throws MessageLimitException {
- if(message == null) {
- return;
- }
- getReporter().addMessage(getValidator(), message);
- }
-
- public void addMessage(int severity, String messageId) throws MessageLimitException {
- IMessage message = new Message(IEJBValidatorConstants.BUNDLE_NAME,severity,messageId);
- getReporter().addMessage(getValidator(), message);
- }
-
- public void addMessage(int severity, String messageId, String[] parms) throws MessageLimitException {
- IMessage message = new Message(IEJBValidatorConstants.BUNDLE_NAME,severity,messageId,parms);
- getReporter().addMessage(getValidator(), message);
- }
-
- public void addMessage(int severity, String messageId, Object target) throws MessageLimitException {
- IMessage message = new Message(IEJBValidatorConstants.BUNDLE_NAME,severity,messageId,null,target);
- getReporter().addMessage(getValidator(), message);
- }
-
- public void addMessage(int severity, String messageId, String[] parms, Object target) throws MessageLimitException {
- IMessage message = new Message(IEJBValidatorConstants.BUNDLE_NAME,severity,messageId,parms,target);
- getReporter().addMessage(getValidator(), message);
- }
-
- public void addMessage(int severity, String messageId, Object target, String groupName) throws MessageLimitException {
- IMessage message = new Message(IEJBValidatorConstants.BUNDLE_NAME,severity,messageId,null,target,groupName);
- }
-
- public void addMessage(int severity, String messageId, String[] parms, Object target, String groupName) throws MessageLimitException {
- IMessage message = new Message(IEJBValidatorConstants.BUNDLE_NAME,severity,messageId,parms,target,groupName);
- getReporter().addMessage(getValidator(), message);
- }
-
- public void terminateIfCancelled() throws ValidationCancelledException {
- if(getReporter().isCancelled()) {
- throw new ValidationCancelledException();
- }
- }
-
- public void subtask(String messageId) {
- subtask(messageId, null);
- }
-
- public void subtask(String messageId, String[] parms) {
- if((messageId == null) || (messageId.equals(""))) { //$NON-NLS-1$
- return;
- }
- IMessage message = getMessage();
- message.setId(messageId);
- message.setParams(parms);
- getReporter().displaySubtask(getValidator(), message);
- }
-
- public String[] getURIs() {
- return null;
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/EJBValidationRuleFactory.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/EJBValidationRuleFactory.java
deleted file mode 100644
index 522bf6828..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/EJBValidationRuleFactory.java
+++ /dev/null
@@ -1,373 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import java.util.HashMap;
-import java.util.logging.Level;
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jst.j2ee.ejb.ContainerManagedEntity;
-import org.eclipse.jst.j2ee.ejb.EJBJar;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.jst.j2ee.ejb.Entity;
-import org.eclipse.jst.j2ee.internal.J2EEConstants;
-import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
-
-/**
- * Core EJB Validation rules
- */
-public class EJBValidationRuleFactory extends AbstractEJBValidationRuleFactory {
- private static EJBValidationRuleFactory _inst = null;
- private Logger logger = null;
-
- public EJBValidationRuleFactory() {
- createRuleList();
- }
-
- public static EJBValidationRuleFactory getFactory() {
- if(_inst == null) {
- _inst = new EJBValidationRuleFactory();
- }
- return _inst;
- }
- protected Logger getMsgLogger(){
- if(logger == null)
- logger = Logger.getLogger(IEJBValidatorConstants.J2EE_CORE_PLUGIN);
- return logger;
- }
- private void createRuleList() {
- _ruleList = new HashMap();
-
- _ruleList.put(IValidationRuleList.EJB11_EJBJAR, new org.eclipse.jst.j2ee.model.internal.validation.EJBJar11VRule());
- _ruleList.put(IValidationRuleList.EJB20_EJBJAR, new org.eclipse.jst.j2ee.model.internal.validation.EJBJar20VRule());
-
- _ruleList.put(IValidationRuleList.EJB11_ENTERPRISEBEAN, new org.eclipse.jst.j2ee.model.internal.validation.EnterpriseBean11VRule());
- _ruleList.put(IValidationRuleList.EJB20_ENTERPRISEBEAN, new org.eclipse.jst.j2ee.model.internal.validation.EnterpriseBean20VRule());
-
- _ruleList.put(IValidationRuleList.EJB11_SESSION_BEANCLASS, new org.eclipse.jst.j2ee.model.internal.validation.ValidateSessionBean());
- _ruleList.put(IValidationRuleList.EJB11_SESSION_REMOTE, new org.eclipse.jst.j2ee.model.internal.validation.ValidateSessionRemote());
- _ruleList.put(IValidationRuleList.EJB11_SESSION_HOME, new org.eclipse.jst.j2ee.model.internal.validation.ValidateSessionHome());
-
- _ruleList.put(IValidationRuleList.EJB20_STATELESS_SESSION_BEANCLASS, new org.eclipse.jst.j2ee.model.internal.validation.StatelessSessionBeanClassVRule());
- _ruleList.put(IValidationRuleList.EJB20_STATELESS_SESSION_REMOTE, new org.eclipse.jst.j2ee.model.internal.validation.StatelessSessionRemoteComponentVRule());
- _ruleList.put(IValidationRuleList.EJB20_STATELESS_SESSION_HOME, new org.eclipse.jst.j2ee.model.internal.validation.StatelessSessionRemoteHomeVRule());
- _ruleList.put(IValidationRuleList.EJB20_STATELESS_SESSION_LOCAL, new org.eclipse.jst.j2ee.model.internal.validation.StatelessSessionLocalComponentVRule());
- _ruleList.put(IValidationRuleList.EJB20_STATELESS_SESSION_LOCALHOME, new org.eclipse.jst.j2ee.model.internal.validation.StatelessSessionLocalHomeVRule());
-
- _ruleList.put(IValidationRuleList.EJB20_STATEFUL_SESSION_BEANCLASS, new org.eclipse.jst.j2ee.model.internal.validation.StatefulSessionBeanClassVRule());
- _ruleList.put(IValidationRuleList.EJB20_STATEFUL_SESSION_REMOTE, new org.eclipse.jst.j2ee.model.internal.validation.StatefulSessionRemoteComponentVRule());
- _ruleList.put(IValidationRuleList.EJB20_STATEFUL_SESSION_HOME, new org.eclipse.jst.j2ee.model.internal.validation.StatefulSessionRemoteHomeVRule());
- _ruleList.put(IValidationRuleList.EJB20_STATEFUL_SESSION_LOCAL, new org.eclipse.jst.j2ee.model.internal.validation.StatefulSessionLocalComponentVRule());
- _ruleList.put(IValidationRuleList.EJB20_STATEFUL_SESSION_LOCALHOME, new org.eclipse.jst.j2ee.model.internal.validation.StatefulSessionLocalHomeVRule());
-
- _ruleList.put(IValidationRuleList.EJB11_CMP_BEANCLASS, new org.eclipse.jst.j2ee.model.internal.validation.ValidateCMPBean());
- _ruleList.put(IValidationRuleList.EJB11_CMP_REMOTE, new org.eclipse.jst.j2ee.model.internal.validation.ValidateCMPRemote());
- _ruleList.put(IValidationRuleList.EJB11_CMP_KEYCLASS, new org.eclipse.jst.j2ee.model.internal.validation.ValidateCMPKey());
-
- _ruleList.put(IValidationRuleList.EJB20_CMP_BEANCLASS, new org.eclipse.jst.j2ee.model.internal.validation.CMPBeanClassVRule());
- _ruleList.put(IValidationRuleList.EJB20_CMP_REMOTE, new org.eclipse.jst.j2ee.model.internal.validation.CMPRemoteComponentVRule());
- _ruleList.put(IValidationRuleList.EJB20_CMP_HOME, new org.eclipse.jst.j2ee.model.internal.validation.CMPRemoteHomeVRule());
- _ruleList.put(IValidationRuleList.EJB20_CMP_LOCAL, new org.eclipse.jst.j2ee.model.internal.validation.CMPLocalComponentVRule());
- _ruleList.put(IValidationRuleList.EJB20_CMP_LOCALHOME, new org.eclipse.jst.j2ee.model.internal.validation.CMPLocalHomeVRule());
- _ruleList.put(IValidationRuleList.EJB20_CMP_KEYCLASS, new org.eclipse.jst.j2ee.model.internal.validation.CMPKeyClassVRule());
-
- _ruleList.put(IValidationRuleList.EJB11_BMP_BEANCLASS, new org.eclipse.jst.j2ee.model.internal.validation.ValidateBMPBean());
- _ruleList.put(IValidationRuleList.EJB11_BMP_REMOTE, new org.eclipse.jst.j2ee.model.internal.validation.ValidateBMPRemote());
- _ruleList.put(IValidationRuleList.EJB11_BMP_HOME, new org.eclipse.jst.j2ee.model.internal.validation.ValidateBMPHome());
- _ruleList.put(IValidationRuleList.EJB11_BMP_KEYCLASS, new org.eclipse.jst.j2ee.model.internal.validation.ValidateBMPKey());
-
- _ruleList.put(IValidationRuleList.EJB20_BMP_BEANCLASS, new org.eclipse.jst.j2ee.model.internal.validation.BMPBeanClassVRule());
- _ruleList.put(IValidationRuleList.EJB20_BMP_REMOTE, new org.eclipse.jst.j2ee.model.internal.validation.BMPRemoteComponentVRule());
- _ruleList.put(IValidationRuleList.EJB20_BMP_HOME, new org.eclipse.jst.j2ee.model.internal.validation.BMPRemoteHomeVRule());
- _ruleList.put(IValidationRuleList.EJB20_BMP_LOCAL, new org.eclipse.jst.j2ee.model.internal.validation.BMPLocalComponentVRule());
- _ruleList.put(IValidationRuleList.EJB20_BMP_LOCALHOME, new org.eclipse.jst.j2ee.model.internal.validation.BMPLocalHomeVRule());
- _ruleList.put(IValidationRuleList.EJB20_BMP_KEYCLASS, new org.eclipse.jst.j2ee.model.internal.validation.BMPKeyClassVRule());
-
- _ruleList.put(IValidationRuleList.EJB20_MESSAGE_BEANCLASS, new org.eclipse.jst.j2ee.model.internal.validation.MessageDrivenBeanClassVRule());
-
- addDependentRuleToRuleList();
- logAllDependentRules();
- }
-
- /**
- * If the IFileDelta represents a static load model (i.e., the file name is always the same),
- * then return the Integer which loads that model. Otherwise return null.
- */
- public Object getRuleId(IEJBValidationContext vc, String fileName) {
- if(fileName == null) {
- Logger aLogger = vc.getMsgLogger();
- if (aLogger != null && aLogger.isLoggingLevel(Level.FINE)) {
- aLogger.write(Level.FINE, "Cannot load rule from fileName: " + fileName); //$NON-NLS-1$
- }
- return null;
- }
-
- EJBJar ejbJar = getEJBJar(vc);
-
- if(fileName.endsWith(J2EEConstants.EJBJAR_DD_SHORT_NAME)) {
- if(ejbJar.getVersionID() == J2EEVersionConstants.EJB_1_1_ID) {
- return IValidationRuleList.EJB11_EJBJAR;
- }
- return IValidationRuleList.EJB20_EJBJAR;
- }
- return null; // must be a JavaClass
- }
-
- /**
- * If the IFileDelta represents a dynamic load model (i.e., the file name can be changed by the
- * user), then return the Integer which loads that model. Return null if no such model exists.
- */
- public final Object getRuleId(IEJBValidationContext vc, JavaClass clazz, EnterpriseBean bean) {
- // Return the rule id which will validate the JavaClass as the
- // type which it is used as by the EnterpriseBean.
- if((clazz == null) || (bean == null)) {
- Logger aLogger = vc.getMsgLogger();
- if (aLogger != null && aLogger.isLoggingLevel(Level.FINE)) {
- aLogger.write(Level.FINE, "Cannot load rule because either bean (" + bean + ") or class (" + clazz + ") is null"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
- return null;
- }
-
- boolean isStatelessSession = (bean.isSession() && ValidationRuleUtility.isStateless(bean));
- boolean isStatefulSession = (bean.isSession() && ValidationRuleUtility.isStateful(bean));
-
- if(bean.getVersionID() >= J2EEVersionConstants.EJB_2_0_ID) {
- if(clazz.equals(bean.getEjbClass())) {
- if(isStatelessSession) {
- return IValidationRuleList.EJB20_STATELESS_SESSION_BEANCLASS;
- }
- else if(isStatefulSession) {
- return IValidationRuleList.EJB20_STATEFUL_SESSION_BEANCLASS;
- }
- else if(bean.isContainerManagedEntity()) {
- return IValidationRuleList.EJB20_CMP_BEANCLASS;
- }
- else if(bean.isBeanManagedEntity()) {
- return IValidationRuleList.EJB20_BMP_BEANCLASS;
- }
- else if(bean.isMessageDriven()) {
- return IValidationRuleList.EJB20_MESSAGE_BEANCLASS;
- }
- else {
- Logger aLogger = vc.getMsgLogger();
- if (aLogger != null && aLogger.isLoggingLevel(Level.FINE)) {
- aLogger.write(Level.FINE, "Cannot load rule: bean.isVersion2_X() && clazz.equals(bean.getEjbClass()"); //$NON-NLS-1$
- }
-
- return null;
- }
- }
- else if(clazz.equals(bean.getRemoteInterface())) {
- if(isStatelessSession) {
- return IValidationRuleList.EJB20_STATELESS_SESSION_REMOTE;
- }
- else if(isStatefulSession) {
- return IValidationRuleList.EJB20_STATEFUL_SESSION_REMOTE;
- }
- else if(bean.isContainerManagedEntity()) {
- return IValidationRuleList.EJB20_CMP_REMOTE;
- }
- else if(bean.isBeanManagedEntity()) {
- return IValidationRuleList.EJB20_BMP_REMOTE;
- }
- else {
- Logger aLogger = vc.getMsgLogger();
- if (aLogger.isLoggingLevel(Level.FINE)) {
- aLogger.write(Level.FINE, "Cannot load rule: bean.isVersion2_X() && clazz.equals(bean.getRemoteInterface()"); //$NON-NLS-1$
- }
- return null;
- }
- }
- else if(clazz.equals(bean.getHomeInterface())) {
- if(isStatelessSession) {
- return IValidationRuleList.EJB20_STATELESS_SESSION_HOME;
- }
- else if(isStatefulSession) {
- return IValidationRuleList.EJB20_STATEFUL_SESSION_HOME;
- }
- else if(bean.isContainerManagedEntity()) {
- return IValidationRuleList.EJB20_CMP_HOME;
- }
- else if(bean.isBeanManagedEntity()) {
- return IValidationRuleList.EJB20_BMP_HOME;
- }
- else {
- Logger aLogger = vc.getMsgLogger();
- if (aLogger.isLoggingLevel(Level.FINE)) {
- aLogger.write(Level.FINE, "Cannot load rule: bean.isVersion2_X() && clazz.equals(bean.getHomeInterface()"); //$NON-NLS-1$
- }
- return null;
- }
- }
- else if(clazz.equals(bean.getLocalHomeInterface())) {
- if(isStatelessSession) {
- return IValidationRuleList.EJB20_STATELESS_SESSION_LOCALHOME;
- }
- else if(isStatefulSession) {
- return IValidationRuleList.EJB20_STATEFUL_SESSION_LOCALHOME;
- }
- else if(bean.isContainerManagedEntity()) {
- return IValidationRuleList.EJB20_CMP_LOCALHOME;
- }
- else if(bean.isBeanManagedEntity()) {
- return IValidationRuleList.EJB20_BMP_LOCALHOME;
- }
- else {
- Logger aLogger = vc.getMsgLogger();
- if (aLogger.isLoggingLevel(Level.FINE)) {
- aLogger.write(Level.FINE, "Cannot load rule: bean.isVersion2_X() && clazz.equals(bean.getLocalHomeInterface()"); //$NON-NLS-1$
- }
- return null;
- }
- }
- else if(clazz.equals(bean.getLocalInterface())) {
- if(isStatelessSession) {
- return IValidationRuleList.EJB20_STATELESS_SESSION_LOCAL;
- }
- else if(isStatefulSession) {
- return IValidationRuleList.EJB20_STATEFUL_SESSION_LOCAL;
- }
- else if(bean.isContainerManagedEntity()) {
- return IValidationRuleList.EJB20_CMP_LOCAL;
- }
- else if(bean.isBeanManagedEntity()) {
- return IValidationRuleList.EJB20_BMP_LOCAL;
- }
- else {
- Logger aLogger = vc.getMsgLogger();
- if (aLogger.isLoggingLevel(Level.FINE)) {
- aLogger.write(Level.FINE, "Cannot load rule: bean.isVersion2_X() && clazz.equals(bean.getLocalInterface()"); //$NON-NLS-1$
- }
- return null;
- }
- }
- else if(bean instanceof Entity) {
- if(clazz.equals(((Entity)bean).getPrimaryKey())) {
- if(bean.isContainerManagedEntity()) {
- ContainerManagedEntity cmp = (ContainerManagedEntity)bean;
- // If it's a primitive primary key, it's exempt from these checks.
- if(ValidationRuleUtility.isPrimitivePrimaryKey(cmp)) {
- return null;
- }
- else if(ValidationRuleUtility.usesUnknownPrimaryKey(cmp)) {
- return null;
- }
- return IValidationRuleList.EJB20_CMP_KEYCLASS;
- }
- else if(bean.isBeanManagedEntity()) {
- return IValidationRuleList.EJB20_BMP_KEYCLASS;
- }
- else {
- Logger aLogger = vc.getMsgLogger();
- if (aLogger.isLoggingLevel(Level.FINE)) {
- aLogger.write(Level.FINE, "Cannot load rule: bean.isVersion2_X() && clazz.equals(((Entity)bean).getPrimaryKey()"); //$NON-NLS-1$
- }
- return null;
- }
- }
- }
-
- Logger aLogger = vc.getMsgLogger();
- if (aLogger.isLoggingLevel(Level.FINE)) {
- aLogger.write(Level.FINE, "Cannot load rule: bean.isVersion2_X()"); //$NON-NLS-1$
- }
- return null;
- }
- else if(bean.getVersionID() <= J2EEVersionConstants.EJB_1_1_ID) {
- if(clazz.equals(bean.getEjbClass())) {
- if(bean.isSession()) {
- return IValidationRuleList.EJB11_SESSION_BEANCLASS;
- }
- else if(bean.isContainerManagedEntity()) {
- return IValidationRuleList.EJB11_CMP_BEANCLASS;
- }
- else if(bean.isBeanManagedEntity()) {
- return IValidationRuleList.EJB11_BMP_BEANCLASS;
- }
- else {
- Logger aLogger = vc.getMsgLogger();
- if (aLogger.isLoggingLevel(Level.FINE)) {
- aLogger.write(Level.FINE, "Cannot load rule: bean.isVersion1_X() && clazz.equals(bean.getEjbClass()"); //$NON-NLS-1$
- }
- return null;
- }
- }
- else if(clazz.equals(bean.getRemoteInterface())) {
- if(bean.isSession()) {
- return IValidationRuleList.EJB11_SESSION_REMOTE;
- }
- else if(bean.isContainerManagedEntity()) {
- return IValidationRuleList.EJB11_CMP_REMOTE;
- }
- else if(bean.isBeanManagedEntity()) {
- return IValidationRuleList.EJB11_BMP_REMOTE;
- }
- else {
- Logger aLogger = vc.getMsgLogger();
- if (aLogger.isLoggingLevel(Level.FINE)) {
- aLogger.write(Level.FINE, "Cannot load rule: bean.isVersion1_X() && clazz.equals(bean.getRemoteInterface()"); //$NON-NLS-1$
- }
- return null;
- }
- }
- else if(clazz.equals(bean.getHomeInterface())) {
- if(bean.isSession()) {
- return IValidationRuleList.EJB11_SESSION_HOME;
- }
- else if(bean.isContainerManagedEntity()) {
- return IValidationRuleList.EJB11_CMP_HOME;
- }
- else if(bean.isBeanManagedEntity()) {
- return IValidationRuleList.EJB11_BMP_HOME;
- }
- else {
- Logger aLogger = vc.getMsgLogger();
- if (aLogger.isLoggingLevel(Level.FINE)) {
- aLogger.write(Level.FINE, "Cannot load rule: bean.isVersion1_X() && clazz.equals(bean.getHomeInterface()"); //$NON-NLS-1$
- }
- return null;
- }
- }
- else if(bean instanceof Entity) {
- if(clazz.equals(((Entity)bean).getPrimaryKey())) {
- if(bean.isContainerManagedEntity()) {
- ContainerManagedEntity cmp = (ContainerManagedEntity)bean;
- // If it's a primitive primary key, it's exempt from these checks.
- if(ValidationRuleUtility.isPrimitivePrimaryKey(cmp)) {
- return null;
- }
- else if(ValidationRuleUtility.usesUnknownPrimaryKey(cmp)) {
- return null;
- }
- return IValidationRuleList.EJB11_CMP_KEYCLASS;
- }
- else if(bean.isBeanManagedEntity()) {
- return IValidationRuleList.EJB11_BMP_KEYCLASS;
- }
- else {
- Logger aLogger = vc.getMsgLogger();
- if (aLogger.isLoggingLevel(Level.FINE)) {
- aLogger.write(Level.FINE, "Cannot load rule: bean.isVersion1_X() && clazz.equals(((Entity)bean).getPrimaryKey()"); //$NON-NLS-1$
- }
- return null;
- }
- }
- }
- }
-
- Logger aLogger = vc.getMsgLogger();
- if (aLogger.isLoggingLevel(Level.FINE)) {
- aLogger.write(Level.FINE, "Cannot load rule: !bean.isVersion1_X() && !bean.isVersion2_X()"); //$NON-NLS-1$
- }
- return null;
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/EJBValidator.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/EJBValidator.java
deleted file mode 100644
index b02e26d44..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/EJBValidator.java
+++ /dev/null
@@ -1,501 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.logging.Level;
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.util.logger.LogEntry;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jst.j2ee.ejb.EJBJar;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.jst.j2ee.ejb.Entity;
-import org.eclipse.jst.j2ee.internal.J2EEConstants;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.IReporter;
-import org.eclipse.wst.validation.internal.provisional.core.IValidationContext;
-import org.eclipse.wst.validation.internal.provisional.core.MessageLimitException;
-
-/**
- * @version 1.0
- * @author
- */
-public class EJBValidator extends AbstractEJBValidator {
- private static EJBValidator _inst = null;
- private static TargetObjectPool _targetObjectPoolSingleton = null;
- private LogEntry logEntry = null;
-
-
- public EJBValidator() {
- _inst = this;
- }
-
- public static EJBValidator getValidator() {
- return _inst;
- }
-
- private LogEntry getLogEntry(){
- if(logEntry == null)
- logEntry = new LogEntry(IEJBValidatorConstants.BUNDLE_NAME);
- return logEntry;
- }
-
- public String getBaseName() {
- return "ejbvalidator"; //$NON-NLS-1$
- }
-
- /*
- * @see IValidator#validate(IValidationContext, IReporter, IFileDelta[])
- */
- public void validate(IValidationContext helper, IReporter reporter) throws ValidationException {
- long start = System.currentTimeMillis();
- Logger logger = Logger.getLogger(IEJBValidatorConstants.J2EE_CORE_PLUGIN);
- if(logger != null && logger.isLoggingLevel(Level.FINER)) {
- long end = System.currentTimeMillis();
- LogEntry entry = getLogEntry();
- entry.setSourceID("EJBValidator::validate"); //$NON-NLS-1$
- entry.setText("validate took " + (end - start) + " milliseconds."); //$NON-NLS-1$ //$NON-NLS-2$
- logger.write(Level.FINER, entry);
- }
-
- EJBValidationContext vc = new EJBValidationContext(this, helper, reporter);
- setValidationContext(vc);
- if(isFullValidate(vc)) {
- fullValidate(vc);
- }
- else {
- incrementalValidate(vc);
- }
- if(logger != null && logger.isLoggingLevel(Level.FINER)) {
- long end = System.currentTimeMillis();
- LogEntry entry = getLogEntry();
- entry.setSourceID("EJBValidator::validate"); //$NON-NLS-1$
- entry.setText("validate took " + (end - start) + " milliseconds."); //$NON-NLS-1$ //$NON-NLS-2$
- logger.write(Level.FINER, entry);
- }
- }
-
- public boolean isFullValidate(IEJBValidationContext vc) {
- String[] fileURIs = vc.getURIs();
- if(fileURIs == null) {
- return true;
- }
- if(fileURIs.length == 0) {
- return true;
- }
-
- for(int i=0; i<fileURIs.length; i++) {
- String uri = fileURIs[i];
- if(uri.endsWith(J2EEConstants.EJBJAR_DD_SHORT_NAME)) {
- return true;
- }
- }
-
- return false;
- }
-
- public void runDependents(IEJBValidationContext vc, IValidationRule rule, Object targetParent, Object target) throws ValidationException {
- // If a class is being run only because it depends on a rule which has changed,
- // i.e., it's a dependent, then we don't want to run its dependents because the
- // class itself hasn't changed.
- Set dependents = rule.getDependents();
- if(dependents == null) {
- return;
- }
-
- Iterator iterator = dependents.iterator();
- while(iterator.hasNext()) {
- try {
- IValidationRule dRule = (IValidationRule)iterator.next();
- Object dRuleTarget = dRule.getTarget(targetParent, target);
- if(dRuleTarget != null) {
- run(dRule, targetParent, dRuleTarget); // false=not full validation
- }
- }
- catch(ValidationCancelledException e) {
- throw e;
- }
- catch(ValidationException e) {
- throw e;
- }
- catch(MessageLimitException e) {
- throw e;
- }
- catch(Throwable exc) {
- addInternalErrorMessage(getValidationContext(), exc);
- }
- finally {
- EJBValidationRuleFactory.getFactory().release(rule);
- }
- }
- }
-
- protected String internalErrorMessage() {
- return IEJBValidatorMessageConstants.CHKJ2900;
- }
-
-
-
- protected void logMissingRule(IEJBValidationContext vc, Object ruleId) {
- Logger logger = vc.getMsgLogger();
- if (logger != null && logger.isLoggingLevel(Level.SEVERE)) {
- logger.write(Level.SEVERE, ruleId + " = null"); //$NON-NLS-1$
- }
- addInternalErrorMessage(vc);
- }
-
- protected void preRemoveOldMessages(IEJBValidationContext vc, Map targets) throws ValidationException {
- Set validatedClasses = new HashSet();
-
- try {
- String[] uris = vc.getURIs();
- for(int i=0; i<uris.length; i++) {
- String uriInst = uris[i];
- if((uriInst == null) || (uriInst.length() == 0)) {
- continue;
- }
-
- Object id = EJBValidationRuleFactory.getFactory().getRuleId(vc, uriInst);
- if(id == null) {
- Object[] clazzAndBean = (Object[])vc.loadModel(uriInst, null); // Don't need a second parameter, but can't cast a RefObject to an Object[], so use the second load method.
- if(clazzAndBean == null) {
- // Log, add "Cannot validate" to task list, and return.
- logMissingRule(vc, id);
- continue;
- }
-
- // In the clazzAndBean object array, the first entry is the JavaClass,
- // and the rest of the entries are the EnterpriseBean instances which
- // use the JavaClass.
- JavaClass clazz = (JavaClass)clazzAndBean[0];
- List beans = (List)clazzAndBean[1];
-
- // The validatedClass set keeps track of JavaClasses
- // that have changed, and this set is used to determine
- // whose children need to be found and validated.
- // Validation is performed after all of the changed files
- // are validated so that all of the children of all of
- // the changed files can be searched for at once. Searching
- // once on a group produces performance savings because
- // the type hierarchy method takes a non-trivial amount
- // of time when there's a large group of deltas.
- validatedClasses.add(clazz);
-
- if((beans == null) || (beans.size() == 0)) {
- // The JavaClass itself is not part of an enterprise bean, but one of its children may be.
- }
- else {
- Iterator iterator = beans.iterator();
- while(iterator.hasNext()) {
- EnterpriseBean bean = (EnterpriseBean)iterator.next();
- id = EJBValidationRuleFactory.getFactory().getRuleId(vc, clazz, bean);
-
- IValidationRule clazzRule = EJBValidationRuleFactory.getFactory().getRule(vc, id);
- if(clazzRule == null) {
- // This has already been logged by the AbstractEJBValidationRuleFactory (if it's
- // an error - this is expected if the key is a primitive primary key).
- continue;
- }
-
- setValidated(clazzRule.getId(), bean, clazz);
- }
- }
-
- }
- else {
- EJBJar ejbJar = (EJBJar)vc.loadModel(EJBValidatorModelEnum.EJB_MODEL);
- if(ejbJar == null) {
- // Log, add "Cannot validate" to task list, and return.
- continue;
- }
-
- IValidationRule ejbExtRule = EJBValidationRuleFactory.getFactory().getRule(vc, id);
- if(ejbExtRule == null) {
- // This has already been logged by the AbstractEJBValidationRuleFactory, so just
- // need to add "Cannot validate" to the task list.
- continue;
- }
-
- setValidated(ejbExtRule.getId(), null, ejbJar);
- }
- } // end for
-
- // Always validate ejb-jar.xml, because a change to one of the files it references
- // may mean that it needs to be revalidated.
- EJBJar ejbJar = (EJBJar)vc.loadModel(EJBValidatorModelEnum.EJB_MODEL);
- if(ejbJar != null) {
- Object id = EJBValidationRuleFactory.getFactory().getRuleId(vc, J2EEConstants.EJBJAR_DD_SHORT_NAME);
- if(id == null) {
- // Log, add "Cannot validate" to task list, and return.
- logMissingRule(vc, id);
- }
- else {
- IValidationRule ejbJarRule = EJBValidationRuleFactory.getFactory().getRule(vc, id);
- if(ejbJarRule == null) {
- logMissingRule(vc, id);
- }
- setValidated(ejbJarRule.getId(), null, ejbJar);
- }
- }
-
- if(validatedClasses.size() > 0) {
- // Check the children of the changed classes.
- // This check must be done before the dependents, because
- // the dependents of the children classes must be checked
- // as well.
-
- // Class never validated before, so check its children
- JavaClass[] children = (JavaClass[])vc.loadModel(EJBValidatorModelEnum.CHILDREN, new Object[]{vc.getReporter(), validatedClasses});
- validatedClasses.clear(); // Don't need this cache any more; free the memory.
- if((children != null) && (children.length > 0)) {
- Iterator bciterator = null;
- Object id = null;
- for(int c=0; c<children.length; c++) {
- JavaClass child = children[c];
- List beans = (List)vc.loadModel(EJBValidatorModelEnum.EJB, new Object[]{child});
- if((beans == null) || (beans.size() == 0)) {
- // The child is not a member of an enterprise bean.
- continue;
- }
-
- bciterator = beans.iterator();
- while(bciterator.hasNext()) {
- EnterpriseBean bean = (EnterpriseBean)bciterator.next();
- id = EJBValidationRuleFactory.getFactory().getRuleId(vc, child, bean);
-
- IValidationRule clazzRule = EJBValidationRuleFactory.getFactory().getRule(vc, id);
- if(clazzRule == null) {
- // This has already been logged by the AbstractEJBValidationRuleFactory, so just
- // need to add "Cannot validate" to the task list.
- continue;
- }
-
- setValidated(clazzRule.getId(), bean, child);
- }
- }
- }
- }
-
- // Now, validate the dependents.
- targets.putAll(_validated);
- Iterator iterator = targets.keySet().iterator();
- while(iterator.hasNext()) {
- Object id = iterator.next();
- IValidationRule rule = EJBValidationRuleFactory.getFactory().getRule(vc, id);
- if(rule == null) {
- continue;
- }
-
- Set contexts = (Set)targets.get(id);
- if(contexts == null) {
- continue;
- }
-
- Iterator cIterator = contexts.iterator();
- while(cIterator.hasNext()) {
- TargetObject to = (TargetObject)cIterator.next();
- Object targetParent = to.getTargetParent();
- Object target = to.getTarget();
- Set dependents = rule.getDependents();
- if(dependents == null) {
- continue;
- }
-
- Iterator dIterator = dependents.iterator();
- while(dIterator.hasNext()) {
- try {
- IValidationRule dRule = (IValidationRule)dIterator.next();
- Object dRuleTarget = dRule.getTarget(targetParent, target);
- if(dRuleTarget != null) {
- setValidated(dRule.getId(), targetParent, dRuleTarget);
- }
- }
- catch(ValidationCancelledException e) {
- throw e;
- }
- catch(MessageLimitException e) {
- throw e;
- }
- catch(Throwable exc) {
- addInternalErrorMessage(getValidationContext(), exc);
- }
- finally {
- EJBValidationRuleFactory.getFactory().release(rule);
- }
- }
- }
- }
- }
- finally {
- // No matter what, clear the temporary caches.
- targets.clear();
- validatedClasses.clear();
-
- // Now put the "validated" results in "done", because they weren't
- // really validated; it was just a tracking mechanism.
- targets.putAll(_validated);
- _validated.clear(); // Clear the "validated" cache because the targets weren't really validated; they were just tracked.
- }
- }
-
- protected String removeOldMessagesString() {
- return EJBValidatorModelEnum.REMOVE_OLD_MESSAGES;
- }
-
- public void fullValidate(IEJBValidationContext vc) throws ValidationException {
- removeOldMessages(vc,null); // null == no IFileDelta, null = don't track targets
-
- EJBJar ejbJar = (EJBJar)vc.loadModel(EJBValidatorModelEnum.EJB_MODEL);
- if(ejbJar == null) {
- // Log, add "Cannot validate" to task list, and return.
- // EJBProjectResources will already have logged the problem.
-
- IMessage mssg = vc.getMessage();
- mssg.setId(IEJBValidatorMessageConstants.CHKJ2905);
- vc.addMessage(mssg);
- return;
- }
-
- Object id = EJBValidationRuleFactory.getFactory().getRuleId(vc, J2EEConstants.EJBJAR_DD_SHORT_NAME);
- if(id == null) {
- // Log, add "Cannot validate" to task list, and return.
- logMissingRule(vc, J2EEConstants.EJBJAR_DD_SHORT_NAME);
- return;
- }
- IValidationRule ejbJarRule = EJBValidationRuleFactory.getFactory().getRule(vc, id);
- if(ejbJarRule == null) {
- logMissingRule(vc, id);
- return;
- }
- run(ejbJarRule, null, ejbJar); // true= full validation
-
- List beans = ejbJar.getEnterpriseBeans();
- Iterator iterator = beans.iterator();
- id = null;
-
- while(iterator.hasNext()) {
- EnterpriseBean bean = (EnterpriseBean)iterator.next();
- JavaClass[] classes = getJavaClass(bean);
- for(int i=0; i<classes.length; i++) {
- JavaClass clazz = classes[i];
- id = EJBValidationRuleFactory.getFactory().getRuleId(vc, clazz, bean);
-
- IValidationRule clazzRule = EJBValidationRuleFactory.getFactory().getRule(vc, id);
- if(clazzRule == null) {
- // This has already been logged by the AbstractEJBValidationRuleFactory (if it's
- // an error - this is expected if the key is a primitive primary key).
- continue;
- }
-
- run(clazzRule, bean, clazz); // true = full validation
- }
- }
- }
-
- protected JavaClass[] getJavaClass(EnterpriseBean bean) {
- int count = 0;
- JavaClass[] classes = new JavaClass[6];
-
- JavaClass ejbClass = bean.getEjbClass();
- if((ejbClass != null) && (ejbClass.isExistingType())) {
- classes[count++] = ejbClass;
- }
-
- JavaClass remoteClass = bean.getRemoteInterface();
- if((remoteClass != null) && (remoteClass.isExistingType())) {
- classes[count++] = remoteClass;
- }
-
- JavaClass localClass = bean.getLocalInterface();
- if((localClass != null) && (localClass.isExistingType())) {
- classes[count++] = localClass;
- }
-
- JavaClass homeClass = bean.getHomeInterface();
- if((homeClass != null) && (homeClass.isExistingType())) {
- classes[count++] = homeClass;
- }
-
- JavaClass localHomeClass = bean.getLocalHomeInterface();
- if((localHomeClass != null) && (localHomeClass.isExistingType())) {
- classes[count++] = localHomeClass;
- }
-
- if(bean instanceof Entity) {
- JavaClass key = ((Entity)bean).getPrimaryKey();
- if((key != null) && (key.isExistingType())) {
- classes[count++] = key;
- }
- }
-
- if(count == 6) {
- return classes;
- }
-
- JavaClass[] result = new JavaClass[count];
- System.arraycopy(classes, 0, result, 0, count);
- return result;
- }
-
- public void incrementalValidate(IEJBValidationContext vc) throws ValidationException {
- Map targets = new HashMap();
- try {
- removeOldMessages(vc,targets);
-
- Iterator iterator = targets.keySet().iterator();
- while(iterator.hasNext()) {
- Object id = iterator.next();
- IValidationRule rule = EJBValidationRuleFactory.getFactory().getRule(vc, id);
- if(rule == null) {
- continue;
- }
-
- Set contexts = (Set)targets.get(id);
- if(contexts == null) {
- continue;
- }
-
- Iterator cIterator = contexts.iterator();
- while(cIterator.hasNext()) {
- TargetObject to = (TargetObject)cIterator.next();
- run(rule, to.getTargetParent(), to.getTarget());
- }
- }
- }
- finally {
- targets.clear();
- targets = null;
- }
- }
-
- protected TargetObjectPool getTargetObjectPool() {
- if(_targetObjectPoolSingleton == null) {
- _targetObjectPoolSingleton = new TargetObjectPool(100);
- }
- return _targetObjectPoolSingleton;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.j2ee.internal.model.validation.AbstractEJBValidator#releaseRules(org.eclipse.jst.j2ee.internal.model.validation.ejb.IValidationRule)
- */
- protected void releaseRules(IValidationRule rule) {
- EJBValidationRuleFactory.getFactory().release(rule);
-
- }
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/EJBValidatorModelEnum.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/EJBValidatorModelEnum.java
deleted file mode 100644
index 584824030..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/EJBValidatorModelEnum.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-
-/**
- * This interface contains the symbolic names of the models which the
- * EJBValidator needs, and the IValidationContext that is used in the EJBValidator's
- * validate method must support these symbolic names.
- */
-public interface EJBValidatorModelEnum {
- public final static String EJB_MODEL = "EJB_MODEL"; // return an EJBJar object //$NON-NLS-1$
- public final static String EJB_FILE = "EJB_FILE"; // return a ModuleFile object (either EJBJarFile or EARFile) //$NON-NLS-1$
- public final static String EJB = "EJB"; // Given a JavaClass instance, return a java.util.List of EnterpriseBean instances that use that JavaClass as part of the bean. //$NON-NLS-1$
- public final static String CHILDREN = "children"; // Given a JavaClass instance, return a JavaClass[] of the JavaClasses that inherit or extend the instance. //$NON-NLS-1$
- //The EJB_BINDING symbols is WAS specific and need to be moved to WAS Ext layer
- public final static String EJB_BINDING = "EJB_BINDING"; // return the EJBJarBinding for the EJBJar //$NON-NLS-1$
- public final static String EJB_CLIENTJAR = "EJB_CLIENTJAR"; // If the EJB uses a client JAR, given the name of the JAR, this method returns a Boolean.TRUE if the client JAR can be found and loaded successfully. If it can't be found and loaded, return Boolean.FALSE. //$NON-NLS-1$
- public final static String REMOVE_OLD_MESSAGES = "REMOVE_OLD_MESSAGES"; // Remove all Messages registered against the given Objects in the array. //$NON-NLS-1$
-}
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/EarValidator.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/EarValidator.java
deleted file mode 100644
index 71466103a..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/EarValidator.java
+++ /dev/null
@@ -1,705 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-
-
-import java.io.FileNotFoundException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.emf.common.command.Command;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jst.j2ee.application.Application;
-import org.eclipse.jst.j2ee.application.Module;
-import org.eclipse.jst.j2ee.application.WebModule;
-import org.eclipse.jst.j2ee.client.ApplicationClient;
-import org.eclipse.jst.j2ee.common.EJBLocalRef;
-import org.eclipse.jst.j2ee.common.EjbRef;
-import org.eclipse.jst.j2ee.common.MessageDestinationRef;
-import org.eclipse.jst.j2ee.common.ResourceEnvRef;
-import org.eclipse.jst.j2ee.common.ResourceRef;
-import org.eclipse.jst.j2ee.common.SecurityRole;
-import org.eclipse.jst.j2ee.common.SecurityRoleRef;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ModuleFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ModuleRef;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ValidateXmlCommand;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.ArchiveWrappedException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.NoModuleFileException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.ResourceLoadException;
-import org.eclipse.jst.j2ee.ejb.EJBJar;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
-import org.eclipse.jst.j2ee.internal.client.impl.ApplicationClientImpl;
-import org.eclipse.jst.j2ee.internal.common.XMLResource;
-import org.eclipse.jst.j2ee.internal.common.impl.EjbRefImpl;
-import org.eclipse.jst.j2ee.webapplication.WebApp;
-import org.eclipse.jst.j2ee.webservice.wsclient.ServiceRef;
-import org.eclipse.wst.validation.internal.core.Message;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.IReporter;
-import org.eclipse.wst.validation.internal.provisional.core.IValidationContext;
-
-
-/**
- * Insert the type's description here.
- * Creation date: (12/6/2000 11:08:55 AM)
- * @author: Administrator
- */
-public class EarValidator extends org.eclipse.jst.j2ee.model.internal.validation.J2EEValidator implements EARMessageConstants {
- public static final String RES_REF_GROUP_NAME = "RES_REF_GROUP_NAME"; //$NON-NLS-1$
- public static final String RES_ENV_REF_GROUP_NAME = "RES_ENV_REF_GROUP_NAME"; //$NON-NLS-1$
- public static final String SERVICE_REF_GROUP_NAME = "SERVICE_REF_GROUP_NAME"; //$NON-NLS-1$
- public static final String EJB_REF_GROUP_NAME = "EJB_REF_GROUP_NAME"; //$NON-NLS-1$
- public static final String SEC_ROLE_REF_GROUP_NAME = "SEC_ROLE_REF_GROUP_NAME"; //$NON-NLS-1$
- public static final String MESSAGE_REF_GROUP_NAME = "MESSAGE_REF_GROUP_NAME"; //$NON-NLS-1$
- protected EARFile earFile;
- protected Application appDD;
-
- /**
- * RelationshipMapValidator constructor comment.
- */
- public EarValidator() {
- super();
- }// EarValidator
-
- /**
- * Creates the validateXML command.
- *
- * @return Command
- */
- public Command createValidateXMLCommand() {
- Command cmd = new ValidateXmlCommand(earFile);
- return cmd;
- }// createValidateXMLCommand
-
- /**
- * <p>Answer the id of the resource bundle which is
- * used by the receiver.</p>
- *
- * @return String
- */
- public String getBaseName() {
- return EAR_CATEGORY;
- }// getBaseName
-
- /**
- * XML Validation now handles validation of Deployment Descriptor
- *
- * @throws ValidationException
- */
- public void validate() throws ValidationException {
- validateModules(appDD.getModules());
- validateSecurity();
- validateRefs();
- validateWebContexts();
- validateSpecLevel();
- }// validate
-
- /**
- * Does the validation
- */
- public void validate(IValidationContext inHelper, IReporter inReporter) throws ValidationException {
- inReporter.removeAllMessages(this);
- super.validate(inHelper, inReporter);
- try {
- earFile = (EARFile) _helper.loadModel(EAR_MODEL_NAME);
- if (earFile != null) {
- appDD = earFile.getDeploymentDescriptor();
- if (appDD != null && appDD.eResource() != null && appDD.eResource().isLoaded())
- validate();
- else {
- IMessage errorMsg = new Message(getBaseName(), IMessage.HIGH_SEVERITY, EAR_DD_CANNOT_OPEN_DD, new String[] { getResourceName()});
- throw new ValidationException(errorMsg);
- }
- } else {
- IMessage errorMsg = new Message(getBaseName(), IMessage.HIGH_SEVERITY, ERROR_EAR_INVALID_EAR_FILE, new String[] { getResourceName()});
- throw new ValidationException(errorMsg);
- } // if
- } catch (ValidationException ex) {
- throw ex;
- } catch (Exception e) {
- String[] param = new String[1];
- if (earFile != null)
- param[0] = earFile.getName();
- Logger.getLogger().logError(e);
- IMessage errorMsg = new Message(getBaseName(), IMessage.HIGH_SEVERITY, EAR_VALIDATION_INTERNAL_ERROR_UI_, param);
- throw new ValidationException(errorMsg, e);
- } // try
- } // validate
-
-
- /**
- * Gets the resource name
- *
- * @return String
- */
- protected String getResourceName() {
- return earFile.getURI();
- }// getResourceName
-
- /**
- * validate for duplicates in EAR Roles
- *
- * @param EList earRoleList - List of ear roles.
- */
- public void validateEarRoles(EList earRoleList) {
- Set s = new HashSet(earRoleList.size());
- for (int i = 0; i < earRoleList.size(); i++) {
- SecurityRole securityRole = (SecurityRole) earRoleList.get(i);
- if (!(s.add(securityRole.getRoleName()))) {
- String roleName = securityRole.getRoleName();
- String[] params = new String[1];
- params[0] = roleName;
- addWarning(getBaseName(), ERROR_EAR_DUPLICATE_ROLES, params, appDD );
- }// if
- }// for
- }// validateEarRoles
-
- /**
- * validateRefs(WebApp) - validate EJB references
- *
- * @param EjbRef eref - An ejb ref.
- * @param Sting uri - The uri of the module.
- */
- public void validateEJBRefMandatoryElements(List ejbRefs, String uri) {
- for(int i = 0; i < ejbRefs.size(); i++) {
- EjbRef eref = (EjbRef) ejbRefs.get(i);
- String refName = eref.getName();
- String[] params = new String[2];
- params[0] = refName;
- params[1] = uri;
-
- if ((eref.getName().trim() == null) || (eref.getName().trim().length() == 0)) {
- addWarning(EREF_CATEGORY, ERROR_EAR_MISSING_EREFNAME, params);
- }// if
- if (eref.isSetType())
- {if(eref.getType() == null )
- addWarning(EREF_CATEGORY, ERROR_EAR_INVALID_EREFTYPE, params);}
- else
- addWarning(EREF_CATEGORY, ERROR_EAR_MISSING_EREFTYPE, params);
- // if
- if ((eref.getHome() == null) || (eref.getHome().trim().length() == 0)) {
- addWarning(EREF_CATEGORY, ERROR_EAR_MISSING_EREFHOME, params);
- }// if
- if ((eref.getRemote() == null) || (eref.getRemote().trim().length() == 0)) {
- addWarning(EREF_CATEGORY, ERROR_EAR_MISSING_EREFREMOTE, params);
- }
- }
- }
-
- /**
- * Compare the ejb interfaces to check if they are similar.
- *
- * @param EjbRef eref - The ejb reference.
- * @param EnterpriseBean ejb - The enterprise bean
- */
- public boolean isSimilarEJBInterface(EjbRef eref, EnterpriseBean ejb) {
-
- if( eref.isLocal() ) {
- if( ejb.getLocalHomeInterfaceName() == null ||
- ejb.getLocalInterfaceName() == null ||
- ((EJBLocalRef)eref).getLocalHome() == null ||
- ((EJBLocalRef)eref).getLocal() == null ) {
- return false;
- }// if
-
- boolean isHomeLocalOk = ejb.getLocalHomeInterfaceName().equals(((EJBLocalRef)eref).getLocalHome());
- boolean isRemoteLocalOk = ejb.getLocalInterfaceName().equals(((EJBLocalRef)eref).getLocal());
- return isHomeLocalOk && isRemoteLocalOk;
- }// if
-
- if( ejb.getHomeInterfaceName() == null ||
- ejb.getRemoteInterfaceName() == null ||
- eref.getHome() == null ||
- eref.getRemote() == null ) {
- return false;
- }// if
-
- boolean isHomeOk = ejb.getHomeInterfaceName().equals( eref.getHome() );
- boolean isRemoteOk = ejb.getRemoteInterfaceName().equals( eref.getRemote() );
-
- return isHomeOk && isRemoteOk;
- }// isSimilarEJBInterface
-
- /**
- * validate for duplicates in EAR Roles
- *
- * @param List ejbRefs - List of ejb refs.
- * @param String uri - The uri of the module.
- */
- public void validateEJBRefs(List ejbRefs, String uri) {
- for (int i = 0; i < ejbRefs.size(); i++) {
- EjbRef eref = (EjbRef) ejbRefs.get(i);
- if( eref != null && eref.getLink() != null && eref.getLink().length() > 0) {
- EnterpriseBean ejb = earFile.getEnterpiseBeanFromRef( eref, uri );
- if( ejb == null ) {
- String[] params = new String[3];
- params[0] = eref.getName();
- params[1] = uri;
- params[2] = earFile.getName();
- addWarning(EREF_CATEGORY,UNRESOLVED_EJB_REF_WARN_,params);
- } else {
- if( !isSimilarEJBInterface( eref, ejb ) ) {
- String[] params = new String[3];
- params[0] = ejb.getName();
- params[1] = eref.getName();
- params[2] = uri;
- addError( getBaseName(), EJB_BEAN_EJB_LINK_INTEFACE_MISMATCH_ERROR_, params, appDD);
- }
- }
- }
- }
- }
-
- /**
- * validate the existance of the EJB Roles in the EAR Roles and duplicates ib EJB Roles
- *
- * @param EList earRoleList - List of ear roles.
- * @param EList ejbRoles - List of ejb roles.
- */
- public void validateEJBRolesWithEARRoles(EList earRoleList, EList ejbRoles) {
- for (int i = 0; i < ejbRoles.size(); i++) {
- if (!(earRoleList.contains(ejbRoles.get(i)))) {
- String[] params = new String[1];
- params[0] = ((SecurityRole) (ejbRoles.get(i))).getRoleName();
- addWarning(EREF_CATEGORY, ERROR_EAR_MISSING_EJB_ROLE, params);
- }// if
- }// for
- }// validateEJBRolesWithEARRoles
-
- /**
- * For each module, make sure its archive exists
- *(a very expensive, but more meaningful test would be to also make sure they can be loaded)
- *
- * @param EList modulesList - List of modules
- */
- public void validateModules(EList modulesList) {
-// String errorString = ""; //$NON-NLS-1$
- HashSet duplicateURI = new HashSet();
-
- for (int i = 0; i < modulesList.size(); i++) {
- Module m = (Module) modulesList.get(i);
- String filename = m.getUri();
- if ((filename == null) || (filename.length() == 0)) {
- addError(getBaseName(), MESSAGE_EAR_NO_MODULE_URI, null);
- } else {
- //check if the URI has any spaces
- if( filename.indexOf( " " ) != -1) { //$NON-NLS-1$
- String[] params = new String[1];
- params[0] = filename;
- addError(getBaseName(), URI_CONTAINS_SPACES_ERROR_, params, appDD);
- }// if
- }// if
- String altDD = m.getAltDD();
- if (altDD != null)
- altDD = altDD.trim();
- validateAltDD(m, altDD);
- String key = altDD == null ? filename + altDD : filename;
- if (!duplicateURI.add(key)) {
- String[] params = new String[2];
- params[0] = m.getUri();
- params[1] = earFile.getName();
- addError(getBaseName(), MESSAGE_EAR_DUPLICATE_URI_ERROR_, params, appDD);
- }// if
-
- }// for
-
- }// validateModules
-
- /**
- * Validate the alt dd
- *
- * @param Module m - A module.
- * @param String altDD - An altDD
- */
- protected void validateAltDD(Module m, String altDD) {
- //isDuplicate will test if it is a file or a loaded resource
- if ("".equals(altDD)) { //$NON-NLS-1$
- String[] params = new String[2];
- params[0] = m.getUri();
- params[1] = earFile.getName();
- addError(getBaseName(), MESSAGE_EMPTY_ALT_DD_ERROR_, params, appDD);
- } else if (altDD != null && !earFile.isDuplicate(altDD)) {
- String[] params = new String[3];
- params[0] = m.getUri();
- params[1] = altDD;
- params[2] = earFile.getName();
- addWarning(getBaseName(), MESSAGE_INVALID_ALT_DD_WARN_, params, appDD);
- }// if
- }// validateAltDD
-
- /**
- * validate EJB and resource references
- */
- public void validateRefs() {
- List moduleList = earFile.getModuleRefs();
- for (int i = 0; i < moduleList.size(); i++) {
-
- ModuleRef ref = (ModuleRef) moduleList.get(i);
- try {
- if(ref.isWeb()) {
- validateWebAppRefs(ref); }
- else if( ref.isEJB() ) {
- validateEJBModuleRefs(ref);
- } else if(ref.isClient())
- validateAppClientRefs(ref);
- } catch (ArchiveWrappedException ex) {
- Exception nested = ex.getNestedException();
- if (!(nested instanceof NoModuleFileException))
- Logger.getLogger().logError(ex);
- //otherwise ignore it; there are other validations for this
- }
-
- }
- }
-
- /**
- * @param ref
- */
- private void validateAppClientRefs(ModuleRef ref) throws ArchiveWrappedException {
- ApplicationClient appClient = (ApplicationClientImpl)ref.getDeploymentDescriptor();
- List ejbRefs = new ArrayList();
- ejbRefs.addAll(appClient.getEjbReferences());
- validateEJBRefMandatoryElements(ejbRefs, ref.getUri());
- validateEJBRefs(ejbRefs, ref.getUri());
- if (appClient != null && appClient.getVersionID() <= J2EEVersionConstants.J2EE_1_3_ID) {
- Set allRefs = new HashSet();
- List resourceRefs = appClient.getResourceRefs();
- List resourceEnvRefs = appClient.getResourceEnvRefs();
- List serviceRefs = appClient.getServiceRefs();
-
- validateDuplicateEJBRefs(allRefs,ejbRefs);
- validateDuplicateResourceRefs(allRefs,resourceRefs);
- validateDuplicateResourceEnvRefs(allRefs,resourceEnvRefs);
- validateDuplicateServiceRefs(allRefs,serviceRefs);
- }
-
- }
-
- /**
- * @param ref
- * @throws ArchiveWrappedException
- */
- private void validateWebAppRefs(ModuleRef ref) throws ArchiveWrappedException {
- WebApp webApp = (WebApp)ref.getDeploymentDescriptor();
- List ejbRefs = new ArrayList();
- ejbRefs.addAll(webApp.getEjbRefs());
- ejbRefs.addAll(webApp.getEjbLocalRefs());
- validateEJBRefMandatoryElements(ejbRefs, ref.getUri());
- validateEJBRefs(ejbRefs, ref.getUri());
- if (webApp != null && webApp.getVersionID() <= J2EEVersionConstants.WEB_2_3_ID) {
- Set allRefs = new HashSet();
- List resourceRefs = webApp.getResourceRefs();
- List resourceEnvRefs = webApp.getResourceEnvRefs();
- List serviceRefs = webApp.getServiceRefs();
-
- validateDuplicateEJBRefs(allRefs,ejbRefs);
- validateDuplicateResourceRefs(allRefs,resourceRefs);
- validateDuplicateResourceEnvRefs(allRefs,resourceEnvRefs);
- validateDuplicateServiceRefs(allRefs,serviceRefs);
- }
- }
- /**
- * @param ref
- * @throws ArchiveWrappedException
- */
- private void validateEJBModuleRefs(ModuleRef ref) throws ArchiveWrappedException {
- EJBJar ejbJar = (EJBJar)ref.getDeploymentDescriptor();
- if( ejbJar != null ) {
- List ejbCollection = ejbJar.getEnterpriseBeans();
- if( ejbCollection != null || !ejbCollection.isEmpty() ) {
- Resource res = ejbJar.eResource();
- cleanUpAllRefSubTaskMessages(res);
- Iterator iterator = ejbCollection.iterator();
- while( iterator.hasNext() ) {
- EnterpriseBean ejbBean = (EnterpriseBean)iterator.next();
- if( ejbBean != null ) {
- List ejbRefs = new ArrayList();
- ejbRefs.addAll(ejbBean.getEjbRefs());
- ejbRefs.addAll(ejbBean.getEjbLocalRefs());
- validateEJBRefMandatoryElements(ejbRefs, ref.getUri());
- validateEJBRefs(ejbRefs, ref.getUri());
- if(ejbJar.getVersionID() <= J2EEVersionConstants.EJB_2_0_ID) {
- Set allRefs = new HashSet();
- List resourceRefs = ejbBean.getResourceRefs();
- List resourceEnvRefs = ejbBean.getResourceEnvRefs();
- List secRoleRefs = ejbBean.getSecurityRoleRefs();
- List serviceRefs = ejbBean.getServiceRefs();
- List messageDestRefs = ejbBean.getMessageDestinationRefs();
-
- validateDuplicateEJBRefs(allRefs,ejbRefs);
- validateDuplicateResourceRefs(allRefs,resourceRefs);
- validateDuplicateResourceEnvRefs(allRefs,resourceEnvRefs);
- validateDuplicateSecurityRoleRefs(allRefs,secRoleRefs);
- validateDuplicateServiceRefs(allRefs,serviceRefs);
- validateDuplicateMessageDestRefs(allRefs,messageDestRefs);
- }
- }
- }
- }
- }
-
- }
-
- /**
- * @param allRefs
- * @param serviceRefs
- */
- private void validateDuplicateServiceRefs(Set allRefs, List serviceRefs) {
- if (!serviceRefs.isEmpty()) {
- ServiceRef firstRef = (ServiceRef)(serviceRefs.get(0));
- if(!(firstRef.eContainer() instanceof EnterpriseBean))
- cleanUpSubTaskMessages(firstRef);
- for (int refNo = 0; refNo < serviceRefs.size(); refNo++) {
- ServiceRef ref = (ServiceRef) (serviceRefs.get(refNo));
- String refName = ref.getServiceRefName();
- String[] parms = new String[1];
- parms[0] = refName;
- if (!(allRefs.add(refName)))
- addError(EREF_CATEGORY, ERROR_EAR_DUPLICATE_SERVICEREF, parms,ref,SERVICE_REF_GROUP_NAME);
- }
- }
- }
-
- /**
- * @param allRefs
- * @param secRoleRefs
- */
- private void validateDuplicateSecurityRoleRefs(Set allRefs, List secRoleRefs) {
- if (!secRoleRefs.isEmpty()) {
- SecurityRoleRef firstRef = (SecurityRoleRef)(secRoleRefs.get(0));
- if(!(firstRef.eContainer() instanceof EnterpriseBean))
- cleanUpSubTaskMessages(firstRef);
- for (int refNo = 0; refNo < secRoleRefs.size(); refNo++) {
- SecurityRoleRef ref = (SecurityRoleRef) (secRoleRefs.get(refNo));
- String refName = ref.getName();
- String[] parms = new String[1];
- parms[0] = refName;
- if (!(allRefs.add(refName)))
- addError(EREF_CATEGORY, ERROR_EAR_DUPLICATE_SECURITYROLEREF, parms,ref,SEC_ROLE_REF_GROUP_NAME);
- }
- }
- }
-
- /**
- * @param allRefs
- * @param resourceEnvRefs
- */
- private void validateDuplicateResourceEnvRefs(Set allRefs, List resourceEnvRefs) {
- if (!resourceEnvRefs.isEmpty()) {
- ResourceEnvRef firstRef = (ResourceEnvRef)(resourceEnvRefs.get(0));
- if(!(firstRef.eContainer() instanceof EnterpriseBean))
- cleanUpSubTaskMessages(firstRef);
- for (int refNo = 0; refNo < resourceEnvRefs.size(); refNo++) {
- ResourceEnvRef ref = (ResourceEnvRef) (resourceEnvRefs.get(refNo));
- String refName = ref.getName();
- String[] parms = new String[1];
- parms[0] = refName;
- if (!(allRefs.add(refName)))
- addError(EREF_CATEGORY, ERROR_EAR_DUPLICATE_RESENVREF, parms,ref,RES_ENV_REF_GROUP_NAME);
- }
- }
- }
-
- /**
- * @param allRefs
- * @param resourceRefs
- */
- private void validateDuplicateResourceRefs(Set allRefs, List resourceRefs) {
- if (!resourceRefs.isEmpty()) {
- ResourceRef firstRef = (ResourceRef)(resourceRefs.get(0));
- if(!(firstRef.eContainer() instanceof EnterpriseBean))
- cleanUpSubTaskMessages(firstRef);
- for (int refNo = 0; refNo < resourceRefs.size(); refNo++) {
- ResourceRef ref = (ResourceRef) (resourceRefs.get(refNo));
- String refName = ref.getName();
- String[] parms = new String[1];
- parms[0] = refName;
- if (!(allRefs.add(refName)))
- addError(EREF_CATEGORY, ERROR_EAR_DUPLICATE_RESREF, parms,ref,RES_REF_GROUP_NAME);
- }
- }
- }
- /**
- * @param allRefs
- * @param ejbRefs
- */
- protected void validateDuplicateEJBRefs(Set allRefs, List ejbRefs) {
- if (!ejbRefs.isEmpty()) {
- EjbRef firstRef = (EjbRef)(ejbRefs.get(0));
- if(!(firstRef.eContainer() instanceof EnterpriseBean))
- cleanUpSubTaskMessages(firstRef);
- for (int refNo = 0; refNo < ejbRefs.size(); refNo++) {
- EjbRef ref = (EjbRefImpl) (ejbRefs.get(refNo));
- String refName = ref.getName();
- String[] parms = new String[1];
- parms[0] = refName;
- if (!(allRefs.add(refName)))
- addError(EREF_CATEGORY, ERROR_EAR_DUPLICATE_EJBREF, parms, ref, EJB_REF_GROUP_NAME);
- }
- }
- }
-
- /**
- * @param allRefs
- * @param ejbRefs
- */
- protected void validateDuplicateMessageDestRefs(Set allRefs, List messageDestRefs) {
- if (!messageDestRefs.isEmpty()) {
- MessageDestinationRef firstRef = (MessageDestinationRef)(messageDestRefs.get(0));
- if(!(firstRef.eContainer() instanceof EnterpriseBean))
- cleanUpSubTaskMessages(firstRef);
- for (int refNo = 0; refNo < messageDestRefs.size(); refNo++) {
- MessageDestinationRef ref = (MessageDestinationRef) (messageDestRefs.get(refNo));
- String refName = ref.getName();
- String[] parms = new String[1];
- parms[0] = refName;
- if (!(allRefs.add(refName)))
- addError(EREF_CATEGORY, ERROR_EAR_DUPLICATE_MESSSAGEDESTINATIONREF, parms,ref, MESSAGE_REF_GROUP_NAME);
- }
- }
- }
-
- /**
- * @param firstRef
- */
- protected void cleanUpSubTaskMessages(EObject ref) {
- //No Op - subclass overrides
- }
-
- protected void cleanUpAllRefSubTaskMessages(Resource res) {
- //No Op - subclass overrides
- }
-
- /**
- * Ejb refs to the running list of ejb refs.
- *
- * @param List currentRefs - List of current ejb refs to be added.
- * @param List ejbRefs - collection of running ejbrefs
- */
- public void addEJBRefs( List currentRefs, List ejbRefs ) {
- if( currentRefs == null || ejbRefs == null )
- return;
-
- ejbRefs.addAll( currentRefs );
- }// addEJBRefs
-
- /**
- * validate security constraints, roles, and security role refs.
- */
- public void validateSecurity() {
- EList earRoleList = appDD.getSecurityRoles();
- if (!earRoleList.isEmpty())
- validateEarRoles(earRoleList);
- EList moduleList = appDD.getModules();
- if (!moduleList.isEmpty()) {
-
- for (int i = 0; i < moduleList.size(); i++) {
- Module m = (Module) moduleList.get(i);
- if (m.isEjbModule()) {
- EList ejbRoles = m.getApplication().getSecurityRoles();
- if (!ejbRoles.isEmpty())
- validateEJBRolesWithEARRoles(earRoleList, ejbRoles);
- }// if
- if (m.isWebModule()) {
- EList webRoles = m.getApplication().getSecurityRoles();
- if (!webRoles.isEmpty())
- validateWEBRolesWithEARRoles(earRoleList, webRoles);
- }// if
- }// for
- }// if
- }// validateSecurity
-
- /**
- * Validates an ear for duplicate web contexts.
- */
- public void validateWebContexts() {
-
- EList moduleList = appDD.getModules();
- Map visitedWebContext = new HashMap();
-
- if( !moduleList.isEmpty() ) {
- Iterator iterator = moduleList.iterator();
- while( iterator.hasNext() ) {
- Module module = (Module)iterator.next();
- if( module.isWebModule() ) {
-
- WebModule webModule = (WebModule)module;
-
- if( webModule != null ) {
- if( visitedWebContext.containsKey( webModule.getContextRoot() ) ) {
- WebModule tempWebModule = (WebModule)visitedWebContext.get( webModule.getContextRoot() );
- String[] params = new String[3];
- params[0] = webModule.getContextRoot();
- params[1] = webModule.getUri();
- params[2] = tempWebModule.getUri();
- addError(getBaseName(), MESSAGE_EAR_DUPICATE_ROOTCONTEXT_ERROR_, params, appDD);
- } else {
- visitedWebContext.put( webModule.getContextRoot(), webModule );
- }// if
-
- }// if
-
- }// if
- }// while
- }// if
- }// validateWebContexts
-
-
- /**
- * Checks if the modules are a spec level too high for the EAR file.
- */
- private void validateSpecLevel() {
- int earVersion = getVersionID(earFile);
- List modules = earFile.getModuleFiles();
-
- if( !modules.isEmpty() ) {
- Iterator iterator = modules.iterator();
- ModuleFile moduleFile = null;
- while (iterator.hasNext()) {
- moduleFile = (ModuleFile)iterator.next();
- if (moduleFile != null && getVersionID(moduleFile) > earVersion) {
- String[] params = new String[] {moduleFile.getURI(), earFile.getName()};
- addWarning(getBaseName(), MESSAGE_INCOMPATIBLE_SPEC_WARNING_, params, appDD);
- }
- }
- }
- }
-
- /**
- * @param moduleFile
- * @return
- */
- private int getVersionID(ModuleFile moduleFile) {
- XMLResource res = null;
- try {
- res = (XMLResource) moduleFile.getDeploymentDescriptorResource();
- } catch (ResourceLoadException e) {
- //Ignore
- } catch (FileNotFoundException e) {
- //Ignore
- }
- if (res != null)
- return res.getJ2EEVersionID();
- return -1;
- }
-}// EarValidator
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/EnterpriseBean11VRule.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/EnterpriseBean11VRule.java
deleted file mode 100644
index 52eb629c2..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/EnterpriseBean11VRule.java
+++ /dev/null
@@ -1,1071 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.logging.Level;
-
-import org.eclipse.jem.java.Field;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaHelpers;
-import org.eclipse.jem.util.logger.LogEntry;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jst.j2ee.common.EjbRef;
-import org.eclipse.jst.j2ee.common.EjbRefType;
-import org.eclipse.jst.j2ee.common.EnvEntry;
-import org.eclipse.jst.j2ee.common.EnvEntryType;
-import org.eclipse.jst.j2ee.common.SecurityRole;
-import org.eclipse.jst.j2ee.common.SecurityRoleRef;
-import org.eclipse.jst.j2ee.ejb.CMPAttribute;
-import org.eclipse.jst.j2ee.ejb.ContainerManagedEntity;
-import org.eclipse.jst.j2ee.ejb.EJBJar;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.jst.j2ee.ejb.Entity;
-import org.eclipse.jst.j2ee.ejb.Session;
-import org.eclipse.jst.j2ee.ejb.SessionType;
-import org.eclipse.jst.j2ee.ejb.TransactionType;
-import org.eclipse.jst.j2ee.internal.common.CommonPackage;
-import org.eclipse.jst.j2ee.internal.ejb.EjbPackage;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.MessageLimitException;
-
-/**
- * This class checks ejb-jar.xml for errors or potential errors.
- * If any problems are found, an error, warning, or info marker is added to the task list.
- *
- * 15.2.5.3 Declaration of security roles referenced from the bean's code
- * The Bean Provider is responsible for declaring in the security-role-ref elements of the deploy-ment
- * descriptor all the security role names used in the enterprise bean code. Declaring the security roles
- * references in the code allows the Application Assembler or Deployer to link the names of the security
- * roles used in the code to the security roles defined for an assembled application through the secu-rity-
- * role elements.
- * The Bean Provider must declare each security role referenced in the code using the secu-rity-
- * role-ref element as follows:
- * Declare the name of the security role using the role-name element. The name must be the
- * security role name that is used as a parameter to the isCallerInRole(String role-Name)
- * method.
- * Optional: Provide a description of the security role in the description element.
- * A security role reference, including the name defined by the role-name element, is scoped to the ses-sion
- * or entity bean element whose declaration contains the security-role-ref element.
- * The following example illustrates how an enterprise bean's references to security roles are declared in
- * the deployment descriptor.
- * ...
- * <enterprise-beans>
- * ...
- * <entity>
- * <ejb-name>AardvarkPayroll</ejb-name>
- * <ejb-class>com.aardvark.payroll.PayrollBean</ejb-class>
- * ...
- * <security-role-ref>
- * <description>
- * This security role should be assigned to the
- * employees of the payroll department who are
- * allowed to update employees' salaries.
- * </description>
- * <role-name>payroll</role-name>
- * </security-role-ref>
- * ...
- * </entity>
- * ...
- * </enterprise-beans>
- * ...
- *
- * The deployment descriptor above indicates that the enterprise bean AardvarkPayroll makes the
- * security check using isCallerInRole("payroll") in its business method.
- *
- *
- * 15.3.3 Linking security role references to security roles
- * If the Application Assembler defines the security-role elements in the deployment descriptor, he
- * or she is also responsible for linking all the security role references declared in the secu-rity-
- * role-ref elements to the security roles defined in the security-role elements.
- * The Application Assembler links each security role reference to a security role using the role-link
- * element. The value of the role-link element must be the name of one of the security roles defined in
- * a security-role element.
- * A role-link element must be used even if the value of role-name is the same as the value of the
- * role-link reference.
- * The following deployment descriptor example shows how to link the security role reference named
- * payroll to the security role named payroll-department.
- * ...
- * <enterprise-beans>
- * ...
- * <entity>
- * <ejb-name>AardvarkPayroll</ejb-name>
- * <ejb-class>com.aardvark.payroll.PayrollBean</ejb-class>
- * ...
- * <security-role-ref>
- * <description>
- * This role should be assigned to the
- * employees of the payroll department.
- * Members of this role have access to
- * anyone's payroll record.
- *
- * The role has been linked to the
- * payroll-department role.
- * </description>
- * <role-name>payroll</role-name>
- * <role-link>payroll-department</role-link>
- * </security-role-ref>
- * ...
- * </entity>
- * ...
- * </enterprise-beans>
- * ...
- */
-public class EnterpriseBean11VRule extends AValidationRule implements IMessagePrefixEjb11Constants {
- private static final Object ID = IValidationRuleList.EJB11_ENTERPRISEBEAN;
- private static final Object[] DEPENDS_ON = new Object[]{IValidationRuleList.EJB11_SESSION_BEANCLASS, IValidationRuleList.EJB11_SESSION_HOME, IValidationRuleList.EJB11_SESSION_REMOTE, IValidationRuleList.EJB11_BMP_BEANCLASS, IValidationRuleList.EJB11_BMP_HOME, IValidationRuleList.EJB11_BMP_KEYCLASS, IValidationRuleList.EJB11_BMP_REMOTE, IValidationRuleList.EJB11_CMP_BEANCLASS, IValidationRuleList.EJB11_CMP_HOME, IValidationRuleList.EJB11_CMP_KEYCLASS, IValidationRuleList.EJB11_CMP_REMOTE};
- private static final Map MESSAGE_IDS;
-
- private List _securityRoles = null;
-
- static {
- MESSAGE_IDS = new HashMap();
-
- MESSAGE_IDS.put(CHKJ2801, new String[]{CHKJ2801 + SPEC});
- MESSAGE_IDS.put(CHKJ2802_NAMED, new String[]{CHKJ2802_NAMED + SPEC});
- MESSAGE_IDS.put(CHKJ2802_UNNAMED, new String[]{CHKJ2802_UNNAMED + SPEC});
- MESSAGE_IDS.put(CHKJ2803_NAMED, new String[]{CHKJ2803_NAMED + SPEC});
- MESSAGE_IDS.put(CHKJ2803_UNNAMED, new String[]{CHKJ2803_UNNAMED + SPEC});
- MESSAGE_IDS.put(CHKJ2804_NAMED, new String[]{CHKJ2804_NAMED + SPEC});
- MESSAGE_IDS.put(CHKJ2804_UNNAMED, new String[]{CHKJ2804_UNNAMED + SPEC});
- MESSAGE_IDS.put(CHKJ2806, new String[]{CHKJ2806 + SPEC});
- MESSAGE_IDS.put(CHKJ2807, new String[]{CHKJ2807 + SPEC});
- MESSAGE_IDS.put(CHKJ2808, new String[]{CHKJ2808 + SPEC});
- MESSAGE_IDS.put(CHKJ2809, new String[]{CHKJ2809 + SPEC});
-
- MESSAGE_IDS.put(CHKJ2810_NAMED, new String[]{CHKJ2810_NAMED + SPEC});
- MESSAGE_IDS.put(CHKJ2810_UNNAMED, new String[]{CHKJ2810_UNNAMED + SPEC});
- MESSAGE_IDS.put(CHKJ2811_NAMED, new String[]{CHKJ2811_NAMED + SPEC});
- MESSAGE_IDS.put(CHKJ2811_UNNAMED, new String[]{CHKJ2811_UNNAMED + SPEC});
- MESSAGE_IDS.put(CHKJ2812, new String[]{CHKJ2812 + SPEC});
-
- MESSAGE_IDS.put(CHKJ2820, new String[]{CHKJ2820 + SPEC});
- MESSAGE_IDS.put(CHKJ2822, new String[]{CHKJ2822 + SPEC});
- MESSAGE_IDS.put(CHKJ2823, new String[]{CHKJ2823 + SPEC});
- MESSAGE_IDS.put(CHKJ2824, new String[]{CHKJ2824 + SPEC});
- MESSAGE_IDS.put(CHKJ2827, new String[]{CHKJ2827 + SPEC});
- MESSAGE_IDS.put(CHKJ2828, new String[]{CHKJ2828 + SPEC});
-
- MESSAGE_IDS.put(CHKJ2830, new String[]{CHKJ2830 + SPEC});
- MESSAGE_IDS.put(CHKJ2831, new String[]{CHKJ2831 + SPEC});
- MESSAGE_IDS.put(CHKJ2832, new String[]{CHKJ2832 + SPEC});
- MESSAGE_IDS.put(CHKJ2833, new String[]{CHKJ2833 + SPEC});
- MESSAGE_IDS.put(CHKJ2834, new String[]{CHKJ2834 + SPEC});
- MESSAGE_IDS.put(CHKJ2835, new String[]{CHKJ2835 + SPEC});
- MESSAGE_IDS.put(CHKJ2836, new String[]{CHKJ2836 + SPEC});
- MESSAGE_IDS.put(CHKJ2837, new String[]{CHKJ2837 + SPEC});
- MESSAGE_IDS.put(CHKJ2838, new String[]{CHKJ2838 + SPEC});
- MESSAGE_IDS.put(CHKJ2839, new String[]{CHKJ2839 + SPEC});
-
- MESSAGE_IDS.put(CHKJ2840, new String[]{CHKJ2840 + SPEC});
- MESSAGE_IDS.put(CHKJ2841, new String[]{CHKJ2841 + SPEC});
-
- MESSAGE_IDS.put(CHKJ2907, new String[]{CHKJ2907});
- MESSAGE_IDS.put(CHKJ2852, new String[]{CHKJ2852});
-
- MESSAGE_IDS.put(CHKJ2908, new String[]{CHKJ2908 + SPEC});
- }
-
- public final Map getMessageIds() {
- return MESSAGE_IDS;
- }
-
- public final Object[] getDependsOn() {
- return DEPENDS_ON;
- }
-
- public final Object getId() {
- return ID;
- }
-
- public Object getTarget(Object parent, Object clazz) {
- // If called as a dependent, parent will be this EnterpriseBean.
- return parent;
- }
-
- /**
- * 6.5.3 The optional SessionSynchronization interface
- *...
- * Only a stateful Session bean with container-managed transaction demarcation may
- * implement the SessionSynchronization interface.
- *...
- * There is no need for a Session bean with bean-managed transaction to rely on the
- * synchronization call backs because the bean is in control of the commit the bean
- * knows when the transaction is about to be committed and it knows the outcome of the
- * transaction commit.
- *...
- */
- public boolean isValidSessionTypeElement(Session session) {
- // check syntax
- if (!session.isSetSessionType()) {
- return false;
- }
-
- if (session.getSessionType().getValue() == SessionType.STATEFUL) {
- return true;
- }
-
- if (session.getSessionType().getValue() == SessionType.STATELESS) {
- return true;
- }
-
- return false;
- }
-
- public boolean isValidTransactionTypeElement(Session sessionBean) {
- if (!sessionBean.isSetTransactionType()) {
- return false;
- }
-
- if (sessionBean.getTransactionType().getValue() == TransactionType.BEAN) {
- return true;
- }
-
- if (sessionBean.getTransactionType().getValue() == TransactionType.CONTAINER) {
- return true;
- }
-
- return false;
- }
-
-
- /**
- * If the bean components (home interface, remote interface, bean class, and primary
- * key) can all be found and reflected, return true. Else, add a validation error
- * against the bean, and return false.
- */
- public boolean validateBeanComponents(IEJBValidationContext vc, EJBJar ejbJar, EnterpriseBean bean) {
- boolean isValid = true;
- // Don't need to check if the bean is null, because this method will
- // not be called if it is.
- try {
- ValidationRuleUtility.isValidTypeHierarchy(bean, bean.getEjbClass());
- }
- catch (InvalidInputException exc) {
- if (bean.eIsSet(EjbPackage.eINSTANCE.getEnterpriseBean_EjbClass())) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2802_NAMED, IEJBValidationContext.ERROR, bean, new String[] { bean.getEjbClass().getQualifiedName()}, this);
- vc.addMessage(message);
- }
- else {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2802_UNNAMED, IEJBValidationContext.ERROR, bean, this);
- vc.addMessage(message);
- }
- isValid = false;
- }
-
- try {
- ValidationRuleUtility.isValidTypeHierarchy(bean, bean.getHomeInterface());
- }
- catch (InvalidInputException exc) {
- if (bean.eIsSet(EjbPackage.eINSTANCE.getEnterpriseBean_HomeInterface())) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2803_NAMED, IEJBValidationContext.ERROR, bean, new String[] { bean.getHomeInterfaceName()}, this);
- vc.addMessage(message);
- }
- else {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2803_UNNAMED, IEJBValidationContext.ERROR, bean, this);
- vc.addMessage(message);
- }
- isValid = false;
- }
-
- try {
- ValidationRuleUtility.isValidTypeHierarchy(bean, bean.getRemoteInterface());
- }
- catch (InvalidInputException exc) {
- if (bean.eIsSet(EjbPackage.eINSTANCE.getEnterpriseBean_RemoteInterface())) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2804_NAMED, IEJBValidationContext.ERROR, bean, new String[] { bean.getRemoteInterfaceName()}, this);
- vc.addMessage(message);
- }
- else {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2804_UNNAMED, IEJBValidationContext.ERROR, bean, this);
- vc.addMessage(message);
- }
- isValid = false;
- }
-
- if (bean.isEntity()) {
- JavaClass primaryKey = ((Entity) bean).getPrimaryKey();
- try {
- ValidationRuleUtility.isValidTypeHierarchy(bean, primaryKey);
- }
- catch (InvalidInputException exc) {
- if (((Entity) bean).eIsSet(EjbPackage.eINSTANCE.getEntity_PrimaryKey())) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2810_NAMED, IEJBValidationContext.ERROR, bean, new String[] { ((Entity) bean).getPrimaryKeyName()}, this);
- vc.addMessage(message);
- }
- else {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2810_UNNAMED, IEJBValidationContext.ERROR, bean, this);
- vc.addMessage(message);
- }
- isValid = false;
- }
- }
- return isValid;
- }
-
- public void validateCMPFieldElement(IEJBValidationContext vc, EJBJar ejbJar, EnterpriseBean bean) {
- if (bean instanceof ContainerManagedEntity) {
- // check syntax of tag is okay
- ContainerManagedEntity cmp = (ContainerManagedEntity) bean;
- List fields = cmp.getPersistentAttributes();
- if ((fields == null) || (fields.size() == 0)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2812, IEJBValidationContext.ERROR, bean, new String[] { bean.getEjbClassName()}, this);
- vc.addMessage(message);
- return;
- }
-
- boolean mapsToMultipleFields = !ValidationRuleUtility.isPrimitivePrimaryKey((ContainerManagedEntity) bean);
- Iterator iterator = fields.iterator();
- Field field = null;
- List fieldNames = new ArrayList(fields.size());
- while (iterator.hasNext()) {
- CMPAttribute attrib = (CMPAttribute) iterator.next();
- if (attrib == null) {
- Logger logger = vc.getMsgLogger();
- if (logger != null && logger.isLoggingLevel(Level.FINEST)) {
- LogEntry entry = vc.getLogEntry();
- entry.setSourceID("DDValidator.validateCMPFieldElement(EnterpriseBean)"); //$NON-NLS-1$
- entry.setText("CMPAttribute is null."); //$NON-NLS-1$
- logger.write(Level.FINEST, entry);
- }
- continue;
- }
-
- field = attrib.getField();
- if (field == null) {
- if (attrib.getName() != null) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2811_NAMED, IEJBValidationContext.ERROR, bean, new String[] { attrib.getName(), bean.getEjbClassName()}, this);
- vc.addMessage(message);
- }
- else {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2811_UNNAMED, IEJBValidationContext.ERROR, bean, this);
- vc.addMessage(message);
- }
- continue;
- }
- else if (field.getName().equals(IMethodAndFieldConstants.FIELDNAME_SERIALVERSIONUID)) {
- // not a customer-entered field
- continue;
- }
-
- fieldNames.add(field.getName());
-
- try {
- // If the field is not a valid type
- ValidationRuleUtility.isValidType(ValidationRuleUtility.getType(field));
- }
- catch (InvalidInputException exc) {
- // field not identified
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2830, IEJBValidationContext.WARNING, bean, new String[] { field.getName()}, this);
- vc.addMessage(message);
- }
- }
-
- // 9.4.7.2
- if (mapsToMultipleFields && !ValidationRuleUtility.usesUnknownPrimaryKey(cmp)) {
- List primKeyFields = cmp.getPrimaryKey().getFieldsExtended();
-
- // (9.4.7.1 is validated in validatePrimKeyClassElement(bean)
- // check if the primary key class' fields exist in the container-managed fields
- iterator = primKeyFields.iterator();
-
- while (iterator.hasNext()) {
- Field keyField = (Field) iterator.next();
- if ((keyField.getName() != null) && (keyField.getName().equals(IMethodAndFieldConstants.FIELDNAME_SERIALVERSIONUID))) {
- // not a customer-entered field
- continue;
- }
-
- if (!fieldNames.contains(keyField.getName())) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2831, IEJBValidationContext.WARNING, bean, new String[] { keyField.getName()}, this);
- vc.addMessage(message);
- }
- }
- }
-
- }
- }
-
- /**
- * This validateDeploymentDescriptor is called if the EJBJar could load, which means
- * that the syntax of the JAR is (mostly) correct.
- *
- * EJB spec 1.1, section C.4, "Added the requirement for the Bean Provider to specify whether the
- * enterprise bean uses a bean-managed or container-managed transaction."
- */
- public void validate(IEJBValidationContext vc, Object targetParent, Object target) {
- EJBJar ejbJar = null;
- if(targetParent instanceof EnterpriseBean) {
- // running as a dependent
- ejbJar = (EJBJar)vc.loadModel(EJBValidatorModelEnum.EJB_MODEL);
- }
- else {
- ejbJar = (EJBJar)targetParent;
- }
- EnterpriseBean bean = (EnterpriseBean)target;
-
- validate(vc, ejbJar, bean);
- }
-
- public void validate(IEJBValidationContext vc, EJBJar ejbJar, EnterpriseBean bean) {
- if (bean == null) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2908, IEJBValidationContext.WARNING, bean, this);
- vc.addMessage(message);
-
- // If bean isn't valid, don't perform any of the other
- // validation checks on it.
- return;
- }
-
- try {
- // Check if the class exists, etc.
- boolean reflected = validateBeanComponents(vc, ejbJar, bean); // assume everything will reflect properly
-
- validateEnterpriseTypeElement(vc, ejbJar, bean);
- validateEJBNameElement(vc, ejbJar, bean);
- validateReentrantElement(vc, ejbJar, bean);
- validateSessionTypeElement(vc, ejbJar, bean);
- validateTransactionTypeElement(vc, ejbJar, bean);
- validatePersistenceTypeElement(vc, ejbJar, bean);
- validateEnvironmentEntries(vc, ejbJar, bean);
-
- if (!reflected) {
- // Something didn't reflect properly, so don't continue with the
- // rest of the checks. Some metadata will be nonsense.
- return;
- }
-
- if (bean.isContainerManagedEntity()) {
- ContainerManagedEntity cmp = (ContainerManagedEntity) bean;
- if (cmp.getPrimKeyField() != null && !cmp.getPrimKeyField().eIsProxy()) {
- // Don't validate the fields if it's neither a primitive primary key nor a compound primary key.
- // If the user was attempting a primitive primary key, but did a typo in ejb-jar.xml,
- // the user will see a lot of strange messages logged against the fields in the primitive primary key.
- validateCMPFieldElement(vc, ejbJar, bean);
- }
- }
-
- validatePrimKeyClassElement(vc, ejbJar, bean);
- validateEJBRef(vc, ejbJar, bean);
- validateSecurityRoleRefElement(vc, ejbJar, bean);
- }
- catch (MessageLimitException e) {
- throw e;
- }
- catch(ValidationCancelledException e) {
- throw e;
- }
- /* unreachable catch block
- catch(ValidationException exc) {
- // If there's a problem, proceed with the next bean.
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorConstants.CHKJ2852, IEJBValidationContext.WARNING, bean, new String[] { bean.getName() }, this);
- vc.addMessage(message);
- MsgLogger logger = vc.getMsgLogger();
- if (logger.isLoggingLevel(Level.FINER)) {
- logger.write(Level.FINER, exc);
- }
- }
- */
- catch (Throwable exc) {
- // If there's a problem, proceed with the next bean.
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2852, IEJBValidationContext.WARNING, bean, new String[] { bean.getName() }, this);
- vc.addMessage(message);
- Logger logger = vc.getMsgLogger();
- if (logger != null && logger.isLoggingLevel(Level.SEVERE)) {
- logger.write(Level.SEVERE, exc);
- }
- }
- }
-
- public void validateEJBNameElement(IEJBValidationContext vc, EJBJar ejbJar, EnterpriseBean bean) {
- if (bean == null) {
- return;
- }
-
- String name = bean.getName();
- if ((name == null) || (name.equals(""))) { //$NON-NLS-1$
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2801, IEJBValidationContext.ERROR, bean, this);
- vc.addMessage(message);
- }
- }
-
- /**
- * Validate section 14.3 of the EJB 1.1 specification.
- *
- * 14.3 EJB References
- * 14.3.1 Bean Provider's responsibilities
- * 14.3.1.1 EJB reference programming interfaces
- * 14.3.1.2 Declaration of EJB references in deployment descriptor
- * 14.3.2 Application Assembler's responsibilities
- * 14.3.3 Deployer's responsibility
- * 14.3.4 Container Provider's responsibility
- */
- public void validateEJBRef(IEJBValidationContext vc, EJBJar ejbJar, EnterpriseBean bean) {
- if (bean == null) {
- return;
- }
-
- List ejbRefs = bean.getEjbRefs();
- if ((ejbRefs == null) || (ejbRefs.size() == 0)) {
- return;
- }
-
- Iterator iterator = ejbRefs.iterator();
- EjbRef ref = null;
- while (iterator.hasNext()) {
- ref = (EjbRef) iterator.next();
- if (ref == null) {
- Logger logger = vc.getMsgLogger();
- if (logger != null && logger.isLoggingLevel(Level.FINEST)) {
- LogEntry entry = vc.getLogEntry();
- entry.setSourceID("DDValidator.validateEJBRef(EnterpriseBean)"); //$NON-NLS-1$
- entry.setText("EjbRef is null in " + bean.getName()); //$NON-NLS-1$
- logger.write(Level.FINEST, entry);
- }
- continue;
- }
- // 14.3.1.1
- // Info mssg. "EJB spec recommends that all references to other enterprise beans be organized in the ejb subcontext of the bean's environment"
- EnterpriseBean namedEjb = null;
- if (ref.eIsSet(CommonPackage.eINSTANCE.getEjbRef_Link())) {
- // Load the EJB identified by the reference, if it exists.
- namedEjb = ejbJar.getEnterpiseBeanFromRef(ref);
- if (namedEjb != null) {
- // if it's null, let the EAR validator report it
- Integer ejbType = new Integer(ref.getType().getValue());
- boolean wrongType = false; // is the EJB, identified by ejb-link, of the type specified in the ejb-ref-type element?
- String type = (namedEjb instanceof Session) ? "Session" : "Entity"; //$NON-NLS-1$ //$NON-NLS-2$
- if (ejbType == null) {
- // Neither session nor entity?
- wrongType = true;
- }
- else if (ejbType.intValue() == EjbRefType.SESSION) {
- if (!(namedEjb instanceof Session)) {
- wrongType = true;
- }
- }
- else if (ejbType.intValue() == EjbRefType.ENTITY) {
- if (!(namedEjb instanceof Entity)) {
- wrongType = true;
- }
- }
- else {
- wrongType = true;
- }
- if (wrongType) {
- String[] parms = { namedEjb.getName(), type };
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2835, IEJBValidationContext.INFO, bean, parms, this);
- vc.addMessage(message);
- }
- }
- }
-
- // 14.3.1.2, 14.3.2, 14.3.4
- // Check that ejb-ref-name, ejb-ref-type, home, and remote have been defined, and exist
- validateHomeRef(vc, ejbJar, ref, namedEjb);
- validateRemoteRef(vc, ejbJar, ref, namedEjb);
-
- // 14.3.1.1
- // Info mssg. "EJB spec recommends that all references to other enterprise beans be organized in the ejb subcontext of the bean's environment"
- if (ref.getName() != null) {
- // If ejb name isn't set, that error would have been caught by one of the validateRef methods
- // Don't duplicate that effort here.
- String ejbName = ref.getName();
- if (!ejbName.startsWith("ejb/")) { //$NON-NLS-1$
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2838, IEJBValidationContext.INFO, bean, this);
- vc.addMessage(message);
- }
- }
- }
- }
-
- public void validateEnterpriseTypeElement(IEJBValidationContext vc, EJBJar ejbJar, EnterpriseBean bean) {
- // Attempt in vain to validate the enterprise type element here, because
- // if it's not specified, there's a syntax error, and the
- // validateDeploymentDescriptor(IReporter, IValidationContext) would have been
- // called instead.
- /*
- if(! (bean.isSession() || bean.isEntity() )) {
- // no tag specified
- String beanName = (bean.getName() == null) ? "" : bean.getName();
- addValidationMessage(IEJBValidationContext.ERROR, IMessagePrefixEjb11Constants.EJB_DD_INVALID_ENTERPRISETYPE, new String[]{beanName}, bean);
- }
- */
- }
-
- /**
- * Validate section 14.3 of the EJB 1.1 specification.
- *
- * 14.2.1.2 Declaration of environment entries
- */
- public void validateEnvironmentEntries(IEJBValidationContext vc, EJBJar ejbJar, EnterpriseBean bean) {
- if (bean == null) {
- return;
- }
-
- List envEntries = bean.getEnvironmentProperties();
- if ((envEntries == null) || (envEntries.size() == 0)) {
- return;
- }
-
- EnvEntry envEntry = null;
- Iterator iterator = envEntries.iterator();
- DuplicatesTable envNames = new DuplicatesTable();
- while (iterator.hasNext()) {
- envEntry = (EnvEntry) iterator.next();
- if (envEntry == null) {
- Logger logger = vc.getMsgLogger();
- if (logger != null && logger.isLoggingLevel(Level.FINEST)) {
- LogEntry entry = vc.getLogEntry();
- entry.setSourceID("DDValidator.validateEnvironmentEntries(EnterpriseBean)"); //$NON-NLS-1$
- entry.setText("EjbEntry is null in " + bean.getName()); //$NON-NLS-1$
- logger.write(Level.FINEST, entry);
- }
- continue;
- }
-
- if (envEntry.getName() != null) {
- envNames.add(envEntry.getName());
- }
- else {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2839, IEJBValidationContext.WARNING, bean, this);
- vc.addMessage(message);
- }
-
- if (envEntry.isSetType()) {
- // 14.2.1.2; type must be one of these types: String, Integer, Boolean, Double, Byte, Short, Long, and Float.
- int type = envEntry.getType().getValue();
- if (!((type == EnvEntryType.BOOLEAN) || (type == EnvEntryType.BYTE) || (type == EnvEntryType.DOUBLE) || (type == EnvEntryType.FLOAT) || (type == EnvEntryType.INTEGER) || (type == EnvEntryType.LONG) || (type == EnvEntryType.SHORT) || (type == EnvEntryType.STRING))) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2840, IEJBValidationContext.WARNING, bean, this);
- vc.addMessage(message);
- }
- }
- else {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2840, IEJBValidationContext.WARNING, bean, this);
- vc.addMessage(message);
- }
- }
-
- if (envNames.containsDuplicates()) {
- Iterator dups = envNames.getDuplicates().iterator();
- while (dups.hasNext()) {
- String name = (String) dups.next();
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2841, IEJBValidationContext.WARNING, bean, new String[] { name }, this);
- vc.addMessage(message);
- }
- }
- }
-
- /**
- * If the metadata from the EjbRef is not valid, add a validation message.
- *
- * @parm EjbRef The <ejb-ref> element this method validates.
- * @parm EnterpriseBean If the <ejb-ref> uses an <ejb-link>, this is the enterprise bean identified by that link. If the link doesn't exist, or if the user has identified a bean which doesn't exist, this parameter will be null.
- */
- protected void validateHomeRef(IEJBValidationContext vc, EJBJar ejbJar, EjbRef ref, EnterpriseBean namedEjb) {
- boolean validType = true;
- EnterpriseBean bean = (EnterpriseBean)ref.eContainer();
- if (ref.eIsSet(CommonPackage.eINSTANCE.getEjbRef_Home())) {
- try {
- String homeName = ref.getHome();
- JavaHelpers type = ValidationRuleUtility.getType(homeName, bean);
- // Check that the home specified in the <home> element of the <ejb-ref> element
- // exists.
- ValidationRuleUtility.isValidType(type);
-
- if (namedEjb != null) {
- // Check that the home specified in the <home> element
- // is assignable to the home used by the named EJB in the
- // <ejb-link> element.
- JavaClass intfType = namedEjb.getHomeInterface();
- ValidationRuleUtility.isValidType(intfType);
-
- // Make sure that the identified home/remote interface in the ejb-ref
- // is of the same type as the one used by the bean.
- if (!ValidationRuleUtility.isAssignableFrom(type.getWrapper(), intfType)) {
- String[] parms = { namedEjb.getName(), intfType.getName()};
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2836, IEJBValidationContext.INFO, bean, parms, this);
- vc.addMessage(message);
- }
- }
- }
- catch (InvalidInputException exc) {
- validType = false;
- }
- }
- else {
- validType = false;
- }
-
- if (!validType) {
- String[] parms = { ref.getHome()};
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2832, IEJBValidationContext.INFO, bean, parms, this);
- vc.addMessage(message);
- }
- }
-
- public void validatePersistenceTypeElement(IEJBValidationContext vc, EJBJar ejbJar, EnterpriseBean bean) {
- // Attempt in vain to validate the persistence type element here, because
- // if it's not specified, there's a syntax error, and the
- // validateDeploymentDescriptor(IReporter, IValidationContext) would have been
- // called instead.
- if (bean.isEntity()) {
- // check syntax
- Entity entityBean = (Entity) bean;
- if (!(entityBean.isContainerManagedEntity() || entityBean.isBeanManagedEntity())) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2809, IEJBValidationContext.ERROR, bean, this);
- vc.addMessage(message);
- }
- }
- }
- /**
- * If the primary key class reflected properly, return true. Else, return false.
- */
- public void validatePrimKeyClassElement(IEJBValidationContext vc, EJBJar ejbJar, EnterpriseBean bean) {
- if (bean.isEntity()) {
- // check syntax
- if (bean instanceof ContainerManagedEntity) {
- ContainerManagedEntity cmp = (ContainerManagedEntity) bean;
- JavaClass clas = cmp.getPrimaryKey();
- if (clas != null && !clas.eIsProxy() && !isValidPrimKeyField(cmp,clas)) {
- // 9.4.7.1
- // user has specified both a prim-key-class and a primkey-field
- // can't use the CMPAttribute's field's name, because the primitive primary key returned is null
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2828, IEJBValidationContext.ERROR, bean, this);
- vc.addMessage(message);
- }
- }
- }
- }
-
- /**
- * If the primary key is specified in the xml, answer whether it is the same as the derived primaryKeyAttribute
- */
- public static boolean isValidPrimKeyField(ContainerManagedEntity cmp, JavaClass clas) {
- return cmp.getPrimaryKeyName().equals(clas.getJavaName());
- }
-
- public void validateReentrantElement(IEJBValidationContext vc, EJBJar ejbJar, EnterpriseBean bean) {
- if (bean.isEntity()) {
- // check syntax
- Entity entity = (Entity) bean;
- if (!entity.isSetReentrant()) {
- // Can only test if the reentrant attribute is set, because the model defaults it
- // to some boolean value if it isn't set.
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2806, IEJBValidationContext.ERROR, bean, this);
- vc.addMessage(message);
- }
- }
- }
-
- /**
- * If the metadata from the EjbRef is not valid, add a validation message.
- *
- * @parm EjbRef The ref whose home this method checks.
- * @parm EnterpriseBean If the EjbRef uses an <ejb-link> element, this is the enterprise bean identified by that element. It may be null, if the user has made a mistake.
- */
- protected void validateRemoteRef(IEJBValidationContext vc, EJBJar ejbJar, EjbRef ref, EnterpriseBean namedEjb) {
- boolean validType = true;
- EnterpriseBean bean = (EnterpriseBean)ref.eContainer();
- if (ref.eIsSet(CommonPackage.eINSTANCE.getEjbRef_Remote())) {
- try {
- String remoteName = ref.getRemote();
- JavaHelpers type = ValidationRuleUtility.getType(remoteName, bean);
- // Check that the home specified in the <home> element of the <ejb-ref> element
- // exists.
- ValidationRuleUtility.isValidType(type);
-
- if (namedEjb != null) {
- // Check that the home specified in the <home> element
- // is assignable to the home used by the named EJB in the
- // <ejb-link> element.
- JavaClass intfType = namedEjb.getRemoteInterface();
- ValidationRuleUtility.isValidType(intfType);
-
- // Make sure that the identified home/remote interface in the ejb-ref
- // is of the same type as the one used by the bean.
- if (!ValidationRuleUtility.isAssignableFrom(type.getWrapper(), intfType)) {
- String[] parms = { namedEjb.getName(), intfType.getName()};
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2837, IEJBValidationContext.INFO, bean, parms, this);
- vc.addMessage(message);
- }
- }
- }
- catch (InvalidInputException exc) {
- validType = false;
- }
- }
- else {
- validType = false;
- }
-
- if (!validType) {
- String[] parms = { ref.getRemote()};
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2833, IEJBValidationContext.INFO, bean, parms, this);
- vc.addMessage(message);
- }
- }
-
- /**
- * 15.2.5.3 Declaration of security roles referenced from the bean's code
- * The Bean Provider is responsible for declaring in the security-role-ref
- * elements of the deployment descriptor all the security role names used
- * in the enterprise bean code. Declaring the security roles references in
- * the code allows the Application Assembler or Deployer to link the names
- * of the security roles used in the code to the security roles defined for
- * an assembled application through the security-role elements.
- * The Bean Provider must declare each security role referenced in the code
- * using the security-role-ref element as follows:
- * Declare the name of the security role using the role-name element.
- * The name must be the security role name that is used as a parameter to
- * the isCallerInRole(String role-Name) method.
- * Optional: Provide a description of the security role in the
- * description element. A security role reference, including the name defined
- * by the role-name element, is scoped to the session or entity bean element
- * whose declaration contains the security-role-ref element. The following
- * example illustrates how an enterprise bean's references to security roles
- * are declared in the deployment descriptor.
- * ...
- * <enterprise-beans>
- * ...
- * <entity>
- * <ejb-name>AardvarkPayroll</ejb-name>
- * <ejb-class>com.aardvark.payroll.PayrollBean</ejb-class>
- * ...
- * <security-role-ref>
- * <description>
- * This security role should be assigned to the
- * employees of the payroll department who are
- * allowed to update employees' salaries.
- * </description>
- * <role-name>payroll</role-name>
- * </security-role-ref>
- * ...
- * </entity>
- * ...
- * </enterprise-beans>
- * ...
- *
- * The deployment descriptor above indicates that the enterprise bean
- * AardvarkPayroll makes the security check using isCallerInRole("payroll")
- * in its business method.
- *
- *
- * 15.3.3 Linking security role references to security roles
- * If the Application Assembler defines the security-role elements in the
- * deployment descriptor, he or she is also responsible for linking all the
- * security role references declared in the security-role-ref elements to the
- * security roles defined in the security-role elements. The Application
- * Assembler links each security role reference to a security role using the
- * role-link element. The value of the role-link element must be the name of
- * one of the security roles defined in a security-role element.
- * A role-link element must be used even if the value of role-name is the
- * same as the value of the role-link reference.
- * The following deployment descriptor example shows how to link the security
- * role reference named payroll to the security role named payroll-department.
- * ...
- * <enterprise-beans>
- * ...
- * <entity>
- * <ejb-name>AardvarkPayroll</ejb-name>
- * <ejb-class>com.aardvark.payroll.PayrollBean</ejb-class>
- * ...
- * <security-role-ref>
- * <description>
- * This role should be assigned to the
- * employees of the payroll department.
- * Members of this role have access to
- * anyone's payroll record.
- *
- * The role has been linked to the
- * payroll-department role.
- * </description>
- * <role-name>payroll</role-name>
- * <role-link>payroll-department</role-link>
- * </security-role-ref>
- * ...
- * </entity>
- * ...
- * </enterprise-beans>
- * ...
- *
- */
- public void validateSecurityRoleRefElement(IEJBValidationContext vc, EJBJar ejbJar, EnterpriseBean bean) {
- if (bean == null) {
- return;
- }
-
- /**
- * Need to build up a list of duplicate role names, but the validation message
- * needs to be registered against the duplicate SecurityRoleRef instance.
- * (Without the instance, we cannot get line numbers.)
- *
- * This class wrappers the SecurityRolRef instance so that the wrapper's
- * implemention of equals compares the names, but the validation message will
- * still be able to get the ref from the duplicate name.
- */
- class RoleRefWrapper {
- private SecurityRoleRef _ref = null;
-
- public RoleRefWrapper(SecurityRoleRef ref) {
- _ref = ref;
- }
-
- public boolean equals(Object o) {
- if (o instanceof RoleRefWrapper) {
- RoleRefWrapper other = (RoleRefWrapper) o;
- return _ref.getName().equals(other.getRoleRef().getName());
- }
- return false;
- }
-
- public SecurityRoleRef getRoleRef() {
- return _ref;
- }
- }
-
- boolean areSRolesDefined = ((_securityRoles != null) && (_securityRoles.size() > 0));
-
- List securityRoleRefs = bean.getSecurityRoleRefs();
- if ((securityRoleRefs != null) && (securityRoleRefs.size() != 0)) {
- // Check that each security role ref refers to a security role,
- // if security roles are defined in the assembly descriptor,
- // and that each referenced security role exists.
- DuplicatesTable roleRefNames = new DuplicatesTable();
- for (int i = 0; i < securityRoleRefs.size(); i++) {
- SecurityRoleRef ref = (SecurityRoleRef) securityRoleRefs.get(i);
-
- // Check that the role name is set (15.2.5.3)
- String roleName = ref.getName();
- if ((roleName == null) || (roleName.equals(""))) { //$NON-NLS-1$
- roleName = ""; //$NON-NLS-1$
- String beanName = (bean.getName() == null) ? "" : bean.getName(); //$NON-NLS-1$
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2822, IEJBValidationContext.WARNING, ref, new String[] { beanName }, this);
- vc.addMessage(message);
- }
- else {
- // Build up the list of names, to check for duplicates
- roleRefNames.add(new RoleRefWrapper(ref));
- }
-
- // Check that the role link is set (15.3.3)
- String roleLink = ref.getLink();
- boolean isLinkDefined = ((ref.eIsSet(CommonPackage.eINSTANCE.getSecurityRoleRef_Link())) && (roleLink != null) && (!roleLink.equals(""))); //$NON-NLS-1$
-
- if ((areSRolesDefined) && (!isLinkDefined)) {
- // must have role link defined (15.3.3)
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2823, IEJBValidationContext.WARNING, ref, this);
- vc.addMessage(message);
- }
- else if ((!areSRolesDefined) && (isLinkDefined)) {
- // must not have role link defined (15.2.5.3)
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2827, IEJBValidationContext.WARNING, ref, this);
- vc.addMessage(message);
- }
- else if (areSRolesDefined && isLinkDefined) {
- // check that the role listed in the link exists. (15.3.3)
- Iterator iterator = _securityRoles.iterator();
- boolean roleExists = false;
- while(iterator.hasNext()) {
- SecurityRole role = (SecurityRole)iterator.next();
- if(role.getRoleName().equals(roleLink)) {
- roleExists = true;
- break;
- }
- }
- if (!roleExists) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2824, IEJBValidationContext.WARNING, ref, new String[] { roleName }, this);
- vc.addMessage(message);
- }
- }
- }
-
- // Check for duplicates
- // Check that there are no duplicate role-names. (15.3.1)
- if (roleRefNames.containsDuplicates()) {
- List duplicates = roleRefNames.getDuplicates();
- Iterator iterator = duplicates.iterator();
- while (iterator.hasNext()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2820, IEJBValidationContext.WARNING, ((RoleRefWrapper) iterator.next()).getRoleRef(), this);
- vc.addMessage(message);
- }
- }
- roleRefNames.clear();
- }
- }
-
- /**
- * 6.5.3 The optional SessionSynchronization interface
- *...
- * Only a stateful Session bean with container-managed transaction demarcation may
- * implement the SessionSynchronization interface.
- *...
- * There is no need for a Session bean with bean-managed transaction to rely on the
- * synchronization call backs because the bean is in control of the commit the bean
- * knows when the transaction is about to be committed and it knows the outcome of the
- * transaction commit.
- *...
- */
- public void validateSessionTypeElement(IEJBValidationContext vc, EJBJar ejbJar, EnterpriseBean bean) {
- if (bean.isSession()) {
- Session session = (Session) bean;
-
- // check syntax
- boolean isValidSess = isValidSessionTypeElement(session);
- if (!isValidSess) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2807, IEJBValidationContext.ERROR, session, this);
- vc.addMessage(message);
- }
- }
- }
-
- public void validateTransactionTypeElement(IEJBValidationContext vc, EJBJar ejbJar, EnterpriseBean bean) {
- if (bean.isSession()) {
- // check syntax
- Session sessionBean = (Session) bean;
- if (!isValidTransactionTypeElement(sessionBean)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2808, IEJBValidationContext.ERROR, bean, this);
- vc.addMessage(message);
- }
- }
- }
-
- /*
- * @see IValidationRule#reset()
- */
- public void reset() {
- super.reset();
- _securityRoles = null;
- }
-
- /*
- * @see IValidationRule#preValidate(IEJBValidationContext, Object, Object)
- */
- public void preValidate(IEJBValidationContext vc, Object targetParent, Object target) throws ValidationCancelledException, ValidationException {
- super.preValidate(vc, targetParent, target);
-
- EJBJar ejbJar = (EJBJar)vc.loadModel(EJBValidatorModelEnum.EJB_MODEL);
- if(ejbJar == null) {
- return;
- }
-
- if(ejbJar.getAssemblyDescriptor() == null) {
- return;
- }
- _securityRoles = ejbJar.getAssemblyDescriptor().getSecurityRoles();
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/EnterpriseBean20VRule.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/EnterpriseBean20VRule.java
deleted file mode 100644
index 0c3ba3ea4..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/EnterpriseBean20VRule.java
+++ /dev/null
@@ -1,1193 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.logging.Level;
-
-import org.eclipse.jem.java.Field;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaHelpers;
-import org.eclipse.jem.util.logger.LogEntry;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jst.j2ee.common.EjbRef;
-import org.eclipse.jst.j2ee.common.EjbRefType;
-import org.eclipse.jst.j2ee.common.EnvEntry;
-import org.eclipse.jst.j2ee.common.EnvEntryType;
-import org.eclipse.jst.j2ee.common.SecurityRole;
-import org.eclipse.jst.j2ee.common.SecurityRoleRef;
-import org.eclipse.jst.j2ee.ejb.CMPAttribute;
-import org.eclipse.jst.j2ee.ejb.CMRField;
-import org.eclipse.jst.j2ee.ejb.ContainerManagedEntity;
-import org.eclipse.jst.j2ee.ejb.EJBJar;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.jst.j2ee.ejb.Entity;
-import org.eclipse.jst.j2ee.ejb.MessageDriven;
-import org.eclipse.jst.j2ee.ejb.Session;
-import org.eclipse.jst.j2ee.internal.J2EEConstants;
-import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
-import org.eclipse.jst.j2ee.internal.common.CommonPackage;
-import org.eclipse.jst.j2ee.internal.ejb.EjbPackage;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.MessageLimitException;
-
-/**
- * @version 1.0
- * @author
- */
-public class EnterpriseBean20VRule extends AValidationRule implements IMessagePrefixEjb20Constants {
- private List _securityRoles = null;
- private static final Map MESSAGE_IDS;
- private static final Object[] DEPENDS_ON = new Object[]{IValidationRuleList.EJB20_BMP_BEANCLASS, IValidationRuleList.EJB20_BMP_HOME, IValidationRuleList.EJB20_BMP_KEYCLASS, IValidationRuleList.EJB20_BMP_LOCAL, IValidationRuleList.EJB20_BMP_LOCALHOME, IValidationRuleList.EJB20_BMP_REMOTE, IValidationRuleList.EJB20_CMP_BEANCLASS, IValidationRuleList.EJB20_CMP_HOME, IValidationRuleList.EJB20_CMP_KEYCLASS, IValidationRuleList.EJB20_CMP_LOCAL, IValidationRuleList.EJB20_CMP_LOCALHOME, IValidationRuleList.EJB20_CMP_REMOTE, IValidationRuleList.EJB20_STATEFUL_SESSION_BEANCLASS, IValidationRuleList.EJB20_STATEFUL_SESSION_HOME, IValidationRuleList.EJB20_STATEFUL_SESSION_LOCAL, IValidationRuleList.EJB20_STATEFUL_SESSION_LOCALHOME, IValidationRuleList.EJB20_STATEFUL_SESSION_REMOTE, IValidationRuleList.EJB20_STATELESS_SESSION_BEANCLASS, IValidationRuleList.EJB20_STATELESS_SESSION_HOME, IValidationRuleList.EJB20_STATELESS_SESSION_LOCAL, IValidationRuleList.EJB20_STATELESS_SESSION_LOCALHOME, IValidationRuleList.EJB20_STATELESS_SESSION_REMOTE};
-
- static {
- MESSAGE_IDS = new HashMap();
-
- MESSAGE_IDS.put(CHKJ2433, new String[]{CHKJ2433});
- MESSAGE_IDS.put(CHKJ2800_NAMED, new String[]{CHKJ2800_NAMED+SPEC});
- MESSAGE_IDS.put(CHKJ2800_UNNAMED, new String[]{CHKJ2800_UNNAMED+SPEC});
- MESSAGE_IDS.put(CHKJ2801, new String[]{CHKJ2801+SPEC});
- MESSAGE_IDS.put(CHKJ2802_NAMED, new String[]{CHKJ2802_NAMED+SPEC});
- MESSAGE_IDS.put(CHKJ2802_UNNAMED, new String[]{CHKJ2802_UNNAMED+SPEC});
- MESSAGE_IDS.put(CHKJ2803_NAMED, new String[]{CHKJ2803_NAMED+SPEC});
- MESSAGE_IDS.put(CHKJ2803_UNNAMED, new String[]{CHKJ2803_UNNAMED+SPEC});
- MESSAGE_IDS.put(CHKJ2804_NAMED, new String[]{CHKJ2804_NAMED+SPEC});
- MESSAGE_IDS.put(CHKJ2804_UNNAMED, new String[]{CHKJ2804_UNNAMED+SPEC});
- MESSAGE_IDS.put(CHKJ2805_NAMED, new String[]{CHKJ2805_NAMED+SPEC});
- MESSAGE_IDS.put(CHKJ2805_UNNAMED, new String[]{CHKJ2805_UNNAMED+SPEC});
- MESSAGE_IDS.put(CHKJ2806, new String[]{CHKJ2806+SPEC});
- MESSAGE_IDS.put(CHKJ2807, new String[]{CHKJ2807+SPEC});
- MESSAGE_IDS.put(CHKJ2808, new String[]{CHKJ2808+SPEC});
- MESSAGE_IDS.put(CHKJ2809, new String[]{CHKJ2809+SPEC});
- MESSAGE_IDS.put(CHKJ2810_NAMED, new String[]{CHKJ2810_NAMED+SPEC});
- MESSAGE_IDS.put(CHKJ2810_UNNAMED, new String[]{CHKJ2810_UNNAMED+SPEC});
- MESSAGE_IDS.put(CHKJ2813, new String[]{CHKJ2813+SPEC});
- MESSAGE_IDS.put(CHKJ2820, new String[]{CHKJ2820+SPEC});
- MESSAGE_IDS.put(CHKJ2822, new String[]{CHKJ2822+SPEC});
- MESSAGE_IDS.put(CHKJ2823, new String[]{CHKJ2823+SPEC});
- MESSAGE_IDS.put(CHKJ2824, new String[]{CHKJ2824+SPEC});
- MESSAGE_IDS.put(CHKJ2825, new String[]{CHKJ2825+SPEC});
- MESSAGE_IDS.put(CHKJ2826, new String[]{CHKJ2826+SPEC});
- MESSAGE_IDS.put(CHKJ2827, new String[]{CHKJ2827+SPEC});
- MESSAGE_IDS.put(CHKJ2828, new String[]{CHKJ2828+SPEC});
- MESSAGE_IDS.put(CHKJ2830, new String[]{CHKJ2830+SPEC});
- MESSAGE_IDS.put(CHKJ2831, new String[]{CHKJ2831+SPEC});
- MESSAGE_IDS.put(CHKJ2832, new String[]{CHKJ2832+SPEC});
- MESSAGE_IDS.put(CHKJ2833, new String[]{CHKJ2833+SPEC});
- MESSAGE_IDS.put(CHKJ2834, new String[]{CHKJ2834+SPEC});
- MESSAGE_IDS.put(CHKJ2835, new String[]{CHKJ2835+SPEC});
- MESSAGE_IDS.put(CHKJ2836, new String[]{CHKJ2836+SPEC});
- MESSAGE_IDS.put(CHKJ2837, new String[]{CHKJ2837+SPEC});
- MESSAGE_IDS.put(CHKJ2838, new String[]{CHKJ2838+SPEC});
- MESSAGE_IDS.put(CHKJ2839, new String[]{CHKJ2839+SPEC});
- MESSAGE_IDS.put(CHKJ2840, new String[]{CHKJ2840+SPEC});
- MESSAGE_IDS.put(CHKJ2841, new String[]{CHKJ2841+SPEC});
- MESSAGE_IDS.put(CHKJ2845, new String[]{CHKJ2845+SPEC});
- MESSAGE_IDS.put(CHKJ2846, new String[]{CHKJ2846+SPEC});
- MESSAGE_IDS.put(CHKJ2847, new String[]{CHKJ2847+SPEC});
- MESSAGE_IDS.put(CHKJ2852, new String[]{CHKJ2852});
- MESSAGE_IDS.put(CHKJ2854, new String[]{CHKJ2854+SPEC});
- MESSAGE_IDS.put(CHKJ2855, new String[]{CHKJ2855+SPEC});
- MESSAGE_IDS.put(CHKJ2856, new String[]{CHKJ2856+SPEC});
- MESSAGE_IDS.put(CHKJ2857, new String[]{CHKJ2857+SPEC});
- MESSAGE_IDS.put(CHKJ2858, new String[]{CHKJ2858+SPEC});
- MESSAGE_IDS.put(CHKJ2859, new String[]{CHKJ2859+SPEC});
- MESSAGE_IDS.put(CHKJ2860, new String[]{CHKJ2860+SPEC});
- MESSAGE_IDS.put(CHKJ2880, new String[]{"CHKJ2880.s"+SPEC, "CHKJ2880.b"+SPEC, "CHKJ2880.c"+SPEC}); // special case; need diff spec number for each type of bean //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- MESSAGE_IDS.put(CHKJ2881, new String[]{"CHKJ2881.s"+SPEC, "CHKJ2881.b"+SPEC, "CHKJ2881.c"+SPEC}); // special case; need diff spec number for each type of bean //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- MESSAGE_IDS.put(CHKJ2882, new String[]{"CHKJ2882.s"+SPEC, "CHKJ2882.b"+SPEC, "CHKJ2882.c"+SPEC}); // special case; need diff spec number for each type of bean //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- MESSAGE_IDS.put(CHKJ2883, new String[]{"CHKJ2883.s"+SPEC, "CHKJ2883.b"+SPEC, "CHKJ2883.c"+SPEC}); // special case; need diff spec number for each type of bean //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- MESSAGE_IDS.put(CHKJ2884, new String[]{"CHKJ2884.s"+SPEC, "CHKJ2884.b"+SPEC, "CHKJ2884.c"+SPEC}); // special case; need diff spec number for each type of bean //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- MESSAGE_IDS.put(CHKJ2885, new String[]{"CHKJ2885.s"+SPEC, "CHKJ2885.b"+SPEC, "CHKJ2885.c"+SPEC}); // special case; need diff spec number for each type of bean //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- MESSAGE_IDS.put(CHKJ2907, new String[]{CHKJ2907});
- }
-
- public Object[] getDependsOn() {
- // EJBJar doesn't depend on anything else
- return DEPENDS_ON;
- }
-
- public Object getId() {
- return IValidationRuleList.EJB20_ENTERPRISEBEAN;
- }
-
- public Map getMessageIds() {
- return MESSAGE_IDS;
- }
-
- public Object getTarget(Object parent, Object clazz) {
- return parent; // The parent will be an EnterpriseBean.
- }
-
- /*
- * @see IValidationRule#validate(IEJBValidationContext, Object, Object)
- */
- public void validate(IEJBValidationContext vc, Object targetParent, Object target) throws ValidationCancelledException, ValidationException {
- Logger logger = vc.getMsgLogger();
- if(logger != null && logger.isLoggingLevel(Level.FINEST)) {
- LogEntry entry = vc.getLogEntry();
- entry.setSourceID("EnterpriseBean20VRule - validate"); //$NON-NLS-1$
- entry.setText(getClass().getName() + "::validate(" + targetParent + ", " + target); //$NON-NLS-1$ //$NON-NLS-2$
- logger.write(Level.FINEST, entry);
- }
-
- EJBJar ejbJar = null;
- if(targetParent instanceof EnterpriseBean) {
- // running as a dependent
- ejbJar = (EJBJar)vc.loadModel(EJBValidatorModelEnum.EJB_MODEL);
- }
- else {
- ejbJar = (EJBJar)targetParent;
- }
- EnterpriseBean bean = (EnterpriseBean)target;
-
- validate(vc, ejbJar, bean);
- }
-
-
- public void validate(IEJBValidationContext vc, EJBJar ejbJar, EnterpriseBean bean) throws ValidationCancelledException, ValidationException {
- Logger logger = vc.getMsgLogger();
- try {
- // Check if the bean parts are reflected. Some rules can be validated
- // whether or not the bean is reflected.
- boolean reflected = validateBeanComponentsReflected(vc, ejbJar, bean);
-
- // These rules can be validated whether or not the bean is reflected.
- validateEJBNameElement(vc, ejbJar, bean);
- validateReentrantElement(vc, ejbJar, bean);
- validateSessionTypeElement(vc, ejbJar, bean);
- validateTransactionTypeElement(vc, ejbJar, bean);
- validatePersistenceTypeElement(vc, ejbJar, bean);
- validateEnvironmentEntries(vc, ejbJar, bean);
-
- // The rest of the rules cannot be validated because the bean isn't reflected.
- if (!reflected) {
- return;
- }
-
- validateLocalPairs(vc, ejbJar, bean);
- validateRemotePairs(vc, ejbJar, bean);
- validateLocalOrRemote(vc, ejbJar, bean);
-
- if (bean.isContainerManagedEntity()) {
- ContainerManagedEntity cmp = (ContainerManagedEntity) bean;
- if((cmp.getPrimKeyField() != null) && !cmp.getPrimKeyField().eIsProxy()) {
- // Don't validate the fields if it's neither a primitive primary key nor a compound primary key.
- // If the user was attempting a primitive primary key, but did a typo in ejb-jar.xml,
- // the user will see a lot of strange messages logged against the fields in the primitive primary key.
- validateCMPFieldElement(vc, ejbJar, cmp);
- }
- validateAbstractSchemaNameElement(vc, ejbJar, cmp);
- validateJavaIdentifier(vc, ejbJar, cmp);
- }
-
- validatePrimKeyClassElement(vc, ejbJar, bean);
- validateEJBRef(vc, ejbJar, bean);
- }
- catch (MessageLimitException e) {
- throw e;
- }
- catch(ValidationCancelledException e) {
- throw e;
- }
- /* unreachable catch block
- catch(ValidationException exc) {
- throw exc;
- }
- */
- catch (Throwable exc) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2852, IEJBValidationContext.WARNING, bean, new String[]{J2EEConstants.EJBJAR_DD_SHORT_NAME, bean.getName()}, this);
- vc.addMessage(message);
- if (logger != null && logger.isLoggingLevel(Level.SEVERE)) {
- logger.write(Level.SEVERE, exc);
- }
- }
- }
-
- /**
- * If the bean components (home interface, remote interface, bean class, and primary
- * key) can all be found and reflected, return true. Let the DDValidator
- * report the error message against the bean if one of these types doesn't reflect.
- */
- public boolean validateBeanComponentsReflected(IEJBValidationContext vc, EJBJar ejbJar, EnterpriseBean bean) {
- // Don't need to check if the bean is null, because this method will
- // not be called if it is.
- boolean isValid = true;
- try {
- ValidationRuleUtility.isValidTypeHierarchy(bean, bean.getEjbClass());
- }
- catch (InvalidInputException exc) {
- IMessage message = null;
- if(bean.eIsSet(EjbPackage.eINSTANCE.getEnterpriseBean_EjbClass())) {
- message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2802_NAMED, IEJBValidationContext.ERROR, bean, new String[]{bean.getEjbClassName()}, this);
- }
- else {
- message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2802_UNNAMED, IEJBValidationContext.ERROR, bean, this);
- }
- vc.addMessage(message);
- isValid = false;
- }
-
- if(bean instanceof MessageDriven) {
- // don't need to check the rest
- return isValid;
- }
-
- try {
- if(bean.eIsSet(EjbPackage.eINSTANCE.getEnterpriseBean_HomeInterface())) {
- ValidationRuleUtility.isValidTypeHierarchy(bean, bean.getHomeInterface());
- }
- }
- catch (InvalidInputException exc) {
- IMessage message = null;
- if(bean.eIsSet(EjbPackage.eINSTANCE.getEnterpriseBean_HomeInterface())) {
- message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2803_NAMED, IEJBValidationContext.ERROR, bean, new String[]{bean.getHomeInterfaceName()}, this);
- }
- else {
- message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2803_UNNAMED, IEJBValidationContext.ERROR, bean, this);
- }
- vc.addMessage(message);
- isValid = false;
- }
-
- try {
- if(bean.eIsSet(EjbPackage.eINSTANCE.getEnterpriseBean_RemoteInterface())) {
- ValidationRuleUtility.isValidTypeHierarchy(bean, bean.getRemoteInterface());
- }
- }
- catch (InvalidInputException exc) {
- IMessage message = null;
- if(bean.eIsSet(EjbPackage.eINSTANCE.getEnterpriseBean_RemoteInterface())) {
- message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2804_NAMED, IEJBValidationContext.ERROR, bean, new String[]{bean.getRemoteInterfaceName()}, this);
- }
- else {
- message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2804_UNNAMED, IEJBValidationContext.ERROR, bean, this);
- }
- vc.addMessage(message);
- isValid = false;
- }
-
- try {
- if(bean.eIsSet(EjbPackage.eINSTANCE.getEnterpriseBean_LocalHomeInterface())) {
- ValidationRuleUtility.isValidTypeHierarchy(bean, bean.getLocalHomeInterface());
- }
- }
- catch (InvalidInputException exc) {
- if(bean.eIsSet(EjbPackage.eINSTANCE.getEnterpriseBean_LocalHomeInterface())) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2805_NAMED, IEJBValidationContext.ERROR, bean, new String[]{bean.getLocalHomeInterfaceName()}, this);
- vc.addMessage(message);
- isValid = false;
- }
- else {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2805_UNNAMED, IEJBValidationContext.ERROR, bean, this);
- vc.addMessage(message);
- isValid = false;
- }
- }
-
- try {
- if(bean.eIsSet(EjbPackage.eINSTANCE.getEnterpriseBean_LocalInterface())) {
- ValidationRuleUtility.isValidTypeHierarchy(bean, bean.getLocalInterface());
- }
- }
- catch (InvalidInputException exc) {
- IMessage message = null;
- if(bean.eIsSet(EjbPackage.eINSTANCE.getEnterpriseBean_LocalInterface())) {
- message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2800_NAMED, IEJBValidationContext.ERROR, bean, new String[]{bean.getLocalInterfaceName()}, this);
- }
- else {
- message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2800_UNNAMED, IEJBValidationContext.ERROR, bean, this);
- }
- vc.addMessage(message);
- isValid = false;
- }
-
- if (bean.isEntity()) {
- JavaClass primaryKey = ((Entity) bean).getPrimaryKey();
- try {
- ValidationRuleUtility.isValidTypeHierarchy(bean, primaryKey);
- }
- catch (InvalidInputException exc) {
- IMessage message = null;
- if(((Entity)bean).eIsSet(EjbPackage.eINSTANCE.getEntity_PrimaryKey())) {
- message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2810_NAMED, IEJBValidationContext.ERROR, bean, new String[]{((Entity)bean).getPrimaryKeyName()}, this);
- }
- else {
- message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2810_UNNAMED, IEJBValidationContext.ERROR, bean, this);
- }
- vc.addMessage(message);
- isValid = false;
- }
- }
-
- return isValid;
- }
-
- public void validateCMPFieldElement(IEJBValidationContext vc, EJBJar ejbJar, ContainerManagedEntity cmp) {
- // check syntax of tag is okay
- List fields = cmp.getPersistentAttributes();
- if ((fields == null) || (fields.size() == 0)) {
- // unlike EJB 1.1 CMPs, this is legal.
- return;
- }
-
- boolean mapsToMultipleFields = !ValidationRuleUtility.isPrimitivePrimaryKey(cmp);
- Iterator iterator = fields.iterator();
-// Field field = null;
- List fieldNames = new ArrayList(fields.size());
- while (iterator.hasNext()) {
- CMPAttribute attrib = (CMPAttribute) iterator.next();
- if (attrib == null) {
- Logger logger = vc.getMsgLogger();
- if (logger != null && logger.isLoggingLevel(Level.FINEST)) {
- LogEntry entry = vc.getLogEntry();
- entry.setSourceID("DDValidator.validateCMPFieldElement(EnterpriseBean)"); //$NON-NLS-1$
- entry.setText("CMPAttribute is null."); //$NON-NLS-1$
- logger.write(Level.FINEST, entry);
- }
- continue;
- }
-
- fieldNames.add(attrib.getName());
-
- JavaHelpers fieldType = attrib.getType();
- try {
- // If the field is not a valid type
- ValidationRuleUtility.isValidType(fieldType);
- }
- catch (InvalidInputException exc) {
- // field not identified
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2830, IEJBValidationContext.WARNING, cmp, new String[] { attrib.getName()}, this);
- vc.addMessage(message);
- continue; // if you can't reflect it, then you can't validate it
- }
-
- try {
- if(!fieldType.isPrimitive() &&
- !ValidationRuleUtility.isSerializable(fieldType, cmp)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2855, IEJBValidationContext.INFO, cmp, new String[] { attrib.getName()}, this);
- vc.addMessage(message);
- }
- }
- catch(InvalidInputException e) {
- String[] msgParm = (e.getJavaClass() == null) ? new String[]{} : new String[]{e.getJavaClass().getQualifiedName()};
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2907, IEJBValidationContext.WARNING, cmp, msgParm, this);
- vc.addMessage(message);
- }
- }
-
- // 9.4.7.2
- if (mapsToMultipleFields && !ValidationRuleUtility.usesUnknownPrimaryKey(cmp)) {
- List primKeyFields = cmp.getPrimaryKey().getFieldsExtended();
-
- // (9.4.7.1 is validated in validatePrimKeyClassElement(bean)
- // check if the primary key class' fields exist in the container-managed fields
- iterator = primKeyFields.iterator();
-
- while (iterator.hasNext()) {
- Field keyField = (Field) iterator.next();
- if ((keyField.getName() != null) && (keyField.getName().equals(IMethodAndFieldConstants.FIELDNAME_SERIALVERSIONUID))) {
- // not a customer-entered field
- continue;
- }
-
- if (!fieldNames.contains(keyField.getName())) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2831, IEJBValidationContext.WARNING, cmp, new String[] { keyField.getName()}, this);
- vc.addMessage(message);
- }
- }
- }
- }
-
- public void validateCMRFieldElement(IEJBValidationContext vc, EJBJar ejbJar, ContainerManagedEntity cmp) {
- if (cmp == null)
- return;
- switch(cmp.getVersionID()) {
- case J2EEVersionConstants.EJB_1_0_ID:
- case J2EEVersionConstants.EJB_1_1_ID:
- break;
- case J2EEVersionConstants.EJB_2_0_ID:
- case J2EEVersionConstants.EJB_2_1_ID: default:
- List fields = cmp.getCMRFields();
- Iterator iterator = fields.iterator();
- while(iterator.hasNext()) {
- CMRField field = (CMRField)iterator.next();
- String fieldName = field.getName();
- if((fieldName == null) || (fieldName.equals(""))) { //$NON-NLS-1$
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2857, IEJBValidationContext.INFO, cmp, new String[] { field.getName()}, this);
- vc.addMessage(message);
- continue; // don't look for the get methods
- }
- if(!ValidationRuleUtility.isValidJavaIdentifier(fieldName)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2857, IEJBValidationContext.INFO, cmp, new String[] { field.getName()}, this);
- vc.addMessage(message);
- }
-
- try {
- JavaHelpers fieldType = field.getType();
- if(!ValidationRuleUtility.isAssignableFrom(fieldType, cmp.getLocalInterface()) &&
- !ValidationRuleUtility.isAssignableFromCollection(fieldType, cmp) &&
- !ValidationRuleUtility.isAssignableFromSet(fieldType, cmp)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2856, IEJBValidationContext.INFO, cmp, new String[] { field.getName()}, this);
- vc.addMessage(message);
- }
- }
- catch(InvalidInputException e) {
- String[] msgParm = (e.getJavaClass() == null) ? new String[]{} : new String[]{e.getJavaClass().getQualifiedName()};
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2907, IEJBValidationContext.WARNING, cmp, msgParm, this);
- vc.addMessage(message);
- }
- }
- break;
- }
- }
-
- public void validateEJBNameElement(IEJBValidationContext vc, EJBJar ejbJar, EnterpriseBean bean) {
- if (bean == null) {
- return;
- }
-
- String name = bean.getName();
- if ((name == null) || (name.equals(""))) { //$NON-NLS-1$
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2801, IEJBValidationContext.ERROR, bean, this);
- vc.addMessage(message);
- }
-
- if(bean.isContainerManagedEntity() && bean.getVersionID() >= J2EEVersionConstants.EJB_2_0_ID) {
- if(!ValidationRuleUtility.isValidJavaIdentifier(name)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2813, IEJBValidationContext.WARNING, bean, this);
- vc.addMessage(message);
- }
-
- // p. 466
- // "The name for an entity bean with cmp-version 2.x must conform
- // to the lexical rules for an NMTOKEN. The name for an entity bean with
- // cmp-version 2.x must not be a reserved literal in EJB QL.
- if(ValidationRuleUtility.isReservedWord(name)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2859, IEJBValidationContext.INFO, bean, this);
- vc.addMessage(message);
- }
- }
- }
-
- public void validateAbstractSchemaNameElement(IEJBValidationContext vc, EJBJar ejbJar, ContainerManagedEntity cmp) {
- if (cmp == null)
- return;
- switch(cmp.getVersionID()) {
- case J2EEVersionConstants.EJB_1_0_ID:
- case J2EEVersionConstants.EJB_1_1_ID:
- break;
- case J2EEVersionConstants.EJB_2_0_ID:
- case J2EEVersionConstants.EJB_2_1_ID: default:
-
- String name = cmp.getAbstractSchemaName();
- if(!ValidationRuleUtility.isValidJavaIdentifier(name)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2858, IEJBValidationContext.WARNING, cmp, this);
- vc.addMessage(message);
- }
-
- // Check that the name is not a reserved word
- if(ValidationRuleUtility.isReservedWord(name)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2860, IEJBValidationContext.INFO, cmp, this);
- vc.addMessage(message);
- }
- break;
- }
- }
-
- public void validateJavaIdentifier(IEJBValidationContext vc, EJBJar ejbJar, ContainerManagedEntity cmp) {
- /*
- * Don't duplicate the EJB QL validator's function.
- List queries = cmp.getQueries();
- Iterator iterator = queries.iterator();
- Query query = (Query)iterator.next();
- */
- }
-
-
- /**
- * Validate section 14.3 of the EJB 1.1 specification.
- *
- * 14.3 EJB References
- * 14.3.1 Bean Provider's responsibilities
- * 14.3.1.1 EJB reference programming interfaces
- * 14.3.1.2 Declaration of EJB references in deployment descriptor
- * 14.3.2 Application Assembler's responsibilities
- * 14.3.3 Deployer's responsibility
- * 14.3.4 Container Provider's responsibility
- */
- public void validateEJBRef(IEJBValidationContext vc, EJBJar ejbJar, EnterpriseBean bean) {
- if (bean == null) {
- return;
- }
-
- List ejbRefs = bean.getEjbRefs();
- if ((ejbRefs == null) || (ejbRefs.size() == 0)) {
- return;
- }
-
- Iterator iterator = ejbRefs.iterator();
- EjbRef ref = null;
- while (iterator.hasNext()) {
- ref = (EjbRef) iterator.next();
- if (ref == null) {
- Logger logger = vc.getMsgLogger();
- if (logger != null && logger.isLoggingLevel(Level.FINEST)) {
- LogEntry entry = vc.getLogEntry();
- entry.setSourceID("DDValidator.validateEJBRef(EnterpriseBean)"); //$NON-NLS-1$
- entry.setText("EjbRef is null in " + bean.getName()); //$NON-NLS-1$
- logger.write(Level.FINEST, entry);
- }
- continue;
- }
- // 14.3.1.1
- // Info mssg. "EJB spec recommends that all references to other enterprise beans be organized in the ejb subcontext of the bean's environment"
- EnterpriseBean namedEjb = null;
- if (ref.eIsSet(CommonPackage.eINSTANCE.getEjbRef_Link())) {
- // Load the EJB identified by the reference, if it exists.
- namedEjb = ejbJar.getEnterpiseBeanFromRef(ref);
- if (namedEjb != null) {
- // if the named EJB is null it could be in another EJBJar
- Integer ejbType = new Integer(ref.getType().getValue());
- boolean wrongType = false; // is the EJB, identified by ejb-link, of the type specified in the ejb-ref-type element?
- String type = (namedEjb instanceof Session) ? "Session" : "Entity"; //$NON-NLS-1$ //$NON-NLS-2$
- if (ejbType == null) {
- // Neither session nor entity?
- wrongType = true;
- }
- else if (ejbType.intValue() == EjbRefType.SESSION) {
- if (!(namedEjb instanceof Session)) {
- wrongType = true;
- }
- }
- else if (ejbType.intValue() == EjbRefType.ENTITY) {
- if (!(namedEjb instanceof Entity)) {
- wrongType = true;
- }
- }
- else {
- wrongType = true;
- }
- if (wrongType) {
- String[] parms = { namedEjb.getName(), type };
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2835, IEJBValidationContext.INFO, bean, parms, this);
- vc.addMessage(message);
- }
- }
- }
-
- // 14.3.1.2, 14.3.2, 14.3.4
- // Check that ejb-ref-name, ejb-ref-type, home, and remote have been defined, and exist
- validateHomeRef(vc, ejbJar, ref, namedEjb);
- validateRemoteRef(vc, ejbJar, ref, namedEjb);
-
- // 14.3.1.1
- // Info mssg. "EJB spec recommends that all references to other enterprise beans be organized in the ejb subcontext of the bean's environment"
- if (ref.eIsSet(CommonPackage.eINSTANCE.getEjbRef_Name())) {
- // If ejb name isn't set, that error would have been caught by one of the validateRef methods
- // Don't duplicate that effort here.
- String ejbName = ref.getName();
- if (!ejbName.startsWith("ejb/")) { //$NON-NLS-1$
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2838, IEJBValidationContext.INFO, bean, this);
- vc.addMessage(message);
- }
- }
- }
- }
-
- /**
- * Validate section 14.3 of the EJB 1.1 specification.
- *
- * 14.2.1.2 Declaration of environment entries
- */
- public void validateEnvironmentEntries(IEJBValidationContext vc, EJBJar ejbJar, EnterpriseBean bean) {
- if (bean == null) {
- return;
- }
-
- List envEntries = bean.getEnvironmentProperties();
- if ((envEntries == null) || (envEntries.size() == 0)) {
- return;
- }
-
- EnvEntry envEntry = null;
- Iterator iterator = envEntries.iterator();
- DuplicatesTable envNames = new DuplicatesTable();
- while (iterator.hasNext()) {
- envEntry = (EnvEntry) iterator.next();
- if (envEntry == null) {
- Logger logger = vc.getMsgLogger();
- if (logger != null && logger.isLoggingLevel(Level.FINEST)) {
- LogEntry entry = vc.getLogEntry();
- entry.setSourceID("DDValidator.validateEnvironmentEntries(EnterpriseBean)"); //$NON-NLS-1$
- entry.setText("EjbEntry is null in " + bean.getName()); //$NON-NLS-1$
- logger.write(Level.FINEST, entry);
- }
- continue;
- }
-
- if (envEntry.getName() != null) {
- envNames.add(envEntry.getName());
- }
- else {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2839, IEJBValidationContext.WARNING, bean, this);
- vc.addMessage(message);
- }
-
- if (envEntry.isSetType()) {
- // 14.2.1.2; type must be one of these types: String, Integer, Boolean, Double, Byte, Short, Long, and Float.
- int type = envEntry.getType().getValue();
- if (!((type == EnvEntryType.BOOLEAN) || (type == EnvEntryType.BYTE) || (type == EnvEntryType.DOUBLE) || (type == EnvEntryType.FLOAT) || (type == EnvEntryType.INTEGER) || (type == EnvEntryType.LONG) || (type == EnvEntryType.SHORT) || (type == EnvEntryType.STRING) || (type == EnvEntryType.CHARACTER))) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2840, IEJBValidationContext.WARNING, bean, this);
- vc.addMessage(message);
- }
- }
- else {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2840, IEJBValidationContext.WARNING, bean, this);
- vc.addMessage(message);
- }
- }
-
- if (envNames.containsDuplicates()) {
- Iterator dups = envNames.getDuplicates().iterator();
- while (dups.hasNext()) {
- String name = (String) dups.next();
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2841, IEJBValidationContext.WARNING, bean, new String[] { name }, this);
- vc.addMessage(message);
- }
- }
- }
-
- /**
- * If the metadata from the EjbRef is not valid, add a validation message.
- *
- * @parm EjbRef The <ejb-ref> element this method validates.
- * @parm EnterpriseBean If the <ejb-ref> uses an <ejb-link>, this is the enterprise bean identified by that link. If the link doesn't exist, or if the user has identified a bean which doesn't exist, this parameter will be null.
- */
- protected void validateHomeRef(IEJBValidationContext vc, EJBJar ejbJar, EjbRef ref, EnterpriseBean namedEjb) {
- boolean validType = true;
- EnterpriseBean bean = (EnterpriseBean)ref.eContainer();
- if (ref.eIsSet(CommonPackage.eINSTANCE.getEjbRef_Home())) {
- try {
- String homeName = ref.getHome();
- JavaHelpers type = ValidationRuleUtility.getType(homeName, bean);
- // Check that the home specified in the <home> element of the <ejb-ref> element
- // exists.
- ValidationRuleUtility.isValidType(type);
-
- if (namedEjb != null) {
- // Check that the home specified in the <home> element
- // is assignable to the home used by the named EJB in the
- // <ejb-link> element.
- JavaClass intfType = namedEjb.getHomeInterface();
- ValidationRuleUtility.isValidType(intfType);
-
- // Make sure that the identified home/remote interface in the ejb-ref
- // is of the same type as the one used by the bean.
- if (!ValidationRuleUtility.isAssignableFrom(type, intfType)) {
- String[] parms = { namedEjb.getName(), intfType.getName()};
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2836, IEJBValidationContext.INFO, bean, parms, this);
- vc.addMessage(message);
- }
- }
- }
- catch (InvalidInputException exc) {
- validType = false;
- }
- }
- else {
- validType = false;
- }
-
- if (!validType) {
- String[] parms = { ref.getHome()};
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2832, IEJBValidationContext.INFO, bean, parms, this);
- vc.addMessage(message);
- }
- }
-
- /**
- * If the bean provides a local view, both parts of the view must exist.
- * If this method is being called, then all parts of the bean are reflected.
- */
- protected void validateLocalPairs(IEJBValidationContext vc, EJBJar ejbJar, EnterpriseBean bean) {
- if(bean instanceof MessageDriven) {
- // Message driven beans don't use local or remote views
- return;
- }
-
- JavaClass local = bean.getLocalInterface();
- JavaClass localHome = bean.getLocalHomeInterface();
- if((local != null ) && (localHome == null)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2880, IEJBValidationContext.WARNING, bean, this);
- vc.addMessage(message);
- }
- else if((local == null) && (localHome != null)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2882, IEJBValidationContext.WARNING, bean, this);
- vc.addMessage(message);
- }
- // otherwise either both are set or both are unset, and that's fine.
- }
-
- /**
- * If the bean provides a remote view, both parts of the view must exist.
- * If this method is being called, then all parts of the bean are reflected.
- */
- protected void validateRemotePairs(IEJBValidationContext vc, EJBJar ejbJar, EnterpriseBean bean) {
- if(bean instanceof MessageDriven) {
- // Message driven beans don't use local or remote views
- return;
- }
-
- JavaClass remote = bean.getRemoteInterface();
- JavaClass home = bean.getHomeInterface();
- if((remote != null) && (home == null)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2881, IEJBValidationContext.WARNING, bean, this);
- vc.addMessage(message);
- }
- else if((remote == null) && (home != null)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2883, IEJBValidationContext.WARNING, bean, this);
- vc.addMessage(message);
- }
- // otherwise either both are set or both are unset, and that's fine.
- }
-
- /**
- * The bean must provide either a local view, or a remote view, or both.
- */
- protected void validateLocalOrRemote(IEJBValidationContext vc, EJBJar ejbJar, EnterpriseBean bean) {
- if(bean instanceof MessageDriven) {
- // Message driven beans don't use local or remote views
- return;
- }
-
- JavaClass local = bean.getLocalInterface();
- JavaClass localHome = bean.getLocalHomeInterface();
- JavaClass remote = bean.getRemoteInterface();
- JavaClass remoteHome = bean.getHomeInterface();
-
- if((localHome == null) && (remoteHome == null)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2884, IEJBValidationContext.WARNING, bean, this);
- vc.addMessage(message);
- }
-
- if((local == null) && (remote == null)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2885, IEJBValidationContext.WARNING, bean, this);
- vc.addMessage(message);
- }
- }
-
- public void validatePersistenceTypeElement(IEJBValidationContext vc, EJBJar ejbJar, EnterpriseBean bean) {
- // Attempt in vain to validate the persistence type element here, because
- // if it's not specified, there's a syntax error, and the
- // validateDeploymentDescriptor(IReporter, IValidationContext) would have been
- // called instead.
- if (bean.isEntity()) {
- // check syntax
- Entity entityBean = (Entity) bean;
- if (!(entityBean.isContainerManagedEntity() || entityBean.isBeanManagedEntity())) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2809, IEJBValidationContext.ERROR, bean, this);
- vc.addMessage(message);
- }
- }
- }
-
- /**
- * If the primary key class reflected properly, return true. Else, return false.
- */
- public void validatePrimKeyClassElement(IEJBValidationContext vc, EJBJar ejbJar, EnterpriseBean bean) {
- if (bean.isEntity()) {
- // check syntax
- if (bean instanceof ContainerManagedEntity) {
- ContainerManagedEntity cmp = (ContainerManagedEntity) bean;
- CMPAttribute attr = cmp.getPrimKeyField();
- if((attr != null) && !attr.eIsProxy() && !isValidPrimKeyField(cmp,attr)) {
- // 9.4.7.1
- // user has specified both a prim-key-class and a primkey-field
- // can't use the CMPAttribute's field's name, because the primitive primary key returned is null
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2828, IEJBValidationContext.ERROR, bean, this);
- vc.addMessage(message);
- }
- }
- }
- }
-
- /**
- * If the prim key is specified in the xml, answer whether it is the same as the derived primaryKeyAttribute
- */
- public boolean isValidPrimKeyField(ContainerManagedEntity cmp, CMPAttribute attr) {
- return cmp.getPrimaryKeyName().equals(attr.getType().getJavaName());
- }
-
- public void validateReentrantElement(IEJBValidationContext vc, EJBJar ejbJar, EnterpriseBean bean) {
- if (bean.isEntity()) {
- // check syntax
- Entity entity = (Entity) bean;
- if (!entity.eIsSet(EjbPackage.eINSTANCE.getEntity_Reentrant())) {
- // Can only test if the reentrant attribute is set, because the model defaults it
- // to some boolean value if it isn't set.
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2806, IEJBValidationContext.ERROR, bean, this);
- vc.addMessage(message);
- }
- }
- }
-
- /**
- * If the metadata from the EjbRef is not valid, add a validation message.
- *
- * @parm EjbRef The ref whose home this method checks.
- * @parm EnterpriseBean If the EjbRef uses an <ejb-link> element, this is the enterprise bean identified by that element. It may be null, if the user has made a mistake.
- */
- protected void validateRemoteRef(IEJBValidationContext vc, EJBJar ejbJar, EjbRef ref, EnterpriseBean namedEjb) {
- boolean validType = true;
- EnterpriseBean bean = (EnterpriseBean)ref.eContainer();
- if (ref.eIsSet(CommonPackage.eINSTANCE.getEjbRef_Remote())) {
- try {
- String remoteName = ref.getRemote();
- JavaHelpers type = ValidationRuleUtility.getType(remoteName, bean);
- // Check that the home specified in the <home> element of the <ejb-ref> element
- // exists.
- ValidationRuleUtility.isValidType(type);
-
- if (namedEjb != null) {
- // Check that the home specified in the <home> element
- // is assignable to the home used by the named EJB in the
- // <ejb-link> element.
- JavaClass intfType = namedEjb.getRemoteInterface();
- ValidationRuleUtility.isValidType(intfType);
-
- // Make sure that the identified home/remote interface in the ejb-ref
- // is of the same type as the one used by the bean.
- if (!ValidationRuleUtility.isAssignableFrom(type, intfType)) {
- String[] parms = { namedEjb.getName(), intfType.getName()};
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2837, IEJBValidationContext.INFO, bean, parms, this);
- vc.addMessage(message);
- }
- }
- }
- catch (InvalidInputException exc) {
- validType = false;
- }
- }
- else {
- validType = false;
- }
-
- if (!validType) {
- String[] parms = { ref.getRemote()};
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2833, IEJBValidationContext.INFO, bean, parms, this);
- vc.addMessage(message);
- }
- }
-
- /**
- * 15.2.5.3 Declaration of security roles referenced from the bean's code
- * The Bean Provider is responsible for declaring in the security-role-ref
- * elements of the deployment descriptor all the security role names used
- * in the enterprise bean code. Declaring the security roles references in
- * the code allows the Application Assembler or Deployer to link the names
- * of the security roles used in the code to the security roles defined for
- * an assembled application through the security-role elements.
- * The Bean Provider must declare each security role referenced in the code
- * using the security-role-ref element as follows:
- * Declare the name of the security role using the role-name element.
- * The name must be the security role name that is used as a parameter to
- * the isCallerInRole(String role-Name) method.
- * Optional: Provide a description of the security role in the
- * description element. A security role reference, including the name defined
- * by the role-name element, is scoped to the session or entity bean element
- * whose declaration contains the security-role-ref element. The following
- * example illustrates how an enterprise bean's references to security roles
- * are declared in the deployment descriptor.
- * ...
- * <enterprise-beans>
- * ...
- * <entity>
- * <ejb-name>AardvarkPayroll</ejb-name>
- * <ejb-class>com.aardvark.payroll.PayrollBean</ejb-class>
- * ...
- * <security-role-ref>
- * <description>
- * This security role should be assigned to the
- * employees of the payroll department who are
- * allowed to update employees' salaries.
- * </description>
- * <role-name>payroll</role-name>
- * </security-role-ref>
- * ...
- * </entity>
- * ...
- * </enterprise-beans>
- * ...
- *
- * The deployment descriptor above indicates that the enterprise bean
- * AardvarkPayroll makes the security check using isCallerInRole("payroll")
- * in its business method.
- *
- *
- * 15.3.3 Linking security role references to security roles
- * If the Application Assembler defines the security-role elements in the
- * deployment descriptor, he or she is also responsible for linking all the
- * security role references declared in the security-role-ref elements to the
- * security roles defined in the security-role elements. The Application
- * Assembler links each security role reference to a security role using the
- * role-link element. The value of the role-link element must be the name of
- * one of the security roles defined in a security-role element.
- * A role-link element must be used even if the value of role-name is the
- * same as the value of the role-link reference.
- * The following deployment descriptor example shows how to link the security
- * role reference named payroll to the security role named payroll-department.
- * ...
- * <enterprise-beans>
- * ...
- * <entity>
- * <ejb-name>AardvarkPayroll</ejb-name>
- * <ejb-class>com.aardvark.payroll.PayrollBean</ejb-class>
- * ...
- * <security-role-ref>
- * <description>
- * This role should be assigned to the
- * employees of the payroll department.
- * Members of this role have access to
- * anyone's payroll record.
- *
- * The role has been linked to the
- * payroll-department role.
- * </description>
- * <role-name>payroll</role-name>
- * <role-link>payroll-department</role-link>
- * </security-role-ref>
- * ...
- * </entity>
- * ...
- * </enterprise-beans>
- * ...
- *
- */
- public void validateSecurityRoleRefElement(IEJBValidationContext vc, EJBJar ejbJar, EnterpriseBean bean) {
- if (bean == null) {
- return;
- }
-
- /**
- * Need to build up a list of duplicate role names, but the validation message
- * needs to be registered against the duplicate SecurityRoleRef instance.
- * (Without the instance, we cannot get line numbers.)
- *
- * This class wrappers the SecurityRoleRef instance so that the wrapper's
- * implemention of equals compares the names, but the validation message will
- * still be able to get the ref from the duplicate name.
- */
- class RoleRefWrapper {
- private SecurityRoleRef _ref = null;
-
- public RoleRefWrapper(SecurityRoleRef ref) {
- _ref = ref;
- }
-
- public boolean equals(Object o) {
- if (o instanceof RoleRefWrapper) {
- RoleRefWrapper other = (RoleRefWrapper) o;
- return _ref.getName().equals(other.getRoleRef().getName());
- }
- return false;
- }
-
- public SecurityRoleRef getRoleRef() {
- return _ref;
- }
- }
-
- boolean areSRolesDefined = ((_securityRoles != null) && (_securityRoles.size() > 0));
-
- List securityRoleRefs = bean.getSecurityRoleRefs();
- if ((securityRoleRefs != null) && (securityRoleRefs.size() != 0)) {
- // Check that each security role ref refers to a security role,
- // if security roles are defined in the assembly descriptor,
- // and that each referenced security role exists.
- DuplicatesTable roleRefNames = new DuplicatesTable();
- for (int i = 0; i < securityRoleRefs.size(); i++) {
- SecurityRoleRef ref = (SecurityRoleRef) securityRoleRefs.get(i);
-
- // Check that the role name is set (15.2.5.3)
- String roleName = ref.getName();
- if ((roleName == null) || (roleName.equals(""))) { //$NON-NLS-1$
- roleName = ""; //$NON-NLS-1$
- String beanName = (bean.getName() == null) ? "" : bean.getName(); //$NON-NLS-1$
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2822, IEJBValidationContext.WARNING, ref, new String[] { beanName }, this);
- vc.addMessage(message);
- }
- else {
- // Build up the list of names, to check for duplicates
- roleRefNames.add(new RoleRefWrapper(ref));
- }
-
- // Check that the role link is set (15.3.3)
- String roleLink = ref.getLink();
- boolean isLinkDefined = ((ref.eIsSet(CommonPackage.eINSTANCE.getSecurityRoleRef_Link())) && (roleLink != null) && (!roleLink.equals(""))); //$NON-NLS-1$
-
- if ((areSRolesDefined) && (!isLinkDefined)) {
- // must have role link defined (15.3.3)
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2823, IEJBValidationContext.WARNING, ref, this);
- vc.addMessage(message);
- }
- else if ((!areSRolesDefined) && (isLinkDefined)) {
- // must not have role link defined (15.2.5.3)
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2827, IEJBValidationContext.WARNING, ref, this);
- vc.addMessage(message);
- }
- else if (areSRolesDefined && isLinkDefined) {
- // check that the role listed in the link exists. (15.3.3)
- Iterator iterator = _securityRoles.iterator();
- boolean roleExists = false;
- while(iterator.hasNext()) {
- SecurityRole role = (SecurityRole)iterator.next();
- if(role.getRoleName().equals(roleLink)) {
- roleExists = true;
- break;
- }
- }
- if (!roleExists) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2824, IEJBValidationContext.WARNING, ref, new String[] { roleName }, this);
- vc.addMessage(message);
- }
- }
- }
-
- // Check for duplicates
- // Check that there are no duplicate role-names. (15.3.1)
- if (roleRefNames.containsDuplicates()) {
- List duplicates = roleRefNames.getDuplicates();
- Iterator iterator = duplicates.iterator();
- while (iterator.hasNext()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2820, IEJBValidationContext.WARNING, ((RoleRefWrapper) iterator.next()).getRoleRef(), this);
- vc.addMessage(message);
- }
- }
- roleRefNames.clear();
- }
- }
-
- /**
- * 6.5.3 The optional SessionSynchronization interface
- *...
- * Only a stateful Session bean with container-managed transaction demarcation may
- * implement the SessionSynchronization interface.
- *...
- * There is no need for a Session bean with bean-managed transaction to rely on the
- * synchronization call backs because the bean is in control of the commit the bean
- * knows when the transaction is about to be committed and it knows the outcome of the
- * transaction commit.
- *...
- */
- public void validateSessionTypeElement(IEJBValidationContext vc, EJBJar ejbJar, EnterpriseBean bean) {
- if (bean.isSession()) {
- Session session = (Session) bean;
-
- // check syntax
- boolean isValidSess = ValidationRuleUtility.isValidSessionTypeElement(session);
- if (!isValidSess) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2807, IEJBValidationContext.ERROR, session, this);
- vc.addMessage(message);
- }
-
- }
- }
- public void validateTransactionTypeElement(IEJBValidationContext vc, EJBJar ejbJar, EnterpriseBean bean) {
- if (bean.isSession()) {
- // check syntax
- Session sessionBean = (Session) bean;
- if (!ValidationRuleUtility.isValidTransactionTypeElement(sessionBean)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2808, IEJBValidationContext.ERROR, bean, this);
- vc.addMessage(message);
- }
- }
- }
-
- /*
- * @see IValidationRule#reset()
- */
- public void reset() {
- super.reset();
- _securityRoles = null;
- }
-
- /*
- * @see IValidationRule#preValidate(IEJBValidationContext, Object, Object)
- */
- public void preValidate(IEJBValidationContext vc, Object targetParent, Object target) throws ValidationCancelledException, ValidationException {
- super.preValidate(vc, targetParent, target);
-
- EJBJar ejbJar = (EJBJar)vc.loadModel(EJBValidatorModelEnum.EJB_MODEL);
- if(ejbJar == null) {
- return;
- }
-
- if(ejbJar.getAssemblyDescriptor() == null) {
- return;
- }
- _securityRoles = ejbJar.getAssemblyDescriptor().getSecurityRoles();
- }
-
- /**
- * Need to build up a list of duplicate EJB names, but the validation message
- * needs to be registered against the duplicate EnterpriseBean instance.
- * (Without the instance, we cannot get line numbers.)
- *
- * This class wrappers the EnterpriseBean instance so that the wrapper's
- * implemention of equals compares the names, but the validation message will
- * still be able to get the ref from the duplicate name.
- */
- class EjbNameWrapper {
- private EnterpriseBean _bean = null;
-
- public EjbNameWrapper(EnterpriseBean bean) {
- _bean = bean;
- }
-
- public boolean equals(Object o) {
- if (o instanceof EnterpriseBean) {
- EnterpriseBean other = (EnterpriseBean) o;
- return _bean.getName().equals(other.getName());
- }
- return false;
- }
-
- public EnterpriseBean getBean() {
- return _bean;
- }
- }
-
- class ASNameWrapper {
- private ContainerManagedEntity _bean = null;
-
- public ASNameWrapper(ContainerManagedEntity bean) {
- _bean = bean;
- }
-
- public boolean equals(Object o) {
- if (o instanceof ContainerManagedEntity) {
- ContainerManagedEntity other = (ContainerManagedEntity) o;
- return _bean.getAbstractSchemaName().equals(other.getAbstractSchemaName());
- }
- return false;
- }
-
- public EnterpriseBean getBean() {
- return _bean;
- }
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IClassVRule.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IClassVRule.java
deleted file mode 100644
index b7e13e583..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IClassVRule.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import java.util.List;
-
-import org.eclipse.jem.java.Field;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-
-
-/**
- * @version 1.0
- * @author
- */
-public interface IClassVRule extends IValidationRule {
- public void validate(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws ValidationCancelledException, InvalidInputException, ValidationException;
-
- // Because calling JavaClass::getMethodsExtended() is an expensive call, need to call it once
- // per class instead of multiple times per class. However, each class in the bean needs different
- // lists:
- // 1. Key class needs no lists.
- // 2. Home interface (remote & local) needs the bean class' getMethodsExtended list.
- // 3. Component interface (remote & local) needs the bean class' getMethodsExtended list.
- // 4. Bean class needs the remote home, local home, remote component, and local component's getMethodsExtended list.
- // Given that the lists are different depending on the class implementation, add a List[] as a final parameter, and each
- // implementation can figure out what the List[] needs to be populated with, if anything. (i.e., the
- // key class will probably pass in a null instead of an empty List.)
- //
- // Similar reasoning for the List[] of getFieldsExtended().
- public List[] getMethodsExtended(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws ValidationCancelledException, InvalidInputException, ValidationException;
- public List[] getFieldsExtended(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws ValidationCancelledException, InvalidInputException, ValidationException;
- public void validate(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtended) throws ValidationCancelledException, InvalidInputException, ValidationException;
- public void validate(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Field field, List[] fieldsExtended) throws ValidationCancelledException, InvalidInputException, ValidationException;
-
- public void register(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtended) throws ValidationCancelledException, InvalidInputException, ValidationException;
- public void register(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Field field, List[] fieldsExtended) throws ValidationCancelledException, InvalidInputException, ValidationException;
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IComponentType.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IComponentType.java
deleted file mode 100644
index aed0fb8d8..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IComponentType.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-
-
-/**
- * @version 1.0
- * @author
- */
-public interface IComponentType extends IEJBInterfaceType {
- public JavaClass getHomeInterface(EnterpriseBean bean);
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IEJBInterfaceType.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IEJBInterfaceType.java
deleted file mode 100644
index 043842b43..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IEJBInterfaceType.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import java.util.List;
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaHelpers;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.wst.validation.internal.provisional.core.MessageLimitException;
-
-
-/**
- * @version 1.0
- * @author
- */
-public interface IEJBInterfaceType extends IEJBType {
- public boolean isEJBInterfaceMethod(EnterpriseBean bean, Method method) throws InvalidInputException, ValidationCancelledException;
- public JavaHelpers getOverExposedLocalType(EnterpriseBean bean, JavaClass clazz, Method method) throws InvalidInputException, ValidationCancelledException;
- public void validateApplicationExceptionRules(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws InvalidInputException, ValidationCancelledException, MessageLimitException;
- public void validateRMI_IIOPTypeRules(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists, boolean checkReturnType) throws InvalidInputException, ValidationCancelledException, MessageLimitException;
- public boolean followRemoteExceptionRules(EnterpriseBean bean, Method method) throws InvalidInputException, ValidationCancelledException;
- public boolean followRMI_IIOPInheritanceRules(EnterpriseBean bean, JavaClass clazz) throws InvalidInputException, ValidationCancelledException;
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IEJBType.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IEJBType.java
deleted file mode 100644
index e7dd49300..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IEJBType.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-
-
-/**
- * @version 1.0
- * @author
- */
-public interface IEJBType extends ITypeConstants, IMethodAndFieldConstants {
- public static int REMOTE = 0x1;
- public static int LOCAL = 0x2;
- public static int NEITHER = 0x4;
-
- public long[] getSupertypes();
- public long[] getShouldNotBeSupertypes();
-
- /**
- * If the name of the method does not match one of the method names which this
- * rule validates, what type should the method be considered? (e.g. home or business).
- */
- public long getDefaultMethodType();
- public long[] getKnownMethodTypes();
-
- public long[] getMethodsWhichMustExist();
- public long[] getMethodsWhichMustNotExist();
-
- public int isRemote();
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IEJBValidationContext.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IEJBValidationContext.java
deleted file mode 100644
index 9c1fd5a92..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IEJBValidationContext.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import org.eclipse.jem.util.logger.LogEntry;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.IReporter;
-import org.eclipse.wst.validation.internal.provisional.core.IValidationContext;
-import org.eclipse.wst.validation.internal.provisional.core.IValidator;
-import org.eclipse.wst.validation.internal.provisional.core.MessageLimitException;
-
-public interface IEJBValidationContext extends IValidationContext {
- public static final int ERROR = IMessage.HIGH_SEVERITY;
- public static final int WARNING = IMessage.NORMAL_SEVERITY;
- public static final int INFO = IMessage.LOW_SEVERITY;
-
-
- public IValidator getValidator();
- public IValidationContext getHelper();
- public IReporter getReporter();
-
- public IMessage getMessage(); // returns an empty IMessage which can be reused
- public Logger getMsgLogger();
-
- public void terminateIfCancelled() throws ValidationCancelledException;
-
- public LogEntry getLogEntry();
-
- public Object loadModel(String symbolicName);
- public Object loadModel(String symbolicName, Object[] parms);
-
- public void removeAllMessages();
- public void removeMessages(Object target);
- public void removeMessages(Object target, String groupIdentifier);
-
- public void addMessage(IMessage message) throws MessageLimitException;
- public void addMessage(int severity, String messageId) throws MessageLimitException;
- public void addMessage(int severity, String messageId, String[] parms) throws MessageLimitException;
- public void addMessage(int severity, String messageId, Object target) throws MessageLimitException;
- public void addMessage(int severity, String messageId, String[] parms, Object target) throws MessageLimitException;
- public void addMessage(int severity, String messageId, Object target, String groupName) throws MessageLimitException;
- public void addMessage(int severity, String messageId, String[] parms, Object target, String groupName) throws MessageLimitException;
-
- public void subtask(String messageId);
- public void subtask(String messageId, String[] parms);
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IEJBValidatorConstants.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IEJBValidatorConstants.java
deleted file mode 100644
index 90f88fd76..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IEJBValidatorConstants.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-
-public interface IEJBValidatorConstants {
- // Name of .properties file
- public static final String BUNDLE_NAME = "ejbvalidator"; //$NON-NLS-1$
-
- // Name of logger
- public static final String LOGNAME = "EJBValidatorLog"; //$NON-NLS-1$
-
- // Status constants which do not require a message prefix (e.g. ABCD0000E)
- public static final String STATUS_VALIDATING = "STATUS_VALIDATING"; //$NON-NLS-1$
-
- public static final String NULL_PRIMARY_KEY = "<primary-key>"; // when a key class name needs to be displayed, but that class is null, display this instead //$NON-NLS-1$
- public static final String NULL_BEAN_CLASS = "<ejb-class>"; // when a bean class name needs to be displayed, but that class is null, display this instead //$NON-NLS-1$
- public static final String NULL_LOCAL_HOME = "<local-home>"; // when a local-home class name needs to be displayed, but that class is null, display this instead //$NON-NLS-1$
- public static final String NULL_LOCAL = "<local>"; // when a local class name needs to be displayed, but that class is null, display this instead //$NON-NLS-1$
- public static final String NULL_HOME = "<home>"; // when a home class name needs to be displayed, but that class is null, display this instead //$NON-NLS-1$
- public static final String NULL_REMOTE = "<remote>"; // when a remote class name needs to be displayed, but that class is null, display this instead //$NON-NLS-1$
-
- // We use a string here because this interface is shipped with WAS, but
- // J2EECorePlugin is not. Therefore having the J2EECorePlugin.PLUGIN_ID
- // dependency works fine in the tooling env, but will result in NoClassDefFound in WAS
- public static final String J2EE_CORE_PLUGIN = "org.eclipse.jst.j2ee.internal.core"; // $NON-NLS-1$ //$NON-NLS-1$
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IEJBValidatorMessageConstants.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IEJBValidatorMessageConstants.java
deleted file mode 100644
index 2cdedbab8..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IEJBValidatorMessageConstants.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-/**
- * This interface holds the message constants that are common across
- * specifications. (e.g. internal error messages, checks that are the same.)
- */
-public interface IEJBValidatorMessageConstants {
- // Constants used in message ids
- static final String ON_BASE = ".i"; // String to be registered against a base type, not the JavaClass being validated. (Inherited method.) //$NON-NLS-1$
- static final String ON_THIS = ".m"; // String to be registered against the JavaClass being validated. (Method impl on JavaClass itself.) //$NON-NLS-1$
-
- // Internal errors and such
- static final String CHKJ2041 = "CHKJ2041"; // unnamed package (Java Language Specification) //$NON-NLS-1$
- static final String CHKJ2433 = "CHKJ2433"; // cannot reflect //$NON-NLS-1$
- static final String CHKJ2456 = "CHKJ2456"; // Should throw X or there may be compile errors in the deploy code. //$NON-NLS-1$
- static final String CHKJ2852 = "CHKJ2852"; // Throwable caught while validating ejb-jar.xml //$NON-NLS-1$
- static final String CHKJ2900 = "CHKJ2900"; // Internal error while running EJB validator //$NON-NLS-1$
- static final String CHKJ2905 = "CHKJ2905"; // EJB Validator could not run because ejb-jar.xml could not be loaded. //$NON-NLS-1$
- static final String CHKJ2907 = "CHKJ2907"; // Type X, or one of its supertypes, cannot be reflected. Check the classpath. //$NON-NLS-1$
-
- // Specification rules
- static final String CHKJ2003E = "CHKJ2003E"; // implement javax.ejb.SessionSynchronization (can be error or info depending on context) //$NON-NLS-1$
- static final String CHKJ2003I = "CHKJ2003I"; // implement javax.ejb.SessionSynchronization (can be error or info depending on context) //$NON-NLS-1$
-
- static final String CHKJ2014 = "CHKJ2014"; // class must be, or must not be, abstract //$NON-NLS-1$
- static final String CHKJ2015 = "CHKJ2015"; // class must be, or must not be, final //$NON-NLS-1$
- static final String CHKJ2017 = "CHKJ2017"; // class/interface must extend/implement X //$NON-NLS-1$
- static final String CHKJ2019 = "CHKJ2019"; // key class must be serializable/a legal value type in RMI-IIOP //$NON-NLS-1$
-
- static final String CHKJ2022 = "CHKJ2022"; // class must be public //$NON-NLS-1$
- static final String CHKJ2023 = "CHKJ2023"; // a matching method (for this component method) must exist on the bean class //$NON-NLS-1$
-
- static final String CHKJ2040 = "CHKJ2040"; // "this" must not be passed as a method argument or result //$NON-NLS-1$
-
- static final String CHKJ2103 = "CHKJ2103"; // In component inheritance, the bean class must inherit X. //$NON-NLS-1$
- static final String CHKJ2104 = "CHKJ2104"; // In component inheritance, the home class must not inherit X. //$NON-NLS-1$
- static final String CHKJ2105 = "CHKJ2105"; // In component inheritance, the component interface must extend X. //$NON-NLS-1$
- static final String CHKJ2106 = "CHKJ2106"; // In component inheritance, the bean must use X as its primary key. //$NON-NLS-1$
-
- static final String CHKJ2205 = "CHKJ2205"; // primary key field X must be public //$NON-NLS-1$
- static final String CHKJ2206 = "CHKJ2206"; // primary key field X must be a <cmp-field> (and in EJB 1.1, also a field of the bean class) //$NON-NLS-1$
-
- static final String CHKJ2402 = "CHKJ2402"; // The create method must return the remote interface type //$NON-NLS-1$
- static final String CHKJ2403 = "CHKJ2403"; // The finder method must return X or a collection thereof. //$NON-NLS-1$
- static final String CHKJ2407 = "CHKJ2407"; // The ejbFind method must return X or a collection thereof. //$NON-NLS-1$
-
- static final String CHKJ2411 = "CHKJ2411"; // The name of the method must not start with "ejb". //$NON-NLS-1$
-
- static final String CHKJ2801 = "CHKJ2801"; // missing <ejb-name> //$NON-NLS-1$
- static final String CHKJ2802_NAMED = "CHKJ2802.named";// <ejb-class> cannot be reflected //$NON-NLS-1$
- static final String CHKJ2802_UNNAMED = "CHKJ2802.unnamed";// unknown <ejb-class> //$NON-NLS-1$
- static final String CHKJ2803_NAMED = "CHKJ2803.named";// <home> cannot be reflected //$NON-NLS-1$
- static final String CHKJ2803_UNNAMED = "CHKJ2803.unnamed";// unknown <home> //$NON-NLS-1$
- static final String CHKJ2804_NAMED = "CHKJ2804.named";// <remote> cannot be reflected //$NON-NLS-1$
- static final String CHKJ2804_UNNAMED = "CHKJ2804.unnamed";// unknown <remote> //$NON-NLS-1$
- static final String CHKJ2806 = "CHKJ2806";// <reentrant> must be either "True" or "False" //$NON-NLS-1$
- static final String CHKJ2807 = "CHKJ2807"; // <session-type> must be either "Stateful" or "Stateless" //$NON-NLS-1$
- static final String CHKJ2808 = "CHKJ2808"; // <transaction-type> must be either "Bean" or "Container" //$NON-NLS-1$
- static final String CHKJ2809 = "CHKJ2809"; // <persistence-type> must be either "Bean" or "Container" //$NON-NLS-1$
-
- static final String CHKJ2810_NAMED = "CHKJ2810.named";// <prim-key-class> cannot be reflected //$NON-NLS-1$
- static final String CHKJ2810_UNNAMED = "CHKJ2810.unnamed";// unknown <prim-key-class> //$NON-NLS-1$
- static final String CHKJ2811_NAMED = "CHKJ2811.named";// <field-name> must exist on the bean class //$NON-NLS-1$
- static final String CHKJ2811_UNNAMED = "CHKJ2811.unnamed";// <field-name> must exist //$NON-NLS-1$
- static final String CHKJ2812 = "CHKJ2812"; // Bean class must specify at least one of its fields as a <cmp-field> //$NON-NLS-1$
- static final String CHKJ2814 = "CHKJ2814"; // <method>'s <ejb-name> should specify a known enterprise bean //$NON-NLS-1$
-
- static final String CHKJ2820 = "CHKJ2820"; // <security-role-ref> must be unique. //$NON-NLS-1$
- static final String CHKJ2822 = "CHKJ2822"; // <security-role-ref> must define a <role-name> //$NON-NLS-1$
- static final String CHKJ2823 = "CHKJ2823"; // <security-role-ref> should define a <role-link> //$NON-NLS-1$
- static final String CHKJ2824 = "CHKJ2824"; // <security-role-ref> must identify a known <security-role> //$NON-NLS-1$
- static final String CHKJ2825 = "CHKJ2825"; // <security-role> should define the <role-name> element. //$NON-NLS-1$
- static final String CHKJ2826 = "CHKJ2826"; // <security-role> name should be unique. //$NON-NLS-1$
- static final String CHKJ2827 = "CHKJ2827"; // Cannot use a <role-link> without <security-role> elements. //$NON-NLS-1$
- static final String CHKJ2828 = "CHKJ2828"; // Cannot use a <primkey-field> element without a primitive primary key. //$NON-NLS-1$
- static final String CHKJ2829 = "CHKJ2829"; // Every field in the primary key must exist on the bean class. //$NON-NLS-1$
-
- static final String CHKJ2830 = "CHKJ2830"; // The type of the field cannot be reflected. //$NON-NLS-1$
- static final String CHKJ2831 = "CHKJ2831"; // X must be declared as a <cmp-field> element. //$NON-NLS-1$
- static final String CHKJ2832 = "CHKJ2832"; // <ejb-ref>'s home cannot be found in the EJB module. //$NON-NLS-1$
- static final String CHKJ2833 = "CHKJ2833"; // <ejb-ref>'s remote cannot be found in the EJB module. //$NON-NLS-1$
- static final String CHKJ2834 = "CHKJ2834"; // <ejb-ref>'s bean cannot be found in the EJB module. //$NON-NLS-1$
- static final String CHKJ2835 = "CHKJ2835"; // Bean X is a Y type. Update the <ejb-ref-type> element. //$NON-NLS-1$
- static final String CHKJ2836 = "CHKJ2836"; // Bean X uses home Y. Update the <ejb-ref> element. //$NON-NLS-1$
- static final String CHKJ2837 = "CHKJ2837"; // Bean X uses remote Y. Update the <ejb-ref> element. //$NON-NLS-1$
- static final String CHKJ2838 = "CHKJ2838"; // It is recommended that all references to enterprise beans be organized in the "ejb" subcontext. //$NON-NLS-1$
- static final String CHKJ2839 = "CHKJ2839"; // <env-entry-name> of the <env-entry> element must exist. //$NON-NLS-1$
-
- static final String CHKJ2840 = "CHKJ2840"; // <env-entry-type> of the <env-entry> element must exist. //$NON-NLS-1$
- static final String CHKJ2841 = "CHKJ2841"; // The X name, in the <env-entry> element, must be unique in the bean. //$NON-NLS-1$
- static final String CHKJ2842 = "CHKJ2842"; // <method-params> is ignored when <method-name> is "*" //$NON-NLS-1$
- static final String CHKJ2843 = "CHKJ2843"; // <method> X must exist on bean Y. //$NON-NLS-1$
- static final String CHKJ2844 = "CHKJ2844"; // At least one <method> should exist in a <method-permission>. //$NON-NLS-1$
- static final String CHKJ2845 = "CHKJ2845"; // At least one <role-name> should exist in a <method-permission>. //$NON-NLS-1$
- static final String CHKJ2846 = "CHKJ2846"; // No methods can be found for this <method-permission> //$NON-NLS-1$
- static final String CHKJ2847 = "CHKJ2847"; // No methods can be found for this <container-transaction> //$NON-NLS-1$
- static final String CHKJ2849 = "CHKJ2849"; // Cannot validate component inheritance of X because Y cannot be reflected. //$NON-NLS-1$
-
- static final String CHKJ2875 = "CHKJ2875"; // EJB Client JAR must exist and be in the same EAR as this EJB JAR. //$NON-NLS-1$
-
- static final String CHKJ2850 = "CHKJ2850"; // Cannot validate <method> because X, or one of its supertypes, cannot be reflected. //$NON-NLS-1$
-
- static final String CHKJ2895 = "CHKJ2895"; // duplicate <ejb-name> //$NON-NLS-1$
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IFieldType.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IFieldType.java
deleted file mode 100644
index c96f7013f..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IFieldType.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import org.eclipse.jem.java.Field;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-
-
-public abstract interface IFieldType {
- public static final String NO_MESSAGE_PREFIX = ""; // For the two getMessageId_X methods, if the method never requires that particular message, return this message prefix instead //$NON-NLS-1$
-
- public long getId();
-
- public boolean isFieldType(EnterpriseBean bean, JavaClass clazz, Field field);
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IHomeType.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IHomeType.java
deleted file mode 100644
index 4c6594295..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IHomeType.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-
-
-/**
- * @version 1.0
- * @author
- */
-public interface IHomeType extends IEJBInterfaceType {
- public JavaClass getComponentInterface(EnterpriseBean bean);
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ILocalType.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ILocalType.java
deleted file mode 100644
index c6cdcfa3c..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ILocalType.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-
-/**
- * @version 1.0
- * @author
- */
-public interface ILocalType {
- public int IS_REMOTE = IEJBType.LOCAL;
- public int MESSAGE_REMOTE_EXCEPTION_SEVERITY = IEJBValidationContext.WARNING; // If a method throws a RemoteException when it shouldn't, that's a deprecated use, hence a warning.
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IMessagePrefixEjb11Constants.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IMessagePrefixEjb11Constants.java
deleted file mode 100644
index 0d823f8f2..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IMessagePrefixEjb11Constants.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-
-
-/**
- * This interface holds the message constants that are specific
- * to the EJB 1.1 specification.
- */
-public interface IMessagePrefixEjb11Constants extends IEJBValidatorMessageConstants {
- /*package*/ static final String SPEC = ".ejb11"; // EJB specification being validated //$NON-NLS-1$
-
-
- /*package*/ static final String CHKJ2001 = "CHKJ2001"; // The key class must implement the X method. //$NON-NLS-1$
- /*package*/ static final String CHKJ2002 = "CHKJ2002"; // This class should implement a matching ejbPostCreate method for this method. //$NON-NLS-1$
- /*package*/ static final String CHKJ2004 = "CHKJ2004"; // The bean class should not implement the ejbFind method. //$NON-NLS-1$
- /*package*/ static final String CHKJ2005 = "CHKJ2005"; // The method must be either a create method or a find method. //$NON-NLS-1$
- /*package*/ static final String CHKJ2006 = "CHKJ2006"; // The bean class must have a public constructor that takes no arguments. //$NON-NLS-1$
- /*package*/ static final String CHKJ2007 = "CHKJ2007"; // The bean class should not declare the finalize() method. //$NON-NLS-1$
- /*package*/ static final String CHKJ2008 = "CHKJ2008"; // The bean class must contain at least one ejbCreate method. //$NON-NLS-1$
- /*package*/ static final String CHKJ2009 = "CHKJ2009"; // The bean class must contain at least one ejbFindByPrimaryKey method. //$NON-NLS-1$
- /*package*/ static final String CHKJ2010 = "CHKJ2010"; // The home interface must contain at least one create method. //$NON-NLS-1$
- /*package*/ static final String CHKJ2011 = "CHKJ2011"; // The home interface must contain at least one findByPrimaryKey method. //$NON-NLS-1$
- /*package*/ static final String CHKJ2012 = "CHKJ2012"; // This type must be an interface. //$NON-NLS-1$
- /*package*/ static final String CHKJ2013 = "CHKJ2013"; // The bean class must implement X. //$NON-NLS-1$
- /*package*/ static final String CHKJ2020 = "CHKJ2020"; // The key class must be public. //$NON-NLS-1$
- /*package*/ static final String CHKJ2021 = "CHKJ2021"; // The key class must define a public default constructor. //$NON-NLS-1$
- /*package*/ static final String CHKJ2024 = "CHKJ2024"; // X must not exist. Only create() may exist. //$NON-NLS-1$
- /*package*/ static final String CHKJ2025 = "CHKJ2025"; // X must not exist. Only ejbCreate() may exist. //$NON-NLS-1$
- /*package*/ static final String CHKJ2026 = "CHKJ2026"; // The bean class must implement a matching ejbCreate method for this method. //$NON-NLS-1$
- /*package*/ static final String CHKJ2028 = "CHKJ2028"; // This method will not be called unless a matching ejbCreate method is defined. //$NON-NLS-1$
- /*package*/ static final String CHKJ2029 = "CHKJ2029"; // This method will not be called unless a matching create method is defined on the home. //$NON-NLS-1$
- /*package*/ static final String CHKJ2030 = "CHKJ2030"; // This method must have a matching ejbFind method in the bean class. //$NON-NLS-1$
- /*package*/ static final String CHKJ2032 = "CHKJ2032"; // Bean class X must declare at least one container managed field. //$NON-NLS-1$
- /*package*/ static final String CHKJ2033 = "CHKJ2033"; // The setEntityContext method must exist. //$NON-NLS-1$
- /*package*/ static final String CHKJ2034 = "CHKJ2034"; // The unsetEntityContext method must exist. //$NON-NLS-1$
- /*package*/ static final String CHKJ2035 = "CHKJ2035"; // The ejbActivate method must exist. //$NON-NLS-1$
- /*package*/ static final String CHKJ2036 = "CHKJ2036"; // The ejbPassivate method must exist. //$NON-NLS-1$
- /*package*/ static final String CHKJ2037 = "CHKJ2037"; // The ejbRemove method must exist. //$NON-NLS-1$
- /*package*/ static final String CHKJ2038 = "CHKJ2038"; // The ejbLoad method must exist. //$NON-NLS-1$
- /*package*/ static final String CHKJ2039 = "CHKJ2039"; // The ejbStore method must exist. //$NON-NLS-1$
-
- /*package*/ static final String CHKJ2100 = "CHKJ2100"; // Both ends of the role must use the same number of attributes. //$NON-NLS-1$
- /*package*/ static final String CHKJ2101 = "CHKJ2101"; // Both ends of the role must use the same type. //$NON-NLS-1$
- /*package*/ static final String CHKJ2102 = "CHKJ2102"; // Either a finder descriptor, or a matching custom finder method, must be defined. //$NON-NLS-1$
-
- /*package*/ static final String CHKJ2200 = "CHKJ2200"; // The static field must be final. //$NON-NLS-1$
- /*package*/ static final String CHKJ2201 = "CHKJ2201"; // The field must not be transient. //$NON-NLS-1$
- /*package*/ static final String CHKJ2202 = "CHKJ2202"; // The field type is invalid for a <cmp-field>. //$NON-NLS-1$
- /*package*/ static final String CHKJ2203 = "CHKJ2203"; // The field must be public. //$NON-NLS-1$
- /*package*/ static final String CHKJ2207 = "CHKJ2207"; // Field X on bean Y must be the same type as the <primkey-field>. //$NON-NLS-1$
-
- /*package*/ static final String CHKJ2400_bus = "CHKJ2400.bus"; // Deprecated use of RemoteException. //$NON-NLS-1$
- /*package*/ static final String CHKJ2400_ejbCreate = "CHKJ2400.ejbCreate"; // Deprecated use of RemoteException. //$NON-NLS-1$
- /*package*/ static final String CHKJ2400_ejbFind = "CHKJ2400.ejbFind"; // Deprecated use of RemoteException. //$NON-NLS-1$
- /*package*/ static final String CHKJ2400_ejbPostCreate = "CHKJ2400.ejbPostCreate"; // Deprecated use of RemoteException. //$NON-NLS-1$
- /*package*/ static final String CHKJ2401 = "CHKJ2401"; // This method must return void. //$NON-NLS-1$
- /*package*/ static final String CHKJ2405 = "CHKJ2405"; // findByPrimaryKey must have the <prim-key-class> as its argument. //$NON-NLS-1$
- /*package*/ static final String CHKJ2406 = "CHKJ2406"; // This method should return the primary key type. //$NON-NLS-1$
- /*package*/ static final String CHKJ2408_bus = "CHKJ2408.bus"; // This method must be public. //$NON-NLS-1$
- /*package*/ static final String CHKJ2408_ejbCreate = "CHKJ2408.ejbCreate"; // This method must be public. //$NON-NLS-1$
- /*package*/ static final String CHKJ2408_ejbFind = "CHKJ2408.ejbFind"; // This method must be public. //$NON-NLS-1$
- /*package*/ static final String CHKJ2408_ejbPostCreate = "CHKJ2408.ejbPostCreate"; // This method must be public. //$NON-NLS-1$
- /*package*/ static final String CHKJ2409_bus = "CHKJ2409.bus"; // This method must not be final. //$NON-NLS-1$
- /*package*/ static final String CHKJ2409_ejbCreate = "CHKJ2409.ejbCreate"; //This method must not be final. //$NON-NLS-1$
- /*package*/ static final String CHKJ2409_ejbFind = "CHKJ2409.ejbFind"; // This method must not be final. //$NON-NLS-1$
- /*package*/ static final String CHKJ2409_ejbPostCreate = "CHKJ2409.ejbPostCreate"; // This method must not be final. //$NON-NLS-1$
- /*package*/ static final String CHKJ2410_bus = "CHKJ2410.bus"; // This method must not be static. //$NON-NLS-1$
- /*package*/ static final String CHKJ2410_ejbCreate = "CHKJ2410.ejbCreate"; // This method must not be static. //$NON-NLS-1$
- /*package*/ static final String CHKJ2410_ejbFind = "CHKJ2410.ejbFind"; // This method must not be static. //$NON-NLS-1$
- /*package*/ static final String CHKJ2410_ejbPostCreate = "CHKJ2410.ejbPostCreate"; // This method must not be static. //$NON-NLS-1$
- /*package*/ static final String CHKJ2412 = "CHKJ2412"; // The return type of this method must be serializable at runtime. //$NON-NLS-1$
- /*package*/ static final String CHKJ2413 = "CHKJ2413"; // The argument must be serializable at runtime. //$NON-NLS-1$
- /*package*/ static final String CHKJ2414 = "CHKJ2414"; // This method must throw exception X. //$NON-NLS-1$
- /*package*/ static final String CHKJ2415 = "CHKJ2415"; // The return type must match the return type of the matching method. //$NON-NLS-1$
- /*package*/ static final String CHKJ2418 = "CHKJ2418"; // This method must return void. //$NON-NLS-1$
- /*package*/ static final String CHKJ2419 = "CHKJ2419"; // This method must be a create method. //$NON-NLS-1$
- /*package*/ static final String CHKJ2420 = "CHKJ2420"; // X must be thrown by the corresponding method on the home interface. //$NON-NLS-1$
- /*package*/ static final String CHKJ2432 = "CHKJ2432"; // X must be thrown by the corresponding method on the remote interface. //$NON-NLS-1$
-
- /*package*/ static final String CHKJ2908 = "CHKJ2908"; // An enterprise bean cannot be reflected. Run the XML validator. //$NON-NLS-1$
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IMessagePrefixEjb20Constants.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IMessagePrefixEjb20Constants.java
deleted file mode 100644
index 32c3b64f1..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IMessagePrefixEjb20Constants.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-
-
-/**
- * This interface holds the message constants that are specific to the
- * EJB 2.0 specification (e.g. MDB-only messages).
- */
-public interface IMessagePrefixEjb20Constants extends IEJBValidatorMessageConstants {
- /*package*/ static final String SPEC = ".ejb20"; // EJB specification being validated //$NON-NLS-1$
- /*package*/ static final String ON_BASE_SPEC = ON_BASE + SPEC;
- /*package*/ static final String ON_THIS_SPEC = ON_THIS + SPEC;
- /*package*/ static final String CHKJ = null; // Placeholder for a message id when the id hasn't been created in the .properties file
-
- /*package*/ static final String CHKJ2018 = "CHKJ2018"; // This dependent value class must be serializable. //$NON-NLS-1$
-
- /*package*/ static final String CHKJ2043 = "CHKJ2043"; // This dependent value class must be public. //$NON-NLS-1$
- /*package*/ static final String CHKJ2044 = "CHKJ2044"; // This dependent value class must not be abstract. //$NON-NLS-1$
-
- /*package*/ static final String CHKJ2050_acc = "CHKJ2050.acc"; // An accessor method must exist. //$NON-NLS-1$
- /*package*/ static final String CHKJ2050_constr = "CHKJ2050.constr"; // A public default constructor must exist. //$NON-NLS-1$
- /*package*/ static final String CHKJ2050_create = "CHKJ2050.create"; // A create method must exist. //$NON-NLS-1$
- /*package*/ static final String CHKJ2050_ejbActivate = "CHKJ2050.ejbActivate"; // The ejbActivate method must exist. //$NON-NLS-1$
- /*package*/ static final String CHKJ2050_ejbCreate = "CHKJ2050.ejbCreate"; // An ejbCreate method must exist. //$NON-NLS-1$
- /*package*/ static final String CHKJ2050_ejbFind = "CHKJ2050.ejbFind"; // An ejbFind method must exist. //$NON-NLS-1$
- /*package*/ static final String CHKJ2050_ejbFindByPrimaryKey = "CHKJ2050.ejbFindByPrimaryKey"; // An ejbFindByPrimaryKey method must exist. //$NON-NLS-1$
- /*package*/ static final String CHKJ2050_ejbHome = "CHKJ2050.ejbHome"; // An ejbHome method must exist. //$NON-NLS-1$
- /*package*/ static final String CHKJ2050_ejbLoad = "CHKJ2050.ejbLoad"; // An ejbLoad method must exist. //$NON-NLS-1$
- /*package*/ static final String CHKJ2050_ejbPassivate = "CHKJ2050.ejbPassivate"; // An ejbPassivate method must exist. //$NON-NLS-1$
- /*package*/ static final String CHKJ2050_ejbPostCreate = "CHKJ2050.ejbPostCreate"; // An ejbPostCreate method must exist. //$NON-NLS-1$
- /*package*/ static final String CHKJ2050_ejbRemove = "CHKJ2050.ejbRemove"; // An ejbRemove method must exist. //$NON-NLS-1$
- /*package*/ static final String CHKJ2050_ejbSelect = "CHKJ2050.ejbSelect"; // An ejbSelect method must exist. //$NON-NLS-1$
- /*package*/ static final String CHKJ2050_ejbStore = "CHKJ2050.ejbStore"; // An ejbStore method must exist. //$NON-NLS-1$
- /*package*/ static final String CHKJ2050_equals = "CHKJ2050.equals"; // An equals method must exist. //$NON-NLS-1$
- /*package*/ static final String CHKJ2050_find = "CHKJ2050.find"; // An find method must exist. //$NON-NLS-1$
- /*package*/ static final String CHKJ2050_findByPrimaryKey = "CHKJ2050.findByPrimaryKey"; // An findByPrimaryKey method must exist. //$NON-NLS-1$
- /*package*/ static final String CHKJ2050_hashCode = "CHKJ2050.hashCode"; // An hashCode method must exist. //$NON-NLS-1$
- /*package*/ static final String CHKJ2050_home = "CHKJ2050.home"; // An home method must exist. //$NON-NLS-1$
- /*package*/ static final String CHKJ2050_onMessage = "CHKJ2050.onMessage"; // An onMessage method must exist. //$NON-NLS-1$
- /*package*/ static final String CHKJ2050_setEntityContext = "CHKJ2050.setEntityContext"; // An setEntityContext method must exist. //$NON-NLS-1$
- /*package*/ static final String CHKJ2050_unsetEntityContext = "CHKJ2050.unsetEntityContext"; // An unsetEntityContext method must exist. //$NON-NLS-1$
-
- /*package*/ static final String CHKJ2404 = "CHKJ2404"; // Application exception X must extend java.lang.Exception. //$NON-NLS-1$
-
- /*package*/ static final String CHKJ2416 = "CHKJ2416"; // Application exception X must not extend java.lang.RuntimeException. //$NON-NLS-1$
- /*package*/ static final String CHKJ2421 = "CHKJ2421"; // ejbCreate must be public. //$NON-NLS-1$
- /*package*/ static final String CHKJ2422 = "CHKJ2422"; // ejbCreate must not be final. //$NON-NLS-1$
- /*package*/ static final String CHKJ2423 = "CHKJ2423"; // ejbCreate must not be static. //$NON-NLS-1$
- /*package*/ static final String CHKJ2424 = "CHKJ2424"; // ejbCreate must return void. //$NON-NLS-1$
- /*package*/ static final String CHKJ2426 = "CHKJ2426"; // ejbPostCreate must be public. //$NON-NLS-1$
- /*package*/ static final String CHKJ2427 = "CHKJ2427"; // ejbPostCreate must not be final. //$NON-NLS-1$
- /*package*/ static final String CHKJ2428 = "CHKJ2428"; // ejbPostCreate must not be static. //$NON-NLS-1$
-
- /*package*/ static final String CHKJ2430 = "CHKJ2430"; // X must exist for this ejbHome method to be called. //$NON-NLS-1$
- /*package*/ static final String CHKJ2431 = "CHKJ2431"; // ejbHome must be public. //$NON-NLS-1$
- /*package*/ static final String CHKJ2439 = "CHKJ2439"; // ejbHome must not be static. //$NON-NLS-1$
-
- /*package*/ static final String CHKJ2441 = "CHKJ2441"; // business method must be public. //$NON-NLS-1$
- /*package*/ static final String CHKJ2442 = "CHKJ2442"; // business method must not be final. //$NON-NLS-1$
- /*package*/ static final String CHKJ2443 = "CHKJ2443"; // business method must not be static. //$NON-NLS-1$
- /*package*/ static final String CHKJ2445 = "CHKJ2445"; // onMessage must be public. //$NON-NLS-1$
- /*package*/ static final String CHKJ2446 = "CHKJ2446"; // onMessage must not be final. //$NON-NLS-1$
- /*package*/ static final String CHKJ2447 = "CHKJ2447"; // onMessage must not be static. //$NON-NLS-1$
- /*package*/ static final String CHKJ2449 = "CHKJ2449"; // accessor method must be public. //$NON-NLS-1$
-
- /*package*/ static final String CHKJ2450 = "CHKJ2450"; // accessor method must be abstract //$NON-NLS-1$
- /*package*/ static final String CHKJ2452 = "CHKJ2452"; // A transient field should not be the {0} type. //$NON-NLS-1$
- /*package*/ static final String CHKJ2453 = "CHKJ2453"; // Transient fields are discouraged. //$NON-NLS-1$
- /*package*/ static final String CHKJ2454 = "CHKJ2454"; // CMR and CMP fields must not be defined on the bean class. //$NON-NLS-1$
- /*package*/ static final String CHKJ2457 = "CHKJ2457"; // ejbFind must be public. //$NON-NLS-1$
- /*package*/ static final String CHKJ2458 = "CHKJ2458"; // ejbFind must not be final. //$NON-NLS-1$
- /*package*/ static final String CHKJ2459 = "CHKJ2459"; // ejbFind must not be static. //$NON-NLS-1$
-
- /*package*/ static final String CHKJ2461 = "CHKJ2461"; // This interface must follow RMI-IIOP rules for interfaces. //$NON-NLS-1$
- /*package*/ static final String CHKJ2462 = "CHKJ2462"; // The method name must not start with "create". //$NON-NLS-1$
- /*package*/ static final String CHKJ2463 = "CHKJ2463"; // The method name must not start with "find". //$NON-NLS-1$
- /*package*/ static final String CHKJ2464 = "CHKJ2464"; // The method name must not start with "remove" //$NON-NLS-1$
- /*package*/ static final String CHKJ2465 = "CHKJ2465"; // home method X must throw Y for Z. //$NON-NLS-1$
- /*package*/ static final String CHKJ2466 = "CHKJ2466"; // remote home method X must not expose the Y type. //$NON-NLS-1$
- /*package*/ static final String CHKJ2467 = "CHKJ2467"; // This method must throw CreateException. //$NON-NLS-1$
- /*package*/ static final String CHKJ2468 = "CHKJ2468"; // This interface must follow RMI-IIOP rules for remote interfaces. //$NON-NLS-1$
- /*package*/ static final String CHKJ2469 = "CHKJ2469"; // This method (EJBObject or EJBLocalObject) is provided by the container. //$NON-NLS-1$
-
- /*package*/ static final String CHKJ2470 = "CHKJ2470"; // This component matching method must return X. //$NON-NLS-1$
- /*package*/ static final String CHKJ2471 = "CHKJ2471"; // This component matching method must throw X. //$NON-NLS-1$
- /*package*/ static final String CHKJ2472 = "CHKJ2472"; // This method must not pass X as an argument or result type. //$NON-NLS-1$
- /*package*/ static final String CHKJ2473 = "CHKJ2473"; // This (CMR) method must not be exposed. //$NON-NLS-1$
- /*package*/ static final String CHKJ2474 = "CHKJ2474"; // This method must not expose X. //$NON-NLS-1$
- /*package*/ static final String CHKJ2475 = "CHKJ2475"; // findByPrimaryKey's argument must be the primary key. //$NON-NLS-1$
- /*package*/ static final String CHKJ2476 = "CHKJ2476"; // This method must be the create/ejbCreate method. //$NON-NLS-1$
- /*package*/ static final String CHKJ2477 = "CHKJ2477"; // This method must throw FinderException. //$NON-NLS-1$
- /*package*/ static final String CHKJ2478 = "CHKJ2478"; // This method must not throw ObjectNotFoundException. //$NON-NLS-1$
- /*package*/ static final String CHKJ2479 = "CHKJ2479"; // findByPrimaryKey must return X. //$NON-NLS-1$
-
- /*package*/ static final String CHKJ2480 = "CHKJ2480"; // CMP/CMR field name must begin with a lowercase letter. //$NON-NLS-1$
- /*package*/ static final String CHKJ2481 = "CHKJ2481"; // field X must be a <cmp-field> //$NON-NLS-1$
- /*package*/ static final String CHKJ2482 = "CHKJ2482"; // field X must be a <cmr-field> //$NON-NLS-1$
- /*package*/ static final String CHKJ2483 = "CHKJ2483"; // CMP/CMR field should not be exposed //$NON-NLS-1$
- /*package*/ static final String CHKJ2484 = "CHKJ2484"; // CMP/CMR field must be either a primitive or a serializable type. //$NON-NLS-1$
- /*package*/ static final String CHKJ2485 = "CHKJ2485"; // ejbSelect method must be abstract. //$NON-NLS-1$
- /*package*/ static final String CHKJ2486 = "CHKJ2486"; // ejbSelect must return X or a collection thereof. //$NON-NLS-1$
- /*package*/ static final String CHKJ2487 = "CHKJ2487"; // ejbSelect must be public. //$NON-NLS-1$
- /*package*/ static final String CHKJ2488 = "CHKJ2488"; // ejbSelect must throw FinderException //$NON-NLS-1$
- /*package*/ static final String CHKJ2489 = "CHKJ2489"; // Field must be the primary key type. //$NON-NLS-1$
-
- /*package*/ static final String CHKJ2490 = "CHKJ2490"; // This method must not be exposed. //$NON-NLS-1$
- /*package*/ static final String CHKJ2492 = "CHKJ2492"; // ejbRemove must be public. //$NON-NLS-1$
- /*package*/ static final String CHKJ2493 = "CHKJ2493"; // ejbRemove must not be final. //$NON-NLS-1$
- /*package*/ static final String CHKJ2494 = "CHKJ2494"; // ejbRemove must not be static. //$NON-NLS-1$
- /*package*/ static final String CHKJ2495 = "CHKJ2495"; // This find method must be associated with a query element in ejb-jar.xml. //$NON-NLS-1$
- /*package*/ static final String CHKJ2496 = "CHKJ2496"; // This ejbSelect method must be associated with a query element in ejb-jar.xml. //$NON-NLS-1$
- /*package*/ static final String CHKJ2497 = "CHKJ2497"; // ejbCreate must throw CreateException. //$NON-NLS-1$
-
- /*package*/ static final String CHKJ2500_ejbCreate = "CHKJ2500.ejbCreate"; // X must be serializable at runtime. //$NON-NLS-1$
- /*package*/ static final String CHKJ2500_ejbHome = "CHKJ2500.ejbHome"; // X must be serializable at runtime. //$NON-NLS-1$
- /*package*/ static final String CHKJ2500_ejbFind = "CHKJ2500.ejbFind"; // X must be serializable at runtime. //$NON-NLS-1$
- /*package*/ static final String CHKJ2500_business = "CHKJ2500.bus"; // X must be serializable at runtime. //$NON-NLS-1$
- /*package*/ static final String CHKJ2500_home = "CHKJ2500.home"; // X must be serializable at runtime. //$NON-NLS-1$
- /*package*/ static final String CHKJ2500_create = "CHKJ2500.create"; // X must be serializable at runtime. //$NON-NLS-1$
- /*package*/ static final String CHKJ2500_find = "CHKJ2500.find"; // X must be serializable at runtime. //$NON-NLS-1$
-
- /*package*/ static final String CHKJ2501_ejbCreate = "CHKJ2501.ejbCreate"; // ejbCreate must not throw application exceptions. //$NON-NLS-1$
- /*package*/ static final String CHKJ2501_ejbRemove = "CHKJ2501.ejbRemove"; // ejbRemove must not throw application exceptions. //$NON-NLS-1$
- /*package*/ static final String CHKJ2501_onMessage = "CHKJ2501.onMessage"; // ejbRemove must not throw application exceptions. //$NON-NLS-1$
-
- /*package*/ static final String CHKJ2502_ejbFind = "CHKJ2502.ejbFind"; // ejbFind must not exist. //$NON-NLS-1$
- /*package*/ static final String CHKJ2502_ejbSelect = "CHKJ2502.ejbSelect"; // ejbSelect must not exist. //$NON-NLS-1$
- /*package*/ static final String CHKJ2502_finalize = "CHKJ2502.finalize"; // finalize must not exist. //$NON-NLS-1$
- /*package*/ static final String CHKJ2502 = "CHKJ2502"; // This method must not exist. //$NON-NLS-1$
-
- /*package*/ static final String CHKJ2503_bus = "CHKJ2503.bus"; // The business method must throw/not throw RemoteException. //$NON-NLS-1$
- /*package*/ static final String CHKJ2503_create = "CHKJ2503.create"; // This method must throw/not throw RemoteException. //$NON-NLS-1$
- /*package*/ static final String CHKJ2503_ejbCreate = "CHKJ2503.ejbCreate"; // This method must throw/not throw RemoteException. //$NON-NLS-1$
- /*package*/ static final String CHKJ2503_ejbFind = "CHKJ2503.ejbFind"; // This method must throw/not throw RemoteException. //$NON-NLS-1$
- /*package*/ static final String CHKJ2503_ejbHome = "CHKJ2503.ejbHome"; // This method must throw/not throw RemoteException. //$NON-NLS-1$
- /*package*/ static final String CHKJ2503_ejbPostCreate = "CHKJ2503.ejbPostCreate"; // This method must throw/not throw RemoteException. //$NON-NLS-1$
- /*package*/ static final String CHKJ2503_find = "CHKJ2503.find"; // This method must throw/not throw RemoteException. //$NON-NLS-1$
- /*package*/ static final String CHKJ2503_home = "CHKJ2503.home"; // This method must throw/not throw RemoteException. //$NON-NLS-1$
- /*package*/ static final String CHKJ2503_onMessage = "CHKJ2503.onMessage"; // This method must throw/not throw RemoteException. //$NON-NLS-1$
-
- /*package*/ static final String CHKJ2504_business = "CHKJ2504.business"; // The matching method must exist on the bean class. //$NON-NLS-1$
- /*package*/ static final String CHKJ2504_create = "CHKJ2504.create"; // The matching method must exist on the bean class. //$NON-NLS-1$
- /*package*/ static final String CHKJ2504_find = "CHKJ2504.find"; // The matching method must exist on the bean class. //$NON-NLS-1$
- /*package*/ static final String CHKJ2504_home = "CHKJ2504.home"; // The matching method must exist on the bean class. //$NON-NLS-1$
-
- /*package*/ static final String CHKJ2505_ejbPostCreate = "CHKJ2505.ejbPostCreate"; // This method must return void. //$NON-NLS-1$
- /*package*/ static final String CHKJ2505_onMessage = "CHKJ2505.onMessage"; // This method must return void. //$NON-NLS-1$
- /*package*/ static final String CHKJ2505_ejbRemove = "CHKJ2505.ejbRemove"; // This method must return void. //$NON-NLS-1$
-
- /*package*/ static final String CHKJ2800_NAMED = "CHKJ2800.named"; // <local> cannot be reflected. //$NON-NLS-1$
- /*package*/ static final String CHKJ2800_UNNAMED = "CHKJ2800.unnamed"; // <local> must exist. //$NON-NLS-1$
- /*package*/ static final String CHKJ2805_NAMED = "CHKJ2805.named"; // <local-home> cannot be reflected //$NON-NLS-1$
- /*package*/ static final String CHKJ2805_UNNAMED = "CHKJ2805.unnamed"; // <local-home> must exist. //$NON-NLS-1$
-
- /*package*/ static final String CHKJ2813 = "CHKJ2813"; // <ejb-name> X must be a valid Java identifier. //$NON-NLS-1$
- /*package*/ static final String CHKJ2816 = "CHKJ2816"; // <ejb-relation-name> must be unique in ejb-jar.xml. //$NON-NLS-1$
- /*package*/ static final String CHKJ2817 = "CHKJ2817"; // <ejb-relationship-role-name> must be unique within an <ejb-relation> //$NON-NLS-1$
- /*package*/ static final String CHKJ2818 = "CHKJ2818"; // The value of the <multiplicity> element must be either "One" or "Many" //$NON-NLS-1$
- /*package*/ static final String CHKJ2819 = "CHKJ2819"; // <abstract-schema-name> {0} must be a valid Java identifier //$NON-NLS-1$
-
- /*package*/ static final String CHKJ2821 = "CHKJ2821"; // <relationship-role-source> {0} must exist in the module //$NON-NLS-1$
-
- /*package*/ static final String CHKJ2848 = "CHKJ2848"; // <cascade-delete> must be used with a <multiplicity> of "One" //$NON-NLS-1$
-
- /*package*/ static final String CHKJ2854 = "CHKJ2854"; // <abstract-schema-name> {0} must be unique within the ejb-jar.xml file //$NON-NLS-1$
- /*package*/ static final String CHKJ2855 = "CHKJ2855"; // <cmp-field> {0} must be a Java primitive or a Java serializable type //$NON-NLS-1$
- /*package*/ static final String CHKJ2856 = "CHKJ2856"; // <cmr-field> {0} must be the {1} type or a collection thereof //$NON-NLS-1$
- /*package*/ static final String CHKJ2857 = "CHKJ2857"; // <cmr-field> {0} must be a valid Java identifier and begin with a lowercase letter //$NON-NLS-1$
- /*package*/ static final String CHKJ2858 = "CHKJ2858"; // <abstract-schema-name> must exist //$NON-NLS-1$
- /*package*/ static final String CHKJ2859 = "CHKJ2859"; // Reserved identifier {0} cannot be used as an <ejb-name> //$NON-NLS-1$
-
- /*package*/ static final String CHKJ2860 = "CHKJ2860"; // Reserved identifier {0} cannot be used as an <abstract-schema-name> //$NON-NLS-1$
- /*package*/ static final String CHKJ2866 = "CHKJ2866"; // <cmr-field> {0} must be defined on {1} //$NON-NLS-1$
- /*package*/ static final String CHKJ2867 = "CHKJ2867"; // This bean can have only unidirectional relationships to other beans //$NON-NLS-1$
- /*package*/ static final String CHKJ2868 = "CHKJ2868"; // The value of the <cmr-field-type> element must be either "java.util.Collection" or "java.util.Set" //$NON-NLS-1$
- /*package*/ static final String CHKJ2869 = "CHKJ2869"; // At least one <ejb-relationship-role> must define a <cmr-field> //$NON-NLS-1$
-
- /*package*/ static final String CHKJ2870 = "CHKJ2870"; // <ejb-name> {0} must exist //$NON-NLS-1$
- /*package*/ static final String CHKJ2871 = "CHKJ2871"; // <ejb-name> {0} must refer to a CMP bean //$NON-NLS-1$
- /*package*/ static final String CHKJ2872 = "CHKJ2872"; // The value of the <cmp-version> element must be either "1.x" or "2.x" //$NON-NLS-1$
- /*package*/ static final String CHKJ2873 = "CHKJ2873"; // Migrate this bean's datasource binding to a CMP Connection Factory binding. //$NON-NLS-1$
- /*package*/ static final String CHKJ2874 = "CHKJ2874"; // Migrate this EJB module's default datasource binding to a default CMP Connection Factory binding. //$NON-NLS-1$
-
- /*package*/ static final String CHKJ2880 = "CHKJ2880"; // This bean must provide a <local-home> //$NON-NLS-1$
- /*package*/ static final String CHKJ2881 = "CHKJ2881"; // This bean must provide a <home> //$NON-NLS-1$
- /*package*/ static final String CHKJ2882 = "CHKJ2882"; // This bean must provide a <local> //$NON-NLS-1$
- /*package*/ static final String CHKJ2883 = "CHKJ2883"; // This bean must provide a <remote> //$NON-NLS-1$
- /*package*/ static final String CHKJ2884 = "CHKJ2884"; // This bean must provide either a <local-home> or a <home> //$NON-NLS-1$
- /*package*/ static final String CHKJ2885 = "CHKJ2885"; // This bean must provide either a <local> or a <remote> //$NON-NLS-1$
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IMethodAndFieldConstants.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IMethodAndFieldConstants.java
deleted file mode 100644
index 4476f1fdd..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IMethodAndFieldConstants.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-public interface IMethodAndFieldConstants {
- public static final long NO_METHODS = 0x0;
- public static final long EXCLUDED_METHOD = ValidationRuleUtility.method_and_field_counter; // 0x1 (1)
- public static final long EXCLUDED_FIELD = (ValidationRuleUtility.method_and_field_counter <<= 1); // 0x2 (2)
- public static final long OTHER_FIELD = (ValidationRuleUtility.method_and_field_counter <<= 1); // 0x4 (4)
-
- public static final long ACCESSOR = (ValidationRuleUtility.method_and_field_counter <<= 1); //0x8 (8)
- public static final long BUSINESS = (ValidationRuleUtility.method_and_field_counter <<= 1); //0x10 (16)
-
- public static final long CLINIT = (ValidationRuleUtility.method_and_field_counter <<= 1); //0x20 (32)
- public static final long CONSTRUCTOR = (ValidationRuleUtility.method_and_field_counter <<= 1); //0x40 (64)
- public static final long CONSTRUCTOR_NOPARM = CONSTRUCTOR | (ValidationRuleUtility.method_and_field_counter <<= 1); // 0x40|0x80 (192)
- public static final long CREATE = (ValidationRuleUtility.method_and_field_counter <<= 1); //0x100 (256)
- public static final long CREATE_NOPARM = CREATE | (ValidationRuleUtility.method_and_field_counter <<= 1); //0x100|0x200 (768)
-
- public static final long EJBACTIVATE_NOPARM = (ValidationRuleUtility.method_and_field_counter <<= 1); //0x400 (1024)
- public static final long EJBCREATE = (ValidationRuleUtility.method_and_field_counter <<= 1); //0x800 (2048)
- public static final long EJBCREATE_NOPARM = EJBCREATE | (ValidationRuleUtility.method_and_field_counter <<= 1);//0x800|0x1000 (6144)
- public static final long EJBFIND = (ValidationRuleUtility.method_and_field_counter <<= 1); //0x2000 (8192)
- public static final long EJBFINDBYPRIMARYKEY = EJBFIND | (ValidationRuleUtility.method_and_field_counter <<= 1); //0x2000|0x4000 (24576)
- public static final long EJBHOME = (ValidationRuleUtility.method_and_field_counter <<= 1); //0x8000 (32768)
- public static final long EJBLOAD_NOPARM = (ValidationRuleUtility.method_and_field_counter <<= 1); //0x10000 (65536)
- public static final long EJBPASSIVATE_NOPARM = (ValidationRuleUtility.method_and_field_counter <<= 1); //0x20000 (131,072)
- public static final long EJBPOSTCREATE = (ValidationRuleUtility.method_and_field_counter <<= 1); //0x40000 (262,144)
- public static final long EJBREMOVE_NOPARM = (ValidationRuleUtility.method_and_field_counter <<= 1); //0x80000 (524,288)
- public static final long EJBSELECT = (ValidationRuleUtility.method_and_field_counter <<= 1); //0x100000 (1,048,576)
- public static final long EJBSTORE_NOPARM = (ValidationRuleUtility.method_and_field_counter <<= 1);//0x200000 (2,097,152)
- public static final long EQUALS = (ValidationRuleUtility.method_and_field_counter <<= 1); //0x400000 (4,194,304)
-
- public static final long FIND = (ValidationRuleUtility.method_and_field_counter <<= 1); //0x800000 (8,388,608)
- public static final long FINDBYPRIMARYKEY = FIND | (ValidationRuleUtility.method_and_field_counter <<= 1); //0x1000000 (25,165,824)
- public static final long FINALIZE_NOPARM = (ValidationRuleUtility.method_and_field_counter <<= 1); //0x2000000 (33,554,432)
-
- public static final long HASHCODE_NOPARM = (ValidationRuleUtility.method_and_field_counter <<= 1); //0x4000000 (67,108,864)
- public static final long HELPER = (ValidationRuleUtility.method_and_field_counter <<= 1); //0x8000000 (134,217,728)
- public static final long HOME = (ValidationRuleUtility.method_and_field_counter <<= 1); //0x10000000 (268,435,456)
-
- public static final long ONMESSAGE = (ValidationRuleUtility.method_and_field_counter <<= 1); //0x20000000 (536,870,912)
-
- public static final long SERIALVERSIONUID = (ValidationRuleUtility.method_and_field_counter <<= 1); //0x40000000 (1,073,741,824)
- public static final long SETSESSIONCONTEXT = (ValidationRuleUtility.method_and_field_counter <<= 1); //0x80000000 (2,147,483,648)
- public static final long SETENTITYCONTEXT = (ValidationRuleUtility.method_and_field_counter <<= 1); //0x100000000 (4,294,967,296)
-
- public static final long UNSETENTITYCONTEXT_NOPARM = (ValidationRuleUtility.method_and_field_counter <<= 1); //0x200000000 (8,589,934,592)
-
-
- // prefixes of some method names
- /*package*/ static final String PREFIX_C = "c"; //$NON-NLS-1$
- /*package*/ static final String PREFIX_EJB = "ejb"; //$NON-NLS-1$
- /*package*/ static final String PREFIX_EJBC = "ejbC"; //$NON-NLS-1$
- /*package*/ static final String PREFIX_EJBF = "ejbF"; //$NON-NLS-1$
- /*package*/ static final String PREFIX_EJBFIND = "ejbFind"; //$NON-NLS-1$
- /*package*/ static final String PREFIX_EJBHOME = "ejbHome"; //$NON-NLS-1$
- /*package*/ static final String PREFIX_EJBSELECT = "ejbSelect"; //$NON-NLS-1$
- /*package*/ static final String PREFIX_F = "f"; //$NON-NLS-1$
- /*package*/ static final String PREFIX_FIND = "find"; //$NON-NLS-1$
- /*package*/ static final String PREFIX_GET = "get"; //$NON-NLS-1$
- /*package*/ static final String PREFIX_SELECT = "select"; //$NON-NLS-1$
- /*package*/ static final String PREFIX_SET = "set"; //$NON-NLS-1$
-
- // method names
- /*package*/ static final String METHODNAME_CREATE = "create"; //$NON-NLS-1$
- /*package*/ static final String METHODNAME_EJBACTIVATE = "ejbActivate"; //$NON-NLS-1$
- /*package*/ static final String METHODNAME_EJBCREATE = "ejbCreate"; //$NON-NLS-1$
- /*package*/ static final String METHODNAME_EJBFINDBYPRIMARYKEY = "ejbFindByPrimaryKey"; //$NON-NLS-1$
- /*package*/ static final String METHODNAME_EJBLOAD = "ejbLoad"; //$NON-NLS-1$
- /*package*/ static final String METHODNAME_EJBPASSIVATE = "ejbPassivate"; //$NON-NLS-1$
- /*package*/ static final String METHODNAME_EJBPOSTCREATE = "ejbPostCreate"; //$NON-NLS-1$
- /*package*/ static final String METHODNAME_EJBREMOVE = "ejbRemove"; //$NON-NLS-1$
- /*package*/ static final String METHODNAME_EJBSTORE = "ejbStore"; //$NON-NLS-1$
- /*package*/ static final String METHODNAME_EQUALS = "equals"; //$NON-NLS-1$
- /*package*/ static final String METHODNAME_FINALIZE = "finalize"; //$NON-NLS-1$
- /*package*/ static final String METHODNAME_FINDBYPRIMARYKEY = "findByPrimaryKey"; //$NON-NLS-1$
- /*package*/ static final String METHODNAME_HASHCODE = "hashCode"; //$NON-NLS-1$
- /*package*/ static final String METHODNAME_ONMESSAGE = "onMessage"; //$NON-NLS-1$
- /*package*/ static final String METHODNAME_REMOVE = "remove"; //$NON-NLS-1$
- /*package*/ static final String METHODNAME_SETSESSIONCONTEXT = "setSessionContext"; //$NON-NLS-1$
- /*package*/ static final String METHODNAME_SETENTITYCONTEXT = "setEntityContext"; //$NON-NLS-1$
- /*package*/ static final String METHODNAME_UNSETENTITYCONTEXT = "unsetEntityContext"; //$NON-NLS-1$
-
- // field names
- /*package*/ static final String FIELDNAME_SERIALVERSIONUID = "serialVersionUID"; //$NON-NLS-1$
-
- // For substitution into strings
- /*package*/ static final String METHODSIGNATURE_EQUALS = "equals(java.lang.Object)"; //$NON-NLS-1$
- /*package*/ static final String METHODSIGNATURE_HASHCODE = "hashCode()"; //$NON-NLS-1$
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IMethodType.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IMethodType.java
deleted file mode 100644
index fd031affe..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IMethodType.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import java.util.List;
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-
-
-public abstract interface IMethodType {
- public String getMethodName(EnterpriseBean bean, JavaClass clazz, Method method);
-
- public long getId();
-
- /**
- * Return true if this method type is a default type for an enterprise bean's class.
- * For example, if the method on the home is neither a create nor a find method, then
- * it is assumed to be the default type, a home method.
- */
- public boolean isDefaultType();
-
- public boolean isMethodType(EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists);
-
- public String getMessageId_messageMissing(); // required method is missing
- public String getMessageId_messageExists(); // method should not exist
- public String getMessageId_messageRemoteException(); // method throws (or doesn't throw) RemoteException
- public String getMessageId_messageMissingMatching(); // method is missing its matching method on the bean class
- public String getMessageId_messageRMI_IIOPParm(); // parameter or return type is not a legal RMI-IIOP type
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IRemoteType.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IRemoteType.java
deleted file mode 100644
index 38511c405..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IRemoteType.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-
-/**
- * @version 1.0
- * @author
- */
-public interface IRemoteType {
- public int IS_REMOTE = IEJBType.REMOTE;
- public int MESSAGE_REMOTE_EXCEPTION_SEVERITY = IEJBValidationContext.ERROR; // If a method does not throw an exception when it should, RMIC blows up, hence this situation is an error.
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ITypeConstants.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ITypeConstants.java
deleted file mode 100644
index 608ef1fc0..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ITypeConstants.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-public interface ITypeConstants {
- public static long NO_SUPERTYPE = 0x0;
-
- public static long LOCAL_COMPONENT_INTERFACE = ClassUtility.supertype_counter; // 0x1 (1)
- public static long REMOTE_COMPONENT_INTERFACE = (ClassUtility.supertype_counter <<= 1); // 0x2 (2)
-
- public static long JAVAX_EJB_ENTITYBEAN = (ClassUtility.supertype_counter <<= 1); // 0x4 (4)
- public static long JAVAX_EJB_EJBLOCALHOME = (ClassUtility.supertype_counter <<= 1); //0x8 (8)
- public static long JAVAX_EJB_EJBLOCALOBJECT = (ClassUtility.supertype_counter <<= 1);//0x10 (16)
- public static long JAVAX_EJB_EJBHOME = (ClassUtility.supertype_counter <<= 1); //0x20 (32)
- public static long JAVAX_EJB_EJBOBJECT = (ClassUtility.supertype_counter <<= 1); //0x40 (64)
-
- public static long JAVA_LANG_OBJECT = (ClassUtility.supertype_counter <<= 1);//0x80 (128)
-
- public static long JAVAX_EJB_MESSAGEDRIVENBEAN = (ClassUtility.supertype_counter <<= 1); //0x100 (256)
- public static long JAVAX_JMS_MESSAGELISTENER = (ClassUtility.supertype_counter <<= 1); //0x200 (512)
-
- public static long JAVAX_EJB_SESSIONBEAN = (ClassUtility.supertype_counter <<= 1); //0x400 (1024)
- public static long JAVAX_EJB_SESSIONSYNCHRONIZATION = (ClassUtility.supertype_counter <<= 1); // 0x800 (2048)
-
- // primitive types
- /*package*/ static final String VOID = "void"; //$NON-NLS-1$
-
- // class and interface types
- /*package*/ static final String CLASSNAME_JAVA_IO_IOEXCEPTION = "java.io.IOException"; //$NON-NLS-1$
- /*package*/ static final String CLASSNAME_JAVA_IO_SERIALIZABLE = "java.io.Serializable"; //$NON-NLS-1$
- /*package*/ static final String CLASSNAME_JAVA_LANG_OBJECT = "java.lang.Object"; //$NON-NLS-1$
- /*package*/ static final String CLASSNAME_JAVA_LANG_EXCEPTION = "java.lang.Exception"; //$NON-NLS-1$
- /*package*/ static final String CLASSNAME_JAVA_LANG_RUNTIMEEXCEPTION = "java.lang.RuntimeException"; //$NON-NLS-1$
- /*package*/ static final String CLASSNAME_JAVA_RMI_REMOTE = "java.rmi.Remote"; //$NON-NLS-1$
- /*package*/ static final String CLASSNAME_JAVA_RMI_REMOTEEXCEPTION = "java.rmi.RemoteException"; //$NON-NLS-1$
- /*package*/ static final String CLASSNAME_JAVA_UTIL_COLLECTION = "java.util.Collection"; //$NON-NLS-1$
- /*package*/ static final String CLASSNAME_JAVA_UTIL_ENUMERATION = "java.util.Enumeration"; //$NON-NLS-1$
- /*package*/ static final String CLASSNAME_JAVA_UTIL_SET = "java.util.Set"; //$NON-NLS-1$
- /*package*/ static final String CLASSNAME_JAVAX_EJB_CREATEEXCEPTION = "javax.ejb.CreateException"; //$NON-NLS-1$
- /*package*/ static final String CLASSNAME_JAVAX_EJB_ENTITYBEAN = "javax.ejb.EntityBean"; //$NON-NLS-1$
- /*package*/ static final String CLASSNAME_JAVAX_EJB_EJBEXCEPTION = "javax.ejb.EJBException"; //$NON-NLS-1$
- /*package*/ static final String CLASSNAME_JAVAX_EJB_EJBHOME = "javax.ejb.EJBHome"; //$NON-NLS-1$
- /*package*/ static final String CLASSNAME_JAVAX_EJB_EJBLOCALHOME = "javax.ejb.EJBLocalHome"; //$NON-NLS-1$
- /*package*/ static final String CLASSNAME_JAVAX_EJB_EJBOBJECT = "javax.ejb.EJBObject"; //$NON-NLS-1$
- /*package*/ static final String CLASSNAME_JAVAX_EJB_EJBLOCALOBJECT = "javax.ejb.EJBLocalObject"; //$NON-NLS-1$
- /*package*/ static final String CLASSNAME_JAVAX_EJB_ENTITYCONTEXT = "javax.ejb.EntityContext"; //$NON-NLS-1$
- /*package*/ static final String CLASSNAME_JAVAX_EJB_FINDEREXCEPTION = "javax.ejb.FinderException"; //$NON-NLS-1$
- /*package*/ static final String CLASSNAME_JAVAX_EJB_MESSAGEDRIVENBEAN = "javax.ejb.MessageDrivenBean"; //$NON-NLS-1$
- /*package*/ static final String CLASSNAME_JAVAX_EJB_OBJECTNOTFOUNDEXCEPTION = "javax.ejb.ObjectNotFoundException"; //$NON-NLS-1$
- /*package*/ static final String CLASSNAME_JAVAX_EJB_SESSIONBEAN = "javax.ejb.SessionBean"; //$NON-NLS-1$
- /*package*/ static final String CLASSNAME_JAVAX_EJB_SESSIONCONTEXT = "javax.ejb.SessionContext"; //$NON-NLS-1$
- /*package*/ static final String CLASSNAME_JAVAX_EJB_SESSIONSYNCHRONIZATION = "javax.ejb.SessionSynchronization"; //$NON-NLS-1$
- /*package*/ static final String CLASSNAME_JAVAX_JMS_MESSAGE = "javax.jms.Message"; //$NON-NLS-1$
- /*package*/ static final String CLASSNAME_JAVAX_JMS_MESSAGELISTENER = "javax.jms.MessageListener"; //$NON-NLS-1$
- /*package*/ static final String CLASSNAME_JAVAX_TRANSACTION_USERTRANSACTION = "javax.transaction.UserTransaction"; //$NON-NLS-1$
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IValidationRule.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IValidationRule.java
deleted file mode 100644
index 01a650906..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IValidationRule.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.wst.validation.internal.core.ValidationException;
-
-
-public interface IValidationRule {
- /**
- * Returns the id of this rule. Given this id, this rule can be loaded from
- * the AbstractEJBValidationRuleFactory.
- */
- public Object getId();
-
- /**
- * Returns the ids of the rules which this rule depends on. (That is,
- * if one of these rules runs, then this rule needs to be run.)
- */
- public Object[] getDependsOn();
-
- /**
- * Add a validation rule which needs to be notified when this rule is run.
- */
- public void addDependent(IValidationRule rule);
-
- /**
- * Return a collection of the IValidationRules which depend on this rule.
- */
- public Set getDependents();
-
- /**
- * Given the target's parent and the changed target, return the target which
- * this rule should validate. For example, if a bean class changes, then the
- * target parent would be the EnterpriseBean, and this rule could return
- * the home interface, or the component interface, or the key class, etc.
- */
- public Object getTarget(Object targetParent, Object target);
-
- /**
- * If any information needs to be calculated before the validate method is called,
- * then that information should be calculated here. This cached information should
- * be cleaned up in the postValidate method.
- */
- public void preValidate(IEJBValidationContext vc, Object targetParent, Object target) throws ValidationCancelledException, ValidationException;
-
- /**
- * Validate the target object. Report all messages, load models, etc.
- * through the IValidtionContext parameter.
- */
- public void validate(IEJBValidationContext vc, Object targetParent, Object target) throws ValidationCancelledException, ValidationException;
-
- /**
- * This method cleans up any resources calculated or cached in the preValidate method.
- * This method is called after the validate method has completed.
- */
- public void postValidate(IEJBValidationContext vc, Object targetParent, Object target) throws ValidationCancelledException, ValidationException;
-
- /**
- * To enable this rule for reuse, reset any stored values (which were calculated
- * during validation) to the default value.
- */
- public void reset();
-
- /**
- * Return a mapping of CHKJ message id to the message id in the resource bundle.
- */
- public Map getMessageIds();
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IValidationRuleList.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IValidationRuleList.java
deleted file mode 100644
index 29c390be6..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/IValidationRuleList.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-public interface IValidationRuleList {
- public static final Object EJB11_EJBJAR = new Integer(1); // EJB 1.1 projects
- public static final Object EJB11_EJBEXT = new Integer(2); // EJB 1.1 projects
- public static final Object EJB20_EJBJAR = new Integer(3); // EJB 2.0 projects
- public static final Object EJB20_EJBEXT = new Integer(4); // EJB 2.0 projects
-
- public static final Object EJB11_ENTERPRISEBEAN = new Integer(5); // EJB 1.1 or EJB 2.0 projects
- public static final Object EJB20_ENTERPRISEBEAN = new Integer(6); // EJB 2.0 projects
-
- public static final Object EJB11_SESSION_BEANCLASS = new Integer(7); // EJB 1.1 or EJB 2.0 projects
- public static final Object EJB11_SESSION_REMOTE = new Integer(8); // EJB 1.1 or EJB 2.0 projects
- public static final Object EJB11_SESSION_HOME = new Integer(9); // EJB 1.1 or EJB 2.0 projects
-
- public static final Object EJB11_CMP_BEANCLASS = new Integer(10); // EJB 1.1 or EJB 2.0 projects
- public static final Object EJB11_CMP_REMOTE = new Integer(11); // EJB 1.1 or EJB 2.0 projects
- public static final Object EJB11_CMP_HOME = new Integer(12); // EJB 1.1 or EJB 2.0 projects
- public static final Object EJB11_CMP_KEYCLASS = new Integer(13); // EJB 1.1 or EJB 2.0 projects
-
- public static final Object EJB11_BMP_BEANCLASS = new Integer(14); // EJB 1.1 or EJB 2.0 projects
- public static final Object EJB11_BMP_REMOTE = new Integer(15); // EJB 1.1 or EJB 2.0 projects
- public static final Object EJB11_BMP_HOME = new Integer(16); // EJB 1.1 or EJB 2.0 projects
- public static final Object EJB11_BMP_KEYCLASS = new Integer(17); // EJB 1.1 or EJB 2.0 projects
-
- public static final Object EJB20_STATELESS_SESSION_BEANCLASS = new Integer(18); // EJB 2.0 projects
- public static final Object EJB20_STATELESS_SESSION_REMOTE = new Integer(19); // EJB 2.0 projects
- public static final Object EJB20_STATELESS_SESSION_HOME = new Integer(20); // EJB 2.0 projects
- public static final Object EJB20_STATELESS_SESSION_LOCAL = new Integer(21); // EJB 2.0 projects
- public static final Object EJB20_STATELESS_SESSION_LOCALHOME = new Integer(22); // EJB 2.0 projects
-
- public static final Object EJB20_STATEFUL_SESSION_BEANCLASS = new Integer(23); // EJB 2.0 projects
- public static final Object EJB20_STATEFUL_SESSION_REMOTE = new Integer(24); // EJB 2.0 projects
- public static final Object EJB20_STATEFUL_SESSION_HOME = new Integer(25); // EJB 2.0 projects
- public static final Object EJB20_STATEFUL_SESSION_LOCAL = new Integer(26); // EJB 2.0 projects
- public static final Object EJB20_STATEFUL_SESSION_LOCALHOME = new Integer(27); // EJB 2.0 projects
-
- public static final Object EJB20_CMP_BEANCLASS = new Integer(28); // EJB 2.0 projects
- public static final Object EJB20_CMP_REMOTE = new Integer(29); // EJB 2.0 projects
- public static final Object EJB20_CMP_HOME = new Integer(30); // EJB 2.0 projects
- public static final Object EJB20_CMP_LOCAL = new Integer(31); // EJB 2.0 projects
- public static final Object EJB20_CMP_LOCALHOME = new Integer(32); // EJB 2.0 projects
- public static final Object EJB20_CMP_KEYCLASS = new Integer(33); // EJB 2.0 projects
-
- public static final Object EJB20_BMP_BEANCLASS = new Integer(34); // EJB 2.0 projects
- public static final Object EJB20_BMP_REMOTE = new Integer(35); // EJB 2.0 projects
- public static final Object EJB20_BMP_HOME = new Integer(36); // EJB 2.0 projects
- public static final Object EJB20_BMP_LOCAL = new Integer(37); // EJB 2.0 projects
- public static final Object EJB20_BMP_LOCALHOME = new Integer(38); // EJB 2.0 projects
- public static final Object EJB20_BMP_KEYCLASS = new Integer(39); // EJB 2.0 projects
-
- public static final Object EJB20_MESSAGE_BEANCLASS = new Integer(40); // EJB 2.0 projects
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/InvalidInputException.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/InvalidInputException.java
deleted file mode 100644
index 0745d33d5..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/InvalidInputException.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-
-import org.eclipse.jem.java.JavaClass;
-
-/**
- * This exception is thrown when either a type cannot be reflected
- * or when expected input (e.g. the remote interface) is null.
- */
-public class InvalidInputException extends Exception {
- private JavaClass _class = null;
-
- /**
- * This constructor should be used only when there is no information
- * available to identify what is invalid.
- */
- public InvalidInputException() {
- this(null);
- }
-
- /**
- * This constructor is used when the given type cannot be reflected.
- */
- public InvalidInputException(JavaClass clazz) {
- _class = clazz;
- }
-
- public JavaClass getJavaClass() {
- return _class;
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/J2EEMessageConstants.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/J2EEMessageConstants.java
deleted file mode 100644
index 7272177d6..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/J2EEMessageConstants.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-/**
- * Message key constants for J2EE validators.
- */
-public interface J2EEMessageConstants {
- public static final String EREF_CATEGORY = "erefvalidation"; //$NON-NLS-1$
- public static final String WAR_CATEGORY = "warvalidation"; //$NON-NLS-1$
- public static final String EAR_CATEGORY = "earvalidation"; //$NON-NLS-1$
- public static final String EJBJAR_CATEGORY = "ejbjarvalidation"; //$NON-NLS-1$
- public static final String APLICATIONCLIENT_CATEGORY = "applicationclientvalidation"; //$NON-NLS-1$
- public static final String VALIDATOR_NAME = "validator.name"; //$NON-NLS-1$
- public static final String ERROR_EAR_MISSING_EREFNAME = "ERROR_EAR_MISSING_EREFNAME"; //$NON-NLS-1$
- public static final String ERROR_EAR_MISSING_EREFTYPE = "ERROR_EAR_MISSING_EREFTYPE"; //$NON-NLS-1$
- public static final String ERROR_EAR_INVALID_EREFTYPE = "ERROR_EAR_INVALID_EREFTYPE"; //$NON-NLS-1$
- public static final String ERROR_EAR_MISSING_EREFHOME = "ERROR_EAR_MISSING_EREFHOME"; //$NON-NLS-1$
- public static final String ERROR_EAR_MISSING_EREFREMOTE = "ERROR_EAR_MISSING_EREFREMOTE"; //$NON-NLS-1$
- public static final String ERROR_EAR_MISSING_EJB_ROLE = "ERROR_EAR_MISSING_EJB_ROLE"; //$NON-NLS-1$
- public static final String ERROR_EAR_DUPLICATE_RESREF = "ERROR_EAR_DUPLICATE_RESREF"; //$NON-NLS-1$
- public static final String ERROR_EAR_DUPLICATE_SERVICEREF = "ERROR_EAR_DUPLICATE_SERVICEREF"; //$NON-NLS-1$
- public static final String ERROR_EAR_DUPLICATE_SECURITYROLEREF = "ERROR_EAR_DUPLICATE_SECURITYROLEREF"; //$NON-NLS-1$
- public static final String ERROR_EAR_DUPLICATE_EJBREF = "ERROR_EAR_DUPLICATE_EJBREF"; //$NON-NLS-1$
- public static final String ERROR_EAR_DUPLICATE_RESENVREF = "ERROR_EAR_DUPLICATE_RESENVREF"; //$NON-NLS-1$
- public static final String ERROR_EAR_DUPLICATE_MESSSAGEDESTINATIONREF = "ERROR_EAR_DUPLICATE_MESSSAGEDESTINATIONREF"; //$NON-NLS-1$
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/J2EEValidationResourceHandler.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/J2EEValidationResourceHandler.java
deleted file mode 100644
index c35b84637..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/J2EEValidationResourceHandler.java
+++ /dev/null
@@ -1,499 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import java.text.MessageFormat;
-import java.util.Locale;
-import java.util.MissingResourceException;
-
-public class J2EEValidationResourceHandler {
- private static java.util.Hashtable handlers = new java.util.Hashtable();
- protected ClassLoader resourceClassLoader;
- protected java.util.Locale locale = null;
- protected String bundleName = null;
- protected java.util.ResourceBundle bundle = null;
-/**
- * ResourceHandler constructor. This constructor uses the default locale.
- *
- */
-public J2EEValidationResourceHandler() {
- super();
-}
-/**
- * ResourceHandler constructor.
- *
- * @param The Locale object containing the locale to be used to locate the resource bundle.
- */
-public J2EEValidationResourceHandler(Locale locale) {
- super();
- setLocale(locale);
-}
-/**
- * Getter for the resource bundle property. This property is lazily initialized using the
- * locale property; so that property must be set before calling this method.
- *
- * @return The ResourceBundle object containing the messages to be handled by this instance.
- */
-public java.util.ResourceBundle getBundle() {
- if (this.bundle == null) {
- try {
- if (getResourceClassLoader() == null)
- this.bundle = java.util.ResourceBundle.getBundle(getBundleName(),getLocale());
- else
- this.bundle = java.util.ResourceBundle.getBundle(getBundleName(),getLocale(), getResourceClassLoader());
- } catch (MissingResourceException e) {
- System.out.println("Exception retrieving bundle: " + getBundleName() +//$NON-NLS-1$
- " using locale: " + getLocale().toString());//$NON-NLS-1$
- e.printStackTrace();
- } // endtry
- } // endif
- return this.bundle;
-}
-
-/**
- * Insert the method's description here.
- * Creation date: (1/5/01 2:26:24 PM)
- * @return java.lang.String
- */
-public java.lang.String getBundleName() {
- return bundleName;
-}
-/**
- * Get the message with the specified key.
- *
- * @param fileName The name of the property file that contains the message.
- * @param key The key for the message to be retrieved.
- */
-
-public static String getExternalizedMessage(String fileName, String key, Class aClass) {
-
- return getHandler(fileName, aClass).getMessage(key);
-
-}
-/**
- * Get the message template with the specified key, and format the message using
- * the specified Object array.
- *
- * @param fileName The name of the property file that contains the message.
- * @param key The key for the message to be retrieved.
- * @param arg The Object array containing the substitution values for the message.
- * @return The message string.
- */
-public static String getExternalizedMessage(String fileName, String key, Class aClass, Object arg[]) {
-
- return getHandler(fileName, aClass).getMessage(key, arg);
-}
-/**
- * Get the message template with the specified key, and format the message using
- * the specified Object array.
- *
- * @param fileName The name of the property file that contains the message.
- * @param key The key for the message to be retrieved.
- * @param arg The Object array containing the substitution values for the message.
- * @return The message string.
- */
-public static String getExternalizedMessage(String fileName, String key, Class aClass, Object arg[], Locale locale) {
-
- return getHandler(fileName, aClass, locale).getMessage(key, arg);
-}
-/**
- * Get the message template with the specified key, and format the message using
- * the specified String argument.
- *
- * @param fileName The name of the property file that contains the message.
- * @param key The key for the message to be retrieved.
- * @param arg1 The argument containing the substitution values for the message variable 1.
- * @return The message string.
- */
-public static String getExternalizedMessage(String fileName, String key, Class aClass, String arg1) {
-
- return getHandler(fileName, aClass).getMessage(key, arg1);
-
-}
-/**
- * Get the message template with the specified key, and format the message using
- * the specified String arguments.
- *
- * @param fileName The name of the property file that contains the message.
- * @param key The key for the message to be retrieved.
- * @param arg1 The argument containing the substitution values for the message variable 1.
- * @param arg2 The argument containing the substitution values for the message variable 2.
- * @return The message string.
- */
-
-public static String getExternalizedMessage(String fileName, String key, Class aClass, String arg1, String arg2) {
-
- return getHandler(fileName, aClass).getMessage(key, arg1, arg2);
-
-}
-/**
- * Get the message template with the specified key, and format the message using
- * the specified String arguments.
- *
- * @param fileName The name of the property file that contains the message.
- * @param key The key for the message to be retrieved.
- * @param arg1 The argument containing the substitution values for the message variable 1.
- * @param arg2 The argument containing the substitution values for the message variable 2.
- * @param arg3 The argument containing the substitution values for the message variable 3.
- * @return The message string.
- */
-
-public static String getExternalizedMessage(String fileName, String key, Class aClass, String arg1, String arg2, String arg3) {
-
- return getHandler(fileName, aClass).getMessage(key, arg1, arg2, arg3);
-
-}
-/**
- * Get the message template with the specified key, and format the message using
- * the specified String arguments.
- *
- * @param fileName The name of the property file that contains the message.
- * @param key The key for the message to be retrieved.
- * @param arg1 The argument containing the substitution values for the message variable 1.
- * @param arg2 The argument containing the substitution values for the message variable 2.
- * @param arg3 The argument containing the substitution values for the message variable 3.
- * @param arg4 The argument containing the substitution values for the message variable 4.
- * @return The message string.
- */
-
-public static String getExternalizedMessage(String fileName, String key, Class aClass, String arg1, String arg2, String arg3, String arg4) {
-
- return getHandler(fileName, aClass).getMessage(key, arg1, arg2, arg3, arg4);
-
-}
-/**
- * Get the message template with the specified key, and format the message using
- * the specified String arguments.
- *
- * @param fileName The name of the property file that contains the message.
- * @param key The key for the message to be retrieved.
- * @param arg1 The argument containing the substitution values for the message variable 1.
- * @param arg2 The argument containing the substitution values for the message variable 2.
- * @param arg3 The argument containing the substitution values for the message variable 3.
- * @param arg4 The argument containing the substitution values for the message variable 4.
- * @param arg4 The argument containing the substitution values for the message variable 4.
- * @param arg5 The argument containing the substitution values for the message variable 5.
- * @return The message string.
- */
-
-public static String getExternalizedMessage(String fileName, String key, Class aClass,
- String arg1,
- String arg2,
- String arg3,
- String arg4,
- String arg5) {
-
- return getHandler(fileName, aClass).getMessage(key,
- arg1,
- arg2,
- arg3,
- arg4,
- arg5);
-
-}
-/**
- * Get the message with the specified key.
- *
- * @param fileName The name of the property file that contains the message.
- * @param key The key for the message to be retrieved.
- */
-
-public static String getExternalizedMessage(String fileName, String key, Class aClass, Locale locale) {
-
- return getHandler(fileName, aClass, locale).getMessage(key);
-
-}
-/**
- * Get the static instance of this class that corresponds to the passed property file.
- *
- * @return The resource handler object which can be used to obtain messages.
- */
-public static J2EEValidationResourceHandler getHandler(String fileName, Class aClass) {
- return getHandler(fileName,aClass,Locale.getDefault());
-}
-/**
- * Get the static instance of this class that corresponds to the passed property file.
- *
- * @return The resource handler object which can be used to obtain messages.
- */
-public static J2EEValidationResourceHandler getHandler(String fileName, Class aClass, Locale locale) {
- String handlerKey = getHandlerKey(fileName, locale);
- if (handlers.get(handlerKey) == null) {
- J2EEValidationResourceHandler temp = new J2EEValidationResourceHandler(locale);
- temp.setResourceClassLoader(aClass.getClassLoader());
- temp.setBundleName(fileName);
- handlers.put(handlerKey,temp);
- }
-
- return (J2EEValidationResourceHandler)(handlers.get(handlerKey));
-}
- private static String getHandlerKey(String _baseName, Locale locale) {
- StringBuffer localeName = new StringBuffer("_").append(locale.toString());//$NON-NLS-1$
- if (locale.toString().equals(""))//$NON-NLS-1$
- localeName.setLength(0);
- return _baseName + localeName.toString();
- }
-/**
- * Insert the method's description here.
- * Creation date: (1/26/2001 1:04:50 PM)
- * @return java.lang.ClassLoader
- */
-public java.lang.ClassLoader getResourceClassLoader() {
- return resourceClassLoader;
-}
-/**
- * Insert the method's description here.
- * Creation date: (1/26/2001 1:04:50 PM)
- * @param newResourceClassLoader java.lang.ClassLoader
- */
-public void setResourceClassLoader(java.lang.ClassLoader newResourceClassLoader) {
- resourceClassLoader = newResourceClassLoader;
-}
-
-/**
- * Setter for the locale property.
- *
- * @param The locale.
- */
-public void setLocale(Locale locale) {
- this.locale = locale;
-}
-
-/**
- * Insert the method's description here.
- * Creation date: (1/5/01 2:26:24 PM)
- * @param newBundleName java.lang.String
- */
-public void setBundleName(java.lang.String newBundleName) {
- bundleName = newBundleName;
-}
-
-
-/**
- * Getter for the locale property.
- *
- * @return The locale.
- */
-public Locale getLocale() {
- if (locale == null)
- locale = Locale.getDefault();
- return locale;
-}
-
-/**
- * Get the message with the specified key.
- *
- * @param key The key for the message to be retrieved.
- */
-
-public String getMessage(String key) {
- String temp = null;
- try {
- temp = getBundle().getString(key);
- }
- catch (MissingResourceException ex) {
- System.out.println("Resource Exception: " + ex);//$NON-NLS-1$
- temp = "<<Key: " + key + " not found in resource: " + getBundleName() + ">>";//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
- }
- return temp;
-}
-
-/**
- * Get the message template with the specified key, and format the message using
- * the specified Object array.
- *
- * @param key The key for the message to be retrieved.
- * @param arg The Object array containing the substitution values for the message.
- * @return The message string.
- */
-public String getMessage(String key, Object arg[]) {
- String temp = null;
- try {
- temp = MessageFormat.format(getBundle().getString(key), arg);
- }
- catch (MissingResourceException ex) {
- System.out.println("Resource Exception: " + ex);//$NON-NLS-1$
- temp = "<<Key: " + key + " not found in resource: " + getBundleName() + ">>";//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
- }
- return temp;
-}
-
-/**
- * Get the message template with the specified key, and format the message using
- * the specified String argument.
- *
- * @param key The key for the message to be retrieved.
- * @param arg1 The argument containing the substitution values for the message variable 1.
- * @return The message string.
- */
-public String getMessage(String key, String arg1) {
-
- String temp = null;
- try {
- if (arg1 != null) {
- Object msgobj[] = new Object[1];
- msgobj[0] = arg1;
- temp = getMessage(key, msgobj);
- }
- else {
- temp = getMessage(key);
- }
- }
- catch (MissingResourceException ex) {
- System.out.println("Resource Exception: " + ex);//$NON-NLS-1$
- temp = "<<Key: " + key + " not found in resource: " + getBundleName() + ">>";//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
- }
- return temp;
-}
-
-/**
- * Get the message template with the specified key, and format the message using
- * the specified String arguments.
- *
- * @param key The key for the message to be retrieved.
- * @param arg1 The argument containing the substitution values for the message variable 1.
- * @param arg2 The argument containing the substitution values for the message variable 2.
- * @return The message string.
- */
-
-public String getMessage(String key, String arg1, String arg2) {
- String temp = null;
- try {
- if ((arg1 != null) && (arg2 != null)) {
- Object msgobj[] = new Object[2];
- msgobj[0] = arg1;
- msgobj[1] = arg2;
- temp = getMessage(key, msgobj);
- }
- else {
- temp = getMessage(key);
- }
- }
- catch (MissingResourceException ex) {
- System.out.println("Resource Exception: " + ex);//$NON-NLS-1$
- temp = "<<Key: " + key + " not found in resource: " + getBundleName() + ">>";//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
- }
- return temp;
-
-}
-
-/**
- * Get the message template with the specified key, and format the message using
- * the specified String arguments.
- *
- * @param key The key for the message to be retrieved.
- * @param arg1 The argument containing the substitution values for the message variable 1.
- * @param arg2 The argument containing the substitution values for the message variable 2.
- * @param arg3 The argument containing the substitution values for the message variable 3.
- * @return The message string.
- */
-
-public String getMessage(String key, String arg1, String arg2, String arg3) {
- String temp = null;
- try {
- if ((arg1 != null) && (arg2 != null) && (arg3 != null)) {
- Object msgobj[] = new Object[3];
- msgobj[0] = arg1;
- msgobj[1] = arg2;
- msgobj[2] = arg3;
- temp = getMessage(key, msgobj);
- }
- else {
- temp = getMessage(key);
- }
- }
- catch (MissingResourceException ex) {
- System.out.println("Resource Exception: " + ex);//$NON-NLS-1$
- temp = "<<Key: " + key + " not found in resource: " + getBundleName() + ">>";//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
- }
- return temp;
-
-}
-
-/**
- * Get the message template with the specified key, and format the message using
- * the specified String arguments.
- *
- * @param key The key for the message to be retrieved.
- * @param arg1 The argument containing the substitution values for the message variable 1.
- * @param arg2 The argument containing the substitution values for the message variable 2.
- * @param arg3 The argument containing the substitution values for the message variable 3.
- * @param arg4 The argument containing the substitution values for the message variable 4.
- * @return The message string.
- */
-
-public String getMessage(String key, String arg1, String arg2, String arg3, String arg4) {
- String temp = null;
- try {
- if ((arg1 != null) && (arg2 != null) && (arg3 != null) && (arg4 != null)) {
- Object msgobj[] = new Object[4];
- msgobj[0] = arg1;
- msgobj[1] = arg2;
- msgobj[2] = arg3;
- msgobj[3] = arg4;
- temp = getMessage(key, msgobj);
- }
- else {
- temp = getMessage(key);
- }
- }
- catch (MissingResourceException ex) {
- System.out.println("Resource Exception: " + ex);//$NON-NLS-1$
- temp = "<<Key: " + key + " not found in resource: " + getBundleName() + ">>";//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
- }
- return temp;
-}
-
-/**
- * Get the message template with the specified key, and format the message using
- * the specified String arguments.
- *
- * @param key The key for the message to be retrieved.
- * @param arg1 The argument containing the substitution values for the message variable 1.
- * @param arg2 The argument containing the substitution values for the message variable 2.
- * @param arg3 The argument containing the substitution values for the message variable 3.
- * @param arg4 The argument containing the substitution values for the message variable 4.
- * @param arg4 The argument containing the substitution values for the message variable 4.
- * @param arg5 The argument containing the substitution values for the message variable 5.
- * @return The message string.
- */
-
-public String getMessage(String key,
- String arg1,
- String arg2,
- String arg3,
- String arg4,
- String arg5) {
-
- String temp = null;
- try {
- if ((arg1 != null) && (arg2 != null) && (arg3 != null) &&
- (arg4 != null) && (arg5 != null) ) {
- Object msgobj[] = new Object[5];
- msgobj[0] = arg1;
- msgobj[1] = arg2;
- msgobj[2] = arg3;
- msgobj[3] = arg4;
- msgobj[4] = arg5;
- temp = getMessage(key, msgobj);
- }
- else {
- temp = getMessage(key);
- }
- }
- catch (MissingResourceException ex) {
- System.out.println("Resource Exception: " + ex);//$NON-NLS-1$
- temp = "<<Key: " + key + " not found in resource: " + getBundleName() + ">>";//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
- }
- return temp;
-
-}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/J2EEValidator.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/J2EEValidator.java
deleted file mode 100644
index a88054ec5..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/J2EEValidator.java
+++ /dev/null
@@ -1,511 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-
-
-import java.util.HashSet;
-import java.util.List;
-import java.util.Locale;
-import java.util.Set;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.jst.j2ee.common.EjbRef;
-import org.eclipse.jst.j2ee.internal.common.impl.ResourceRefImpl;
-import org.eclipse.jst.j2ee.internal.common.impl.SecurityRoleImpl;
-import org.eclipse.wst.validation.internal.core.Message;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.IReporter;
-import org.eclipse.wst.validation.internal.provisional.core.IValidationContext;
-import org.eclipse.wst.validation.internal.provisional.core.IValidator;
-
-
-/**
- * Insert the type's description here.
- * Creation date: (3/9/2001 3:34:39 PM)
- * @author: Administrator
- */
-public abstract class J2EEValidator implements IValidator, J2EEMessageConstants {
- protected IReporter _reporter;
- protected IValidationContext _helper;
-
- public J2EEValidator()
- {
- initialize();
- }
-/**
- * <p>Create am <em>error</em> message and route it to the
- * cached reporter. This form of <code>addError</code> is
- * for messages which require no arguments.</p>
- *
- * @param msgId The ID of the message to be created.
- */
-
-public void addError(String msgId)
-{
- addError(getBaseName(), msgId, null);
-}
-/**
- * <p>Create am <em>error</em> message and route it to the
- * cached reporter. This form of <code>addError</code> is
- * for messages which require no arguments.</p>
- *
- * @param msgId The ID of the message to be created.
- */
-
-public void addError(String msgId, String[] msgArgs)
-{
- addError(getBaseName(), msgId, msgArgs);
-}
-/**
- * <p>Create am <em>error</em> message and route it to the
- * cached reporter. This form of <code>addError</code> is
- * for messages which require no arguments.</p>
- *
- * @param msgCategory The base name of the message bundle to use.
- * @param msgId The ID of the message to be created.
- */
-
-public void addError(String msgCategory, String msgId)
-{
- addError(msgCategory, msgId, null);
-}
-/**
- * <p>Create an <em>error</em> message and route it to
- * the cached reporter. This form of <code>addError</code>
- * is for messages which require one or more arguments.</p>
- *
- * @param msgCategory The base name of the message bundle to use.
- * @param msgId The ID of the message to be created.
- * @param msgArgs The parameters for the message.
- */
-
-public void addError(String bundleName, String msgId, String[] msgArgs)
-{
- this.addError(bundleName, msgId, msgArgs, null);
-}
-/**
- * <p>Create an <em>error</em> message and route it to
- * the cached reporter. This form of <code>addError</code>
- * is for messages which require one or more arguments.</p>
- *
- * @param msgCategory The base name of the message bundle to use.
- * @param msgId The ID of the message to be created.
- * @param msgArgs The parameters for the message.
- */
-
-public void addError(String bundleName, String msgId, String[] msgArgs, Object target)
-{
- _reporter.addMessage( this,
- new Message(
- bundleName,
- IMessage.HIGH_SEVERITY,
- msgId,
- msgArgs,
- target));
-}
-public void addError(String bundleName, String msgId, String[] msgArgs, Object target, String groupName) {
- IMessage message = new Message(
- bundleName,
- IMessage.HIGH_SEVERITY,
- msgId,
- msgArgs,
- target);
- message.setGroupName(groupName);
- _reporter.addMessage(this, message);
-}
-public void addError(String bundleName, String msgId, String[] msgArgs, Object target, String groupName, int lineNumber)
-{
- IMessage message = new Message(
- bundleName,
- IMessage.HIGH_SEVERITY,
- msgId,
- msgArgs,
- target);
- message.setLineNo(lineNumber);
- message.setGroupName(groupName);
-
- _reporter.addMessage( this, message);
-
-}
-/**
- * <p>Create an <em>informational</em> message and route it
- * to the cached reporter. This form of <code>addError</code>
- * is for messages which require no arguments.</p>
- *
- * @param msgId The ID of the message to be created.
- */
-
-public void addInfo(String msgId)
-{
- addInfo(getBaseName(), msgId, null);
-}
-/**
- * <p>Create an <em>informational</em> message and route it
- * to the cached reporter. This form of <code>addError</code>
- * is for messages which require no arguments.</p>
- *
- * @param msgId The ID of the message to be created.
- * @param msgArgs The parameters for the message.
- */
-
-public void addInfo(String msgId, String[] msgArgs)
-{
- addInfo(getBaseName(), msgId, msgArgs);
-}
-/**
- * <p>Create an <em>informational</em> message and route it
- * to the cached reporter. This form of <code>addError</code>
- * is for messages which require no arguments.</p>
- *
- * @param msgCategory The base name of the message bundle to use.
- * @param msgId The ID of the message to be created.
- */
-
-public void addInfo(String msgCategory, String msgId)
-{
- addInfo(msgCategory, msgId, null);
-}
-/**
- * <p>Create an <em>informational</em> message and route
- * it to the cached reporter. This form of <code>addError</code>
- * is for messages which require one or more arguments.</p>
- *
- * @param msgCategory The base name of the message bundle to use.
- * @param msgId The ID of the message to be created.
- * @param msgArgs The parameters for the message.
- */
-
-public void addInfo(String bundleName, String msgId, String[] msgArgs)
-{
- addInfo(bundleName, msgId, msgArgs, null);
-}
-/**
- * <p>Create an <em>informational</em> message and route
- * it to the cached reporter. This form of <code>addError</code>
- * is for messages which require one or more arguments.</p>
- *
- * @param msgCategory The base name of the message bundle to use.
- * @param msgId The ID of the message to be created.
- * @param msgArgs The parameters for the message.
- */
-
-public void addInfo(String bundleName, String msgId, String[] msgArgs, Object target)
-{
- _reporter.addMessage( this,
- new Message(
- bundleName,
- IMessage.LOW_SEVERITY,
- msgId,
- msgArgs,
- target));
-}
-/**
- * <p>Create a <em>warning</em> message and route it to the
- * cached reporter. This form of <code>addError</code> is
- * for messages which require no arguments.</p>
- *
- * @param msgId The ID of the message to be created.
- */
-
-public void addWarning(String msgId)
-{
- addWarning(getBaseName(), msgId, null);
-}
-/**
- * <p>Create a <em>warning</em> message and route it to the
- * cached reporter. This form of <code>addError</code> is
- * for messages which require no arguments.</p>
- *
- * @param msgId The ID of the message to be created.
- * @param msgArgs The parameters for the message.
- */
-
-public void addWarning(String msgId, String[] msgArgs)
-{
- addWarning(getBaseName(), msgId, msgArgs);
-}
-/**
- * <p>Create a <em>warning</em> message and route it to the
- * cached reporter. This form of <code>addError</code> is
- * for messages which require no arguments.</p>
- *
- * @param msgCategory The base name of the message bundle to use.
- * @param msgId The ID of the message to be created.
- */
-
-public void addWarning(String msgCategory, String msgId)
-{
- addWarning(msgCategory, msgId, null);
-}
-/**
- * <p>Create a <em>warning</em> message and route it to
- * the cached reporter. This form of <code>addError</code>
- * is for messages which require one or more arguments.</p>
- *
- * @param msgCategory The base name of the message bundle to use.
- * @param msgId The ID of the message to be created.
- * @param msgArgs The parameters for the message.
- */
-
-public void addWarning(String bundleName, String msgId, String[] msgArgs)
-{
- addWarning(bundleName, msgId, msgArgs, null);
-}
-/**
- * <p>Create a <em>warning</em> message and route it to
- * the cached reporter. This form of <code>addError</code>
- * is for messages which require one or more arguments.</p>
- *
- * @param msgCategory The base name of the message bundle to use.
- * @param msgId The ID of the message to be created.
- * @param msgArgs The parameters for the message.
- */
-
-public void addWarning(String bundleName, String msgId, String[] msgArgs, Object target)
-{
- _reporter.addMessage( this,
- new Message(
- bundleName,
- IMessage.NORMAL_SEVERITY,
- msgId,
- msgArgs,
- target));
-}
-public void addWarning(String bundleName, String msgId, String[] msgArgs, Object target, String groupName)
-{
- IMessage message = new Message(
- bundleName,
- IMessage.NORMAL_SEVERITY,
- msgId,
- msgArgs,
- target);
- message.setGroupName(groupName);
- _reporter.addMessage(this, message);
-}
-/**
- * Perform any resource cleanup once validation is complete.
- */
-public void cleanup() {
- //Default
-}
-/**
- * Perform any resource cleanup once validation is complete. If cleanup will
- * take some time, the IValidator should report subtask information to the
- * user through the IReporter parameter. The AReporter parameter will not be
- * null.
- * @deprecated Use cleanup()
- */
-public void cleanup(IReporter reporter) {
- //Default
-}
-/**
- * Returns the name of the Validator, as it should be displayed in the UI.
- * The ValidationBuilder uses this string as input to the IProgressMonitor.
- * i.e., At some point during the validation process, the Validation Builder
- * will output this string: "{0} is validating {1}.", where {0} is the string
- * that this method returns, and {1} is the name of the current resource.
- */
-public String[] get1Param(String string1){
- String[] parms = new String[1];
- parms[0] = string1;
- return parms;
- }
-/**
- * Returns the name of the Validator, as it should be displayed in the UI.
- * The ValidationBuilder uses this string as input to the IProgressMonitor.
- * i.e., At some point during the validation process, the Validation Builder
- * will output this string: "{0} is validating {1}.", where {0} is the string
- * that this method returns, and {1} is the name of the current resource.
- */
-public String[] get2Param(String string1,String string2){
- String[] parms = new String[2];
- parms[0] = string1;
- parms[1] = string2;
- return parms;
- }
-/**
- * Returns the name of the Validator, as it should be displayed in the UI.
- * The ValidationBuilder uses this string as input to the IProgressMonitor.
- * i.e., At some point during the validation process, the Validation Builder
- * will output this string: "{0} is validating {1}.", where {0} is the string
- * that this method returns, and {1} is the name of the current resource.
- */
-public String[] get3Param(String string1,String string2,String string3){
- String[] parms = new String[2];
- parms[0] = string1;
- parms[1] = string2;
- parms[2] = string3;
- return parms;
- }
-/**
- * <p>Answer the id of the resource bundle which is
- * used by the receiver.</p>
- */
-
-public abstract String getBaseName();
-/**
- * Returns a localized message from a resource bundle.
- * @param msgCategory The baseName of the resource bundle (filename minus any locale suffix)
- * @param msgId The key of the message to lookup from the bundle.
- * @param msgArgs An array of arguments that will be substituted into any message arguments in the message's value.
- * @param locale The locale to retrieve the message text from.
- */
-public String getMessage(String msgCategory, String msgId, String[] msgArgs, Locale locale) {
- return J2EEValidationResourceHandler.getExternalizedMessage(msgCategory, msgId, getClass(), msgArgs, locale);
-}
-/**
- * Returns a localized message from a resource bundle.
- * @param msgCategory The baseName of the resource bundle (filename minus any locale suffix)
- * @param msgId The key of the message to lookup from the bundle.
- * @param locale The locale to retrieve the message text from.
- */
-public String getMessage(String msgCategory, String msgId, Locale locale) {
- return J2EEValidationResourceHandler.getExternalizedMessage(msgCategory, msgId, getClass(), locale);
-}
- /**
- * Returns the name of the Validator, as it should be displayed
- * in the UI. The ValidationBuilder uses this string as input to
- * the IProgressMonitor. i.e., At some point during the validation
- * process, the Validation Builder will output this string:
- * "{0} is validating {1}.",
- * where
- * {0} is the string that this method returns,
- * and
- * {1} is the name of the current resource.
- */
- public String getName(){
- return getName(Locale.getDefault());
- }
-
-/**
- * <p>Returns the name of the Validator, as it should be displayed
- * in the UI. The ValidationBuilder uses this string as input to
- * the IProgressMonitor. i.e., At some point during the validation
- * process, the Validation Builder will output this string:</p>
- * <pre>
- * "{0} is validating {1}.",
- * </pre>
- * <p>where</p>
- * <pre>
- * {0} is the string that this method returns,
- * </pre>
- * <p>and</p>
- * <pre>
- * {1} is the name of the current resource.
- * </pre>
- *
- * @param locale The locale from which to retrieve the name text.
- */
-
-public String getName(Locale locale)
-{
- return getMessage(getBaseName(), VALIDATOR_NAME, locale);
-}
-/**
- * Returns the name of the Validator, as it should be displayed in the UI.
- * The ValidationBuilder uses this string as input to the IProgressMonitor.
- * i.e., At some point during the validation process, the Validation Builder
- * will output this string: "{0} is validating {1}.", where {0} is the string
- * that this method returns, and {1} is the name of the current resource.
- */
-public String[] getParam1(String string1){
- String[] parms = new String[1];
- parms[0] = string1;
- return parms;
- }
- protected void initialize(){
- //Default
- }
-/**
- * This is the method which performs the validation on the MOF model.
- * <br><br>
- * <code>helper</code> and <code>reporter</code> may not be null. <code>changedFiles</code> may be null, if a full
- * build is desired.
- * <br><br>
- * <code>helper</code> loads a EObject. The EObject is the root of the
- * MOF model about to be validated. When this object is traversed,
- * you can reach every element in the MOF model which needs to be validated.
- * <br><br>
- * <code>reporter</code> is an instance of an IReporter interface, which is used for interaction with the user.
- * <br><br>
- * <code>changedFiles</code> is an array of file names which have changed since the last validation.
- * If <code>changedFiles</code> is null, or if it is an empty array, then a full build
- * is performed. Otherwise, validation on just the files listed in the Vector is performed.
- */
-public void validate(IValidationContext inHelper, IReporter inReporter) throws ValidationException {
-
- _helper = inHelper;
- _reporter = inReporter;
- if ((inHelper == null) || (inReporter == null)) {
- return;
- }
-}
-/**
- * Validate EJB references.
- */
-public void validateEJBRefManadatoryElements(EjbRef eref, String ownerName) {
- String[] parms = new String[2];
- parms[0] = eref.getName();
- parms[1] = ownerName;
-
- if ((eref.getName() == null) || (eref.getName().trim().length() == 0))
- addWarning(EREF_CATEGORY, ERROR_EAR_MISSING_EREFNAME, parms, eref);
- if (eref.isSetType()) {
- if (eref.getType() == null)
- addWarning(EREF_CATEGORY, ERROR_EAR_INVALID_EREFTYPE, parms);
- } else
- addWarning(EREF_CATEGORY, ERROR_EAR_MISSING_EREFTYPE, parms);
-
- String refHome = eref.getHome();
- if ((refHome == null) || (refHome.trim().length() == 0))
- addWarning(EREF_CATEGORY, ERROR_EAR_MISSING_EREFHOME, parms, eref);
-
- if ((eref.getRemote() == null) || (eref.getRemote().trim().length() == 0))
- addWarning(EREF_CATEGORY, ERROR_EAR_MISSING_EREFREMOTE, parms, eref);
-}
-/**
- * Validate for duplicates in EAR Roles.
- */
-public void validateResourceRefs(List resourceRefs) {
-
- int numRefs = resourceRefs.size();
- Set refSet = new HashSet(numRefs);
-
- for (int refNo = 0; refNo < numRefs; refNo++) {
- String refName = ((ResourceRefImpl) (resourceRefs.get(refNo))).getName();
- String[] parms = new String[1];
- parms[0] = refName;
- if (!(refSet.add(refName)))
- addError(EREF_CATEGORY, ERROR_EAR_DUPLICATE_RESREF, parms, resourceRefs.get(refNo));
- }
-}
-/**
- * Validate the existance of Web Roles within the EAR Roles and
- * duplicates in Web Roles.
- */
-public void validateWEBRolesWithEARRoles(EList earRoleList, EList warRoles) {
- int numRoles = warRoles.size();
-
- // TFB This implementation requires a 'small' list of warRoles.
- // If 'warRoles' gets too big then another implementation
- // will be necessary.
-
- for (int roleNo = 0; roleNo < numRoles; roleNo++) {
- SecurityRoleImpl nextRole = (SecurityRoleImpl) (warRoles.get(roleNo));
- String[] parms = new String[1];
- parms[0] = nextRole.getRoleName();
- if (!(earRoleList.contains(nextRole)))
- addWarning(WAR_CATEGORY, ERROR_EAR_MISSING_EJB_ROLE, parms, nextRole);
- }
-}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/MessageDrivenBeanClassVRule.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/MessageDrivenBeanClassVRule.java
deleted file mode 100644
index 7c154c0f1..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/MessageDrivenBeanClassVRule.java
+++ /dev/null
@@ -1,291 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaHelpers;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.jst.j2ee.ejb.MessageDriven;
-import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-
-/**
- * @version 1.0
- * @author
- */
-public final class MessageDrivenBeanClassVRule extends ABeanClassVRule implements IEJBType, IMessagePrefixEjb20Constants {
- private static final Object ID = IValidationRuleList.EJB20_MESSAGE_BEANCLASS;
- private static final Object[] DEPENDS_ON = null;
- private static final Map MESSAGE_IDS;
-
- private static final String MSSGID = ".mb"; // In messages, to identify which message version belongs to the BMP bean class, this id is used. //$NON-NLS-1$
- private static final String EXT = MSSGID + SPEC; // Extension to be used on non-method, non-field messages
- private static final String BEXT = MSSGID + ON_BASE_SPEC; // Extension to be used on a method/field message when the method/field is inherited from a base type
- private static final String MEXT = MSSGID + ON_THIS_SPEC; // Extension to be used on a method/field message when the method/field is implemented on the current type
-
- private final long[] SUPERTYPES = new long[]{JAVAX_EJB_MESSAGEDRIVENBEAN, JAVAX_JMS_MESSAGELISTENER};
- private final long[] SHOULD_NOT_BE_SUPERTYPES = null;
-
- private final boolean SHOULD_VALIDATE_TRANSIENT_FIELD = false;
- private final boolean SHOULD_BE_ABSTRACT = false;
- private final int IS_REMOTE = NEITHER;
-
- private final boolean SHOULD_BE_FINAL = false;
- private final boolean SHOULD_BE_PUBLIC = true;
-
- private final long[] METHODS_WHICH_MUST_EXIST = new long[]{ONMESSAGE, CONSTRUCTOR_NOPARM, EJBCREATE_NOPARM, EJBREMOVE_NOPARM};
- private final long[] METHODS_WHICH_MUST_NOT_EXIST = new long[]{FINALIZE_NOPARM};
- private final long[] KNOWN_METHOD_TYPES = new long[]{CLINIT, ONMESSAGE, CONSTRUCTOR_NOPARM, CONSTRUCTOR, EJBCREATE_NOPARM, EJBCREATE, EJBREMOVE_NOPARM, FINALIZE_NOPARM};
-
- static {
- MESSAGE_IDS = new HashMap();
-
- MESSAGE_IDS.put(CHKJ2050_constr, new String[]{CHKJ2050_constr+EXT});
- MESSAGE_IDS.put(CHKJ2050_onMessage, new String[]{CHKJ2050_onMessage+EXT});
- MESSAGE_IDS.put(CHKJ2050_ejbCreate, new String[]{CHKJ2050_ejbCreate+EXT});
- MESSAGE_IDS.put(CHKJ2050_setEntityContext, new String[]{CHKJ2050_setEntityContext+EXT});
- MESSAGE_IDS.put(CHKJ2050_unsetEntityContext, new String[]{CHKJ2050_unsetEntityContext+EXT});
- MESSAGE_IDS.put(CHKJ2050_ejbActivate, new String[]{CHKJ2050_ejbActivate+EXT});
- MESSAGE_IDS.put(CHKJ2050_ejbPassivate, new String[]{CHKJ2050_ejbPassivate+EXT});
- MESSAGE_IDS.put(CHKJ2050_ejbRemove, new String[]{CHKJ2050_ejbRemove+EXT});
- MESSAGE_IDS.put(CHKJ2050_ejbLoad, new String[]{CHKJ2050_ejbLoad+EXT});
- MESSAGE_IDS.put(CHKJ2050_ejbStore, new String[]{CHKJ2050_ejbStore+EXT});
- MESSAGE_IDS.put(CHKJ2017, new String[]{CHKJ2017+EXT});
- MESSAGE_IDS.put(CHKJ2040, new String[]{CHKJ2040+EXT});
- MESSAGE_IDS.put(CHKJ2404, new String[]{CHKJ2404+ON_BASE_SPEC, CHKJ2404+ON_THIS_SPEC}); // special case (shared by all types)
- MESSAGE_IDS.put(CHKJ2416, new String[]{CHKJ2416+ON_BASE_SPEC, CHKJ2416+ON_THIS_SPEC}); // special case (shared by all types)
- MESSAGE_IDS.put(CHKJ2014, new String[]{CHKJ2014+EXT});
- MESSAGE_IDS.put(CHKJ2022, new String[]{CHKJ2022+EXT});
- MESSAGE_IDS.put(CHKJ2015, new String[]{CHKJ2015+EXT});
-
- MESSAGE_IDS.put(CHKJ2103, new String[]{CHKJ2103+SPEC});
- MESSAGE_IDS.put(CHKJ2421, new String[]{CHKJ2421+BEXT, CHKJ2421+MEXT});
- MESSAGE_IDS.put(CHKJ2422, new String[]{CHKJ2422+BEXT, CHKJ2422+MEXT});
- MESSAGE_IDS.put(CHKJ2423, new String[]{CHKJ2423+BEXT, CHKJ2423+MEXT});
- MESSAGE_IDS.put(CHKJ2424, new String[]{CHKJ2424+BEXT, CHKJ2424+MEXT});
- MESSAGE_IDS.put(CHKJ2426, new String[]{CHKJ2426+BEXT, CHKJ2426+MEXT});
-
- MESSAGE_IDS.put(CHKJ2427, new String[]{CHKJ2427+BEXT, CHKJ2427+MEXT});
- MESSAGE_IDS.put(CHKJ2428, new String[]{CHKJ2428+BEXT, CHKJ2428+MEXT});
- MESSAGE_IDS.put(CHKJ2431, new String[]{CHKJ2431+BEXT, CHKJ2431+MEXT});
- MESSAGE_IDS.put(CHKJ2439, new String[]{CHKJ2439+BEXT, CHKJ2439+MEXT});
-
- MESSAGE_IDS.put(CHKJ2445, new String[]{CHKJ2445+BEXT, CHKJ2445+MEXT});
- MESSAGE_IDS.put(CHKJ2446, new String[]{CHKJ2446+BEXT, CHKJ2446+MEXT});
- MESSAGE_IDS.put(CHKJ2447, new String[]{CHKJ2447+BEXT, CHKJ2447+MEXT});
- MESSAGE_IDS.put(CHKJ2501_ejbCreate, new String[]{CHKJ2501_ejbCreate+BEXT, CHKJ2501_ejbCreate+MEXT});
- MESSAGE_IDS.put(CHKJ2501_ejbRemove, new String[]{CHKJ2501_ejbRemove+BEXT, CHKJ2501_ejbRemove+MEXT});
- MESSAGE_IDS.put(CHKJ2501_onMessage, new String[]{CHKJ2501_onMessage+BEXT, CHKJ2501_onMessage+MEXT});
-
- MESSAGE_IDS.put(CHKJ2492, new String[]{CHKJ2492+BEXT, CHKJ2492+MEXT});
- MESSAGE_IDS.put(CHKJ2493, new String[]{CHKJ2493+BEXT, CHKJ2493+MEXT});
- MESSAGE_IDS.put(CHKJ2494, new String[]{CHKJ2494+BEXT, CHKJ2494+MEXT});
-
- MESSAGE_IDS.put(CHKJ2502_finalize, new String[]{CHKJ2502_finalize+BEXT, CHKJ2502_finalize+MEXT});
-
- MESSAGE_IDS.put(CHKJ2503_onMessage, new String[]{CHKJ2503_onMessage+BEXT, CHKJ2503_onMessage+MEXT});
-
- MESSAGE_IDS.put(CHKJ2505_ejbRemove, new String[]{CHKJ2505_ejbRemove+BEXT, CHKJ2505_ejbRemove+MEXT});
- MESSAGE_IDS.put(CHKJ2505_onMessage, new String[]{CHKJ2505_onMessage+BEXT, CHKJ2505_onMessage+MEXT});
-
- MESSAGE_IDS.put(CHKJ2433, new String[]{CHKJ2433});
- MESSAGE_IDS.put(CHKJ2907, new String[]{CHKJ2907});
- }
-
- public final Map getMessageIds() {
- return MESSAGE_IDS;
- }
-
- public final int getMessageRemoteExceptionSeverity() {
- return MESSAGE_REMOTE_EXCEPTION_SEVERITY;
- }
-
- public final Object[] getDependsOn() {
- return DEPENDS_ON;
- }
-
- public final Object getId() {
- return ID;
- }
-
- public final boolean shouldValidateTransientField() {
- return SHOULD_VALIDATE_TRANSIENT_FIELD;
- }
-
- public final long[] getSupertypes() {
- return SUPERTYPES;
- }
-
- public final long[] getShouldNotBeSupertypes() {
- return SHOULD_NOT_BE_SUPERTYPES;
- }
-
- public final boolean followEjbCreateReturnTypeRules(EnterpriseBean bean, Method method) {
- return method.isVoid();
- }
-
- public final boolean shouldBeAbstract(JavaClass clazz) {
- return SHOULD_BE_ABSTRACT;
- }
-
- public final boolean shouldBeFinal(JavaClass clazz) {
- return SHOULD_BE_FINAL;
- }
-
- public final boolean shouldBePublic(JavaClass clazz) {
- return SHOULD_BE_PUBLIC;
- }
-
- public final int isRemote() {
- return IS_REMOTE;
- }
-
- public final long[] getMethodsWhichMustExist() {
- return METHODS_WHICH_MUST_EXIST;
- }
-
- public final long[] getMethodsWhichMustNotExist() {
- return METHODS_WHICH_MUST_NOT_EXIST;
- }
-
- public final JavaHelpers getEjbCreateReturnType(EnterpriseBean bean, Method method) throws InvalidInputException {
- return ValidationRuleUtility.getType(ITypeConstants.VOID, bean);
- }
-
- public final String getEjbCreateReturnTypeName(EnterpriseBean bean, Method method) throws InvalidInputException {
- return ITypeConstants.VOID;
- }
-
- public final long[] getKnownMethodTypes() {
- return KNOWN_METHOD_TYPES;
- }
-
- public final void validate(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) throws ValidationCancelledException, InvalidInputException, ValidationException {
- long methodType = MethodUtility.getUtility().getMethodTypeId(bean, clazz, method, methodsExtendedLists, this);
-
- if((methodType & ONMESSAGE) == ONMESSAGE) {
- validateOnMessageMethod(vc, bean, clazz, method);
- }
- else if((methodType & EJBCREATE) == EJBCREATE) {
- validateEjbCreateMethod(vc, bean, clazz, method, methodsExtendedLists);
- }
- else if((methodType & EJBREMOVE_NOPARM) == EJBREMOVE_NOPARM) {
- validateEjbRemoveMethod(vc, bean, clazz, method);
- }
- else {
- // Method isn't supposed to be here. Let the validateMethodsWhichMustNotExist
- // take care of it.
- }
- }
-
- public String getMatchingHomeMethodName(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) {
- return getNoMatchingMethodName(vc, method);
- }
-
- public void validateEjbCreateMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) throws ValidationCancelledException, InvalidInputException, ValidationException {
- super.validateEjbCreateMethod(vc, bean, clazz, method, methodsExtendedLists);
-
- if(ValidationRuleUtility.throwsApplicationException(method, bean)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2501_ejbCreate, IEJBValidationContext.INFO, bean, clazz, method, this);
- vc.addMessage(message);
- }
- }
-
- public void validateEjbRemoveMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws ValidationCancelledException, InvalidInputException, ValidationException {
- super.validateEjbRemoveMethod(vc, bean, clazz, method);
-
- if(ValidationRuleUtility.throwsApplicationException(method, bean)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2501_ejbRemove, IEJBValidationContext.INFO, bean, clazz, method, this);
- vc.addMessage(message);
- }
- }
-
- public boolean validateEjbCreateMethodExceptions() {
- // Don't check for CreateException
- return false;
- }
-
- /**
- * @param vc
- * @param bean
- * @param clazz
- * @throws InvalidInputException
- */
- protected void validateShouldBeSuperTypes(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws InvalidInputException {
- if((bean.getVersionID() == J2EEVersionConstants.EJB_2_0_ID) || (bean.getVersionID() == J2EEVersionConstants.EJB_2_1_ID)){
- JavaClass jclass = ((MessageDriven)bean).getMessagingType();
- if( jclass != null ){
- if (jclass.getQualifiedName().equals(ITypeConstants.CLASSNAME_JAVAX_JMS_MESSAGELISTENER)){
- super.validateShouldBeSuperTypes(vc,bean,clazz);
- }
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.j2ee.internal.model.validation.ejb.ejb20rules.impl.ATypeVRule#validateMethodsWhichMustExist(org.eclipse.jst.j2ee.internal.model.validation.IValidationContext, org.eclipse.jst.j2ee.internal.ejb.EnterpriseBean, org.eclipse.jem.java.JavaClass)
- */
- public void validateMethodsWhichMustExist(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws InvalidInputException,
- ValidationCancelledException, ValidationException {
- if((bean.getVersionID() == J2EEVersionConstants.EJB_2_0_ID) || (bean.getVersionID() == J2EEVersionConstants.EJB_2_1_ID)){
- JavaClass jclass = ((MessageDriven)bean).getMessagingType();
- if( jclass != null ){
- if (jclass.getQualifiedName().equals(ITypeConstants.CLASSNAME_JAVAX_JMS_MESSAGELISTENER)){
- super.validateMethodsWhichMustExist(vc, bean, clazz);
- }
- }
- }
-
- }
- public void validateOnMessageMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws ValidationCancelledException, InvalidInputException, ValidationException {
- // IWAD4396 = This method must be public. Read section 15.7.4 of the EJB 2.0 specification.
- if(!ValidationRuleUtility.isPublic(method)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2445, IEJBValidationContext.WARNING, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- // IWAD4397 = This method must not be final. Read section 15.7.4 of the EJB 2.0 specification.
- if(method.isFinal()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2446, IEJBValidationContext.WARNING, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- // IWAD4398 = This method must not be static. Read section 15.7.4 of the EJB 2.0 specification.
- if(method.isStatic()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2447, IEJBValidationContext.WARNING, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- // IWAD4399 = This method must return void. Read section 15.7.4 of the EJB 2.0 specification.
- // IWAD4400 = This method must not throw application exceptions. Read section 15.7.4 of the EJB 2.0 specification.
- if(!method.isVoid()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2505_onMessage, IEJBValidationContext.WARNING, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- if(ValidationRuleUtility.throwsApplicationException(method, bean)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2501_onMessage, IEJBValidationContext.INFO, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- if(!followRemoteExceptionRules(bean, method)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2503_onMessage, IEJBValidationContext.WARNING, bean, clazz, method, this);
- vc.addMessage(message);
- }
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/MessageUtility.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/MessageUtility.java
deleted file mode 100644
index 70cbf9106..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/MessageUtility.java
+++ /dev/null
@@ -1,358 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import java.util.Map;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.xmi.XMIResource;
-import org.eclipse.jem.java.Field;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jst.j2ee.common.SecurityRole;
-import org.eclipse.jst.j2ee.common.SecurityRoleRef;
-import org.eclipse.jst.j2ee.ejb.AssemblyDescriptor;
-import org.eclipse.jst.j2ee.ejb.CommonRelationshipRole;
-import org.eclipse.jst.j2ee.ejb.EJBJar;
-import org.eclipse.jst.j2ee.ejb.EJBRelation;
-import org.eclipse.jst.j2ee.ejb.EJBRelationshipRole;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.jst.j2ee.ejb.MethodElement;
-import org.eclipse.jst.j2ee.ejb.MethodPermission;
-import org.eclipse.jst.j2ee.ejb.MethodTransaction;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-
-
-/**
- * @version 1.0
- * @author
- */
-public final class MessageUtility {
- public static final String NO_MESSAGE_ID = ""; //$NON-NLS-1$
-
- private static MessageUtility inst = null;
-
- private MessageUtility() {
- //Default
- }
-
- public static MessageUtility getUtility() {
- if(inst == null) {
- inst = new MessageUtility();
- }
- return inst;
- }
-
- public static String getGroupName(Object targetParent) {
- if(targetParent == null) {
- // No context to associate the message with
- return null;
- }
-
- // So far, the only target parent which is used as a group name is the EnterpriseBean
- if(targetParent instanceof EnterpriseBean) {
- EnterpriseBean bean = (EnterpriseBean)targetParent;
- if(bean == null) {
- return null;
- }
-
- if(bean.getName() != null) {
- return bean.getName();
- }
- return ((XMIResource)bean.eResource()).getID(bean);
- }
-
- return null;
- }
-
- protected String getMessageId(Object messageNumber, EnterpriseBean bean, IValidationRule rule) {
- if(messageNumber == null) {
- return NO_MESSAGE_ID;
- }
-
- Map ids = rule.getMessageIds();
- if((ids == null) || (ids.size() == 0)) {
- return messageNumber.toString();
- }
-
- int index = -1;
-
- String[] result = (String[])ids.get(messageNumber);
- if(result == null) {
- return messageNumber.toString();
- }
- else if(result.length == 1) {
- if(result[0].equals("")) { //$NON-NLS-1$
- return messageNumber.toString();
- }
- return result[0];
- }
- else {
- // By convention, this is the order of the entries in the String[]
- if(bean.isSession()) {
- index = 0;
- }
- else if(bean.isContainerManagedEntity()) {
- index = 1;
- }
- else if(bean.isBeanManagedEntity()) {
- index = 2;
- }
- else if(bean.isMessageDriven()) {
- index = 3;
- }
- else {
- // what the heck is it?
- return messageNumber.toString();
- }
-
- if((result.length <= index) || (result[index].equals(""))) { //$NON-NLS-1$
- return messageNumber.toString();
- }
-
- return result[index];
- }
- }
-
- /*
- * Use this method when the message is not registered on a method.
- */
- protected String getMessageId(Object messageNumber, IValidationRule rule) {
- if(messageNumber == null) {
- return NO_MESSAGE_ID;
- }
-
- Map ids = rule.getMessageIds();
- if((ids == null) || (ids.size() == 0)) {
- return messageNumber.toString();
- }
-
- String[] result = (String[])ids.get(messageNumber);
- if((result == null) || (result.length == 0) || (result[0].equals(""))) { //$NON-NLS-1$
- return messageNumber.toString();
- }
- return result[0];
- }
-
- /*
- * Use this method when the message is registered on a method.
- */
- protected String getMessageId(Object messageNumber, IValidationRule rule, boolean isMethodOnClass) {
- if(messageNumber == null) {
- return NO_MESSAGE_ID;
- }
-
- Map ids = rule.getMessageIds();
- if((ids == null) || (ids.size() == 0)) {
- return messageNumber.toString();
- }
-
- String[] messages = (String[])ids.get(messageNumber);
- String result = null;
- if(messages != null) {
- if(isMethodOnClass && messages.length == 2) {
- result = messages[1];
- }
- else if (messages.length >= 1) {
- result = messages[0];
- }
- }
-
- if((result == null) || (result.equals(""))) { //$NON-NLS-1$
- return messageNumber.toString();
- }
-
- return result;
- }
-
- protected IMessage getMessage(IEJBValidationContext vc, int severity, String id, String[] parms, Object target, String groupName) {
- IMessage message = vc.getMessage();
- message.setSeverity(severity);
- message.setId(id);
- message.setParams(parms);
- message.setTargetObject(target);
- message.setGroupName(groupName);
- return message;
- }
-
- /**
- * For use only by the DD VRules.
- */
- public IMessage getMessage(IEJBValidationContext vc, Object messageNumber, int severity, EJBJar target, IValidationRule rule) {
- String id = getMessageId(messageNumber, rule);
- return getMessage(vc, severity, id, null, target, null);
- }
-
- public IMessage getMessage(IEJBValidationContext vc, Object messageNumber, int severity, SecurityRole target, IValidationRule rule) {
- String id = getMessageId(messageNumber, rule);
- return getMessage(vc, severity, id, null, target, null);
- }
-
- public IMessage getMessage(IEJBValidationContext vc, Object messageNumber, int severity, SecurityRoleRef target, IValidationRule rule) {
- String id = getMessageId(messageNumber, rule);
- return getMessage(vc, severity, id, null, target, null);
- }
-
- public IMessage getMessage(IEJBValidationContext vc, Object messageNumber, int severity, MethodElement target, IValidationRule rule) {
- String id = getMessageId(messageNumber, rule);
- return getMessage(vc, severity, id, null, target, null);
- }
-
- public IMessage getMessage(IEJBValidationContext vc, Object messageNumber, int severity, MethodTransaction target, IValidationRule rule) {
- String id = getMessageId(messageNumber, rule);
- return getMessage(vc, severity, id, null, target, null);
- }
-
- public IMessage getMessage(IEJBValidationContext vc, Object messageNumber, int severity, MethodPermission target, IValidationRule rule) {
- String id = getMessageId(messageNumber, rule);
- return getMessage(vc, severity, id, null, target, null);
- }
-
- public IMessage getMessage(IEJBValidationContext vc, Object messageNumber, int severity, EJBRelationshipRole target, IValidationRule rule) {
- String id = getMessageId(messageNumber, rule);
- return getMessage(vc, severity, id, null, target, null);
- }
-
- public IMessage getMessage(IEJBValidationContext vc, Object messageNumber, int severity, CommonRelationshipRole target, IValidationRule rule) {
- String id = getMessageId(messageNumber, rule);
- return getMessage(vc, severity, id, null, target, null);
- }
-
- public IMessage getMessage(IEJBValidationContext vc, Object messageNumber, int severity, EJBRelation target, IValidationRule rule) {
- String id = getMessageId(messageNumber, rule);
- return getMessage(vc, severity, id, null, target, null);
- }
-
- public IMessage getMessage(IEJBValidationContext vc, Object messageNumber, int severity, AssemblyDescriptor target, IValidationRule rule) {
- String id = getMessageId(messageNumber, rule);
- return getMessage(vc, severity, id, null, target, null);
- }
-
- /**
- * For use only by the DD VRules.
- */
- public IMessage getMessage(IEJBValidationContext vc, Object messageNumber, int severity, EJBJar target, String[] parms, IValidationRule rule) {
- String id = getMessageId(messageNumber, rule);
- return getMessage(vc, severity, id, parms, target, null);
- }
-
- public IMessage getMessage(IEJBValidationContext vc, Object messageNumber, int severity, MethodElement target, String[] parms, IValidationRule rule) {
- String id = getMessageId(messageNumber, rule);
- return getMessage(vc, severity, id, parms, target, null);
- }
-
- public IMessage getMessage(IEJBValidationContext vc, Object messageNumber, int severity, EJBRelationshipRole target, String[] parms, IValidationRule rule) {
- String id = getMessageId(messageNumber, rule);
- return getMessage(vc, severity, id, parms, target, null);
- }
-
- public IMessage getMessage(IEJBValidationContext vc, Object messageNumber, int severity, SecurityRoleRef target, String[] parms, IValidationRule rule) {
- String id = getMessageId(messageNumber, rule);
- return getMessage(vc, severity, id, parms, target, null);
- }
-
- public IMessage getMessage(IEJBValidationContext vc, Object messageNumber, int severity, EJBRelation target, String[] parms, IValidationRule rule) {
- String id = getMessageId(messageNumber, rule);
- return getMessage(vc, severity, id, parms, target, null);
- }
-
- public IMessage getMessage(IEJBValidationContext vc, Object messageNumber, int severity, EnterpriseBean bean, Object target, IValidationRule rule) {
- String id = getMessageId(messageNumber, rule);
- return getMessage(vc, severity, id, null, target, getGroupName(bean));
- }
-
- public IMessage getMessage(IEJBValidationContext vc, Object messageNumber, int severity, EnterpriseBean bean, Object target, String[] parms, IValidationRule rule) {
- String id = getMessageId(messageNumber, rule);
- return getMessage(vc, severity, id, parms, target, getGroupName(bean));
- }
-
- public IMessage getMessage(IEJBValidationContext vc, Object messageNumber, int severity, EnterpriseBean bean, IValidationRule rule) {
- String id = getMessageId(messageNumber, bean, rule);
- return getMessage(vc, severity, id, null, bean, getGroupName(bean));
- }
-
- public IMessage getMessage(IEJBValidationContext vc, Object messageNumber, int severity, EnterpriseBean bean, String[] parms, IValidationRule rule) {
- String id = getMessageId(messageNumber, bean, rule);
- return getMessage(vc, severity, id, parms, bean, getGroupName(bean));
- }
-
- public IMessage getMessage(IEJBValidationContext vc, Object messageNumber, int severity, EnterpriseBean bean, JavaClass clazz, IValidationRule rule) {
- String id = getMessageId(messageNumber, rule);
- return getMessage(vc, severity, id, null, clazz, getGroupName(bean));
- }
-
- public IMessage getMessage(IEJBValidationContext vc, Object messageNumber, int severity, EnterpriseBean bean, JavaClass clazz, String[] additionalParms, IValidationRule rule) {
- String id = getMessageId(messageNumber, rule);
- return getMessage(vc, severity, id, additionalParms, clazz, getGroupName(bean));
- }
-
- public IMessage getMessage(IEJBValidationContext vc, Object messageNumber, int severity, EnterpriseBean bean, JavaClass clazz, Method method, IValidationRule rule) {
- if(method == null) {
- return getMessage(vc, messageNumber, severity, bean, clazz, rule);
- }
-
- return getMessage(vc, messageNumber, severity, null, clazz, method, method.getMethodElementSignature(), ValidationRuleUtility.onClass(clazz, method), getGroupName(bean), rule);
- }
-
- public IMessage getMessage(IEJBValidationContext vc, Object messageNumber, int severity, EnterpriseBean bean, JavaClass clazz, Method method, String[] additionalParms, IValidationRule rule) {
- if(method == null) {
- return getMessage(vc, messageNumber, severity, bean, clazz, additionalParms, rule);
- }
-
- return getMessage(vc, messageNumber, severity, additionalParms, clazz, method, method.getMethodElementSignature(), ValidationRuleUtility.onClass(clazz, method), getGroupName(bean), rule);
- }
-
- public IMessage getMessage(IEJBValidationContext vc, Object messageNumber, int severity, EnterpriseBean bean, JavaClass clazz, Field field, IValidationRule rule) {
- if(field == null) {
- return getMessage(vc, messageNumber, severity, bean, clazz, rule);
- }
-
- return getMessage(vc, messageNumber, severity, null, clazz, field, field.getName(), ValidationRuleUtility.onClass(clazz, field), getGroupName(bean), rule);
- }
-
- public IMessage getMessage(IEJBValidationContext vc, Object messageNumber, int severity, EnterpriseBean bean, JavaClass clazz, Field field, String[] additionalParms, IValidationRule rule) {
- if(field == null) {
- return getMessage(vc, messageNumber, severity, bean, clazz, additionalParms, rule);
- }
-
- return getMessage(vc, messageNumber, severity, additionalParms, clazz, field, field.getName(), ValidationRuleUtility.onClass(clazz, field), getGroupName(bean), rule);
- }
-
- protected IMessage getMessage(IEJBValidationContext vc, Object messageNumber, int severity, String[] additionalParms, JavaClass clazz, EObject fieldOrMethod, String fieldOrMethodName, boolean isMethodOnClass, String groupName, IValidationRule rule) {
- if(fieldOrMethod == null) {
- String id = getMessageId(messageNumber, rule);
- return getMessage(vc, severity, id, additionalParms, clazz, groupName);
- }
-
- String[] parms = null;
- EObject target = null;
- if(isMethodOnClass) {
- // leave parms null since no parms are needed
- target = fieldOrMethod;
- parms = additionalParms;
- }
- else {
- if(additionalParms == null) {
- parms = new String[]{fieldOrMethodName};
- }
- else {
- parms = new String[additionalParms.length + 1];
- parms[0] = fieldOrMethodName;
- System.arraycopy(additionalParms, 0, parms, 1, additionalParms.length);
- }
- target = clazz;
- }
-
- String id = getMessageId(messageNumber, rule, isMethodOnClass);
- return getMessage(vc, severity, id, parms, target, groupName);
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/MethodUtility.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/MethodUtility.java
deleted file mode 100644
index 85408bd36..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/MethodUtility.java
+++ /dev/null
@@ -1,2149 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.jem.java.Field;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaHelpers;
-import org.eclipse.jem.java.JavaParameter;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.jst.j2ee.ejb.Entity;
-
-
-public final class MethodUtility {
- private static MethodUtility _inst = null;
- private long[] _methodTypeIndex;
- private IMethodType[] _methodTypes;
- private long[] _fieldTypeIndex;
- private IFieldType[] _fieldTypes;
-
- private MethodUtility() {
- buildTypeList();
- }
-
- public static MethodUtility getUtility() {
- if(_inst == null) {
- _inst = new MethodUtility();
- }
- return _inst;
- }
-
- protected IMethodType[] getMethodTypes() {
- return _methodTypes;
- }
-
- public IFieldType getFieldType(long type) {
- int index = Arrays.binarySearch(_fieldTypeIndex, type);
- if(index > _fieldTypes.length) {
- return null;
- }
-
- if(index < 0) {
- return null;
- }
-
- if(_fieldTypes[index].getId() != type) {
- return null;
- }
-
- return _fieldTypes[index];
- }
-
- public IMethodType getMethodType(long type) {
- int index = Arrays.binarySearch(_methodTypeIndex, type);
- if(index > _methodTypes.length) {
- return null;
- }
-
- if(index < 0) {
- return null;
- }
-
- if(_methodTypes[index].getId() != type) {
- return null;
- }
-
- return _methodTypes[index];
- }
-
- public long getMethodTypeId(EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists, IEJBType rule) {
- IMethodType mType = getMethodType(bean, clazz, method, methodsExtendedLists, rule);
- if(mType == null) {
- return rule.getDefaultMethodType();
- }
-
- return mType.getId();
- }
-
- public long getFieldTypeId(EnterpriseBean bean, JavaClass clazz, Field field, IEJBType rule) {
- IFieldType mType = getFieldType(bean, clazz, field, rule);
- if(mType == null) {
- return IMethodAndFieldConstants.EXCLUDED_FIELD;
- }
-
- return mType.getId();
- }
-
- public IFieldType getFieldType(EnterpriseBean bean, JavaClass clazz, Field field, IEJBType rule) {
- IFieldType[] knownFieldTypes = _fieldTypes;
- if(knownFieldTypes == null) {
- return null;
- }
-
- for(int i=0; i<knownFieldTypes.length; i++) {
- IFieldType mt = knownFieldTypes[i];
- if(mt == null) {
- continue;
- }
-
- if(mt.isFieldType(bean, clazz, field)) {
- return mt;
- }
- }
-
- // If it's not one of the recognized methods, which dynamically-named
- // method type is it?
- return null;
- }
-
- public IMethodType getMethodType(EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists, IEJBType rule) {
- long[] knownMethodTypes = rule.getKnownMethodTypes();
- if(knownMethodTypes == null) {
- return null;
- }
-
- for(int i=0; i<knownMethodTypes.length; i++) {
- IMethodType mt = getMethodType(knownMethodTypes[i]);
- if(mt == null) {
- continue;
- }
-
- if(mt.isDefaultType()) {
- continue;
- }
-
- if(mt.isMethodType(bean, clazz, method, methodsExtendedLists)) {
- return mt;
- }
- }
-
- // If it's not one of the recognized methods, which dynamically-named
- // method type is it?
- return getMethodType(rule.getDefaultMethodType());
- }
-
- private void buildTypeList() {
- int typeCount = 29; // This is the number of identifiable methods in IMethodAndFieldConstants
- _methodTypeIndex = new long[typeCount];
- _methodTypes = new IMethodType[typeCount];
- int count = 0;
-
- int fieldTypeCount = 1; // This is the number of identifiable fields in IMethodAndFieldConstants
- _fieldTypeIndex = new long[fieldTypeCount];
- _fieldTypes = new IFieldType[fieldTypeCount];
- int fieldCount = 0;
-
- // The index of the type in the long[] is equal to the
- // index of the IMethodType in the IMethodType[]. By using
- // this technique instead of a HashMap, we don't need to
- // create an Integer every time we need to locate the
- // IMethodType.
- _methodTypeIndex[count] = IMethodAndFieldConstants.ACCESSOR;
- _methodTypes[count++] = new IMethodType() {
- public long getId() {
- return IMethodAndFieldConstants.ACCESSOR;
- }
-
- public String getMethodName(EnterpriseBean bean, JavaClass clazz, Method method) {
- return ""; // this method will never be called //$NON-NLS-1$
- }
-
- public String getMessageId_messageMissing() {
- return IMessagePrefixEjb20Constants.CHKJ2050_acc;
- }
-
- public String getMessageId_messageExists() {
- // Never statically check to see if this method exists
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "ACCESSOR::getMessageId_messageExists"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageRemoteException() {
- // Don't need to know if this method throws a RemoteException.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "ACCESSOR::getMessageId_messageRemoteException"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageMissingMatching() {
- // This method doesn't need a matching method.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "ACCESSOR::getMessageId_messageMissingMatching"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageRMI_IIOPParm() {
- // This method doesn't need a matching method.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "ACCESSOR::getMessageId_messageRMI_IIOPParm"; //$NON-NLS-1$
- }
-
- public boolean isDefaultType() {
- return false;
- }
-
- public boolean isMethodType(EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) {
- return false;
- }
-
- public String toString() {
- return String.valueOf(getId());
- }
- };
-
- _methodTypeIndex[count] = IMethodAndFieldConstants.BUSINESS;
- _methodTypes[count++] = new IMethodType() {
- public long getId() {
- return IMethodAndFieldConstants.BUSINESS;
- }
-
- public String getMethodName(EnterpriseBean bean, JavaClass clazz, Method method) {
- if(method == null) {
- return ""; //$NON-NLS-1$
- }
- return method.getName();
- }
-
- public String getMessageId_messageMissing() {
- // Never check to see if a business method is missing
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "BUSINESS::getMessageId_messageMissing"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageExists() {
- // Never statically check to see if a business method is present
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "BUSINESS::getMessageId_messageExists"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageRemoteException() {
- // Don't need to know if this method throws a RemoteException.
- return IMessagePrefixEjb20Constants.CHKJ2503_bus;
- }
-
- public String getMessageId_messageMissingMatching() {
- // This method doesn't need a matching method.
- return IMessagePrefixEjb20Constants.CHKJ2504_business;
- }
-
- public String getMessageId_messageRMI_IIOPParm() {
- // This method doesn't need a matching method.
- return IMessagePrefixEjb20Constants.CHKJ2500_business;
- }
-
- public boolean isDefaultType() {
- return false;
- }
-
- public boolean isMethodType(EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) {
- // It's a business method if it's exposed on the component interface.
- // HACK ... depends on the fact that ABeanClassVRule, and its subtypes, are the only classes that will ever have a BUSINESS method.
- if(ValidationRuleUtility.getMethod(method, method.getName(), ABeanClassVRule.getRemoteComponentMethodsExtended(methodsExtendedLists)) != null) {
- return true;
- }
-
- if(ValidationRuleUtility.getMethod(method, method.getName(), ABeanClassVRule.getRemoteComponentMethodsExtended(methodsExtendedLists)) != null) {
- return true;
- }
-
- // internal helper method
- return false;
- }
-
- public String toString() {
- return String.valueOf(getId());
- }
- };
-
- _methodTypeIndex[count] = IMethodAndFieldConstants.CLINIT;
- _methodTypes[count++] = new IMethodType() {
- public long getId() {
- return IMethodAndFieldConstants.CLINIT;
- }
-
- public String getMethodName(EnterpriseBean bean, JavaClass clazz, Method method) {
- return "clinit"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageMissing() {
- // Never check to see if <clinit> is missing
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "CLINIT::getMessageId_messageMissing"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageExists() {
- // Never statically check to see if this method is present
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "CLINIT::getMessageId_messageExists"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageRemoteException() {
- // Don't need to know if this method throws a RemoteException.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "CLINIT::getMessageId_messageRemoteException"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageMissingMatching() {
- // This method doesn't need a matching method.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "CLINIT::getMessageId_messageMissingMatching"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageRMI_IIOPParm() {
- // This method doesn't need a matching method.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "CLINIT::getMessageId_messageRMI_IIOPParm"; //$NON-NLS-1$
- }
-
- public boolean isDefaultType() {
- return false;
- }
-
- public boolean isMethodType(EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) {
- if(method == null) {
- return false;
- }
-
- if(method.getName().equals("<clinit>")) { //$NON-NLS-1$
- return true;
- }
-
- return false;
- }
-
- public String toString() {
- return String.valueOf(getId());
- }
- };
-
- // Be careful to keep the order of these declarations the same as they are in
- // IMethodAndFieldConstants. Each method type is an ascending number, and if they
- // go out of order, the binary search can't find the method type.
- _methodTypeIndex[count] = IMethodAndFieldConstants.CONSTRUCTOR;
- _methodTypes[count++] = new IMethodType() {
- public long getId() {
- return IMethodAndFieldConstants.CONSTRUCTOR;
- }
-
- public String getMethodName(EnterpriseBean bean, JavaClass clazz, Method method) {
- return clazz.getName();
- }
-
- public String getMessageId_messageMissing() {
- return IMessagePrefixEjb20Constants.CHKJ2050_constr;
- }
-
- public String getMessageId_messageExists() {
- // Never statically check to see if this method is present
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "CONSTRUCTOR::getMessageId_messageExists"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageRemoteException() {
- // Don't need to know if this method throws a RemoteException.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "CONSTRUCTOR::getMessageId_messageRemoteException"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageMissingMatching() {
- // This method doesn't need a matching method.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "CONSTRUCTOR::getMessageId_messageMissingMatching"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageRMI_IIOPParm() {
- // This method doesn't need a matching method.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "CONSTRUCTOR::getMessageId_messageRMI_IIOPParm"; //$NON-NLS-1$
- }
-
- public boolean isDefaultType() {
- return false;
- }
-
- public boolean isMethodType(EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) {
- if(method == null) {
- return false;
- }
-
- if(method.isConstructor()) {
- return true;
- }
-
- return false;
- }
-
- public String toString() {
- return String.valueOf(getId());
- }
- };
-
- _methodTypeIndex[count] = IMethodAndFieldConstants.CONSTRUCTOR_NOPARM;
- _methodTypes[count++] = new IMethodType() {
- public long getId() {
- return IMethodAndFieldConstants.CONSTRUCTOR_NOPARM;
- }
-
- public String getMethodName(EnterpriseBean bean, JavaClass clazz, Method method) {
- return clazz.getName() + "()"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageMissing() {
- return IMessagePrefixEjb20Constants.CHKJ2050_constr;
- }
-
- public String getMessageId_messageExists() {
- // Never statically check to see if this method is present
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "CONSTRUCTOR_NOPARM::getMessageId_messageExists"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageRemoteException() {
- // Don't need to know if this method throws a RemoteException.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "CONSTRUCTOR_NOPARM::getMessageId_messageRemoteException"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageMissingMatching() {
- // This method doesn't need a matching method.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "CONSTRUCTOR_NOPARM::getMessageId_messageMissingMatching"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageRMI_IIOPParm() {
- // This method doesn't need a matching method.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "CONSTRUCTOR_NOPARM::getMessageId_messageRMI_IIOPParm"; //$NON-NLS-1$
- }
-
- public boolean isDefaultType() {
- return false;
- }
-
- public boolean isMethodType(EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) {
- if(method == null) {
- return false;
- }
-
- if(method.isConstructor()) {
- // This class must define a public constructor which takes no parameters. Read section 7.10.1 of the EJB 2.0 specification.
- if(ValidationRuleUtility.isPublic(method)) {
- if(method.getParameters().size() == 0) {
- return true;
- }
- }
- }
-
- return false;
- }
-
- public String toString() {
- return String.valueOf(getId());
- }
- };
-
- _methodTypeIndex[count] = IMethodAndFieldConstants.CREATE;
- _methodTypes[count++] = new IMethodType() {
- public long getId() {
- return IMethodAndFieldConstants.CREATE;
- }
-
- public String getMethodName(EnterpriseBean bean, JavaClass clazz, Method method) {
- return "create"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageMissing() {
- return IMessagePrefixEjb20Constants.CHKJ2050_create;
- }
-
- public String getMessageId_messageExists() {
- // Never statically check to see if this method is present
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "CREATE::getMessageId_messageExists"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageRemoteException() {
- // Don't need to know if this method throws a RemoteException.
- return IMessagePrefixEjb20Constants.CHKJ2503_create;
- }
-
- public String getMessageId_messageMissingMatching() {
- // This method doesn't need a matching method.
- return IMessagePrefixEjb20Constants.CHKJ2504_create;
- }
-
- public String getMessageId_messageRMI_IIOPParm() {
- // This method doesn't need a matching method.
- return IMessagePrefixEjb20Constants.CHKJ2500_create;
- }
-
- public boolean isDefaultType() {
- return false;
- }
-
- public boolean isMethodType(EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) {
- if(method == null) {
- return false;
- }
-
- if(method.getName().startsWith(IMethodAndFieldConstants.METHODNAME_CREATE)) {
- return true;
- }
-
- return false;
- }
-
- public String toString() {
- return String.valueOf(getId());
- }
- };
-
- _methodTypeIndex[count] = IMethodAndFieldConstants.CREATE_NOPARM;
- _methodTypes[count++] = new IMethodType() {
- public long getId() {
- return IMethodAndFieldConstants.CREATE_NOPARM;
- }
-
- public String getMethodName(EnterpriseBean bean, JavaClass clazz, Method method) {
- return "create()"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageMissing() {
- return IMessagePrefixEjb20Constants.CHKJ2050_create;
- }
-
- public String getMessageId_messageExists() {
- // Never statically check to see if this method is present
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "CREATE_NOPARM::getMessageId_messageExists"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageRemoteException() {
- // Don't need to know if this method throws a RemoteException.
- return IMessagePrefixEjb20Constants.CHKJ2503_create;
- }
-
- public String getMessageId_messageMissingMatching() {
- return IMessagePrefixEjb20Constants.CHKJ2504_create;
- }
-
- public String getMessageId_messageRMI_IIOPParm() {
- // This method doesn't need a matching method.
- return IMessagePrefixEjb20Constants.CHKJ2500_create;
- }
-
- public boolean isDefaultType() {
- return false;
- }
-
- public boolean isMethodType(EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) {
- if(method == null) {
- return false;
- }
-
- if(method.getName().startsWith(IMethodAndFieldConstants.METHODNAME_CREATE)) {
- if(method.listParametersWithoutReturn().length == 0) {
- return true;
- }
- }
-
- return false;
- }
-
- public String toString() {
- return String.valueOf(getId());
- }
- };
-
- _methodTypeIndex[count] = IMethodAndFieldConstants.EJBACTIVATE_NOPARM;
- _methodTypes[count++] = new IMethodType() {
- public long getId() {
- return IMethodAndFieldConstants.EJBACTIVATE_NOPARM;
- }
-
- public String getMethodName(EnterpriseBean bean, JavaClass clazz, Method method) {
- return "ejbActivate()"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageMissing() {
- return IMessagePrefixEjb20Constants.CHKJ2050_ejbActivate;
- }
-
- public String getMessageId_messageExists() {
- // Never statically check to see if this method is present
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "EJBACTIVATE_NOPARM::getMessageId_messageExists"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageRemoteException() {
- // Don't need to know if this method throws a RemoteException.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "EJBACTIVATE_NOPARM::getMessageId_messageRemoteException"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageMissingMatching() {
- // This method doesn't need a matching method.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "EJBACTIVATE_NOPARM::getMessageId_messageMissingMatching"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageRMI_IIOPParm() {
- // This method doesn't need a matching method.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "EJBACTIVATE_NOPARM::getMessageId_messageRMI_IIOPParm"; //$NON-NLS-1$
- }
-
- public boolean isDefaultType() {
- return false;
- }
-
- public boolean isMethodType(EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) {
- if(method == null) {
- return false;
- }
-
- if(method.getName().equals(IMethodAndFieldConstants.METHODNAME_EJBACTIVATE)) {
- if(method.listParametersWithoutReturn().length == 0) {
- return true;
- }
- }
-
- return false;
- }
-
- public String toString() {
- return String.valueOf(getId());
- }
- };
-
- _methodTypeIndex[count] = IMethodAndFieldConstants.EJBCREATE;
- _methodTypes[count++] = new IMethodType() {
- public long getId() {
- return IMethodAndFieldConstants.EJBCREATE;
- }
-
- public String getMethodName(EnterpriseBean bean, JavaClass clazz, Method method) {
- return "ejbCreate"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageMissing() {
- return IMessagePrefixEjb20Constants.CHKJ2050_ejbCreate;
- }
-
- public String getMessageId_messageExists() {
- // Never statically check to see if this method is present
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "EJBCREATE::getMessageId_messageExists"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageRemoteException() {
- // Don't need to know if this method throws a RemoteException.
- return IMessagePrefixEjb20Constants.CHKJ2503_ejbCreate;
- }
-
- public String getMessageId_messageMissingMatching() {
- // This method doesn't need a matching method.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "EJBCREATE::getMessageId_messageMissingMatching"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageRMI_IIOPParm() {
- // This method doesn't need a matching method.
- return IMessagePrefixEjb20Constants.CHKJ2500_ejbCreate;
- }
-
- public boolean isDefaultType() {
- return false;
- }
-
- public boolean isMethodType(EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) {
- if(method == null) {
- return false;
- }
-
- if(method.getName().startsWith(IMethodAndFieldConstants.METHODNAME_EJBCREATE)) {
- return true;
- }
-
- return false;
- }
-
- public String toString() {
- return String.valueOf(getId());
- }
- };
-
- _methodTypeIndex[count] = IMethodAndFieldConstants.EJBCREATE_NOPARM;
- _methodTypes[count++] = new IMethodType() {
- public long getId() {
- return IMethodAndFieldConstants.EJBCREATE_NOPARM;
- }
-
- public String getMethodName(EnterpriseBean bean, JavaClass clazz, Method method) {
- return "ejbCreate()"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageMissing() {
- return IMessagePrefixEjb20Constants.CHKJ2050_ejbCreate;
- }
-
- public String getMessageId_messageExists() {
- // Never statically check to see if this method is present
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "EJBCREATE_NOPARM::getMessageId_messageExists"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageRemoteException() {
- // Don't need to know if this method throws a RemoteException.
- return IMessagePrefixEjb20Constants.CHKJ2503_ejbCreate;
- }
-
- public String getMessageId_messageMissingMatching() {
- // This method doesn't need a matching method.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "EJBCREATE_NOPARM::getMessageId_messageMissingMatching"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageRMI_IIOPParm() {
- // This method doesn't need a matching method.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "EJBCREATE_NOPARM::getMessageId_messageRMI_IIOPParm"; //$NON-NLS-1$
- }
-
- public boolean isDefaultType() {
- return false;
- }
-
- public boolean isMethodType(EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) {
- if(method == null) {
- return false;
- }
-
- if(method.getName().startsWith(IMethodAndFieldConstants.METHODNAME_EJBCREATE)) {
- if(method.listParametersWithoutReturn().length == 0) {
- return true;
- }
- }
-
- return false;
- }
-
- public String toString() {
- return String.valueOf(getId());
- }
- };
-
- _methodTypeIndex[count] = IMethodAndFieldConstants.EJBFIND;
- _methodTypes[count++] = new IMethodType() {
- public long getId() {
- return IMethodAndFieldConstants.EJBFIND;
- }
-
- public String getMethodName(EnterpriseBean bean, JavaClass clazz, Method method) {
- if(method == null) {
- return "ejbFind"; //$NON-NLS-1$
- }
- return method.getName();
- }
-
- public String getMessageId_messageMissing() {
- return IMessagePrefixEjb20Constants.CHKJ2050_ejbFind;
- }
-
- public String getMessageId_messageExists() {
- // Never statically check to see if this method is present
- return IMessagePrefixEjb20Constants.CHKJ2502_ejbFind;
- }
-
- public String getMessageId_messageRemoteException() {
- // Don't need to know if this method throws a RemoteException.
- return IMessagePrefixEjb20Constants.CHKJ2503_ejbFind;
- }
-
- public String getMessageId_messageMissingMatching() {
- // This method doesn't need a matching method.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "EJBFIND::getMessageId_messageMissingMatching"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageRMI_IIOPParm() {
- // This method doesn't need a matching method.
- return IMessagePrefixEjb20Constants.CHKJ2500_ejbFind;
- }
-
- public boolean isDefaultType() {
- return false;
- }
-
- public boolean isMethodType(EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) {
- if(method == null) {
- return false;
- }
-
- if(method.getName().startsWith(IMethodAndFieldConstants.PREFIX_EJBFIND)) {
- return true;
- }
-
- return false;
- }
-
- public String toString() {
- return String.valueOf(getId());
- }
- };
-
- _methodTypeIndex[count] = IMethodAndFieldConstants.EJBFINDBYPRIMARYKEY;
- _methodTypes[count++] = new IMethodType() {
- public long getId() {
- return IMethodAndFieldConstants.EJBFINDBYPRIMARYKEY;
- }
-
- public String getMethodName(EnterpriseBean bean, JavaClass clazz, Method method) {
- StringBuffer buffer = new StringBuffer("ejbFindByPrimaryKey("); //$NON-NLS-1$
- String pkName = ""; //$NON-NLS-1$
- if(bean instanceof Entity) {
- JavaClass pk = ((Entity)bean).getPrimaryKey();
- pkName = ((pk == null) ? IEJBValidatorConstants.NULL_PRIMARY_KEY : pk.getQualifiedName());
- }
- buffer.append(pkName);
- buffer.append(")"); //$NON-NLS-1$
- return buffer.toString();
- }
-
- public boolean isDefaultType() {
- return false;
- }
-
- public String getMessageId_messageMissing() {
- return IMessagePrefixEjb20Constants.CHKJ2050_ejbFindByPrimaryKey;
- }
-
- public String getMessageId_messageExists() {
- // Never statically check to see if this method is present
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "EJBFINDBYPRIMARYKEY::getMessageId_messageExists"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageRemoteException() {
- // Don't need to know if this method throws a RemoteException.
- return IMessagePrefixEjb20Constants.CHKJ2503_ejbFind;
- }
-
- public String getMessageId_messageMissingMatching() {
- // This method doesn't need a matching method.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "EJBFINDBYPRIMARYKEY::getMessageId_messageMissingMatching"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageRMI_IIOPParm() {
- // This method doesn't need a matching method.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "EJBFINDBYPRIMARYKEY::getMessageId_messageRMI_IIOPParm"; //$NON-NLS-1$
- }
-
- public boolean isMethodType(EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) {
- if(method == null) {
- return false;
- }
-
- if(method.getName().startsWith(IMethodAndFieldConstants.PREFIX_EJBFIND)) {
- if(method.getName().equals(IMethodAndFieldConstants.METHODNAME_EJBFINDBYPRIMARYKEY)) {
- return true;
- }
- }
-
- return false;
- }
-
- public String toString() {
- return String.valueOf(getId());
- }
- };
-
- _methodTypeIndex[count] = IMethodAndFieldConstants.EJBHOME;
- _methodTypes[count++] = new IMethodType() {
- public long getId() {
- return IMethodAndFieldConstants.EJBHOME;
- }
-
- public String getMethodName(EnterpriseBean bean, JavaClass clazz, Method method) {
- if(method == null) {
- return "ejbHome"; //$NON-NLS-1$
- }
- return method.getName();
- }
-
- public String getMessageId_messageMissing() {
- return IMessagePrefixEjb20Constants.CHKJ2050_ejbHome;
- }
-
- public String getMessageId_messageExists() {
- // Never statically check to see if this method is present
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "EJBHOME::getMessageId_messageExists"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageRemoteException() {
- // Don't need to know if this method throws a RemoteException.
- return IMessagePrefixEjb20Constants.CHKJ2503_ejbHome;
- }
-
- public String getMessageId_messageMissingMatching() {
- // This method doesn't need a matching method.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "EJBHOME::getMessageId_messageMissingMatching"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageRMI_IIOPParm() {
- // This method doesn't need a matching method.
- return IMessagePrefixEjb20Constants.CHKJ2500_ejbHome;
- }
-
- public boolean isDefaultType() {
- return false;
- }
-
- public boolean isMethodType(EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) {
- if(method == null) {
- return false;
- }
-
- if(method.getName().startsWith(IMethodAndFieldConstants.PREFIX_EJBHOME)) {
- return true;
- }
-
- return false;
- }
-
- public String toString() {
- return String.valueOf(getId());
- }
- };
-
- _methodTypeIndex[count] = IMethodAndFieldConstants.EJBLOAD_NOPARM;
- _methodTypes[count++] = new IMethodType() {
- public long getId() {
- return IMethodAndFieldConstants.EJBLOAD_NOPARM;
- }
-
- public String getMethodName(EnterpriseBean bean, JavaClass clazz, Method method) {
- return "ejbLoad()"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageMissing() {
- return IMessagePrefixEjb20Constants.CHKJ2050_ejbLoad;
- }
-
- public String getMessageId_messageExists() {
- // Never statically check to see if this method is present
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "EJBLOAD::getMessageId_messageExists"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageRemoteException() {
- // Don't need to know if this method throws a RemoteException.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "EJBLOAD::getMessageId_messageRemoteException"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageMissingMatching() {
- // This method doesn't need a matching method.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "EJBLOAD::getMessageId_messageMissingMatching"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageRMI_IIOPParm() {
- // This method doesn't need a matching method.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "EJBLOAD::getMessageId_messageRMI_IIOPParm"; //$NON-NLS-1$
- }
-
- public boolean isDefaultType() {
- return false;
- }
-
- public boolean isMethodType(EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) {
- if(method == null) {
- return false;
- }
-
- if(method.getName().equals(IMethodAndFieldConstants.METHODNAME_EJBLOAD)) {
- if(method.listParametersWithoutReturn().length == 0) {
- return true;
- }
- }
-
- return false;
- }
-
- public String toString() {
- return String.valueOf(getId());
- }
- };
-
- _methodTypeIndex[count] = IMethodAndFieldConstants.EJBPASSIVATE_NOPARM;
- _methodTypes[count++] = new IMethodType() {
- public long getId() {
- return IMethodAndFieldConstants.EJBPASSIVATE_NOPARM;
- }
-
- public String getMethodName(EnterpriseBean bean, JavaClass clazz, Method method) {
- return "ejbPassivate()"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageMissing() {
- return IMessagePrefixEjb20Constants.CHKJ2050_ejbPassivate;
- }
-
- public String getMessageId_messageExists() {
- // Never statically check to see if this method is present
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "EJBPASSIVATE::getMessageId_messageExists"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageRemoteException() {
- // Don't need to know if this method throws a RemoteException.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "EJBPASSIVATE::getMessageId_messageRemoteException"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageMissingMatching() {
- // This method doesn't need a matching method.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "EJBPASSIVATE::getMessageId_messageMissingMatching"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageRMI_IIOPParm() {
- // This method doesn't need a matching method.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "EJBPASSIVATE::getMessageId_messageRMI_IIOPParm"; //$NON-NLS-1$
- }
-
- public boolean isDefaultType() {
- return false;
- }
-
- public boolean isMethodType(EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) {
- if(method == null) {
- return false;
- }
-
- if(method.getName().equals(IMethodAndFieldConstants.METHODNAME_EJBPASSIVATE)) {
- if(method.listParametersWithoutReturn().length == 0) {
- return true;
- }
- }
-
- return false;
- }
-
- public String toString() {
- return String.valueOf(getId());
- }
- };
-
- _methodTypeIndex[count] = IMethodAndFieldConstants.EJBPOSTCREATE;
- _methodTypes[count++] = new IMethodType() {
- public long getId() {
- return IMethodAndFieldConstants.EJBPOSTCREATE;
- }
-
- public String getMethodName(EnterpriseBean bean, JavaClass clazz, Method method) {
- return "ejbPostCreate"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageMissing() {
- // Can only dynamically check if ejbPostCreate is missing,
- // based on what type of ejbCreate methods exist.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "EJBPOSTCREATE::getMessageId_messageMissing"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageExists() {
- // Never statically check to see if this method is present
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "EJBPOSTCREATE::getMessageId_messageExists"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageRemoteException() {
- return IMessagePrefixEjb20Constants.CHKJ2503_ejbPostCreate;
- }
-
- public String getMessageId_messageMissingMatching() {
- // This method doesn't need a matching method.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "EJBPOSTCREATE::getMessageId_messageMissingMatching"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageRMI_IIOPParm() {
- // This method doesn't need a matching method.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "EJBPOSTCREATE::getMessageId_messageRMI_IIOPParm"; //$NON-NLS-1$
- }
-
- public boolean isDefaultType() {
- return false;
- }
-
- public boolean isMethodType(EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) {
- if(method == null) {
- return false;
- }
-
- if(method.getName().startsWith(IMethodAndFieldConstants.METHODNAME_EJBPOSTCREATE)) {
- return true;
- }
-
- return false;
- }
-
- public String toString() {
- return String.valueOf(getId());
- }
- };
-
- _methodTypeIndex[count] = IMethodAndFieldConstants.EJBREMOVE_NOPARM;
- _methodTypes[count++] = new IMethodType() {
- public long getId() {
- return IMethodAndFieldConstants.EJBREMOVE_NOPARM;
- }
-
- public String getMethodName(EnterpriseBean bean, JavaClass clazz, Method method) {
- return "ejbRemove()"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageMissing() {
- return IMessagePrefixEjb20Constants.CHKJ2050_ejbRemove;
- }
-
- public String getMessageId_messageExists() {
- // Never statically check to see if this method is present
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "EJBREMOVE::getMessageId_messageExists"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageRemoteException() {
- // Don't need to know if this method throws a RemoteException.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "EJBREMOVE::getMessageId_messageRemoteException"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageMissingMatching() {
- // This method doesn't need a matching method.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "EJBREMOVE::getMessageId_messageMissingMatching"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageRMI_IIOPParm() {
- // This method doesn't need a matching method.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "EJBREMOVE::getMessageId_messageRMI_IIOPParm"; //$NON-NLS-1$
- }
-
- public boolean isDefaultType() {
- return false;
- }
-
- public boolean isMethodType(EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) {
- if(method == null) {
- return false;
- }
-
- if(method.getName().equals(IMethodAndFieldConstants.METHODNAME_EJBREMOVE)) {
- if(method.listParametersWithoutReturn().length == 0) {
- return true;
- }
- }
-
- return false;
- }
-
- public String toString() {
- return String.valueOf(getId());
- }
- };
-
- _methodTypeIndex[count] = IMethodAndFieldConstants.EJBSELECT;
- _methodTypes[count++] = new IMethodType() {
- public long getId() {
- return IMethodAndFieldConstants.EJBSELECT;
- }
-
- public String getMethodName(EnterpriseBean bean, JavaClass clazz, Method method) {
- if(method == null) {
- return "ejbSelect"; //$NON-NLS-1$
- }
- return method.getName();
- }
-
- public String getMessageId_messageMissing() {
- return IMessagePrefixEjb20Constants.CHKJ2050_ejbSelect;
- }
-
- public String getMessageId_messageExists() {
- return IMessagePrefixEjb20Constants.CHKJ2502_ejbSelect;
- }
-
- public String getMessageId_messageRemoteException() {
- // Don't need to know if this method throws a RemoteException.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "EJBSELECT::getMessageId_messageRemoteException"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageMissingMatching() {
- // This method doesn't need a matching method.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "EJBSELECT::getMessageId_messageMissingMatching"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageRMI_IIOPParm() {
- // This method doesn't need a matching method.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "EJBSELECT::getMessageId_messageRMI_IIOPParm"; //$NON-NLS-1$
- }
-
- public boolean isDefaultType() {
- return false;
- }
-
- public boolean isMethodType(EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) {
- if(method == null) {
- return false;
- }
-
- if(method.getName().startsWith(IMethodAndFieldConstants.PREFIX_EJBSELECT)) {
- return true;
- }
-
- return false;
- }
-
- public String toString() {
- return String.valueOf(getId());
- }
- };
-
- _methodTypeIndex[count] = IMethodAndFieldConstants.EJBSTORE_NOPARM;
- _methodTypes[count++] = new IMethodType() {
- public long getId() {
- return IMethodAndFieldConstants.EJBSTORE_NOPARM;
- }
-
- public String getMethodName(EnterpriseBean bean, JavaClass clazz, Method method) {
- return "ejbStore()"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageMissing() {
- return IMessagePrefixEjb20Constants.CHKJ2050_ejbStore;
- }
-
- public String getMessageId_messageExists() {
- // Never statically check to see if this method is present
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "EJBSTORE::getMessageId_messageExists"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageRemoteException() {
- // Don't need to know if this method throws a RemoteException.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "EJBSTORE::getMessageId_messageRemoteException"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageMissingMatching() {
- // This method doesn't need a matching method.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "EJBSTORE::getMessageId_messageMissingMatching"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageRMI_IIOPParm() {
- // This method doesn't need a matching method.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "EJBSTORE::getMessageId_messageRMI_IIOPParm"; //$NON-NLS-1$
- }
-
- public boolean isDefaultType() {
- return false;
- }
-
- public boolean isMethodType(EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) {
- if(method == null) {
- return false;
- }
-
- if(method.getName().equals(IMethodAndFieldConstants.METHODNAME_EJBSTORE)) {
- if(method.listParametersWithoutReturn().length == 0) {
- return true;
- }
- }
-
- return false;
- }
-
- public String toString() {
- return String.valueOf(getId());
- }
- };
-
- _methodTypeIndex[count] = IMethodAndFieldConstants.EQUALS;
- _methodTypes[count++] = new IMethodType() {
- public long getId() {
- return IMethodAndFieldConstants.EQUALS;
- }
-
- public String getMethodName(EnterpriseBean bean, JavaClass clazz, Method method) {
- return "equals(Object)"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageMissing() {
- return IMessagePrefixEjb20Constants.CHKJ2050_equals;
- }
-
- public String getMessageId_messageExists() {
- // Never statically check to see if this method is present
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "EQUALS::getMessageId_messageExists"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageRemoteException() {
- // Don't need to know if this method throws a RemoteException.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "EQUALS::getMessageId_messageRemoteException"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageMissingMatching() {
- // This method doesn't need a matching method.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "EQUALS::getMessageId_messageMissingMatching"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageRMI_IIOPParm() {
- // This method doesn't need a matching method.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "EQUALS::getMessageId_messageRMI_IIOPParm"; //$NON-NLS-1$
- }
-
- public boolean isDefaultType() {
- return false;
- }
-
- public boolean isMethodType(EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) {
- if(method == null) {
- return false;
- }
-
- if(method.getName().startsWith(IMethodAndFieldConstants.METHODNAME_EQUALS)) {
- JavaParameter[] parm = method.listParametersWithoutReturn();
- if(parm.length == 1) {
- try {
- JavaHelpers object = ValidationRuleUtility.getType(ITypeConstants.CLASSNAME_JAVA_LANG_OBJECT, bean);
- JavaHelpers parmType = parm[0].getJavaType();
-
- if(object.equals(parmType)) {
- return true;
- }
- }
- catch(InvalidInputException e) {
- return false;
- }
- }
- }
-
- return false;
- }
-
- public String toString() {
- return String.valueOf(getId());
- }
- };
-
- _methodTypeIndex[count] = IMethodAndFieldConstants.FIND;
- _methodTypes[count++] = new IMethodType() {
- public long getId() {
- return IMethodAndFieldConstants.FIND;
- }
-
- public String getMethodName(EnterpriseBean bean, JavaClass clazz, Method method) {
- if(method == null) {
- return "find"; //$NON-NLS-1$
- }
- return method.getName();
- }
-
- public String getMessageId_messageMissing() {
- return IMessagePrefixEjb20Constants.CHKJ2050_find;
- }
-
- public String getMessageId_messageExists() {
- // Never statically check to see if this method is present
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "FIND::getMessageId_messageExists"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageRemoteException() {
- // Don't need to know if this method throws a RemoteException.
- return IMessagePrefixEjb20Constants.CHKJ2503_find;
- }
-
- public String getMessageId_messageMissingMatching() {
- return IMessagePrefixEjb20Constants.CHKJ2504_find;
- }
-
- public String getMessageId_messageRMI_IIOPParm() {
- // This method doesn't need a matching method.
- return IMessagePrefixEjb20Constants.CHKJ2500_find;
- }
-
- public boolean isDefaultType() {
- return false;
- }
-
- public boolean isMethodType(EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) {
- if(method == null) {
- return false;
- }
-
- if(method.getName().startsWith(IMethodAndFieldConstants.PREFIX_FIND)) {
- return true;
- }
-
- return false;
- }
-
- public String toString() {
- return String.valueOf(getId());
- }
- };
-
- _methodTypeIndex[count] = IMethodAndFieldConstants.FINDBYPRIMARYKEY;
- _methodTypes[count++] = new IMethodType() {
- public long getId() {
- return IMethodAndFieldConstants.FINDBYPRIMARYKEY;
- }
-
- public String getMethodName(EnterpriseBean bean, JavaClass clazz, Method method) {
- return "findByPrimaryKey"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageMissing() {
- return IMessagePrefixEjb20Constants.CHKJ2050_findByPrimaryKey;
- }
-
- public String getMessageId_messageExists() {
- return IMessagePrefixEjb20Constants.CHKJ2500_find;
- }
-
- public String getMessageId_messageRemoteException() {
- // Don't need to know if this method throws a RemoteException.
- return IMessagePrefixEjb20Constants.CHKJ2503_find;
- }
-
- public String getMessageId_messageMissingMatching() {
- return IMessagePrefixEjb20Constants.CHKJ2504_find;
- }
-
- public String getMessageId_messageRMI_IIOPParm() {
- return IMessagePrefixEjb20Constants.CHKJ2500_find;
- }
-
- public boolean isDefaultType() {
- return false;
- }
-
- public boolean isMethodType(EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) {
- if(method == null) {
- return false;
- }
-
- if(method.getName().startsWith(IMethodAndFieldConstants.PREFIX_FIND)) {
- if(method.getName().startsWith(IMethodAndFieldConstants.METHODNAME_FINDBYPRIMARYKEY)) {
- return true;
- }
- }
- return false;
- }
-
- public String toString() {
- return String.valueOf(getId());
- }
- };
-
- _methodTypeIndex[count] = IMethodAndFieldConstants.FINALIZE_NOPARM;
- _methodTypes[count++] = new IMethodType() {
- public long getId() {
- return IMethodAndFieldConstants.FINALIZE_NOPARM;
- }
-
- public String getMethodName(EnterpriseBean bean, JavaClass clazz, Method method) {
- return "finalize()"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageMissing() {
- // Never check to see if finalize is missing
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "FINALIZE::getMessageId_messageExists"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageExists() {
- // Never statically check to see if this method is present
- return IMessagePrefixEjb20Constants.CHKJ2502_finalize;
- }
-
- public String getMessageId_messageRemoteException() {
- // Don't need to know if this method throws a RemoteException.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "FINALIZE::getMessageId_messageRemoteException"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageMissingMatching() {
- // This method doesn't need a matching method.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "FINALIZE::getMessageId_messageMissingMatching"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageRMI_IIOPParm() {
- // This method doesn't need a matching method.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "FINALIZE::getMessageId_messageRMI_IIOPParm"; //$NON-NLS-1$
- }
-
- public boolean isDefaultType() {
- return false;
- }
-
- public boolean isMethodType(EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) {
- if(method == null) {
- return false;
- }
-
- if(method.getName().equals(IMethodAndFieldConstants.METHODNAME_FINALIZE)) {
- if(method.listParametersWithoutReturn().length ==0) {
- return true;
- }
- }
-
- return false;
- }
-
- public String toString() {
- return String.valueOf(getId());
- }
- };
-
- _methodTypeIndex[count] = IMethodAndFieldConstants.HASHCODE_NOPARM;
- _methodTypes[count++] = new IMethodType() {
- public long getId() {
- return IMethodAndFieldConstants.HASHCODE_NOPARM;
- }
-
- public String getMethodName(EnterpriseBean bean, JavaClass clazz, Method method) {
- return "hashCode()"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageMissing() {
- return IMessagePrefixEjb20Constants.CHKJ2050_hashCode;
- }
-
- public String getMessageId_messageExists() {
- // Never statically check to see if this method is present
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "HASHCODE::getMessageId_messageExists"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageRemoteException() {
- // Don't need to know if this method throws a RemoteException.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "HASHCODE::getMessageId_messageRemoteException"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageMissingMatching() {
- // This method doesn't need a matching method.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "HASHCODE::getMessageId_messageMissingMatching"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageRMI_IIOPParm() {
- // This method doesn't need a matching method.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "HASHCODE::getMessageId_messageRMI_IIOPParm"; //$NON-NLS-1$
- }
-
- public boolean isDefaultType() {
- return false;
- }
-
- public boolean isMethodType(EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) {
- if(method == null) {
- return false;
- }
-
- if(method.getName().equals(IMethodAndFieldConstants.METHODNAME_HASHCODE)) {
- if(method.listParametersWithoutReturn().length == 0) {
- return true;
- }
- }
-
- return false;
- }
-
- public String toString() {
- return String.valueOf(getId());
- }
- };
-
- _methodTypeIndex[count] = IMethodAndFieldConstants.HOME;
- _methodTypes[count++] = new IMethodType() {
- public long getId() {
- return IMethodAndFieldConstants.HOME;
- }
-
- public String getMethodName(EnterpriseBean bean, JavaClass clazz, Method method) {
- return "home"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageMissing() {
- return IMessagePrefixEjb20Constants.CHKJ2050_home;
- }
-
- public String getMessageId_messageExists() {
- // Never statically check to see if this method is present
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "HOME::getMessageId_messageExists"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageRemoteException() {
- // Don't need to know if this method throws a RemoteException.
- return IMessagePrefixEjb20Constants.CHKJ2503_home;
- }
-
- public String getMessageId_messageMissingMatching() {
- return IMessagePrefixEjb20Constants.CHKJ2504_home;
- }
-
- public String getMessageId_messageRMI_IIOPParm() {
- // This method doesn't need a matching method.
- return IMessagePrefixEjb20Constants.CHKJ2500_home;
- }
-
- public boolean isDefaultType() {
- return true;
- }
-
- public boolean isMethodType(EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) {
- if(method == null) {
- return false;
- }
-
- return true;
- }
-
- public String toString() {
- return String.valueOf(getId());
- }
- };
-
- _methodTypeIndex[count] = IMethodAndFieldConstants.ONMESSAGE;
- _methodTypes[count++] = new IMethodType() {
- public long getId() {
- return IMethodAndFieldConstants.ONMESSAGE;
- }
-
- public String getMethodName(EnterpriseBean bean, JavaClass clazz, Method method) {
- return "onMessage"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageMissing() {
- return IMessagePrefixEjb20Constants.CHKJ2050_onMessage;
- }
-
- public String getMessageId_messageExists() {
- // Never statically check to see if this method is present
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "ONMESSAGE::getMessageId_messageExists"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageRemoteException() {
- // Don't need to know if this method throws a RemoteException.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "ONMESSAGE::getMessageId_messageRemoteException"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageMissingMatching() {
- // This method doesn't need a matching method.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "ONMESSAGE::getMessageId_messageMissingMatching"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageRMI_IIOPParm() {
- // This method doesn't need a matching method.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "ONMESSAGE::getMessageId_messageRMI_IIOPParm"; //$NON-NLS-1$
- }
-
- public boolean isDefaultType() {
- return false;
- }
-
- public boolean isMethodType(EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) {
- if(method == null) {
- return false;
- }
-
- if(method.getName().equals(IMethodAndFieldConstants.METHODNAME_ONMESSAGE)) {
- JavaParameter[] parms = method.listParametersWithoutReturn();
- if(parms.length == 1) {
- try {
- JavaHelpers jmsMessage = ValidationRuleUtility.getType(ITypeConstants.CLASSNAME_JAVAX_JMS_MESSAGE, bean);
- JavaHelpers parmType = parms[0].getJavaType();
-
- if(jmsMessage.equals(parmType)) {
- return true;
- }
- }
- catch(InvalidInputException e) {
- return false;
- }
- }
- }
-
- return false;
- }
-
- public String toString() {
- return String.valueOf(getId());
- }
- };
-
- _methodTypeIndex[count] = IMethodAndFieldConstants.SETENTITYCONTEXT;
- _methodTypes[count++] = new IMethodType() {
- public long getId() {
- return IMethodAndFieldConstants.SETENTITYCONTEXT;
- }
-
- public String getMethodName(EnterpriseBean bean, JavaClass clazz, Method method) {
- return "setEntityContext"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageMissing() {
- return IMessagePrefixEjb20Constants.CHKJ2050_setEntityContext;
- }
-
- public String getMessageId_messageExists() {
- // Never statically check to see if this method is present
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "SETENTITYCONTEXT::getMessageId_messageExists"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageRemoteException() {
- // Don't need to know if this method throws a RemoteException.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "SETENTITYCONTEXT::getMessageId_messageRemoteException"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageMissingMatching() {
- // This method doesn't need a matching method.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "SETENTITYCONTEXT::getMessageId_messageMissingMatching"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageRMI_IIOPParm() {
- // This method doesn't need a matching method.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "SETENTITYCONTEXT::getMessageId_messageRMI_IIOPParm"; //$NON-NLS-1$
- }
-
- public boolean isDefaultType() {
- return false;
- }
-
- public boolean isMethodType(EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) {
- if(method == null) {
- return false;
- }
-
- if(method.getName().equals(IMethodAndFieldConstants.METHODNAME_SETENTITYCONTEXT)) {
- JavaParameter[] parm = method.listParametersWithoutReturn();
- if(parm.length == 1) {
- try {
- JavaHelpers entityContext = ValidationRuleUtility.getType(ITypeConstants.CLASSNAME_JAVAX_EJB_ENTITYCONTEXT, bean);
- JavaHelpers parmType = parm[0].getJavaType();
-
- if(entityContext.equals(parmType)) {
- return true;
- }
- }
- catch(InvalidInputException e) {
- return false;
- }
- }
- }
-
- return false;
- }
-
- public String toString() {
- return String.valueOf(getId());
- }
- };
-
- _methodTypeIndex[count] = IMethodAndFieldConstants.UNSETENTITYCONTEXT_NOPARM;
- _methodTypes[count++] = new IMethodType() {
- public long getId() {
- return IMethodAndFieldConstants.UNSETENTITYCONTEXT_NOPARM;
- }
-
- public String getMethodName(EnterpriseBean bean, JavaClass clazz, Method method) {
- return "unsetEntityContext()"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageMissing() {
- return IMessagePrefixEjb20Constants.CHKJ2050_unsetEntityContext;
- }
-
- public String getMessageId_messageExists() {
- // Never statically check to see if this method is present
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "UNSETENTITYCONTEXT::getMessageId_messageExists"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageRemoteException() {
- // Don't need to know if this method throws a RemoteException.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "UNSETENTITYCONTEXT::getMessageId_messageRemoteException"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageMissingMatching() {
- // This method doesn't need a matching method.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "UNSETENTITYCONTEXT::getMessageId_messageMissingMatching"; //$NON-NLS-1$
- }
-
- public String getMessageId_messageRMI_IIOPParm() {
- // This method doesn't need a matching method.
-// return NO_MESSAGE_PREFIX;
- // Because it's difficult to find out which method has been called unexpectedly,
- // instead of returning the same string for all NO_MESSAGE_PREFIX cases,
- // instead return a message id which uniquely identifies which method was called.
- return "UNSETENTITYCONTEXT::getMessageId_messageRMI_IIOPParm"; //$NON-NLS-1$
- }
-
- public boolean isDefaultType() {
- return false;
- }
-
- public boolean isMethodType(EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) {
- if(method == null) {
- return false;
- }
-
- if(method.getName().equals(IMethodAndFieldConstants.METHODNAME_UNSETENTITYCONTEXT)) {
- if(method.listParametersWithoutReturn().length == 0) {
- return true;
- }
- }
-
- return false;
- }
-
- public String toString() {
- return String.valueOf(getId());
- }
- };
-
- _fieldTypeIndex[fieldCount] = IMethodAndFieldConstants.SERIALVERSIONUID;
- _fieldTypes[fieldCount++] = new IFieldType() {
- public long getId() {
- return IMethodAndFieldConstants.SERIALVERSIONUID;
- }
-
- public boolean isFieldType(EnterpriseBean bean, JavaClass clazz, Field field) {
- if(field == null) {
- return false;
- }
-
- if(field.getName().equals(IMethodAndFieldConstants.FIELDNAME_SERIALVERSIONUID)) {
- return true;
- }
-
- return false;
- }
-
- public String toString() {
- return String.valueOf(getId());
- }
- };
-
- }
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/RoleHelper.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/RoleHelper.java
deleted file mode 100644
index aa446a876..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/RoleHelper.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-
-import java.util.List;
-
-import org.eclipse.jst.j2ee.ejb.CommonRelationshipRole;
-import org.eclipse.jst.j2ee.internal.EjbModuleExtensionHelper;
-
-
-/**
- * This class is a copy of org.eclipse.jst.j2ee.internal.ejb.codegen.helpers.RoleHelper.
- * org.eclipse.jst.j2ee.internal.ejb.codegen.helpers.RoleHelper cannot be used
- * directly by the EJB Validator (to calculate role method names) because
- * it uses classes which are not used by WebSphere. Until the long-term
- * fix can be put in, this class will be used.
- */
-public class RoleHelper {
- static final String KEY_GETTER_NAME_PATTERN = "get{0}Key";//$NON-NLS-1$
- static final String KEY_SETTER_NAME_PATTERN = "privateSet{0}Key";//$NON-NLS-1$
- static final String LINK_GETTER_NAME_PATTERN = "get{0}Link";//$NON-NLS-1$
- static final String ADD_NAME_PREFIX = "add";//$NON-NLS-1$
- static final String GETTER_NAME_PREFIX = "get"; //$NON-NLS-1$
- static final String REMOVE_NAME_PREFIX = "remove";//$NON-NLS-1$
- static final String SECONDARY_ADD_NAME_PREFIX = "secondaryAdd";//$NON-NLS-1$
- static final String SECONDARY_REMOVE_NAME_PREFIX = "secondaryRemove";//$NON-NLS-1$
- static final String SECONDARY_SETTER_NAME_PREFIX = "secondarySet";//$NON-NLS-1$
- static final String SETTER_NAME_PREFIX = "set"; //$NON-NLS-1$
- protected EjbModuleExtensionHelper modHelper;
-/**
- * RoleHelper constructor comment.
- */
-public RoleHelper() {
- super();
-}
-/**
- * Collect the names of the methods that were added to the bean class
- * for a particular role.
- */
-public static void collectRoleMethodNames(CommonRelationshipRole aRole, List aList) {
- if (aRole == null || aList == null) return;
- aList.add(getLinkGetterName(aRole));
- if (aRole.isForward()) {
- aList.add(getKeyGetterName(aRole));
- aList.add(getKeySetterName(aRole));
- }
- if (aRole.isNavigable())
- aList.add(getGetterName(aRole));
- if (!isMany(aRole)) {
- try {
- if(aRole.getOppositeAsCommonRole() != null) {
- if (!aRole.getOppositeAsCommonRole().isKey())
- aList.add(getSetterName(aRole));
- if (!aRole.isKey()) {
- aList.add(getSecondarySetterName(aRole));
- }
- }
- }
- catch(NullPointerException exc) {
- // If a NullPointerException is caught, assume that the role isn't a key.
- // Just continue.
- }
- } else {
- aList.add(getSecondaryAddName(aRole));
- aList.add(getSecondaryRemoveName(aRole));
- if (aRole.isNavigable()) {
- try {
- if(aRole.getOppositeAsCommonRole() != null) {
- if (!aRole.getOppositeAsCommonRole().isKey()) {
- aList.add(getAddName(aRole));
- }
- }
- }
- catch(NullPointerException exc) {
- // If a NullPointerException is thrown, just assume that the opposite isn't a key.
- }
- if (aRole.getOppositeAsCommonRole() != null && !aRole.getOppositeAsCommonRole().isRequired())
- aList.add(getRemoveName(aRole));
- }
- }
-}
-/**
- * Return aString where the first character is uppercased.
- */
-public static final String firstAsUppercase(String aString) {
- if (aString != null && aString.length() >0 && !Character.isUpperCase(aString.charAt(0))) {
- char[] chars = aString.toCharArray();
- chars[0] = Character.toUpperCase(chars[0]);
- return String.valueOf(chars);
- }
- return aString;
-}
-protected static String format(String pattern, String[] replacements) {
- return java.text.MessageFormat.format(pattern, replacements);
-}
-/**
- * Return the add method name for @aRole.
- * It will be in the format "add{aRole name}".
- * For example, a role named "department" would return
- * addDepartment.
- */
-public static String getAddName(CommonRelationshipRole aRole) {
- if (aRole == null) return null;
- String arg = firstAsUppercase(aRole.getName());
- return ADD_NAME_PREFIX + arg;
-}
-/**
- * Return the getter method name for @aRole.
- * It will be in the format "get{aRole name}".
- * For example, a role named "department" would return
- * getDepartment.
- */
-public static String getGetterName(CommonRelationshipRole aRole) {
- if (aRole == null) return null;
- String arg = firstAsUppercase(aRole.getName());
- return GETTER_NAME_PREFIX + arg;
-}
-/**
- * Return the key getter method name for @aRole.
- * It will be in the format "get{aRole name}Key".
- * For example, a role named "department" would return
- * getDepartmentKey.
- */
-public static String getKeyGetterName(CommonRelationshipRole aRole) {
- if (aRole == null) return null;
- String arg = firstAsUppercase(aRole.getName());
- return format(KEY_GETTER_NAME_PATTERN, new String[]{arg});
-}
-/**
- * Return the key setter method name for @aRole.
- * It will be in the format "privateSet{aRole name}Key".
- * For example, a role named "department" would return
- * privateSetDepartmentKey.
- */
-public static String getKeySetterName(CommonRelationshipRole aRole) {
- if (aRole == null) return null;
- String arg = firstAsUppercase(aRole.getName());
- return format(KEY_SETTER_NAME_PATTERN, new String[]{arg});
-}
-/**
- * Return the link getter method name for @aRole.
- * It will be in the format "get{aRole name}Link".
- * For example, a role named "department" would return
- * getDepartmentLink.
- */
-public static String getLinkGetterName(CommonRelationshipRole aRole) {
- if (aRole == null) return null;
- String arg = firstAsUppercase(aRole.getName());
- return format(LINK_GETTER_NAME_PATTERN, new String[]{arg});
-}
-/**
- * Return the remove method name for @aRole.
- * It will be in the format "remove{aRole name}".
- * For example, a role named "department" would return
- * removeDepartment.
- */
-public static String getRemoveName(CommonRelationshipRole aRole) {
- if (aRole == null) return null;
- String arg = firstAsUppercase(aRole.getName());
- return REMOVE_NAME_PREFIX + arg;
-}
-/**
- * Return the secondary add method name for @aRole.
- * It will be in the format "secondaryAdd{aRole name}".
- * For example, a role named "department" would return
- * secondaryAddDepartment.
- */
-public static String getSecondaryAddName(CommonRelationshipRole aRole) {
- if (aRole == null) return null;
- String arg = firstAsUppercase(aRole.getName());
- return SECONDARY_ADD_NAME_PREFIX + arg;
-}
-/**
- * Return the secondary remove method name for @aRole.
- * It will be in the format "secondaryRemove{aRole name}".
- * For example, a role named "department" would return
- * secondaryRemoveDepartment.
- */
-public static String getSecondaryRemoveName(CommonRelationshipRole aRole) {
- if (aRole == null) return null;
- String arg = firstAsUppercase(aRole.getName());
- return SECONDARY_REMOVE_NAME_PREFIX + arg;
-}
-/**
- * Return the secondary setter method name for @aRole.
- * It will be in the format "secondarySet{aRole name}".
- * For example, a role named "department" would return
- * secondarySetDepartment.
- */
-public static String getSecondarySetterName(CommonRelationshipRole aRole) {
- if (aRole == null) return null;
- String arg = firstAsUppercase(aRole.getName());
- return SECONDARY_SETTER_NAME_PREFIX + arg;
-}
-/**
- * Return the setter method name for @aRole.
- * It will be in the format "set{aRole name}".
- * For example, a role named "department" would return
- * setDepartment.
- */
-public static String getSetterName(CommonRelationshipRole aRole) {
- if (aRole == null) return null;
- String arg = firstAsUppercase(aRole.getName());
- return SETTER_NAME_PREFIX + arg;
-}
-/**
- * Return true if the multiplicity is many.
- */
-public static boolean isMany(CommonRelationshipRole aRole) {
- return aRole != null && aRole.isMany();
-}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/StatefulSessionBeanClassVRule.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/StatefulSessionBeanClassVRule.java
deleted file mode 100644
index ced1f6599..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/StatefulSessionBeanClassVRule.java
+++ /dev/null
@@ -1,250 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaHelpers;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.jst.j2ee.ejb.Session;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-
-/**
- * @version 1.0
- * @author
- */
-public final class StatefulSessionBeanClassVRule extends ASessionBeanClassVRule implements IMessagePrefixEjb20Constants {
- private static final Object ID = IValidationRuleList.EJB20_STATEFUL_SESSION_BEANCLASS;
- private static final Object[] DEPENDS_ON = new Object[]{IValidationRuleList.EJB20_STATEFUL_SESSION_HOME, IValidationRuleList.EJB20_STATEFUL_SESSION_LOCALHOME, IValidationRuleList.EJB20_STATEFUL_SESSION_LOCAL, IValidationRuleList.EJB20_STATEFUL_SESSION_REMOTE};
- private static final Map MESSAGE_IDS;
-
- private static final String MSSGID = ".sb"; // In messages, to identify which message version belongs to the BMP bean class, this id is used. //$NON-NLS-1$
- private static final String EXT = MSSGID + SPEC; // Extension to be used on non-method, non-field messages
- private static final String BEXT = MSSGID + ON_BASE_SPEC; // Extension to be used on a method/field message when the method/field is inherited from a base type
- private static final String MEXT = MSSGID + ON_THIS_SPEC; // Extension to be used on a method/field message when the method/field is implemented on the current type
- private static final String SMSSGID = ".sfb"; //$NON-NLS-1$
-
- private final long[] SUPERTYPES = new long[]{JAVAX_EJB_SESSIONBEAN};
-
- private final long[] SHOULD_NOT_BE_SUPERTYPES = new long[]{LOCAL_COMPONENT_INTERFACE, REMOTE_COMPONENT_INTERFACE};
- private final boolean SHOULD_BE_ABSTRACT = false;
- private final boolean SHOULD_BE_FINAL = false;
- private final boolean SHOULD_BE_PUBLIC = true;
- private final boolean SHOULD_VALIDATE_TRANSIENT_FIELD = true;
-
- private final long[] METHODS_WHICH_MUST_EXIST = new long[]{EJBCREATE, CONSTRUCTOR_NOPARM, EJBREMOVE_NOPARM, EJBPASSIVATE_NOPARM};
- private final long[] METHODS_WHICH_MUST_NOT_EXIST = new long[]{FINALIZE_NOPARM};
- private final long[] KNOWN_METHOD_TYPES = new long[]{CLINIT, CONSTRUCTOR_NOPARM, CONSTRUCTOR, EJBCREATE, EJBCREATE_NOPARM, EJBREMOVE_NOPARM, EJBACTIVATE_NOPARM, EJBPASSIVATE_NOPARM, FINALIZE_NOPARM, BUSINESS};
-
- static {
- MESSAGE_IDS = new HashMap();
-
- MESSAGE_IDS.put(CHKJ2003I, new String[]{CHKJ2003I+SPEC});
- MESSAGE_IDS.put(CHKJ2014, new String[]{CHKJ2014+EXT});
- MESSAGE_IDS.put(CHKJ2015, new String[]{CHKJ2015+EXT});
- MESSAGE_IDS.put(CHKJ2017, new String[]{CHKJ2017+EXT});
-
- MESSAGE_IDS.put(CHKJ2022, new String[]{CHKJ2022+EXT});
-
- MESSAGE_IDS.put(CHKJ2040, new String[]{CHKJ2040+EXT});
-
- MESSAGE_IDS.put(CHKJ2050_constr, new String[]{CHKJ2050_constr+EXT});
- MESSAGE_IDS.put(CHKJ2050_ejbCreate, new String[]{CHKJ2050_ejbCreate + SMSSGID + SPEC}); // special case (stateful message differs from stateless message)
- MESSAGE_IDS.put(CHKJ2050_ejbRemove, new String[]{CHKJ2050_ejbRemove+EXT});
- MESSAGE_IDS.put(CHKJ2050_ejbPassivate, new String[]{CHKJ2050_ejbPassivate+EXT});
-
- MESSAGE_IDS.put(CHKJ2103, new String[]{CHKJ2103+SPEC});
- MESSAGE_IDS.put(CHKJ2404, new String[]{CHKJ2404+ON_BASE_SPEC, CHKJ2404+ON_THIS_SPEC}); // special case (shared by all types)
-
- MESSAGE_IDS.put(CHKJ2411, new String[]{CHKJ2411+BEXT, CHKJ2411+MEXT});
- MESSAGE_IDS.put(CHKJ2416, new String[]{CHKJ2416+ON_BASE_SPEC, CHKJ2416+ON_THIS_SPEC}); // special case (shared by all types)
-
- MESSAGE_IDS.put(CHKJ2421, new String[]{CHKJ2421+BEXT, CHKJ2421+MEXT});
- MESSAGE_IDS.put(CHKJ2422, new String[]{CHKJ2422+BEXT, CHKJ2422+MEXT});
- MESSAGE_IDS.put(CHKJ2423, new String[]{CHKJ2423+BEXT, CHKJ2423+MEXT});
- MESSAGE_IDS.put(CHKJ2424, new String[]{CHKJ2424+BEXT, CHKJ2424+MEXT});
- MESSAGE_IDS.put(CHKJ2426, new String[]{CHKJ2426+BEXT, CHKJ2426+MEXT});
- MESSAGE_IDS.put(CHKJ2427, new String[]{CHKJ2427+BEXT, CHKJ2427+MEXT});
- MESSAGE_IDS.put(CHKJ2428, new String[]{CHKJ2428+BEXT, CHKJ2428+MEXT});
-
- MESSAGE_IDS.put(CHKJ2431, new String[]{CHKJ2431+BEXT, CHKJ2431+MEXT});
- MESSAGE_IDS.put(CHKJ2439, new String[]{CHKJ2439+BEXT, CHKJ2439+MEXT});
-
- MESSAGE_IDS.put(CHKJ2441, new String[]{CHKJ2441+BEXT, CHKJ2441+MEXT});
- MESSAGE_IDS.put(CHKJ2442, new String[]{CHKJ2442+BEXT, CHKJ2442+MEXT});
- MESSAGE_IDS.put(CHKJ2443, new String[]{CHKJ2443+BEXT, CHKJ2443+MEXT});
-
- MESSAGE_IDS.put(CHKJ2452, new String[]{CHKJ2452+BEXT, CHKJ2452+MEXT});
- MESSAGE_IDS.put(CHKJ2453, new String[]{CHKJ2453+BEXT, CHKJ2453+MEXT});
- MESSAGE_IDS.put(CHKJ2456, new String[]{CHKJ2456+ON_BASE, CHKJ2456+ON_THIS}); // special case (shared by all types)
-
- MESSAGE_IDS.put(CHKJ2493, new String[]{CHKJ2493+BEXT, CHKJ2493+MEXT});
- MESSAGE_IDS.put(CHKJ2494, new String[]{CHKJ2494+BEXT, CHKJ2494+MEXT});
-
- MESSAGE_IDS.put(CHKJ2500_ejbCreate, new String[]{CHKJ2500_ejbCreate+BEXT, CHKJ2500_ejbCreate+MEXT});
- MESSAGE_IDS.put(CHKJ2500_business, new String[]{CHKJ2500_business+BEXT, CHKJ2500_business+MEXT});
- MESSAGE_IDS.put(CHKJ2502_finalize, new String[]{CHKJ2502_finalize+BEXT, CHKJ2502_finalize+MEXT});
-
- MESSAGE_IDS.put(CHKJ2503_bus, new String[]{CHKJ2503_bus+BEXT, CHKJ2503_bus+MEXT});
- MESSAGE_IDS.put(CHKJ2503_ejbCreate, new String[]{CHKJ2503_ejbCreate+BEXT, CHKJ2503_ejbCreate+MEXT});
-
- MESSAGE_IDS.put(CHKJ2505_ejbRemove, new String[]{CHKJ2505_ejbRemove+BEXT, CHKJ2505_ejbRemove+MEXT});
- }
-
- public final Map getMessageIds() {
- return MESSAGE_IDS;
- }
-
- public final int getMessageRemoteExceptionSeverity() {
- return MESSAGE_REMOTE_EXCEPTION_SEVERITY;
- }
-
- public final Object[] getDependsOn() {
- return DEPENDS_ON;
- }
-
- public final Object getId() {
- return ID;
- }
-
- public final long[] getSupertypes() {
- return SUPERTYPES;
- }
-
- public final boolean shouldValidateTransientField() {
- return SHOULD_VALIDATE_TRANSIENT_FIELD;
- }
-
- public final long[] getShouldNotBeSupertypes() {
- return SHOULD_NOT_BE_SUPERTYPES;
- }
-
- public final boolean shouldBeAbstract(JavaClass clazz) {
- return SHOULD_BE_ABSTRACT;
- }
-
- public final boolean shouldBeFinal(JavaClass clazz) {
- return SHOULD_BE_FINAL;
- }
-
- public final boolean shouldBePublic(JavaClass clazz) {
- return SHOULD_BE_PUBLIC;
- }
-
- public final int isRemote() {
- return NEITHER;
- }
-
- public final long[] getMethodsWhichMustExist() {
- return METHODS_WHICH_MUST_EXIST;
- }
-
- public final long[] getMethodsWhichMustNotExist() {
- return METHODS_WHICH_MUST_NOT_EXIST;
- }
-
- public final JavaHelpers getEjbCreateReturnType(EnterpriseBean bean, Method method) throws InvalidInputException {
- return ValidationRuleUtility.getType(ITypeConstants.VOID, bean);
- }
-
- public final String getEjbCreateReturnTypeName(EnterpriseBean bean, Method method) throws InvalidInputException {
- return ITypeConstants.VOID;
- }
-
- public final long[] getKnownMethodTypes() {
- return KNOWN_METHOD_TYPES;
- }
-
- public void validate(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) throws ValidationCancelledException, InvalidInputException, ValidationException {
- long methodType = MethodUtility.getUtility().getMethodTypeId(bean, clazz, method, methodsExtendedLists, this);
-
- if((methodType & EJBCREATE) == EJBCREATE) {
- validateEjbCreateMethod(vc, bean, clazz, method, methodsExtendedLists);
- }
- else if((methodType & EJBPOSTCREATE) == EJBPOSTCREATE) {
- validateEjbPostCreateMethod(vc, bean, clazz, method);
- }
- else if((methodType & EJBREMOVE_NOPARM) == EJBREMOVE_NOPARM) {
- validateEjbRemoveMethod(vc, bean, clazz, method);
- }
- else if((methodType & BUSINESS) == BUSINESS) {
- validateBusinessMethod(vc, bean, clazz, method, methodsExtendedLists);
- }
- else {
- // Method isn't supposed to be here. Let the validateMethodsWhichMustNotExist
- // take care of it.
- }
- }
-
- public String getMatchingHomeMethodName(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) {
- long methodType = MethodUtility.getUtility().getMethodTypeId(bean, clazz, method, methodsExtendedLists, this);
-
- if((methodType & EJBCREATE) == EJBCREATE) {
- return getMatchingEjbCreateMethodName(vc, method);
- }
- else if((methodType & EJBPOSTCREATE) == EJBPOSTCREATE) {
- return getMatchingEjbPostCreateMethodName(vc, method);
- }
- else if((methodType & EJBREMOVE_NOPARM) == EJBREMOVE_NOPARM) {
- return getNoMatchingMethodName(vc, method);
- }
- else if((methodType & BUSINESS) == BUSINESS) {
- return getMatchingBusinessMethodName(vc, method);
- }
- else {
- // Method isn't supposed to be here.
- return getNoMatchingMethodName(vc, method);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.validation.internal.core.core.ejb.ejb20.rules.IClassVRule#validate(org.eclipse.wst.validation.internal.core.core.ejb.IValidationContext, org.eclipse.jst.j2ee.internal.ejb.EnterpriseBean, org.eclipse.jem.internal.java.JavaClass)
- */
- public void validate(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws ValidationCancelledException, InvalidInputException, ValidationException {
- super.validate(vc, bean, clazz);
- Session session = (Session)bean;
- boolean isBeanManagedStateful = (ValidationRuleUtility.isValidTransactionTypeElement(session) && ValidationRuleUtility.isBeanManagedSession(session) && ValidationRuleUtility.isStateful(session));
-
- if (isBeanManagedStateful) {
- /*
- * 6.5.3 The optional SessionSynchronization interface
- *...
- * Only a stateful Session bean with container-managed transaction demarcation may
- * implement the SessionSynchronization interface.
- *...
- * There is no need for a Session bean with bean-managed transaction to rely on the
- * synchronization call backs because the bean is in control of the commit the bean
- * knows when the transaction is about to be committed and it knows the outcome of the
- * transaction commit.
- *...
- */
- try {
- JavaHelpers ss = ValidationRuleUtility.getType(ITypeConstants.CLASSNAME_JAVAX_EJB_SESSIONSYNCHRONIZATION, bean);
- if (ValidationRuleUtility.isAssignableFrom(bean.getEjbClass(), ss)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2003I, IEJBValidationContext.INFO, bean, bean.getEjbClass(), this);
- vc.addMessage(message);
- }
- }
- catch (InvalidInputException e) {
- String[] msgParm = { ValidationRuleUtility.getQualifiedName(bean.getEjbClass()), ValidationRuleUtility.getQualifiedName(e.getJavaClass())};
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2907, IEJBValidationContext.WARNING, bean, msgParm, this);
- vc.addMessage(message);
- }
- }
- }
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/StatefulSessionLocalComponentVRule.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/StatefulSessionLocalComponentVRule.java
deleted file mode 100644
index c08a32fcf..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/StatefulSessionLocalComponentVRule.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import java.util.HashMap;
-import java.util.Map;
-
-
-
-/**
- * @version 1.0
- * @author
- */
-public final class StatefulSessionLocalComponentVRule extends AComponentVRule implements ILocalType, IComponentType, IMessagePrefixEjb20Constants {
- private static final Object ID = IValidationRuleList.EJB20_STATEFUL_SESSION_LOCAL;
- private static final Object[] DEPENDS_ON = new Object[]{IValidationRuleList.EJB20_STATEFUL_SESSION_BEANCLASS};
- private static final Map MESSAGE_IDS;
-
- private static final String MSSGID = ".slc"; // In messages, to identify which message version belongs to the BMP bean class, this id is used. //$NON-NLS-1$
- private static final String EXT = MSSGID + SPEC; // Extension to be used on non-method, non-field messages
- private static final String BEXT = MSSGID + ON_BASE_SPEC; // Extension to be used on a method/field message when the method/field is inherited from a base type
- private static final String MEXT = MSSGID + ON_THIS_SPEC; // Extension to be used on a method/field message when the method/field is implemented on the current type
-
- private final long[] SUPERTYPES = new long[]{JAVAX_EJB_EJBLOCALOBJECT};
- private final long[] SHOULD_NOT_BE_SUPERTYPES = null;
-
- private final long[] METHODS_WHICH_MUST_EXIST = null;
- private static final long[] METHODS_WHICH_MUST_NOT_EXIST = new long[]{};
-
- private final long[] KNOWN_METHOD_TYPES = new long[]{CLINIT};
-
- static {
- MESSAGE_IDS = new HashMap();
-
- MESSAGE_IDS.put(CHKJ2017, new String[]{CHKJ2017+EXT});
-
- MESSAGE_IDS.put(CHKJ2023, new String[]{CHKJ2023+BEXT, CHKJ2023+MEXT});
-
- MESSAGE_IDS.put(CHKJ2105, new String[]{CHKJ2105+SPEC});
- MESSAGE_IDS.put(CHKJ2404, new String[]{CHKJ2404+ON_BASE_SPEC, CHKJ2404+ON_THIS_SPEC}); // special case (shared by all types)
-
- MESSAGE_IDS.put(CHKJ2416, new String[]{CHKJ2416+ON_BASE_SPEC, CHKJ2416+ON_THIS_SPEC}); // special case (shared by all types)
-
- MESSAGE_IDS.put(CHKJ2433, new String[]{CHKJ2433});
-
- MESSAGE_IDS.put(CHKJ2468, new String[]{CHKJ2468+BEXT, CHKJ2468+MEXT});
- MESSAGE_IDS.put(CHKJ2469, new String[]{CHKJ2469+BEXT, CHKJ2469+MEXT});
-
- MESSAGE_IDS.put(CHKJ2470, new String[]{CHKJ2470+BEXT, CHKJ2470+MEXT});
- MESSAGE_IDS.put(CHKJ2471, new String[]{CHKJ2471+BEXT, CHKJ2471+MEXT});
- MESSAGE_IDS.put(CHKJ2472, new String[]{CHKJ2472+BEXT, CHKJ2472+MEXT});
-
- MESSAGE_IDS.put(CHKJ2503_bus, new String[]{CHKJ2503_bus+BEXT, CHKJ2503_bus+MEXT});
-
- MESSAGE_IDS.put(CHKJ2907, new String[]{CHKJ2907});
- }
-
- public final Map getMessageIds() {
- return MESSAGE_IDS;
- }
-
- public final int getMessageRemoteExceptionSeverity() {
- return MESSAGE_REMOTE_EXCEPTION_SEVERITY;
- }
-
- public final Object[] getDependsOn() {
- return DEPENDS_ON;
- }
-
- public final Object getId() {
- return ID;
- }
-
- public final long[] getBaseTypes() {
- return getSupertypes();
- }
-
- public final long[] getSupertypes() {
- return SUPERTYPES;
- }
-
- public final long[] getShouldNotBeSupertypes() {
- return SHOULD_NOT_BE_SUPERTYPES;
- }
-
-
- public final int isRemote() {
- return IS_REMOTE;
- }
-
- public final long[] getMethodsWhichMustExist() {
- return METHODS_WHICH_MUST_EXIST;
- }
-
- public final long[] getMethodsWhichMustNotExist() {
- return METHODS_WHICH_MUST_NOT_EXIST;
- }
-
- public final long[] getKnownMethodTypes() {
- return KNOWN_METHOD_TYPES;
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/StatefulSessionLocalHomeVRule.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/StatefulSessionLocalHomeVRule.java
deleted file mode 100644
index 476d0ba7c..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/StatefulSessionLocalHomeVRule.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import java.util.HashMap;
-import java.util.Map;
-
-
-
-/**
- * @version 1.0
- * @author
- */
-public final class StatefulSessionLocalHomeVRule extends ASessionHomeVRule implements ILocalType, IHomeType, IMessagePrefixEjb20Constants {
- private static final Object ID = IValidationRuleList.EJB20_STATEFUL_SESSION_LOCALHOME;
- private static final Object[] DEPENDS_ON = new Object[]{IValidationRuleList.EJB20_STATEFUL_SESSION_BEANCLASS};
- private static final Map MESSAGE_IDS;
-
- private static final String MSSGID = ".slh"; // In messages, to identify which message version belongs to the BMP bean class, this id is used. //$NON-NLS-1$
- private static final String EXT = MSSGID + SPEC; // Extension to be used on non-method, non-field messages
- private static final String BEXT = MSSGID + ON_BASE_SPEC; // Extension to be used on a method/field message when the method/field is inherited from a base type
- private static final String MEXT = MSSGID + ON_THIS_SPEC; // Extension to be used on a method/field message when the method/field is implemented on the current type
- private static final String SFMSSGID = ".sflh"; //$NON-NLS-1$
-
- private final long[] SUPERTYPES = new long[]{JAVAX_EJB_EJBLOCALHOME};
- private final long[] SHOULD_NOT_BE_SUPERTYPES = null;
-
- private final long[] METHODS_WHICH_MUST_EXIST = new long[]{CREATE};
- private final long[] METHODS_WHICH_MUST_NOT_EXIST = new long[]{};
-
- private final long[] KNOWN_METHOD_TYPES = new long[]{CLINIT, CREATE};
-
- static {
- MESSAGE_IDS = new HashMap();
-
- MESSAGE_IDS.put(CHKJ2017, new String[]{CHKJ2017+EXT});
-
- MESSAGE_IDS.put(CHKJ2040, new String[]{CHKJ2040+EXT});
-
- MESSAGE_IDS.put(CHKJ2050_create, new String[]{CHKJ2050_create+EXT});
-
- MESSAGE_IDS.put(CHKJ2104, new String[]{CHKJ2104+SPEC});
- MESSAGE_IDS.put(CHKJ2402, new String[]{CHKJ2402+SFMSSGID+ON_BASE+SPEC, CHKJ2402+SFMSSGID+ON_THIS+SPEC}); // special case (diff string than stateless bean)
- MESSAGE_IDS.put(CHKJ2404, new String[]{CHKJ2404+ON_BASE_SPEC, CHKJ2404+ON_THIS_SPEC}); // special case (shared by all types)
-
- MESSAGE_IDS.put(CHKJ2416, new String[]{CHKJ2416+ON_BASE_SPEC, CHKJ2416+ON_THIS_SPEC}); // special case (shared by all types)
-
- MESSAGE_IDS.put(CHKJ2433, new String[]{CHKJ2433});
-
- MESSAGE_IDS.put(CHKJ2461, new String[]{CHKJ2461+BEXT, CHKJ2461+MEXT});
- MESSAGE_IDS.put(CHKJ2465, new String[]{CHKJ2465+BEXT, CHKJ2465+MEXT});
- MESSAGE_IDS.put(CHKJ2466, new String[]{CHKJ2466+BEXT, CHKJ2466+MEXT});
- MESSAGE_IDS.put(CHKJ2467, new String[]{CHKJ2467+BEXT, CHKJ2467+MEXT});
-
- MESSAGE_IDS.put(CHKJ2500_create, new String[]{CHKJ2500_create+BEXT, CHKJ2500_create+MEXT});
- MESSAGE_IDS.put(CHKJ2502, new String[]{CHKJ2502+BEXT, CHKJ2502+MEXT});
- MESSAGE_IDS.put(CHKJ2503_create, new String[]{CHKJ2503_create+BEXT, CHKJ2503_create+MEXT});
- MESSAGE_IDS.put(CHKJ2504_create, new String[]{CHKJ2504_create+BEXT, CHKJ2504_create+MEXT});
-
- MESSAGE_IDS.put(CHKJ2907, new String[]{CHKJ2907});
- }
-
- public final long[] getBaseTypes() {
- return getSupertypes();
- }
-
- public final Map getMessageIds() {
- return MESSAGE_IDS;
- }
-
- public final int getMessageRemoteExceptionSeverity() {
- return MESSAGE_REMOTE_EXCEPTION_SEVERITY;
- }
-
- public final Object[] getDependsOn() {
- return DEPENDS_ON;
- }
-
- public final Object getId() {
- return ID;
- }
-
- public final long[] getSupertypes() {
- return SUPERTYPES;
- }
-
- public final long[] getShouldNotBeSupertypes() {
- return SHOULD_NOT_BE_SUPERTYPES;
- }
-
- public final int isRemote() {
- return IS_REMOTE;
- }
-
- public final long[] getMethodsWhichMustExist() {
- return METHODS_WHICH_MUST_EXIST;
- }
-
- public final long[] getMethodsWhichMustNotExist() {
- return METHODS_WHICH_MUST_NOT_EXIST;
- }
-
- public final long[] getKnownMethodTypes() {
- return KNOWN_METHOD_TYPES;
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/StatefulSessionRemoteComponentVRule.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/StatefulSessionRemoteComponentVRule.java
deleted file mode 100644
index e97d380a3..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/StatefulSessionRemoteComponentVRule.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import java.util.HashMap;
-import java.util.Map;
-
-
-
-/**
- * @version 1.0
- * @author
- */
-public final class StatefulSessionRemoteComponentVRule extends AComponentVRule implements IRemoteType, IComponentType, IMessagePrefixEjb20Constants {
- private static final Object ID = IValidationRuleList.EJB20_STATEFUL_SESSION_REMOTE;
- private static final Object[] DEPENDS_ON = new Object[]{IValidationRuleList.EJB20_STATEFUL_SESSION_BEANCLASS};
- private static final Map MESSAGE_IDS;
-
- private static final String MSSGID = ".src"; // In messages, to identify which message version belongs to the BMP bean class, this id is used. //$NON-NLS-1$
- private static final String EXT = MSSGID + SPEC; // Extension to be used on non-method, non-field messages
- private static final String BEXT = MSSGID + ON_BASE_SPEC; // Extension to be used on a method/field message when the method/field is inherited from a base type
- private static final String MEXT = MSSGID + ON_THIS_SPEC; // Extension to be used on a method/field message when the method/field is implemented on the current type
-
- private final long[] SUPERTYPES = new long[]{JAVAX_EJB_EJBOBJECT};
- private final long[] SHOULD_NOT_BE_SUPERTYPES = null;
-
- private final long[] METHODS_WHICH_MUST_EXIST = null;
- private static final long[] METHODS_WHICH_MUST_NOT_EXIST = new long[]{};
-
- private final long[] KNOWN_METHOD_TYPES = new long[]{CLINIT};
-
- static {
- MESSAGE_IDS = new HashMap();
-
- MESSAGE_IDS.put(CHKJ2017, new String[]{CHKJ2017+EXT});
-
- MESSAGE_IDS.put(CHKJ2023, new String[]{CHKJ2023+BEXT, CHKJ2023+MEXT});
-
- MESSAGE_IDS.put(CHKJ2105, new String[]{CHKJ2105+SPEC});
- MESSAGE_IDS.put(CHKJ2404, new String[]{CHKJ2404+ON_BASE_SPEC, CHKJ2404+ON_THIS_SPEC}); // special case (shared by all types)
-
- MESSAGE_IDS.put(CHKJ2416, new String[]{CHKJ2416+ON_BASE_SPEC, CHKJ2416+ON_THIS_SPEC}); // special case (shared by all types)
-
- MESSAGE_IDS.put(CHKJ2433, new String[]{CHKJ2433});
-
- MESSAGE_IDS.put(CHKJ2500_create, new String[]{CHKJ2500_create+BEXT, CHKJ2500_create+MEXT});
- MESSAGE_IDS.put(CHKJ2500_home, new String[]{CHKJ2500_home+BEXT, CHKJ2500_home+MEXT});
- MESSAGE_IDS.put(CHKJ2503_bus, new String[]{CHKJ2503_bus+BEXT, CHKJ2503_bus+MEXT});
-
- MESSAGE_IDS.put(CHKJ2468, new String[]{CHKJ2468+BEXT, CHKJ2468+MEXT});
- MESSAGE_IDS.put(CHKJ2469, new String[]{CHKJ2469+BEXT, CHKJ2469+MEXT});
-
- MESSAGE_IDS.put(CHKJ2470, new String[]{CHKJ2470+BEXT, CHKJ2470+MEXT});
- MESSAGE_IDS.put(CHKJ2471, new String[]{CHKJ2471+BEXT, CHKJ2471+MEXT});
- MESSAGE_IDS.put(CHKJ2472, new String[]{CHKJ2472+BEXT, CHKJ2472+MEXT});
- MESSAGE_IDS.put(CHKJ2500_business, new String[]{CHKJ2500_business+BEXT, CHKJ2500_business+MEXT});
-
- MESSAGE_IDS.put(CHKJ2907, new String[]{CHKJ2907});
- }
-
- public final Map getMessageIds() {
- return MESSAGE_IDS;
- }
-
- public final int getMessageRemoteExceptionSeverity() {
- return MESSAGE_REMOTE_EXCEPTION_SEVERITY;
- }
-
- public final Object[] getDependsOn() {
- return DEPENDS_ON;
- }
-
- public final Object getId() {
- return ID;
- }
-
- public final long[] getBaseTypes() {
- return getSupertypes();
- }
-
- public final long[] getSupertypes() {
- return SUPERTYPES;
- }
-
- public final long[] getShouldNotBeSupertypes() {
- return SHOULD_NOT_BE_SUPERTYPES;
- }
-
-
- public final int isRemote() {
- return IS_REMOTE;
- }
-
- public final long[] getMethodsWhichMustExist() {
- return METHODS_WHICH_MUST_EXIST;
- }
-
- public final long[] getMethodsWhichMustNotExist() {
- return METHODS_WHICH_MUST_NOT_EXIST;
- }
-
- public final long[] getKnownMethodTypes() {
- return KNOWN_METHOD_TYPES;
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/StatefulSessionRemoteHomeVRule.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/StatefulSessionRemoteHomeVRule.java
deleted file mode 100644
index df034061c..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/StatefulSessionRemoteHomeVRule.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import java.util.HashMap;
-import java.util.Map;
-
-
-
-/**
- * @version 1.0
- * @author
- */
-public final class StatefulSessionRemoteHomeVRule extends ASessionHomeVRule implements IRemoteType, IHomeType, IMessagePrefixEjb20Constants {
- private static final Object ID = IValidationRuleList.EJB20_STATEFUL_SESSION_HOME;
- private static final Object[] DEPENDS_ON = new Object[]{IValidationRuleList.EJB20_STATEFUL_SESSION_BEANCLASS};
- private static final Map MESSAGE_IDS;
-
- private static final String MSSGID = ".srh"; // In messages, to identify which message version belongs to the BMP bean class, this id is used. //$NON-NLS-1$
- private static final String EXT = MSSGID + SPEC; // Extension to be used on non-method, non-field messages
- private static final String BEXT = MSSGID + ON_BASE + SPEC; // Extension to be used on a method/field message when the method/field is inherited from a base type
- private static final String MEXT = MSSGID + ON_THIS + SPEC; // Extension to be used on a method/field message when the method/field is implemented on the current type
- private static final String SFMSSGID = ".sfrh"; //$NON-NLS-1$
-
- private final long[] SUPERTYPES = new long[]{JAVAX_EJB_EJBHOME};
- private final long[] SHOULD_NOT_BE_SUPERTYPES = null;
- private final long[] METHODS_WHICH_MUST_EXIST = new long[]{CREATE};
- private final long[] METHODS_WHICH_MUST_NOT_EXIST = new long[]{};
-
- private final long[] KNOWN_METHOD_TYPES = new long[]{CLINIT, CREATE};
-
- static {
- MESSAGE_IDS = new HashMap();
-
- MESSAGE_IDS.put(CHKJ2017, new String[]{CHKJ2017+EXT});
-
- MESSAGE_IDS.put(CHKJ2040, new String[]{CHKJ2040+EXT});
-
- MESSAGE_IDS.put(CHKJ2050_create, new String[]{CHKJ2050_create+EXT});
-
- MESSAGE_IDS.put(CHKJ2104, new String[]{CHKJ2104+SPEC});
- MESSAGE_IDS.put(CHKJ2402, new String[]{CHKJ2402+SFMSSGID+ON_BASE+SPEC, CHKJ2402+SFMSSGID+ON_THIS+SPEC});
- MESSAGE_IDS.put(CHKJ2404, new String[]{CHKJ2404+ON_BASE_SPEC, CHKJ2404+ON_THIS_SPEC}); // special case (shared by all types)
-
- MESSAGE_IDS.put(CHKJ2416, new String[]{CHKJ2416+ON_BASE_SPEC, CHKJ2416+ON_THIS_SPEC}); // special case (shared by all types)
-
- MESSAGE_IDS.put(CHKJ2433, new String[]{CHKJ2433});
-
- MESSAGE_IDS.put(CHKJ2461, new String[]{CHKJ2461+BEXT, CHKJ2461+MEXT});
- MESSAGE_IDS.put(CHKJ2465, new String[]{CHKJ2465+BEXT, CHKJ2465+MEXT});
- MESSAGE_IDS.put(CHKJ2466, new String[]{CHKJ2466+BEXT, CHKJ2466+MEXT});
- MESSAGE_IDS.put(CHKJ2467, new String[]{CHKJ2467+BEXT, CHKJ2467+MEXT});
-
- MESSAGE_IDS.put(CHKJ2500_create, new String[]{CHKJ2500_create+BEXT, CHKJ2500_create+MEXT});
- MESSAGE_IDS.put(CHKJ2502, new String[]{CHKJ2502+BEXT, CHKJ2502+MEXT});
- MESSAGE_IDS.put(CHKJ2503_create, new String[]{CHKJ2503_create+BEXT, CHKJ2503_create+MEXT});
- MESSAGE_IDS.put(CHKJ2504_create, new String[]{CHKJ2504_create+BEXT, CHKJ2504_create+MEXT});
-
- MESSAGE_IDS.put(CHKJ2907, new String[]{CHKJ2907});
- }
-
- public final long[] getBaseTypes() {
- return getSupertypes();
- }
-
- public final Map getMessageIds() {
- return MESSAGE_IDS;
- }
-
- public final int getMessageRemoteExceptionSeverity() {
- return MESSAGE_REMOTE_EXCEPTION_SEVERITY;
- }
-
- public final Object[] getDependsOn() {
- return DEPENDS_ON;
- }
-
- public final Object getId() {
- return ID;
- }
-
- public final long[] getSupertypes() {
- return SUPERTYPES;
- }
-
- public final long[] getShouldNotBeSupertypes() {
- return SHOULD_NOT_BE_SUPERTYPES;
- }
-
- public final int isRemote() {
- return IS_REMOTE;
- }
-
- public final long[] getMethodsWhichMustExist() {
- return METHODS_WHICH_MUST_EXIST;
- }
-
- public final long[] getMethodsWhichMustNotExist() {
- return METHODS_WHICH_MUST_NOT_EXIST;
- }
-
- public final long[] getKnownMethodTypes() {
- return KNOWN_METHOD_TYPES;
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/StatelessSessionBeanClassVRule.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/StatelessSessionBeanClassVRule.java
deleted file mode 100644
index d8c632344..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/StatelessSessionBeanClassVRule.java
+++ /dev/null
@@ -1,258 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaHelpers;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-
-/**
- * @version 1.0
- * @author
- */
-public final class StatelessSessionBeanClassVRule extends ASessionBeanClassVRule implements IMessagePrefixEjb20Constants {
- private static final Object ID = IValidationRuleList.EJB20_STATELESS_SESSION_BEANCLASS;
- private static final Object[] DEPENDS_ON = new Object[]{IValidationRuleList.EJB20_STATELESS_SESSION_HOME, IValidationRuleList.EJB20_STATELESS_SESSION_LOCALHOME, IValidationRuleList.EJB20_STATELESS_SESSION_REMOTE, IValidationRuleList.EJB20_STATELESS_SESSION_LOCAL};
- private static final Map MESSAGE_IDS;
-
- private static final String MSSGID = ".sb"; // In messages, to identify which message version belongs to the BMP bean class, this id is used. //$NON-NLS-1$
- private static final String EXT = MSSGID + SPEC; // Extension to be used on non-method, non-field messages
- private static final String BEXT = MSSGID + ON_BASE + SPEC; // Extension to be used on a method/field message when the method/field is inherited from a base type
- private static final String MEXT = MSSGID + ON_THIS + SPEC; // Extension to be used on a method/field message when the method/field is implemented on the current type
- private static final String SMSSGID = ".ssb"; //$NON-NLS-1$
-
- private final long[] SUPERTYPES = new long[]{JAVAX_EJB_SESSIONBEAN};
- private final long[] SHOULD_NOT_BE_SUPERTYPES = new long[]{LOCAL_COMPONENT_INTERFACE, REMOTE_COMPONENT_INTERFACE};
- private final long[] METHODS_WHICH_MUST_EXIST = new long[]{EJBCREATE_NOPARM, CONSTRUCTOR_NOPARM, EJBREMOVE_NOPARM, EJBPASSIVATE_NOPARM};
- private final long[] METHODS_WHICH_MUST_NOT_EXIST = new long[]{FINALIZE_NOPARM};
- private final long[] KNOWN_METHOD_TYPES = new long[]{CLINIT, CONSTRUCTOR_NOPARM, EJBCREATE_NOPARM, CONSTRUCTOR, EJBREMOVE_NOPARM, EJBACTIVATE_NOPARM, EJBPASSIVATE_NOPARM, FINALIZE_NOPARM, BUSINESS};
-
- private final boolean SHOULD_BE_ABSTRACT = false;
- private final boolean SHOULD_BE_FINAL = false;
- private final boolean SHOULD_BE_PUBLIC = true;
- private final boolean SHOULD_VALIDATE_TRANSIENT_FIELD = true;
-
- static {
- MESSAGE_IDS = new HashMap();
-
- MESSAGE_IDS.put(CHKJ2003E, new String[]{CHKJ2003E+SPEC});
- MESSAGE_IDS.put(CHKJ2014, new String[]{CHKJ2014+EXT});
- MESSAGE_IDS.put(CHKJ2015, new String[]{CHKJ2015+EXT});
- MESSAGE_IDS.put(CHKJ2017, new String[]{CHKJ2017+EXT});
-
- MESSAGE_IDS.put(CHKJ2022, new String[]{CHKJ2022+EXT});
-
- MESSAGE_IDS.put(CHKJ2040, new String[]{CHKJ2040+EXT});
-
- MESSAGE_IDS.put(CHKJ2050_constr, new String[]{CHKJ2050_constr+EXT});
- MESSAGE_IDS.put(CHKJ2050_ejbCreate, new String[]{CHKJ2050_ejbCreate+SMSSGID+SPEC});
- MESSAGE_IDS.put(CHKJ2050_ejbRemove, new String[]{CHKJ2050_ejbRemove+EXT});
- MESSAGE_IDS.put(CHKJ2050_ejbPassivate, new String[]{CHKJ2050_ejbPassivate+EXT});
-
- MESSAGE_IDS.put(CHKJ2103, new String[]{CHKJ2103+SPEC});
-
- MESSAGE_IDS.put(CHKJ2404, new String[]{CHKJ2404+ON_BASE_SPEC, CHKJ2404+ON_THIS_SPEC}); // special case (shared by all types)
- MESSAGE_IDS.put(CHKJ2411, new String[]{CHKJ2411+BEXT, CHKJ2411+MEXT});
- MESSAGE_IDS.put(CHKJ2416, new String[]{CHKJ2416+ON_BASE_SPEC, CHKJ2416+ON_THIS_SPEC}); // special case (shared by all types)
-
- MESSAGE_IDS.put(CHKJ2421, new String[]{CHKJ2421+BEXT, CHKJ2421+MEXT});
- MESSAGE_IDS.put(CHKJ2422, new String[]{CHKJ2422+BEXT, CHKJ2422+MEXT});
- MESSAGE_IDS.put(CHKJ2423, new String[]{CHKJ2423+BEXT, CHKJ2423+MEXT});
- MESSAGE_IDS.put(CHKJ2424, new String[]{CHKJ2424+BEXT, CHKJ2424+MEXT});
- MESSAGE_IDS.put(CHKJ2426, new String[]{CHKJ2426+BEXT, CHKJ2426+MEXT});
- MESSAGE_IDS.put(CHKJ2427, new String[]{CHKJ2427+BEXT, CHKJ2427+MEXT});
- MESSAGE_IDS.put(CHKJ2428, new String[]{CHKJ2428+BEXT, CHKJ2428+MEXT});
-
- MESSAGE_IDS.put(CHKJ2431, new String[]{CHKJ2431+BEXT, CHKJ2431+MEXT});
- MESSAGE_IDS.put(CHKJ2433, new String[]{CHKJ2433});
- MESSAGE_IDS.put(CHKJ2439, new String[]{CHKJ2439+BEXT, CHKJ2439+MEXT});
-
- MESSAGE_IDS.put(CHKJ2441, new String[]{CHKJ2441+BEXT, CHKJ2441+MEXT});
- MESSAGE_IDS.put(CHKJ2442, new String[]{CHKJ2442+BEXT, CHKJ2442+MEXT});
- MESSAGE_IDS.put(CHKJ2443, new String[]{CHKJ2443+BEXT, CHKJ2443+MEXT});
-
- MESSAGE_IDS.put(CHKJ2452, new String[]{CHKJ2452+BEXT, CHKJ2452+MEXT});
- MESSAGE_IDS.put(CHKJ2453, new String[]{CHKJ2453+BEXT, CHKJ2453+MEXT});
- MESSAGE_IDS.put(CHKJ2456, new String[]{CHKJ2456+ON_BASE, CHKJ2456+ON_THIS}); // special case (shared by all types)
-
- MESSAGE_IDS.put(CHKJ2476, new String[]{CHKJ2476+SMSSGID + ON_BASE+SPEC, CHKJ2476+SMSSGID+ON_THIS+SPEC});
- MESSAGE_IDS.put(CHKJ2492, new String[]{CHKJ2492+BEXT, CHKJ2492+MEXT});
- MESSAGE_IDS.put(CHKJ2493, new String[]{CHKJ2493+BEXT, CHKJ2493+MEXT});
- MESSAGE_IDS.put(CHKJ2494, new String[]{CHKJ2494+BEXT, CHKJ2494+MEXT});
-
- MESSAGE_IDS.put(CHKJ2500_ejbCreate, new String[]{CHKJ2500_ejbCreate+BEXT, CHKJ2500_ejbCreate+MEXT});
- MESSAGE_IDS.put(CHKJ2500_business, new String[]{CHKJ2500_business+BEXT, CHKJ2500_business+MEXT});
- MESSAGE_IDS.put(CHKJ2502_finalize, new String[]{CHKJ2502_finalize+BEXT, CHKJ2502_finalize+MEXT});
-
- MESSAGE_IDS.put(CHKJ2503_bus, new String[]{CHKJ2503_bus+BEXT, CHKJ2503_bus+MEXT});
- MESSAGE_IDS.put(CHKJ2503_ejbCreate, new String[]{CHKJ2503_ejbCreate+BEXT, CHKJ2503_ejbCreate+MEXT});
-
- MESSAGE_IDS.put(CHKJ2505_ejbRemove, new String[]{CHKJ2505_ejbRemove+BEXT, CHKJ2505_ejbRemove+MEXT});
-
- MESSAGE_IDS.put(CHKJ2907, new String[]{CHKJ2907});
- }
-
- public final Map getMessageIds() {
- return MESSAGE_IDS;
- }
-
- public final int getMessageRemoteExceptionSeverity() {
- return MESSAGE_REMOTE_EXCEPTION_SEVERITY;
- }
-
- public final Object[] getDependsOn() {
- return DEPENDS_ON;
- }
-
- public final Object getId() {
- return ID;
- }
-
- public final long[] getSupertypes() {
- return SUPERTYPES;
- }
-
- public final boolean shouldValidateTransientField() {
- return SHOULD_VALIDATE_TRANSIENT_FIELD;
- }
-
- public final long[] getShouldNotBeSupertypes() {
- return SHOULD_NOT_BE_SUPERTYPES;
- }
-
- public final boolean shouldBeAbstract(JavaClass clazz) {
- return SHOULD_BE_ABSTRACT;
- }
-
- public final boolean shouldBeFinal(JavaClass clazz) {
- return SHOULD_BE_FINAL;
- }
-
- public final boolean shouldBePublic(JavaClass clazz) {
- return SHOULD_BE_PUBLIC;
- }
-
- public final int isRemote() {
- return NEITHER;
- }
-
- public final long[] getMethodsWhichMustExist() {
- return METHODS_WHICH_MUST_EXIST;
- }
-
- public final long[] getMethodsWhichMustNotExist() {
- return METHODS_WHICH_MUST_NOT_EXIST;
- }
-
- public final JavaHelpers getEjbCreateReturnType(EnterpriseBean bean, Method method) throws InvalidInputException {
- return ValidationRuleUtility.getType(ITypeConstants.VOID, bean);
- }
-
- public final String getEjbCreateReturnTypeName(EnterpriseBean bean, Method method) throws InvalidInputException {
- return ITypeConstants.VOID;
- }
-
- public final long[] getKnownMethodTypes() {
- return KNOWN_METHOD_TYPES;
- }
-
- public void validate(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) throws ValidationCancelledException, InvalidInputException, ValidationException {
- long methodType = MethodUtility.getUtility().getMethodTypeId(bean, clazz, method, methodsExtendedLists, this);
-
- if((methodType & EJBCREATE) == EJBCREATE) {
- validateEjbCreateMethod(vc, bean, clazz, method, methodsExtendedLists);
- }
- else if((methodType & EJBPOSTCREATE) == EJBPOSTCREATE) {
- validateEjbPostCreateMethod(vc, bean, clazz, method);
- }
- else if((methodType & EJBREMOVE_NOPARM) == EJBREMOVE_NOPARM) {
- validateEjbRemoveMethod(vc, bean, clazz, method);
- }
- else if((methodType & BUSINESS) == BUSINESS) {
- validateBusinessMethod(vc, bean, clazz, method, methodsExtendedLists);
- }
- else {
- // Method isn't supposed to be here. Let the validateMethodsWhichMustNotExist
- // take care of it.
- }
- }
-
- public String getMatchingHomeMethodName(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) {
- long methodType = MethodUtility.getUtility().getMethodTypeId(bean, clazz, method, methodsExtendedLists, this);
-
- if((methodType & EJBCREATE) == EJBCREATE) {
- return getMatchingEjbCreateMethodName(vc, method);
- }
- else if((methodType & EJBPOSTCREATE) == EJBPOSTCREATE) {
- return getMatchingEjbPostCreateMethodName(vc, method);
- }
- else if((methodType & EJBREMOVE_NOPARM) == EJBREMOVE_NOPARM) {
- return getNoMatchingMethodName(vc, method);
- }
- else if((methodType & BUSINESS) == BUSINESS) {
- return getMatchingBusinessMethodName(vc, method);
- }
- else {
- // Method isn't supposed to be here.
- return getNoMatchingMethodName(vc, method);
- }
- }
-
- public void validateEjbCreateMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method, List[] methodsExtendedLists) throws ValidationCancelledException, InvalidInputException, ValidationException {
- if((method.listParametersWithoutReturn().length != 0) || (!IMethodAndFieldConstants.METHODNAME_EJBCREATE.equals(method.getName()))) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb20Constants.CHKJ2476, IEJBValidationContext.ERROR, bean, clazz, method, this);
- vc.addMessage(message);
- }
- else {
- super.validateEjbCreateMethod(vc, bean, clazz, method, methodsExtendedLists);
- }
- }
- /* (non-Javadoc)
- * @see org.eclipse.wst.validation.internal.core.core.ejb.ejb20.rules.IClassVRule#validate(org.eclipse.wst.validation.internal.core.core.ejb.IValidationContext, org.eclipse.jst.j2ee.internal.ejb.EnterpriseBean, org.eclipse.jem.internal.java.JavaClass)
- */
- public void validate(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws ValidationCancelledException, InvalidInputException, ValidationException {
- // TODO Auto-generated method stub
- super.validate(vc, bean, clazz);
- /*
- * 6.5.3 The optional SessionSynchronization interface
- *...
- * Only a stateful Session bean with container-managed transaction demarcation may
- * implement the SessionSynchronization interface.
- *...
- * There is no need for a Session bean with bean-managed transaction to rely on the
- * synchronization call backs because the bean is in control of the commit the bean
- * knows when the transaction is about to be committed and it knows the outcome of the
- * transaction commit.
- *...
- */
- try {
- JavaHelpers ss = ValidationRuleUtility.getType(ITypeConstants.CLASSNAME_JAVAX_EJB_SESSIONSYNCHRONIZATION, bean);
- if (ValidationRuleUtility.isAssignableFrom(bean.getEjbClass(), ss)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2003E, IEJBValidationContext.ERROR, bean, bean.getEjbClass(), this);
- vc.addMessage(message);
- }
- }
- catch (InvalidInputException e) {
- String[] msgParm = { ValidationRuleUtility.getQualifiedName(bean.getEjbClass()), ValidationRuleUtility.getQualifiedName(e.getJavaClass())};
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2907, IEJBValidationContext.WARNING, bean, msgParm, this);
- vc.addMessage(message);
- }
- }
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/StatelessSessionLocalComponentVRule.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/StatelessSessionLocalComponentVRule.java
deleted file mode 100644
index c8cc3d9ab..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/StatelessSessionLocalComponentVRule.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import java.util.HashMap;
-import java.util.Map;
-
-
-
-/**
- * @version 1.0
- * @author
- */
-public final class StatelessSessionLocalComponentVRule extends AComponentVRule implements ILocalType, IComponentType, IMessagePrefixEjb20Constants {
- private static final Object ID = IValidationRuleList.EJB20_STATELESS_SESSION_LOCAL;
- private static final Object[] DEPENDS_ON = new Object[]{IValidationRuleList.EJB20_STATELESS_SESSION_BEANCLASS};
- private static final Map MESSAGE_IDS;
-
- private static final String MSSGID = ".slc"; // In messages, to identify which message version belongs to the BMP bean class, this id is used. //$NON-NLS-1$
- private static final String EXT = MSSGID + SPEC; // Extension to be used on non-method, non-field messages
- private static final String BEXT = MSSGID + ON_BASE_SPEC; // Extension to be used on a method/field message when the method/field is inherited from a base type
- private static final String MEXT = MSSGID + ON_THIS_SPEC; // Extension to be used on a method/field message when the method/field is implemented on the current type
-
- private final long[] SUPERTYPES = new long[]{JAVAX_EJB_EJBLOCALOBJECT};
- private final long[] SHOULD_NOT_BE_SUPERTYPES = null;
-
- private final long[] METHODS_WHICH_MUST_EXIST = null;
- private static final long[] METHODS_WHICH_MUST_NOT_EXIST = new long[]{};
-
- private final long[] KNOWN_METHOD_TYPES = new long[]{CLINIT};
-
- static {
- MESSAGE_IDS = new HashMap();
-
- MESSAGE_IDS.put(CHKJ2017, new String[]{CHKJ2017+EXT});
-
- MESSAGE_IDS.put(CHKJ2023, new String[]{CHKJ2023+BEXT, CHKJ2023+MEXT});
-
- MESSAGE_IDS.put(CHKJ2105, new String[]{CHKJ2105+SPEC});
- MESSAGE_IDS.put(CHKJ2404, new String[]{CHKJ2404+ON_BASE_SPEC, CHKJ2404+ON_THIS_SPEC}); // special case (shared by all types)
-
- MESSAGE_IDS.put(CHKJ2416, new String[]{CHKJ2416+ON_BASE_SPEC, CHKJ2416+ON_THIS_SPEC}); // special case (shared by all types)
-
- MESSAGE_IDS.put(CHKJ2433, new String[]{CHKJ2433});
-
- MESSAGE_IDS.put(CHKJ2468, new String[]{CHKJ2468+BEXT, CHKJ2468+MEXT});
- MESSAGE_IDS.put(CHKJ2469, new String[]{CHKJ2469+BEXT, CHKJ2469+MEXT});
-
- MESSAGE_IDS.put(CHKJ2470, new String[]{CHKJ2470+BEXT, CHKJ2470+MEXT});
- MESSAGE_IDS.put(CHKJ2471, new String[]{CHKJ2471+BEXT, CHKJ2471+MEXT});
- MESSAGE_IDS.put(CHKJ2472, new String[]{CHKJ2472+BEXT, CHKJ2472+MEXT});
-
- MESSAGE_IDS.put(CHKJ2503_bus, new String[]{CHKJ2503_bus+BEXT, CHKJ2503_bus+MEXT});
-
- MESSAGE_IDS.put(CHKJ2907, new String[]{CHKJ2907});
- }
-
- public final Map getMessageIds() {
- return MESSAGE_IDS;
- }
-
- public final int getMessageRemoteExceptionSeverity() {
- return MESSAGE_REMOTE_EXCEPTION_SEVERITY;
- }
-
- public final Object[] getDependsOn() {
- return DEPENDS_ON;
- }
-
- public final Object getId() {
- return ID;
- }
-
- public final long[] getBaseTypes() {
- return getSupertypes();
- }
-
- public final long[] getSupertypes() {
- return SUPERTYPES;
- }
-
- public final long[] getShouldNotBeSupertypes() {
- return SHOULD_NOT_BE_SUPERTYPES;
- }
-
- public final int isRemote() {
- return IS_REMOTE;
- }
-
- public final long[] getMethodsWhichMustExist() {
- return METHODS_WHICH_MUST_EXIST;
- }
-
- public final long[] getMethodsWhichMustNotExist() {
- return METHODS_WHICH_MUST_NOT_EXIST;
- }
-
- public final long[] getKnownMethodTypes() {
- return KNOWN_METHOD_TYPES;
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/StatelessSessionLocalHomeVRule.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/StatelessSessionLocalHomeVRule.java
deleted file mode 100644
index ebb83b446..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/StatelessSessionLocalHomeVRule.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import java.util.HashMap;
-import java.util.Map;
-
-
-
-/**
- * @version 1.0
- * @author
- */
-public final class StatelessSessionLocalHomeVRule extends AStatelessHomeVRule implements ILocalType, IHomeType, IMessagePrefixEjb20Constants {
- private static final Object ID = IValidationRuleList.EJB20_STATELESS_SESSION_LOCALHOME;
- private static final Object[] DEPENDS_ON = new Object[]{IValidationRuleList.EJB20_STATELESS_SESSION_BEANCLASS};
- private static final Map MESSAGE_IDS;
-
- private static final String MSSGID = ".slh"; // In messages, to identify which message version belongs to the BMP bean class, this id is used. //$NON-NLS-1$
- private static final String EXT = MSSGID + SPEC; // Extension to be used on non-method, non-field messages
- private static final String BEXT = MSSGID + ON_BASE_SPEC; // Extension to be used on a method/field message when the method/field is inherited from a base type
- private static final String MEXT = MSSGID + ON_THIS_SPEC; // Extension to be used on a method/field message when the method/field is implemented on the current type
- private static final String SMSSGID = ".sslh"; // In messages, to identify which message version belongs to the BMP bean class, this id is used. //$NON-NLS-1$
-
- private final long[] SUPERTYPES = new long[]{JAVAX_EJB_EJBLOCALHOME};
- private final long[] SHOULD_NOT_BE_SUPERTYPES = null;
- private final long[] METHODS_WHICH_MUST_EXIST = new long[]{CREATE_NOPARM};
- private final long[] METHODS_WHICH_MUST_NOT_EXIST = new long[]{};
-
- private final long[] KNOWN_METHOD_TYPES = new long[]{CLINIT, CREATE_NOPARM, CREATE, FINALIZE_NOPARM};
-
- static {
- MESSAGE_IDS = new HashMap();
-
- MESSAGE_IDS.put(CHKJ2017, new String[]{CHKJ2017+EXT});
-
- MESSAGE_IDS.put(CHKJ2050_create, new String[]{CHKJ2050_create+SMSSGID+SPEC});
-
- MESSAGE_IDS.put(CHKJ2104, new String[]{CHKJ2104+SPEC});
- MESSAGE_IDS.put(CHKJ2402, new String[]{CHKJ2402+SMSSGID+ON_BASE+SPEC, CHKJ2402+SMSSGID+ON_THIS+SPEC});
- MESSAGE_IDS.put(CHKJ2404, new String[]{CHKJ2404+ON_BASE_SPEC, CHKJ2404+ON_THIS_SPEC}); // special case (shared by all types)
-
- MESSAGE_IDS.put(CHKJ2416, new String[]{CHKJ2416+ON_BASE_SPEC, CHKJ2416+ON_THIS_SPEC}); // special case (shared by all types)
-
- MESSAGE_IDS.put(CHKJ2433, new String[]{CHKJ2433});
-
- MESSAGE_IDS.put(CHKJ2461, new String[]{CHKJ2461+BEXT, CHKJ2461+MEXT});
- MESSAGE_IDS.put(CHKJ2465, new String[]{CHKJ2465+BEXT, CHKJ2465+MEXT});
- MESSAGE_IDS.put(CHKJ2466, new String[]{CHKJ2466+BEXT, CHKJ2466+MEXT});
- MESSAGE_IDS.put(CHKJ2467, new String[]{CHKJ2467+BEXT, CHKJ2467+MEXT});
-
- MESSAGE_IDS.put(CHKJ2476, new String[]{CHKJ2476+BEXT, CHKJ2476+MEXT});
-
- MESSAGE_IDS.put(CHKJ2500_create, new String[]{CHKJ2500_create+BEXT, CHKJ2500_create+MEXT});
- MESSAGE_IDS.put(CHKJ2500_home, new String[]{CHKJ2500_home+BEXT, CHKJ2500_home+MEXT});
- MESSAGE_IDS.put(CHKJ2502, new String[]{CHKJ2502+BEXT, CHKJ2502+MEXT});
- MESSAGE_IDS.put(CHKJ2503_create, new String[]{CHKJ2503_create+BEXT, CHKJ2503_create+MEXT});
- MESSAGE_IDS.put(CHKJ2504_create, new String[]{CHKJ2504_create+BEXT, CHKJ2504_create+MEXT});
-
- MESSAGE_IDS.put(CHKJ2907, new String[]{CHKJ2907});
- }
-
- public final long[] getBaseTypes() {
- return getSupertypes();
- }
-
- public final Map getMessageIds() {
- return MESSAGE_IDS;
- }
-
- public final int getMessageRemoteExceptionSeverity() {
- return MESSAGE_REMOTE_EXCEPTION_SEVERITY;
- }
-
- public final Object[] getDependsOn() {
- return DEPENDS_ON;
- }
-
- public final Object getId() {
- return ID;
- }
-
- public final long[] getSupertypes() {
- return SUPERTYPES;
- }
-
- public final long[] getShouldNotBeSupertypes() {
- return SHOULD_NOT_BE_SUPERTYPES;
- }
-
- public final int isRemote() {
- return IS_REMOTE;
- }
-
- public final long[] getMethodsWhichMustExist() {
- return METHODS_WHICH_MUST_EXIST;
- }
-
- public final long[] getMethodsWhichMustNotExist() {
- return METHODS_WHICH_MUST_NOT_EXIST;
- }
-
- public final long[] getKnownMethodTypes() {
- return KNOWN_METHOD_TYPES;
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/StatelessSessionRemoteComponentVRule.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/StatelessSessionRemoteComponentVRule.java
deleted file mode 100644
index ebfd6fde6..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/StatelessSessionRemoteComponentVRule.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import java.util.HashMap;
-import java.util.Map;
-
-
-
-/**
- * @version 1.0
- * @author
- */
-public final class StatelessSessionRemoteComponentVRule extends AComponentVRule implements IRemoteType, IComponentType, IMessagePrefixEjb20Constants {
- private static final Object ID = IValidationRuleList.EJB20_STATELESS_SESSION_REMOTE;
- private static final Object[] DEPENDS_ON = new Object[]{IValidationRuleList.EJB20_STATELESS_SESSION_BEANCLASS};
- private static final Map MESSAGE_IDS;
-
- private static final String MSSGID = ".src"; // In messages, to identify which message version belongs to the BMP bean class, this id is used. //$NON-NLS-1$
- private static final String EXT = MSSGID + SPEC; // Extension to be used on non-method, non-field messages
- private static final String BEXT = MSSGID + ON_BASE_SPEC; // Extension to be used on a method/field message when the method/field is inherited from a base type
- private static final String MEXT = MSSGID + ON_THIS_SPEC; // Extension to be used on a method/field message when the method/field is implemented on the current type
-
- private final long[] SUPERTYPES = new long[]{JAVAX_EJB_EJBOBJECT};
- private final long[] SHOULD_NOT_BE_SUPERTYPES = null;
-
- private final long[] METHODS_WHICH_MUST_EXIST = null;
- private static final long[] METHODS_WHICH_MUST_NOT_EXIST = new long[]{};
-
- private final long[] KNOWN_METHOD_TYPES = new long[]{CLINIT};
-
- static {
- MESSAGE_IDS = new HashMap();
-
- MESSAGE_IDS.put(CHKJ2017, new String[]{CHKJ2017+EXT});
-
- MESSAGE_IDS.put(CHKJ2023, new String[]{CHKJ2023+BEXT, CHKJ2023+MEXT});
-
- MESSAGE_IDS.put(CHKJ2105, new String[]{CHKJ2105+SPEC});
- MESSAGE_IDS.put(CHKJ2404, new String[]{CHKJ2404+ON_BASE_SPEC, CHKJ2404+ON_THIS_SPEC}); // special case (shared by all types)
-
- MESSAGE_IDS.put(CHKJ2416, new String[]{CHKJ2416+ON_BASE_SPEC, CHKJ2416+ON_THIS_SPEC}); // special case (shared by all types)
-
- MESSAGE_IDS.put(CHKJ2433, new String[]{CHKJ2433});
-
- MESSAGE_IDS.put(CHKJ2468, new String[]{CHKJ2468+BEXT, CHKJ2468+MEXT});
- MESSAGE_IDS.put(CHKJ2469, new String[]{CHKJ2469+BEXT, CHKJ2469+MEXT});
-
- MESSAGE_IDS.put(CHKJ2470, new String[]{CHKJ2470+BEXT, CHKJ2470+MEXT});
- MESSAGE_IDS.put(CHKJ2471, new String[]{CHKJ2471+BEXT, CHKJ2471+MEXT});
- MESSAGE_IDS.put(CHKJ2472, new String[]{CHKJ2472+BEXT, CHKJ2472+MEXT});
-
- MESSAGE_IDS.put(CHKJ2500_business, new String[]{CHKJ2500_business+BEXT, CHKJ2500_business+MEXT});
- MESSAGE_IDS.put(CHKJ2500_create, new String[]{CHKJ2500_create+BEXT, CHKJ2500_create+MEXT});
- MESSAGE_IDS.put(CHKJ2500_home, new String[]{CHKJ2500_home+BEXT, CHKJ2500_home+MEXT});
- MESSAGE_IDS.put(CHKJ2503_bus, new String[]{CHKJ2503_bus+BEXT, CHKJ2503_bus+MEXT});
-
- MESSAGE_IDS.put(CHKJ2907, new String[]{CHKJ2907});
- }
-
- public final Map getMessageIds() {
- return MESSAGE_IDS;
- }
-
- public final int getMessageRemoteExceptionSeverity() {
- return MESSAGE_REMOTE_EXCEPTION_SEVERITY;
- }
-
- public final Object[] getDependsOn() {
- return DEPENDS_ON;
- }
-
- public final Object getId() {
- return ID;
- }
-
- public final long[] getBaseTypes() {
- return getSupertypes();
- }
-
- public final long[] getSupertypes() {
- return SUPERTYPES;
- }
-
- public final long[] getShouldNotBeSupertypes() {
- return SHOULD_NOT_BE_SUPERTYPES;
- }
-
- public final int isRemote() {
- return IS_REMOTE;
- }
-
- public final long[] getMethodsWhichMustExist() {
- return METHODS_WHICH_MUST_EXIST;
- }
-
- public final long[] getMethodsWhichMustNotExist() {
- return METHODS_WHICH_MUST_NOT_EXIST;
- }
-
- public final long[] getKnownMethodTypes() {
- return KNOWN_METHOD_TYPES;
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/StatelessSessionRemoteHomeVRule.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/StatelessSessionRemoteHomeVRule.java
deleted file mode 100644
index f25b17f4e..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/StatelessSessionRemoteHomeVRule.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import java.util.HashMap;
-import java.util.Map;
-
-
-
-/**
- * @version 1.0
- * @author
- */
-public final class StatelessSessionRemoteHomeVRule extends AStatelessHomeVRule implements IRemoteType, IHomeType, IMessagePrefixEjb20Constants {
- private static final Object ID = IValidationRuleList.EJB20_STATELESS_SESSION_HOME;
- private static final Object[] DEPENDS_ON = new Object[]{IValidationRuleList.EJB20_STATELESS_SESSION_BEANCLASS};
- private static final Map MESSAGE_IDS;
-
- private static final String MSSGID = ".srh"; // In messages, to identify which message version belongs to the BMP bean class, this id is used. //$NON-NLS-1$
- private static final String EXT = MSSGID + SPEC; // Extension to be used on non-method, non-field messages
- private static final String BEXT = MSSGID + ON_BASE_SPEC; // Extension to be used on a method/field message when the method/field is inherited from a base type
- private static final String MEXT = MSSGID + ON_THIS_SPEC; // Extension to be used on a method/field message when the method/field is implemented on the current type
- private static final String SMSSGID = ".ssrh"; // In messages, to identify which message version belongs to the BMP bean class, this id is used. //$NON-NLS-1$
-
- private final long[] SUPERTYPES = new long[]{JAVAX_EJB_EJBHOME};
- private final long[] SHOULD_NOT_BE_SUPERTYPES = null;
- private final long[] METHODS_WHICH_MUST_EXIST = new long[]{CREATE_NOPARM};
- private final long[] METHODS_WHICH_MUST_NOT_EXIST = new long[]{};
-
- private final long[] KNOWN_METHOD_TYPES = new long[]{CLINIT, CREATE_NOPARM, CREATE, FINALIZE_NOPARM};
-
- static {
- MESSAGE_IDS = new HashMap();
-
- MESSAGE_IDS.put(CHKJ2017, new String[]{CHKJ2017+EXT});
-
- MESSAGE_IDS.put(CHKJ2040, new String[]{CHKJ2040+EXT});
-
- MESSAGE_IDS.put(CHKJ2050_create, new String[]{CHKJ2050_create+SMSSGID+SPEC});
-
- MESSAGE_IDS.put(CHKJ2104, new String[]{CHKJ2104+SPEC});
- MESSAGE_IDS.put(CHKJ2402, new String[]{CHKJ2402+SMSSGID+ON_BASE+SPEC, CHKJ2402+SMSSGID+ON_THIS+SPEC});
- MESSAGE_IDS.put(CHKJ2404, new String[]{CHKJ2404+ON_BASE_SPEC, CHKJ2404+ON_THIS_SPEC}); // special case (shared by all types)
-
- MESSAGE_IDS.put(CHKJ2416, new String[]{CHKJ2416+ON_BASE_SPEC, CHKJ2416+ON_THIS_SPEC}); // special case (shared by all types)
-
- MESSAGE_IDS.put(CHKJ2433, new String[]{CHKJ2433});
-
- MESSAGE_IDS.put(CHKJ2461, new String[]{CHKJ2461+BEXT, CHKJ2461+MEXT});
- MESSAGE_IDS.put(CHKJ2465, new String[]{CHKJ2465+BEXT, CHKJ2465+MEXT});
- MESSAGE_IDS.put(CHKJ2466, new String[]{CHKJ2466+BEXT, CHKJ2466+MEXT});
- MESSAGE_IDS.put(CHKJ2467, new String[]{CHKJ2467+BEXT, CHKJ2467+MEXT});
-
- MESSAGE_IDS.put(CHKJ2476, new String[]{CHKJ2476+BEXT, CHKJ2476+MEXT});
-
- MESSAGE_IDS.put(CHKJ2500_create, new String[]{CHKJ2500_create+BEXT, CHKJ2500_create+MEXT});
- MESSAGE_IDS.put(CHKJ2500_home, new String[]{CHKJ2500_home+BEXT, CHKJ2500_home+MEXT});
- MESSAGE_IDS.put(CHKJ2502, new String[]{CHKJ2502+BEXT, CHKJ2502+MEXT});
- MESSAGE_IDS.put(CHKJ2503_create, new String[]{CHKJ2503_create+BEXT, CHKJ2503_create+MEXT});
- MESSAGE_IDS.put(CHKJ2504_create, new String[]{CHKJ2504_create+BEXT, CHKJ2504_create+MEXT});
-
- MESSAGE_IDS.put(CHKJ2907, new String[]{CHKJ2907});
- }
-
- public final long[] getBaseTypes() {
- return getSupertypes();
- }
-
- public final Map getMessageIds() {
- return MESSAGE_IDS;
- }
-
- public final int getMessageRemoteExceptionSeverity() {
- return MESSAGE_REMOTE_EXCEPTION_SEVERITY;
- }
-
- public final Object[] getDependsOn() {
- return DEPENDS_ON;
- }
-
- public final Object getId() {
- return ID;
- }
-
- public final long[] getSupertypes() {
- return SUPERTYPES;
- }
-
- public final long[] getShouldNotBeSupertypes() {
- return SHOULD_NOT_BE_SUPERTYPES;
- }
-
- public final int isRemote() {
- return IS_REMOTE;
- }
-
- public final long[] getMethodsWhichMustExist() {
- return METHODS_WHICH_MUST_EXIST;
- }
-
- public final long[] getMethodsWhichMustNotExist() {
- return METHODS_WHICH_MUST_NOT_EXIST;
- }
-
- public final long[] getKnownMethodTypes() {
- return KNOWN_METHOD_TYPES;
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ValidateBMPBean.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ValidateBMPBean.java
deleted file mode 100644
index 6dc852e89..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ValidateBMPBean.java
+++ /dev/null
@@ -1,544 +0,0 @@
-package org.eclipse.jst.j2ee.model.internal.validation;
-
-/*
-* Licensed Material - Property of IBM
-* (C) Copyright IBM Corp. 2001 - All Rights Reserved.
-* US Government Users Restricted Rights - Use, duplication or disclosure
-* restricted by GSA ADP Schedule Contract with IBM Corp.
-*/
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaHelpers;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.jst.j2ee.ejb.Entity;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-
-/**
- * This class checks entity bean classes for errors or potential errors.
- * If any problems are found, an error, warning, or info marker is added to the task list.
- *
- * The following paragraph is taken from
- * Enterprise JavaBeans Specification ("Specification")
- * Version: 1.1
- * Status: Final Release
- * Release: 12/17/99
- * Copyright 1999 Sun Microsystems, Inc.
- * 901 San Antonio Road, Palo Alto, CA 94303, U.S.A.
- * All rights reserved.
- *
- *
- * All 9.2.X sections describe BMP requirements.
- * If a CMP requirement is different than these, then the differences are
- * documented in 9.4.X sections.
- *
- *
- * 9.2.2 Enterprise bean class
- * - The following are the requirements for an entity bean class:
- * - The class must implement, directly or indirectly, the javax.ejb.EntityBean interface.
- * - The class must be defined as public and must not be abstract.
- * - The class must not be defined as final.
- * - The class must define a public constructor that takes no arguments.
- * - The class must not define the finalize() method.
- * - The class may, but is not required to, implement the entity bean's remote interface [9].
- * If the class implements the entity bean's remote interface, the class must provide no-op
- * implementations of the methods defined in the javax.ejb.EJBObject interface. The container
- * will never invoke these methods on the bean instances at runtime.
- * - A no-op implementation of these methods is required to avoid
- * defining the entity bean class as abstract.
- * - The entity bean class must implement the business methods, and the
- * ejbCreate, ejbPostCreate, and ejbFind<METHOD> methods as described
- * later in this section.
- * - The entity bean class may have superclasses and/or superinterfaces.
- * If the entity bean has superclasses, the business methods, the
- * ejbCreate and ejbPostCreate methods, the finder methods, and the
- * methods of the EntityBean interface may be implemented in the
- * enterprise bean class or in any of its superclasses.
- * - The entity bean class is allowed to implement other methods (for
- * example helper methods invoked internally by the business methods)
- * in addition to the methods required by the EJB specification.
- *
- * 9.2.3 ejbCreate methods
- * - The entity bean class may define zero or more ejbCreate(...) methods whose signatures
- * must follow these rules:
- * - The method name must be ejbCreate.
- * - The method must be declared as public.
- * - The method must not be declared as final or static.
- * - The return type must be the entity bean's primary key type.
- * - The method argument and return value types must be legal types for RMI-IIOP.
- * - The throws clause may define arbitrary application specific exceptions,
- * including the javax.ejb.CreateException.
- * - Compatibility Note: EJB 1.0 allowed the ejbCreate method to throw the
- * java.rmi.RemoteException to indicate a non-application exception. This
- * practice is deprecated in EJB 1.1 -- an EJB 1.1 compliant enterprise bean
- * should throw the javax.ejb.EJBException or another java.lang.RuntimeException
- * to indicate non-application exceptions to the Container (see Section 12.2.2).
- * - The entity object created by the ejbCreate method must have a unique primary key.
- * This means that the primary key must be different from the primary keys of all
- * the existing entity objects within the same home. The ejbCreate method should
- * throw the DuplicateKeyException on an attempt to create an entity object with
- * a duplicate primary key. However, it is legal to reuse the primary key of a
- * previously removed entity object.
- *
- * 9.2.4 ejbPostCreate methods
- * - For each ejbCreate(...) method, the entity bean class must define a matching
- * ejbPostCreate(...) method, using the following rules:
- * - The method name must be ejbPostCreate.
- * - The method must be declared as public.
- * - The method must not be declared as final or static.
- * - The return type must be void.
- * - The method arguments must be the same as the arguments of the matching ejbCreate(...) method.
- * - The throws clause may define arbitrary application specific exceptions, including the javax.ejb.CreateException.
- * - Compatibility Note: EJB 1.0 allowed the ejbPostCreate method to throw the
- * java.rmi.RemoteExceptionto indicate a non-application exception. This practice is deprecated in EJB 1.1 -- an EJB 1.1
- * compliant enterprise bean should throw the javax.ejb.EJBException or another java.lang.RuntimeException
- * to indicate non-application exceptions to the Container (see Section 12.2.2).
- *
- * 9.2.5 ejbFind methods
- * - The entity bean class may also define additional ejbFind<METHOD>(...) finder methods.
- * - The signatures of the finder methods must follow the following rules:
- * - A finder method name must start with the prefix "ejbFind"
- * (e.g. ejbFindByPrimaryKey, ejbFindLargeAccounts, ejbFindLateShipments).
- * - A finder method must be declared as public.
- * - The method must not be declared as final or static.
- * - The method argument types must be legal types for RMI-IIOP.
- * - The return type of a finder method must be the entity bean's primary key type,
- * or a collection of primary keys (see Section Subsection 9.1.8).
- * - The throws clause may define arbitrary application specific exceptions, including
- * the javax.ejb.FinderException.
- * - Every entity bean must define the ejbFindByPrimaryKey method. The result type for
- * this method must be the primary key type (i.e. the ejbFindByPrimaryKey method must
- * be a single-object finder).
- * - Compatibility Note: EJB 1.0 allowed the finder methods to throw the
- * java.rmi.RemoteException to indicate a non-application exception.
- * This practice is deprecated in EJB 1.1 -- an EJB 1.1 compliant enterprise bean
- * should throw the javax.ejb.EJBException or another java.lang.RuntimeException
- * to indicate non-application exceptions to the Container (see Section 12.2.2).
- *
- * 9.2.6 Business methods
- * - The entity bean class may define zero or more business methods whose signatures
- * must follow these rules:
- * - The method names can be arbitrary, but they must not start with ejb to
- * avoid conflicts with the callback methods used by the EJB architecture.
- * - The business method must be declared as public.
- * - The method must not be declared as final or static.
- * - The method argument and return value types must be legal types for RMI-IIOP.
- * - The throws clause may define arbitrary application specific exceptions.
- * - Compatibility Note: EJB 1.0 allowed the business methods to throw the
- * java.rmi.RemoteException to indicate a non-application exception. This
- * practice is deprecated in EJB 1.1 -- an EJB 1.1 compliant enterprise bean
- * should throw the javax.ejb.EJBException or another java.lang.RuntimeException
- * to indicate non-application exceptions to the Container (see Section 12.2.2).
- *...
- * 9.2.9 Entity bean's primary key class
- *...
- * - The primary key type must be a legal Value Type in RMI-IIOP.
- *...
- * 18.1.2 Programming restrictions
- * This section describes the programming restrictions that a Bean Provider must follow to ensure that the
- * enterprise bean is portable and can be deployed in any compliant EJB Container. The restrictions apply
- * to the implementation of the business methods. Section 18.2, which describes the Container's view of
- * these restrictions, defines the programming environment that all EJB Containers must provide.
- *
- * - An enterprise Bean must not use read/write static fields. Using read-only static fields is
- * allowed. Therefore, it is recommended that all static fields in the enterprise bean class be
- * declared as final.
- *...
- * - An enterprise Bean must not use thread synchronization primitives to synchronize execution of
- * multiple instances.
- *...
- * - An enterprise Bean must not use the AWT functionality to attempt to output information to a
- * display, or to input information from a keyboard.
- *...
- * - An enterprise bean must not use the java.io package to attempt to access files and directo-ries
- * in the file system.
- *...
- * - An enterprise bean must not attempt to listen on a socket, accept connections on a socket, or
- * use a socket for multicast.
- *...
- * - The enterprise bean must not attempt to query a class to obtain information about the declared
- * members that are not otherwise accessible to the enterprise bean because of the security rules
- * of the Java language. The enterprise bean must not attempt to use the Reflection API to access
- * information that the security rules of the Java programming language make unavailable.
- *...
- * - The enterprise bean must not attempt to create a class loader; obtain the current class loader;
- * set the context class loader; set security manager; create a new security manager; stop the
- * JVM; or change the input, output, and error streams.
- *...
- * - The enterprise bean must not attempt to set the socket factory used by ServerSocket, Socket, or
- * the stream handler factory used by URL.
- *...
- * - The enterprise bean must not attempt to manage threads. The enterprise bean must not attempt
- * to start, stop, suspend, or resume a thread; or to change a thread's priority or name. The enter-prise
- * bean must not attempt to manage thread groups.
- *...
- * - The enterprise bean must not attempt to directly read or write a file descriptor.
- *...
- * - The enterprise bean must not attempt to obtain the security policy information for a particular
- * code source.
- *...
- * - The enterprise bean must not attempt to load a native library.
- *...
- * - The enterprise bean must not attempt to gain access to packages and classes that the usual rules
- * of the Java programming language make unavailable to the enterprise bean.
- *...
- * - The enterprise bean must not attempt to define a class in a package.
- *...
- * - The enterprise bean must not attempt to access or modify the security configuration objects
- * (Policy, Security, Provider, Signer, and Identity).
- *...
- * - The enterprise bean must not attempt to use the subclass and object substitution features of the
- * Java Serialization Protocol.
- *...
- * - The enterprise bean must not attempt to pass this as an argument or method result. The
- * enterprise bean must pass the result of SessionContext.getEJBObject() or EntityContext.
- * getEJBObject() instead.
- *
- */
-public class ValidateBMPBean extends AValidateEntityBean implements IMessagePrefixEjb11Constants {
- private static final String MSSGID = ".eb"; // In messages, to identify which message version belongs to the BMP bean class, this id is used. //$NON-NLS-1$
- private static final String EXT = MSSGID + SPEC; // Extension to be used on non-method, non-field messages
- private static final String BEXT = MSSGID + ON_BASE + SPEC; // Extension to be used on a method/field message when the method/field is inherited from a base type
- private static final String MEXT = MSSGID + ON_THIS + SPEC; // Extension to be used on a method/field message when the method/field is implemented on the current type
-
- private static final Object ID = IValidationRuleList.EJB11_BMP_BEANCLASS;
- private static final Object[] DEPENDS_ON = new Object[]{IValidationRuleList.EJB11_BMP_HOME, IValidationRuleList.EJB11_BMP_REMOTE, IValidationRuleList.EJB11_BMP_KEYCLASS};
- private static final Map MESSAGE_IDS;
-
- boolean hasPKMethod = false;
-
- static {
- MESSAGE_IDS = new HashMap();
-
- MESSAGE_IDS.put(CHKJ2002, new String[]{CHKJ2002+BEXT, CHKJ2002+MEXT});
- MESSAGE_IDS.put(CHKJ2006, new String[]{CHKJ2006+EXT});
- MESSAGE_IDS.put(CHKJ2007, new String[]{CHKJ2007+EXT});
- MESSAGE_IDS.put(CHKJ2009, new String[]{CHKJ2009+EXT});
-
- MESSAGE_IDS.put(CHKJ2013, new String[]{CHKJ2013+EXT});
- MESSAGE_IDS.put(CHKJ2014, new String[]{CHKJ2014+EXT});
- MESSAGE_IDS.put(CHKJ2015, new String[]{CHKJ2015+EXT});
-
- MESSAGE_IDS.put(CHKJ2022, new String[]{CHKJ2022+EXT});
- MESSAGE_IDS.put(CHKJ2028, new String[]{CHKJ2028+BEXT, CHKJ2028+MEXT});
- MESSAGE_IDS.put(CHKJ2029, new String[]{CHKJ2029+BEXT, CHKJ2029+MEXT});
-
- MESSAGE_IDS.put(CHKJ2033, new String[]{CHKJ2033+EXT});
- MESSAGE_IDS.put(CHKJ2034, new String[]{CHKJ2034+EXT});
- MESSAGE_IDS.put(CHKJ2035, new String[]{CHKJ2035+EXT});
- MESSAGE_IDS.put(CHKJ2036, new String[]{CHKJ2036+EXT});
- MESSAGE_IDS.put(CHKJ2037, new String[]{CHKJ2037+EXT});
- MESSAGE_IDS.put(CHKJ2038, new String[]{CHKJ2038+EXT});
- MESSAGE_IDS.put(CHKJ2039, new String[]{CHKJ2039+EXT});
-
- MESSAGE_IDS.put(CHKJ2103, new String[]{CHKJ2103 + SPEC});
- MESSAGE_IDS.put(CHKJ2200, new String[]{CHKJ2200+ON_BASE+SPEC, CHKJ2200+ON_THIS+SPEC}); // CHKJ2200 is a special case. It's shared by all bean types.
-
- MESSAGE_IDS.put(CHKJ2400_bus, new String[]{CHKJ2400_bus+BEXT, CHKJ2400_bus+MEXT});
- MESSAGE_IDS.put(CHKJ2400_ejbCreate, new String[]{CHKJ2400_ejbCreate+BEXT, CHKJ2400_ejbCreate+MEXT});
- MESSAGE_IDS.put(CHKJ2400_ejbFind, new String[]{CHKJ2400_ejbFind+BEXT, CHKJ2400_ejbFind+MEXT});
- MESSAGE_IDS.put(CHKJ2400_ejbPostCreate, new String[]{CHKJ2400_ejbPostCreate+BEXT, CHKJ2400_ejbPostCreate+MEXT});
- MESSAGE_IDS.put(CHKJ2406, new String[]{CHKJ2406+BEXT, CHKJ2406+MEXT});
- MESSAGE_IDS.put(CHKJ2407, new String[]{CHKJ2407+BEXT, CHKJ2407+MEXT});
- MESSAGE_IDS.put(CHKJ2408_bus, new String[]{CHKJ2408_bus+BEXT, CHKJ2408_bus+MEXT});
- MESSAGE_IDS.put(CHKJ2408_ejbCreate, new String[]{CHKJ2408_ejbCreate+BEXT, CHKJ2408_ejbCreate+MEXT});
- MESSAGE_IDS.put(CHKJ2408_ejbFind, new String[]{CHKJ2408_ejbFind+BEXT, CHKJ2408_ejbFind+MEXT});
- MESSAGE_IDS.put(CHKJ2408_ejbPostCreate, new String[]{CHKJ2408_ejbPostCreate+BEXT, CHKJ2408_ejbPostCreate+MEXT});
- MESSAGE_IDS.put(CHKJ2409_bus, new String[]{CHKJ2409_bus+BEXT, CHKJ2409_bus+MEXT});
- MESSAGE_IDS.put(CHKJ2409_ejbCreate, new String[]{CHKJ2409_ejbCreate+BEXT, CHKJ2409_ejbCreate+MEXT});
- MESSAGE_IDS.put(CHKJ2409_ejbFind, new String[]{CHKJ2409_ejbFind+BEXT, CHKJ2409_ejbFind+MEXT});
- MESSAGE_IDS.put(CHKJ2409_ejbPostCreate, new String[]{CHKJ2409_ejbPostCreate+BEXT, CHKJ2409_ejbPostCreate+MEXT});
-
- MESSAGE_IDS.put(CHKJ2410_bus, new String[]{CHKJ2410_bus+BEXT, CHKJ2410_bus+MEXT});
- MESSAGE_IDS.put(CHKJ2410_ejbCreate, new String[]{CHKJ2410_ejbCreate+BEXT, CHKJ2410_ejbCreate+MEXT});
- MESSAGE_IDS.put(CHKJ2410_ejbFind, new String[]{CHKJ2410_ejbFind+BEXT, CHKJ2410_ejbFind+MEXT});
- MESSAGE_IDS.put(CHKJ2410_ejbPostCreate, new String[]{CHKJ2410_ejbPostCreate+BEXT, CHKJ2410_ejbPostCreate+MEXT});
- MESSAGE_IDS.put(CHKJ2411, new String[]{CHKJ2411+BEXT, CHKJ2411+MEXT});
- MESSAGE_IDS.put(CHKJ2412, new String[]{CHKJ2412+BEXT, CHKJ2412+MEXT});
- MESSAGE_IDS.put(CHKJ2413, new String[]{CHKJ2413+BEXT, CHKJ2413+MEXT});
- MESSAGE_IDS.put(CHKJ2414, new String[]{CHKJ2414+BEXT, CHKJ2414+MEXT});
- MESSAGE_IDS.put(CHKJ2418, new String[]{CHKJ2418+BEXT, CHKJ2418+MEXT});
-
- MESSAGE_IDS.put(CHKJ2420, new String[]{CHKJ2420+BEXT, CHKJ2420+MEXT});
-
- MESSAGE_IDS.put(CHKJ2432, new String[]{CHKJ2432+BEXT, CHKJ2432+MEXT});
-
- MESSAGE_IDS.put(CHKJ2041, new String[]{CHKJ2041}); // special case. Shared by all types.
- MESSAGE_IDS.put(CHKJ2433, new String[]{CHKJ2433});
- MESSAGE_IDS.put(CHKJ2456, new String[]{CHKJ2456+ON_BASE, CHKJ2456+ON_THIS}); // special case (shared by all types)
- MESSAGE_IDS.put(CHKJ2907, new String[]{CHKJ2907});
- }
-
- public final Map getMessageIds() {
- return MESSAGE_IDS;
- }
-
- public final Object[] getDependsOn() {
- return DEPENDS_ON;
- }
-
- public final Object getId() {
- return ID;
- }
-
- protected void incrementFindByPrimaryKeyCount(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) {
- if (method == null) {
- return;
- }
- hasPKMethod = true;
- }
-
- /**
- * Checks to see if @ejbMethod is one of the required methods.
- */
- protected void primValidateExistence(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method ejbMethod) throws InvalidInputException {
- super.primValidateExistence(vc, bean, clazz, ejbMethod);
-
- // BMPs must implement ejbFindByPrimaryKey. If it isn't implemented, validateMethodExists() will
- // output an error. (hasPKMethod = true implies implemented, otherwise not implemented)
- if (!hasPKMethod && IMethodAndFieldConstants.METHODNAME_EJBFINDBYPRIMARYKEY.equals(ejbMethod.getName())) {
- incrementFindByPrimaryKeyCount(vc, bean, clazz, ejbMethod);
- }
- vc.terminateIfCancelled();
- }
-
- /**
- * 9.2.6 Business methods
- * - The entity bean class may define zero or more business methods whose signatures
- * must follow these rules:
- * - The method names can be arbitrary, but they must not start with 'ejb' to
- * avoid conflicts with the callback methods used by the EJB architecture.
- * - The business method must be declared as public.
- * - The method must not be declared as final or static.
- * - The method argument and return value types must be legal types for RMI-IIOP.
- * - The throws clause may define arbitrary application specific exceptions.
- * - Compatibility Note: EJB 1.0 allowed the business methods to throw the
- * java.rmi.RemoteException to indicate a non-application exception. This
- * practice is deprecated in EJB 1.1 -- an EJB 1.1 compliant enterprise bean
- * should throw the javax.ejb.EJBException or another java.lang.RuntimeException
- * to indicate non-application exceptions to the Container (see Section 12.2.2).
- */
- public void validateBusinessMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws InvalidInputException {
- // Perform common BMP/CMP business method checks
- super.validateBusinessMethod(vc, bean, clazz, method);
-
- // No specific BMP business method checks.
- // All of the points in 9.2.6 are common to both BMPs & CMPs.
- }
-
- /**
- * 9.2.2 Enterprise bean class
- * - The following are the requirements for an entity bean class:
- * - The class must implement, directly or indirectly, the javax.ejb.EntityBean interface.
- * - The class must be defined as public and must not be abstract.
- * - The class must not be defined as final.
- * - The class must define a public constructor that takes no arguments.
- * - The class must not define the finalize() method.
- * - The class may, but is not required to, implement the entity bean's remote interface [9].
- * If the class implements the entity bean's remote interface, the class must provide no-op
- * implementations of the methods defined in the javax.ejb.EJBObject interface. The container
- * will never invoke these methods on the bean instances at runtime.
- * - A no-op implementation of these methods is required to avoid
- * defining the entity bean class as abstract.
- * - The entity bean class must implement the business methods, and the
- * ejbCreate, ejbPostCreate, and ejbFind<METHOD> methods as described
- * later in this section.
- * - The entity bean class may have superclasses and/or superinterfaces.
- * If the entity bean has superclasses, the business methods, the
- * ejbCreate and ejbPostCreate methods, the finder methods, and the
- * methods of the EntityBean interface may be implemented in the
- * enterprise bean class or in any of its superclasses.
- * - The entity bean class is allowed to implement other methods (for
- * example helper methods invoked internally by the business methods)
- * in addition to the methods required by the EJB specification.
- */
- public void validateClass(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws InvalidInputException {
- // All of the above checks are performed by the parent.
- super.validateClass(vc, bean, clazz);
- }
-
- /**
- * 9.2.5 ejbFind methods
- * - The entity bean class may also define additional ejbFind<METHOD>(...) finder methods.
- * - The signatures of the finder methods must follow the following rules:
- * - A finder method name must start with the prefix "ejbFind"
- * (e.g. ejbFindByPrimaryKey, ejbFindLargeAccounts, ejbFindLateShipments).
- * - A finder method must be declared as public.
- * - The method must not be declared as final or static.
- * - The method argument types must be legal types for RMI-IIOP.
- * - The return type of a finder method must be the entity bean's primary key type,
- * or a collection of primary keys (see Section Subsection 9.1.8).
- * - The throws clause may define arbitrary application specific exceptions, including
- * the javax.ejb.FinderException.
- * - Every entity bean must define the ejbFindByPrimaryKey method. The result type for
- * this method must be the primary key type (i.e. the ejbFindByPrimaryKey method must
- * be a single-object finder).
- * - Compatibility Note: EJB 1.0 allowed the finder methods to throw the
- * java.rmi.RemoteException to indicate a non-application exception.
- * This practice is deprecated in EJB 1.1 -- an EJB 1.1 compliant enterprise bean
- * should throw the javax.ejb.EJBException or another java.lang.RuntimeException
- * to indicate non-application exceptions to the Container (see Section 12.2.2).
- */
- public void validateEjbFindMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws InvalidInputException {
- // A finder method name must start with the prefix "ejbFind"
- // (e.g. ejbFindByPrimaryKey, ejbFindLargeAccounts, ejbFindLateShipments).
- // The method which calls this method performs the above check.
-
- // Every entity bean must define the ejbFindByPrimaryKey method. The result type for
- // this method must be the primary key type (i.e. the ejbFindByPrimaryKey method must
- // be a single-object finder).
- if (method == null) {
- return;
- }
-
- vc.terminateIfCancelled();
- // A finder method must be declared as public.
- if (!ValidationRuleUtility.isPublic(method)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2408_ejbFind, IEJBValidationContext.ERROR, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- // The method must not be declared as final or static.
- if (method.isStatic()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2410_ejbFind, IEJBValidationContext.ERROR, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- if (method.isFinal()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2409_ejbFind, IEJBValidationContext.ERROR, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- // The method argument types must be legal types for RMI-IIOP.
- validateLegalRMIMethodArguments(vc, bean, clazz, method);
-
- // The return type of a finder method must be the entity bean's primary key type,
- // or a collection of primary keys (see Section Subsection 9.1.8).
- validateEjbFindMethod_key(vc, bean, clazz, method);
-
- // Compatibility Note: EJB 1.0 allowed the finder methods to throw the
- // java.rmi.RemoteException to indicate a non-application exception.
- // This practice is deprecated in EJB 1.1 -- an EJB 1.1 compliant enterprise bean
- // should throw the javax.ejb.EJBException or another java.lang.RuntimeException
- // to indicate non-application exceptions to the Container (see Section 12.2.2).
- validateNoRemoteException(vc, bean, clazz, method, IMessagePrefixEjb11Constants.CHKJ2400_ejbFind);
-
- validateEjbFindMethod_homeDep(vc, bean, clazz, method);
- }
-
- /**
- * 9.2.5 ejbFind methods
- * - The entity bean class may also define additional ejbFind<METHOD>(...) finder methods.
- * - The signatures of the finder methods must follow the following rules:
- * - A finder method name must start with the prefix "ejbFind"
- * (e.g. ejbFindByPrimaryKey, ejbFindLargeAccounts, ejbFindLateShipments).
- * - A finder method must be declared as public.
- * - The method must not be declared as final or static.
- * - The method argument types must be legal types for RMI-IIOP.
- * - The return type of a finder method must be the entity bean's primary key type,
- * or a collection of primary keys (see Section Subsection 9.1.8).
- * - The throws clause may define arbitrary application specific exceptions, including
- * the javax.ejb.FinderException.
- * - Every entity bean must define the ejbFindByPrimaryKey method. The result type for
- * this method must be the primary key type (i.e. the ejbFindByPrimaryKey method must
- * be a single-object finder).
- * - Compatibility Note: EJB 1.0 allowed the finder methods to throw the
- * java.rmi.RemoteException to indicate a non-application exception.
- * This practice is deprecated in EJB 1.1 -- an EJB 1.1 compliant enterprise bean
- * should throw the javax.ejb.EJBException or another java.lang.RuntimeException
- * to indicate non-application exceptions to the Container (see Section 12.2.2).
- */
- public void validateEjbFindMethod_key(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws InvalidInputException {
- if (method == null) {
- return;
- }
- // The return type of a finder method must be the entity bean's primary key type,
- // or a collection of primary keys (see Section Subsection 9.1.8).
- vc.terminateIfCancelled();
-
- JavaHelpers returnType = method.getReturnType();
-
- JavaClass primaryKey = ((Entity) bean).getPrimaryKey();
- ValidationRuleUtility.isValidTypeHierarchy(bean, primaryKey);
-
- if( !(ValidationRuleUtility.isAssignableFrom(returnType, primaryKey) ||
- ValidationRuleUtility.isAssignableFromCollection(returnType, bean) ||
- ValidationRuleUtility.isAssignableFromEnumeration(returnType, bean)
- )) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2407, IEJBValidationContext.WARNING, bean, clazz, method, new String[] { primaryKey.getQualifiedName()}, this);
- vc.addMessage(message);
- }
- }
-
- /**
- * Checks that the ejbPostCreate method follows the EJB 1.1. specification.
- *
- * 9.2.4 ejbPostCreate methods
- * - For each ejbCreate(...) method, the entity bean class must define a matching
- * ejbPostCreate(...) method, using the following rules:
- * - The method name must be ejbPostCreate.
- * - The method must be declared as public.
- * - The method must not be declared as final or static.
- * - The return type must be void.
- * - The method arguments must be the same as the arguments of the matching
- * ejbCreate(...) method.
- * - The throws clause may define arbitrary application specific exceptions,
- * including the javax.ejb.CreateException.
- * Compatibility Note: EJB 1.0 allowed the ejbPostCreate method to throw
- * the java.rmi.RemoteException to indicate a non-application exception.
- * This practice is deprecated in EJB 1.1 -- an EJB 1.1 compliant enterprise
- * bean should throw the javax.ejb.EJBException or another
- * java.lang.RuntimeException to indicate non-application exceptions to the
- * Container (see Section 12.2.2).
- *...
- */
- public void validateEjbPostCreateMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws InvalidInputException {
- // Perform common BMP/CMP ejbPostCreate method checks
- super.validateEjbPostCreateMethod(vc, bean, clazz, method);
-
- // No specific BMP ejbPostCreate method checks.
- // All of the points in 9.2.4 are common to both BMPs & CMPs.
- }
-
- /**
- * 9.2.5 ejbFind methods
- *...
- * - Every entity bean must define the ejbFindByPrimaryKey method. The result type for
- * this method must be the primary key type (i.e. the ejbFindByPrimaryKey method must
- * be a single-object finder).
- *...
- */
- public void validateMethodExists(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws InvalidInputException {
- super.validateMethodExists(vc, bean, clazz);
-
- if (!hasPKMethod) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2009, IEJBValidationContext.ERROR, bean, clazz, new String[] { clazz.getQualifiedName()}, this);
- vc.addMessage(message);
- }
- }
-
- public void verifyFieldExists(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws InvalidInputException {
- /*
- // Plus, check that at least one field exists on the bean.
- List fields = getFields();
- if((fields == null) || (fields.size() == 0)) {
- addValidationMessage(IEJBValidationContext.WARNING, IMessagePrefixEjb11Constants.EJB_BMP_NOFIELDS, new String[] {getModelObjectName()}, getModelObject());
- return;
- }
- */
- }
-
- /*
- * @see IValidationRule#preValidate(IEJBValidationContext, Object, Object)
- */
- public void preValidate(IEJBValidationContext vc, Object targetParent, Object target) throws ValidationCancelledException, ValidationException {
- super.preValidate(vc, targetParent, target);
- hasPKMethod = false;
- }
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ValidateBMPHome.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ValidateBMPHome.java
deleted file mode 100644
index 2576c408b..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ValidateBMPHome.java
+++ /dev/null
@@ -1,183 +0,0 @@
-package org.eclipse.jst.j2ee.model.internal.validation;
-
-/*
-* Licensed Material - Property of IBM
-* (C) Copyright IBM Corp. 2001 - All Rights Reserved.
-* US Government Users Restricted Rights - Use, duplication or disclosure
-* restricted by GSA ADP Schedule Contract with IBM Corp.
-*/
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-
-
-/**
- * This class checks bean managed entity home classes for errors or potential errors.
- * If any problems are found, an error, warning, or info marker is added to the task list.
- *
- * The following paragraph is taken from
- * Enterprise JavaBeans Specification ("Specification")
- * Version: 1.1
- * Status: Final Release
- * Release: 12/17/99
- * Copyright 1999 Sun Microsystems, Inc.
- * 901 San Antonio Road, Palo Alto, CA 94303, U.S.A.
- * All rights reserved.
- *
- * 9.2.8 Entity bean's home interface
- * The following are the requirements for the entity bean's home interface:
- * - The interface must extend the javax.ejb.EJBHome interface.
- * - The methods defined in this interface must follow the rules for RMI-IIOP.
- * This means that their argument and return types must be of valid types for
- * RMI-IIOP, and that their throws clause must include the java.rmi.RemoteException.
- * - The home interface is allowed to have superinterfaces. Use of interface
- * inheritance is subject to the RMI-IIOP rules for the definition of remote interfaces.
- * - Each method defined in the home interface must be one of the following:
- * - A create method.
- * - A finder method.
- * - Each create method must be named "create", and it must match one of the
- * ejbCreate methods defined in the enterprise Bean class. The matching
- * ejbCreate method must have the same number and types of its arguments.
- * (Note that the return type is different.)
- * - The return type for a create method must be the entity bean's remote interface type.
- * - All the exceptions defined in the throws clause of the matching ejbCreate
- * and ejbPostCreate methods of the enterprise Bean class must be included in
- * the throws clause of the matching create method of the home interface
- * (i.e the set of exceptions defined for the create method must be a superset
- * of the union of exceptions defined for the ejbCreate and ejbPostCreate methods)
- * - The throws clause of a create method must include the javax.ejb.CreateException.
- * - Each finder method must be named "find<METHOD>" (e.g. findLargeAccounts), and it
- * must match one of the ejbFind<METHOD> methods defined in the entity bean class
- * (e.g. ejbFindLargeAccounts). The matching ejbFind<METHOD> method must have the
- * same number and types of arguments. (Note that the return type may be different.)
- * - The return type for a find<METHOD> method must be the entity bean's remote
- * interface type (for a single-object finder), or a collection thereof (for a
- * multi-object finder).
- * - The home interface must always include the findByPrimaryKey method, which is
- * always a single-object finder. The method must declare the primary key class
- * as the method argument.
- * - All the exceptions defined in the throws clause of an ejbFind method of the
- * entity bean class must be included in the throws clause of the matching find
- * method of the home interface.
- * - The throws clause of a finder method must include the javax.ejb.FinderException.
- */
-public class ValidateBMPHome extends AValidateEntityHome implements IMessagePrefixEjb11Constants {
- private static final String MSSGID = ".eh"; // In messages, to identify which message version belongs to the BMP bean class, this id is used. //$NON-NLS-1$
- private static final String EXT = MSSGID + SPEC; // Extension to be used on non-method, non-field messages
- private static final String BEXT = MSSGID + ON_BASE + SPEC; // Extension to be used on a method/field message when the method/field is inherited from a base type
- private static final String MEXT = MSSGID + ON_THIS + SPEC; // Extension to be used on a method/field message when the method/field is implemented on the current type
-
- private static final Object ID = IValidationRuleList.EJB11_BMP_HOME;
- private static final Object[] DEPENDS_ON = new Object[]{IValidationRuleList.EJB11_BMP_BEANCLASS, IValidationRuleList.EJB11_BMP_KEYCLASS};
- private static final Map MESSAGE_IDS;
-
- static {
- MESSAGE_IDS = new HashMap();
-
- MESSAGE_IDS.put(CHKJ2005, new String[]{CHKJ2005+BEXT, CHKJ2005+MEXT});
-
- MESSAGE_IDS.put(CHKJ2011, new String[]{CHKJ2011+EXT});
- MESSAGE_IDS.put(CHKJ2012, new String[]{CHKJ2012+EXT});
- MESSAGE_IDS.put(CHKJ2017, new String[]{CHKJ2017+EXT});
-
- MESSAGE_IDS.put(CHKJ2026, new String[]{CHKJ2026+BEXT, CHKJ2026+MEXT});
-
- MESSAGE_IDS.put(CHKJ2030, new String[]{CHKJ2030+BEXT, CHKJ2030+MEXT});
-
- MESSAGE_IDS.put(CHKJ2104, new String[]{CHKJ2104 + SPEC});
- MESSAGE_IDS.put(CHKJ2402, new String[]{CHKJ2402+BEXT, CHKJ2402+MEXT});
- MESSAGE_IDS.put(CHKJ2403, new String[]{CHKJ2403+BEXT, CHKJ2403+MEXT});
- MESSAGE_IDS.put(CHKJ2405, new String[]{CHKJ2405+BEXT, CHKJ2405+MEXT});
-
- MESSAGE_IDS.put(CHKJ2412, new String[]{CHKJ2412+BEXT, CHKJ2412+MEXT});
- MESSAGE_IDS.put(CHKJ2413, new String[]{CHKJ2413+BEXT, CHKJ2413+MEXT});
- MESSAGE_IDS.put(CHKJ2414, new String[]{CHKJ2414+BEXT, CHKJ2414+MEXT});
- MESSAGE_IDS.put(CHKJ2415, new String[]{CHKJ2415+BEXT, CHKJ2415+MEXT});
-
- MESSAGE_IDS.put(CHKJ2041, new String[]{CHKJ2041}); // special case. Shared by all types.
- MESSAGE_IDS.put(CHKJ2433, new String[]{CHKJ2433});
- MESSAGE_IDS.put(CHKJ2907, new String[]{CHKJ2907});
- }
-
- public final Map getMessageIds() {
- return MESSAGE_IDS;
- }
-
- public final Object[] getDependsOn() {
- return DEPENDS_ON;
- }
-
- public final Object getId() {
- return ID;
- }
-
- /**
- * 9.2.8 Entity bean's home interface
- * The following are the requirements for the entity bean's home interface:
- * - Each finder method must be named "find<METHOD>" (e.g. findLargeAccounts), and it
- * must match one of the ejbFind<METHOD> methods defined in the entity bean class
- * (e.g. ejbFindLargeAccounts). The matching ejbFind<METHOD> method must have the
- * same number and types of arguments. (Note that the return type may be different.)
- *...
- * - All the exceptions defined in the throws clause of an ejbFind method of the
- * entity bean class must be included in the throws clause of the matching find
- * method of the home interface.
- *...
- */
- public void validateFindMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws InvalidInputException {
- super.validateFindMethod(vc, bean, clazz, method);
-
- if (method == null) {
- return;
- }
-
- // The verifyMatchingBeanFindMethod checks for the two following requirements:
- //
- // Each finder method must be named "find<METHOD>" (e.g. findLargeAccounts), and it
- // must match one of the ejbFind<METHOD> methods defined in the entity bean class
- // (e.g. ejbFindLargeAccounts). The matching ejbFind<METHOD> method must have the
- // same number and types of arguments. (Note that the return type may be different.)
- //
- // All the exceptions defined in the throws clause of an ejbFind method of the
- // entity bean class must be included in the throws clause of the matching find
- // method of the home interface.
- validateFindMethod_beanDep(vc, bean, clazz, method);
-
- }
-
- /**
- * 9.2.8 Entity bean's home interface
- * The following are the requirements for the entity bean's home interface:
- * - Each finder method must be named "find<METHOD>" (e.g. findLargeAccounts), and it
- * must match one of the ejbFind<METHOD> methods defined in the entity bean class
- * (e.g. ejbFindLargeAccounts). The matching ejbFind<METHOD> method must have the
- * same number and types of arguments. (Note that the return type may be different.)
- *...
- * - All the exceptions defined in the throws clause of an ejbFind method of the
- * entity bean class must be included in the throws clause of the matching find
- * method of the home interface.
- *...
- */
- public void validateFindMethod_beanDep(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws InvalidInputException {
- if (method == null) {
- return;
- }
-
- // The verifyMatchingBeanFindMethod checks for the two following requirements:
- //
- // Each finder method must be named "find<METHOD>" (e.g. findLargeAccounts), and it
- // must match one of the ejbFind<METHOD> methods defined in the entity bean class
- // (e.g. ejbFindLargeAccounts). The matching ejbFind<METHOD> method must have the
- // same number and types of arguments. (Note that the return type may be different.)
- //
- // All the exceptions defined in the throws clause of an ejbFind method of the
- // entity bean class must be included in the throws clause of the matching find
- // method of the home interface.
- validateMatchingBeanFindMethod(vc, bean, clazz, method);
-
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ValidateBMPKey.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ValidateBMPKey.java
deleted file mode 100644
index 7e795f0e5..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ValidateBMPKey.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-
-
-/**
- * Validate a BMP key.
- */
-public class ValidateBMPKey extends AValidateKeyClass implements IMessagePrefixEjb11Constants {
- private static final String MSSGID = ".eb"; // In messages, to identify which message version belongs to the BMP bean class, this id is used. //$NON-NLS-1$
- private static final String EXT = MSSGID + SPEC; // Extension to be used on non-method, non-field messages
-
- private static final Object ID = IValidationRuleList.EJB11_BMP_KEYCLASS;
- private static final Object[] DEPENDS_ON = null;
- private static final Map MESSAGE_IDS;
-
- static {
- MESSAGE_IDS = new HashMap();
-
- MESSAGE_IDS.put(CHKJ2001, new String[]{CHKJ2001+EXT});
-
- MESSAGE_IDS.put(CHKJ2019, new String[]{CHKJ2019+EXT});
-
-//Don't use that AValidateEJB method MESSAGE_IDS.put(CHKJ2412, new String[]{CHKJ2412+EXT});
-//Don't use that AValidateEJB method MESSAGE_IDS.put(CHKJ2413, new String[]{CHKJ2413+EXT});
-//Don't use that AValidateEJB method MESSAGE_IDS.put(CHKJ2414, new String[]{CHKJ2414+EXT});
-
- MESSAGE_IDS.put(CHKJ2041, new String[]{CHKJ2041}); // special case. Shared by all types.
- MESSAGE_IDS.put(CHKJ2433, new String[]{CHKJ2433});
- MESSAGE_IDS.put(CHKJ2907, new String[]{CHKJ2907});
- }
-
- public final Map getMessageIds() {
- return MESSAGE_IDS;
- }
-
- public final Object[] getDependsOn() {
- return DEPENDS_ON;
- }
-
- public final Object getId() {
- return ID;
- }
-
- /**
- * This method actually does the validation.
- */
- public void primValidate(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method ejbMethod) throws InvalidInputException {
- // Can't invoke an abstract method
- //super.primValidate(ejbMethod);
-
- //Nothing to do.
- }
-
- /**
- * Checks to see if @ejbMethod is one of the required methods.
- */
- protected void primValidateExistence(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method ejbMethod) throws InvalidInputException {
- // Can't invoke an abstract method
- //super.validateExistence(ejbMethod);
-
- // Nothing to do
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ValidateBMPRemote.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ValidateBMPRemote.java
deleted file mode 100644
index 8ad649d92..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ValidateBMPRemote.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-
-import java.util.HashMap;
-import java.util.Map;
-
-
-
-/**
- * Validates the remote interface of a BMP bean.
- */
-public class ValidateBMPRemote extends AValidateRemote implements IMessagePrefixEjb11Constants {
- private static final String MSSGID = ".er"; // In messages, to identify which message version belongs to the BMP bean class, this id is used. //$NON-NLS-1$
- private static final String EXT = MSSGID + SPEC; // Extension to be used on non-method, non-field messages
- private static final String BEXT = MSSGID + ON_BASE + SPEC; // Extension to be used on a method/field message when the method/field is inherited from a base type
- private static final String MEXT = MSSGID + ON_THIS + SPEC; // Extension to be used on a method/field message when the method/field is implemented on the current type
-
- private static final Object ID = IValidationRuleList.EJB11_BMP_REMOTE;
- private static final Object[] DEPENDS_ON = new Object[]{IValidationRuleList.EJB11_BMP_BEANCLASS};
- private static final Map MESSAGE_IDS;
-
- static {
- MESSAGE_IDS = new HashMap();
-
- MESSAGE_IDS.put(CHKJ2012, new String[]{CHKJ2012+EXT});
- MESSAGE_IDS.put(CHKJ2017, new String[]{CHKJ2017+EXT});
-
- MESSAGE_IDS.put(CHKJ2023, new String[]{CHKJ2023+BEXT, CHKJ2023+MEXT});
-
- MESSAGE_IDS.put(CHKJ2105, new String[]{CHKJ2105 + SPEC});
-
- MESSAGE_IDS.put(CHKJ2412, new String[]{CHKJ2412+BEXT, CHKJ2412+MEXT});
- MESSAGE_IDS.put(CHKJ2413, new String[]{CHKJ2413+BEXT, CHKJ2413+MEXT});
- MESSAGE_IDS.put(CHKJ2414, new String[]{CHKJ2414+BEXT, CHKJ2414+MEXT});
- MESSAGE_IDS.put(CHKJ2415, new String[]{CHKJ2415+BEXT, CHKJ2415+MEXT});
-
- MESSAGE_IDS.put(CHKJ2041, new String[]{CHKJ2041}); // special case. Shared by all types.
- MESSAGE_IDS.put(CHKJ2433, new String[]{CHKJ2433});
- MESSAGE_IDS.put(CHKJ2907, new String[]{CHKJ2907});
- }
-
- public final Map getMessageIds() {
- return MESSAGE_IDS;
- }
-
- public final Object[] getDependsOn() {
- return DEPENDS_ON;
- }
-
- public final Object getId() {
- return ID;
- }
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ValidateCMPBean.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ValidateCMPBean.java
deleted file mode 100644
index bb8cbf22c..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ValidateCMPBean.java
+++ /dev/null
@@ -1,564 +0,0 @@
-package org.eclipse.jst.j2ee.model.internal.validation;
-
-/*
-* Licensed Material - Property of IBM
-* (C) Copyright IBM Corp. 2001 - All Rights Reserved.
-* US Government Users Restricted Rights - Use, duplication or disclosure
-* restricted by GSA ADP Schedule Contract with IBM Corp.
-*/
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.logging.Level;
-
-import org.eclipse.jem.java.Field;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaHelpers;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jst.j2ee.ejb.CMPAttribute;
-import org.eclipse.jst.j2ee.ejb.ContainerManagedEntity;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-/**
- * This class checks entity bean classes for errors or potential errors.
- * If any problems are found, an error, warning, or info marker is added to the task list.
- *
- * The following paragraph is taken from
- * Enterprise JavaBeans Specification ("Specification")
- * Version: 1.1
- * Status: Final Release
- * Release: 12/17/99
- * Copyright 1999 Sun Microsystems, Inc.
- * 901 San Antonio Road, Palo Alto, CA 94303, U.S.A.
- * All rights reserved.
- *
- *
- * All 9.2.X sections describe BMP requirements.
- * If a CMP requirement is different than these, then the differences are
- * documented in 9.4.X sections.
- *
- *
- * 9.4.1 Container-managed fields
- *...
- * The fields must be defined in the entity bean class as public, and must not be
- * defined as transient.
- *...
- * - The following requirements ensure that an entity bean can be deployed in any
- * compliant container.
- * - The Bean Provider must ensure that the Java programming language types
- * assigned to the container-managed fields are restricted to the following:
- * Java programming language primitive types, Java programming language
- * serializable types, and references of enterprise beans' remote or home
- * interfaces.
- * - The Container Provider may, but is not required to, use Java programming
- * language Serialization to store the container-managed fields in the database.
- * If the container chooses a different approach, the effect should be equivalent
- * to that of Java programming language Serialization. The Container must also be
- * capable of persisting references to enterprise beans' remote and home interfaces
- * (for example, by storing their handle or primary key).
- *...
- *
- * 9.4.2 ejbCreate, ejbPostCreate
- *...
- * - The ejbCreate(...) methods must be defined to return the primary key class type.
- * The implementation of the ejbCreate(...) methods should be coded to return a null.
- * The returned value is ignored by the Container.
- *...
- *
- * 9.4.6 finder methods
- * - The entity Bean Provider does not write the finder (ejbFind<METHOD>(...)) methods.
- *...
- * 9.4.7 primary key type
- * - The container must be able to manipulate the primary key type. Therefore,
- * the primary key type for an entity bean with container-managed persistence
- * must follow the rules in this subsection, in addition to those specified in
- * Subsection 9.2.9.
- *
- * There are two ways to specify a primary key class for an entity bean with container-managed persistence:
- * - Primary key that maps to a single field in the entity bean class.
- * - Primary key that maps to multiple fields in the entity bean class.
- * The second method is necessary for implementing compound keys, and the first method is convenient for
- * single-field keys. Without the first method, simple types such as String would have to be wrapped in a
- * user-defined class.
- *
- * 9.4.7.1 Primary key that maps to a single field in the entity bean class
- * The Bean Provider uses the primkey-field element of the deployment descriptor to specify the
- * container-managed field of the entity bean class that contains the primary key. The field's type must be
- * the primary key type.
- *
- * 9.4.7.2 Primary key that maps to multiple fields in the entity bean class
- * The primary key class must be public, and must have a public constructor with no parameters.
- * All fields in the primary key class must be declared as public.
- * The names of the fields in the primary key class must be a subset of the names of the container-managed
- * fields. (This allows the container to extract the primary key fields from an instance's container-managed
- * fields, and vice versa.)
- *
- * 9.4.7.3 Special case: Unknown primary key class
- * In special situations, the entity Bean Provider may choose not to specify the primary key class for an
- * entity bean with container-managed persistence. This case usually happens when the entity bean does
- * not have a natural primary key, and the Bean Provider wants to allow the Deployer to select the primary
- * key fields at deployment time. The entity bean's primary key type will usually be derived from the primary
- * key type used by the underlying database system that stores the entity objects. The primary key
- * used by the database system may not be known to the Bean Provider.
- * When defining the primary key for the enterprise bean, the Deployer may sometimes need to subclass
- * the entity bean class to add additional container-managed fields (this typically happens for entity beans
- * that do not have a natural primary key, and the primary keys are system-generated by the underlying
- * database system that stores the entity objects).
- * In this special case, the type of the argument of the findByPrimaryKey method must be declared as
- * java.lang.Object, and the return value of ejbCreate() must be declared as
- * java.lang.Object. The Bean Provider must specify the primary key class in the deployment
- * descriptor as of the type java.lang.Object.
- * The primary key class is specified at deployment time in the situations when the Bean Provider develops
- * an entity bean that is intended to be used with multiple back-ends that provide persistence, and when
- * these multiple back-ends require different primary key structures.
- * Use of entity beans with a deferred primary key type specification limits the client application programming
- * model, because the clients written prior to deployment of the entity bean may not use, in general,
- * the methods that rely on the knowledge of the primary key type.
- * The implementation of the enterprise bean class methods must be done carefully. For example, the meth-ods
- * should not depend on the type of the object returned from EntityContext.getPrimaryKey(), because
- * the return type is determined by the Deployer after the EJB class has been written.
- *
- */
-public class ValidateCMPBean extends AValidateEntityBean implements IMessagePrefixEjb11Constants {
- private List _containerManagedFields = null;
-
- private static final String MSSGID = ".eb"; // In messages, to identify which message version belongs to the BMP bean class, this id is used. //$NON-NLS-1$
- private static final String EXT = MSSGID + SPEC; // Extension to be used on non-method, non-field messages
- private static final String BEXT = MSSGID + ON_BASE + SPEC; // Extension to be used on a method/field message when the method/field is inherited from a base type
- private static final String MEXT = MSSGID + ON_THIS + SPEC; // Extension to be used on a method/field message when the method/field is implemented on the current type
-
- private static final Object ID = IValidationRuleList.EJB11_CMP_BEANCLASS;
- private static final Object[] DEPENDS_ON = new Object[]{IValidationRuleList.EJB11_CMP_HOME, IValidationRuleList.EJB11_CMP_REMOTE};
- private static final Map MESSAGE_IDS;
-
- static {
- MESSAGE_IDS = new HashMap();
-
- MESSAGE_IDS.put(CHKJ2002, new String[]{CHKJ2002+BEXT, CHKJ2002+MEXT});
- MESSAGE_IDS.put(CHKJ2004, new String[]{CHKJ2004+BEXT, CHKJ2004+MEXT});
- MESSAGE_IDS.put(CHKJ2006, new String[]{CHKJ2006+EXT});
- MESSAGE_IDS.put(CHKJ2007, new String[]{CHKJ2007+EXT});
-
- MESSAGE_IDS.put(CHKJ2013, new String[]{CHKJ2013+EXT});
- MESSAGE_IDS.put(CHKJ2014, new String[]{CHKJ2014+EXT});
- MESSAGE_IDS.put(CHKJ2015, new String[]{CHKJ2015+EXT});
-
- MESSAGE_IDS.put(CHKJ2022, new String[]{CHKJ2022+EXT});
- MESSAGE_IDS.put(CHKJ2028, new String[]{CHKJ2028+BEXT, CHKJ2028+MEXT});
- MESSAGE_IDS.put(CHKJ2029, new String[]{CHKJ2029+BEXT, CHKJ2029+MEXT});
-
- MESSAGE_IDS.put(CHKJ2032, new String[]{CHKJ2032+EXT});
- MESSAGE_IDS.put(CHKJ2033, new String[]{CHKJ2033+EXT});
- MESSAGE_IDS.put(CHKJ2034, new String[]{CHKJ2034+EXT});
- MESSAGE_IDS.put(CHKJ2035, new String[]{CHKJ2035+EXT});
- MESSAGE_IDS.put(CHKJ2036, new String[]{CHKJ2036+EXT});
- MESSAGE_IDS.put(CHKJ2037, new String[]{CHKJ2037+EXT});
- MESSAGE_IDS.put(CHKJ2038, new String[]{CHKJ2038+EXT});
- MESSAGE_IDS.put(CHKJ2039, new String[]{CHKJ2039+EXT});
-
- MESSAGE_IDS.put(CHKJ2103, new String[]{CHKJ2103 + SPEC});
- MESSAGE_IDS.put(CHKJ2200, new String[]{CHKJ2200+ON_BASE+SPEC, CHKJ2200+ON_THIS+SPEC}); // CHKJ2200 is a special case. It's shared by all bean types.
- MESSAGE_IDS.put(CHKJ2201, new String[]{CHKJ2201+BEXT, CHKJ2201+MEXT});
- MESSAGE_IDS.put(CHKJ2202, new String[]{CHKJ2202+BEXT, CHKJ2202+MEXT});
- MESSAGE_IDS.put(CHKJ2203, new String[]{CHKJ2203+BEXT, CHKJ2203+MEXT});
- MESSAGE_IDS.put(CHKJ2207, new String[]{CHKJ2207+EXT, CHKJ2207+EXT}); // special case where the message id is the same regardless of whether or not the method is inherited
-
- MESSAGE_IDS.put(CHKJ2400_bus, new String[]{CHKJ2400_bus+BEXT, CHKJ2400_bus+MEXT});
- MESSAGE_IDS.put(CHKJ2400_ejbCreate, new String[]{CHKJ2400_ejbCreate+BEXT, CHKJ2400_ejbCreate+MEXT});
- MESSAGE_IDS.put(CHKJ2400_ejbFind, new String[]{CHKJ2400_ejbFind+BEXT, CHKJ2400_ejbFind+MEXT});
- MESSAGE_IDS.put(CHKJ2400_ejbPostCreate, new String[]{CHKJ2400_ejbPostCreate+BEXT, CHKJ2400_ejbPostCreate+MEXT});
- MESSAGE_IDS.put(CHKJ2406, new String[]{CHKJ2406+BEXT, CHKJ2406+MEXT});
- MESSAGE_IDS.put(CHKJ2408_bus, new String[]{CHKJ2408_bus+BEXT, CHKJ2408_bus+MEXT});
- MESSAGE_IDS.put(CHKJ2408_ejbCreate, new String[]{CHKJ2408_ejbCreate+BEXT, CHKJ2408_ejbCreate+MEXT});
- MESSAGE_IDS.put(CHKJ2408_ejbPostCreate, new String[]{CHKJ2408_ejbPostCreate+BEXT, CHKJ2408_ejbPostCreate+MEXT});
- MESSAGE_IDS.put(CHKJ2409_bus, new String[]{CHKJ2409_bus+BEXT, CHKJ2409_bus+MEXT});
- MESSAGE_IDS.put(CHKJ2409_ejbCreate, new String[]{CHKJ2409_ejbCreate+BEXT, CHKJ2409_ejbCreate+MEXT});
- MESSAGE_IDS.put(CHKJ2409_ejbFind, new String[]{CHKJ2409_ejbFind+BEXT, CHKJ2409_ejbFind+MEXT});
- MESSAGE_IDS.put(CHKJ2409_ejbPostCreate, new String[]{CHKJ2409_ejbPostCreate+BEXT, CHKJ2409_ejbPostCreate+MEXT});
-
- MESSAGE_IDS.put(CHKJ2410_bus, new String[]{CHKJ2410_bus+BEXT, CHKJ2410_bus+MEXT});
- MESSAGE_IDS.put(CHKJ2410_ejbCreate, new String[]{CHKJ2410_ejbCreate+BEXT, CHKJ2410_ejbCreate+MEXT});
- MESSAGE_IDS.put(CHKJ2410_ejbFind, new String[]{CHKJ2410_ejbFind+BEXT, CHKJ2410_ejbFind+MEXT});
- MESSAGE_IDS.put(CHKJ2410_ejbPostCreate, new String[]{CHKJ2410_ejbPostCreate+BEXT, CHKJ2410_ejbPostCreate+MEXT});
- MESSAGE_IDS.put(CHKJ2411, new String[]{CHKJ2411+BEXT, CHKJ2411+MEXT});
- MESSAGE_IDS.put(CHKJ2412, new String[]{CHKJ2412+BEXT, CHKJ2412+MEXT});
- MESSAGE_IDS.put(CHKJ2413, new String[]{CHKJ2413+BEXT, CHKJ2413+MEXT});
- MESSAGE_IDS.put(CHKJ2414, new String[]{CHKJ2414+BEXT, CHKJ2414+MEXT});
- MESSAGE_IDS.put(CHKJ2418, new String[]{CHKJ2418+BEXT, CHKJ2418+MEXT});
- MESSAGE_IDS.put(CHKJ2420, new String[]{CHKJ2420+BEXT, CHKJ2420+MEXT});
- MESSAGE_IDS.put(CHKJ2432, new String[]{CHKJ2432+BEXT, CHKJ2432+MEXT});
-
- MESSAGE_IDS.put(CHKJ2041, new String[]{CHKJ2041}); // special case. Shared by all types.
- MESSAGE_IDS.put(CHKJ2433, new String[]{CHKJ2433});
- MESSAGE_IDS.put(CHKJ2456, new String[]{CHKJ2456+ON_BASE, CHKJ2456+ON_THIS}); // special case (shared by all types)
- MESSAGE_IDS.put(CHKJ2907, new String[]{CHKJ2907});
- }
-
- public void reset() {
- super.reset();
- _containerManagedFields = null;
- }
-
- public final Map getMessageIds() {
- return MESSAGE_IDS;
- }
-
- public final Object[] getDependsOn() {
- return DEPENDS_ON;
- }
-
- public final Object getId() {
- return ID;
- }
-
- protected List getContainerManagedFields() {
- return _containerManagedFields;
- }
-
- protected boolean hasContainerManagedField() {
- return (getContainerManagedFields() != null && getContainerManagedFields().size() > 0);
- }
-
- public boolean isContainerManagedField(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Field field) {
- if (field == null) {
- return false;
- }
- return getContainerManagedFields() != null && getContainerManagedFields().contains(field.getName());
- }
-
- /**
- * 9.4.1 Container-managed fields
- *...
- * The fields must be defined in the entity bean class as public, and must not be
- * defined as transient.
- *...
- * - The following requirements ensure that an entity bean can be deployed in any
- * compliant container.
- * - The Bean Provider must ensure that the Java programming language types
- * assigned to the container-managed fields are restricted to the following:
- * Java programming language primitive types, Java programming language
- * serializable types, and references of enterprise beans' remote or home
- * interfaces.
- *...
- *
- * Return true if the field is the enterprise bean's home interface.
- */
- protected boolean isContainerManagedHome_homeDep(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Field field) throws InvalidInputException {
- if (field == null) {
- return false;
- }
-
- if (bean == null) {
- return false;
- }
-
- JavaClass homeIntf = bean.getHomeInterface();
- ValidationRuleUtility.isValidTypeHierarchy(bean, homeIntf);
-
- return ValidationRuleUtility.isAssignableFrom(ValidationRuleUtility.getType(field), homeIntf);
- }
-
- /**
- * 9.4.1 Container-managed fields
- *...
- * The fields must be defined in the entity bean class as public, and must not be
- * defined as transient.
- *...
- * - The following requirements ensure that an entity bean can be deployed in any
- * compliant container.
- * - The Bean Provider must ensure that the Java programming language types
- * assigned to the container-managed fields are restricted to the following:
- * Java programming language primitive types, Java programming language
- * serializable types, and references of enterprise beans' remote or home
- * interfaces.
- *...
- *
- * Return true if the field is the enterprise bean's remote interface.
- */
- protected boolean isContainerManagedRemote_remoteDep(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Field field) throws InvalidInputException {
- if (field == null) {
- return false;
- }
-
- if (bean == null) {
- return false;
- }
-
- JavaClass remoteIntf = bean.getRemoteInterface();
- ValidationRuleUtility.isValidTypeHierarchy(bean, remoteIntf);
-
- return ValidationRuleUtility.isAssignableFrom(ValidationRuleUtility.getType(field), remoteIntf);
- }
-
- private List loadContainerManagedFields(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) {
- // The validation in this class, of the fields, is performed against the
- // container-managed fields, not the fields of this class directly.
- if (bean == null) {
- return Collections.EMPTY_LIST;
- }
-
- List fields = null;
- try {
- List cmpAttributes = ((ContainerManagedEntity) bean).getPersistentAttributes();
- if (cmpAttributes != null && !cmpAttributes.isEmpty()) {
- fields = new ArrayList(cmpAttributes.size());
- for (int i = 0; i < cmpAttributes.size(); i++)
- fields.add(((CMPAttribute) cmpAttributes.get(i)).getName());
- }
- }
- catch (Throwable exc) {
- Logger logger = vc.getMsgLogger();
- if (logger != null && logger.isLoggingLevel(Level.FINER)) {
- logger.write(Level.FINER, exc);
- }
- fields = Collections.EMPTY_LIST;
- }
- return fields;
- }
-
- /**
- * 18.1.2 Programming restrictions
- *...
- * - An enterprise Bean must not use read/write static fields. Using read-only static fields is
- * allowed. Therefore, it is recommended that all static fields in the enterprise bean class be
- * declared as final.
- *...
- */
- public void primValidate(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Field field) throws InvalidInputException {
- super.primValidate(vc, bean, clazz, field);
-
- vc.terminateIfCancelled();
-
- validateContainerManagedField(vc, bean, clazz, field);
- }
-
- /**
- * 9.2.6 Business methods
- * - The entity bean class may define zero or more business methods whose signatures
- * must follow these rules:
- * - The method names can be arbitrary, but they must not start with ejb to
- * avoid conflicts with the callback methods used by the EJB architecture.
- * - The business method must be declared as public.
- * - The method must not be declared as final or static.
- * - The method argument and return value types must be legal types for RMI-IIOP.
- * - The throws clause may define arbitrary application specific exceptions.
- * - Compatibility Note: EJB 1.0 allowed the business methods to throw the
- * java.rmi.RemoteException to indicate a non-application exception. This
- * practice is deprecated in EJB 1.1 -- an EJB 1.1 compliant enterprise bean
- * should throw the javax.ejb.EJBException or another java.lang.RuntimeException
- * to indicate non-application exceptions to the Container (see Section 12.2.2).
- */
- public void validateBusinessMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws InvalidInputException {
- // Perform common BMP/CMP business method checks
- if (!isEjbRelationshipRoleMethod(vc, bean, clazz, method))
- super.validateBusinessMethod(vc, bean, clazz, method);
-
- // No specific CMP business method checks.
- // All of the points in 9.2.6 are common to both BMPs & CMPs.
- }
-
- protected void validateBusinessMethodNoRemoteException(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws InvalidInputException {
- if (!isEjbRelationshipRoleMethod(vc, bean, clazz, method))
- super.validateBusinessMethodNoRemoteException(vc, bean, clazz, method); // EJB 2.0 added "throws InvalidInputException above"
- }
-
- /**
- * 9.2.2 Enterprise bean class
- * - The following are the requirements for an entity bean class:
- * - The class must implement, directly or indirectly, the javax.ejb.EntityBean interface.
- * - The class must be defined as public and must not be abstract.
- * - The class must not be defined as final.
- * - The class must define a public constructor that takes no arguments.
- * - The class must not define the finalize() method.
- * - The class may, but is not required to, implement the entity bean's remote interface [9].
- * If the class implements the entity bean's remote interface, the class must provide no-op
- * implementations of the methods defined in the javax.ejb.EJBObject interface. The container
- * will never invoke these methods on the bean instances at runtime.
- * - A no-op implementation of these methods is required to avoid
- * defining the entity bean class as abstract.
- * - The entity bean class must implement the business methods, and the
- * ejbCreate, ejbPostCreate, and ejbFind<METHOD> methods as described
- * later in this section.
- * - The entity bean class may have superclasses and/or superinterfaces.
- * If the entity bean has superclasses, the business methods, the
- * ejbCreate and ejbPostCreate methods, the finder methods, and the
- * methods of the EntityBean interface may be implemented in the
- * enterprise bean class or in any of its superclasses.
- * - The entity bean class is allowed to implement other methods (for
- * example helper methods invoked internally by the business methods)
- * in addition to the methods required by the EJB specification.
- */
- public void validateClass(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws InvalidInputException {
- // All of the above checks are performed by the parent.
- super.validateClass(vc, bean, clazz);
-
- validatePrimitivePrimaryKey(vc, bean, clazz); // if this class uses a primitive primary key, the type of the key must be the same as the type of the field
- }
-
- /**
- * 9.4.1 Container-managed fields
- *...
- * The fields must be defined in the entity bean class as public, and must not be
- * defined as transient.
- *...
- * - The following requirements ensure that an entity bean can be deployed in any
- * compliant container.
- * - The Bean Provider must ensure that the Java programming language types
- * assigned to the container-managed fields are restricted to the following:
- * Java programming language primitive types, Java programming language
- * serializable types, and references of enterprise beans' remote or home
- * interfaces.
- *...
- */
- protected void validateContainerManagedField(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Field field) throws InvalidInputException {
- if (isContainerManagedField(vc, bean, clazz, field)) {
- if (field == null) {
- return;
- }
-
- vc.terminateIfCancelled();
-
- if (!ValidationRuleUtility.isPublic(field)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2203, IEJBValidationContext.ERROR, bean, clazz, field, this);
- vc.addMessage(message);
- }
-
- if (field.isTransient()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2201, IEJBValidationContext.ERROR, bean, clazz, field, this);
- vc.addMessage(message);
- }
-
- // Check if it's a reference to the home or remote interface.
- validateContainerManagedField_dependent(vc, bean, clazz, field);
- }
- }
-
- /**
- * 9.4.1 Container-managed fields
- *...
- * The fields must be defined in the entity bean class as public, and must not be
- * defined as transient.
- *...
- * - The following requirements ensure that an entity bean can be deployed in any
- * compliant container.
- * - The Bean Provider must ensure that the Java programming language types
- * assigned to the container-managed fields are restricted to the following:
- * Java programming language primitive types, Java programming language
- * serializable types, and references of enterprise beans' remote or home
- * interfaces.
- *...
- *
- * Return true if the field is either the enterprise bean's remote interface,
- * or the enterprise bean's home interface.
- */
- protected void validateContainerManagedField_dependent(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Field field) throws InvalidInputException {
- if (field == null) {
- return;
- }
-
- JavaHelpers fieldType = ValidationRuleUtility.getType(field);
-
- if (!ValidationRuleUtility.isSerializable(fieldType, bean)) {
- // If it were primitive, it would be serializable, so two checks were done in that one line of code.
- //
- // Check if it's the enterprise bean's remote or home interface
- vc.terminateIfCancelled();
- if (!(isContainerManagedHome_homeDep(vc, bean, clazz, field)) || (isContainerManagedRemote_remoteDep(vc, bean, clazz, field))) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2202, IEJBValidationContext.WARNING, bean, clazz, field, this);
- vc.addMessage(message);
- }
- }
- }
-
- /**
- * 9.4.6 finder methods
- * - The entity Bean Provider does not write the finder (ejbFind<METHOD>(...)) methods.
- */
- public void validateEjbFindMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws InvalidInputException {
- if (method == null) {
- throw new InvalidInputException();
- }
-
- // Only BMPs implement finder methods.
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2004, IEJBValidationContext.WARNING, bean, clazz, method, new String[] { clazz.getQualifiedName()}, this);
- vc.addMessage(message);
- }
-
- /**
- * Checks that the ejbPostCreate method follows the EJB 1.1. specification.
- *
- * 9.2.4 ejbPostCreate methods
- * - For each ejbCreate(...) method, the entity bean class must define a matching
- * ejbPostCreate(...) method, using the following rules:
- * - The method name must be ejbPostCreate.
- * - The method must be declared as public.
- * - The method must not be declared as final or static.
- * - The return type must be void.
- * - The method arguments must be the same as the arguments of the matching
- * ejbCreate(...) method.
- * - The throws clause may define arbitrary application specific exceptions,
- * including the javax.ejb.CreateException.
- * Compatibility Note: EJB 1.0 allowed the ejbPostCreate method to throw
- * the java.rmi.RemoteException to indicate a non-application exception.
- * This practice is deprecated in EJB 1.1 -- an EJB 1.1 compliant enterprise
- * bean should throw the javax.ejb.EJBException or another
- * java.lang.RuntimeException to indicate non-application exceptions to the
- * Container (see Section 12.2.2).
- *...
- * 9.4.2 ejbCreate, ejbPostCreate
- *...
- * - The ejbCreate(...) methods must be defined to return the primary key class type.
- * The implementation of the ejbCreate(...) methods should be coded to return a null.
- * The returned value is ignored by the Container.
- *...
- */
- public void validateEjbPostCreateMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws InvalidInputException {
- // Perform common BMP/CMP ejbPostCreate method checks
- super.validateEjbPostCreateMethod(vc, bean, clazz, method);
-
- // No specific CMP ejbPostCreateMethod checks.
- // All of the points in 9.2.4 are common to both BMPs & CMPs.
- }
-
- protected void validatePrimitivePrimaryKey(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws InvalidInputException {
- ContainerManagedEntity cmp = (ContainerManagedEntity) bean; // bean is checked for null in AValidateEJB.validate() method, so don't need to check for it here.
-
- if (ValidationRuleUtility.isPrimitivePrimaryKey(cmp)) {
- // primitive primary key
-
- // primary key that maps to a single field in the entity bean class
- // The field's type must be the primary key type.
- CMPAttribute keyAttribute = cmp.getPrimKeyField();
- Field keyField = (keyAttribute == null) ? null : keyAttribute.getField();
- JavaClass primaryKey = cmp.getPrimaryKey();
- if ((keyField == null) || !ValidationRuleUtility.isAssignableFrom((JavaHelpers)keyField.getEType(), primaryKey)) {
- String[] msgParm = { keyAttribute.getName(), primaryKey.getName()};
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2207, IEJBValidationContext.ERROR, bean, clazz, keyField, msgParm, this);
- vc.addMessage(message);
- }
- }
- }
-
- /**
- * Check that at least one field exists on the bean.
- */
- public void verifyFieldExists(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws InvalidInputException {
- if (!hasContainerManagedField()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2032, IEJBValidationContext.WARNING, bean, clazz, new String[] { clazz.getQualifiedName()}, this);
- vc.addMessage(message);
- }
- }
- /*
- * @see IValidationRule#preValidate(IEJBValidationContext, Object, Object)
- */
- public void preValidate(IEJBValidationContext vc, Object targetParent, Object target) throws ValidationCancelledException, ValidationException {
- super.preValidate(vc, targetParent, target);
- _containerManagedFields = loadContainerManagedFields(vc, (EnterpriseBean)targetParent, (JavaClass)target);
- }
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ValidateCMPKey.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ValidateCMPKey.java
deleted file mode 100644
index b08b6b0f4..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ValidateCMPKey.java
+++ /dev/null
@@ -1,301 +0,0 @@
-package org.eclipse.jst.j2ee.model.internal.validation;
-
-/*
-* Licensed Material - Property of IBM
-* (C) Copyright IBM Corp. 2001 - All Rights Reserved.
-* US Government Users Restricted Rights - Use, duplication or disclosure
-* restricted by GSA ADP Schedule Contract with IBM Corp.
-*/
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.jem.java.Field;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jst.j2ee.ejb.CMPAttribute;
-import org.eclipse.jst.j2ee.ejb.ContainerManagedEntity;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-
-/**
- * This class checks entity bean classes for errors or potential errors.
- * If any problems are found, an error, warning, or info marker is added to the task list.
- *
- * The following paragraph is taken from
- * Enterprise JavaBeans Specification ("Specification")
- * Version: 1.1
- * Status: Final Release
- * Release: 12/17/99
- * Copyright 1999 Sun Microsystems, Inc.
- * 901 San Antonio Road, Palo Alto, CA 94303, U.S.A.
- * All rights reserved.
- *
- *
- * All 9.2.X sections describe BMP requirements. (And the bulk of those
- * are implemented in ValidateKeyClass.)
- * If a CMP requirement is different than these, then the differences are
- * documented in 9.4.X sections.
- *
- * 9.4.7 primary key type
- * - The container must be able to manipulate the primary key type. Therefore,
- * the primary key type for an entity bean with container-managed persistence
- * must follow the rules in this subsection, in addition to those specified in
- * Subsection 9.2.9.
- *
- * There are two ways to specify a primary key class for an entity bean with container-managed persistence:
- * - Primary key that maps to a single field in the entity bean class.
- * - Primary key that maps to multiple fields in the entity bean class.
- * The second method is necessary for implementing compound keys, and the first method is convenient for
- * single-field keys. Without the first method, simple types such as String would have to be wrapped in a
- * user-defined class.
- *
- * 9.4.7.1 Primary key that maps to a single field in the entity bean class
- * The Bean Provider uses the primkey-field element of the deployment descriptor to specify the
- * container-managed field of the entity bean class that contains the primary key. The field's type must be
- * the primary key type.
- *
- * 9.4.7.2 Primary key that maps to multiple fields in the entity bean class
- * The primary key class must be public, and must have a public constructor with no parameters.
- * All fields in the primary key class must be declared as public.
- * The names of the fields in the primary key class must be a subset of the names of the container-managed
- * fields. (This allows the container to extract the primary key fields from an instance's container-managed
- * fields, and vice versa.)
- *...
- */
-public class ValidateCMPKey extends AValidateKeyClass implements IMessagePrefixEjb11Constants {
- private boolean hasAConstructor = false;
- private boolean hasDefaultConstructor = false;
- private Set _beanFieldNames = new HashSet();
-
- private static final String MSSGID = ".eb"; // In messages, to identify which message version belongs to the BMP bean class, this id is used. //$NON-NLS-1$
- private static final String EXT = MSSGID + SPEC; // Extension to be used on non-method, non-field messages
- private static final String BEXT = MSSGID + ON_BASE + SPEC; // Extension to be used on a method/field message when the method/field is inherited from a base type
- private static final String MEXT = MSSGID + ON_THIS + SPEC; // Extension to be used on a method/field message when the method/field is implemented on the current type
-
- private static final Object ID = IValidationRuleList.EJB11_CMP_KEYCLASS;
- private static final Object[] DEPENDS_ON = new Object[]{IValidationRuleList.EJB11_CMP_BEANCLASS};
- private static final Map MESSAGE_IDS;
-
- static {
- MESSAGE_IDS = new HashMap();
-
- MESSAGE_IDS.put(CHKJ2001, new String[]{CHKJ2001+EXT});
-
- MESSAGE_IDS.put(CHKJ2019, new String[]{CHKJ2019+EXT});
-
- MESSAGE_IDS.put(CHKJ2020, new String[]{CHKJ2020+EXT});
- MESSAGE_IDS.put(CHKJ2021, new String[]{CHKJ2021+EXT});
-
- MESSAGE_IDS.put(CHKJ2205, new String[]{CHKJ2205+BEXT, CHKJ2205+MEXT});
- MESSAGE_IDS.put(CHKJ2206, new String[]{CHKJ2206+BEXT, CHKJ2206+MEXT}); // special case where the id is the same regardless of whether the method is inherited or not
-
-//AValidateEJB method not used MESSAGE_IDS.put(CHKJ2412, new String[]{CHKJ2412+BEXT, CHKJ2412+MEXT});
-//AValidateEJB method not used MESSAGE_IDS.put(CHKJ2413, new String[]{CHKJ2413+BEXT, CHKJ2413+MEXT});
-//AValidateEJB method not used MESSAGE_IDS.put(CHKJ2414, new String[]{CHKJ2414+BEXT, CHKJ2414+MEXT});
-
- MESSAGE_IDS.put(CHKJ2041, new String[]{CHKJ2041}); // special case. Shared by all types.
- MESSAGE_IDS.put(CHKJ2433, new String[]{CHKJ2433});
- MESSAGE_IDS.put(CHKJ2829, new String[]{CHKJ2829 + SPEC});
- MESSAGE_IDS.put(CHKJ2907, new String[]{CHKJ2907});
- }
-
- public void reset() {
- super.reset();
- _beanFieldNames.clear();
- }
-
- public final Map getMessageIds() {
- return MESSAGE_IDS;
- }
-
- public final Object[] getDependsOn() {
- return DEPENDS_ON;
- }
-
- public Object getTarget(Object parent, Object clazz) {
- if(parent == null) {
- return null;
- }
-
- ContainerManagedEntity cmp = (ContainerManagedEntity)parent;
- if(ValidationRuleUtility.isPrimitivePrimaryKey(cmp)) {
- return null; // do not validate a primitive primary key
- }
-
- return cmp.getPrimaryKey();
- }
-
- public final Object getId() {
- return ID;
- }
-
- /*
- * 9.4.7.1 Primary key that maps to a single field in the entity bean class
- * The Bean Provider uses the primkey-field element of the deployment descriptor to specify the
- * container-managed field of the entity bean class that contains the primary key. The field's type must be
- * the primary key type.
- *
- * 9.4.7.2 Primary key that maps to multiple fields in the entity bean class
- * The primary key class must be public, and must have a public constructor with no parameters.
- * All fields in the primary key class must be declared as public.
- * The names of the fields in the primary key class must be a subset of the names of the container-managed
- * fields. (This allows the container to extract the primary key fields from an instance's container-managed
- * fields, and vice versa.)
- */
- protected void buildFieldNameList(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) {
- // Build up the list of field names to be used in the field validation.
- vc.terminateIfCancelled();
-
- ContainerManagedEntity cmp = (ContainerManagedEntity) bean;
- if (cmp == null) {
- // Let the class validation throw the exception
- return;
- }
-
- if (!ValidationRuleUtility.isPrimitivePrimaryKey(cmp)) {
- List attributes = cmp.getPersistentAttributes();
- CMPAttribute attribute = null;
- Iterator iterator = attributes.iterator();
- while (iterator.hasNext()) {
- attribute = (CMPAttribute) iterator.next();
- try {
- // These are different fields than the ones validated by this
- // valImpl class, so don't need to worry about duplicate reflection
- // warnings logged against the same object.
- ValidationRuleUtility.isValidType(attribute.getType());
- _beanFieldNames.add(attribute.getName());
- }
- catch (InvalidInputException e) {
- //TODO (Dan) Change to use the attribute directly and not the field.
- reflectionWarning(vc, bean, clazz , attribute.getField(), e);
- }
- }
- }
- }
-
- /**
- * This method actually does the validation.
- *
- * 9.4.7.2 Primary key that maps to multiple fields in the entity bean class
- * The primary key class must be public, and must have a public constructor with no parameters.
- * All fields in the primary key class must be declared as public.
- * The names of the fields in the primary key class must be a subset of the names of the container-managed
- * fields. (This allows the container to extract the primary key fields from an instance's container-managed
- * fields, and vice versa.)
- */
- public void primValidate(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Field field) throws InvalidInputException {
- // All fields in the primary key class must be declared as public.
- if (!ValidationRuleUtility.isPublic(field)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2205, IEJBValidationContext.WARNING, bean, clazz, field, this);
- vc.addMessage(message);
- }
-
- // The names of the fields in the primary key class must be a subset of the names of the container-managed
- // fields. (This allows the container to extract the primary key fields from an instance's container-managed
- // fields, and vice versa.)
- ContainerManagedEntity cmp = (ContainerManagedEntity) bean;
- // Don't need to check if cmp is null, because this method is called only by validateFields(),
- // and validateFields() won't call this method if the bean is null.
-
- if (!_beanFieldNames.contains(field.getName())) {
- JavaClass ejbClass = cmp.getEjbClass();
- ValidationRuleUtility.isValidType(ejbClass);
- String[] msgParm = { cmp.getName(), cmp.getEjbClass().getName()};
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2206, IEJBValidationContext.WARNING, bean, clazz, field, msgParm, this);
- vc.addMessage(message);
- }
- }
-
- /**
- * This method actually does the validation.
- */
- public void primValidate(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method ejbMethod) throws InvalidInputException {
- // Can't invoke an abstract method
- // super.primValidate(ejbMethod);
-
- //Nothing to do.
- }
-
- /**
- * Checks to see if @ejbMethod is one of the required methods.
- */
- protected void primValidateExistence(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method ejbMethod) throws InvalidInputException {
- // Can't invoke an abstract method
- //super.validateExistence(ejbMethod);
-
- if (ejbMethod.isConstructor()) {
- // These booleans are used in the validateMethodExists() checks.
- hasAConstructor = true;
- if (ValidationRuleUtility.isPublic(ejbMethod) && (ejbMethod.listParametersWithoutReturn().length == 0)) {
- hasDefaultConstructor = true;
- }
- }
- }
-
- /**
- * 9.4.7.2 Primary key that maps to multiple fields in the entity bean class
- * The primary key class must be public, and must have a public constructor with no parameters.
- * All fields in the primary key class must be declared as public.
- * The names of the fields in the primary key class must be a subset of the names of the container-managed
- * fields. (This allows the container to extract the primary key fields from an instance's container-managed
- * fields, and vice versa.)
- */
- public void validateClass(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws InvalidInputException {
- super.validateClass(vc, bean, clazz);
-
- vc.terminateIfCancelled();
-
- // The primary key class must be public
- if (!clazz.isPublic()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2020, IEJBValidationContext.ERROR, bean, clazz, new String[] { clazz.getQualifiedName()}, this);
- vc.addMessage(message);
- }
-
- buildFieldNameList(vc, bean, clazz);
-
- // Doesn't make sense to check for cmp key attributes if it's not a valid prim key field.
- // primary key must map to at least one field on the bean
- ContainerManagedEntity cmp = (ContainerManagedEntity)bean;
- if(!ValidationRuleUtility.usesUnknownPrimaryKey(cmp)) {
- // primary key must map to at least one field on the bean
- // But if it's an unknown key, there's no point checking java.lang.Object
- List primKeyFields = cmp.getKeyAttributes();
- if ((primKeyFields == null) || (primKeyFields.size() == 0)) {
- JavaClass primaryKey = cmp.getPrimaryKey(); // don't need to check MOFHelper.isValidType(primaryKey), because it's already been called in the validateDeploymentDescriptor method
- String beanName = (cmp.getName() == null) ? "null" : cmp.getName(); //$NON-NLS-1$
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2829, IEJBValidationContext.ERROR, bean, primaryKey, new String[] { primaryKey.getName(), beanName }, this);
- vc.addMessage(message);
- }
- }
- }
-
- /**
- * 9.4.7.2 Primary key that maps to multiple fields in the entity bean class
- * The primary key class must be public, and must have a public constructor with no parameters.
- */
- public void validateMethodExists(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws InvalidInputException {
- super.validateMethodExists(vc, bean, clazz);
-
- // If the class has no constructors defined, Java inserts a public constructor with no arguments.
- // But if the class has at least one constructor defined, Java will not insert a constructor.
- if (!hasDefaultConstructor && hasAConstructor) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2021, IEJBValidationContext.ERROR, bean, clazz, new String[] { clazz.getQualifiedName()}, this);
- vc.addMessage(message);
- }
- }
- /*
- * @see IValidationRule#preValidate(IEJBValidationContext, Object, Object)
- */
- public void preValidate(IEJBValidationContext vc, Object targetParent, Object target) throws ValidationCancelledException, ValidationException {
- super.preValidate(vc, targetParent, target);
- hasAConstructor = false;
- hasDefaultConstructor = false;
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ValidateCMPRemote.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ValidateCMPRemote.java
deleted file mode 100644
index 2a5ed9c3b..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ValidateCMPRemote.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-
-import java.util.HashMap;
-import java.util.Map;
-
-
-
-/**
- * Validates the remote interface of a CMP bean.
- */
-public class ValidateCMPRemote extends AValidateRemote implements IMessagePrefixEjb11Constants {
- private static final String MSSGID = ".er"; // In messages, to identify which message version belongs to the BMP bean class, this id is used. //$NON-NLS-1$
- private static final String EXT = MSSGID + SPEC; // Extension to be used on non-method, non-field messages
- private static final String BEXT = MSSGID + ON_BASE + SPEC; // Extension to be used on a method/field message when the method/field is inherited from a base type
- private static final String MEXT = MSSGID + ON_THIS + SPEC; // Extension to be used on a method/field message when the method/field is implemented on the current type
-
- private static final Object ID = IValidationRuleList.EJB11_CMP_REMOTE;
- private static final Object[] DEPENDS_ON = new Object[]{IValidationRuleList.EJB11_CMP_BEANCLASS};
- private static final Map MESSAGE_IDS;
-
- static {
- MESSAGE_IDS = new HashMap();
-
- MESSAGE_IDS.put(CHKJ2012, new String[]{CHKJ2012+EXT});
- MESSAGE_IDS.put(CHKJ2017, new String[]{CHKJ2017+EXT});
-
- MESSAGE_IDS.put(CHKJ2023, new String[]{CHKJ2023+BEXT, CHKJ2023+MEXT});
-
- MESSAGE_IDS.put(CHKJ2105, new String[]{CHKJ2105 + SPEC});
-
- MESSAGE_IDS.put(CHKJ2412, new String[]{CHKJ2412+BEXT, CHKJ2412+MEXT});
- MESSAGE_IDS.put(CHKJ2413, new String[]{CHKJ2413+BEXT, CHKJ2413+MEXT});
- MESSAGE_IDS.put(CHKJ2414, new String[]{CHKJ2414+BEXT, CHKJ2414+MEXT});
- MESSAGE_IDS.put(CHKJ2415, new String[]{CHKJ2415+BEXT, CHKJ2415+MEXT});
-
- MESSAGE_IDS.put(CHKJ2041, new String[]{CHKJ2041}); // special case. Shared by all types.
- MESSAGE_IDS.put(CHKJ2433, new String[]{CHKJ2433});
- MESSAGE_IDS.put(CHKJ2907, new String[]{CHKJ2907});
- }
-
- public final Map getMessageIds() {
- return MESSAGE_IDS;
- }
-
- public final Object[] getDependsOn() {
- return DEPENDS_ON;
- }
-
- public final Object getId() {
- return ID;
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ValidateSessionBean.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ValidateSessionBean.java
deleted file mode 100644
index a4c293dc6..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ValidateSessionBean.java
+++ /dev/null
@@ -1,719 +0,0 @@
-package org.eclipse.jst.j2ee.model.internal.validation;
-
-/*
-* Licensed Material - Property of IBM
-* (C) Copyright IBM Corp. 2001 - All Rights Reserved.
-* US Government Users Restricted Rights - Use, duplication or disclosure
-* restricted by GSA ADP Schedule Contract with IBM Corp.
-*/
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaHelpers;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.jst.j2ee.ejb.Session;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-
-/**
- * This class checks Session home interface classes for errors or potential errors.
- * If any problems are found, an error, warning, or info marker is added to the task list.
- *
- * The following paragraph is taken from
- * Enterprise JavaBeans Specification ("Specification")
- * Version: 1.1
- * Status: Final Release
- * Release: 12/17/99
- * Copyright 1999 Sun Microsystems, Inc.
- * 901 San Antonio Road, Palo Alto, CA 94303, U.S.A.
- * All rights reserved.
- *
- * 6.8 Stateless session beans
- *...
- * The home interface of a stateless session bean must have one create
- * method that takes no arguments and returns the session bean's remote
- * interface. There can be no other create methods in the home interface.
- * The session bean class must define a single ejbCreate method that takes
- * no arguments.
- *...
- *
- * 6.10.2 Session bean class
- * The following are the requirements for session bean class:
- * - The class must implement, directly or indirectly, the javax.ejb.SessionBean
- * interface.
- * - The class must be defined as public, must not be final, and must not
- * be abstract.
- * - The class must have a public constructor that takes no parameters. The
- * Container uses this constructor to create instances of the session bean class.
- * - The class must not define the finalize() method.
- * - The class may, but is not required to, implement the session bean's
- * remote interface [4] .
- * - The class must implement the business methods and the ejbCreate methods.
- * - If the class is a stateful session bean, it may optionally implement
- * the javax.ejb.SessionSynchronization interface.
- * - The session bean class may have superclasses and/or superinterfaces. If the
- * session bean has superclasses, then the business methods, the ejbCreate methods,
- * the methods of the SessionBean interface, and the methods of the optional
- * SessionSynchronization interface may be defined in the session bean class,
- * or in any of its superclasses.
- * - The session bean class is allowed to implement other methods (for example
- * helper methods invoked internally by the business methods) in addition to
- * the methods required by the EJB specification.
- *
- * [4] If the session bean class does implement the remote interface, care must
- * be taken to avoid passing of this as a method argument or result. This
- * potential error can be avoided by choosing not to implement the remote
- * interface in the session bean class.
- *
- * 6.10.3 ejbCreate methods
- * The session bean class must define one or more ejbCreate(...) methods whose signatures must
- * follow these rules:
- * - The method name must be ejbCreate.
- * - The method must be declared as public.
- * - The method must not be declared as final or static.
- * - The return type must be void.
- * - The method arguments must be legal types for RMI/IIOP.
- * - The throws clause may define arbitrary application exceptions, possibly
- * including the javax.ejb.CreateException.
- * Compatibility Note: EJB 1.0 allowed the ejbCreate method to throw the java.rmi.RemoteException
- * to indicate a non-application exception. This practice is deprecated in EJB 1.1 -- an EJB 1.1
- * compliant enterprise bean should throw the javax.ejb.EJBException or another RuntimeException
- * to indicate non-application exceptions to the Container (see Section 12.2.2).
- *
- * 6.10.4 Business methods
- * The session bean class may define zero or more business methods whose signatures must follow these rules:
- * - The method names can be arbitrary, but they must not start with "ejb" to avoid conflicts with the callback methods used by the EJB architecture.
- * - The business method must be declared as public.
- * - The method must not be declared as final or static.
- * - The argument and return value types for a method must be legal types for RMI/IIOP.
- * - The throws clause may define arbitrary application exceptions.
- * Compatibility Note: EJB 1.0 allowed the business methods to throw the java.rmi.RemoteException
- * to indicate a non-application exception. This practice is deprecated in EJB 1.1 -- an EJB 1.1 compliant
- * enterprise bean should throw the javax.ejb.EJBException or another RuntimeException to
- * indicate non-application exceptions to the Container (see Section 12.2.2).
- */
-public class ValidateSessionBean extends AValidateBean implements IMessagePrefixEjb11Constants {
- private boolean hasValidConstructor = false;
- private boolean hasAConstructor = false;
- private boolean hasDefaultCreateMethod = false;
- private Set createMethods = null;
-
- private static final String MSSGID = ".sb"; // In messages, to identify which message version belongs to the BMP bean class, this id is used. //$NON-NLS-1$
- private static final String EXT = MSSGID + SPEC; // Extension to be used on non-method, non-field messages
- private static final String BEXT = MSSGID + ON_BASE + SPEC; // Extension to be used on a method/field message when the method/field is inherited from a base type
- private static final String MEXT = MSSGID + ON_THIS + SPEC; // Extension to be used on a method/field message when the method/field is implemented on the current type
-
- private static final Object ID = IValidationRuleList.EJB11_SESSION_BEANCLASS;
- private static final Object[] DEPENDS_ON = new Object[]{IValidationRuleList.EJB11_SESSION_HOME, IValidationRuleList.EJB11_SESSION_REMOTE};
- private static final Map MESSAGE_IDS;
-
- static {
- MESSAGE_IDS = new HashMap();
-
- MESSAGE_IDS.put(CHKJ2003I, new String[]{CHKJ2003I + SPEC});
- MESSAGE_IDS.put(CHKJ2003E, new String[]{CHKJ2003E + SPEC});
-
- MESSAGE_IDS.put(CHKJ2006, new String[]{CHKJ2006+EXT});
- MESSAGE_IDS.put(CHKJ2007, new String[]{CHKJ2007+EXT});
- MESSAGE_IDS.put(CHKJ2008, new String[]{CHKJ2008+EXT});
-
- MESSAGE_IDS.put(CHKJ2013, new String[]{CHKJ2013+EXT});
- MESSAGE_IDS.put(CHKJ2014, new String[]{CHKJ2014+EXT});
- MESSAGE_IDS.put(CHKJ2015, new String[]{CHKJ2015+EXT});
-
- MESSAGE_IDS.put(CHKJ2022, new String[]{CHKJ2022+EXT});
- MESSAGE_IDS.put(CHKJ2025, new String[]{CHKJ2025+BEXT, CHKJ2025+MEXT});
-
- MESSAGE_IDS.put(CHKJ2040, new String[]{CHKJ2040+EXT});
-
- MESSAGE_IDS.put(CHKJ2103, new String[]{CHKJ2103 + SPEC});
- MESSAGE_IDS.put(CHKJ2200, new String[]{CHKJ2200+ON_BASE+SPEC, CHKJ2200+ON_THIS+SPEC}); // CHKJ2200 is a special case. It's shared by all bean types.
-
- MESSAGE_IDS.put(CHKJ2400_bus, new String[]{CHKJ2400_bus+BEXT, CHKJ2400_bus+MEXT});
- MESSAGE_IDS.put(CHKJ2400_ejbCreate, new String[]{CHKJ2400_ejbCreate+BEXT, CHKJ2400_ejbCreate+MEXT});
- MESSAGE_IDS.put(CHKJ2401, new String[]{CHKJ2401+BEXT, CHKJ2401+MEXT});
- MESSAGE_IDS.put(CHKJ2408_bus, new String[]{CHKJ2408_bus+BEXT, CHKJ2408_bus+MEXT});
- MESSAGE_IDS.put(CHKJ2408_ejbCreate, new String[]{CHKJ2408_ejbCreate+BEXT, CHKJ2408_ejbCreate+MEXT});
- MESSAGE_IDS.put(CHKJ2409_bus, new String[]{CHKJ2409_bus+BEXT, CHKJ2409_bus+MEXT});
- MESSAGE_IDS.put(CHKJ2409_ejbCreate, new String[]{CHKJ2409_ejbCreate+BEXT, CHKJ2409_ejbCreate+MEXT});
-
- MESSAGE_IDS.put(CHKJ2410_bus, new String[]{CHKJ2410_bus+BEXT, CHKJ2410_bus+MEXT});
- MESSAGE_IDS.put(CHKJ2410_ejbCreate, new String[]{CHKJ2410_ejbCreate+BEXT, CHKJ2410_ejbCreate+MEXT});
- MESSAGE_IDS.put(CHKJ2411, new String[]{CHKJ2411+BEXT, CHKJ2411+MEXT});
- MESSAGE_IDS.put(CHKJ2412, new String[]{CHKJ2412+BEXT, CHKJ2412+MEXT});
- MESSAGE_IDS.put(CHKJ2413, new String[]{CHKJ2413+BEXT, CHKJ2413+MEXT});
- MESSAGE_IDS.put(CHKJ2414, new String[]{CHKJ2414+BEXT, CHKJ2414+MEXT});
-
- MESSAGE_IDS.put(CHKJ2420, new String[]{CHKJ2420+BEXT, CHKJ2420+MEXT});
-
- MESSAGE_IDS.put(CHKJ2432, new String[]{CHKJ2432+BEXT, CHKJ2432+MEXT});
-
- MESSAGE_IDS.put(CHKJ2041, new String[]{CHKJ2041}); // special case. Shared by all types.
- MESSAGE_IDS.put(CHKJ2433, new String[]{CHKJ2433});
- MESSAGE_IDS.put(CHKJ2456, new String[]{CHKJ2456+ON_BASE, CHKJ2456+ON_THIS}); // special case (shared by all types)
- MESSAGE_IDS.put(CHKJ2907, new String[]{CHKJ2907});
- }
-
- public void reset() {
- super.reset();
- createMethods.clear();
- }
-
- public final Map getMessageIds() {
- return MESSAGE_IDS;
- }
-
- public final Object[] getDependsOn() {
- return DEPENDS_ON;
- }
-
- public final Object getId() {
- return ID;
- }
-
- public ValidateSessionBean() {
- createMethods = new HashSet();
- }
-
- protected final String getParentName() {
- return ITypeConstants.CLASSNAME_JAVAX_EJB_SESSIONBEAN;
- }
-
- protected boolean hasCreateMethod() {
- if (hasDefaultCreateMethod == true)
- return true;
- if (createMethods.size() > 0)
- return true;
- return false;
- }
-
- protected void incrementCreateMethodCount(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) {
- if (method == null) {
- return;
- }
-
- if ((method.listParametersWithoutReturn().length == 0) && (!hasDefaultCreateMethod)) {
- hasDefaultCreateMethod = true;
- }
- else {
- // add it to the list, for reporting extraneous create methods, for stateless session beans (section 6.8)
- createMethods.add(method);
- }
- }
-
- public boolean isFrameworkMethod(String name) {
- if (super.isFrameworkMethod(name)) {
- return true;
- }
-
- // check for session-specific methods
- if (name.equals(IMethodAndFieldConstants.METHODNAME_SETSESSIONCONTEXT)) {
- return true;
- }
-
- return false;
- }
-
- /**
- * Check that the ejbCreate methods and business methods follow the EJB 1.1 spec.
- *
- *
- * 6.8 Stateless session beans
- *...
- * The home interface of a stateless session bean must have one create
- * method that takes no arguments and returns the session bean's remote
- * interface. There can be no other create methods in the home interface.
- * The session bean class must define a single ejbCreate method that takes
- * no arguments.
- *...
- *
- * 6.10.2 Session bean class
- * The following are the requirements for session bean class:
- * ...
- * - The class must have a public constructor that takes no parameters. The
- * Container uses this constructor to create instances of the session bean class.
- * - The class must not define the finalize() method.
- * ...
- * - The class must implement the business methods and the ejbCreate methods.
- * ...
- * - The session bean class is allowed to implement other methods (for example
- * helper methods invoked internally by the business methods) in addition to
- * the methods required by the EJB specification.
- * ...
- *
- * 6.10.3 ejbCreate methods
- * The session bean class must define one or more ejbCreate(...) methods whose signatures must
- * follow these rules:
- * - The method name must be ejbCreate.
- * - The method must be declared as public.
- * - The method must not be declared as final or static.
- * - The return type must be void.
- * - The method arguments must be legal types for RMI/IIOP.
- * - The throws clause may define arbitrary application exceptions, possibly
- * including the javax.ejb.CreateException.
- * Compatibility Note: EJB 1.0 allowed the ejbCreate method to throw the java.rmi.RemoteException
- * to indicate a non-application exception. This practice is deprecated in EJB 1.1 -- an EJB 1.1
- * compliant enterprise bean should throw the javax.ejb.EJBException or another RuntimeException
- * to indicate non-application exceptions to the Container (see Section 12.2.2).
- *
- * 6.10.4 Business methods
- * The session bean class may define zero or more business methods whose signatures must follow these rules:
- * - The method names can be arbitrary, but they must not start with "ejb" to avoid conflicts with the callback methods used by the EJB architecture.
- * - The business method must be declared as public.
- * - The method must not be declared as final or static.
- * - The argument and return value types for a method must be legal types for RMI/IIOP.
- * - The throws clause may define arbitrary application exceptions.
- * Compatibility Note: EJB 1.0 allowed the business methods to throw the java.rmi.RemoteException
- * to indicate a non-application exception. This practice is deprecated in EJB 1.1 -- an EJB 1.1 compliant
- * enterprise bean should throw the javax.ejb.EJBException or another RuntimeException to
- * indicate non-application exceptions to the Container (see Section 12.2.2).
- */
- public void primValidate(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method ejbMethod) throws InvalidInputException {
- // Can't invoke an abstract method
- // super.primValidate(ejbMethod);
-
- vc.terminateIfCancelled();
-
- String name = ejbMethod.getName();
- if (name.equals(IMethodAndFieldConstants.METHODNAME_EJBCREATE)) {
- validateEjbCreateMethod(vc, bean, clazz, ejbMethod);
- }
- else if (name.equals(IMethodAndFieldConstants.METHODNAME_FINALIZE)) {
- validateFinalizeMethod(vc, bean, clazz, ejbMethod);
- }
- else if (ejbMethod.isConstructor()) {
- validateConstructor(vc, bean, clazz, ejbMethod);
- }
- else if (isBusinessMethod(vc, bean, clazz, ejbMethod)) {
- validateBusinessMethod(vc, bean, clazz, ejbMethod);
- }
- else if (!isFrameworkMethod(name)) {
- validateHelperMethod(vc, bean, clazz, ejbMethod);
- }
-
- vc.terminateIfCancelled();
-
- }
-
- /**
- * Checks to see if @ejbMethod is one of the required methods.
- */
- protected void primValidateExistence(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method ejbMethod) throws InvalidInputException {
- // Can't invoke an abstract method
- //super.validateExistence(ejbMethod);
-
- if (IMethodAndFieldConstants.METHODNAME_EJBCREATE.equals(ejbMethod.getName()))
- incrementCreateMethodCount(vc, bean, clazz, ejbMethod);
- else if (ejbMethod.isConstructor())
- validateConstructor(vc, bean, clazz, ejbMethod);
- }
-
- /**
- * Test that the supplied business method follows the EJB 1.1 spec rules.
- *
- * 6.10.4 Business methods
- * The session bean class may define zero or more business methods whose signatures must follow these rules:
- * - The method names can be arbitrary, but they must not start with "ejb" to avoid conflicts with the callback methods used by the EJB architecture.
- * - The business method must be declared as public.
- * - The method must not be declared as final or static.
- * - The argument and return value types for a method must be legal types for RMI/IIOP.
- * - The throws clause may define arbitrary application exceptions.
- * Compatibility Note: EJB 1.0 allowed the business methods to throw the java.rmi.RemoteException
- * to indicate a non-application exception. This practice is deprecated in EJB 1.1 -- an EJB 1.1 compliant
- * enterprise bean should throw the javax.ejb.EJBException or another RuntimeException to
- * indicate non-application exceptions to the Container (see Section 12.2.2).
- */
- public void validateBusinessMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws InvalidInputException {
- vc.terminateIfCancelled();
-
- super.validateBusinessMethod(vc, bean, clazz, method); // check method name does not start with 'ejb'
-
- // The method arguments and return value types must be legal types for RMI/IIOP.
- validateLegalRMIMethodWithoutExceptions(vc, bean, clazz, method);
-
- // The rest of the checks are performed in the validateMethod method.
- validateBusinessModifiersAndExceptions(vc, bean, clazz, method);
- }
-
- /**
- * Check that the session bean class definition follows the EJB 1.1 spec.
- *
- * The following paragraph is taken from
- * Enterprise JavaBeans Specification ("Specification")
- * Version: 1.1
- * Status: Final Release
- * Release: 12/17/99
- * Copyright 1999 Sun Microsystems, Inc.
- * 901 San Antonio Road, Palo Alto, CA 94303, U.S.A.
- * All rights reserved.
- *
- * 6.10.2 Session bean class
- * The following are the requirements for session bean class:
- * - The class must implement, directly or indirectly, the javax.ejb.SessionBean
- * interface.
- * - The class must be defined as public, must not be final, and must not
- * be abstract.
- * - The class may, but is not required to, implement the session bean's
- * remote interface [4] .
- * - If the class is a stateful session bean, it may optionally implement
- * the javax.ejb.SessionSynchronization interface.
- * - The session bean class may have superclasses and/or superinterfaces. If the
- * session bean has superclasses, then the business methods, the ejbCreate methods,
- * the methods of the SessionBean interface, and the methods of the optional
- * SessionSynchronization interface may be defined in the session bean class,
- * or in any of its superclasses.
- *
- * [4] If the session bean class does implement the remote interface, care must
- * be taken to avoid passing of this as a method argument or result. This
- * potential error can be avoided by choosing not to implement the remote
- * interface in the session bean class.
- */
- public void validateClass(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws InvalidInputException {
- vc.terminateIfCancelled();
- super.validateClass(vc, bean, clazz);
- // super.validateClass() performs the following checks:
- // - The class must implement, directly or indirectly, the javax.ejb.SessionBean
- // interface.
- // - The class must be defined as public, must not be final, and must not
- // be abstract.
-
- // If the class is a stateful session bean, it may optionally implement
- // the javax.ejb.SessionSynchronization interface.
-
- Session session = (Session)bean;
- boolean isStateless = ValidationRuleUtility.isStateless(bean);
- boolean isBeanManagedStateful = (ValidationRuleUtility.isBeanManagedSession(session) && ValidationRuleUtility.isStateful(session));
-
- if (isStateless) {
- /*
- * 6.5.3 The optional SessionSynchronization interface
- *...
- * Only a stateful Session bean with container-managed transaction demarcation may
- * implement the SessionSynchronization interface.
- *...
- * There is no need for a Session bean with bean-managed transaction to rely on the
- * synchronization call backs because the bean is in control of the commit the bean
- * knows when the transaction is about to be committed and it knows the outcome of the
- * transaction commit.
- *...
- */
- try {
- if (ValidationRuleUtility.isAssignableFrom(bean.getEjbClass(), ValidationRuleUtility.getType(ITypeConstants.CLASSNAME_JAVAX_EJB_SESSIONSYNCHRONIZATION, bean))) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2003E, IEJBValidationContext.ERROR, bean, bean.getEjbClass(), this);
- vc.addMessage(message);
- }
- }
- catch (InvalidInputException e) {
- String beanClassName = (bean.getEjbClass() == null) ? IEJBValidatorConstants.NULL_BEAN_CLASS : bean.getEjbClass().getJavaName();
- String eClass = (e.getJavaClass() == null) ? ITypeConstants.CLASSNAME_JAVAX_EJB_SESSIONSYNCHRONIZATION : e.getJavaClass().getJavaName(); // Since only getType throws InvalidInputException, this cannot have been thrown because of the bean class
- String[] msgParm = { beanClassName, eClass };
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2433, IEJBValidationContext.WARNING, bean, msgParm, this);
- vc.addMessage(message);
- }
- }
- else if (isBeanManagedStateful) {
- /*
- * 6.5.3 The optional SessionSynchronization interface
- *...
- * Only a stateful Session bean with container-managed transaction demarcation may
- * implement the SessionSynchronization interface.
- *...
- * There is no need for a Session bean with bean-managed transaction to rely on the
- * synchronization call backs because the bean is in control of the commit the bean
- * knows when the transaction is about to be committed and it knows the outcome of the
- * transaction commit.
- *...
- */
- try {
- if (ValidationRuleUtility.isAssignableFrom(bean.getEjbClass(), ValidationRuleUtility.getType(ITypeConstants.CLASSNAME_JAVAX_EJB_SESSIONSYNCHRONIZATION, bean))) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2003I, IEJBValidationContext.INFO, bean, bean.getEjbClass(), this);
- vc.addMessage(message);
- }
- }
- catch (InvalidInputException e) {
- String[] msgParm = { bean.getEjbClass().getQualifiedName(), e.getJavaClass().getQualifiedName()};
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2907, IEJBValidationContext.WARNING, bean, msgParm, this);
- vc.addMessage(message);
- }
- }
-
- // The session bean class may have superclasses and/or superinterfaces. If the
- // session bean has superclasses, then the business methods, the ejbCreate methods,
- // the methods of the SessionBean interface, and the methods of the optional
- // SessionSynchronization interface may be defined in the session bean class,
- // or in any of its superclasses.
- // - this is taken care of by the EJB MOF model. When asked if a JavaClass has a method,
- // the model checks the class' parents too.
-
- // The class may, but is not required to, implement the session bean's
- // remote interface [4] .
- // [4] If the session bean class does implement the remote interface, care must
- // be taken to avoid passing of this as a method argument or result. This
- // potential error can be avoided by choosing not to implement the remote
- // interface in the session bean class.
- validateClass_remoteDep(vc, bean, clazz);
- }
-
- /**
- * Check that the session bean class definition follows the EJB 1.1 spec.
- *
- * The following paragraph is taken from
- * Enterprise JavaBeans Specification ("Specification")
- * Version: 1.1
- * Status: Final Release
- * Release: 12/17/99
- * Copyright 1999 Sun Microsystems, Inc.
- * 901 San Antonio Road, Palo Alto, CA 94303, U.S.A.
- * All rights reserved.
- *
- * 6.10.2 Session bean class
- * The following are the requirements for session bean class:
- * - The class must implement, directly or indirectly, the javax.ejb.SessionBean
- * interface.
- * - The class must be defined as public, must not be final, and must not
- * be abstract.
- * - The class may, but is not required to, implement the session bean's
- * remote interface [4] .
- * - If the class is a stateful session bean, it may optionally implement
- * the javax.ejb.SessionSynchronization interface.
- * - The session bean class may have superclasses and/or superinterfaces. If the
- * session bean has superclasses, then the business methods, the ejbCreate methods,
- * the methods of the SessionBean interface, and the methods of the optional
- * SessionSynchronization interface may be defined in the session bean class,
- * or in any of its superclasses.
- *
- * [4] If the session bean class does implement the remote interface, care must
- * be taken to avoid passing of this as a method argument or result. This
- * potential error can be avoided by choosing not to implement the remote
- * interface in the session bean class.
- */
- public void validateClass_remoteDep(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws InvalidInputException {
- vc.terminateIfCancelled();
- // The class may, but is not required to, implement the session bean's
- // remote interface [4] .
- // [4] If the session bean class does implement the remote interface, care must
- // be taken to avoid passing of this as a method argument or result. This
- // potential error can be avoided by choosing not to implement the remote
- // interface in the session bean class.
- JavaClass remote = bean.getRemoteInterface();
- ValidationRuleUtility.isValidTypeHierarchy(bean, remote);
- if (ValidationRuleUtility.isAssignableFrom(clazz, remote)) {
- String[] msgParm = {clazz.getQualifiedName(), remote.getQualifiedName()};
- IMessage message = MessageUtility.getUtility().getMessage(vc, IEJBValidatorMessageConstants.CHKJ2040, IEJBValidationContext.INFO, bean, clazz, msgParm, this);
- vc.addMessage(message);
- }
-
- }
-
- protected void validateConstructor(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) {
- if (method == null) {
- return;
- }
-
- hasAConstructor = true;
- if (!hasValidConstructor && ValidationRuleUtility.isPublic(method) && (method.listParametersWithoutReturn().length == 0)) {
- hasValidConstructor = true;
- }
- }
-
- /**
- * Test that the supplied ejbCreate method follows the EJB 1.1 spec rules.
- *
- * 6.10.3 ejbCreate methods
- * The session bean class must define one or more ejbCreate(...) methods whose signatures must
- * follow these rules:
- * - The method name must be ejbCreate.
- * - The method must be declared as public.
- * - The method must not be declared as final or static.
- * - The return type must be void.
- * - The method arguments must be legal types for RMI/IIOP.
- * - The throws clause may define arbitrary application exceptions, possibly
- * including the javax.ejb.CreateException.
- * Compatibility Note: EJB 1.0 allowed the ejbCreate method to throw the java.rmi.RemoteException
- * to indicate a non-application exception. This practice is deprecated in EJB 1.1 -- an EJB 1.1
- * compliant enterprise bean should throw the javax.ejb.EJBException or another RuntimeException
- * to indicate non-application exceptions to the Container (see Section 12.2.2).
- */
- public void validateEjbCreateMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws InvalidInputException {
- vc.terminateIfCancelled();
-
- // The method which calls this method has already tested that the method name is ejbCreate.
- if (method == null) {
- return;
- }
-
- // The return type must be void.
- JavaHelpers parmType = method.getReturnType();
- String returnTypeName = ((parmType == null) ? "" : parmType.getQualifiedName()); //$NON-NLS-1$
-
- if (!returnTypeName.equals(ITypeConstants.VOID)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2401, IEJBValidationContext.ERROR, bean, clazz, method, new String[] {clazz.getQualifiedName()}, this);
- vc.addMessage(message);
- }
-
- // The method arguments must be legal types for RMI/IIOP.
- validateLegalRMIMethodArguments(vc, bean, clazz, method);
-
- validateEjbCreateModifiersAndExceptions(vc, bean, clazz, method);
-
- validateEjbCreateMethod_homeDep(vc, bean, clazz, method);
- }
-
- /**
- *...
- * 6.10.2 Session bean class
- * The following are the requirements for session bean class:
- * ...
- * - The class must not define the finalize() method.
- * ...
- */
- protected void validateFinalizeMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) {
- if (method == null) {
- return;
- }
-
- if (method.listParametersWithoutReturn().length == 0) {
- // This is a warning, not an error, because EJB 1.0 allowed the finalize() method to be called. EJB 1.1 (section 6.10.2) specifically prohibits it.
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2007, IEJBValidationContext.WARNING, bean, clazz, method, new String[] {clazz.getQualifiedName()}, this);
- vc.addMessage(message);
- }
- }
-
- /**
- * 6.8 Stateless session beans
- *...
- * The session bean class must define a single ejbCreate method that takes
- * no arguments.
- *...
- * 6.10.2 Session bean class
- * The following are the requirements for session bean class:
- * ...
- * - The class must have a public constructor that takes no parameters. The
- * Container uses this constructor to create instances of the session bean class.
- * ...
- * 6.10.3 ejbCreate methods
- * The session bean class must define one or more ejbCreate(...) methods whose signatures must
- * follow these rules:
- *...
- */
- protected void validateMethodExists(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws InvalidInputException {
- final String[] modelObjectName = new String[] { clazz.getQualifiedName()};
- if (!hasValidConstructor && hasAConstructor) {
- // If a public constructor with no arguments does not exist explicitly,
- // Java will insert one as long as there are no constructors defined in the
- // class. If there is a constructor, Java does not insert a default constructor.
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2006, IEJBValidationContext.ERROR, bean, clazz, modelObjectName, this);
- vc.addMessage(message);
- }
-
- if (!hasCreateMethod()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2008, IEJBValidationContext.ERROR, bean, clazz, modelObjectName, this);
- vc.addMessage(message);
- }
-
- // The session bean class must define a single ejbCreate method that takes
- // no arguments.
- if (ValidationRuleUtility.isStateless(bean) && (createMethods.size() > 0)) {
- Iterator iterator = createMethods.iterator();
- while (iterator.hasNext()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2025, IEJBValidationContext.ERROR, bean, clazz, (Method) iterator.next(), modelObjectName, this);
- vc.addMessage(message);
- }
- }
- }
-
- /**
- * Test that the supplied method follows the EJB 1.1 spec rules.
- *
- * ejbCreate and business methods follow some of the same rules. This method checks those rules.
- * (Part of sections 6.10.3 and 6.10.4)
- *
- * - The business method must be declared as public.
- * - The method must not be declared as final or static.
- * - The argument and return value types for a method must be legal types for RMI/IIOP.
- * Compatibility Note: EJB 1.0 allowed the business methods to throw the java.rmi.RemoteException
- * to indicate a non-application exception. This practice is deprecated in EJB 1.1 -- an EJB 1.1 compliant
- * enterprise bean should throw the javax.ejb.EJBException or another RuntimeException to
- * indicate non-application exceptions to the Container (see Section 12.2.2).
- */
- public void validateBusinessModifiersAndExceptions(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws InvalidInputException {
- // EJB 2.0 added "throws InvalidInputException" above
- vc.terminateIfCancelled();
- if (method == null)
- return;
-
- // The method must be declared as public.
- if (!ValidationRuleUtility.isPublic(method)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2408_bus, IEJBValidationContext.ERROR, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- // The method must not be declared as final or static.
- if (method.isStatic()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2410_bus, IEJBValidationContext.ERROR, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- if (method.isFinal()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2409_bus, IEJBValidationContext.ERROR, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- // The throws clause may define arbitrary application exceptions, possibly
- // including the javax.ejb.CreateException.
- // Compatibility Note: EJB 1.0 allowed the business methods to throw the java.rmi.RemoteException
- // to indicate a non-application exception. This practice is deprecated in EJB 1.1 -- an EJB 1.1 compliant
- // enterprise bean should throw the javax.ejb.EJBException or another RuntimeException to
- // indicate non-application exceptions to the Container (see Section 12.2.2).
- validateNoRemoteException(vc, bean, clazz, method, IMessagePrefixEjb11Constants.CHKJ2400_bus);
- }
-
- public void validateEjbCreateModifiersAndExceptions(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws InvalidInputException {
- // EJB 2.0 added "throws InvalidInputException" above
- vc.terminateIfCancelled();
- if (method == null)
- return;
-
- // The method must be declared as public.
- if (!ValidationRuleUtility.isPublic(method)) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2408_ejbCreate, IEJBValidationContext.ERROR, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- // The method must not be declared as final or static.
- if (method.isStatic()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2410_ejbCreate, IEJBValidationContext.ERROR, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- if (method.isFinal()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2409_ejbCreate, IEJBValidationContext.ERROR, bean, clazz, method, this);
- vc.addMessage(message);
- }
-
- // The throws clause may define arbitrary application exceptions, possibly
- // including the javax.ejb.CreateException.
- // Compatibility Note: EJB 1.0 allowed the business methods to throw the java.rmi.RemoteException
- // to indicate a non-application exception. This practice is deprecated in EJB 1.1 -- an EJB 1.1 compliant
- // enterprise bean should throw the javax.ejb.EJBException or another RuntimeException to
- // indicate non-application exceptions to the Container (see Section 12.2.2).
- validateNoRemoteException(vc, bean, clazz, method, IMessagePrefixEjb11Constants.CHKJ2400_ejbCreate);
- }
- /*
- * @see IValidationRule#preValidate(IEJBValidationContext, Object, Object)
- */
- public void preValidate(IEJBValidationContext vc, Object targetParent, Object target) throws ValidationCancelledException, ValidationException {
- super.preValidate(vc, targetParent, target);
- hasValidConstructor = false;
- hasAConstructor = false;
- hasDefaultCreateMethod = false;
- }
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ValidateSessionHome.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ValidateSessionHome.java
deleted file mode 100644
index 45b289fa1..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ValidateSessionHome.java
+++ /dev/null
@@ -1,354 +0,0 @@
-package org.eclipse.jst.j2ee.model.internal.validation;
-
-/*
-* Licensed Material - Property of IBM
-* (C) Copyright IBM Corp. 2001 - All Rights Reserved.
-* US Government Users Restricted Rights - Use, duplication or disclosure
-* restricted by GSA ADP Schedule Contract with IBM Corp.
-*/
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-
-/**
- * This class checks Session home interface classes for errors or potential errors.
- * If any problems are found, an error, warning, or info marker is added to the task list.
- *
- * The following paragraph is taken from
- * Enterprise JavaBeans Specification ("Specification")
- * Version: 1.1
- * Status: Final Release
- * Release: 12/17/99
- * Copyright 1999 Sun Microsystems, Inc.
- * 901 San Antonio Road, Palo Alto, CA 94303, U.S.A.
- * All rights reserved.
- *
- * 6.8 Stateless session beans
- *...
- * The home interface of a stateless session bean must have one create
- * method that takes no arguments and returns the session bean's remote
- * interface. There can be no other create methods in the home interface.
- * The session bean class must define a single ejbCreate method that takes
- * no arguments.
- *...
- *
- * 6.10.6 Session beans home interface
- * The following are the requirements for the session bean's home interface:
- * - The interface must extend the javax.ejb.EJBHome interface.
- * - The methods defined in this interface must follow the rules for RMI/IIOP.
- * This means that their argument and return values must be of valid types
- * for RMI/IIOP, and that their throws clause must include the java.rmi.RemoteException.
- * - The home interface is allowed to have superinterfaces. Use of interface
- * inheritance is subject to the RMI/IIOP rules for the definition of
- * remote interfaces.
- * - A session bean's home interface must define one or more create(...) methods.
- * - Each create method must be named "create", and it must match one of
- * the ejbCreate methods defined in the session bean class. The matching
- * ejbCreate method must have the same number and types of arguments.
- * (Note that the return type is different.)
- * - The return type for a create method must be the session bean's remote
- * interface type.
- * - All the exceptions defined in the throws clause of an ejbCreate method
- * of the session bean class must be defined in the throws clause of the
- * matching create method of the home interface.
- * - The throws clause must include javax.ejb.CreateException.
- */
-public class ValidateSessionHome extends AValidateHome implements IMessagePrefixEjb11Constants {
- private boolean hasDefaultCreateMethod = false;
- private Set createMethods = null;
-
- private static final String MSSGID = ".sh"; // In messages, to identify which message version belongs to the BMP bean class, this id is used. //$NON-NLS-1$
- private static final String EXT = MSSGID + SPEC; // Extension to be used on non-method, non-field messages
- private static final String BEXT = MSSGID + ON_BASE + SPEC; // Extension to be used on a method/field message when the method/field is inherited from a base type
- private static final String MEXT = MSSGID + ON_THIS + SPEC; // Extension to be used on a method/field message when the method/field is implemented on the current type
-
- private static final Object ID = IValidationRuleList.EJB11_SESSION_HOME;
- private static final Object[] DEPENDS_ON = new Object[]{IValidationRuleList.EJB11_SESSION_BEANCLASS, IValidationRuleList.EJB11_SESSION_REMOTE};
- private static final Map MESSAGE_IDS;
-
- static {
- MESSAGE_IDS = new HashMap();
-
- MESSAGE_IDS.put(CHKJ2005, new String[]{CHKJ2005+BEXT, CHKJ2005+MEXT});
- MESSAGE_IDS.put(CHKJ2010, new String[]{CHKJ2010+EXT});
-
- MESSAGE_IDS.put(CHKJ2011, new String[]{CHKJ2011+EXT});
- MESSAGE_IDS.put(CHKJ2012, new String[]{CHKJ2012+EXT});
- MESSAGE_IDS.put(CHKJ2017, new String[]{CHKJ2017+EXT});
-
- MESSAGE_IDS.put(CHKJ2024, new String[]{CHKJ2024+BEXT, CHKJ2024+MEXT});
- MESSAGE_IDS.put(CHKJ2026, new String[]{CHKJ2026+BEXT, CHKJ2026+MEXT});
-
- MESSAGE_IDS.put(CHKJ2104, new String[]{CHKJ2104 + SPEC});
-
- MESSAGE_IDS.put(CHKJ2402, new String[]{CHKJ2402+BEXT, CHKJ2402+MEXT});
- MESSAGE_IDS.put(CHKJ2403, new String[]{CHKJ2403+BEXT, CHKJ2403+MEXT});
- MESSAGE_IDS.put(CHKJ2405, new String[]{CHKJ2405+BEXT, CHKJ2405+MEXT});
-
- MESSAGE_IDS.put(CHKJ2412, new String[]{CHKJ2412+BEXT, CHKJ2412+MEXT});
- MESSAGE_IDS.put(CHKJ2413, new String[]{CHKJ2413+BEXT, CHKJ2413+MEXT});
- MESSAGE_IDS.put(CHKJ2414, new String[]{CHKJ2414+BEXT, CHKJ2414+MEXT});
- MESSAGE_IDS.put(CHKJ2415, new String[]{CHKJ2415+BEXT, CHKJ2415+MEXT});
- MESSAGE_IDS.put(CHKJ2419, new String[]{CHKJ2419+BEXT, CHKJ2419+MEXT});
-
- MESSAGE_IDS.put(CHKJ2041, new String[]{CHKJ2041}); // special case. Shared by all types.
- MESSAGE_IDS.put(CHKJ2433, new String[]{CHKJ2433});
- MESSAGE_IDS.put(CHKJ2907, new String[]{CHKJ2907});
- }
-
- public void reset() {
- super.reset();
- createMethods.clear();
- }
-
- public final Map getMessageIds() {
- return MESSAGE_IDS;
- }
-
- public final Object[] getDependsOn() {
- return DEPENDS_ON;
- }
-
- public final Object getId() {
- return ID;
- }
-
- public ValidateSessionHome() {
- createMethods = new HashSet();
- }
-
- protected boolean hasCreateMethod() {
- if (hasDefaultCreateMethod == true)
- return true;
- if (createMethods.size() > 0)
- return true;
- return false;
- }
-
- protected void incrementCreateMethodCount(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) {
- if (method == null) {
- return;
- }
-
- if ((method.listParametersWithoutReturn().length == 0) && (!hasDefaultCreateMethod)) {
- hasDefaultCreateMethod = true;
- }
- else {
- // add it to the list, for reporting extraneous create methods, for stateless session beans (section 6.8)
- createMethods.add(method);
- }
- }
-
- /**
- * Check the session home interface's methods follow the EJB 1.1 spec.
- *
- * The following paragraph is taken from
- * Enterprise JavaBeans Specification ("Specification")
- * Version: 1.1
- * Status: Final Release
- * Release: 12/17/99
- * Copyright 1999 Sun Microsystems, Inc.
- * 901 San Antonio Road, Palo Alto, CA 94303, U.S.A.
- * All rights reserved.
- *
- * 6.8 Stateless session beans
- *...
- * The home interface of a stateless session bean must have one create
- * method that takes no arguments and returns the session bean's remote
- * interface. There can be no other create methods in the home interface.
- * The session bean class must define a single ejbCreate method that takes
- * no arguments.
- *...
- *
- * 6.10.6 Session bean's home interface
- * The following are the requirements for the session bean's home interface:
- * ...
- * - The methods defined in this interface must follow the rules for RMI/IIOP.
- * This means that their argument and return values must be of valid types
- * for RMI/IIOP, and that their throws clause must include the java.rmi.RemoteException.
- * ...
- * - A session bean's home interface must define one or more create(...) methods.
- * - Each create method must be named "create", and it must match one of
- * the ejbCreate methods defined in the session bean class. The matching
- * ejbCreate method must have the same number and types of arguments.
- * (Note that the return type is different.)
- * - The return type for a create method must be the session bean's remote
- * interface type.
- * - All the exceptions defined in the throws clause of an ejbCreate method
- * of the session bean class must be defined in the throws clause of the
- * matching create method of the home interface.
- * - The throws clause must include javax.ejb.CreateException.
- * ...
- */
- public void primValidate(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method hiMethod) throws InvalidInputException {
- // Can't invoke an abstract method
- // super.primValidate(hiMethod);
-
- vc.terminateIfCancelled();
-
- String name = hiMethod.getName();
- // Home interface should only declare create methods
- if (name.equals(IMethodAndFieldConstants.METHODNAME_CREATE)) {
- validateCreateMethod(vc, bean, clazz, hiMethod);
- }
- else {
- // Home interface should only declare create methods
- // (No methods other than create methods are listed in section 6.10.6,
- // but other sections of the spec, e.g. 9.2.2, explicitly list each type
- // of method which can be on a class/interface.)
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2419, IEJBValidationContext.ERROR, bean, clazz, hiMethod, this);
- vc.addMessage(message);
- }
-
- vc.terminateIfCancelled();
- }
-
- /**
- * Checks to see if @ejbMethod is one of the required methods.
- */
- protected void primValidateExistence(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method ejbMethod) throws InvalidInputException {
- // Can't invoke an abstract method
- //super.validateExistence(ejbMethod);
-
- if (IMethodAndFieldConstants.METHODNAME_CREATE.equals(ejbMethod.getName()))
- incrementCreateMethodCount(vc, bean, clazz, ejbMethod);
- }
-
- /**
- * Check that the session home class definition follows the EJB 1.1 spec.
- *
- * The following paragraph is taken from
- * Enterprise JavaBeans Specification ("Specification")
- * Version: 1.1
- * Status: Final Release
- * Release: 12/17/99
- * Copyright 1999 Sun Microsystems, Inc.
- * 901 San Antonio Road, Palo Alto, CA 94303, U.S.A.
- * All rights reserved.
- *
- * 6.10.6 Session bean's home interface
- * The following are the requirements for the session bean's home interface:
- * - The interface must extend the javax.ejb.EJBHome interface.
- * ...
- * - The home interface is allowed to have superinterfaces. Use of interface
- * inheritance is subject to the RMI/IIOP rules for the definition of
- * remote interfaces.
- * ...
- */
- public void validateClass(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws InvalidInputException {
- vc.terminateIfCancelled();
- // Both of the above checks are performed by the ValidateHome class's validateClass method.
- super.validateClass(vc, bean, clazz);
- }
-
- /**
- * 6.8 Stateless session beans
- *...
- * The home interface of a stateless session bean must have one create
- * method that takes no arguments and returns the session bean's remote
- * interface. There can be no other create methods in the home interface.
- * The session bean class must define a single ejbCreate method that takes
- * no arguments.
- *...
- *
- * 6.10.6 Session bean's home interface
- * The following are the requirements for the session bean's home interface:
- * - The methods defined in this interface must follow the rules for RMI/IIOP.
- * This means that their argument and return values must be of valid types
- * for RMI/IIOP, and that their throws clause must include the java.rmi.RemoteException.
- * - A session bean's home interface must define one or more create(...) methods.
- * - Each create method must be named "create", and it must match one of
- * the ejbCreate methods defined in the session bean class. The matching
- * ejbCreate method must have the same number and types of arguments.
- * (Note that the return type is different.)
- * - The return type for a create method must be the session bean's remote
- * interface type.
- * - All the exceptions defined in the throws clause of an ejbCreate method
- * of the session bean class must be defined in the throws clause of the
- * matching create method of the home interface.
- * - The throws clause must include javax.ejb.CreateException.
- */
- protected void validateCreateMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) throws InvalidInputException {
- if (method == null) {
- return;
- }
-
- // The methods defined in this interface must follow the rules for RMI/IIOP.
- // This means that their argument and return values must be of valid types
- // for RMI/IIOP, and that their throws clause must include the java.rmi.RemoteException.
- validateLegalRMIMethod(vc, bean, clazz, method);
-
- // Each create method must be named "create", and it must match one of
- // the ejbCreate methods defined in the session bean class. The matching
- // ejbCreate method must have the same number and types of arguments.
- // (Note that the return type is different.)
- // All the exceptions defined in the throws clause of an ejbCreate method
- // of the session bean class must be defined in the throws clause of the
- // matching create method of the home interface.
- // The throws clause must include javax.ejb.CreateException.
- validateCreateMethod_beanDep(vc, bean, clazz, method);
-
- // The throws clause must include javax.ejb.CreateException.
- if (!ValidationRuleUtility.throwsCreateException(bean, method)) {
- String[] msgParm = { ITypeConstants.CLASSNAME_JAVAX_EJB_CREATEEXCEPTION };
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2414, IEJBValidationContext.ERROR, bean, clazz, method, msgParm, this);
- vc.addMessage(message);
- }
-
- // Perform the checks which depend on another class in the enterprise bean.
- validateCreateMethod_remoteDep(vc, bean, clazz, method);
- }
-
- /**
- * 6.8 Stateless session beans
- *...
- * The home interface of a stateless session bean must have one create
- * method that takes no arguments and returns the session bean's remote
- * interface. There can be no other create methods in the home interface.
- * The session bean class must define a single ejbCreate method that takes
- * no arguments.
- *...
- *
- * 6.10.6 Session bean's home interface
- * The following are the requirements for the session bean's home interface:
- * - A session bean's home interface must define one or more create(...) methods.
- */
- protected void validateMethodExists(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz) throws InvalidInputException {
- final String[] modelObjectName = new String[] { clazz.getQualifiedName()};
-
- // A session bean's home must define one or more create methods.
- if (!hasCreateMethod()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2010, IEJBValidationContext.ERROR, bean, clazz, modelObjectName, this);
- vc.addMessage(message);
- }
-
- // The home interface of a stateless session bean must have one create
- // method that takes no arguments and returns the session bean's remote
- // interface. There can be no other create methods in the home interface.
- if (ValidationRuleUtility.isStateless(bean) && (createMethods.size() > 0)) {
- Iterator iterator = createMethods.iterator();
- while (iterator.hasNext()) {
- IMessage message = MessageUtility.getUtility().getMessage(vc, IMessagePrefixEjb11Constants.CHKJ2024, IEJBValidationContext.ERROR, bean, clazz, (Method) iterator.next(), modelObjectName, this);
- vc.addMessage(message);
- }
- }
- }
- /*
- * @see IValidationRule#preValidate(IEJBValidationContext, Object, Object)
- */
- public void preValidate(IEJBValidationContext vc, Object targetParent, Object target) throws ValidationCancelledException, ValidationException {
- super.preValidate(vc, targetParent, target);
- hasDefaultCreateMethod = false;
- }
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ValidateSessionRemote.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ValidateSessionRemote.java
deleted file mode 100644
index 68220649d..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ValidateSessionRemote.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-
-import java.util.HashMap;
-import java.util.Map;
-
-
-
-
-/**
- * Validates the remote interface of a Session bean.
- */
-public class ValidateSessionRemote extends AValidateRemote implements IMessagePrefixEjb11Constants {
- private static final String MSSGID = ".sr"; // In messages, to identify which message version belongs to the BMP bean class, this id is used. //$NON-NLS-1$
- private static final String EXT = MSSGID + SPEC; // Extension to be used on non-method, non-field messages
- private static final String BEXT = MSSGID + ON_BASE + SPEC; // Extension to be used on a method/field message when the method/field is inherited from a base type
- private static final String MEXT = MSSGID + ON_THIS + SPEC; // Extension to be used on a method/field message when the method/field is implemented on the current type
-
- private static final Object ID = IValidationRuleList.EJB11_SESSION_REMOTE;
- private static final Object[] DEPENDS_ON = new Object[]{IValidationRuleList.EJB11_SESSION_BEANCLASS};
- private static final Map MESSAGE_IDS;
-
- static {
- MESSAGE_IDS = new HashMap();
-
- MESSAGE_IDS.put(CHKJ2012, new String[]{CHKJ2012+EXT});
- MESSAGE_IDS.put(CHKJ2017, new String[]{CHKJ2017+EXT});
-
- MESSAGE_IDS.put(CHKJ2023, new String[]{CHKJ2023+BEXT, CHKJ2023+MEXT});
-
- MESSAGE_IDS.put(CHKJ2105, new String[]{CHKJ2105 + SPEC});
-
- MESSAGE_IDS.put(CHKJ2412, new String[]{CHKJ2412+BEXT, CHKJ2412+MEXT});
- MESSAGE_IDS.put(CHKJ2413, new String[]{CHKJ2413+BEXT, CHKJ2413+MEXT});
- MESSAGE_IDS.put(CHKJ2414, new String[]{CHKJ2414+BEXT, CHKJ2414+MEXT});
- MESSAGE_IDS.put(CHKJ2415, new String[]{CHKJ2415+BEXT, CHKJ2415+MEXT});
-
- MESSAGE_IDS.put(CHKJ2041, new String[]{CHKJ2041}); // special case. Shared by all types.
- MESSAGE_IDS.put(CHKJ2433, new String[]{CHKJ2433});
- MESSAGE_IDS.put(CHKJ2907, new String[]{CHKJ2907});
- }
-
- public final Map getMessageIds() {
- return MESSAGE_IDS;
- }
-
- public final Object[] getDependsOn() {
- return DEPENDS_ON;
- }
-
- public final Object getId() {
- return ID;
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ValidationCancelledException.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ValidationCancelledException.java
deleted file mode 100644
index 54b92149a..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ValidationCancelledException.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-
-/**
- * This exception should be thrown if the user cancels validation.
- */
-public class ValidationCancelledException extends RuntimeException {
- public ValidationCancelledException() {
- super();
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ValidationRuleUtility.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ValidationRuleUtility.java
deleted file mode 100644
index f8d08ad56..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/ValidationRuleUtility.java
+++ /dev/null
@@ -1,1548 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-import java.util.logging.Level;
-
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.jem.java.ArrayType;
-import org.eclipse.jem.java.Field;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaHelpers;
-import org.eclipse.jem.java.JavaPackage;
-import org.eclipse.jem.java.JavaParameter;
-import org.eclipse.jem.java.JavaRefFactory;
-import org.eclipse.jem.java.JavaVisibilityKind;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jem.util.logger.LogEntry;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jst.j2ee.core.internal.plugin.J2EECorePlugin;
-import org.eclipse.jst.j2ee.ejb.CMPAttribute;
-import org.eclipse.jst.j2ee.ejb.CMRField;
-import org.eclipse.jst.j2ee.ejb.CommonRelationshipRole;
-import org.eclipse.jst.j2ee.ejb.ContainerManagedEntity;
-import org.eclipse.jst.j2ee.ejb.EJBRelationshipRole;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.jst.j2ee.ejb.Entity;
-import org.eclipse.jst.j2ee.ejb.Query;
-import org.eclipse.jst.j2ee.ejb.QueryMethod;
-import org.eclipse.jst.j2ee.ejb.Session;
-import org.eclipse.jst.j2ee.ejb.SessionType;
-import org.eclipse.jst.j2ee.ejb.TransactionType;
-import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
-import org.eclipse.jst.j2ee.internal.ejb.impl.LocalModelledPersistentAttributeFilter;
-
-/**
- * @version 1.0
- * @author
- */
-public final class ValidationRuleUtility {
- public static long method_and_field_counter = 0x1; // used by IMethodAndFieldConstants.java
- private static final String[] _reservedWords = new String[]{"SELECT", "FROM", "WHERE", "DISTINCT", "OBJECT", "NULL", "TRUE", "FALSE", "NOT", "AND", "OR", "BETWEEN", "LIKE", "IN", "AS", "UNKNOWN", "EMPTY", "MEMBER", "OF", "IS"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ //$NON-NLS-12$ //$NON-NLS-13$ //$NON-NLS-14$ //$NON-NLS-15$ //$NON-NLS-16$ //$NON-NLS-17$ //$NON-NLS-18$ //$NON-NLS-19$ //$NON-NLS-20$
- private static final String COMMA = ", "; //$NON-NLS-1$
-
- private static LogEntry logEntry = null;
- private static Logger logger = null;
-
- public static JavaClass getCMRFieldType(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, CMRField field) {
- CommonRelationshipRole role = field.getRole();
- if(!role.isMany()) {
- ContainerManagedEntity cmp = role.getTypeEntity();
- if(cmp == null) {
- return null;
- }
-
- JavaClass local = cmp.getLocalInterface();
- // If the user has made a mistake in ejb-jar.xml, and they are trying to make
- // a relationship to a cmp which does not have a local interface, an InvalidInputException
- // will be thrown. Let the DD validation catch that error; just return
- // when this happens.
- try {
- ValidationRuleUtility.isValidTypeHierarchy(cmp, local);
- }
- catch(InvalidInputException e) {
- return null;
- }
- return local;
- }
- // <cmr-field-type> is either a java.util.Collection or a java.util.Set (p. 464)
- return field.getCollectionType();
- }
-
-
-
-
- public static final boolean followsFinderExceptionRules(EnterpriseBean bean, Method method) throws InvalidInputException {
- return ValidationRuleUtility.throwsFinderException(bean, method);
- }
-
- public static final boolean followsObjectNotFoundExceptionRules(EnterpriseBean bean, Method method) throws InvalidInputException {
- JavaHelpers javaUtilEnumeration = ValidationRuleUtility.getType(ITypeConstants.CLASSNAME_JAVA_UTIL_ENUMERATION, bean);
- if(ValidationRuleUtility.isAssignableFrom(method.getReturnType(), javaUtilEnumeration)) {
- // Only single object finder and select methods may throw this exception
- return !ValidationRuleUtility.throwsObjectNotFoundException(bean, method);
- }
-
- JavaHelpers javaUtilCollection = ValidationRuleUtility.getType(ITypeConstants.CLASSNAME_JAVA_UTIL_COLLECTION, bean);
- if(ValidationRuleUtility.isAssignableFrom(method.getReturnType(), javaUtilCollection)) {
- // Only single object finder and select methods may throw this exception
- return !ValidationRuleUtility.throwsObjectNotFoundException(bean, method);
- }
-
- // It's a single finder/select method, so it can throw the exception, though it is not required to.
- return true;
- }
-
- /**
- * If it exists, return the Method from the method list which has the given
- * name and parameter types (in the same order as the array elements).
- *
- * This method is a duplicate of getMethodExtended(String, String[]).
- * For performance reasons, the code was duplicated instead of converting the
- * JavaParameter[] into a String[].
- */
- private static Method getMethod(String name, JavaParameter[] parameterTypes, List methodList) {
- if(methodList == null) {
- return null;
- }
-
- Method method = null;
- JavaParameter[] params = null;
- boolean found = false;
-
- Iterator iterator = methodList.iterator();
- while(iterator.hasNext()) {
- method = (Method)iterator.next();
-
- if (method.getName().equals(name)) {
- params = method.listParametersWithoutReturn();
-
- if (params.length == parameterTypes.length) {
- found = true; //Maybe; we need more info
-
- for (int j = 0; j < params.length; j++) {
- //if any one of the parameters doesn't match then flip back to false
- JavaHelpers parm = ((JavaHelpers)params[j].getEType());
- JavaHelpers type = ((JavaHelpers)parameterTypes[j].getEType());
- if(!isSameType(parm, type)) {
- found = false;
- break;
- }
- }
-
- if (found) {
- return method;
- }
- }
- }
- }
- return null;
- }
-
- private static Method getMethod(String name, JavaHelpers[] parameterTypes, List methodList) {
- if(methodList == null) {
- return null;
- }
-
- Method method = null;
- JavaParameter[] params = null;
- boolean found = false;
-
- Iterator iterator = methodList.iterator();
- while(iterator.hasNext()) {
- method = (Method)iterator.next();
-
- if (method.getName().equals(name)) {
- params = method.listParametersWithoutReturn();
-
- if (params.length == parameterTypes.length) {
- found = true; //Maybe; we need more info
-
- for (int j = 0; j < params.length; j++) {
- //if any one of the parameters doesn't match then flip back to false
- JavaHelpers parm = ((JavaHelpers)params[j].getEType());
- JavaHelpers type = parameterTypes[j];
- if(!isSameType(parm, type)) {
- found = false;
- break;
- }
- }
-
- if (found) {
- return method;
- }
- }
- }
- }
- return null;
- }
-
- /**
- * From JavaClass clazz, return a method, named methodNameToFind,
- * which has exactly the same arguments as methodToMatch.
- *
- * If no method exists with that name and argument list, return null.
- *
- * This method does not check the exceptions or return type.
- */
- public static Method getMethod(Method methodToMatch, String methodNameToFind, List methodsExtendedList) {
- if(methodsExtendedList == null) {
- // It is not invalid to call this method with a null List. A null List
- // means that a type whose methods need to be searched doesn't exist,
- // such as searching a local view, but the bean has only a remote view.
- return null;
- }
- return getMethod(methodNameToFind, methodToMatch.listParametersWithoutReturn(), methodsExtendedList);
- }
-
- /**
- * From JavaClass clazz, return a method, named methodNameToFind,
- * which has exactly the same arguments as methodToMatch.
- *
- * If no method exists with that name and argument list, return null.
- *
- * This method does not check the exceptions or return type.
- */
- public static Method getMethodExtended(JavaClass clazz, Method methodToMatch, String methodNameToFind) throws InvalidInputException {
- if ((clazz == null) || (methodToMatch == null) || (methodNameToFind == null)) {
- return null;
- }
-
- return getMethodExtended(clazz, methodNameToFind, methodToMatch.listParametersWithoutReturn());
- }
-
- /**
- * Get the method of this name and these parameters. It will look up the supertype hierarchy.
- *
- * This method is a duplicate of getMethodExtended(String, String[]).
- * For performance reasons, the code was duplicated instead of converting the
- * JavaParameter[] into a String[].
- */
- public static Method getMethodExtended(JavaClass clazz, String methodName, JavaParameter[] parameterTypes) {
- if (clazz.isInterface()) {
- // Check the current class first. If the method has been overriden,
- // don't want to return the parent's method instead of the child's.
- return getMethodInterfaceExtended(clazz, methodName, parameterTypes);
- }
- // Check the current class first. If the method has been overriden,
- // don't want to return the parent's method instead of the child's.
- Method method = null;
- List methods = null;
- do {
- methods = clazz.getMethods();
- method = getMethod(methodName, parameterTypes, methods);
- if (method != null) {
- return method;
- }
-
- // else, search the parent
- clazz = clazz.getSupertype();
- }
- while ((method == null) && (clazz != null));
-
- return null;
- }
-
- /**
- * Get the method of this name and these parameters. It will look up the supertype hierarchy.
- *
- * This method is a duplicate of getMethodExtended(String, JavaParameter[]).
- * For performance reasons, the code was duplicated instead of converting the
- * JavaHelpers[] into a JavaParameter[].
- */
- public static Method getMethodExtended(JavaClass clazz, String methodName, JavaHelpers[] parameterTypes) {
- return getMethodExtended(clazz, methodName, parameterTypes, null);
- }
-
- /**
- * Get the method of this name and these parameters. It will look up the supertype hierarchy.
- *
- * This method is a duplicate of getMethodExtended(String, JavaParameter[]).
- * For performance reasons, the code was duplicated instead of converting the
- * JavaHelpers[] into a JavaParameter[].
- *
- * If retType is null it means that the return type of the method doesn't need to be checked.
- * Otherwise, check that the return type matches too.
- */
- public static Method getMethodExtended(JavaClass clazz, String methodName, JavaHelpers[] parameterTypes, JavaHelpers retType) {
- if (clazz.isInterface()) {
- // Check the current class first. If the method has been overriden,
- // don't want to return the parent's method instead of the child's.
- return getMethodInterfaceExtended(clazz, methodName, parameterTypes);
- }
- // Check the current class first. If the method has been overriden,
- // don't want to return the parent's method instead of the child's.
- Method method = null;
- List methods = null;
- do {
- methods = clazz.getMethods();
- method = getMethod(methodName, parameterTypes, methods);
- if (method != null) {
- if(retType != null) {
- JavaHelpers methRetType = method.getReturnType();
- if(isAssignableFrom(methRetType, retType)) {
- return method;
- }
- }
- else {
- return method;
- }
- }
-
- // else, search the parent
- clazz = clazz.getSupertype();
- }
- while ((method == null) && (clazz != null));
-
- return null;
- }
-
- /**
- * Get the method of this name and these parameters. It will look up the supertype hierarchy.
- *
- * This method is a duplicate of getMethodInterfaceExtended(String, String[], JavaClass).
- * For performance reasons, the code was duplicated instead of converting the
- * JavaParameter[] into a String[].
- */
- public static Method getMethodInterfaceExtended(JavaClass clazz, String methodName, JavaParameter[] parameterTypes) {
- if (clazz == null) {
- return null;
- }
-
- // Check the current class first. If the method has been overriden,
- // don't want to return the parent's method instead of the child's.
- Method method = getMethod(methodName, parameterTypes, clazz.getMethods());
- if (method != null) {
- return method;
- }
- // check parents
- List classesToCheck = clazz.getImplementsInterfaces();
- Iterator clazzIterator = classesToCheck.iterator();
- while (clazzIterator.hasNext()) {
- clazz = (JavaClass) clazzIterator.next();
- method = getMethodInterfaceExtended(clazz, methodName, parameterTypes);
- if (method != null) {
- return method;
- }
- }
-
- return null;
- }
-
- public static Method getMethodInterfaceExtended(JavaClass clazz, String methodName, JavaHelpers[] parameterTypes) {
- if (clazz == null) {
- return null;
- }
-
- // Check the current class first. If the method has been overriden,
- // don't want to return the parent's method instead of the child's.
- Method method = getMethod(methodName, parameterTypes, clazz.getMethods());
- if (method != null) {
- return method;
- }
- // check parents
- List classesToCheck = clazz.getImplementsInterfaces();
- Iterator clazzIterator = classesToCheck.iterator();
- while (clazzIterator.hasNext()) {
- clazz = (JavaClass) clazzIterator.next();
- method = getMethodInterfaceExtended(clazz, methodName, parameterTypes);
- if (method != null) {
- return method;
- }
- }
-
- return null;
- }
-
- /**
- * Return an array of the exceptions thrown by method but not methodToMatch.
- * If there are no such exceptions, return null. (Check the list of exceptions
- * in the method for each exception, or a parent of the exception.)
- */
- public static final Set getNotSubsetExceptions(EnterpriseBean bean, Method method, Method methodToMatch) {
- if((methodToMatch == null) || (method == null)) {
- return Collections.EMPTY_SET;
- }
-
- // All the exceptions defined in the throws clause of a method of the
- // entity bean class must be included in the throws clause of the matching
- // method of the home interface.
- //
- // Section 12.2.2
- // [15] A checked exception is one that is not a subclass of java.lang.RuntimeException
- // "Note that the javax.ejb.EJBException is a subclass of the java.lang.RuntimeException,
- // and therefore it does not have to be listed in the throws clauses of the business
- // methods."
- HashSet exceptions = new HashSet();
- List methToMatchExceptions = methodToMatch.getJavaExceptions();
- List foundMethExceptions = method.getJavaExceptions();
- for( int i = 0; i < foundMethExceptions.size(); i++ ) {
- JavaClass exc = (JavaClass)foundMethExceptions.get(i);
- if ( !isRuntimeException(exc, bean) && !isRemoteException(exc, bean) && !isExceptionInList(exc, methToMatchExceptions) ) {
- exceptions.add(exc);
- }
- }
-
- return exceptions;
- }
-
- /**
- * Return an array of the exceptions thrown by method but not methodToMatch.
- * If there are no such exceptions, return null. (Check the list of exceptions
- * in the method for each exception, or a child of the exception.)
- */
- public static final Set getNotSubsetSubtypeExceptions(EnterpriseBean bean, Method method, Method methodToMatch) {
- if((methodToMatch == null) || (method == null)) {
- return Collections.EMPTY_SET;
- }
-
- // All the exceptions defined in the throws clause of a method of the
- // entity bean class must be included in the throws clause of the matching
- // method of the home interface.
- //
- // Section 12.2.2
- // [15] A checked exception is one that is not a subclass of java.lang.RuntimeException
- // "Note that the javax.ejb.EJBException is a subclass of the java.lang.RuntimeException,
- // and therefore it does not have to be listed in the throws clauses of the business
- // methods."
- HashSet exceptions = new HashSet();
- List methToMatchExceptions = methodToMatch.getJavaExceptions();
- List foundMethExceptions = method.getJavaExceptions();
- for( int i = 0; i < foundMethExceptions.size(); i++ ) {
- JavaClass exc = (JavaClass)foundMethExceptions.get(i);
- if ( !isRuntimeException(exc, bean) && !isRemoteException(exc, bean) && !isSubtypeExceptionInList(exc, methToMatchExceptions) ) {
- exceptions.add(exc);
- }
- }
-
- return exceptions;
- }
-
- /**
- * Exclude root home interface methods
- */
- public static boolean isEJBHomeMethod(EnterpriseBean bean, Method method) {
- return isSameType(bean, method.getContainingJavaClass(), ITypeConstants.CLASSNAME_JAVAX_EJB_EJBHOME);
- }
-
- /**
- * Exclude root remote interface methods
- */
- public static boolean isEJBObjectMethod(EnterpriseBean bean, Method method) {
- return isSameType(bean, method.getContainingJavaClass(), ITypeConstants.CLASSNAME_JAVAX_EJB_EJBOBJECT);
- }
-
- /**
- * Return true if the exception, or a parent of the exception, is in the list of exceptions.
- */
- public static final boolean isExceptionInList(JavaClass exc, List exceptionList) {
- if((exc == null) || (exceptionList == null)) {
- return false;
- }
-
- if(!exc.isExistingType()) {
- return false;
- }
-
- Iterator iterator = exceptionList.iterator();
- while(iterator.hasNext()) {
- JavaClass exception = (JavaClass)iterator.next();
- if(isAssignableFrom(exc, exception)) {
- // If there is a reflection problem, do not swallow the exception or a
- // faulty message may appear. (i.e., "exc" is not thrown by "foo" when it
- // really is but one of foo's exceptions wasn't reflected.
- return true;
- }
- }
- return false;
- }
-
- /**
- * Return true if the exception, or a child of the exception, is in the list of exceptions.
- */
- public static final boolean isSubtypeExceptionInList(JavaClass exc, List exceptionList) {
- if((exc == null) || (exceptionList == null)) {
- return false;
- }
-
- if(!exc.isExistingType()) {
- return false;
- }
-
- Iterator iterator = exceptionList.iterator();
- while(iterator.hasNext()) {
- JavaClass exception = (JavaClass)iterator.next();
- if(isAssignableFrom(exception, exc)) {
- // If there is a reflection problem, do not swallow the exception or a
- // faulty message may appear. (i.e., "exc" is not thrown by "foo" when it
- // really is but one of foo's exceptions wasn't reflected.
- return true;
- }
- }
- return false;
- }
-
- /**
- * Often, for validation messages, the validation message contains
- * the name of a class. But, sometimes, the validation message is
- * being generated because a class is null when it shouldn't be.
- * This method is a helper method which makes the construction of
- * the validation message a little less cluttered (i.e., instead
- * of checking if the class is null before constructing the
- * message, just call this method.)
- */
- public static final String getQualifiedName(JavaHelpers helper) {
- if(helper == null) {
- return ""; //$NON-NLS-1$
- }
- return helper.getJavaName();
- }
-
- /**
- * Return the method's parameters in a displayable format. e.g., if
- * the method signature is "public Integer foo(String a, String b, String c)"
- * then this method returns "String, String, String".
- */
- public static final String getParmsAsString(Method method) {
- if(method == null) {
- return ""; //$NON-NLS-1$
- }
-
- return getParmsAsString(method.listParametersWithoutReturn());
- }
-
- /**
- * Return the parameters in a displayable format.
- * @see getParmsAsString(Method)
- */
- public static final String getParmsAsString(JavaParameter[] parm) {
- if(parm.length == 0) {
- return ""; //$NON-NLS-1$
- }
-
- StringBuffer buffer = new StringBuffer();
- for(int i=0; i<parm.length; i++) {
- JavaHelpers type = parm[i].getJavaType();
- buffer.append(((type == null) ? "null" : type.getJavaName())); //$NON-NLS-1$
- buffer.append(COMMA);
- }
- return buffer.substring(0, buffer.length() - 2); // since "COMMA" is 2 char long, and the last COMMA isn't needed at the end, return everything up to but excluding the last COMMA
- }
-
- /**
- * Return the parameters in a displayable format.
- * @see getParmsAsString(Method)
- */
- public static final String getParmsAsString(JavaHelpers[] parm) {
- if(parm.length == 0) {
- return ""; //$NON-NLS-1$
- }
-
- StringBuffer buffer = new StringBuffer();
- for(int i=0; i<parm.length; i++) {
- JavaHelpers type = parm[i];
- buffer.append(((type == null) ? "null" : type.getJavaName())); //$NON-NLS-1$
- buffer.append(COMMA);
- }
- return buffer.substring(0, buffer.length() - 2); // since "COMMA" is 2 char long, and the last COMMA isn't needed at the end, return everything up to but excluding the last COMMA
- }
-
- /**
- * Returns the name of the type, e.g. "com.ibm.foo.MyFoo"
- * If the type is an array, the array type will be returned.
- * e.g. if the type is java.lang.String[], java.lang.String[] will
- * be returned, not the java.lang.String type.
- */
- public static final JavaHelpers getType(EClassifier classifier) {
- if(classifier == null) {
- return null;
- }
-
- JavaHelpers type = ((JavaHelpers)classifier);
-
- return type;
- }
-
- /**
- * javaClassName must be fully qualified
- */
- public static JavaHelpers getType(String javaClassName, EnterpriseBean ejb) throws InvalidInputException {
- if((javaClassName == null) || (javaClassName.equals("") || (ejb == null))) { //$NON-NLS-1$
- throw new InvalidInputException();
- }
-
- Resource resource = ejb.eResource();
- if(resource == null) {
- throw new InvalidInputException();
- }
-
- return getType(javaClassName, resource.getResourceSet());
- }
-
- /**
- * javaClassName must be fully qualified
- */
- public static JavaHelpers getType(String javaClassName, ResourceSet resourceSet) throws InvalidInputException {
- return getType(javaClassName, resourceSet, true);
- }
-
- /**
- * javaClassName must be fully qualified
- */
- public static JavaHelpers getType(String javaClassName, ResourceSet resourceSet, boolean throwExcIfNotValid) throws InvalidInputException {
- if((javaClassName == null) || (javaClassName.equals("") || (resourceSet == null))) { //$NON-NLS-1$
- Logger aLogger = getMsgLogger();
- if(aLogger.isLoggingLevel(Level.FINEST)) {
- LogEntry entry = getLogEntry();
- entry.setSourceID("ValidationRuleUtility.getType(String, ResourceSet, boolean)"); //$NON-NLS-1$
- entry.setText("invalid parameter; javaClassName = {0} and resourceSet = {1}"); //$NON-NLS-1$
- entry.setTokens(new String[]{javaClassName, String.valueOf(resourceSet)});
- entry.appendStackTrace();
- aLogger.write(Level.FINEST, entry);
- }
- throw new InvalidInputException();
- }
-
- // If the class doesn't exist, it will be reflected
- JavaHelpers helper = JavaRefFactory.eINSTANCE.reflectType(javaClassName, resourceSet);
- if(throwExcIfNotValid) {
- isValidType(helper); // check that the type has been reflected properly
- }
-
- return helper;
- }
-
- /**
- * @return
- */
- private static LogEntry getLogEntry() {
- if(logEntry == null) {
- logEntry = new LogEntry(IEJBValidatorConstants.BUNDLE_NAME);
- }
- logEntry.reset(); // reset the values so that we're not logging stale data
- return logEntry;
- }
-
- /**
- * @return
- */
- private static Logger getMsgLogger() {
- if(logger == null)
- logger = J2EECorePlugin.getPlugin().getMsgLogger();
- return logger;
- }
-
- public static final JavaHelpers getType(Field field) {
- if(field == null) {
- return null;
- }
-
- return (JavaHelpers)field.getEType();
- }
-
- /**
- * Return true if the JavaClass passed in has the Method defined
- * on it. Return false if the Method is defined on a supertype or
- * is not defined on the class at all.
- */
- public static final boolean onClass(JavaClass clazz, Method method) {
- if((clazz == null) || (method == null)) {
- return false;
- }
-
- return clazz.equals(method.getJavaClass());
- }
-
- /**
- * Return true if the JavaClass passed in has the Field defined
- * on it. Return false if the Field is defined on a supertype or
- * is not defined on the class at all.
- */
- public static final boolean onClass(JavaClass clazz, Field field) {
- if((clazz == null) || (field == null)) {
- return false;
- }
-
- return clazz.equals(field.getJavaClass());
- }
-
- public static final boolean isApplicationException(JavaClass exception, EnterpriseBean bean) {
- if(exception == null) {
- return false;
- }
-
- // Exempt EJBException from the application exception check because it'll drive users crazy to see
- // it flagged as an application exception.
- try {
- if(ValidationRuleUtility.isSameType(exception, getType(ITypeConstants.CLASSNAME_JAVAX_EJB_EJBEXCEPTION, bean))) {
- return false;
- }
- }
- catch(InvalidInputException e) {
- // logged in getType()
- // if EJBException can't be found, then there's probably a system JAR missing
- }
-
- // 18.1.1 Application exceptions
- // An application exception is an exception defined in the throws clause of a method of the enterprise
- // Bean's home and component interfaces, other than the java.rmi.RemoteException.
- return !isRemoteException(exception, bean);
- }
-
- public static final boolean isRemoteMethod(IEJBValidationContext vc, EnterpriseBean bean, JavaClass clazz, Method method) {
- try {
- JavaHelpers javaRmiRemote = ValidationRuleUtility.getType(ITypeConstants.CLASSNAME_JAVA_RMI_REMOTE, bean);
- if(isAssignableFrom(clazz, javaRmiRemote)) {
- return true;
- }
- }
- catch(InvalidInputException e) {
- return false;
- }
-
- return false;
- }
-
- public static final boolean isReservedWord(String name) {
- if(name == null) {
- return false;
- }
-
- String upperName = name.toUpperCase();
- for(int i=0; i<_reservedWords.length; i++) {
- if(upperName.equals(_reservedWords[i])) {
- return true;
- }
- }
- return false;
- }
-
- public static final boolean isRuntimeException(JavaClass clazz, EnterpriseBean bean) {
- if(clazz == null) {
- return false;
- }
-
- try {
- JavaHelpers runtimeExc = getType(ITypeConstants.CLASSNAME_JAVA_LANG_RUNTIMEEXCEPTION, bean);
- return isException(clazz, runtimeExc.getWrapper());
- }
- catch(InvalidInputException e) {
- return false;
- }
- }
-
- public static final boolean isRemoteException(JavaClass clazz, EnterpriseBean bean) {
- if(clazz == null) {
- return false;
- }
-
- try {
- JavaHelpers remoteExc = getType(ITypeConstants.CLASSNAME_JAVA_RMI_REMOTEEXCEPTION, bean);
- return isException(clazz, remoteExc.getWrapper());
- }
- catch(InvalidInputException e) {
- return false;
- }
- }
-
- /**
- * Return true if the clazz is an instance of the exception.
- */
- public static final boolean isException(JavaClass clazz, JavaClass exception) {
- if((clazz == null) || (exception == null)) {
- return false;
- }
-
- return isAssignableFrom(clazz, exception);
- }
-
- /**
- * Return true if the type is either java.util.Collection, or a type which inherits/extends java.util.Collection.
- * The bean is needed to retrieve the java.util.Collection type.
- */
- public static boolean isAssignableFromCollection(JavaHelpers type, EnterpriseBean bean) throws InvalidInputException {
- JavaHelpers javaUtilCollection = getType(ITypeConstants.CLASSNAME_JAVA_UTIL_COLLECTION, bean);
- return isAssignableFrom(type, javaUtilCollection);
- }
-
- /**
- * Return true if the type is either java.util.Enumeration, or a type which inherits/extends java.util.Enumeration.
- * The bean is needed to retrieve the java.util.Enumeration type.
- */
- public static boolean isAssignableFromEnumeration(JavaHelpers type, EnterpriseBean bean) throws InvalidInputException {
- JavaHelpers javaUtilEnumeration = getType(ITypeConstants.CLASSNAME_JAVA_UTIL_ENUMERATION, bean);
- return isAssignableFrom(type, javaUtilEnumeration);
- }
-
- /**
- * Return true if the type is either java.util.Set, or a type which inherits/extends java.util.Set.
- * The bean is needed to retrieve the java.util.Set type.
- */
- public static boolean isAssignableFromSet(JavaHelpers type, EnterpriseBean bean) throws InvalidInputException {
- JavaHelpers javaUtilSet = getType(ITypeConstants.CLASSNAME_JAVA_UTIL_SET, bean);
- return isAssignableFrom(type, javaUtilSet);
- }
-
- /**
- * Returns true if the type is either the compare type, or inherits/extends the compare type.
- */
- public static boolean isAssignableFrom(JavaHelpers type, JavaHelpers compareType) {
- if((type == null) || (compareType == null)) {
- return false;
- }
-
- if(type.isPrimitive() || compareType.isPrimitive()) {
- if(type.isPrimitive() && compareType.isPrimitive()) {
- return type.getPrimitive().equals(compareType.getPrimitive());
- }
- return false;
- }
- else if(type.isArray() && compareType.isArray()) {
- JavaClass classType = type.getWrapper();
- JavaClass classCompareType = compareType.getWrapper();
- if((classType == null) || (compareType == null)) {
- return false;
- }
- JavaHelpers finalType = ((ArrayType)classType).getFinalComponentType();
- JavaHelpers finalCompareType = ((ArrayType)classCompareType).getFinalComponentType();
- return isAssignableFrom(finalType, finalCompareType);
- }
- else {
- return compareType.getWrapper().isAssignableFrom(type.getWrapper());
- }
- }
-
- /**
- * Return true if the given method is associated with a query element in ejb-jar.xml.
- */
- public static final boolean isAssociatedWithQuery(ContainerManagedEntity cmp, Method method) {
- // Check method is associated with a query element in ejb-jar.xml.
- List queries = cmp.getQueries();
- Iterator iterator = queries.iterator();
- boolean found = false;
- while(iterator.hasNext()) {
- Query query = (Query)iterator.next();
- QueryMethod queryMethod = query.getQueryMethod();
- if(queryMethod == null) {
- // Let the EJBJarVRule report this
- continue;
- }
-
- if((queryMethod.getName() == null) || queryMethod.getName().equals("")) { //$NON-NLS-1$
- // Let the EJBJarVRule report this
- continue;
- }
-
- if(queryMethod.getName().equals(method.getName())) {
- found = true;
- break;
- }
- }
-
- return found;
- }
-
- public static final boolean isBeanManagedSession(EnterpriseBean bean) {
- if(bean == null) {
- return false;
- }
-
- if(bean.isEntity()) {
- return false;
- }
-
- return (((Session)bean).getTransactionType().getValue() == TransactionType.BEAN);
- }
-
- /**
- * Return true if this method is the static initializer used for interfaces ("<clinit>")
- */
- public static boolean isClinitMethod(EnterpriseBean bean, Method method) {
- if (method == null) {
- return false;
- }
-
- return method.getName().equals("<clinit>"); //$NON-NLS-1$
- }
-
- public static final boolean isJNDINamingContext(Field field) {
- return true;
- }
-
- /**
- * Return true if the field is defined on java.lang.Object.
- */
- public static boolean isJavaLangObjectField(EnterpriseBean bean, Field field) {
- return isSameType(bean, field.getContainingJavaClass(), ITypeConstants.CLASSNAME_JAVA_LANG_OBJECT);
- }
-
- /**
- * Return true if the method is defined on named class.
- */
- public static boolean isOwnedBy(EnterpriseBean bean, Method method, String className) {
- return isSameType(bean, method.getContainingJavaClass(), className);
- }
-
- /**
- * Return true if given class is the same as the named class.
- */
- public static boolean isSameType(EnterpriseBean bean, JavaClass owner, String className) {
- try {
- JavaHelpers helper = getType(className, bean);
- if(helper == null) {
- return false;
- }
-
- JavaClass object = helper.getWrapper();
-
- return isSameType(owner, object);
- }
- catch(InvalidInputException e) {
- return false;
- }
- }
-
- /**
- * Return true if given class is the same as the named class.
- */
- public static boolean isSameType(JavaHelpers owner, JavaHelpers object) {
- if(owner == null) {
- return false;
- }
-
- if(object == null) {
- return false;
- }
-
- if(owner.isPrimitive() && object.isPrimitive()) {
- // Both are JavaDataType
- return owner.getPrimitive().equals(object.getPrimitive());
- }
- else if(owner.isArray() && object.isArray()) {
- // Both are ArrayType
- ArrayType ownerArray = (ArrayType)owner;
- ArrayType objectArray = (ArrayType)object;
- return isSameType(ownerArray.getFinalComponentType(), objectArray.getFinalComponentType());
- }
- else if((owner.getWrapper() != null) && (object.getWrapper() != null)) {
- // Both are JavaClass
- return owner.getWrapper().equals(object.getWrapper());
- }
- else {
- // mismatching JavaHelpers type
- return false;
- }
- }
-
- /**
- * Return true if the method is defined on java.lang.Object.
- */
- public static boolean isJavaLangObjectMethod(EnterpriseBean bean, Method method) {
- return isSameType(bean, method.getContainingJavaClass(), ITypeConstants.CLASSNAME_JAVA_LANG_OBJECT);
- }
-
- public static final boolean isLegalRMI_IIOPInheritance(JavaClass clazz) {
- return true;
- }
-
- public static final boolean isLegalRMI_IIOPType(EnterpriseBean bean, JavaHelpers helper) throws InvalidInputException {
- if(helper == null) {
- return false;
- }
-
- return isSerializable(helper, bean);
- }
-
- public static final boolean isLocalType(EnterpriseBean bean, JavaHelpers type) {
- try {
- if(isSameType(type, getType(ITypeConstants.CLASSNAME_JAVA_LANG_OBJECT, bean))) {
- // If there's an undefined primary key (java.lang.Object), don't flag it as a local type.
- return false;
- }
- }
- catch(InvalidInputException e) {
- // Let the DD validation report this.
- return false;
- }
-
- if(isAssignableFrom(bean.getLocalInterface(), type)) {
- return true;
- }
-
- if(isAssignableFrom(bean.getLocalHomeInterface(), type)) {
- return true;
- }
-
- // Bit of a performance hack here.
- // Don't want to load and parse the entire EJBJar just to check if
- // this type is local, so assume that if the extends
- // javax.ejb.EJBLocalHome or javax.ejb.EJBLocalObject, then it's local.
- try {
- JavaHelpers ejbLocalHome = getType(ITypeConstants.CLASSNAME_JAVAX_EJB_EJBLOCALHOME, bean);
- if(isAssignableFrom(ejbLocalHome, type)) {
- return true;
- }
- }
- catch(InvalidInputException exc) {
- // ignore and try other type
- }
-
- try {
- JavaHelpers ejbLocalObject = getType(ITypeConstants.CLASSNAME_JAVAX_EJB_EJBLOCALOBJECT, bean);
- if(isAssignableFrom(ejbLocalObject, type)) {
- return true;
- }
- }
- catch(InvalidInputException exc) {
- // ignore
- }
-
- return false;
- }
-
-
-
- public static final boolean usesUnknownPrimaryKey(EnterpriseBean bean) {
- if(bean.isContainerManagedEntity()) {
- return usesUnknownPrimaryKey((ContainerManagedEntity)bean);
- }
- return false;
- }
-
- public static final boolean usesUnknownPrimaryKey(ContainerManagedEntity cmp) {
- if(cmp == null) {
- return false;
- }
-
- try {
- if(isSameType(cmp.getPrimaryKey(), getType(ITypeConstants.CLASSNAME_JAVA_LANG_OBJECT, cmp))) {
- return true;
- }
- }
- catch(InvalidInputException e) {
- // If java.lang.Object can't be found, there's bigger problems than validating
- // it mistakenly
- return false;
- }
-
- if(cmp.getVersionID() == J2EEVersionConstants.EJB_2_0_ID) {
- List cmpFields = cmp.getFilteredFeatures(LocalModelledPersistentAttributeFilter.singleton());
- if(cmpFields != null && !cmpFields.isEmpty()) {
- Iterator iterator = cmpFields.iterator();
- while(iterator.hasNext()) {
- CMPAttribute attrib = (CMPAttribute)iterator.next();
- if(isUnknownPrimaryKey(attrib)) {
- return true;
- }
- }
- }
- }
- return false;
- }
-
- public static final boolean isUnidirectionalRelationship(IEJBValidationContext vc, EJBRelationshipRole role) {
- // Page 131 of EJB 2.0:
- // A unidirectional relationship is implemented with a cmr-field on the entity bean instance from which
- // navigation can take place, and no related cmr-field on the entity bean instance that is the target of the
- // relationship. Unidirectional relationships are typically used when the Bean Provider wishes to restrict
- // the visibility of a relationship.
- Entity sourceEntity = role.getSource().getEntityBean();
- if(sourceEntity == null) {
- return false;
- }
-
- if(!sourceEntity.isContainerManagedEntity()) {
- return false;
- }
-
- CMRField sourceCMRField = role.getCmrField();
- if(sourceCMRField == null) {
- return false;
- }
-
- EJBRelationshipRole opposite = role.getOpposite();
- if(opposite == null) {
- return false;
- }
-
- CMRField oppositeCMRField = opposite.getCmrField();
- if(oppositeCMRField != null) {
- return false;
- }
-
- return true;
-
- }
-
-
-
- public static final boolean isUnknownPrimaryKey(CMPAttribute attrib) {
- if(attrib == null) {
- return false;
- }
-
- // Section 10.8.3
- // By definition, the deployer's generated CMP field's name is defined in the
- // ContainerManagedEntity.WAS_GENERATED_STRING_FIELD constant.
- return ContainerManagedEntity.WAS_GENERATED_STRING_FIELD.equals(attrib.getName());
- }
-
- public static final boolean isPrimitivePrimaryKey(ContainerManagedEntity cmp) {
- if(cmp == null) {
- return false;
- }
-
- if((cmp.getPrimKeyField() != null) && !cmp.getPrimKeyField().eIsProxy()) {
- return true;
- }
-
- return false;
- }
-
- public static final boolean isPublic(Field field) {
- if ( field == null )
- return false;
-
- return (JavaVisibilityKind.PUBLIC_LITERAL == field.getJavaVisibility());
- }
-
- public static final boolean isPublic( Method method ) {
- if ( method == null )
- return false;
-
- return (JavaVisibilityKind.PUBLIC_LITERAL == method.getJavaVisibility());
- }
-
- /**
- * Verifies that a given Class type is serializable.
- *
- * RMI 1.3 specification
- * 2.6 Parameter Passing in Remote Method Invocation
- * An argument to, or a return value from, a remote object can be any object that
- * is serializable. This includes primitive types, remote objects, and non-remote
- * objects that implement the java.io.Serializable interface.
- */
- public static final boolean isSerializable(JavaHelpers cl, EnterpriseBean bean) throws InvalidInputException {
- if(cl == null) {
- // assume it's void
- return true;
- }
-
- // Check if the type reflected properly
- isValidType(cl);
-
- if ( cl.isPrimitive() ) {
- // JavaHelpers is a JavaDataType
- return true;
- }
- else if(cl.isArray()) {
- ArrayType array = (ArrayType)cl;
- if(array.isPrimitiveArray()) {
- return true;
- }
- // else, not primitive, so check its contents
- cl = array.getFinalComponentType();
- }
-
- JavaHelpers remote = getType(ITypeConstants.CLASSNAME_JAVA_RMI_REMOTE, bean);
- if(isAssignableFrom(cl, remote)) {
- return true;
- }
-
- JavaHelpers serial = getType(ITypeConstants.CLASSNAME_JAVA_IO_SERIALIZABLE, bean);
- return isAssignableFrom(cl, serial);
- }
-
- public static final boolean isStateful(EnterpriseBean bean) {
- if(bean == null) {
- return false;
- }
-
- if(bean.isEntity()) {
- return false;
- }
-
- return (((Session)bean).getSessionType().getValue() == SessionType.STATEFUL);
- }
-
- public static final boolean isStateless(EnterpriseBean bean) {
- if(bean == null) {
- return false;
- }
-
- if(bean.isEntity()) {
- return false;
- }
-
- return (((Session)bean).getSessionType().getValue() == SessionType.STATELESS);
- }
-
- public static boolean isUnnamedPackage(JavaPackage pkg) {
- if(pkg == null) {
- return true;
- }
-
- String pkgName = pkg.getName();
- return ((pkgName == null) || (pkgName.equals(""))); //$NON-NLS-1$
- }
-
- public static final boolean isValidJavaIdentifier(String name) {
- if(name == null) {
- return false;
- }
-
- char[] nameChar = name.toCharArray();
- if(nameChar.length < 1) {
- return false;
- }
-
- if(!Character.isJavaIdentifierStart(nameChar[0])) {
- return false;
- }
- boolean isValidJavaIdentifier = true;
- for(int i=1; i<nameChar.length; i++) {
- if(!Character.isJavaIdentifierPart(nameChar[i])) {
- isValidJavaIdentifier = false;
- break;
- }
- }
- return isValidJavaIdentifier;
- }
-
- /**
- * 6.5.3 The optional SessionSynchronization interface
- *...
- * Only a stateful Session bean with container-managed transaction demarcation may
- * implement the SessionSynchronization interface.
- *...
- * There is no need for a Session bean with bean-managed transaction to rely on the
- * synchronization call backs because the bean is in control of the commit the bean
- * knows when the transaction is about to be committed and it knows the outcome of the
- * transaction commit.
- *...
- */
- public static final boolean isValidSessionTypeElement(Session session) {
- if(session == null) {
- return false;
- }
-
- // check syntax
- if(!session.isSetSessionType()) {
- return false;
- }
-
- if(session.getSessionType() == null) {
- return false;
- }
-
- if(session.getSessionType().getValue() == SessionType.STATEFUL) {
- return true;
- }
-
- if(session.getSessionType().getValue() == SessionType.STATELESS) {
- return true;
- }
-
- return false;
- }
-
- public static final boolean isValidTransactionTypeElement(Session sessionBean) {
- if(sessionBean == null) {
- return false;
- }
-
- if(!sessionBean.isSetTransactionType()) {
- return false;
- }
-
- if(sessionBean.getTransactionType() == null) {
- return false;
- }
-
- if(sessionBean.getTransactionType().getValue() == TransactionType.BEAN) {
- return true;
- }
-
- if(sessionBean.getTransactionType().getValue() == TransactionType.CONTAINER) {
- return true;
- }
-
- return false;
- }
-
- /**
- * If the type is not reflected properly, throw an InvalidInputException.
- */
- public static final void isValidType(JavaHelpers type) throws InvalidInputException {
- if(type == null) {
- // Cheating here. Should technically access the MsgLogger from the IEJBValidationContext
- // type, but when I started changing this method and the isValidTypeHierarchy method,
- // I ended up changing 42 files because these two methods are called directly or
- // indirectly from almost everywhere. That was too much change, so I cheated.
- Logger aLogger = getMsgLogger();
- if(aLogger.isLoggingLevel(Level.FINEST)) {
- LogEntry entry = getLogEntry();
- entry.setSourceID("ValidationRuleUtility.isValidType"); //$NON-NLS-1$
- entry.setText("type is null"); //$NON-NLS-1$
- entry.appendStackTrace();
- aLogger.write(Level.FINEST, entry);
- }
- throw new InvalidInputException();
- }
-
- if(type.getWrapper() != null) {
- // check if the type reflected properly. If there's any compile errors, or references to unresolved
- // classes, can output some mistaken error messages.
- // e.g. class is not serializable
- JavaClass wrapper = type.getWrapper();
- if(type.isArray()) {
- ArrayType array = (ArrayType)type;
- isValidType(array.getFinalComponentType());
- }
- else {
- if(!wrapper.isExistingType()) {
- Logger aLogger = getMsgLogger();
- if(aLogger.isLoggingLevel(Level.FINEST)) {
- LogEntry entry = getLogEntry();
- entry.setSourceID("ValidationRuleUtility.isValidType"); //$NON-NLS-1$
- entry.setText("!wrapper.isExistingType(); type is " + wrapper.getJavaName()); //$NON-NLS-1$
- aLogger.write(Level.FINEST, entry);
- }
- throw new InvalidInputException(wrapper);
- }
- }
- }
- }
-
- /**
- * If the type is not reflected properly, throw an InvalidInputException.
- * This method, unlike isValidType, also checks every interface and class
- * parent of the passed-in type.
- */
- public static final void isValidTypeHierarchy(EnterpriseBean bean, JavaHelpers type) throws InvalidInputException {
- if(type == null) {
- // Cheating here. Should technically access the MsgLogger from the IEJBValidationContext
- // type, but when I started changing this method and the isValidType method,
- // I ended up changing 42 files because these two methods are called directly or
- // indirectly from almost everywhere. That was too much change, so I cheated.
- Logger aLogger = getMsgLogger();
- if(aLogger.isLoggingLevel(Level.FINEST)) {
- LogEntry entry = getLogEntry();
- entry.setSourceID("ValidationRuleUtility.isValidTypeHierarchy"); //$NON-NLS-1$
- entry.setText("type is null"); //$NON-NLS-1$
- entry.appendStackTrace();
- aLogger.write(Level.FINEST, entry);
- }
- throw new InvalidInputException();
- }
-
- // First, check this helper itself.
- isValidType(type);
- JavaHelpers javaLangObject = getType(ITypeConstants.CLASSNAME_JAVA_LANG_OBJECT, bean);
- if(isSameType(type, javaLangObject)) {
- return;
- }
-
- // If this helper exists, and is not java.lang.Object, then check every supertype.
- JavaClass classType = type.getWrapper();
- if(classType == null) {
- Logger aLogger = getMsgLogger();
- if(aLogger.isLoggingLevel(Level.FINEST)) {
- LogEntry entry = getLogEntry();
- entry.setSourceID("ValidationRuleUtility.isValidTypeHierarchy"); //$NON-NLS-1$
- entry.setText("type.getWrapper() returns null; type is " + type.getJavaName()); //$NON-NLS-1$
- aLogger.write(Level.FINEST, entry);
- }
- throw new InvalidInputException();
- }
-
- // Check the superclass. Since type is not java.lang.Object, there is at least
- // the java.lang.Object superclass.
- if(!classType.isInterface()) {
- JavaClass superType = classType.getSupertype();
- isValidTypeHierarchy(bean, superType);
- }
-
- // Check the superinterfaces, if they exist.
- List superInterfaces = classType.getImplementsInterfaces();
- if(superInterfaces != null) {
- Iterator iterator = superInterfaces.iterator();
- while(iterator.hasNext()) {
- JavaClass superIntf = (JavaClass)iterator.next();
- isValidTypeHierarchy(bean, superIntf);
- }
- }
- }
-
- /**
- * RMI 1.3 page 6 section 2.4.1,
- * A remote method declaration must include the exception java.rmi.RemoteException (or one
- * of its upserclasses such as java.io.IOException or java.lang.Exception) in its throws
- * clause, in addition to any application-specific exceptions (note that application
- * specific exceptions do not have to extend java.rmi.RemoteException).
- */
- public static final boolean throwsRemoteExceptionOrParent(EnterpriseBean bean, Method method) throws InvalidInputException {
- return throwsExceptionOrParent(bean, method, ITypeConstants.CLASSNAME_JAVA_RMI_REMOTEEXCEPTION);
- }
-
- /**
- * Convenience method which checks if RemoteException (exactly, not Exception or IOException)
- * is in the method signature.
- */
- public static final boolean doesNotThrowRemoteException(EnterpriseBean bean, Method method) throws InvalidInputException {
- return !throwsException(bean, method, ITypeConstants.CLASSNAME_JAVA_RMI_REMOTEEXCEPTION);
- }
-
- public static final boolean throwsObjectNotFoundException(EnterpriseBean bean, Method method) throws InvalidInputException {
- return throwsException(bean, method, ITypeConstants.CLASSNAME_JAVAX_EJB_OBJECTNOTFOUNDEXCEPTION);
- }
-
- public static final boolean throwsFinderException(EnterpriseBean bean, Method method) throws InvalidInputException {
- return throwsException(bean, method, ITypeConstants.CLASSNAME_JAVAX_EJB_FINDEREXCEPTION);
- }
-
- public static final boolean throwsCreateException(EnterpriseBean bean, Method method) throws InvalidInputException {
- return throwsException(bean, method, ITypeConstants.CLASSNAME_JAVAX_EJB_CREATEEXCEPTION);
- }
-
- public static final boolean throwsApplicationException(Method method, EnterpriseBean bean) {
- List exceptions = method.getJavaExceptions();
- if(exceptions.size() == 0) {
- return false;
- }
-
- // CHKJ2419 = {0} must be a subclass of java.lang.Exception. Read section 18.1.1, 18.2.1 of the EJB 2.0 specification.
- Iterator iterator = exceptions.iterator();
- while(iterator.hasNext()) {
- JavaClass exception = (JavaClass)iterator.next();
-
- if(isApplicationException(exception, bean)) {
- return true;
- }
- }
- return false;
- }
-
- /**
- * Return true if the given method throws the named exception or a class which extends the named exception.
- */
- public static final boolean throwsException(EnterpriseBean bean, Method method, String exceptionName) throws InvalidInputException {
- if(method == null) {
- return false;
- }
-
- List exceptions = method.getJavaExceptions();
- Iterator iterator = exceptions.iterator();
- JavaClass exception = getType(exceptionName, bean).getWrapper();
- while(iterator.hasNext()) {
- JavaClass exc = (JavaClass)iterator.next();
- if(isAssignableFrom(exc, exception)) {
- return true;
- }
- }
-
- return false;
- }
-
- /**
- * Return true if the method returns the named exception, an exception which extends the named exception, or one of the parents of the named exception (e.g. java.lang.Exception).
- * Use this method if it needs to be detected that an exception can be thrown either directly or through something generic like java.lang.Exception.
- */
- public static final boolean throwsExceptionOrParent(EnterpriseBean bean, Method method, String exceptionName) throws InvalidInputException {
- if(method == null) {
- return false;
- }
-
- JavaClass exception = getType(exceptionName, bean).getWrapper();
-
- List exceptions = method.getJavaExceptions();
- Iterator iterator = exceptions.iterator();
- while(iterator.hasNext()) {
- JavaClass exc = (JavaClass)iterator.next();
- if(isAssignableFrom(exc, exception)) {
- // Assignable from the named exception, e.g. RemoteException or a child of RemoteException
- return true;
- }
-
- if(isAssignableFrom(exception, exc)) {
- // The named exception is assignable from the method exception, e.g. java.lang.Exception
- return true;
- }
- }
-
- return false;
- }
-
- public static final boolean usesCollectionClass(EnterpriseBean bean, Method method) {
- if((bean == null) || (method == null)) {
- return false;
- }
-
- JavaParameter[] parms = method.listParametersWithoutReturn();
- if(parms != null) {
- for(int i=0; i<parms.length; i++) {
- JavaParameter parm = parms[i];
- try {
- if(isAssignableFromCollection(parm.getJavaType(), bean)) {
- return true;
- }
- }
- catch(InvalidInputException e) {
- // ignore and test next parm
- continue;
- }
- }
- }
-
- // Now check the return type
- try {
- if(isAssignableFromCollection(method.getReturnType(), bean)) {
- return true;
- }
- }
- catch(InvalidInputException e) {
- // ignore
- }
-
- return false;
- }
-
- public static final boolean usesLocalTypes(EnterpriseBean bean, Method method) {
- if((bean == null) || (method == null)) {
- return false;
- }
-
- JavaParameter[] parms = method.listParametersWithoutReturn();
- if(parms != null) {
- for(int i=0; i<parms.length; i++) {
- JavaParameter parm = parms[i];
- if(isLocalType(bean, parm.getJavaType())) {
- return true;
- }
- }
- }
-
- // Now check the return type
- if(isLocalType(bean, method.getReturnType())) {
- return true;
- }
-
- return false;
- }
-}
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/WARMessageConstants.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/WARMessageConstants.java
deleted file mode 100644
index d42c0054c..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/WARMessageConstants.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-
-
-
-/**
- * Message key constants for WAR validation.
- */
-public interface WARMessageConstants extends org.eclipse.jst.j2ee.model.internal.validation.J2EEMessageConstants {
- public static final String WAR_VALIDATOR_ID = "WAR_VALIDATOR"; //$NON-NLS-1$
- public static final String WAR_MODEL_NAME = "WAR_VALIDATION"; //$NON-NLS-1$
- public static final String ERROR_WAR_VALIDATION_FAILED = "ERROR_WAR_VALIDATION_FAILED"; //$NON-NLS-1$
- public static final String MESSAGE_WAR_VALIDATION_SMALL_ICON = "MESSAGE_WAR_VALIDATION_SMALL_ICON"; //$NON-NLS-1$
- public static final String MESSAGE_WAR_VALIDATION_LARGE_ICON = "MESSAGE_WAR_VALIDATION_LARGE_ICON"; //$NON-NLS-1$
- public static final String MESSAGE_WAR_VALIDATION_BROKEN_SERVLET_MAPPING = "MESSAGE_WAR_VALIDATION_BROKEN_SERVLET_MAPPING"; //$NON-NLS-1$
- public static final String MESSAGE_WAR_VALIDATION_MISSING_JSP = "MESSAGE_WAR_VALIDATION_MISSING_JSP"; //$NON-NLS-1$
- public static final String MESSAGE_WAR_VALIDATION_MISSING_TLD = "MESSAGE_WAR_VALIDATION_MISSING_TLD"; //$NON-NLS-1$
- public static final String MESSAGE_WAR_VALIDATION_MISSING_WELCOME_FILE = "MESSAGE_WAR_VALIDATION_MISSING_WELCOME_FILE"; //$NON-NLS-1$
- public static final String MESSAGE_WAR_VALIDATION_NO_WELCOME_FILE = "MESSAGE_WAR_VALIDATION_NO_WELCOME_FILE"; //$NON-NLS-1$
- public static final String MESSAGE_WAR_VALIDATION_INVALID_URL = "MESSAGE_WAR_VALIDATION_INVALID_URL" ; //$NON-NLS-1$
- public static final String MESSAGE_WAR_VALIDATION_DUPLICATE_MAPPING = "MESSAGE_WAR_VALIDATION_DUPLICATE_MAPPING" ; //$NON-NLS-1$
- public static final String MESSAGE_WAR_VALIDATION_DUPLICATE_SERVLET = "MESSAGE_WAR_VALIDATION_DUPLICATE_SERVLET" ; //$NON-NLS-1$
- public static final String MESSAGE_WAR_VALIDATION_DUPLICATE_EJB_REF = "MESSAGE_WAR_VALIDATION_DUPLICATE_EJB_REF" ; //$NON-NLS-1$
- public static final String MESSAGE_WAR_VALIDATION_SESSION_TIMEOUT = "MESSAGE_WAR_VALIDATION_SESSION_TIMEOUT" ; //$NON-NLS-1$
- public static final String MESSAGE_WAR_VALIDATION_DUPLICATE_ENTRY = "MESSAGE_WAR_VALIDATION_DUPLICATE_ENTRY" ; //$NON-NLS-1$
- public static final String MESSAGE_WAR_VALIDATION_EMPTY_ENTRY = "MESSAGE_WAR_VALIDATION_EMPTY_ENTRY" ; //$NON-NLS-1$
- public static final String MESSAGE_WAR_VALIDATION_INVALID_SEC_ROLE = "MESSAGE_WAR_VALIDATION_INVALID_SEC_ROLE" ; //$NON-NLS-1$
- public static final String MESSAGE_WAR_VALIDATION_INVALID_SEC_ROLE_NAME = "MESSAGE_WAR_VALIDATION_INVALID_SEC_ROLE_NAME" ; //$NON-NLS-1$
- public static final String MESSAGE_WAR_VALIDATION_INVALID_HTTP_CMD = "MESSAGE_WAR_VALIDATION_INVALID_HTTP_CMD" ; //$NON-NLS-1$
- public static final String MESSAGE_WAR_VALIDATION_INVALID_TRANSPORT = "MESSAGE_WAR_VALIDATION_INVALID_TRANSPORT" ; //$NON-NLS-1$
- public static final String MESSAGE_WAR_VALIDATION_INVALID_JSPFILE_REF = "MESSAGE_WAR_VALIDATION_INVALID_JSPFILE_REF" ; //$NON-NLS-1$
- public static final String MESSAGE_WAR_VALIDATION_INVALID_WELCOME_FILE = "MESSAGE_WAR_VALIDATION_INVALID_WELCOME_FILE" ; //$NON-NLS-1$
- public static final String MESSAGE_WAR_VALIDATION_INVALID_ERROR_PAGE = "MESSAGE_WAR_VALIDATION_INVALID_ERROR_PAGE" ; //$NON-NLS-1$
- public static final String MESSAGE_WAR_VALIDATION_INVALID_AUTH_METHOD = "MESSAGE_WAR_VALIDATION_INVALID_AUTH_METHOD" ; //$NON-NLS-1$
- public static final String MESSAGE_WAR_VALIDATION_IGNORE_FORM_LOGIN = "MESSAGE_WAR_VALIDATION_IGNORE_FORM_LOGIN" ; //$NON-NLS-1$
- public static final String MESSAGE_WAR_VALIDATION_RES_AUTH_REQUIRED_22 = "MESSAGE_WAR_VALIDATION_RES_AUTH_REQUIRED_22" ; //$NON-NLS-1$
- public static final String MESSAGE_WAR_VALIDATION_RES_AUTH_REQUIRED_23 = "MESSAGE_WAR_VALIDATION_RES_AUTH_REQUIRED_23" ; //$NON-NLS-1$
- public static final String MESSAGE_WAR_VALIDATION_RES_AUTH_INVALID_22 = "MESSAGE_WAR_VALIDATION_RES_AUTH_INVALID_22" ; //$NON-NLS-1$
- public static final String MESSAGE_WAR_VALIDATION_RES_AUTH_INVALID_23 = "MESSAGE_WAR_VALIDATION_RES_AUTH_INVALID_23" ; //$NON-NLS-1$
- public static final String MESSAGE_WAR_VALIDATION_DUPLICATE_FILTER = "MESSAGE_WAR_VALIDATION_DUPLICATE_FILTER" ; //$NON-NLS-1$
- public static final String MESSAGE_WAR_VALIDATION_BROKEN_FILTER_MAPPING = "MESSAGE_WAR_VALIDATION_BROKEN_FILTER_MAPPING" ; //$NON-NLS-1$
- public static final String ERROR_EAR_DUPLICATE_ROLES = "ERROR_EAR_DUPLICATE_ROLES"; //$NON-NLS-1$
- public static final String ERROR_EAR_UNCONTAINED_MODULE_FILE_EXCEPTION = "ERROR_EAR_UNCONTAINED_MODULE_FILE_EXCEPTION"; //$NON-NLS-1$
- public static final String ERROR_INVALID_WAR_FILE = "ERROR_INVALID_WAR_FILE"; //$NON-NLS-1$
- public static final String WAR_DD_PARSE_LINECOL = "WAR_DD_PARSE_LINECOL"; //$NON-NLS-1$
- public static final String WAR_DD_PARSE_LINE = "WAR_DD_PARSE_LINE"; //$NON-NLS-1$
- public static final String WAR_DD_CANNOT_OPEN_DD = "WAR_DD_CANNOT_OPEN_DD"; //$NON-NLS-1$
- public static final String WAR_DD_PARSE_NOINFO = "WAR_DD_PARSE_NOINFO"; //$NON-NLS-1$
- public static String ERROR_EAR_INVALID_CONTEXT_ROOT = "ERROR_EAR_INVALID_CONTEXT_ROOT"; //$NON-NLS-1$
- public static String MESSAGE_WAR_VALIDATION_INVALID_RES_SHARING_SCOPE = "MESSAGE_WAR_VALIDATION_INVALID_RES_SHARING_SCOPE"; //$NON-NLS-1$
- public static String MESSAGE_WAR_VALIDATION_INVALID_ENV_ENTRY = "MESSAGE_WAR_VALIDATION_INVALID_ENV_ENTRY"; //$NON-NLS-1$
- public static String MESSAGE_WAR_VALIDATION_INVALID_ERROR_CODE = "MESSAGE_WAR_VALIDATION_INVALID_ERROR_CODE"; //$NON-NLS-1$
- public static String MESSAGE_WAR_VALIDATION_MISSING_WLP_PROJECT = "MESSAGE_WAR_VALIDATION_MISSING_WLP_PROJECT"; //$NON-NLS-1$
- public static String MESSAGE_WAR_VALIDATION_INVALID_EXCEPTION_TYPE = "MESSAGE_WAR_VALIDATION_INVALID_EXCEPTION_TYPE"; //$NON-NLS-1$
- public static String MESSAGE_WAR_VALIDATION_CONFLICTING_WLP_PROJECT = "MESSAGE_WAR_VALIDATION_CONFLICTING_WLP_PROJECT"; //$NON-NLS-1$
- public static String MESSAGE_WAR_VALIDATION_INVALID_EJB_REF_TYPE = "MESSAGE_WAR_VALIDATION_INVALID_EJB_REF_TYPE"; //$NON-NLS-1$
- //J2EE 14 Messages
- public static String MESSAGE_URL_PATTERN_END_WITH_CARRAIGE_RETURN = "MESSAGE_URL_PATTERN_END_WITH_CARRAIGE_RETURN"; //$NON-NLS-1$
-
-
-
- }
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/WARValidationResourceHandler.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/WARValidationResourceHandler.java
deleted file mode 100644
index 567e1d7a1..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/WARValidationResourceHandler.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class WARValidationResourceHandler {
- private static ResourceBundle fgResourceBundle;
-
- /**
- * Returns the resource bundle used by all classes in this Project
- */
- public static ResourceBundle getResourceBundle() {
- try {
- return ResourceBundle.getBundle("warvalidation");//$NON-NLS-1$
- } catch (MissingResourceException e) {
- // does nothing - this method will return null and
- // getString(String) will return the key
- // it was called with
- }
- return null;
- }
-
- public static String getString(String key) {
- if (fgResourceBundle == null) {
- fgResourceBundle = getResourceBundle();
- }
-
- if (fgResourceBundle != null) {
- try {
- return fgResourceBundle.getString(key);
- } catch (MissingResourceException e) {
- return "!" + key + "!";//$NON-NLS-2$//$NON-NLS-1$
- }
- }
- return "!" + key + "!";//$NON-NLS-2$//$NON-NLS-1$
- }
-
- public static String getString(String key, Object[] args) {
-
- try {
- return MessageFormat.format(getString(key), args);
- } catch (IllegalArgumentException e) {
- return getString(key);
- }
-
- }
-
- public static String getString(String key, Object[] args, int x) {
-
- return getString(key);
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/WarValidator.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/WarValidator.java
deleted file mode 100644
index 084be2fad..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/WarValidator.java
+++ /dev/null
@@ -1,1330 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.model.internal.validation;
-
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Locale;
-import java.util.Set;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaRefFactory;
-import org.eclipse.jst.j2ee.common.EnvEntry;
-import org.eclipse.jst.j2ee.common.SecurityRole;
-import org.eclipse.jst.j2ee.common.SecurityRoleRef;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.WARFile;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
-import org.eclipse.jst.j2ee.internal.common.impl.EJBLocalRefImpl;
-import org.eclipse.jst.j2ee.internal.common.impl.EjbRefImpl;
-import org.eclipse.jst.j2ee.internal.common.impl.ResourceRefImpl;
-import org.eclipse.jst.j2ee.webapplication.AuthConstraint;
-import org.eclipse.jst.j2ee.webapplication.ContextParam;
-import org.eclipse.jst.j2ee.webapplication.ErrorCodeErrorPage;
-import org.eclipse.jst.j2ee.webapplication.ErrorPage;
-import org.eclipse.jst.j2ee.webapplication.ExceptionTypeErrorPage;
-import org.eclipse.jst.j2ee.webapplication.Filter;
-import org.eclipse.jst.j2ee.webapplication.FilterMapping;
-import org.eclipse.jst.j2ee.webapplication.FormLoginConfig;
-import org.eclipse.jst.j2ee.webapplication.HTTPMethodType;
-import org.eclipse.jst.j2ee.webapplication.InitParam;
-import org.eclipse.jst.j2ee.webapplication.JSPType;
-import org.eclipse.jst.j2ee.webapplication.LoginConfig;
-import org.eclipse.jst.j2ee.webapplication.MimeMapping;
-import org.eclipse.jst.j2ee.webapplication.SecurityConstraint;
-import org.eclipse.jst.j2ee.webapplication.Servlet;
-import org.eclipse.jst.j2ee.webapplication.ServletMapping;
-import org.eclipse.jst.j2ee.webapplication.SessionConfig;
-import org.eclipse.jst.j2ee.webapplication.TagLibRef;
-import org.eclipse.jst.j2ee.webapplication.TransportGuaranteeType;
-import org.eclipse.jst.j2ee.webapplication.UserDataConstraint;
-import org.eclipse.jst.j2ee.webapplication.WebApp;
-import org.eclipse.jst.j2ee.webapplication.WebResourceCollection;
-import org.eclipse.jst.j2ee.webapplication.WelcomeFile;
-import org.eclipse.jst.j2ee.webapplication.WelcomeFileList;
-import org.eclipse.wst.validation.internal.core.Message;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.IReporter;
-import org.eclipse.wst.validation.internal.provisional.core.IValidationContext;
-
-//import org.eclipse.jst.j2ee.internal.plugin.nls.ResourceHandler;
-
-public class WarValidator extends org.eclipse.jst.j2ee.model.internal.validation.J2EEValidator implements WARMessageConstants {
- protected WARFile warFile;
- protected WebApp webDD;
- private Hashtable httpMethods = null ;
-
- // Optional child validators
- //protected WebExtValidator webExtValidator;
- //protected WebBndValidator webBndValidator;
-
-
- /**
- * RelationshipMapValidator constructor comment.
- */
- public WarValidator()
- {
- super();
- }
-/**
- * Will construct a HashTable of roles, and check for duplicates
- * and null entries
- * @return java.util.Hashtable
- * @param roles org.eclipse.emf.common.util.EList
- */
-public Hashtable getAndValidateSecurityRoles(EList roles) {
-
- Hashtable secRoles = new Hashtable() ;
- if (roles.isEmpty()) return (secRoles) ;
-
- Iterator sRoles = roles.iterator() ;
-
- while (sRoles.hasNext()) {
- SecurityRole role = (SecurityRole) sRoles.next() ;
-
-
- String name = role.getRoleName() ;
- if (name != null)
- name = name.trim() ;
- if (name == null || name.equals("")) { //$NON-NLS-1$
- String[] parms = new String[1];
- parms[0] = WARValidationResourceHandler.getString("of_Type_Security_Role_Name_6") ; //$NON-NLS-1$
- addError(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_EMPTY_ENTRY, parms,role);
- continue ;
- }
- if (secRoles.get(name)!=null) { // Check for dups
-
- String[] parms = new String[1];
- parms[0] = name ;
- addWarning(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_DUPLICATE_ENTRY, parms,role);
- continue ;
- }
- secRoles.put(name,"Yea") ; //$NON-NLS-1$
- }
-
-
- return secRoles;
-}
-/**
- * <p>Answer the id of the resource bundle which is
- * used by the receiver.</p>
- */
-public String getBaseName(){
- return WAR_CATEGORY;
-}
- // Messaging helpers ...
-
- /**
- * Returns the name of the Validator, as it should be displayed in
- * the UI.
- *
- * @see J2EEValidator#getName
- */
-
- public String getName()
- {
- return WARValidationResourceHandler.getString("Web_Archive_Validator_8"); //$NON-NLS-1$
- }
- // Messaging helpers ...
-
- /**
- * Returns the name of the Validator, as it should be displayed in
- * the UI.
- *
- * @see J2EEValidator#getName
- */
-
- public String getName(Locale locale)
- {
- return getMessage(null,"webArchiveValidator.name", locale); //$NON-NLS-1$
- }
-/**
- * This is a utility function used by the validateSecurityConstraints.
- *
- * @return boolean
- */
-protected boolean isHttpMethod(String method) {
-
-
- if (httpMethods == null) { // Need to construct the Hashtable, once
- String [] mList = {"GET", "PUT", "HEAD", "TRACE", "POST", "DELETE", "OPTIONS"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$
-
- httpMethods = new Hashtable() ;
- for (int i = 0; i<mList.length; i++)
- httpMethods.put (mList[i],"bla") ; //$NON-NLS-1$
- }
- String compare = method.trim() ;
- return (httpMethods.get(compare) != null) ;
-}
-/**
- * WAR validation is driven by 3 prong approach:
- * o XML/DTD validation (this is now handled by the XML Validator)
- * o Consistent web.xml data entry validation beyond DTD
- * e.g., duplicate entries, null entries etc. This is also
- * driven by this validator.
- * o web.xml reference to resources in the "file system". This
- * will not be provided by this validator. In the workbench
- * this function is already provided by the link builder.
- *
- */
-public void validate() throws ValidationException{
- validateMimeMapping() ;
- validateContextParameters() ;
- validateTagLibs();
- validateServletMappings(webDD.getServletMappings());
- validateWelcomeFileList(webDD.getFileList());
- validateErrorPages(webDD.getErrorPages());
- validateSecurityAndServlets();
- validateFilters(webDD.getFilters());
- validateFilterMappings(webDD.getFilterMappings());
- validateRefs();
- validateLoginConfig( webDD.getLoginConfig() );
- validateEnvironmentEntries( webDD.getEnvironmentProperties() );
- validateOther() ;
- validate14();
- }
-/**
- *
- */
-private void validate14() {
- int versionId = webDD.getVersionID();
- if(versionId == J2EEVersionConstants.WEB_2_4_ID) {
- validateUrlPattern();
- }
-}
-/**
- *
- */
-private void validateUrlPattern() {
- List servletMappings = webDD.getServletMappings();
- for(int i = 0; i < servletMappings.size(); i++) {
- ServletMapping mapping = (ServletMapping)servletMappings.get(i);
- String urlPattern = mapping.getUrlPattern();
- int newLineChar = urlPattern.indexOf(Character.LINE_SEPARATOR);
- if(newLineChar != -1) {
- String[] parms = new String[2];
- parms[0] = urlPattern ;
- parms[1] = mapping.getServlet().getDisplayName();
- addError(WAR_CATEGORY, MESSAGE_URL_PATTERN_END_WITH_CARRAIGE_RETURN,parms,mapping);
- }
- }
-
-}
-
-/**
- * This is the method which performs the validation on the MOF model.
- * <br><br>
- * <code>helper</code> and <code>reporter</code> may not be null. <code>changedFiles</code> may be null, if a full
- * build is desired.
- * <br><br>
- * <code>helper</code> loads a EObject. The EObject is the root of the
- * MOF model about to be validated. When this object is traversed,
- * you can reach every element in the MOF model which needs to be validated.
- * <br><br>
- * <code>reporter</code> is an instance of an IReporter interface, which is used for interaction with the user.
- * <br><br>
- * <code>changedFiles</code> is an array of file names which have changed since the last validation.
- * If <code>changedFiles</code> is null, or if it is an empty array, then a full build
- * is performed. Otherwise, validation on just the files listed in the Vector is performed.
- */
-
-public void validate(IValidationContext inHelper, IReporter inReporter) throws ValidationException {
- super.validate(inHelper, inReporter);
-
- // First remove all previous msg. for this project
- _reporter.removeAllMessages(this, null); // Note the WarHelper will return web.xml with a null object as well
-
- warFile = (WARFile) _helper.loadModel(WAR_MODEL_NAME);
- try {
- if (warFile != null) {
- webDD = warFile.getDeploymentDescriptor();
- validate();
- } else {
- IMessage errorMsg = new Message(getBaseName(), IMessage.HIGH_SEVERITY, ERROR_INVALID_WAR_FILE);
- throw new ValidationException(errorMsg);
- }
-
- } catch (ValidationException ex) {
- throw ex;
- } catch (Exception e) {
- String[] parms = new String[1];
- parms[0] = e.toString();
- IMessage errorMsg = new Message(getBaseName(), IMessage.HIGH_SEVERITY, ERROR_WAR_VALIDATION_FAILED, parms );
- throw new ValidationException(errorMsg, e);
- }
-}
-
-/**
- * This validator can be used for validation when the reporter and helper have
- * been supplied via the constructor.
- */
-public void validate(Object aWarFile) throws ValidationException {
-
- try {
- warFile = (WARFile) aWarFile;
- webDD = warFile.getDeploymentDescriptor();
-
- validate();
-
- } catch (Exception e) {
- e.printStackTrace();
- String[] parms = new String[1];
- parms[0] = e.toString();
- IMessage errorMsg = new Message(getBaseName(), IMessage.HIGH_SEVERITY, ERROR_WAR_VALIDATION_FAILED, parms);
- throw new ValidationException(errorMsg);
- }
-}
-/**
- * The auth-constraint element indicates the user roles that should
- * be permitted access to this resource collection. The role used here
- * must appear in a security-role-ref element.
- * <!ELEMENT auth-constraint (description?, role-name*)>
- * The role-name element contains the name of a security role.
- * <!ELEMENT role-name (#PCDATA)>
- * Creation date: (7/6/2001 3:39:34 PM)
- * @param authConstraint org.eclipse.jst.j2ee.internal.webapplication.AuthConstraint
- */
-public void validateAuthConstraint(AuthConstraint authConstraint, Hashtable secRoles) {
-
- EList roleList = authConstraint.getRoles() ;
-
- if (roleList != null && !roleList.isEmpty()) {
- Iterator authRoles = roleList.iterator() ;
- Hashtable remember = new Hashtable () ;
- while (authRoles.hasNext()) {
- String role = (String)authRoles.next() ;
- if (role == null || role.trim().equals("")) { //$NON-NLS-1$
- String[] parms = new String[1];
- parms[0] = WARValidationResourceHandler.getString("of_Type_Role_Name_19") ; //$NON-NLS-1$
- addWarning(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_EMPTY_ENTRY, parms,authConstraint);
- continue ;
- }
- if (remember.get (role.trim()) != null) {
- String[] parms = new String[1];
- parms[0] = role ;
- addWarning(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_DUPLICATE_ENTRY, parms,authConstraint);
- continue ;
- }
- remember.put(role.trim(),"Yea") ; //$NON-NLS-1$
- validateAuthSecRole("",role,secRoles,authConstraint) ; //$NON-NLS-1$
- }
- }
-}
-/**
- * Insert the method's description here.
- * Creation date: (7/5/2001 2:20:02 PM)
- */
-public void validateContextParameters() {
-
- // we must verify that every param-name is unique;
- // param-name appears in context parameters, filter
- // and servlets. We must check each.
- Hashtable remember = new Hashtable();
-
- // check context parameters - each param-name should be unique within the web application
- Iterator cparams = webDD.getContexts().iterator();
- while (cparams.hasNext()) {
- ContextParam context = (ContextParam) cparams.next();
-
- String name = context.getParamName();
- if (name != null)
- name = name.trim();
-
- if (name == null || name.equals("") ) { //$NON-NLS-1$
- String[] parms = new String[1];
- parms[0] = WARValidationResourceHandler.getString("of_Type_Parameter_Name_25"); //$NON-NLS-1$
-
- addWarning(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_EMPTY_ENTRY, parms, context);
- continue;
- }
- //if (remember.get(name + value) != null) { // Check for dups
- if (remember.get(name) != null) { // Check for dups
- String[] parms = new String[1];
- parms[0] = WARValidationResourceHandler.getString("of_Type_Parameter_Name_25") + ": " + name; //$NON-NLS-1$ //$NON-NLS-2$
- addWarning(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_DUPLICATE_ENTRY, parms, context);
- continue;
- }
- //remember.put(name + value, "Yea");
- remember.put(name, "Yea"); //$NON-NLS-1$
- }
-
-
- // check servlet init-param - each param-name should be unique within a servlet
- Iterator servlets = webDD.getServlets().iterator();
- while (servlets.hasNext()) {
- Servlet nextServlet = (Servlet) servlets.next();
- Iterator params = nextServlet.getParams().iterator();
- remember.clear();
- while (params.hasNext()) {
- InitParam initParam = (InitParam) params.next();
- String name = initParam.getParamName();
-
- if (name != null)
- name = name.trim();
-
- if (name == null || name.equals("") ) { //$NON-NLS-1$
- String[] parms = new String[1];
- parms[0] = WARValidationResourceHandler.getString("of_Type_Parameter_Name_32"); //$NON-NLS-1$
- addWarning(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_EMPTY_ENTRY, parms, initParam);
- continue;
- }
- if (remember.get(name) != null) { // Check for dups
-
- String[] parms = new String[1];
- parms[0] = WARValidationResourceHandler.getString("of_Type_Parameter_Name_25") + ": " + name; //$NON-NLS-1$ //$NON-NLS-2$
- addWarning(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_DUPLICATE_ENTRY, parms, initParam);
- continue;
- }
- remember.put(name, "Yea"); //$NON-NLS-1$
- }
- }
-
- // check filter init-param - each param-name should be unique within a filter
- Iterator filters = webDD.getFilters().iterator();
- while (filters.hasNext()) {
- Filter nextFilter = (Filter) filters.next();
- Iterator params = nextFilter.getInitParams().iterator();
- remember.clear();
- while (params.hasNext()) {
- InitParam initParam = (InitParam) params.next();
- String name = initParam.getParamName();
-
- if (name != null)
- name = name.trim();
-
- if (name == null || name.equals("") ) { //$NON-NLS-1$
- String[] parms = new String[1];
- parms[0] = WARValidationResourceHandler.getString("of_Type_Parameter_Name_39"); //$NON-NLS-1$
- addWarning(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_EMPTY_ENTRY, parms, initParam);
- continue;
- }
- if (remember.get(name) != null) { // Check for dups
- String[] parms = new String[1];
- parms[0] = WARValidationResourceHandler.getString("of_Type_Parameter_Name_25") + ": " + name; //$NON-NLS-1$ //$NON-NLS-2$
- addWarning(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_DUPLICATE_ENTRY, parms, initParam);
- continue;
- }
- remember.put(name, "Yea"); //$NON-NLS-1$
- }
- }
-
-}
-/**
- * Validate EJB references.
- */
-
-public void validateEJBRefs(EjbRefImpl eref) {
-// try {
-
- EARFile earFile = warFile.getEARFile();
- EnterpriseBean eb = null;
-
- if (earFile != null)
- eb = earFile.getEnterpiseBeanFromRef(eref, warFile.getURI());
-
- if (!(eb == null)) {
- List ejbRefs = eb.getEjbRefs();
-
- int numRefs = ejbRefs.size();
-
- Set refSet = new HashSet(numRefs);
-
- for (int refNo = 0; refNo < numRefs; refNo++) {
- String nextName = ((EjbRefImpl) (ejbRefs.get(refNo))).getName();
-
- String[] parms = new String[1];
- parms[0] = eb.getName();
- if (!(refSet.add(nextName))) {
- addWarning(WAR_CATEGORY, ERROR_EAR_DUPLICATE_ROLES, parms,ejbRefs.get(refNo));
- }
- }
- }
-
-// } catch (UncontainedModuleFileException ue) {
-// String[] parms = new String[1];
-// parms[0] = warFile.getName();
-// addError(EREF_CATEGORY, ERROR_EAR_UNCONTAINED_MODULE_FILE_EXCEPTION, parms);
-// }
-}
- /**
- * validate for duplicates in EAR Roles
- */
-
- public void validateEJBRefs(List ejbRefs)
- {
- int numRefs = ejbRefs.size();
- Hashtable remember = new Hashtable() ;
- for (int refNo = 0; refNo < numRefs; refNo++) {
- EjbRefImpl eref = (EjbRefImpl) ejbRefs.get(refNo);
- if (eref.isSetType()) {
- String type = eref.getType().getName();
- if ( type == null ) {
- addWarning(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_INVALID_EJB_REF_TYPE, null,eref); // Type must be of ENTITY or FOO
- }
- }
- if (eref.getName() != null) {
- String name = eref.getName();
- name = name.trim();
-
- if (name.equals("")) { //$NON-NLS-1$
- String[] parms = new String[1];
- parms[0] = WARValidationResourceHandler.getString("of_Type_ejb-ref-name_44"); //$NON-NLS-1$
- addWarning(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_EMPTY_ENTRY, parms,eref);
- continue ;
- }
- if (remember.get(name) != null) { // check for duplicates
- String[] parms = new String[1];
- parms[0] = name ;
- addWarning(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_DUPLICATE_EJB_REF, parms,eref);
- continue ;
- }
- remember.put(name,"Yea") ; //$NON-NLS-1$
- } else {
- String[] parms = new String[1];
- parms[0] = WARValidationResourceHandler.getString("of_Type_ejb-ref-name_44"); //$NON-NLS-1$
- addWarning(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_EMPTY_ENTRY, parms,eref);
- continue ;
- }
-
-
- validateEJBRefs(eref);
- validateEJBRefManadatoryElements(eref, webDD.getDisplayName());
- }
- }
-
-
- /**
- * validate for duplicates in EAR Roles
- */
-
- public void validateEJBLocalRefs(List ejbRefs)
- {
- int numRefs = ejbRefs.size();
- Hashtable remember = new Hashtable() ;
- for (int refNo = 0; refNo < numRefs; refNo++) {
- EJBLocalRefImpl eref = (EJBLocalRefImpl) ejbRefs.get(refNo);
- if (eref.isSetType()) {
- String type = eref.getType().getName();
- if ( type == null ) {
- addWarning(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_INVALID_EJB_REF_TYPE, null,eref); // Type must be of ENTITY or FOO
- }
- }
- if (eref.getName() != null) {
- String name = eref.getName();
- name = name.trim() ;
-
- if (name.equals("")) { //$NON-NLS-1$
- String[] parms = new String[1];
- parms[0] = WARValidationResourceHandler.getString("of_Type_ejb-ref-name_44"); //$NON-NLS-1$
- addWarning(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_EMPTY_ENTRY, parms,eref);
- continue ;
- }
- if (remember.get(name) != null) { // check for duplicates
- String[] parms = new String[1];
- parms[0] = name ;
- addWarning(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_DUPLICATE_EJB_REF, parms,eref);
- continue ;
- }
- remember.put(name,"Yea") ; //$NON-NLS-1$
- } else {
- String[] parms = new String[1];
- parms[0] = WARValidationResourceHandler.getString("of_Type_ejb-ref-name_44"); //$NON-NLS-1$
- addWarning(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_EMPTY_ENTRY, parms,eref);
- continue ;
- }
-
-
-// validateEJBRefs(eref);
-// validateEJBRefManadatoryElements(eref, webDD.getDisplayName());
- }
- }
-
-/**
- * Link build should verify location of exception class
- */
-
-public void validateErrorPages(EList errorPageList) {
- Iterator errorPages = errorPageList.iterator();
-
- if (errorPageList == null || errorPageList.isEmpty()) return ;
-
- while (errorPages.hasNext()) {
- ErrorPage nextPage = (ErrorPage) errorPages.next();
- String location = nextPage.getLocation() ;
- if (location == null || location.equals("")) { //$NON-NLS-1$
- String[] parms = new String[1];
- parms[0] = WARValidationResourceHandler.getString("of_Type_Error_Location_47") ; //$NON-NLS-1$
- addWarning(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_EMPTY_ENTRY, parms,nextPage);
- }
- if (!location.startsWith("/")){ //$NON-NLS-1$
- String[] parms = new String[1];
- parms[0] = WARValidationResourceHandler.getString("of_Type_Error_Location_49") ; //$NON-NLS-1$
- addWarning(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_INVALID_ERROR_PAGE, parms,nextPage);
- }
-
-
- // check for valid HTTP error code - must be an Integer, 3 digits, and the starting
- // digit must be a 1,2,3,4, or 5.
- if (nextPage.isErrorCode()) {
- ErrorCodeErrorPage ecep = (ErrorCodeErrorPage) nextPage;
- String errorCode = ecep.getErrorCode();
-
- boolean valid = false;
- if ( errorCode.length() == 3 ) {
- try {
- Integer tempInt = new Integer(errorCode);
- // ok, it's a valid 3-digit integer
- int code = tempInt.intValue();
- if ( code >= 100 && code < 600 ) {
- // valid HTTP status code - starting digit must be between 1-5
- valid = true;
- }
- }
- catch(NumberFormatException exc) {
- //Ignore
- }
- }
- if ( !valid ) {
- String[] parms = new String[1];
- parms[0] = errorCode;
- addWarning(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_INVALID_ERROR_CODE, parms, ecep);
- }
-
- }
-
- // If exception-type... the specified class must be or inherit from java.lang.Exception
- else if (nextPage.isExceptionType()) {
- ExceptionTypeErrorPage etep = (ExceptionTypeErrorPage)nextPage;
- JavaClass javaType = etep.getExceptionType();
- String exceptionType = "java.lang.Exception";//$NON-NLS-1$
- String specifiedClassName = etep.getExceptionTypeName();
- if ( javaType != null ) {
- ResourceSet lookupSet = javaType.eResource().getResourceSet();
- if (lookupSet != null)
- {
- if (!javaType.inheritsFrom(JavaRefFactory.eINSTANCE.reflectType(exceptionType, lookupSet).getWrapper())) {
- String[] parms = new String[1];
- parms[0] = specifiedClassName;
- addWarning(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_INVALID_EXCEPTION_TYPE, parms, etep);
- }
- }
- }
- else {
- String[] parms = new String[1];
- parms[0] = "";//$NON-NLS-1$
- addWarning(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_INVALID_EXCEPTION_TYPE, parms, etep);
- }
- // TBD
- }
- else { // Error Code
- // TBD
- }
-
- // TBD remember location/code/exception dups
- }
-
-}
-
-/**
- * Validate the loginConfig section is correct
- */
-public void validateLoginConfig( LoginConfig loginConfig ) {
- //com.ibm.etools.validate.ValidatorManager.setResourceUtilClass(com.ibm.etools.validate.ui.UIResourceUtil.class);
-
- if ( loginConfig != null ) {
- String auth = loginConfig.getAuthMethod().getName();
-
- if ( auth == null ) {
- String[] parms = new String[0];
- addWarning(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_INVALID_AUTH_METHOD, parms,loginConfig);
- }
- // Give a warning if form elements are supplied but FORM auth method is not used
- else if ( !auth.equals( "FORM" ) ) { //$NON-NLS-1$
- FormLoginConfig cfg = loginConfig.getFormLoginConfig();
- if ( cfg != null ) {
- String[] parms = new String[1];
- parms[0] = auth ;
- addWarning(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_IGNORE_FORM_LOGIN, parms,loginConfig);
- }
- }
- }
-}
-
-/**
- * Validate the loginConfig section is correct
- */
-public void validateEnvironmentEntries( EList envEntries ) {
- if (envEntries.isEmpty()) return ;
-
- //boolean isVersion22 = warFile.getDeploymentDescriptor().isVersion2_2Descriptor();
- Iterator entries = envEntries.iterator();
- Hashtable remember = new Hashtable() ;
-
- while (entries.hasNext()) {
- EnvEntry entry = (EnvEntry)entries.next();
- if ( entry.getType().getName() == null ) {
- addWarning(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_INVALID_ENV_ENTRY, null,entry);
- }
-
- // check for duplicate env-entry-name's
- String name = entry.getName();
- if ( name != null ) {
- if (remember.get(name) != null) { // Check for dups
- String[] parms = new String[1];
- parms[0] = WARValidationResourceHandler.getString("of_Type_Env_Entry_Name___88") + ": " + name; //$NON-NLS-1$ //$NON-NLS-2$
- addWarning(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_DUPLICATE_ENTRY, parms,entry);
- }
- else {
- remember.put(name,"Yea") ; //$NON-NLS-1$
- }
- }
- }
-
-}
-
-
-/**
- * Insert the method's description here.
- * Creation date: (7/5/2001 12:11:23 PM)
- */
-public void validateMimeMapping() {
-
- if (webDD.getMimeMappings().isEmpty()) return ;
-
- Iterator mimes = webDD.getMimeMappings().iterator() ;
- Hashtable remember = new Hashtable() ;
-
- while (mimes.hasNext()) {
- MimeMapping mimeMap = (MimeMapping) mimes.next();
-
- String ext = mimeMap.getExtension() ;
- String mtype = mimeMap.getMimeType() ;
- if (ext != null)
- ext = ext.trim() ;
- if (mtype != null)
- mtype = mtype.trim() ;
-
- if (ext == null || ext.equals("") || mtype == null || mtype.equals("")) { //$NON-NLS-1$ //$NON-NLS-2$
- String[] parms = new String[1];
- if (ext == null || ext.trim().equals("")) //$NON-NLS-1$
- parms[0] = WARValidationResourceHandler.getString("of_Type_Mime_Extension_54") ; //$NON-NLS-1$
- else
- parms[0] = WARValidationResourceHandler.getString("of_Type_Mime_Type_55") ; //$NON-NLS-1$
- addWarning(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_EMPTY_ENTRY, parms,mimeMap);
- continue ;
- }
- if (remember.get(ext) != null) { // Check for dups
-
- String[] parms = new String[1];
- parms[0] = WARValidationResourceHandler.getString("of_Type_Mime_Extension___56") + ": " + ext ; //$NON-NLS-1$ //$NON-NLS-2$
- addWarning(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_DUPLICATE_ENTRY, parms,mimeMap);
- continue ;
- }
- remember.put(ext,"Yea") ; //$NON-NLS-1$
- }
-}
-/**
- * Insert the method's description here.
- * Creation date: (7/5/2001 11:46:58 AM)
- */
-public void validateOther() {
-
- SessionConfig sessionCfg = webDD.getSessionConfig() ;
- if (sessionCfg != null) {
- int timeout = sessionCfg.getSessionTimeout() ;
- if (timeout == 0) {
- addWarning(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_SESSION_TIMEOUT, null,sessionCfg);
- }
- }
-
-
-
-}
-/**
- * validateRefs(WebApp)
- * - validate EJB and resource references
- * - details tbd
- */
-
-public void validateRefs() {
- EList ejbRefs = webDD.getEjbRefs();
-
- if (!ejbRefs.isEmpty())
- validateEJBRefs(ejbRefs);
-
-
- EList ejblocalRefs = webDD.getEjbLocalRefs();
-
- if (!ejblocalRefs.isEmpty())
- validateEJBLocalRefs(ejblocalRefs);
-
-
- EList resourceRefs = webDD.getResourceRefs();
-
- if (!resourceRefs.isEmpty()) {
- //validateResourceRefs(resourceRefs); // we want to do additional checks here
-
- int numRefs = resourceRefs.size();
- Set refSet = new HashSet(numRefs);
- boolean isVersion22 = warFile.getDeploymentDescriptor().getVersionID() <= J2EEVersionConstants.WEB_2_2_ID;
-
- for (int refNo = 0; refNo < numRefs; refNo++) {
- ResourceRefImpl ref = (ResourceRefImpl) (resourceRefs.get(refNo));
- String auth = ref.getAuth().getName();
-
- // Check: a res-auth element containing Container or Application must be supplied
- if (auth == null || !ref.isSetAuth()) {
- String[] parms = new String[1];
- parms[0] = ref.getName();
- String msgId = isVersion22 ? MESSAGE_WAR_VALIDATION_RES_AUTH_REQUIRED_22 : MESSAGE_WAR_VALIDATION_RES_AUTH_REQUIRED_23;
- addError(WAR_CATEGORY, msgId, parms,ref);
- } else
- if (isVersion22 && auth.equals("Application")) { //$NON-NLS-1$
- String[] parms = new String[1];
- parms[0] = ref.getName();
- addError(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_RES_AUTH_INVALID_22, parms,ref);
- } else
- if (!isVersion22 && auth.equals("SERVLET")) { //$NON-NLS-1$
- String[] parms = new String[1];
- parms[0] = ref.getName();
- addError(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_RES_AUTH_INVALID_23, parms,ref);
- }
-
- // validate res-sharing-scope is allowable value
- String sharingScope = ref.getResSharingScope().getName();
- if ( !isVersion22 ) {
- if ( sharingScope == null || !ref.isSetResSharingScope()) {
- String[] parms = new String[0];
- addWarning(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_INVALID_RES_SHARING_SCOPE, parms, ref);
- }
- }
-
- String refName = ref.getName();
- String[] parms = new String[1];
- parms[0] = refName;
- if (!(refSet.add(refName)))
- addError(
- EREF_CATEGORY,
- ERROR_EAR_DUPLICATE_RESREF,
- parms,
- ref);
- }
- }
-
-}
-
-
-/**
- * Insert the method's description here.
- * Creation date: (7/6/2001 4:11:09 PM)
- * @return boolean
- * @param role java.lang.String
- * @param defineRoles java.util.Hashtable
- *
- * The auth-constraint only needs to have role-name specified.
- * <auth-constraint>
- * <description></description>
- * <role-name>guest</role-name>
- * </auth-constraint>
- *
- */
-protected void validateAuthSecRole(String link, String role, Hashtable definedRoles, EObject targetObject) {
- String rName = role ;
- String lName = link;
-// boolean validRole = true;
-// boolean validLink = true;
-
- if (rName!= null) rName= rName.trim() ;
- if (lName!= null) lName= lName.trim() ;
-
- if ( rName != null ) {
- if (!rName.equals("*") && !rName.equals("")) { //$NON-NLS-1$ //$NON-NLS-2$
- if (definedRoles.get(rName) == null && definedRoles.get(lName) == null) {
- String[] parms = new String[1];
- parms[0] = rName;
- addError(
- WAR_CATEGORY,
- MESSAGE_WAR_VALIDATION_INVALID_SEC_ROLE_NAME,
- parms,
- targetObject);
- }
- }
- }
-}
-
-
-
-
-/**
- * Insert the method's description here.
- * Creation date: (7/6/2001 4:11:09 PM)
- * @return boolean
- * @param role java.lang.String
- * @param defineRoles java.util.Hashtable
- *
- *
- * the security-role-ref must have a non-null role-name and the role-link
- * must contain the name of a role specified in the security-role section
- * <security-role-ref>
- * <role-name>MyName</role-name>
- * <role-link>ExistingRole</role-link>
- * </security-role-ref>
- *
- *
- */
-protected void validateSecRole(String link, String role, Hashtable definedRoles, EObject targetObject) {
- String rName = role ;
- String lName = link;
-// boolean validRole = true;
-// boolean validLink = true;
-
- if (rName!= null) rName= rName.trim() ;
- if (lName!= null) lName= lName.trim() ;
-
-
- // the security role-name cannot be null
- if ( (rName == null || rName.equals("")) ) { //$NON-NLS-1$
- String[] parms = new String[1];
- parms[0] = rName;
- addError(
- WAR_CATEGORY,
- MESSAGE_WAR_VALIDATION_INVALID_SEC_ROLE_NAME,
- parms,
- targetObject);
- }
-
- if (rName == null || !rName.equals("*") ) { //$NON-NLS-1$
- // check that security role-link matches a defines security role
- if (lName != null && definedRoles.get(lName) == null) {
-
- String[] parms = new String[1];
- parms[0] = lName;
- addError(
- WAR_CATEGORY,
- MESSAGE_WAR_VALIDATION_INVALID_SEC_ROLE,
- parms,
- targetObject);
- }
- }
-}
-
-/**
- * validateSecurity(WebApp)
- * - validate security constraints, roles, and security role refs
- * - details tbd
- */
-
-public void validateSecurityAndServlets() {
-
-
- EList webRoles = webDD.getSecurityRoles();
-
- // Validate security roles
- Hashtable secRoles = getAndValidateSecurityRoles(webRoles) ;
-
- // Validate Servlets/JSPs and their role ref.
- validateServlets(webDD.getServlets(),secRoles);
-
- validateSecurityConstraints(webDD.getConstraints(), secRoles) ;
-
-// try {
- if (!(webRoles.isEmpty())) {
- EARFile module = warFile.getEARFile();
- if (module != null) {
- EList earRoleList = module.getDeploymentDescriptor().getSecurityRoles();
- validateWEBRolesWithEARRoles(earRoleList, webRoles);
- }
- }
-// } catch (UncontainedModuleFileException ue) {
-// String[] parms = new String[1];
-// parms[0] = warFile.getName();
-// addError(EREF_CATEGORY, ERROR_EAR_UNCONTAINED_MODULE_FILE_EXCEPTION, parms);
-// }
-}
-/**
- * The security-constraint element is used to associate security
- * constraints with one or more web resource collections
- * <!ELEMENT security-constraint (web-resource-collection+,
- * auth-constraint?, user-data-constraint?)>
- *
- * @param constraints org.eclipse.emf.common.util.EList
- */
-public void validateSecurityConstraints(EList constraints, Hashtable secRoles) {
-
- if (constraints.isEmpty()) return ;
-
- Iterator constList = constraints.iterator();
- while (constList.hasNext()) {
- SecurityConstraint constraint = (SecurityConstraint) constList.next() ;
-
- EList webResourceList = constraint.getWebResourceCollections() ;
- if (webResourceList == null || webResourceList.isEmpty()) {
- String[] parms = new String[1];
- parms[0] = WARValidationResourceHandler.getString("of_Type_Web_Resource_Collection_64") ; //$NON-NLS-1$
- addError(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_EMPTY_ENTRY, parms,constraint);
- continue ;
- }
- validateWebResourceCollections (webResourceList) ;
-
- AuthConstraint authConstraint = constraint.getAuthConstraint() ;
- if (authConstraint != null) validateAuthConstraint(authConstraint,secRoles) ;
-
- UserDataConstraint dataConstraint = constraint.getUserDataConstraint() ;
- if (dataConstraint != null && dataConstraint.getTransportGuarantee() != null) {
- // <!ELEMENT user-data-constraint (description?, transport-guarantee)>
- // The transport-guarantee element specifies that the communication
- // between client and server should be NONE, INTEGRAL, or
- // CONFIDENTIAL.
-
-// EEnumLiteral transport = dataConstraint.getTransportGuarantee();
- TransportGuaranteeType transport = dataConstraint.getTransportGuarantee();
- if (transport == null || !dataConstraint.isSetTransportGuarantee() ) {
- addError(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_INVALID_TRANSPORT, new String[0], dataConstraint);
- }
- }
- }
-}
-
-public void validateFilters(EList filterList){
- if (filterList.isEmpty()) return ;
-
- Iterator filters = filterList.iterator();
-
- Hashtable remember = new Hashtable() ;
-
- while (filters.hasNext()) {
- Filter nextFilter = (Filter) filters.next();
- String name = nextFilter.getName() ;
- if (name != null) name = name.trim() ;
-
- if (name == null || name.equals("")) { //$NON-NLS-1$
- String[] parms = new String[1];
- parms[0] = WARValidationResourceHandler.getString("of_Type_Filter_Name_66") ; //$NON-NLS-1$
- addWarning(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_EMPTY_ENTRY, parms,nextFilter);
- continue ;
- }
- if (remember.get(name) != null) { // check for duplicates
- String[] parms = new String[1];
- parms[0] = name ;
- addWarning(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_DUPLICATE_FILTER, parms,nextFilter);
- continue ;
- }
- remember.put(name,"Yea") ; //$NON-NLS-1$
- }
-}
-
-/**
- * validateFilterMappings(Elist(Filters's))
- * - for each filter mapping, make sure the named filter exists
- */
-public void validateFilterMappings(EList filterMappingsList) {
-
- if (filterMappingsList.isEmpty()) return ;
-
- Iterator filterMappings = filterMappingsList.iterator();
- while (filterMappings.hasNext()) {
- FilterMapping nextMapping = (FilterMapping) filterMappings.next();
-
- // Mapping can be either servlet or url
- if ( nextMapping.getUrlPattern() != null ) {
- String[] parms = new String[1];
- String url = nextMapping.getUrlPattern();
- parms[0] = url ;
- if ( url == null ) {
- addWarning(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_INVALID_URL, parms,nextMapping);
- continue;
- }
- if ( nextMapping.getFilter() == null || nextMapping.getFilter().equals("" ) ) { //$NON-NLS-1$
- addWarning(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_BROKEN_FILTER_MAPPING, parms,nextMapping);
- continue;
- }
-
- // Is is a valid URI notation ?
- try {
- if (url.equals("")) throw new Exception(WARValidationResourceHandler.getString("Invalid_URL_70")) ; //$NON-NLS-1$ //$NON-NLS-2$
- // You can't use com.ibm.webtools.URI here...
- // com.ibm.iwt.webtools.URI uri = new com.ibm.iwt.webtools.URI(url) ;
- }
- catch (Exception e) {
- parms = new String[1];
- parms[0] = nextMapping.getUrlPattern();
- addError(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_INVALID_URL, parms,nextMapping);
- continue ;
- }
- }
- else if ( nextMapping.getServletName() != null ) {
- String[] parms = new String[1];
- String servletName = nextMapping.getServletName();
- parms[0] = servletName ;
- if ( nextMapping.getServlet() == null ) {
- addWarning(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_BROKEN_SERVLET_MAPPING, parms,nextMapping);
- continue;
- }
- if ( nextMapping.getFilter() == null || nextMapping.getFilter().equals("" ) ) { //$NON-NLS-1$
- addWarning(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_BROKEN_FILTER_MAPPING, parms,nextMapping);
- continue;
- }
- }
-// else {
-// // otherwise neither servlet-name or url-mapping is defined - this gets flagged by the xml validator
-// // as this does not conform to the DTD
-//
-// }
-
-
- }
-
-}
-
-
-
-
-
-
-/**
- * validateServlets(Elist(Servlet's))
- * - for each servlet mapping, make sure the named servlet exists
- */
-
-public void validateServletMappings(EList servletMappingsList) {
-
- if (servletMappingsList.isEmpty()) return ;
-
- Iterator servletMappings = servletMappingsList.iterator();
-
- Hashtable remember = new Hashtable() ;
- while (servletMappings.hasNext()) {
- ServletMapping nextMapping = (ServletMapping) servletMappings.next();
- String url = nextMapping.getUrlPattern() ;
-
- // Check for null servlet, if the name is right the reflection
- // has already resolved it.
-
- if (url != null) { // check for duplicate first, no need to repeat earlier error,
- url = url.trim () ;
- if (remember.get(url)!=null) {
- String[] parms = new String[1];
- parms[0] = nextMapping.getUrlPattern();
- addWarning(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_DUPLICATE_MAPPING, parms,nextMapping);
- continue ;
- }
- remember.put(nextMapping.getUrlPattern(),"Yea") ; //$NON-NLS-1$
- }
-
-
- if (url == null || nextMapping.getServlet() == null || nextMapping.getServlet().equals("")){ //$NON-NLS-1$
- String[] parms = new String[1];
- parms[0] = url ;
- if (url == null)
- addWarning(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_INVALID_URL, parms,nextMapping);
- else
- addWarning(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_BROKEN_SERVLET_MAPPING, parms,nextMapping);
- continue ;
- }
-
- // Is is a valid URI notation ?
- try {
- if (url.equals("")) throw new Exception(WARValidationResourceHandler.getString("Invalid_URL_75")) ; //$NON-NLS-1$ //$NON-NLS-2$
-
-//
-// The spec does not prohibit whitespace in the url-patterns
-//
-// // check to see if the string is a valid URL- has no white space
-// char[] chars = url.toCharArray();
-// int len = chars.length;
-// for (int cnt = 0; cnt < chars.length; cnt++)
-// {
-// if (Character.isWhitespace(chars[cnt]))
-// throw new Exception("Invalid URL") ;
-// }
-// You can't use com.ibm.webtools.URI here...
-// com.ibm.iwt.webtools.URI uri = new com.ibm.iwt.webtools.URI(url) ;
- }
- catch (Exception e) {
- String[] parms = new String[1];
- parms[0] = nextMapping.getUrlPattern();
- addError(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_INVALID_URL, parms,nextMapping);
- continue ;
- }
- }
-
-}
- /**
- * validateServlets(Elist(Servlet's))
- * - if it's a JSP, verify the file exists
- * - validate optional security role refs for existence of
- * the security role
- */
-
- public void validateServlets(EList servletList, Hashtable secRoles)
- {
- if (servletList.isEmpty()) return ;
-
- Iterator servlets = servletList.iterator();
-
- Hashtable remember = new Hashtable() ;
-
- while (servlets.hasNext()) {
- Servlet nextServlet = (Servlet) servlets.next();
- String name = nextServlet.getServletName() ;
- if (name != null) name = name.trim() ;
-
- if (name == null || name.equals("")) { //$NON-NLS-1$
- String[] parms = new String[1];
- parms[0] = WARValidationResourceHandler.getString("of_Type_Servlet_Name_77"); //$NON-NLS-1$
- addWarning(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_EMPTY_ENTRY, parms,nextServlet);
- continue ;
- }
- if (remember.get(name) != null) { // check for duplicates
- String[] parms = new String[1];
- parms[0] = name ;
- addWarning(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_DUPLICATE_SERVLET, parms,nextServlet);
- continue ;
- }
- remember.put(name,"Yea") ; //$NON-NLS-1$
-
- // Validate servlet roles
- EList rolesList = nextServlet.getSecurityRoleRefs() ;
- if (!rolesList.isEmpty()) {
- Iterator roles = rolesList.iterator() ;
- while (roles.hasNext()) {
- SecurityRoleRef role = (SecurityRoleRef) roles.next() ;
- validateSecRole(role.getLink(), role.getName(),secRoles,role) ;
- }
- }
-
- // if it's a JSP, the jsp-file attribute MUST be a full-path, according to the servlet 2.2 spec
- if ( nextServlet.getWebType().isJspType() ) {
- JSPType jspType = (JSPType)(nextServlet.getWebType());
-
- String jspFileName = jspType.getJspFile();
- if ( jspFileName == null || !(jspFileName.length() > 0)) {
- String[] parms = new String[2];
- parms[0] = jspFileName;
- parms[1] = name;
- addError(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_INVALID_JSPFILE_REF, parms,nextServlet);
- }
- }
-
- /* No need to check for the existence of JSPs or Servlets. the LinkBuilder will do this */
-
- }
- }
-
-public void validateTagLibs(){
-
- if (webDD.getTagLibs().isEmpty())
- return;
-
- Iterator tags = webDD.getTagLibs().iterator();
- Hashtable remember = new Hashtable();
-
- while (tags.hasNext()) {
-
- TagLibRef taglib = (TagLibRef) tags.next(); // ClassCastException at runtime
- String uri = taglib.getTaglibURI();
-
- if (uri != null)
- uri = uri.trim();
-
- if (uri == null || uri.equals("")) { //$NON-NLS-1$
- String[] parms = new String[1];
- parms[0] = WARValidationResourceHandler.getString("of_Type_Taglib_80"); //$NON-NLS-1$
- addWarning(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_EMPTY_ENTRY, parms, taglib);
- continue;
- }
- if (remember.get(uri) != null) { // Check for dups
-
- String[] parms = new String[1];
- parms[0] = WARValidationResourceHandler.getString("of_Type_TagLib___81") + ": " + uri; //$NON-NLS-1$ //$NON-NLS-2$
- addWarning(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_DUPLICATE_ENTRY, parms, taglib);
- continue;
- }
- remember.put(uri, "Yea"); //$NON-NLS-1$
- }
-}
-
-public void validateWebResourceCollections(EList webResourceList) {
-
-
- Iterator resourceList = webResourceList.iterator () ;
- while (resourceList.hasNext()) { // Check the web resource collections
- WebResourceCollection resource = (WebResourceCollection) resourceList.next() ;
-
- String name = resource.getWebResourceName() ;
- if (name != null) name = name.trim() ;
- if (name == null || name.equals("")) { // should have a name //$NON-NLS-1$
- String[] parms = new String[1];
- parms[0] = WARValidationResourceHandler.getString("of_Type_Web_Resource_Name_84") ; //$NON-NLS-1$
- addWarning(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_EMPTY_ENTRY , parms,resource);
- }
-
- // Check that the http methods, if any is correct
- EList httpList = resource.getHTTPs() ;
- if (!httpList.isEmpty()) {
- Iterator https = httpList.iterator () ;
- while (https.hasNext()) {
- HTTPMethodType httpMethod = (HTTPMethodType) https.next() ;
- String method = httpMethod.getHttpMethod() ;
-
- if (method == null ||!isHttpMethod(method)) {
- String[] parms = new String[1];
- parms[0] = method ;
- addError(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_INVALID_HTTP_CMD , parms,httpMethod);
- }
-
-
- }
- }
- }
-}
-/**
- * validateWelcomeFileList(WelcomeFileList)
- * - walk through the files and verify they exist
- */
-
-public void validateWelcomeFileList(WelcomeFileList fileList) {
- if (fileList == null)
- return;
-
- Iterator files = fileList.getFile().iterator();
-
- Hashtable remember = new Hashtable() ;
- while (files.hasNext()) {
- WelcomeFile nextFile = (WelcomeFile) files.next();
- String fileName = nextFile.getWelcomeFile();
-
- if ((fileName == null) || (fileName.length() == 0) ) {
- String[] parms = new String[0];
- addWarning( WAR_CATEGORY, MESSAGE_WAR_VALIDATION_NO_WELCOME_FILE,parms,nextFile );
- }
- else if ( (fileName.startsWith("/") ) || (fileName.endsWith("/") )) { //$NON-NLS-1$ //$NON-NLS-2$
- String[] parms = new String[0];
- addWarning( WAR_CATEGORY, MESSAGE_WAR_VALIDATION_INVALID_WELCOME_FILE,parms,nextFile );
- }
- fileName = fileName.trim() ;
- if (remember.get(fileName) != null) {
- String[] parms = new String[1];
- parms[0] = WARValidationResourceHandler.getString("of_Type_Welcome_File_Name__87") + ": " + fileName ; //$NON-NLS-1$ //$NON-NLS-2$
- addWarning(WAR_CATEGORY, MESSAGE_WAR_VALIDATION_DUPLICATE_ENTRY, parms,nextFile);
- continue ;
- }
- remember.put(fileName,"Yea") ; //$NON-NLS-1$
- }
-}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/rarvalidation.properties b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/rarvalidation.properties
deleted file mode 100644
index 04cf6c630..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/rarvalidation.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 2004 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
-###############################################################################
-CONNECTOR_INVALID_DOC_TYPE_ERROR_=IWAE0054E Document type version "{0}" for rar.xml in project "{1}" needs to be version "{2}".
-ERROR_INVALID_CONNECTOR_FILE="Invalid RAR File".
-ERROR_CONNECTOR_VALIDATION_FAILED="RAR Validation failed".
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/warvalidation.properties b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/warvalidation.properties
deleted file mode 100644
index b290e9b46..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/warvalidation.properties
+++ /dev/null
@@ -1,258 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 2004 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
-###############################################################################
-#This properties file hold all the externalised strings for eTools WAR Validation project
-# Validation project
-#
-# Messages should be according to the format at:
-# http://hany.austin.ibm.com/messages/index.html
-#
-# Briefly:
-# MESSAGE_ID=<ComponentPrefix><MessageNumber><TypeCode>: <MessageText>
-#
-# The prefix for this component is:
-# CHKJ (IBM WebSphere Validation)
-#
-# Note the ": " that appears between the type code and the message text.
-#
-# :Begin: WebSphere Quality Validation Information :Begin:
-#COMPONENTPREFIX CHKJ
-#COMPONENTNAMEFOR CHKJ IBM WebSphere Validation
-#CMVCPATHNAME ncf/src/java/com/ibm/websphere/validation/warvalidation.properties
-# :End: WebSphere Quality Validation Information :End:
-#
-
-# 2-July-2001:
-# This file has been tested using the ProcessMsgFile tool, written by
-# Hany Salem and owned by Dennis Hebert. Any future changes should
-# also be verified using this tool. Please contact Dennis
-# (hebert@us.ibm.com or T/L 543-2520) for more information.
-#
-
-# --------------------------------
-ERROR_WAR_VALIDATION_FAILED=CHKJ3000E: WAR Validation Failed: {0}
-#EXPLANATION None.
-#USERACTION None.
-
-
-# --------------------------------
-ERROR_EAR_DUPLICATE_ROLES=CHKJ1002E: Duplicate security role named {0}.
-MESSAGE_WAR_VALIDATION_MISSING_JSP=CHKJ3001E: The JSP file, {0}, for the servlet \"{1}\" is missing.
-#EXPLANATION None.
-#USERACTION None.
-
-# --------------------------------
-MESSAGE_WAR_VALIDATION_SMALL_ICON=CHKJ3002E: The <small-icon> file, {0}, is missing.
-#EXPLANATION None.
-#USERACTION None.
-
-# --------------------------------
-MESSAGE_WAR_VALIDATION_LARGE_ICON=CHKJ3003E: The <large-icon> file, {0}, is missing.
-#EXPLANATION None.
-#USERACTION None.
-
-# --------------------------------
-MESSAGE_WAR_VALIDATION_BROKEN_SERVLET_MAPPING=CHKJ3004W: The servlet mapping \"{0}\" refers to a servlet that is not defined.
-#EXPLANATION None.
-#USERACTION None.
-
-# --------------------------------
-MESSAGE_WAR_VALIDATION_NO_WELCOME_FILE=CHKJ3005E: Empty welcome file list entry.
-#EXPLANATION None.
-#USERACTION None.
-
-# --------------------------------
-MESSAGE_WAR_VALIDATION_MISSING_WELCOME_FILE=CHKJ3006E: Welcome file {0} is missing.
-#EXPLANATION None.
-#USERACTION None.
-
-# --------------------------------
-MESSAGE_WAR_VALIDATION_MISSING_TLD=CHKJ3007E: The Tag Library Descriptor File, {0}, is missing.
-#EXPLANATION None.
-#USERACTION None.
-
-# --------------------------------
-ERROR_INVALID_WAR_FILE=CHKJ3008E: Missing or invalid WAR file.
-#EXPLANATION None.
-#USERACTION None.
-
-# --------------------------------
-MESSAGE_WAR_VALIDATION_BROKEN_FILTER_MAPPING=CHKJ3009E: The filter mapping \"{0}\" refers to a filter that is not defined.
-#EXPLANATION None.
-#USERACTION None.
-
-# --------------------------------
-MESSAGE_WAR_VALIDATION_INVALID_WELCOME_FILE=CHKJ3010W: Welcome Files cannot begin or end with a /.
-#EXPLANATION None.
-#USERACTION None.
-
-# --------------------------------
-WAR_DD_PARSE_LINECOL=CHKJ1009E: Parsing Error: {0}.
-#EXPLANATION None.
-#USERACTION None.
-
-# --------------------------------
-WAR_DD_PARSE_LINE=CHKJ1010E: Deployment Descriptor Parsing error.
-#EXPLANATION None.
-#USERACTION None.
-
-# --------------------------------
-WAR_DD_PARSE_NOINFO=CHKJ1011E: Deployment Descriptor Parsing error.
-#EXPLANATION None.
-#USERACTION None.
-
-# --------------------------------
-WAR_DD_CANNOT_OPEN_DD=CHKJ1012E: Cannot open the deployment descriptor. Validation cannot complete.
-#EXPLANATION None.
-#USERACTION None.
-
-# --------------------------------
-MESSAGE_WAR_VALIDATION_INVALID_URL=CHKJ3013E: The URL Mapping \"{0}\" is invalid.
-#EXPLANATION None.
-#USERACTION None.
-
-# --------------------------------
-MESSAGE_WAR_VALIDATION_INVALID_SEC_ROLE=CHKJ3014E: Invalid Security role-link: {0}.
-#EXPLANATION None.
-#USERACTION None.
-
-# --------------------------------
-MESSAGE_WAR_VALIDATION_INVALID_HTTP_CMD=CHKJ3015E: Invalid HTTP method: {0}.
-#EXPLANATION None.
-#USERACTION None.
-
-# --------------------------------
-MESSAGE_WAR_VALIDATION_INVALID_TRANSPORT=CHKJ3016E: Invalid Transport Gurarantee. Valid values are \"NONE\", \"INTEGRAL\", or \"CONFIDENTIAL\".
-
-# --------------------------------
-MESSAGE_WAR_VALIDATION_INVALID_JSPFILE_REF=CHKJ3018E: The jsp-file \"{0}\" referenced by servlet {1} must be a full absolute path.
-
-
-# --------------------------------
-ERROR_EAR_INVALID_CONTEXT_ROOT=CHKJ3017E: Web Project: {0} is mapped to an invalid Context root: {1} in EAR Project: {2}.
-#EXPLANATION None.
-#USERACTION None.
-
-# --------------------------------
-MESSAGE_WAR_VALIDATION_INVALID_ERROR_PAGE=IWAE0001E CHKJ3019E: The Location of the Error Page Must Begin with a /.
-#EXPLANATION None.
-#USERACTION None.
-
-MESSAGE_WAR_VALIDATION_INVALID_SEC_ROLE_NAME=CHKJ3020E: Invalid Security role-name: {0}.
-#EXPLANATION None.
-#USERACTION None.
-
-MESSAGE_WAR_VALIDATION_INVALID_AUTH_METHOD=CHKJ3021E: Invalid auth method. Valid values are: \"BASIC\", \"DIGEST\", \"FORM\", or \"CLIENT-CERT\".
-#EXPLANATION None.
-#USERACTION None.
-
-MESSAGE_WAR_VALIDATION_IGNORE_FORM_LOGIN=CHKJ3022E: Authentication method is {0}. The form-login-config values will be ignored unless using FORM authentication method.
-#EXPLANATION None.
-#USERACTION None.
-
-MESSAGE_WAR_VALIDATION_RES_AUTH_REQUIRED_22=CHKJ3023E: Resource ref {0} must contain res-auth of "SERVLET" or "CONTAINER".
-MESSAGE_WAR_VALIDATION_RES_AUTH_REQUIRED_23=CHKJ3024E: Resource ref {0} must contain res-auth of "Application" or "Container".
-MESSAGE_WAR_VALIDATION_RES_AUTH_INVALID_22=CHKJ3025E: \"Application\" is not a valid value for.res-auth in a 2.2 level deployment descriptor. Use \"SERVLET\" instead.
-MESSAGE_WAR_VALIDATION_RES_AUTH_INVALID_23=CHKJ3026E: \"SERVLET\" is not a valid value for.res-auth in a 2.2 level deployment descriptor. Use \"Application\" instead.
-
-MESSAGE_WAR_VALIDATION_INVALID_EXCEPTION_TYPE=CHKJ3027E: Invalid Exception Type {0}. The exception type must contain a fully qualified class name of a Java exception type.
-#EXPLANATION None.
-#USERACTION None.
-
-
-
-# --------------------------------
-MESSAGE_WAR_VALIDATION_DUPLICATE_MAPPING=CHKJ4010W: Duplicate URL mapping {0}.
-#EXPLANATION None.
-#USERACTION None.
-
-# --------------------------------
-MESSAGE_WAR_VALIDATION_DUPLICATE_SERVLET=CHKJ4011W: Duplicate Servlet Entry {0}.
-#EXPLANATION None.
-#USERACTION None.
-
-# --------------------------------
-MESSAGE_WAR_VALIDATION_SESSION_TIMEOUT=CHKJ4012W: Session Timeout is not valid.
-#EXPLANATION None.
-#USERACTION None.
-
-# --------------------------------
-MESSAGE_WAR_VALIDATION_DUPLICATE_ENTRY=CHKJ4013W: Duplicate Entry {0}.
-#EXPLANATION None.
-#USERACTION None.
-
-# --------------------------------
-MESSAGE_WAR_VALIDATION_EMPTY_ENTRY=CHKJ4014W: Empty Entry {0}.
-
-# --------------------------------
-MESSAGE_WAR_VALIDATION_DUPLICATE_FILTER=CHKJ4015W: Duplicate Filter Entry {0}.
-#EXPLANATION None.
-#USERACTION None.
-
-# --------------------------------
-MESSAGE_WAR_VALIDATION_DUPLICATE_EJB_REF=CHKJ4016W: Duplicate ejb-ref element named {0}.
-#EXPLANATION None.
-#USERACTION None.
-
-# This was missing. It's defined in constants...
-ERROR_EAR_UNCONTAINED_MODULE_FILE_EXCEPTION=CHKJ4017W: ERROR EAR UNCONTAINED MODULE FILE EXCEPTION
-
-# --------------------------------
-MESSAGE_WAR_VALIDATION_INVALID_ERROR_CODE=IWAE0036E CHKJ4018W: Unknown Error Code: {0}. error-code must contain a valid HTTP status code.
-#EXPLANATION None.
-#USERACTION None.
-
-# --------------------------------
-MESSAGE_WAR_VALIDATION_INVALID_RES_SHARING_SCOPE=CHKJ4019W: Invalid res-sharing-scope; valid values are \"Shareable\" or \"Unshareable\".
-#USERACTION None.
-
-MESSAGE_WAR_VALIDATION_INVALID_ENV_ENTRY=CHKJ4020W: Invalid Environment Entry Type. Valid values are \"java.lang.TYPE\", where TYPE is one of the following: Boolean, Byte, Character, String, Short, Integer, Long, Float, or Double."
-#USERACTION None.
-
-MESSAGE_WAR_VALIDATION_MISSING_WLP_PROJECT=CHKJ4021W: Missing Web Library Project ({0}). Check the properties of this project to fix this problem.
-MESSAGE_WAR_VALIDATION_CONFLICTING_WLP_PROJECT=CHKJ4022W: The Web Library Project JAR ({0}) conflicts with an actual JAR in the WEB-INF/lib directory.
-MSG_SERVER_TARGET_MISMATCH=CHKJ4023W: The target server of the Web Library Project ({1}) does not match that of this Web Project ({0}). Run validation on the Web Project if you think that is not the case.
-MESSAGE_URL_PATTERN_END_WITH_CARRAIGE_RETURN=The URL pattern string "{0}" ends with a invalid carraige return for servlet {1}
-
-# --------------------------------
-MESSAGE_WAR_VALIDATION_INVALID_EJB_REF_TYPE=CHKJ4023W: ejb-ref-type must be 'Entity' or 'Session'.
-#EXPLANATION None.
-#USERACTION None.
-
-# --------------------------------
-ERROR_EAR_MISSING_EJB_ROLE=CHKJ2827W: ''security-role-ref'' element {0} defines the ''role-link'' element but no ''security-role'' elements in the application descriptor.
-#EXPLANATION None.
-#USERACTION None.
-
-of_Type_Security_Role_Name_6=of Type Security Role Name
-Web_Archive_Validator_8=Web Archive Validator
-of_Type_Role_Name_19=of Type Role Name
-of_Type_Parameter_Name_25=of Type Parameter Name
-of_Type_Parameter_Value_26=of Type Parameter Value
-of_Type_Parameter_Name_32=of Type Parameter Name
-of_Type_Parameter_Value_33=of Type Parameter Value
-of_Type_Parameter_Name_39=of Type Parameter Name
-of_Type_Parameter_Value_40=of Type Parameter Value
-of_Type_ejb-ref-name_44=of Type ejb-ref-name
-of_Type_Error_Location_47=of Type Error Location
-of_Type_Error_Location_49=of Type Error Location
-of_Type_Mime_Extension_54=of Type Mime Extension
-of_Type_Mime_Type_55=of Type Mime Type
-of_Type_Mime_Extension___56=of Type Mime Extension:
-of_Type_Web_Resource_Collection_64=of Type Web Resource Collection
-of_Type_Filter_Name_66=of Type Filter Name
-Invalid_URL_70=Invalid URL
-Invalid_URL_75=Invalid URL
-of_Type_Servlet_Name_77=of Type Servlet Name
-of_Type_Taglib_80=of Type Taglib
-of_Type_TagLib___81=of Type TagLib:
-of_Type_Web_Resource_Name_84=of Type Web Resource Name
-of_Type_Welcome_File_Name__87=of Type Welcome File Name
-of_Type_Env_Entry_Name___88=of Type Environment Entry Name
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2eeCorePlugin/org/eclipse/jst/j2ee/core/internal/plugin/EclipseEJBModelExtenderProvider.java b/plugins/org.eclipse.jst.j2ee.core/j2eeCorePlugin/org/eclipse/jst/j2ee/core/internal/plugin/EclipseEJBModelExtenderProvider.java
deleted file mode 100644
index e1f07b1d9..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2eeCorePlugin/org/eclipse/jst/j2ee/core/internal/plugin/EclipseEJBModelExtenderProvider.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-/*
- * Created on Oct 29, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.jst.j2ee.core.internal.plugin;
-
-import java.util.SortedSet;
-import java.util.TreeSet;
-
-import org.eclipse.core.internal.runtime.Assert;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.jem.util.RegistryReader;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jst.j2ee.internal.EjbModuleExtensionHelper;
-import org.eclipse.jst.j2ee.internal.IEJBModelExtenderProvider;
-import org.eclipse.wst.common.frameworks.internal.enablement.Identifiable;
-import org.eclipse.wst.common.frameworks.internal.enablement.IdentifiableComparator;
-
-/**
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public class EclipseEJBModelExtenderProvider extends RegistryReader implements IEJBModelExtenderProvider {
-
- private SortedSet extensionHelpers;
-
- /*
- * static final String EXTENSION_NAME = "e"; //$NON-NLS-1$ static final
- * String ELEMENT_J2EEMODULE_EXTENSION = "j2eeModuleExtensionHelper";
- * //$NON-NLS-1$ static final String MODULE_EXTENSION_CLASS =
- * "extensionClass"; //$NON-NLS-1$
- */
-
- private static EclipseEJBModelExtenderProvider INSTANCE = null;
-
- public static class Descriptor implements Identifiable {
-
- public static final String EJB_MODEL_EXTENDER = "ejbModelExtender"; //$NON-NLS-1$
-
- public static final String ATT_ID = "id"; //$NON-NLS-1$
-
- public static final String ATT_EJB_EXTENSION_CLASS = "extensionClass"; //$NON-NLS-1$
-
- private static int loadOrderCounter = 0;
-
- private final String id;
-
- private final int loadOrder;
-
- private IConfigurationElement element;
-
- private EjbModuleExtensionHelper instance;
-
- public Descriptor(IConfigurationElement element) {
- Assert.isLegal(EJB_MODEL_EXTENDER.equals(element.getName()),
- "Invalid IConfigurationElement used to create EclipseEJBModelExtenderProvider.Descriptor."); //$NON-NLS-1$
- this.element = element;
- this.id = this.element.getAttribute(ATT_ID);
- this.loadOrder = loadOrderCounter++;
- }
-
- public String getID() {
- return this.id;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.wst.common.frameworks.internal.enablement.Identifiable#getLoadOrder()
- */
- public int getLoadOrder() {
- return loadOrder;
- }
-
- public EjbModuleExtensionHelper getInstance() {
- try {
- if (instance == null)
- instance = (EjbModuleExtensionHelper) element
- .createExecutableExtension(ATT_EJB_EXTENSION_CLASS);
- } catch (CoreException e) {
- Logger.getLogger().logError(e);
- }
- return instance;
- }
- }
-
- protected EclipseEJBModelExtenderProvider() {
- super(J2EECorePlugin.PLUGIN_ID, Descriptor.EJB_MODEL_EXTENDER);
- }
-
- public static EclipseEJBModelExtenderProvider getInstance() {
- if (INSTANCE == null) {
- INSTANCE = new EclipseEJBModelExtenderProvider();
- INSTANCE.readRegistry();
- }
- return INSTANCE;
- }
-
- /**
- * readElement() - parse and deal w/ an extension like: <earModuleExtension
- * extensionClass = "com.ibm.etools.web.plugin.WebModuleExtensionImpl"/>
- */
- public boolean readElement(IConfigurationElement element) {
- if (!element.getName().equals(Descriptor.EJB_MODEL_EXTENDER)) return false;
-
- addModuleExtension(new Descriptor(element));
- return true;
- }
-
- /**
- * @param descriptor
- */
- private void addModuleExtension(Descriptor descriptor) {
- getExtensionHelpers().add(descriptor);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.j2ee.internal.core.moduleextension.helper.IEJBModelExtenderProvider#getEJBModuleExtension(java.lang.Object)
- */
- public EjbModuleExtensionHelper getEJBModuleExtension(Object context) {
- //IProject project = null; // TODO MDE Get the project using Project Utilities (add depend to emf.workbench ?)
- if (getExtensionHelpers().isEmpty())
- return null;
- Descriptor descriptor = (Descriptor) getExtensionHelpers().first();
- if(descriptor != null)
- return descriptor.getInstance();
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.j2ee.internal.core.moduleextension.helper.IEJBModelExtenderProvider#hasEJBModuleExtension(java.lang.Object)
- */
- public boolean hasEJBModuleExtension(Object context) {
- return false;
- }
-
- /**
- * @return Returns the extensionHelpers.
- */
- protected SortedSet getExtensionHelpers() {
- if (extensionHelpers == null) extensionHelpers = new TreeSet(IdentifiableComparator.getInstance());
- return extensionHelpers;
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2eeCorePlugin/org/eclipse/jst/j2ee/core/internal/plugin/J2EECorePlugin.java b/plugins/org.eclipse.jst.j2ee.core/j2eeCorePlugin/org/eclipse/jst/j2ee/core/internal/plugin/J2EECorePlugin.java
deleted file mode 100644
index 57e368c84..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/j2eeCorePlugin/org/eclipse/jst/j2ee/core/internal/plugin/J2EECorePlugin.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.core.internal.plugin;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jem.util.logger.proxyrender.DefaultPluginTraceRenderer;
-import org.eclipse.jst.j2ee.internal.IEJBModelExtenderManager;
-import org.osgi.framework.BundleContext;
-
-/*
- * Created on Nov 25, 2003
- *
- * To change the template for this generated file go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-/**
- * @author vijayb
- *
- * To change the template for this generated type comment go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class J2EECorePlugin extends Plugin {
- public static final String PLUGIN_ID = "org.eclipse.jst.j2ee.core"; //$NON-NLS-1$
- private static J2EECorePlugin inst = null;
- protected static Logger logger = null;
- /**
- * @param descriptor
- */
- public J2EECorePlugin() {
- super();
- if (inst==null) inst = this;
- }
-
- public void start(BundleContext context) throws Exception {
- super.start(context);
- IEJBModelExtenderManager.INSTANCE.setProvider(EclipseEJBModelExtenderProvider.getInstance());
- }
-
- public static J2EECorePlugin getPlugin(){
- return inst;
- }
-
- public static String getPluginID() {
- return PLUGIN_ID;
- }
-
- public Logger getMsgLogger() {
- if (logger == null) {
- logger = Logger.getLogger(getPluginID());
- setRenderer(logger);
- }
- return logger;
- }
-
- /**
- * @param aLogger
- */
- protected void setRenderer(Logger aLogger) {
- new DefaultPluginTraceRenderer(aLogger);
- }
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/ejb.properties b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/ejb.properties
deleted file mode 100644
index cc6195348..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/ejb.properties
+++ /dev/null
@@ -1,51 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 2004 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
-###############################################################################
-Ejb_provider_plugin_prob=Ejb provider plugin startup - Problem initializing plugin
-Ejbext_provider_plugin_prob=Ejbext provider plugin startup - Problem initializing plugin
-EJB_UI_STARTUP=EJB UI STARTUP
-EJB_Path__=EJB Path:
-Size__=Size:
-Edit_the_bean_class=Edit the bean class
-EJB_Tree=EJB Tree
-EJB_Jar_Components=EJB JAR Components
-EJB_Models=EJB Models
-EJB_Features=EJB Features
-Exception_loading_plugin=Exception loading plugin
-Create=Create
-Create_Attribute...=Create Attribute...
-createAttribute=createAttribute
-Edit=Edit
-Add_To_Key=Add To Key
-delete=delete
-Unknown=Unknown
-Remove_From_Key=Remove From Key
-Delete=Delete
-Delete_Attribute...=Delete Attribute...
-additions=additions
-CMDS_Cannot_reflect_JavaClass_ERROR_=IWAE0068E Cannot reflect JavaClass because its name is not set for
-CMDS_CLASS_SET_FAILED_STRING_ERROR_=IWAE0069E The Java type named {0} could not be set for the {1} because its EJB is null.
-CMDS_Cannot_perform_INFO_=IWAE0070I Cannot perform the command request because the EJB is null for the command:
-CMDS_Cannot_add_the_feat_INFO_=IWAE0071I Cannot add the feature to the key because the feature is null for the command:
-CMDS_Cannot_remove_the_INFO_=IWAE0072I Cannot remove the feature from the key because the feature is null for the command:
-CMDS_Initializing_UI_=-- Java Generation :: Initializing...
-CMDS_Generating_UI_=-- Java Generation :: Generating...
-CMDS_Finishing_UI_=-- Java Generation :: Finishing...
-CMDS_Analyzing_UI_=-- Java Generation :: Analyzing...
-CMDS_Cancelled_WARNING_=Cancelled
-CMDS_Multiple_EnterpriseBean_Up_INFO_=IWAE0073I Multiple EnterpriseBean Updates
-CMDS_CREATING_TASK_UI_=Creating bean named "{0}"
-CMDS_UPDATING_TASK_UI_=Updating bean named "{0}"
-CMDS_DELETING_TASK_UI_=Deleting bean named "{0}"
-CMDS_Updating_Metadata..._UI_=-- Updating Metadata...
-Updating=Updating
-New_key_attribute_added_wi=New key attribute added without attribute helper.
-Error_has_occurred=Error has occurred
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/j2eeplugin.properties b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/j2eeplugin.properties
deleted file mode 100644
index 953194431..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/j2eeplugin.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 2004 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
-###############################################################################
-Could_not_find_root_object_ERROR_=IWAE0074E Could not find root object in resource: {0}
-An_error_occurred_while_sa_ERROR_=IWAE0075E An error occurred while saving.
-Cannot_run_J2EEUIWorkingCo_ERROR_=IWAE0076E Cannot run J2EEUIWorkingCopyManager operation because the Workspace tree is locked.
-Unable_to_save_read-only_f_ERROR_=IWAE0077E Unable to save read-only file: {0}
-The_following_resources_ne_UI_=The following resources need to be saved but are currently shared, do you want to save now?
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/j2eexml.properties b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/j2eexml.properties
deleted file mode 100644
index 492f7aa01..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/j2eexml.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 2004 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
-###############################################################################
-rar_dtd_not_found_EXC_=IWAE0078E RAR file support: DTD file not found: {0}
-io_ex_saving_EXC_=IWAE0079E IOException occurred saving {0}
-could_not_create_file_EXC_=IWAE0080E Could not create the file named {0}
-unsupported_encoding_EXC_=IWAE0081E {0} is not a supported encoding on this platform
-unsupported_type_EXC_=IWAE0082E Type is unrecognized or not yet supported: PUBLIC_ID={0} SYSTEM_ID={1}
-dtd_not_found_EXC_=IWAE0083E Could not parse xml because the resolved resource "{0}" could not be found in classpath
-must_be_boolean_EXC_=IWAE0084E Exception occurred reading {0}. Value must be a boolean: String value = {1}
-must_be_int_EXC_=IWAE0085E Exception occurred reading {0}. Value must be an integer: String value = {1}
-empty_collection_EXC_=IWAE0086E Empty collection for {0} in {1}
-missing_req_field_EXC_=IWAE0087E Missing required field {0} in {1}
-An_Exception_occurred_whil_EXC_=IWAE0088E An Exception occurred while writing xml
-Not_supported_in_this_rele_EXC_=IWAE0089E Not supported in this release
-RAR_file_support__IO_excep_EXC_=IWAE0090E RAR file support: IO exception in custom DTD resolver.
-An_IO_Exception_occurred_w_EXC_=IWAE0091E An IO Exception occurred while writing xml
-Failure_occurred_reading_x_EXC_=IWAE0092E Failure occurred reading xml:
-Invalid_value_for__EXC_=IWAE0093E Invalid value for
-Valid_values_are___EXC_=IWAE0094E Valid values are:
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/mofj2ee.properties b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/mofj2ee.properties
deleted file mode 100644
index 8745d941a..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/mofj2ee.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 2004 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
-###############################################################################
-Stack_trace_of_nested_exce=Stack trace of nested exception:
-ERROR=Error:
-WARNING=Warning:
-INFO=Info:
-DEFAULT_COMPLETED_STATUS_MSG=Migration was completed for {0}.
-DEFAULT_NOT_NEEDED_STATUS_MSG=Migration was not required for {0}.
-DEFAULT_NOT_POSSIBLE_STATUS_MSG=Migration was not possible for {0}.
-DEFAULT_ERROR_STATUS_MSG=IWAE0100E Error migrating {0}.
-REMOVED_LOCAL_CLIENT_MSG=Removed local client view for EJB {0}.
-REMOVED_ACCESS_INTENTS_MSG=Removed {0} 1.1 method access intent(s) from CMP bean {1}.
-REMOVED_ISOLATION_LEVELS_MSG=Removed {0} 1.1 method isolation level(s) from CMP bean {1}.
-CONVERTED_FINDER_MSG=Converted finder descripter for {0} in CMP bean {1}. Use the EJB editor to update the query EJB QL.
-UNNAMED_EJB=<Unnamed CMP bean>
-CONVERTED_QUERY_DESCRIPTION=Converted from IBM version 1.1 extensions.
-MIGRATED_DEFAULT_DATASOURCE_JAR_MSG=Migrated default Datasource binding to a default CMP Connection Factory binding for EJB JAR \"{0}\".
-MIGRATED_DEFAULT_DATASOURCE_MSG=Migrated default Datasource binding to a default CMP Connection Factory binding for EJB JAR.
-J2EE_VERSION_NULL_ERROR=Unable to get J2EE version of object because it is not contained by a document.
-J2EE_VERSION_PROXY_ERROR=Unable to get J2EE version of referenced object because the proxy cannot be resolved. Check the ids in the deployment descriptor files. HREF = {0}.
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/application/Application.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/application/Application.java
deleted file mode 100644
index adfabde41..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/application/Application.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.application;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.jst.j2ee.common.CompatibilityDescriptionGroup;
-import org.eclipse.jst.j2ee.common.SecurityRole;
-
-/**
- * The application element is the root element of a J2EE application deployment descriptor.
-
- */
-public interface Application extends CompatibilityDescriptionGroup{
-
-
-public boolean containsSecurityRole(String name);
-/**
- * Returns the first module matching the specified uri and altDD
- */
-public Module getModule(String uri, String altDD);
-
-/**
- * Returns the first module matching the specified uri
- * @deprecated preferably use {@link #getModule(String, String)} or {@link #getFirstModule(String)}
- * There may be multiple modules with the same uri but different alt-dds
- **/
-public Module getModule(String uri);
-/**
- *This returns the j2ee version id. Compare with J2EEVersionConstants to determine j2ee level
- */
-public int getJ2EEVersionID() throws IllegalStateException ;
-/**
- * This returns the module version id. Compare with J2EEVersionConstants to determine module level
- */
-public int getVersionID() throws IllegalStateException ;
-
-/**
- * Returns the first module matching the specified uri
- */
-public Module getFirstModule(String uri);
-/**
- * Returns the first module where the alt dd matches the specified uri
- */
-public Module getModuleHavingAltDD(String uri);
-public SecurityRole getSecurityRoleNamed(String name);
-/**
- * Return boolean indicating if this Application was populated from an Applcation1.2 compliant descriptor
- * @return boolean
- * @deprecated Use getVersionID() to determine module level
- */
-public boolean isVersion1_2Descriptor();
-/**
- * Return boolean indicating if this Application was populated from an Application1.3 compliant descriptor
- * @return boolean
- * @deprecated Use getVersionID() to determine module level
- */
-public boolean isVersion1_3Descriptor();
- /**
- * Returns the value of the '<em><b>Version</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Version</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * @version J2EE1.4
- * The required value for the version is 1.4.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Version</em>' attribute.
- * @see #setVersion(String)
- * @see org.eclipse.jst.j2ee.internal.application.ApplicationPackage#getApplication_Version()
- * @model
- * @generated
- */
- String getVersion();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.j2ee.internal.application.Application#getVersion <em>Version</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Version</em>' attribute.
- * @see #getVersion()
- * @generated
- */
- void setVersion(String value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The list of SecurityRoles references
- * Contains the definitions of security roles which are
- * global to the application.
- */
- EList getSecurityRoles();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The list of Modules references
- */
- EList getModules();
-
-}
-
-
-
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/application/ApplicationFactory.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/application/ApplicationFactory.java
deleted file mode 100644
index 5079e3d24..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/application/ApplicationFactory.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.application;
-
-import org.eclipse.emf.ecore.EFactory;
-import org.eclipse.jst.j2ee.internal.application.ApplicationPackage;
-/**
- * @generated
- */
-public interface ApplicationFactory extends EFactory{
- /**
- * The singleton instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- ApplicationFactory eINSTANCE = new org.eclipse.jst.j2ee.internal.application.impl.ApplicationFactoryImpl();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return Application value
- */
- Application createApplication();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return Module value
- */
- Module createModule();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return WebModule value
- */
- WebModule createWebModule();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return JavaClientModule value
- */
- JavaClientModule createJavaClientModule();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return EjbModule value
- */
- EjbModule createEjbModule();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return ConnectorModule value
- */
- ConnectorModule createConnectorModule();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- ApplicationPackage getApplicationPackage();
-
-}
-
-
-
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/application/ApplicationResource.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/application/ApplicationResource.java
deleted file mode 100644
index 1a8f4daff..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/application/ApplicationResource.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.application;
-
-import org.eclipse.jst.j2ee.internal.common.XMLResource;
-
-public interface ApplicationResource extends XMLResource {
-public Application getApplication() ;
-}
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/application/ConnectorModule.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/application/ConnectorModule.java
deleted file mode 100644
index 2ced5382c..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/application/ConnectorModule.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.application;
-
-
-/**
- * Specifies the URI of a resource adapter archive file, relative to the top level of the application package.
- */
-public interface ConnectorModule extends Module{
- //ConnectorModule
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/application/EjbModule.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/application/EjbModule.java
deleted file mode 100644
index aedaeafbc..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/application/EjbModule.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.application;
-
-
-/**
- * Specifies the URI of a ejb-jar, relative to the top level of the application package.
-
- */
-public interface EjbModule extends Module{
- //EjbModule
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/application/JavaClientModule.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/application/JavaClientModule.java
deleted file mode 100644
index c0a1a846e..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/application/JavaClientModule.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.application;
-
-
-/**
- * specifies the URI of a java application client module, relative to the top level of the application package.
-
- */
-public interface JavaClientModule extends Module{
- //JavaClientModule
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/application/Module.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/application/Module.java
deleted file mode 100644
index 8735af6b2..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/application/Module.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.application;
-
-import org.eclipse.emf.ecore.EObject;
-/**
- * The module element represents a single J2EE module and contains an ejb, java, or web element, which indicates the module type and contains a path to the module file, and an optional alt-dd element, which specifies an optional URI to the post-assembly version of the deployment descriptor. The application deployment descriptor must have one module element for each J2EE module in the application package.
-
- */
-public interface Module extends EObject{
-
-public boolean isConnectorModule();
-public boolean isEjbModule();
-public boolean isJavaModule();
-public boolean isWebModule();
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the Uri attribute
- * Specifies the URI of a module, relative to the top level of the application
- * package.
-
- */
- String getUri();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param value The new value of the Uri attribute
- */
- void setUri(String value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the AltDD attribute
- * The alt-dd element specifies an optional URI to the post-assembly version of
- * the deployment descriptor file for a particular J2EE module. The URI must
- * specify the full pathname of the deployment descriptor file relative to the
- * application's root directory. If alt-dd is not specified, the deployer must
- * read the deployment descriptor from the default location and file name required
- * by the respective component specification.
-
- */
- String getAltDD();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param value The new value of the AltDD attribute
- */
- void setAltDD(String value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The Application reference
- */
- Application getApplication();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param l The new value of the Application reference
- */
- void setApplication(Application value);
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/application/WebModule.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/application/WebModule.java
deleted file mode 100644
index 70ee2d7da..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/application/WebModule.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.application;
-
-
-/**
- * Contains the web-uri and context-root of a web application module.
-
- */
-public interface WebModule extends Module{
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the ContextRoot attribute
- * The context-root element specifies the context root of a web application
-
- */
- String getContextRoot();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param value The new value of the ContextRoot attribute
- */
- void setContextRoot(String value);
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/client/ApplicationClient.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/client/ApplicationClient.java
deleted file mode 100644
index 5521dc180..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/client/ApplicationClient.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.client;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jst.j2ee.common.CompatibilityDescriptionGroup;
-
-
-/**
- * The application-client element is the root element of an application client deployment descriptor. The application client deployment descriptor describes the EJB components and external resources referenced by the application client.
-
- */
-public interface ApplicationClient extends CompatibilityDescriptionGroup{
-
-public String getCallbackHandlerClassName();
-/**
- * Return boolean indicating if this Application Client was populated from an Application Client 1.2 compliant descriptor
- * @return boolean
- * @deprecated Use getVersionID() to determine module level
- */
-public boolean isVersion1_2Descriptor();
-/**
- * Return boolean indicating if this Application client was populated from an Application Client 1.3 compliant descriptor
- * @return boolean
- * @deprecated Use getVersionID() to determine module level
- */
-public boolean isVersion1_3Descriptor();
-/**
- * @deprecated Use getVersionID() to determine module level
- * */
-public boolean isVersion1_4Descriptor();
-public void setCallbackHandlerClassName(String callbackHandlerClassName);
- /**
- * Returns the value of the '<em><b>Version</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Version</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * @version J2EE1.4
- * The required value for the version is 1.4.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Version</em>' attribute.
- * @see #setVersion(String)
- * @see org.eclipse.jst.j2ee.internal.client.ClientPackage#getApplicationClient_Version()
- * @model
- * @generated
- */
- String getVersion();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.j2ee.internal.client.ApplicationClient#getVersion <em>Version</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Version</em>' attribute.
- * @see #getVersion()
- * @generated
- */
- void setVersion(String value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The list of ResourceRefs references
- * Contains declarations of the application clients's references to an external
- * resources.
- */
- EList getResourceRefs();
-
- /**
- This returns the module version id. Compare with J2EEVersionConstants to determine module level
- */
- public int getVersionID() throws IllegalStateException ;
- /**
- *This returns the j2ee version id. Compare with J2EEVersionConstants to determine j2ee level
- */
- public int getJ2EEVersionID() throws IllegalStateException ;
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The list of EnvironmentProps references
- * The env-entry element contains the declaration of an application client's
- * environment entries. Each declaration consists of an optional description, the
- * name of the environment entry, and an optional value.
- */
- EList getEnvironmentProps();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The list of EjbReferences references
- * Contains a list of ejb-ref elements used for the declaration of a reference to
- * an enterprise
- * bean's home.
- */
- EList getEjbReferences();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The list of ResourceEnvRefs references
- * The resource-env-ref element contains a declaration of an application client's
- * reference to an administered object associated with a resource in the
- * application client's environment. It consists of an optional
- * description, the resource environment reference name, and an indication of the
- * resource environment reference type expected by the application client code.
- *
- * Used in: application-client
- *
- * Example:
- *
- * <resource-env-ref>
- * <resource-env-ref-name>jms//StockQueue<//resource-env-ref-name>
- * <resource-env-ref-type>javax.jms.Queue<//resource-env-ref-type>
- * <//resource-env-ref>
-
- */
- EList getResourceEnvRefs();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The CallbackHandler reference
- * A class provided by the application. The class must have a no args constructor
- * and must implement the javax.security.auth.callback.CallbackHandler interface.
- * The class will be instantiated by the application client container and used by
- * the container to collect authentication information from the user.
- */
- JavaClass getCallbackHandler();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param l The new value of the CallbackHandler reference
- */
- void setCallbackHandler(JavaClass value);
-
- /**
- * Returns the value of the '<em><b>Service Refs</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jst.j2ee.internal.webservice.wsclient.ServiceRef}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Service Refs</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * @version J2EE1.4
- * <!-- end-model-doc -->
- * @return the value of the '<em>Service Refs</em>' containment reference list.
- * @see org.eclipse.jst.j2ee.internal.client.ClientPackage#getApplicationClient_ServiceRefs()
- * @model type="org.eclipse.jst.j2ee.internal.webservice.wsclient.ServiceRef" containment="true"
- * @generated
- */
- EList getServiceRefs();
-
- /**
- * Returns the value of the '<em><b>Message Destination Refs</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jst.j2ee.internal.common.MessageDestinationRef}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Message Destination Refs</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * @version J2EE1.4
- * The message-destination-ref-name element specifies the
- * name of a message destination reference; its value is
- * the message destination reference name used in the
- * application client code. The name is a JNDI name
- * relative to the java:comp/env context and must be unique
- * within an application client.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Message Destination Refs</em>' containment reference list.
- * @see org.eclipse.jst.j2ee.internal.client.ClientPackage#getApplicationClient_MessageDestinationRefs()
- * @model type="org.eclipse.jst.j2ee.internal.common.MessageDestinationRef" containment="true"
- * @generated
- */
- EList getMessageDestinationRefs();
-
- /**
- * Returns the value of the '<em><b>Message Destinations</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jst.j2ee.internal.common.MessageDestination}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Message Destinations</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * @version J2EE1.4
- * <!-- end-model-doc -->
- * @return the value of the '<em>Message Destinations</em>' containment reference list.
- * @see org.eclipse.jst.j2ee.internal.client.ClientPackage#getApplicationClient_MessageDestinations()
- * @model type="org.eclipse.jst.j2ee.internal.common.MessageDestination" containment="true"
- * @generated
- */
- EList getMessageDestinations();
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/client/ApplicationClientResource.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/client/ApplicationClientResource.java
deleted file mode 100644
index 85a248810..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/client/ApplicationClientResource.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.client;
-
-import org.eclipse.jst.j2ee.internal.common.XMLResource;
-
-public interface ApplicationClientResource extends XMLResource {
-public ApplicationClient getApplicationClient() ;
-}
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/client/ClientFactory.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/client/ClientFactory.java
deleted file mode 100644
index a45e2825e..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/client/ClientFactory.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.client;
-
-import org.eclipse.emf.ecore.EFactory;
-import org.eclipse.jst.j2ee.internal.client.ClientPackage;
-/**
- * @generated
- */
-public interface ClientFactory extends EFactory{
- /**
- * The singleton instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- ClientFactory eINSTANCE = new org.eclipse.jst.j2ee.internal.client.impl.ClientFactoryImpl();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return ApplicationClient value
- */
- ApplicationClient createApplicationClient();
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- ClientPackage getClientPackage();
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/client/ResAuthApplicationType.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/client/ResAuthApplicationType.java
deleted file mode 100644
index 291ae6c22..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/client/ResAuthApplicationType.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.client;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.common.util.AbstractEnumerator;
-
-
-
-public final class ResAuthApplicationType extends AbstractEnumerator{
- /**
- * The '<em><b>Application</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #APPLICATION_LITERAL
- * @model name="Application"
- * @generated
- * @ordered
- */
- public static final int APPLICATION = 0;
-
- /**
- * The '<em><b>Container</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #CONTAINER_LITERAL
- * @model name="Container"
- * @generated
- * @ordered
- */
- public static final int CONTAINER = 1;
-
- /**
- * The '<em><b>Application</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>Application</b></em>' literal object isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @see #APPLICATION
- * @generated
- * @ordered
- */
- public static final ResAuthApplicationType APPLICATION_LITERAL = new ResAuthApplicationType(APPLICATION, "Application"); //$NON-NLS-1$
-
- /**
- * The '<em><b>Container</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>Container</b></em>' literal object isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @see #CONTAINER
- * @generated
- * @ordered
- */
- public static final ResAuthApplicationType CONTAINER_LITERAL = new ResAuthApplicationType(CONTAINER, "Container"); //$NON-NLS-1$
-
- /**
- * An array of all the '<em><b>Res Auth Application Type</b></em>' enumerators.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private static final ResAuthApplicationType[] VALUES_ARRAY =
- new ResAuthApplicationType[] {
- APPLICATION_LITERAL,
- CONTAINER_LITERAL,
- };
-
- /**
- * A public read-only list of all the '<em><b>Res Auth Application Type</b></em>' enumerators.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
-
- /**
- * Returns the '<em><b>Res Auth Application Type</b></em>' literal with the specified name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static ResAuthApplicationType get(String name) {
- for (int i = 0; i < VALUES_ARRAY.length; ++i) {
- ResAuthApplicationType result = VALUES_ARRAY[i];
- if (result.toString().equals(name)) {
- return result;
- }
- }
- return null;
- }
-
- /**
- * Returns the '<em><b>Res Auth Application Type</b></em>' literal with the specified value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static ResAuthApplicationType get(int value) {
- switch (value) {
- case APPLICATION: return APPLICATION_LITERAL;
- case CONTAINER: return CONTAINER_LITERAL;
- }
- return null;
- }
-
- /**
- * Only this class can construct instances.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private ResAuthApplicationType(int value, String name) {
- super(value, name);
- }
-
-} //ResAuthApplicationType
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/CommonFactory.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/CommonFactory.java
deleted file mode 100644
index bc4a12dcb..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/CommonFactory.java
+++ /dev/null
@@ -1,231 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.common;
-
-import org.eclipse.emf.ecore.EFactory;
-import org.eclipse.jst.j2ee.internal.common.CommonPackage;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Factory</b> for the model.
- * It provides a create method for each non-abstract class of the model.
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage
- * @generated
- */
-public interface CommonFactory extends EFactory{
- /**
- * The singleton instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- CommonFactory eINSTANCE = new org.eclipse.jst.j2ee.internal.common.impl.CommonFactoryImpl();
-
- /**
- * Returns a new object of class '<em>Ejb Ref</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Ejb Ref</em>'.
- * @generated
- */
- EjbRef createEjbRef();
-
- /**
- * Returns a new object of class '<em>Env Entry</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Env Entry</em>'.
- * @generated
- */
- EnvEntry createEnvEntry();
-
- /**
- * Returns a new object of class '<em>Resource Ref</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Resource Ref</em>'.
- * @generated
- */
- ResourceRef createResourceRef();
-
- /**
- * Returns a new object of class '<em>Security Role Ref</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Security Role Ref</em>'.
- * @generated
- */
- SecurityRoleRef createSecurityRoleRef();
-
- /**
- * Returns a new object of class '<em>Security Role</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Security Role</em>'.
- * @generated
- */
- SecurityRole createSecurityRole();
-
- /**
- * Returns a new object of class '<em>Resource Env Ref</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Resource Env Ref</em>'.
- * @generated
- */
- ResourceEnvRef createResourceEnvRef();
-
- /**
- * Returns a new object of class '<em>EJB Local Ref</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>EJB Local Ref</em>'.
- * @generated
- */
- EJBLocalRef createEJBLocalRef();
-
- /**
- * Returns a new object of class '<em>Run As Specified Identity</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Run As Specified Identity</em>'.
- * @generated
- */
- RunAsSpecifiedIdentity createRunAsSpecifiedIdentity();
-
- /**
- * Returns a new object of class '<em>Identity</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Identity</em>'.
- * @generated
- */
- Identity createIdentity();
-
- /**
- * Returns a new object of class '<em>Icon Type</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Icon Type</em>'.
- * @generated
- */
- IconType createIconType();
-
- /**
- * Returns a new object of class '<em>Display Name</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Display Name</em>'.
- * @generated
- */
- DisplayName createDisplayName();
-
- /**
- * Returns a new object of class '<em>Message Destination Ref</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Message Destination Ref</em>'.
- * @generated
- */
- MessageDestinationRef createMessageDestinationRef();
-
- /**
- * Returns a new object of class '<em>Message Destination</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Message Destination</em>'.
- * @generated
- */
- MessageDestination createMessageDestination();
-
- /**
- * Returns a new object of class '<em>Param Value</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Param Value</em>'.
- * @generated
- */
- ParamValue createParamValue();
-
- /**
- * Returns a new object of class '<em>Description Group</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Description Group</em>'.
- * @generated
- */
- DescriptionGroup createDescriptionGroup();
-
- /**
- * Returns a new object of class '<em>Security Identity</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Security Identity</em>'.
- * @generated
- */
- SecurityIdentity createSecurityIdentity();
-
- /**
- * Returns a new object of class '<em>Use Caller Identity</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Use Caller Identity</em>'.
- * @generated
- */
- UseCallerIdentity createUseCallerIdentity();
-
- /**
- * Returns a new object of class '<em>Description</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Description</em>'.
- * @generated
- */
- Description createDescription();
-
- /**
- * Returns a new object of class '<em>QName</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>QName</em>'.
- * @generated
- */
- QName createQName();
-
- /**
- * Returns a new object of class '<em>Listener</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Listener</em>'.
- * @generated
- */
- Listener createListener();
-
- /**
- * Returns a new object of class '<em>Compatibility Description Group</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Compatibility Description Group</em>'.
- * @generated
- */
- CompatibilityDescriptionGroup createCompatibilityDescriptionGroup();
-
- /**
- * Returns the package supported by this factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the package supported by this factory.
- * @generated
- */
- CommonPackage getCommonPackage();
-
-} //CommonFactory
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/CompatibilityDescriptionGroup.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/CompatibilityDescriptionGroup.java
deleted file mode 100644
index 97a4b6d64..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/CompatibilityDescriptionGroup.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.common;
-
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Compatibility Description Group</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jst.j2ee.internal.common.CompatibilityDescriptionGroup#getSmallIcon <em>Small Icon</em>}</li>
- * <li>{@link org.eclipse.jst.j2ee.internal.common.CompatibilityDescriptionGroup#getLargeIcon <em>Large Icon</em>}</li>
- * <li>{@link org.eclipse.jst.j2ee.internal.common.CompatibilityDescriptionGroup#getDescription <em>Description</em>}</li>
- * <li>{@link org.eclipse.jst.j2ee.internal.common.CompatibilityDescriptionGroup#getDisplayName <em>Display Name</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getCompatibilityDescriptionGroup()
- * @model
- * @generated
- */
-public interface CompatibilityDescriptionGroup extends DescriptionGroup{
- /**
- * Returns the value of the '<em><b>Small Icon</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Small Icon</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Small Icon</em>' attribute.
- * @see #setSmallIcon(String)
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getCompatibilityDescriptionGroup_SmallIcon()
- * @model
- * @generated
- */
- String getSmallIcon();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.j2ee.internal.common.CompatibilityDescriptionGroup#getSmallIcon <em>Small Icon</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Small Icon</em>' attribute.
- * @see #getSmallIcon()
- * @generated
- */
- void setSmallIcon(String value);
-
- void setSmallIconGen(String value);
-
- /**
- * Returns the value of the '<em><b>Large Icon</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Large Icon</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Large Icon</em>' attribute.
- * @see #setLargeIcon(String)
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getCompatibilityDescriptionGroup_LargeIcon()
- * @model
- * @generated
- */
- String getLargeIcon();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.j2ee.internal.common.CompatibilityDescriptionGroup#getLargeIcon <em>Large Icon</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Large Icon</em>' attribute.
- * @see #getLargeIcon()
- * @generated
- */
- void setLargeIcon(String value);
-
- void setLargeIconGen(String value);
-
- /**
- * Returns the value of the '<em><b>Description</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Description</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Description</em>' attribute.
- * @see #setDescription(String)
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getCompatibilityDescriptionGroup_Description()
- * @model
- * @generated
- */
- String getDescription();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.j2ee.internal.common.CompatibilityDescriptionGroup#getDescription <em>Description</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Description</em>' attribute.
- * @see #getDescription()
- * @generated
- */
- void setDescription(String value);
-
- void setDescriptionGen(String value);
-
- /**
- * Returns the value of the '<em><b>Display Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Display Name</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Display Name</em>' attribute.
- * @see #setDisplayName(String)
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getCompatibilityDescriptionGroup_DisplayName()
- * @model
- * @generated
- */
- String getDisplayName();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.j2ee.internal.common.CompatibilityDescriptionGroup#getDisplayName <em>Display Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Display Name</em>' attribute.
- * @see #getDisplayName()
- * @generated
- */
- void setDisplayName(String value);
-
- void setDisplayNameGen(String value);
-
-} // CompatibilityDescriptionGroup
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/DeploymentExtension.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/DeploymentExtension.java
deleted file mode 100644
index 506a0da69..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/DeploymentExtension.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.common;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Deployment Extension</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jst.j2ee.internal.common.DeploymentExtension#getNamespace <em>Namespace</em>}</li>
- * <li>{@link org.eclipse.jst.j2ee.internal.common.DeploymentExtension#isMustUnderstand <em>Must Understand</em>}</li>
- * <li>{@link org.eclipse.jst.j2ee.internal.common.DeploymentExtension#getExtensionElements <em>Extension Elements</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getDeploymentExtension()
- * @model
- * @generated
- */
-public interface DeploymentExtension extends EObject {
- /**
- * Returns the value of the '<em><b>Namespace</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Namespace</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Namespace</em>' attribute.
- * @see #setNamespace(String)
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getDeploymentExtension_Namespace()
- * @model
- * @generated
- */
- String getNamespace();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.j2ee.internal.common.DeploymentExtension#getNamespace <em>Namespace</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Namespace</em>' attribute.
- * @see #getNamespace()
- * @generated
- */
- void setNamespace(String value);
-
- /**
- * Returns the value of the '<em><b>Must Understand</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Must Understand</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Must Understand</em>' attribute.
- * @see #setMustUnderstand(boolean)
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getDeploymentExtension_MustUnderstand()
- * @model
- * @generated
- */
- boolean isMustUnderstand();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.j2ee.internal.common.DeploymentExtension#isMustUnderstand <em>Must Understand</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Must Understand</em>' attribute.
- * @see #isMustUnderstand()
- * @generated
- */
- void setMustUnderstand(boolean value);
-
- /**
- * Returns the value of the '<em><b>Extension Elements</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jst.j2ee.internal.common.ExtensibleType}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Extension Elements</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Extension Elements</em>' containment reference list.
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getDeploymentExtension_ExtensionElements()
- * @model type="org.eclipse.jst.j2ee.internal.common.ExtensibleType" containment="true" required="true"
- * @generated
- */
- EList getExtensionElements();
-
-} // DeploymentExtension
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/Description.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/Description.java
deleted file mode 100644
index f72cb01b1..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/Description.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.common;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Description</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * @version J2EE1.4
- * The description type is used by a description element to
- * provide text describing the parent element. The elements
- * that use this type should include any information that the
- * Deployment Component's Deployment File file producer wants
- * to provide to the consumer of the Deployment Component's
- * Deployment File (i.e., to the Deployer). Typically, the
- * tools used by such a Deployment File consumer will display
- * the description when processing the parent element that
- * contains the description.
- *
- * The lang attribute defines the language that the
- * description is provided in. The default value is "en" (English).
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jst.j2ee.internal.common.Description#getLang <em>Lang</em>}</li>
- * <li>{@link org.eclipse.jst.j2ee.internal.common.Description#getValue <em>Value</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getDescription()
- * @model
- * @generated
- */
-public interface Description extends EObject{
- /**
- * Returns the value of the '<em><b>Lang</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Lang</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Lang</em>' attribute.
- * @see #setLang(String)
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getDescription_Lang()
- * @model
- * @generated
- */
- String getLang();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.j2ee.internal.common.Description#getLang <em>Lang</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Lang</em>' attribute.
- * @see #getLang()
- * @generated
- */
- void setLang(String value);
-
- /**
- * Returns the value of the '<em><b>Value</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Value</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Value</em>' attribute.
- * @see #setValue(String)
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getDescription_Value()
- * @model
- * @generated
- */
- String getValue();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.j2ee.internal.common.Description#getValue <em>Value</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Value</em>' attribute.
- * @see #getValue()
- * @generated
- */
- void setValue(String value);
-
-} // Description
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/DescriptionGroup.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/DescriptionGroup.java
deleted file mode 100644
index fbe59c0a4..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/DescriptionGroup.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.common;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Description Group</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * @version J2EE1.4
- * This group keeps the usage of the contained description related
- * elements consistent across J2EE deployment descriptors.
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jst.j2ee.internal.common.DescriptionGroup#getIcons <em>Icons</em>}</li>
- * <li>{@link org.eclipse.jst.j2ee.internal.common.DescriptionGroup#getDisplayNames <em>Display Names</em>}</li>
- * <li>{@link org.eclipse.jst.j2ee.internal.common.DescriptionGroup#getDescriptions <em>Descriptions</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getDescriptionGroup()
- * @model
- * @generated
- */
-public interface DescriptionGroup extends EObject{
- /**
- * Returns the value of the '<em><b>Icons</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jst.j2ee.internal.common.IconType}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Icons</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Icons</em>' containment reference list.
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getDescriptionGroup_Icons()
- * @model type="org.eclipse.jst.j2ee.internal.common.IconType" containment="true"
- * @generated
- */
- EList getIcons();
-
- /**
- * Returns the value of the '<em><b>Display Names</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jst.j2ee.internal.common.DisplayName}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Display Names</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Display Names</em>' containment reference list.
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getDescriptionGroup_DisplayNames()
- * @model type="org.eclipse.jst.j2ee.internal.common.DisplayName" containment="true"
- * @generated
- */
- EList getDisplayNames();
-
- /**
- * Returns the value of the '<em><b>Descriptions</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jst.j2ee.internal.common.Description}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Descriptions</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Descriptions</em>' containment reference list.
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getDescriptionGroup_Descriptions()
- * @model type="org.eclipse.jst.j2ee.internal.common.Description" containment="true"
- * @generated
- */
- EList getDescriptions();
-
-} // DescriptionGroup
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/DisplayName.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/DisplayName.java
deleted file mode 100644
index 5d2b580fd..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/DisplayName.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.common;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Display Name</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * @version J2EE1.4
- * The display-name type contains a short name that is intended
- * to be displayed by tools. It is used by display-name
- * elements. The display name need not be unique.
- *
- * Example:
- *
- * ...
- * <display-name xml:lang="en">Employee Self Service</display-name>
- *
- * The value of the xml:lang attribute is "en" (English) by default.
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jst.j2ee.internal.common.DisplayName#getLang <em>Lang</em>}</li>
- * <li>{@link org.eclipse.jst.j2ee.internal.common.DisplayName#getValue <em>Value</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getDisplayName()
- * @model
- * @generated
- */
-public interface DisplayName extends EObject{
- /**
- * Returns the value of the '<em><b>Lang</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Lang</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Lang</em>' attribute.
- * @see #setLang(String)
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getDisplayName_Lang()
- * @model
- * @generated
- */
- String getLang();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.j2ee.internal.common.DisplayName#getLang <em>Lang</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Lang</em>' attribute.
- * @see #getLang()
- * @generated
- */
- void setLang(String value);
-
- /**
- * Returns the value of the '<em><b>Value</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Value</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Value</em>' attribute.
- * @see #setValue(String)
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getDisplayName_Value()
- * @model
- * @generated
- */
- String getValue();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.j2ee.internal.common.DisplayName#getValue <em>Value</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Value</em>' attribute.
- * @see #getValue()
- * @generated
- */
- void setValue(String value);
-
-} // DisplayName
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/EJBLocalRef.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/EJBLocalRef.java
deleted file mode 100644
index 94f84e04c..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/EJBLocalRef.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.common;
-
-
-
-
-/**
- * The ejb-local-ref element is used for the declaration of a reference to another enterprise bean's local home. The declaration consists of an optional description; the EJB reference name used in the code of the referencing enterprise bean; the expected type of the referenced enterprise bean; the expected local home and local interfaces of the referenced enterprise bean; and an optional ejb-link information. The optional ejb-link element is used to specify the referenced enterprise bean.
- * Used in: entity, session, message-driven
- */
-public interface EJBLocalRef extends EjbRef{
-
- /**
- * @return The value of the Local attribute
- * The Local element contains the fully-qualified name of the enterprise bean's local interface.
- */
- public String getLocal();
- /**
- * @return The value of the localHome attribute
- * The local home element contains the fully-qualified name of the enterprise bean's local home interface.
- * Example: <home>com.aardvark.payroll.PayrollHome<//home>
- */
- public String getLocalHome();
- /**
- * @param value The new value of the local attribute
- */
- public void setLocal(String value);
- /**
- * @param value The new value of the localHome attribute
- */
- public void setLocalHome(String value);
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/EjbRef.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/EjbRef.java
deleted file mode 100644
index 6a3c86e32..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/EjbRef.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.common;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.jst.j2ee.ejb.EJBJar;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-
-
-/**
- * The ejb-ref element is used for the declaration of a reference to an enterprise bean's home. The declaration consists of an optional description; the EJB reference name used in the code of the referencing application client; the expected type of the referenced enterprise bean; the expected home and remote interfaces of the referenced enterprise bean; and an optional ejb-link information. The optional ejb-link element is used to specify the referenced enterprise bean.
- */
-public interface EjbRef extends EObject{
-
-/**
- * Return an enterprise bean referenced by the EjbRef, if one exists, within the scope of the parameter.
- * The ejb-link value of the ref must equate to a named enterprise bean contained in the jar; otherwise
- * return null
- */
-public EnterpriseBean getLinkedEjb(EJBJar ejbJar);/**
- * Return an enterprise bean referenced by the EjbRef, if one exists, within the scope of the parameter.
- * The ejb-link value of the ref must equate to a named enterprise bean contained in the jar; otherwise
- * return null
- */
-/**
- * Return true if the name, home, remote, and link are equivalent.
- */
-boolean isEquivalent(EjbRef anEjbRef) ;
-/**
- * Return true if this reference is physically linked to
- * @anEJB.
- */
-boolean isLinked(EnterpriseBean anEJB) ;
-/**
- * Return true if the ejbref is for a local ejb interface.
- */
-boolean isLocal();
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the Name attribute
- * The ejb-ref-name element contains the name of an EJB reference. This is the
- * JNDI name that the servlet code uses to get a reference to the enterprise bean.
- * Example: <ejb-ref-name>ejb//Payroll<//ejb-ref-name>
- */
- String getName();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param value The new value of the Name attribute
- */
- void setName(String value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the Type attribute
- * The ejb-ref-type element contains the expected type of the referenced
- * enterprise bean. The ejb-ref-type element must be one of the following:
- * <ejb-ref-type>Entity<//ejb-ref-type>
- * <ejb-ref-type>Session<//ejb-ref-type>
- */
- EjbRefType getType();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.j2ee.internal.common.EjbRef#getType <em>Type</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Type</em>' attribute.
- * @see org.eclipse.jst.j2ee.internal.common.EjbRefType
- * @see #isSetType()
- * @see #unsetType()
- * @see #getType()
- * @generated
- */
- void setType(EjbRefType value);
-
- /**
- * Unsets the value of the '{@link org.eclipse.jst.j2ee.internal.common.EjbRef#getType <em>Type</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetType()
- * @see #getType()
- * @see #setType(EjbRefType)
- * @generated
- */
- void unsetType();
-
- /**
- * Returns whether the value of the '{@link org.eclipse.jst.j2ee.internal.common.EjbRef#getType <em>Type</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Type</em>' attribute is set.
- * @see #unsetType()
- * @see #getType()
- * @see #setType(EjbRefType)
- * @generated
- */
- boolean isSetType();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the Home attribute
- * The home element contains the fully-qualified name of the enterprise bean's
- * home interface.
- * Example: <home>com.aardvark.payroll.PayrollHome<//home>
- */
- String getHome();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param value The new value of the Home attribute
- */
- void setHome(String value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the Remote attribute
- * The remote element contains the fully-qualified name of the enterprise bean's
- * remote interface.
- */
- String getRemote();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param value The new value of the Remote attribute
- */
- void setRemote(String value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the Link attribute
- * The ejb-link element is used in the ejb-ref element to specify that an EJB
- * reference is linked to an enterprise bean in the encompassing J2EE Application
- * package. The value of the ejb-link element must be the ejb-name of an
- * enterprise bean in the same J2EE Application package.
- * Example: <ejb-link>EmployeeRecord<//ejb-link>
- */
- String getLink();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param value The new value of the Link attribute
- */
- void setLink(String value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the Description attribute
- * The description element is used by the ejb-jar file producer to provide text
- * describing the parent element. The description element should include any
- * information that the ejb-jar file producer wants to provide to the consumer of
- * the ejb-jar file (i.e. to the Deployer). Typically, the tools used by the
- * ejb-jar file consumer will display the description when processing the parent
- * element.
- */
- String getDescription();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param value The new value of the Description attribute
- */
- void setDescription(String value);
-
- /**
- * Returns the value of the '<em><b>Descriptions</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jst.j2ee.internal.common.Description}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Descriptions</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * @version J2EE1.4
- * <!-- end-model-doc -->
- * @return the value of the '<em>Descriptions</em>' containment reference list.
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getEjbRef_Descriptions()
- * @model type="org.eclipse.jst.j2ee.internal.common.Description" containment="true"
- * @generated
- */
- EList getDescriptions();
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/EjbRefType.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/EjbRefType.java
deleted file mode 100644
index f4ded8a55..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/EjbRefType.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.common;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.common.util.AbstractEnumerator;
-
-
-
-
-
-/**
- * @lastgen interface EjbRefType {}
- */
-public final class EjbRefType extends AbstractEnumerator{
- /**
- * @generated This field/method will be replaced during code generation.
- */
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public static final int SESSION= 0;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public static final int ENTITY= 1;
-
- /**
- * The '<em><b>Session</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>Session</b></em>' literal object isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @see #SESSION
- * @generated
- * @ordered
- */
- public static final EjbRefType SESSION_LITERAL = new EjbRefType(SESSION, "Session"); //$NON-NLS-1$
-
- /**
- * The '<em><b>Entity</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>Entity</b></em>' literal object isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @see #ENTITY
- * @generated
- * @ordered
- */
- public static final EjbRefType ENTITY_LITERAL = new EjbRefType(ENTITY, "Entity"); //$NON-NLS-1$
-
- /**
- * An array of all the '<em><b>Ejb Ref Type</b></em>' enumerators.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private static final EjbRefType[] VALUES_ARRAY =
- new EjbRefType[] {
- SESSION_LITERAL,
- ENTITY_LITERAL,
- };
-
- /**
- * A public read-only list of all the '<em><b>Ejb Ref Type</b></em>' enumerators.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
-
- /**
- * Returns the '<em><b>Ejb Ref Type</b></em>' literal with the specified name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static EjbRefType get(String name) {
- for (int i = 0; i < VALUES_ARRAY.length; ++i) {
- EjbRefType result = VALUES_ARRAY[i];
- if (result.toString().equals(name)) {
- return result;
- }
- }
- return null;
- }
-
- /**
- * Returns the '<em><b>Ejb Ref Type</b></em>' literal with the specified value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static EjbRefType get(int value) {
- switch (value) {
- case SESSION: return SESSION_LITERAL;
- case ENTITY: return ENTITY_LITERAL;
- }
- return null;
- }
-
- /**
- * Only this class can construct instances.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EjbRefType(int value, String name) {
- super(value, name);
- }
-
-} //EjbRefType
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/EnvEntry.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/EnvEntry.java
deleted file mode 100644
index aea20059a..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/EnvEntry.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.common;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * The env-entry element contains the declaration of an application client's environment entries. The declaration consists of an optional description, the name of the environment entry, and an optional value.
- */
-public interface EnvEntry extends EObject{
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the Description attribute
- * The description element is used by the ejb-jar file producer to provide text
- * describing the parent element. The description element should include any
- * information that the ejb-jar file producer wants to provide to the consumer of
- * the ejb-jar file (i.e. to the Deployer). Typically, the tools used by the
- * ejb-jar file consumer will display the description when processing the parent
- * element.
- */
- String getDescription();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param value The new value of the Description attribute
- */
- void setDescription(String value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the Name attribute
- * The env-entry-name element contains the name of an application client's
- * environment entry.
- */
- String getName();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param value The new value of the Name attribute
- */
- void setName(String value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the Value attribute
- * The env-entry-value element contains the value of an application client's
- * environment entry. The value must be a String that is valid for the constructor
- * of the specified type that takes a single String parameter.
- * Used in: env-entry
- * Example:
- * <env-entry-value>//datasources//MyDatabase<//env-entry-value>
- */
- String getValue();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param value The new value of the Value attribute
- */
- void setValue(String value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the Type attribute
- * The env-entry-type element contains the fully-qualified Java type of the
- * environment entry value that is expected by the application client's code. The
- * following are the legal values of env-entry-type: java.lang.Bool-ean,
- * java.lang.String, java.lang.Integer, java.lang.Double, java.lang.Byte,
- * java.lang.Short, java.lang.Long, and java.lang.Float.
- * Example: <env-entry-type>java.lang.Boolean<//env-entry-type>
- */
- EnvEntryType getType();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.j2ee.internal.common.EnvEntry#getType <em>Type</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Type</em>' attribute.
- * @see org.eclipse.jst.j2ee.internal.common.EnvEntryType
- * @see #isSetType()
- * @see #unsetType()
- * @see #getType()
- * @generated
- */
- void setType(EnvEntryType value);
-
- /**
- * Unsets the value of the '{@link org.eclipse.jst.j2ee.internal.common.EnvEntry#getType <em>Type</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetType()
- * @see #getType()
- * @see #setType(EnvEntryType)
- * @generated
- */
- void unsetType();
-
- /**
- * Returns whether the value of the '{@link org.eclipse.jst.j2ee.internal.common.EnvEntry#getType <em>Type</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Type</em>' attribute is set.
- * @see #unsetType()
- * @see #getType()
- * @see #setType(EnvEntryType)
- * @generated
- */
- boolean isSetType();
-
- /**
- * Returns the value of the '<em><b>Descriptions</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jst.j2ee.internal.common.Description}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Descriptions</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * @version J2EE1.4
- * <!-- end-model-doc -->
- * @return the value of the '<em>Descriptions</em>' containment reference list.
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getEnvEntry_Descriptions()
- * @model type="org.eclipse.jst.j2ee.internal.common.Description" containment="true"
- * @generated
- */
- EList getDescriptions();
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/EnvEntryType.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/EnvEntryType.java
deleted file mode 100644
index 989fa2b54..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/EnvEntryType.java
+++ /dev/null
@@ -1,266 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.common;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.common.util.AbstractEnumerator;
-
-
-
-
-
-/**
- * @lastgen interface EnvEntryType {}
- */
-public final class EnvEntryType extends AbstractEnumerator{
- /**
- * @generated This field/method will be replaced during code generation.
- */
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public static final int STRING= 0;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public static final int INTEGER= 1;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public static final int BOOLEAN= 2;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public static final int DOUBLE= 3;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public static final int BYTE= 4;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public static final int SHORT= 5;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public static final int LONG= 6;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public static final int FLOAT= 7;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public static final int CHARACTER= 8;
-
- /**
- * The '<em><b>String</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>String</b></em>' literal object isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @see #STRING
- * @generated
- * @ordered
- */
- public static final EnvEntryType STRING_LITERAL = new EnvEntryType(STRING, "String"); //$NON-NLS-1$
-
- /**
- * The '<em><b>Integer</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>Integer</b></em>' literal object isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @see #INTEGER
- * @generated
- * @ordered
- */
- public static final EnvEntryType INTEGER_LITERAL = new EnvEntryType(INTEGER, "Integer"); //$NON-NLS-1$
-
- /**
- * The '<em><b>Boolean</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>Boolean</b></em>' literal object isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @see #BOOLEAN
- * @generated
- * @ordered
- */
- public static final EnvEntryType BOOLEAN_LITERAL = new EnvEntryType(BOOLEAN, "Boolean"); //$NON-NLS-1$
-
- /**
- * The '<em><b>Double</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>Double</b></em>' literal object isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @see #DOUBLE
- * @generated
- * @ordered
- */
- public static final EnvEntryType DOUBLE_LITERAL = new EnvEntryType(DOUBLE, "Double"); //$NON-NLS-1$
-
- /**
- * The '<em><b>Byte</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>Byte</b></em>' literal object isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @see #BYTE
- * @generated
- * @ordered
- */
- public static final EnvEntryType BYTE_LITERAL = new EnvEntryType(BYTE, "Byte"); //$NON-NLS-1$
-
- /**
- * The '<em><b>Short</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>Short</b></em>' literal object isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @see #SHORT
- * @generated
- * @ordered
- */
- public static final EnvEntryType SHORT_LITERAL = new EnvEntryType(SHORT, "Short"); //$NON-NLS-1$
-
- /**
- * The '<em><b>Long</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>Long</b></em>' literal object isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @see #LONG
- * @generated
- * @ordered
- */
- public static final EnvEntryType LONG_LITERAL = new EnvEntryType(LONG, "Long"); //$NON-NLS-1$
-
- /**
- * The '<em><b>Float</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>Float</b></em>' literal object isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @see #FLOAT
- * @generated
- * @ordered
- */
- public static final EnvEntryType FLOAT_LITERAL = new EnvEntryType(FLOAT, "Float"); //$NON-NLS-1$
-
- /**
- * The '<em><b>Character</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>Character</b></em>' literal object isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @see #CHARACTER
- * @generated
- * @ordered
- */
- public static final EnvEntryType CHARACTER_LITERAL = new EnvEntryType(CHARACTER, "Character"); //$NON-NLS-1$
-
- /**
- * An array of all the '<em><b>Env Entry Type</b></em>' enumerators.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private static final EnvEntryType[] VALUES_ARRAY =
- new EnvEntryType[] {
- STRING_LITERAL,
- INTEGER_LITERAL,
- BOOLEAN_LITERAL,
- DOUBLE_LITERAL,
- BYTE_LITERAL,
- SHORT_LITERAL,
- LONG_LITERAL,
- FLOAT_LITERAL,
- CHARACTER_LITERAL,
- };
-
- /**
- * A public read-only list of all the '<em><b>Env Entry Type</b></em>' enumerators.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
-
- /**
- * Returns the '<em><b>Env Entry Type</b></em>' literal with the specified name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static EnvEntryType get(String name) {
- for (int i = 0; i < VALUES_ARRAY.length; ++i) {
- EnvEntryType result = VALUES_ARRAY[i];
- if (result.toString().equals(name)) {
- return result;
- }
- }
- return null;
- }
-
- /**
- * Returns the '<em><b>Env Entry Type</b></em>' literal with the specified value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static EnvEntryType get(int value) {
- switch (value) {
- case STRING: return STRING_LITERAL;
- case INTEGER: return INTEGER_LITERAL;
- case BOOLEAN: return BOOLEAN_LITERAL;
- case DOUBLE: return DOUBLE_LITERAL;
- case BYTE: return BYTE_LITERAL;
- case SHORT: return SHORT_LITERAL;
- case LONG: return LONG_LITERAL;
- case FLOAT: return FLOAT_LITERAL;
- case CHARACTER: return CHARACTER_LITERAL;
- }
- return null;
- }
-
- /**
- * Only this class can construct instances.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EnvEntryType(int value, String name) {
- super(value, name);
- }
-
-} //EnvEntryType
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/ExtensibleType.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/ExtensibleType.java
deleted file mode 100644
index 9bb7ac916..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/ExtensibleType.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.common;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Extensible Type</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jst.j2ee.internal.common.ExtensibleType#getValue <em>Value</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getExtensibleType()
- * @model
- * @generated
- */
-public interface ExtensibleType extends EObject {
- /**
- * Returns the value of the '<em><b>Value</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Value</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Value</em>' attribute.
- * @see #setValue(String)
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getExtensibleType_Value()
- * @model
- * @generated
- */
- String getValue();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.j2ee.internal.common.ExtensibleType#getValue <em>Value</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Value</em>' attribute.
- * @see #getValue()
- * @generated
- */
- void setValue(String value);
-
-} // ExtensibleType
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/IconType.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/IconType.java
deleted file mode 100644
index b4da48f54..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/IconType.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.common;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Icon Type</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * @version J2EE1.4
- * The icon type contains small-icon and large-icon elements
- * that specify the file names for small and large GIF or
- * JPEG icon images used to represent the parent element in a
- * GUI tool.
- *
- * The xml:lang attribute defines the language that the
- * icon file names are provided in. Its value is "en" (English)
- * by default.
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jst.j2ee.internal.common.IconType#getSmallIcon <em>Small Icon</em>}</li>
- * <li>{@link org.eclipse.jst.j2ee.internal.common.IconType#getLargeIcon <em>Large Icon</em>}</li>
- * <li>{@link org.eclipse.jst.j2ee.internal.common.IconType#getLang <em>Lang</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getIconType()
- * @model
- * @generated
- */
-public interface IconType extends EObject{
- /**
- * Returns the value of the '<em><b>Small Icon</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Small Icon</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * The small-icon element contains the name of a file
- * containing a small (16 x 16) icon image. The file
- * name is a relative path within the Deployment
- * Component's Deployment File.
- *
- * The image may be either in the JPEG or GIF format.
- * The icon can be used by tools.
- *
- * Example:
- *
- * <small-icon>employee-service-icon16x16.jpg</small-icon>
- * <!-- end-model-doc -->
- * @return the value of the '<em>Small Icon</em>' attribute.
- * @see #setSmallIcon(String)
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getIconType_SmallIcon()
- * @model
- * @generated
- */
- String getSmallIcon();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.j2ee.internal.common.IconType#getSmallIcon <em>Small Icon</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Small Icon</em>' attribute.
- * @see #getSmallIcon()
- * @generated
- */
- void setSmallIcon(String value);
-
- /**
- * Returns the value of the '<em><b>Large Icon</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Large Icon</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * The large-icon element contains the name of a file
- * containing a large
- * (32 x 32) icon image. The file name is a relative
- * path within the Deployment Component's Deployment
- * File.
- *
- * The image may be either in the JPEG or GIF format.
- * The icon can be used by tools.
- *
- * Example:
- *
- * <large-icon>employee-service-icon32x32.jpg</large-icon>
- *
- * <!-- end-model-doc -->
- * @return the value of the '<em>Large Icon</em>' attribute.
- * @see #setLargeIcon(String)
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getIconType_LargeIcon()
- * @model
- * @generated
- */
- String getLargeIcon();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.j2ee.internal.common.IconType#getLargeIcon <em>Large Icon</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Large Icon</em>' attribute.
- * @see #getLargeIcon()
- * @generated
- */
- void setLargeIcon(String value);
-
- /**
- * Returns the value of the '<em><b>Lang</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Lang</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Lang</em>' attribute.
- * @see #setLang(String)
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getIconType_Lang()
- * @model
- * @generated
- */
- String getLang();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.j2ee.internal.common.IconType#getLang <em>Lang</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Lang</em>' attribute.
- * @see #getLang()
- * @generated
- */
- void setLang(String value);
-
-} // IconType
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/Identity.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/Identity.java
deleted file mode 100644
index e6ec3208b..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/Identity.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.common;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-/**
- * Specifies the run-as identity to be used for the execution of the methods of an enterprise bean. It contains an optional description, and the name of a security role.
-
- */
-public interface Identity extends EObject{
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the Description attribute
- * The description is used by the ejb-jar file producer to provide text describing
- * the run as identity.
- *
- * The description should include any information that the ejb-jar file producer
- * wants to provide to the consumer of the ejb-jar file (i.e. to the Deployer).
- * Typically, the tools used by the ejb-jar file consumer will display the
- * description when processing the list of dependents.
- */
- String getDescription();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param value The new value of the Description attribute
- */
- void setDescription(String value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the RoleName attribute
- * The role-name element contains the name of a security role.
- *
- * The name must conform to the lexical rules for an NMTOKEN.
- */
- String getRoleName();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param value The new value of the RoleName attribute
- */
- void setRoleName(String value);
-
- /**
- * Returns the value of the '<em><b>Descriptions</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jst.j2ee.internal.common.Description}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Descriptions</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Descriptions</em>' containment reference list.
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getIdentity_Descriptions()
- * @model type="org.eclipse.jst.j2ee.internal.common.Description" containment="true"
- * @generated
- */
- EList getDescriptions();
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/JNDIEnvRefsGroup.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/JNDIEnvRefsGroup.java
deleted file mode 100644
index a083ebcb8..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/JNDIEnvRefsGroup.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.common;
-
-import org.eclipse.emf.common.util.EList;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>JNDI Env Refs Group</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * @version J2EE1.4
- * This group keeps the usage of the contained JNDI environment
- * reference elements consistent across J2EE deployment descriptors.
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jst.j2ee.internal.common.JNDIEnvRefsGroup#getEnvironmentProperties <em>Environment Properties</em>}</li>
- * <li>{@link org.eclipse.jst.j2ee.internal.common.JNDIEnvRefsGroup#getResourceRefs <em>Resource Refs</em>}</li>
- * <li>{@link org.eclipse.jst.j2ee.internal.common.JNDIEnvRefsGroup#getEjbRefs <em>Ejb Refs</em>}</li>
- * <li>{@link org.eclipse.jst.j2ee.internal.common.JNDIEnvRefsGroup#getResourceEnvRefs <em>Resource Env Refs</em>}</li>
- * <li>{@link org.eclipse.jst.j2ee.internal.common.JNDIEnvRefsGroup#getEjbLocalRefs <em>Ejb Local Refs</em>}</li>
- * <li>{@link org.eclipse.jst.j2ee.internal.common.JNDIEnvRefsGroup#getMessageDestinationRefs <em>Message Destination Refs</em>}</li>
- * <li>{@link org.eclipse.jst.j2ee.internal.common.JNDIEnvRefsGroup#getServiceRefs <em>Service Refs</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getJNDIEnvRefsGroup()
- * @model abstract="true"
- * @generated
- */
-public interface JNDIEnvRefsGroup extends CompatibilityDescriptionGroup {
- /**
- * Returns the value of the '<em><b>Environment Properties</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jst.j2ee.internal.common.EnvEntry}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Environment Properties</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Environment Properties</em>' containment reference list.
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getJNDIEnvRefsGroup_EnvironmentProperties()
- * @model type="org.eclipse.jst.j2ee.internal.common.EnvEntry" containment="true"
- * @generated
- */
- EList getEnvironmentProperties();
-
- /**
- * Returns the value of the '<em><b>Resource Refs</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jst.j2ee.internal.common.ResourceRef}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Resource Refs</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Resource Refs</em>' containment reference list.
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getJNDIEnvRefsGroup_ResourceRefs()
- * @model type="org.eclipse.jst.j2ee.internal.common.ResourceRef" containment="true"
- * @generated
- */
- EList getResourceRefs();
-
- /**
- * Returns the value of the '<em><b>Ejb Refs</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jst.j2ee.internal.common.EjbRef}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Ejb Refs</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Ejb Refs</em>' containment reference list.
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getJNDIEnvRefsGroup_EjbRefs()
- * @model type="org.eclipse.jst.j2ee.internal.common.EjbRef" containment="true"
- * @generated
- */
- EList getEjbRefs();
-
- /**
- * Returns the value of the '<em><b>Resource Env Refs</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jst.j2ee.internal.common.ResourceEnvRef}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Resource Env Refs</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * A list of enterprise bean references to an administered object associated with a resource in the enterprise bean's environment. It consists of an optional description, the resource environment reference name, and an indication of the resource environment reference type expected by the enterprise bean code.
- *
- * <!-- end-model-doc -->
- * @return the value of the '<em>Resource Env Refs</em>' containment reference list.
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getJNDIEnvRefsGroup_ResourceEnvRefs()
- * @model type="org.eclipse.jst.j2ee.internal.common.ResourceEnvRef" containment="true"
- * @generated
- */
- EList getResourceEnvRefs();
-
- /**
- * Returns the value of the '<em><b>Ejb Local Refs</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jst.j2ee.internal.common.EJBLocalRef}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Ejb Local Refs</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Ejb Local Refs</em>' containment reference list.
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getJNDIEnvRefsGroup_EjbLocalRefs()
- * @model type="org.eclipse.jst.j2ee.internal.common.EJBLocalRef" containment="true"
- * @generated
- */
- EList getEjbLocalRefs();
-
- /**
- * Returns the value of the '<em><b>Message Destination Refs</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jst.j2ee.internal.common.MessageDestinationRef}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Message Destination Refs</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Message Destination Refs</em>' containment reference list.
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getJNDIEnvRefsGroup_MessageDestinationRefs()
- * @model type="org.eclipse.jst.j2ee.internal.common.MessageDestinationRef" containment="true"
- * @generated
- */
- EList getMessageDestinationRefs();
-
- /**
- * Returns the value of the '<em><b>Service Refs</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jst.j2ee.internal.webservice.wsclient.ServiceRef}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Service Refs</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Service Refs</em>' containment reference list.
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getJNDIEnvRefsGroup_ServiceRefs()
- * @model type="org.eclipse.jst.j2ee.internal.webservice.wsclient.ServiceRef" containment="true"
- * @generated
- */
- EList getServiceRefs();
-
-} // JNDIEnvRefsGroup
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/Listener.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/Listener.java
deleted file mode 100644
index bd5671b0c..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/Listener.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.common;
-
-import org.eclipse.jem.java.JavaClass;
-/**
- * Declares a class in the application must be registered as a web application listener bean.
- */
-public interface Listener extends CompatibilityDescriptionGroup{
-
-/**
- * Get the JavaClass for the listener.
- */
-
-
-
-
-
-
-
-
-
-
-
-
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The ListenerClass reference
- * The listener-class element declares a class in the application must be
- * registered as a web application listener bean.
- */
- JavaClass getListenerClass();
-
-/**
- * Get the fully qualified class name for the listener.
- */
-public String getListenerClassName();
-/**
- * Sets the listener class name.
- */
-public void setListenerClassName(String listenerClassName);
- /**
- * @generated This field/method will be replaced during code generation
- * @param l The new value of the ListenerClass reference
- */
- void setListenerClass(JavaClass value);
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/MessageDestination.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/MessageDestination.java
deleted file mode 100644
index 79ae9c52c..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/MessageDestination.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.common;
-
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Message Destination</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * @version J2EE1.4
- * The message-destinationType specifies a message
- * destination. The logical destination described by this
- * element is mapped to a physical destination by the Deployer.
- *
- * The message destination element contains:
- *
- * - an optional description
- * - an optional display-name
- * - an optional icon
- * - a message destination name which must be unique
- * among message destination names within the same
- * Deployment File.
- *
- * Example:
- *
- * <message-destination>
- * <message-destination-name>CorporateStocks
- * </message-destination-name>
- * </message-destination>
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jst.j2ee.internal.common.MessageDestination#getName <em>Name</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getMessageDestination()
- * @model
- * @generated
- */
-public interface MessageDestination extends CompatibilityDescriptionGroup {
- /**
- * Returns the value of the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Name</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * The message-destination-name element specifies a
- * name for a message destination. This name must be
- * unique among the names of message destinations
- * within the Deployment File.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Name</em>' attribute.
- * @see #setName(String)
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getMessageDestination_Name()
- * @model
- * @generated
- */
- String getName();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.j2ee.internal.common.MessageDestination#getName <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Name</em>' attribute.
- * @see #getName()
- * @generated
- */
- void setName(String value);
-
-} // MessageDestination
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/MessageDestinationRef.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/MessageDestinationRef.java
deleted file mode 100644
index 159b89789..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/MessageDestinationRef.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.common;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Message Destination Ref</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * @version J2EE1.4
- * The message-destination-ref element contains a declaration
- * of Deployment Component's reference to a message destination
- * associated with a resource in Deployment Component's
- * environment. It consists of:
- *
- * - an optional description
- * - the message destination reference name
- * - the message destination type
- * - a specification as to whether the
- * destination is used for
- * consuming or producing messages, or both
- * - a link to the message destination
- *
- * Examples:
- *
- * <message-destination-ref>
- * <message-destination-ref-name>jms/StockQueue
- * </message-destination-ref-name>
- * <message-destination-type>javax.jms.Queue
- * </message-destination-type>
- * <message-destination-usage>Consumes
- * </message-destination-usage>
- * <message-destination-link>CorporateStocks
- * </message-destination-link>
- * </message-destination-ref>
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jst.j2ee.internal.common.MessageDestinationRef#getName <em>Name</em>}</li>
- * <li>{@link org.eclipse.jst.j2ee.internal.common.MessageDestinationRef#getType <em>Type</em>}</li>
- * <li>{@link org.eclipse.jst.j2ee.internal.common.MessageDestinationRef#getUsage <em>Usage</em>}</li>
- * <li>{@link org.eclipse.jst.j2ee.internal.common.MessageDestinationRef#getLink <em>Link</em>}</li>
- * <li>{@link org.eclipse.jst.j2ee.internal.common.MessageDestinationRef#getDescriptions <em>Descriptions</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getMessageDestinationRef()
- * @model
- * @generated
- */
-public interface MessageDestinationRef extends EObject{
- /**
- * Returns the value of the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Name</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Name</em>' attribute.
- * @see #setName(String)
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getMessageDestinationRef_Name()
- * @model
- * @generated
- */
- String getName();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.j2ee.internal.common.MessageDestinationRef#getName <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Name</em>' attribute.
- * @see #getName()
- * @generated
- */
- void setName(String value);
-
- /**
- * Returns the value of the '<em><b>Type</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Type</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Type</em>' attribute.
- * @see #setType(String)
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getMessageDestinationRef_Type()
- * @model
- * @generated
- */
- String getType();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.j2ee.internal.common.MessageDestinationRef#getType <em>Type</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Type</em>' attribute.
- * @see #getType()
- * @generated
- */
- void setType(String value);
-
- /**
- * Returns the value of the '<em><b>Usage</b></em>' attribute.
- * The literals are from the enumeration {@link org.eclipse.jst.j2ee.internal.common.MessageDestinationUsageType}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Usage</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Usage</em>' attribute.
- * @see org.eclipse.jst.j2ee.internal.common.MessageDestinationUsageType
- * @see #setUsage(MessageDestinationUsageType)
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getMessageDestinationRef_Usage()
- * @model
- * @generated
- */
- MessageDestinationUsageType getUsage();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.j2ee.internal.common.MessageDestinationRef#getUsage <em>Usage</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Usage</em>' attribute.
- * @see org.eclipse.jst.j2ee.internal.common.MessageDestinationUsageType
- * @see #getUsage()
- * @generated
- */
- void setUsage(MessageDestinationUsageType value);
-
- /**
- * Returns the value of the '<em><b>Link</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Link</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Link</em>' attribute.
- * @see #setLink(String)
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getMessageDestinationRef_Link()
- * @model
- * @generated
- */
- String getLink();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.j2ee.internal.common.MessageDestinationRef#getLink <em>Link</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Link</em>' attribute.
- * @see #getLink()
- * @generated
- */
- void setLink(String value);
-
- /**
- * Returns the value of the '<em><b>Descriptions</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jst.j2ee.internal.common.Description}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Descriptions</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Descriptions</em>' containment reference list.
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getMessageDestinationRef_Descriptions()
- * @model type="org.eclipse.jst.j2ee.internal.common.Description" containment="true"
- * @generated
- */
- EList getDescriptions();
-
-} // MessageDestinationRef
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/MessageDestinationUsageType.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/MessageDestinationUsageType.java
deleted file mode 100644
index 827e16fa2..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/MessageDestinationUsageType.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.common;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.common.util.AbstractEnumerator;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the literals of the enumeration '<em><b>Message Destination Usage Type</b></em>',
- * and utility methods for working with them.
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getMessageDestinationUsageType()
- * @model
- * @generated
- */
-public final class MessageDestinationUsageType extends AbstractEnumerator {
- /**
- * The '<em><b>Consumes</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #CONSUMES_LITERAL
- * @model name="Consumes"
- * @generated
- * @ordered
- */
- public static final int CONSUMES = 0;
-
- /**
- * The '<em><b>Produces</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #PRODUCES_LITERAL
- * @model name="Produces"
- * @generated
- * @ordered
- */
- public static final int PRODUCES = 1;
-
- /**
- * The '<em><b>Consumes Produces</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #CONSUMES_PRODUCES_LITERAL
- * @model name="ConsumesProduces"
- * @generated
- * @ordered
- */
- public static final int CONSUMES_PRODUCES = 2;
-
- /**
- * The '<em><b>Consumes</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>Consumes</b></em>' literal object isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @see #CONSUMES
- * @generated
- * @ordered
- */
- public static final MessageDestinationUsageType CONSUMES_LITERAL = new MessageDestinationUsageType(CONSUMES, "Consumes"); //$NON-NLS-1$
-
- /**
- * The '<em><b>Produces</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>Produces</b></em>' literal object isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @see #PRODUCES
- * @generated
- * @ordered
- */
- public static final MessageDestinationUsageType PRODUCES_LITERAL = new MessageDestinationUsageType(PRODUCES, "Produces"); //$NON-NLS-1$
-
- /**
- * The '<em><b>Consumes Produces</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>Consumes Produces</b></em>' literal object isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @see #CONSUMES_PRODUCES
- * @generated
- * @ordered
- */
- public static final MessageDestinationUsageType CONSUMES_PRODUCES_LITERAL = new MessageDestinationUsageType(CONSUMES_PRODUCES, "ConsumesProduces"); //$NON-NLS-1$
-
- /**
- * An array of all the '<em><b>Message Destination Usage Type</b></em>' enumerators.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private static final MessageDestinationUsageType[] VALUES_ARRAY =
- new MessageDestinationUsageType[] {
- CONSUMES_LITERAL,
- PRODUCES_LITERAL,
- CONSUMES_PRODUCES_LITERAL,
- };
-
- /**
- * A public read-only list of all the '<em><b>Message Destination Usage Type</b></em>' enumerators.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
-
- /**
- * Returns the '<em><b>Message Destination Usage Type</b></em>' literal with the specified name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static MessageDestinationUsageType get(String name) {
- for (int i = 0; i < VALUES_ARRAY.length; ++i) {
- MessageDestinationUsageType result = VALUES_ARRAY[i];
- if (result.toString().equals(name)) {
- return result;
- }
- }
- return null;
- }
-
- /**
- * Returns the '<em><b>Message Destination Usage Type</b></em>' literal with the specified value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static MessageDestinationUsageType get(int value) {
- switch (value) {
- case CONSUMES: return CONSUMES_LITERAL;
- case PRODUCES: return PRODUCES_LITERAL;
- case CONSUMES_PRODUCES: return CONSUMES_PRODUCES_LITERAL;
- }
- return null;
- }
-
- /**
- * Only this class can construct instances.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private MessageDestinationUsageType(int value, String name) {
- super(value, name);
- }
-
-} //MessageDestinationUsageType
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/ParamValue.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/ParamValue.java
deleted file mode 100644
index 91e6b8bcc..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/ParamValue.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.common;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Param Value</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * @version J2EE1.4
- * This type is a general type that can be used to declare
- * parameter/value lists.
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jst.j2ee.internal.common.ParamValue#getName <em>Name</em>}</li>
- * <li>{@link org.eclipse.jst.j2ee.internal.common.ParamValue#getValue <em>Value</em>}</li>
- * <li>{@link org.eclipse.jst.j2ee.internal.common.ParamValue#getDescription <em>Description</em>}</li>
- * <li>{@link org.eclipse.jst.j2ee.internal.common.ParamValue#getDescriptions <em>Descriptions</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getParamValue()
- * @model
- * @generated
- */
-public interface ParamValue extends EObject{
- /**
- * Returns the value of the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Name</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * The param-name element contains the name of a parameter.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Name</em>' attribute.
- * @see #setName(String)
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getParamValue_Name()
- * @model
- * @generated
- */
- String getName();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.j2ee.internal.common.ParamValue#getName <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Name</em>' attribute.
- * @see #getName()
- * @generated
- */
- void setName(String value);
-
- /**
- * Returns the value of the '<em><b>Value</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Value</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * The param-value element contains the value of a parameter.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Value</em>' attribute.
- * @see #setValue(String)
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getParamValue_Value()
- * @model
- * @generated
- */
- String getValue();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.j2ee.internal.common.ParamValue#getValue <em>Value</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Value</em>' attribute.
- * @see #getValue()
- * @generated
- */
- void setValue(String value);
-
- /**
- * Returns the value of the '<em><b>Description</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Description</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * @version J2EE1.4 deprecated, becomes descriptions
- * <!-- end-model-doc -->
- * @return the value of the '<em>Description</em>' attribute.
- * @see #setDescription(String)
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getParamValue_Description()
- * @model
- * @generated
- */
- String getDescription();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.j2ee.internal.common.ParamValue#getDescription <em>Description</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Description</em>' attribute.
- * @see #getDescription()
- * @generated
- */
- void setDescription(String value);
-
- /**
- * Returns the value of the '<em><b>Descriptions</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jst.j2ee.internal.common.Description}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Descriptions</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Descriptions</em>' containment reference list.
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getParamValue_Descriptions()
- * @model type="org.eclipse.jst.j2ee.internal.common.Description" containment="true"
- * @generated
- */
- EList getDescriptions();
-
-} // ParamValue
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/QName.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/QName.java
deleted file mode 100644
index d5d6c5579..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/QName.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.common;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>QName</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jst.j2ee.internal.common.QName#getNamespaceURI <em>Namespace URI</em>}</li>
- * <li>{@link org.eclipse.jst.j2ee.internal.common.QName#getLocalPart <em>Local Part</em>}</li>
- * <li>{@link org.eclipse.jst.j2ee.internal.common.QName#getCombinedQName <em>Combined QName</em>}</li>
- * <li>{@link org.eclipse.jst.j2ee.internal.common.QName#getInternalPrefixOrNsURI <em>Internal Prefix Or Ns URI</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getQName()
- * @model
- * @generated
- */
-public interface QName extends EObject{
- /**
- * Returns the value of the '<em><b>Namespace URI</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Namespace URI</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Namespace URI</em>' attribute.
- * @see #setNamespaceURI(String)
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getQName_NamespaceURI()
- * @model
- * @generated
- */
- String getNamespaceURI();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.j2ee.internal.common.QName#getNamespaceURI <em>Namespace URI</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Namespace URI</em>' attribute.
- * @see #getNamespaceURI()
- * @generated
- */
- void setNamespaceURI(String value);
-
- /**
- * Returns the value of the '<em><b>Local Part</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Local Part</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Local Part</em>' attribute.
- * @see #setLocalPart(String)
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getQName_LocalPart()
- * @model
- * @generated
- */
- String getLocalPart();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.j2ee.internal.common.QName#getLocalPart <em>Local Part</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Local Part</em>' attribute.
- * @see #getLocalPart()
- * @generated
- */
- void setLocalPart(String value);
-
- /**
- * Returns the value of the '<em><b>Combined QName</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Combined QName</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Combined QName</em>' attribute.
- * @see #setCombinedQName(String)
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getQName_CombinedQName()
- * @model
- * @generated
- */
- String getCombinedQName();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.j2ee.internal.common.QName#getCombinedQName <em>Combined QName</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Combined QName</em>' attribute.
- * @see #getCombinedQName()
- * @generated
- */
- void setCombinedQName(String value);
-
- /**
- * Returns the value of the '<em><b>Internal Prefix Or Ns URI</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * Internal field used by implementation classes. Clients should use
- * {@link #getNamespaceURI()}.
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Internal Prefix Or Ns URI</em>' attribute.
- * @see #setInternalPrefixOrNsURI(String)
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getQName_InternalPrefixOrNsURI()
- * @model
- * @generated
- */
- String getInternalPrefixOrNsURI();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.j2ee.internal.common.QName#getInternalPrefixOrNsURI <em>Internal Prefix Or Ns URI</em>}' attribute.
- * <!-- begin-user-doc -->
- * Internal field used by implementation classes. Clients should use
- * {@link #setValues(String, String, String)}.
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Internal Prefix Or Ns URI</em>' attribute.
- * @see #getInternalPrefixOrNsURI()
- * @generated
- */
- void setInternalPrefixOrNsURI(String value);
-
- /**
- * Sets all the values for this qName
- * @param prefix - The namespace prefix
- * @param nsURI - The namespace URI
- * @param localPart - The local part
- */
- void setValues(String prefix, String nsURI, String localPart);
-
-
-} // QName
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/ResAuthTypeBase.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/ResAuthTypeBase.java
deleted file mode 100644
index 3248a6638..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/ResAuthTypeBase.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.common;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.common.util.AbstractEnumerator;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the literals of the enumeration '<em><b>Res Auth Type Base</b></em>',
- * and utility methods for working with them.
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * CONTAINER=0
- * Container=1
- * Application=2
- * SERVLET=3
- *
- * <!-- end-model-doc -->
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getResAuthTypeBase()
- * @model
- * @generated
- */
-public final class ResAuthTypeBase extends AbstractEnumerator {
- /**
- * The '<em><b>Container</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #CONTAINER_LITERAL
- * @model name="Container"
- * @generated
- * @ordered
- */
- public static final int CONTAINER = 0;
-
- /**
- * The '<em><b>Application</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #APPLICATION_LITERAL
- * @model name="Application"
- * @generated
- * @ordered
- */
- public static final int APPLICATION = 1;
-
- /**
- * The '<em><b>SERVLET</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #SERVLET_LITERAL
- * @model
- * @generated
- * @ordered
- */
- public static final int SERVLET = 2;
-
- /**
- * The '<em><b>Container</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>Container</b></em>' literal object isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @see #CONTAINER
- * @generated
- * @ordered
- */
- public static final ResAuthTypeBase CONTAINER_LITERAL = new ResAuthTypeBase(CONTAINER, "Container"); //$NON-NLS-1$
-
- /**
- * The '<em><b>Application</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>Application</b></em>' literal object isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @see #APPLICATION
- * @generated
- * @ordered
- */
- public static final ResAuthTypeBase APPLICATION_LITERAL = new ResAuthTypeBase(APPLICATION, "Application"); //$NON-NLS-1$
-
- /**
- * The '<em><b>SERVLET</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>SERVLET</b></em>' literal object isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @see #SERVLET
- * @generated
- * @ordered
- */
- public static final ResAuthTypeBase SERVLET_LITERAL = new ResAuthTypeBase(SERVLET, "SERVLET"); //$NON-NLS-1$
-
- /**
- * An array of all the '<em><b>Res Auth Type Base</b></em>' enumerators.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private static final ResAuthTypeBase[] VALUES_ARRAY =
- new ResAuthTypeBase[] {
- CONTAINER_LITERAL,
- APPLICATION_LITERAL,
- SERVLET_LITERAL,
- };
-
- /**
- * A public read-only list of all the '<em><b>Res Auth Type Base</b></em>' enumerators.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
-
- /**
- * Returns the '<em><b>Res Auth Type Base</b></em>' literal with the specified name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static ResAuthTypeBase get(String name) {
- for (int i = 0; i < VALUES_ARRAY.length; ++i) {
- ResAuthTypeBase result = VALUES_ARRAY[i];
- if (result.toString().equals(name)) {
- return result;
- }
- }
- return null;
- }
-
- /**
- * Returns the '<em><b>Res Auth Type Base</b></em>' literal with the specified value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static ResAuthTypeBase get(int value) {
- switch (value) {
- case CONTAINER: return CONTAINER_LITERAL;
- case APPLICATION: return APPLICATION_LITERAL;
- case SERVLET: return SERVLET_LITERAL;
- }
- return null;
- }
-
- /**
- * Only this class can construct instances.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private ResAuthTypeBase(int value, String name) {
- super(value, name);
- }
-
-} //ResAuthTypeBase
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/ResSharingScopeType.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/ResSharingScopeType.java
deleted file mode 100644
index 8cbee4e7e..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/ResSharingScopeType.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.common;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.common.util.AbstractEnumerator;
-
-
-
-
-
-/**
- * @lastgen interface ResSharingScopeType {}
- */
-public final class ResSharingScopeType extends AbstractEnumerator{
- /**
- * @generated This field/method will be replaced during code generation.
- */
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public static final int SHAREABLE= 0;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public static final int UNSHAREABLE= 1;
-
- /**
- * The '<em><b>Shareable</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>Shareable</b></em>' literal object isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @see #SHAREABLE
- * @generated
- * @ordered
- */
- public static final ResSharingScopeType SHAREABLE_LITERAL = new ResSharingScopeType(SHAREABLE, "Shareable"); //$NON-NLS-1$
-
- /**
- * The '<em><b>Unshareable</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>Unshareable</b></em>' literal object isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @see #UNSHAREABLE
- * @generated
- * @ordered
- */
- public static final ResSharingScopeType UNSHAREABLE_LITERAL = new ResSharingScopeType(UNSHAREABLE, "Unshareable"); //$NON-NLS-1$
-
- /**
- * An array of all the '<em><b>Res Sharing Scope Type</b></em>' enumerators.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private static final ResSharingScopeType[] VALUES_ARRAY =
- new ResSharingScopeType[] {
- SHAREABLE_LITERAL,
- UNSHAREABLE_LITERAL,
- };
-
- /**
- * A public read-only list of all the '<em><b>Res Sharing Scope Type</b></em>' enumerators.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
-
- /**
- * Returns the '<em><b>Res Sharing Scope Type</b></em>' literal with the specified name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static ResSharingScopeType get(String name) {
- for (int i = 0; i < VALUES_ARRAY.length; ++i) {
- ResSharingScopeType result = VALUES_ARRAY[i];
- if (result.toString().equals(name)) {
- return result;
- }
- }
- return null;
- }
-
- /**
- * Returns the '<em><b>Res Sharing Scope Type</b></em>' literal with the specified value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static ResSharingScopeType get(int value) {
- switch (value) {
- case SHAREABLE: return SHAREABLE_LITERAL;
- case UNSHAREABLE: return UNSHAREABLE_LITERAL;
- }
- return null;
- }
-
- /**
- * Only this class can construct instances.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private ResSharingScopeType(int value, String name) {
- super(value, name);
- }
-
-} //ResSharingScopeType
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/ResourceEnvRef.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/ResourceEnvRef.java
deleted file mode 100644
index ede34d4c3..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/ResourceEnvRef.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.common;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.jem.java.JavaClass;
-
-/**
- * The resource-env-ref element contains a declaration of an enterprise bean's reference to an administered object associated with a resource in the enterprise bean's environment. It consists of an optional description, the resource environment reference name, and an indication of the resource environment reference type expected by the enterprise bean code.
- *
- * Examples:
- *
- * <resource-env-ref>
- * <resource-env-ref-name>jms//StockQueue<//resource-env-ref-name>
- * <resource-env-ref-type>javax.jms.Queue<//resource-env-ref-type>
- * <//resource-env-ref>
- */
-public interface ResourceEnvRef extends EObject{
-
-public String getTypeName();
-public void setTypeName(String className);
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the Description attribute
- * The description is used by the ejb-jar file producer to provide text describing
- * the resource env ref.
- *
- * The description should include any information that the ejb-jar file producer
- * wants to provide to the consumer of the ejb-jar file (i.e. to the Deployer).
- * Typically, the tools used by the ejb-jar file consumer will display the
- * description when processing the list of dependents.
- */
- String getDescription();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param value The new value of the Description attribute
- */
- void setDescription(String value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the Name attribute
- * Specifies the name of a resource environment reference; its value is the
- * environment entry name used in the enterprise bean code.
- */
- String getName();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param value The new value of the Name attribute
- */
- void setName(String value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The Type reference
- * Specifies the type of a resource environment reference. See the class
- * description for an example.
- */
- JavaClass getType();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param l The new value of the Type reference
- */
- void setType(JavaClass value);
-
- /**
- * Returns the value of the '<em><b>Descriptions</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jst.j2ee.internal.common.Description}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Descriptions</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Descriptions</em>' containment reference list.
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getResourceEnvRef_Descriptions()
- * @model type="org.eclipse.jst.j2ee.internal.common.Description" containment="true"
- * @generated
- */
- EList getDescriptions();
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/ResourceRef.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/ResourceRef.java
deleted file mode 100644
index cf0cdeeca..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/ResourceRef.java
+++ /dev/null
@@ -1,206 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.common;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * The resource-ref element contains a declaration of application clients's reference to an external resource. It consists of an optional description, the resource factory reference name, the indication of the resource factory type expected by the application client's code, and the type of authentication (bean or container).
- * Example:
- * <resource-ref>
- * <res-ref-name>EmployeeAppDB<//res-ref-name>
- * <res-type>javax.sql.DataSource<//res-type>
- * <res-auth>Container<//res-auth>
- * <//resource-ref>
- */
-public interface ResourceRef extends EObject{
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the Description attribute
- * The description element is used by the ejb-jar file producer to provide text
- * describing the parent element. The description element should include any
- * information that the ejb-jar file producer wants to provide to the consumer of
- * the ejb-jar file (i.e. to the Deployer). Typically, the tools used by the
- * ejb-jar file consumer will display the description when processing the parent
- * element.
- */
- String getDescription();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param value The new value of the Description attribute
- */
- void setDescription(String value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the Name attribute
- * The res-ref-name element specifies the name of the resource factory reference
- * name. The resource factory reference name is the name of the application
- * client's environment entry whose value contains the JNDI name of the data
- * source.
- */
- String getName();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param value The new value of the Name attribute
- */
- void setName(String value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the Type attribute
- * The res-type element specifies the type of the data source. The type is
- * specified by the Java interface (or class) expected to be implemented by the
- * data source.
- */
- String getType();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param value The new value of the Type attribute
- */
- void setType(String value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the Auth attribute
- * The res-auth element specifies whether the enterprise bean code signs on
- * programmatically to the resource manager, or whether the Container will sign on
- * to the resource manager on behalf of the bean. In the latter case, the
- * Container uses information that is supplied by the Deployer. The value of this
- * element must be one of the two following:
- * <res-auth>Application<//res-auth>
- * <res-auth>Container<//res-auth>
- */
- ResAuthTypeBase getAuth();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.j2ee.internal.common.ResourceRef#getAuth <em>Auth</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Auth</em>' attribute.
- * @see org.eclipse.jst.j2ee.internal.common.ResAuthTypeBase
- * @see #isSetAuth()
- * @see #unsetAuth()
- * @see #getAuth()
- * @generated
- */
- void setAuth(ResAuthTypeBase value);
-
- /**
- * Unsets the value of the '{@link org.eclipse.jst.j2ee.internal.common.ResourceRef#getAuth <em>Auth</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetAuth()
- * @see #getAuth()
- * @see #setAuth(ResAuthTypeBase)
- * @generated
- */
- void unsetAuth();
-
- /**
- * Returns whether the value of the '{@link org.eclipse.jst.j2ee.internal.common.ResourceRef#getAuth <em>Auth</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Auth</em>' attribute is set.
- * @see #unsetAuth()
- * @see #getAuth()
- * @see #setAuth(ResAuthTypeBase)
- * @generated
- */
- boolean isSetAuth();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the Link attribute
- */
- String getLink();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param value The new value of the Link attribute
- */
- void setLink(String value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the ResSharingScope attribute
- * The res-sharing-scope element specifies whether connections obtained
- * through the given resource manager connection factory reference can be
- * shared. The value of this element, if specified, must be one of the
- * two following: Shareable, Unshareable
- *
- * The default value is Shareable.
-
- */
- ResSharingScopeType getResSharingScope();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.j2ee.internal.common.ResourceRef#getResSharingScope <em>Res Sharing Scope</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Res Sharing Scope</em>' attribute.
- * @see org.eclipse.jst.j2ee.internal.common.ResSharingScopeType
- * @see #isSetResSharingScope()
- * @see #unsetResSharingScope()
- * @see #getResSharingScope()
- * @generated
- */
- void setResSharingScope(ResSharingScopeType value);
-
- /**
- * Unsets the value of the '{@link org.eclipse.jst.j2ee.internal.common.ResourceRef#getResSharingScope <em>Res Sharing Scope</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetResSharingScope()
- * @see #getResSharingScope()
- * @see #setResSharingScope(ResSharingScopeType)
- * @generated
- */
- void unsetResSharingScope();
-
- /**
- * Returns whether the value of the '{@link org.eclipse.jst.j2ee.internal.common.ResourceRef#getResSharingScope <em>Res Sharing Scope</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Res Sharing Scope</em>' attribute is set.
- * @see #unsetResSharingScope()
- * @see #getResSharingScope()
- * @see #setResSharingScope(ResSharingScopeType)
- * @generated
- */
- boolean isSetResSharingScope();
-
- /**
- * Returns the value of the '<em><b>Descriptions</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jst.j2ee.internal.common.Description}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Descriptions</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Descriptions</em>' containment reference list.
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getResourceRef_Descriptions()
- * @model type="org.eclipse.jst.j2ee.internal.common.Description" containment="true"
- * @generated
- */
- EList getDescriptions();
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/RunAsSpecifiedIdentity.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/RunAsSpecifiedIdentity.java
deleted file mode 100644
index d39ecc41b..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/RunAsSpecifiedIdentity.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.common;
-
-
-
-/**
- * The security-identity element specifies whether the caller's security identity is to be used for the execution of the methods of the enterprise bean or whether a specific run-as identity is to be used. It contains an optional description and a specification of the security identity to be used.
-
- */
-public interface RunAsSpecifiedIdentity extends SecurityIdentity{
- /**
- * @generated This field/method will be replaced during code generation
- * @return The Identity reference
- * Optional specifies the run-as identity to be used for the execution of the
- * methods of an enterprise bean. It contains an optional description, and the
- * name of a security role.
- */
- Identity getIdentity();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param l The new value of the Identity reference
- */
- void setIdentity(Identity value);
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/SecurityIdentity.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/SecurityIdentity.java
deleted file mode 100644
index 60a07741c..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/SecurityIdentity.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.common;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-/**
- * The security-identity element specifies whether the caller's security identity is to be used for the execution of the methods of the enterprise bean or whether a specific run-as identity is to be used. It
- * contains an optional description and a specification of the security identity to be used.
-
- */
-public interface SecurityIdentity extends EObject{
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the Description attribute
- */
- String getDescription();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param value The new value of the Description attribute
- */
- void setDescription(String value);
-
- /**
- * Returns the value of the '<em><b>Descriptions</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jst.j2ee.internal.common.Description}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Descriptions</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * @version J2EE1.4
- * <!-- end-model-doc -->
- * @return the value of the '<em>Descriptions</em>' containment reference list.
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getSecurityIdentity_Descriptions()
- * @model type="org.eclipse.jst.j2ee.internal.common.Description" containment="true"
- * @generated
- */
- EList getDescriptions();
-
- boolean isRunAsSpecifiedIdentity();
-
- boolean isUseCallerIdentity();
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/SecurityRole.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/SecurityRole.java
deleted file mode 100644
index ba050bbf1..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/SecurityRole.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.common;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-/**
- * A semantic grouping of operations that may be performed by a subject.
- * The security-role element contains the declaration of a security role which is used in the security-constraints placed on the web application.
- */
-public interface SecurityRole extends EObject{
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the Description attribute
- */
- String getDescription();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param value The new value of the Description attribute
- */
- void setDescription(String value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the RoleName attribute
- * The role-name element contains the name of a role. This element must contain a
- * non-empty string.
-
- */
- String getRoleName();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param value The new value of the RoleName attribute
- */
- void setRoleName(String value);
-
- /**
- * Returns the value of the '<em><b>Descriptions</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jst.j2ee.internal.common.Description}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Descriptions</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Descriptions</em>' containment reference list.
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getSecurityRole_Descriptions()
- * @model type="org.eclipse.jst.j2ee.internal.common.Description" containment="true"
- * @generated
- */
- EList getDescriptions();
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/SecurityRoleRef.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/SecurityRoleRef.java
deleted file mode 100644
index 10b7e1f51..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/SecurityRoleRef.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.common;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * @generated
- */
-public interface SecurityRoleRef extends EObject{
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the Name attribute
- */
- String getName();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param value The new value of the Name attribute
- */
- void setName(String value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the Description attribute
- * The description element is used by the ejb-jar file producer to provide text
- * describing the parent element. The description element should include any
- * information that the ejb-jar file producer wants to provide to the consumer of
- * the ejb-jar file (i.e. to the Deployer). Typically, the tools used by the
- * ejb-jar file consumer will display the description when processing the parent
- * element.
- */
- String getDescription();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param value The new value of the Description attribute
- */
- void setDescription(String value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the Link attribute
- * The role-link element is used to link a security role reference to a defined
- * security role. The role-link element must contain the name of one of the
- * security roles defined in the security-role elements.
- */
- String getLink();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param value The new value of the Link attribute
- */
- void setLink(String value);
-
- /**
- * Returns the value of the '<em><b>Descriptions</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jst.j2ee.internal.common.Description}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Descriptions</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Descriptions</em>' containment reference list.
- * @see org.eclipse.jst.j2ee.internal.common.CommonPackage#getSecurityRoleRef_Descriptions()
- * @model type="org.eclipse.jst.j2ee.internal.common.Description" containment="true"
- * @generated
- */
- EList getDescriptions();
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/UseCallerIdentity.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/UseCallerIdentity.java
deleted file mode 100644
index 7e0282435..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/common/UseCallerIdentity.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.common;
-
-
-
-/**
- * The use-caller-identity element specifies that the caller's security identity be used as the security identity for the execution of the enterprise bean's methods.
-
- */
-public interface UseCallerIdentity extends SecurityIdentity{
- //UseCallerIdentity
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/AcknowledgeMode.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/AcknowledgeMode.java
deleted file mode 100644
index a7bee7f11..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/AcknowledgeMode.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.ejb;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.common.util.AbstractEnumerator;
-
-
-
-
-
-/**
- * @lastgen interface AcknowledgeMode {}
- */
-public final class AcknowledgeMode extends AbstractEnumerator{
- /**
- * @generated This field/method will be replaced during code generation.
- */
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public static final int AUTO_ACKNOWLEDGE= 0;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public static final int DUPS_OK_ACKNOWLEDGE= 1;
-
- /**
- * The '<em><b>Auto Acknowledge</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>Auto Acknowledge</b></em>' literal object isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @see #AUTO_ACKNOWLEDGE
- * @ordered
- */
- public static final AcknowledgeMode AUTO_ACKNOWLEDGE_LITERAL = new AcknowledgeMode(AUTO_ACKNOWLEDGE, "Auto-acknowledge"); //$NON-NLS-1$
-
- /**
- * The '<em><b>Dups Ok Acknowledge</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>Dups Ok Acknowledge</b></em>' literal object isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @see #DUPS_OK_ACKNOWLEDGE
- *TODO: generate correctly
- * @ordered
- */
- public static final AcknowledgeMode DUPS_OK_ACKNOWLEDGE_LITERAL = new AcknowledgeMode(DUPS_OK_ACKNOWLEDGE, "Dups-ok-acknowledge"); //$NON-NLS-1$
-
- /**
- * An array of all the '<em><b>Acknowledge Mode</b></em>' enumerators.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private static final AcknowledgeMode[] VALUES_ARRAY =
- new AcknowledgeMode[] {
- AUTO_ACKNOWLEDGE_LITERAL,
- DUPS_OK_ACKNOWLEDGE_LITERAL,
- };
-
- /**
- * A public read-only list of all the '<em><b>Acknowledge Mode</b></em>' enumerators.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
-
- /**
- * Returns the '<em><b>Acknowledge Mode</b></em>' literal with the specified name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static AcknowledgeMode get(String name) {
- for (int i = 0; i < VALUES_ARRAY.length; ++i) {
- AcknowledgeMode result = VALUES_ARRAY[i];
- if (result.toString().equals(name)) {
- return result;
- }
- }
- return null;
- }
-
- /**
- * Returns the '<em><b>Acknowledge Mode</b></em>' literal with the specified value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static AcknowledgeMode get(int value) {
- switch (value) {
- case AUTO_ACKNOWLEDGE: return AUTO_ACKNOWLEDGE_LITERAL;
- case DUPS_OK_ACKNOWLEDGE: return DUPS_OK_ACKNOWLEDGE_LITERAL;
- }
- return null;
- }
-
- /**
- * Only this class can construct instances.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private AcknowledgeMode(int value, String name) {
- super(value, name);
- }
-
-} //AcknowledgeMode
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/ActivationConfig.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/ActivationConfig.java
deleted file mode 100644
index 2cc1a9207..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/ActivationConfig.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.ejb;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Activation Config</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * @version J2EE1.4
- * The activation-configType defines information about the
- * expected configuration properties of the message-driven bean
- * in its operational environment. This may include information
- * about message acknowledgement, message selector, expected
- * destination type, etc.
- *
- * The configuration information is expressed in terms of
- * name/value configuration properties.
- *
- * The properties that are recognized for a particular
- * message-driven bean are determined by the messaging type.
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jst.j2ee.internal.ejb.ActivationConfig#getConfigProperties <em>Config Properties</em>}</li>
- * <li>{@link org.eclipse.jst.j2ee.internal.ejb.ActivationConfig#getDescriptions <em>Descriptions</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.j2ee.internal.ejb.EjbPackage#getActivationConfig()
- * @model
- * @generated
- */
-public interface ActivationConfig extends EObject{
- /**
- * Returns the value of the '<em><b>Config Properties</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jst.j2ee.internal.ejb.ActivationConfigProperty}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Config Properties</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Config Properties</em>' containment reference list.
- * @see org.eclipse.jst.j2ee.internal.ejb.EjbPackage#getActivationConfig_ConfigProperties()
- * @model type="org.eclipse.jst.j2ee.internal.ejb.ActivationConfigProperty" containment="true" required="true"
- * @generated
- */
- EList getConfigProperties();
-
- /**
- * Returns the value of the '<em><b>Descriptions</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jst.j2ee.internal.common.Description}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Descriptions</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Descriptions</em>' containment reference list.
- * @see org.eclipse.jst.j2ee.internal.ejb.EjbPackage#getActivationConfig_Descriptions()
- * @model type="org.eclipse.jst.j2ee.internal.common.Description" containment="true"
- * @generated
- */
- EList getDescriptions();
-
-} // ActivationConfig
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/ActivationConfigProperty.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/ActivationConfigProperty.java
deleted file mode 100644
index 740a630b0..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/ActivationConfigProperty.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.ejb;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Activation Config Property</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * @version J2EE1.4
- * The activation-config-propertyType contains a name/value
- * configuration property pair for a message-driven bean.
- *
- * The properties that are recognized for a particular
- * message-driven bean are determined by the messaging type.
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jst.j2ee.internal.ejb.ActivationConfigProperty#getValue <em>Value</em>}</li>
- * <li>{@link org.eclipse.jst.j2ee.internal.ejb.ActivationConfigProperty#getName <em>Name</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.j2ee.internal.ejb.EjbPackage#getActivationConfigProperty()
- * @model
- * @generated
- */
-public interface ActivationConfigProperty extends EObject{
- /**
- * Returns the value of the '<em><b>Value</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Value</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * The activation-config-property-value element
- * contains the value for an activation configuration
- * property of a message-driven bean.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Value</em>' attribute.
- * @see #setValue(String)
- * @see org.eclipse.jst.j2ee.internal.ejb.EjbPackage#getActivationConfigProperty_Value()
- * @model
- * @generated
- */
- String getValue();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.j2ee.internal.ejb.ActivationConfigProperty#getValue <em>Value</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Value</em>' attribute.
- * @see #getValue()
- * @generated
- */
- void setValue(String value);
-
- /**
- * Returns the value of the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Name</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * The activation-config-property-name element contains
- * the name for an activation configuration property of
- * a message-driven bean.
- *
- * For JMS message-driven beans, the following property
- * names are recognized: acknowledgeMode,
- * messageSelector, destinationType, subscriptionDurability
- * <!-- end-model-doc -->
- * @return the value of the '<em>Name</em>' attribute.
- * @see #setName(String)
- * @see org.eclipse.jst.j2ee.internal.ejb.EjbPackage#getActivationConfigProperty_Name()
- * @model
- * @generated
- */
- String getName();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.j2ee.internal.ejb.ActivationConfigProperty#getName <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Name</em>' attribute.
- * @see #getName()
- * @generated
- */
- void setName(String value);
-
-} // ActivationConfigProperty
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/AssemblyDescriptor.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/AssemblyDescriptor.java
deleted file mode 100644
index 312b8e86b..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/AssemblyDescriptor.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.ejb;
-
-import java.util.List;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.jst.j2ee.common.SecurityRole;
-
-/**
- * The assembly-descriptor element contains application-assembly information. The application-assembly information consists of the following parts: the definition of security roles, the definition of method permissions, and the definition of transaction attributes for enterprise beans with container-managed transaction demarcation. All the parts are optional in the sense that they are omitted if the lists represented by them are empty. Providing an assembly-descriptor in the deployment descriptor is optional for the ejb-jar file producer.
- */
-public interface AssemblyDescriptor extends EObject{
-
-/**
- * Return the first method permission that contains all the roles in securityRoles and
- * is the same size
- */
-MethodPermission getMethodPermission(List securityRoles);
-/**
- * Return a List of MethodElements for @anEJB going
- * through the MethodPermissions.
- */
-List getMethodPermissionMethodElements(EnterpriseBean anEJB) ;
-/**
- * Return a List of MethodElements for @anEJB going
- * through the MethodTransactions.
- */
-List getMethodTransactionMethodElements(EnterpriseBean anEJB) ;
- public SecurityRole getSecurityRoleNamed(String roleName);
-
-/**
- * Rename the security role, if it exists
- */
-public void renameSecurityRole(String existingRoleName, String newRoleName);
- /**
- * @generated This field/method will be replaced during code generation
- * @return The list of MethodPermissions references
- */
- EList getMethodPermissions();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The list of MethodTransactions references
- * Specifies how the container must manage transaction scopes for the enterprise
- * bean's method invocations. The element consists of an optional description, a
- * list of method elements, and a transaction attribute.The transaction attribute
- * is to be applied to all the specified methods.
- */
- EList getMethodTransactions();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The EjbJar reference
- */
- EJBJar getEjbJar();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param l The new value of the EjbJar reference
- */
- void setEjbJar(EJBJar value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The list of SecurityRoles references
- */
- EList getSecurityRoles();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The ExcludeList reference
- */
- ExcludeList getExcludeList();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param l The new value of the ExcludeList reference
- */
- void setExcludeList(ExcludeList value);
-
- /**
- * Returns the value of the '<em><b>Message Destinations</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jst.j2ee.internal.common.MessageDestination}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Message Destinations</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * @version J2EE1.4
- * <!-- end-model-doc -->
- * @return the value of the '<em>Message Destinations</em>' containment reference list.
- * @see org.eclipse.jst.j2ee.internal.ejb.EjbPackage#getAssemblyDescriptor_MessageDestinations()
- * @model type="org.eclipse.jst.j2ee.internal.common.MessageDestination" containment="true"
- * @generated
- */
- EList getMessageDestinations();
-
- /**
- * Remove the MethodElements that are referencing @anEJB.
- */
- void removeData(EnterpriseBean anEJB) ;
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/CMPAttribute.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/CMPAttribute.java
deleted file mode 100644
index 35ec45fb9..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/CMPAttribute.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.ejb;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.jem.java.Field;
-import org.eclipse.jem.java.JavaHelpers;
-/**
- * Describes a container-managed field. The field element includes an optional description of the field, and the name of the field.
-
- */
-public interface CMPAttribute extends EAttribute{
-
-/**
- * @deprecated - With EJB 2.0, assuming a Java field is no longer safe.
- * Use getType() and getName() to get the most common field info.
- * Or use getEjbClass() to get additional Java info.
- */
-
-Field getField() ;
-String getGetterName();
-/**
- * Return the type of this attribute in its original form (i.e., unwrapped if
- * the type has been wrapped).
- */
-public JavaHelpers getOriginatingType() ;
-String getSetterName();
-JavaHelpers getType() ;
-boolean isCMRField() ;
-boolean isKey() ;
-/**
- * Returns true if this field is a primkey-field in the deployment descriptor.
- * @return
- */
-public boolean isPrimKeyField();
-public void setOriginatingType(JavaHelpers newOriginatingType) ;
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the Description attribute
- * The description is used by the ejb-jar file producer to provide text describing
- * the cmr field.
- *
- * The description should include any information that the ejb-jar file producer
- * wants to provide to the consumer of the ejb-jar file (i.e. to the Deployer).
- * Typically, the tools used by the ejb-jar file consumer will display the
- * description when processing the list of dependents.
- */
- String getDescription();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param value The new value of the Description attribute
- */
- void setDescription(String value);
-
- /**
- * Returns the value of the '<em><b>Descriptions</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jst.j2ee.internal.common.Description}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Descriptions</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * @version J2EE1.4
- * <!-- end-model-doc -->
- * @return the value of the '<em>Descriptions</em>' containment reference list.
- * @see org.eclipse.jst.j2ee.internal.ejb.EjbPackage#getCMPAttribute_Descriptions()
- * @model type="org.eclipse.jst.j2ee.internal.common.Description" containment="true"
- * @generated
- */
- EList getDescriptions();
-
- /**
- * Return true if a targetAttribute exists.
- */
- boolean isDerived();
-
- void setDerived(boolean aBoolean);
-
-}
-
-
-
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/CMRField.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/CMRField.java
deleted file mode 100644
index baf5ed1ba..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/CMRField.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.ejb;
-
-import org.eclipse.jem.java.JavaClass;
-/**
- * Describes the bean provider's view of a relationship. It consists of an optional description, and the name and the class type of a field in the source of a role of a relationship. The CMRField::name element corresponds to the name used for the get and set accessor methods for the relationship. The CMRField::type element is used only for collection-valued CMRFields. It specifies the type of the collection that is used (a java class name).
- *
-
- */
-public interface CMRField extends CMPAttribute{
-
- public String getCollectionTypeName();
-public void setCollectionTypeName(String typeName);
- /**
- * @generated This field/method will be replaced during code generation
- * @return The Role reference
- */
- EJBRelationshipRole getRole();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param l The new value of the Role reference
- */
- void setRole(EJBRelationshipRole value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The CollectionType reference
- */
- JavaClass getCollectionType();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param l The new value of the CollectionType reference
- */
- void setCollectionType(JavaClass value);
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/CommonRelationship.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/CommonRelationship.java
deleted file mode 100644
index 3cee916d8..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/CommonRelationship.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.ejb;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-/**
- * Insert the type's description here.
- * Creation date: (10/26/2001 9:24:27 AM)
- * @author: Administrator
- */
-public interface CommonRelationship extends EObject {
-public EList getCommonRoles();
-public CommonRelationshipRole getFirstCommonRole();
-public CommonRelationshipRole getSecondCommonRole();
-public String getName();
-public void setName(String value);
-}
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/CommonRelationshipRole.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/CommonRelationshipRole.java
deleted file mode 100644
index 498b0f07c..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/CommonRelationshipRole.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.ejb;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-/**
- * Insert the type's description here.
- * Creation date: (10/26/2001 9:24:27 AM)
- * @author: Administrator
- */
-public interface CommonRelationshipRole extends EObject {
-/**
- * Return the persistentAttributes from my Entity that are used
- * by this role.
- */
-
-public EList getAttributes();
-/**
- * Return our parent relationship as a CommonRelationship
- */
-
-public CommonRelationship getCommonRelationship();
-
-
-/**
- * @return The value of the Name attribute
- * Defines a name for a role that is unique within an ejb-relation. Different relationships can use the same name for a role.
-
- */
- public String getName();
-/**
- * Return the actual name of this role. This is the name defined in the Deployment
- * Descriptor. You should use <code>getName()</code> for the name to use in code
- * generation.
- */
-String getRoleName();
-/**
- * Return the other role.
- */
-
-CommonRelationshipRole getOppositeAsCommonRole() ;
-/**
- * @return The Source ejb
- * Compute the ContainerManagedEntity which is the source of a role that participates in a relationship.
- */
-public ContainerManagedEntity getSourceEntity();
-
-/**
- * @return The type ejb
- * Compute the ContainerManagedEntity which is the type of a role that participates in a relationship.
- */
-public ContainerManagedEntity getTypeEntity();
-/**
-* @return The computed value of the isForward attribute
-* Specifies whether this role should be mapped to a persistent reference, such as a foreign key.
-*/
-public boolean isForward();
-/**
-* @return The computed value isKey
-*/
-public boolean isKey();
-
-/**
- * This method should be used as a hint about the key status of the role.
- */
-public void setKey(boolean aBoolean) ;
-/**
-* @return The computed value isMany
-* Returns whether the upper limit of our multiplicity is > 1
-*/
-public boolean isMany();
-
-/**
-*
-* sets the upper limit of our multiplicity
-*/
-public void setUpper(int upperBound);
-
-/**
-*
-* sets the lower limit of our multiplicity
-*/
-public void setLower(int lowerBound);
-
-/**
-* @return The computed value of the isNavigable attribute
-* Specifies that accessors should be generated for this relationship role.
-*/
-public boolean isNavigable();
-public String getTargetAttributeName(CMPAttribute roleAttribute);
-
-void reconcileAttributes();
- /**
- * Method isRequired.
- * @return boolean
- */
- boolean isRequired();
-}
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/ContainerManagedEntity.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/ContainerManagedEntity.java
deleted file mode 100644
index 376bc25ee..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/ContainerManagedEntity.java
+++ /dev/null
@@ -1,235 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.ejb;
-
-import java.util.List;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.jem.java.Field;
-
-/**
- * @generated
- */
-public interface ContainerManagedEntity extends Entity{
-
- String VERSION_1_X = "1.x"; //$NON-NLS-1$
- String VERSION_2_X = "2.x"; //$NON-NLS-1$
- String WAS_GENERATED_STRING_KEY = "com.ibm.ws.ejbpersistence.dataaccess.GeneratedStringPK"; //$NON-NLS-1$
- String WAS_GENERATED_STRING_FIELD = "wasGenUnknownkeyValue"; //$NON-NLS-1$
- String UNKNOWN_PRIMARY_KEY = "java.lang.Object"; //$NON-NLS-1$
- String JAVA_LANG_STRING = "java.lang.String"; //$NON-NLS-1$
- int DERIVED_FLAG_CHANGE = 301;
-public CMPAttribute addKeyAttributeName(String aName);
-
-public abstract CMPAttribute addPersistentAttribute(Field aField) ;
-public abstract CMPAttribute addPersistentAttributeName(String aName) ;
-/**
- * Return the keyAttribute with aName.
- * Creation date: (8/8/2000 9:25:27 PM)
- * @return EStructuralFeature
- * @param aName java.lang.String
- */
-CMPAttribute getKeyAttribute(String aName) ;
-/**
- * Return the persistentAttribute with aName.
- * Creation date: (8/8/2000 9:25:27 PM)
- * @return EStructuralFeature
- * @param aName java.lang.String
- */
-CMPAttribute getPersistentAttribute(String aName) ;
-/**
- * If a primary key exists, return the persistent attribute; the primary key is defined as one and only one
- * key attribute, whose type is the same as the key class
- * @deprecated - Use getPrimKeyField()
- */
-CMPAttribute getPrimaryKeyAttribute();
-
-public boolean isContainerManagedEntity();
-public boolean isVersion1_X();
-public boolean isVersion2_X();
-public boolean isKeyAttribute(CMPAttribute anAttribute);
-/*
- * Return whether this bean represents an instance of the "unknown primary key" case
- * described in the specification. This is identified by the primary key class
- * being specified as "java.lang.Object".
- * In order to deploy an unknown primary key bean, we must substitute a real key,
- * and add a corresponding field.
- */
-public boolean isUnknownPrimaryKey();
-public String[] listPersistentFieldNames();
-
-CMPAttribute removePersistentAttribute(Field aField) ;
-/**
- * Remove the persistentAttribute named aName.
- * Creation date: (8/2/2000 8:59:32 PM)
- * @param aName java.lang.String
- */
-CMPAttribute removePersistentAttribute(String aName) ;
-/**
- * @generated This field/method will be replaced during code generation
- * @return The value of the Version attribute
- * Specifies the version of an entity bean with container-managed persistence.
- *
- * @invariant The cmp-version element must be one of the two following: 1.x , 2.x
- * @default 2.x
-
- */
- String getVersion();
-
- /**
- * This returns the module version id. Compare with J2EEVersionConstants to determine module level
- */
- public int getCMPVersionID() throws IllegalStateException ;
-
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param value The new value of the Version attribute
- */
- void setVersion(String value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the AbstractSchemaName attribute
- * The abstract-schema-name element specifies the name of the abstract schema type
- * of an entity bean with cmp-version 2.x. It is used in EJB QL queries.
- *
- * For example, the abstract-schema-name for an entity bean whose local interface
- * is com.acme.commerce.Order might be Order.
- *
-
- */
- String getAbstractSchemaName();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param value The new value of the AbstractSchemaName attribute
- */
- void setAbstractSchemaName(String value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The list of PersistentAttributes references
- */
- EList getPersistentAttributes();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The list of KeyAttributes references
- */
- EList getKeyAttributes();
-
- /**
- * Returns the value of the '<em><b>Queries</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jst.j2ee.internal.ejb.Query}.
- * It is bidirectional and its opposite is '{@link org.eclipse.jst.j2ee.internal.ejb.Query#getEntity <em>Entity</em>}'.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Queries</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * @version J2EE1.4 moved from CME
- * The optional query elements must be present if the persistence-type is Container and the cmp-version is 2.x and query methods other than findByPrimaryKey have been defined for the entity bean.
- *
- * @invariant see description
- *
- * <!-- end-model-doc -->
- * @return the value of the '<em>Queries</em>' containment reference list.
- * @see org.eclipse.jst.j2ee.internal.ejb.EjbPackage#getContainerManagedEntity_Queries()
- * @see org.eclipse.jst.j2ee.internal.ejb.Query#getEntity
- * @model type="org.eclipse.jst.j2ee.internal.ejb.Query" opposite="entity" containment="true"
- * @generated
- */
- EList getQueries();
-
- /**
- * Returns the value of the '<em><b>CMP Attribute</b></em>' reference list.
- * The list contents are of type {@link org.eclipse.jst.j2ee.internal.ejb.CMPAttribute}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>CMP Attribute</em>' reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>CMP Attribute</em>' reference list.
- * @see org.eclipse.jst.j2ee.internal.ejb.EjbPackage#getContainerManagedEntity_CMPAttribute()
- * @model type="org.eclipse.jst.j2ee.internal.ejb.CMPAttribute"
- * @generated
- */
- EList getCMPAttribute();
-
- /**
- * Returns the value of the '<em><b>Prim Key Field</b></em>' reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Prim Key Field</em>' reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Prim Key Field</em>' reference.
- * @see #setPrimKeyField(CMPAttribute)
- * @see org.eclipse.jst.j2ee.internal.ejb.EjbPackage#getContainerManagedEntity_PrimKeyField()
- * @model
- * @generated
- */
- CMPAttribute getPrimKeyField();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.j2ee.internal.ejb.ContainerManagedEntity#getPrimKeyField <em>Prim Key Field</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Prim Key Field</em>' reference.
- * @see #getPrimKeyField()
- * @generated
- */
- void setPrimKeyField(CMPAttribute value);
-
- /**
- * Return a List of all the available Query methods for the Home and Local Home interfaces.
- */
- List getAvailableFindQueryMethods() ;
- /**
- * Return a List of all the available Query methods for the Bean class.
- */
- List getAvailableSelectQueryMethods();
- /**
- * Return a List, sorted by signature, of all the available Query methods
- * on the remote Home, local Home, or ejbSelect methods on the bean class
- */
- List getAllAvailableQueryMethods();
- public List getFilteredFeatures(EJBExtensionFilter aFilter);
- public void makePrimKeyFieldProxy();
- /**
- * @return The list of all CMR fields for this bean.
- */
- public List getCMRFields();
- /**
- * @return The list of all roles where this bean is the source.
- * @link CommonRelationshipRole
- */
- public List getRoles();
-
- /**
- * Return a specific CommonRelationshipRole which has a named role
- * that is equal to <code>roleName</code>.
- * @see CommonRelationshipRole
- */
- public CommonRelationshipRole getRole(String roleName);
-
-}
-
-
-
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/DestinationType.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/DestinationType.java
deleted file mode 100644
index a017f8536..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/DestinationType.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.ejb;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.common.util.AbstractEnumerator;
-
-
-
-
-
-/**
- * @lastgen interface DestinationType {}
- */
-public final class DestinationType extends AbstractEnumerator{
- /**
- * @generated This field/method will be replaced during code generation.
- */
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public static final int QUEUE= 0;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public static final int TOPIC= 1;
-
- /**
- * The '<em><b>Queue</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>Queue</b></em>' literal object isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @see #QUEUE
- * @generated
- * @ordered
- */
- public static final DestinationType QUEUE_LITERAL = new DestinationType(QUEUE, "Queue"); //$NON-NLS-1$
-
- /**
- * The '<em><b>Topic</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>Topic</b></em>' literal object isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @see #TOPIC
- * @generated
- * @ordered
- */
- public static final DestinationType TOPIC_LITERAL = new DestinationType(TOPIC, "Topic"); //$NON-NLS-1$
-
- /**
- * An array of all the '<em><b>Destination Type</b></em>' enumerators.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private static final DestinationType[] VALUES_ARRAY =
- new DestinationType[] {
- QUEUE_LITERAL,
- TOPIC_LITERAL,
- };
-
- /**
- * A public read-only list of all the '<em><b>Destination Type</b></em>' enumerators.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
-
- /**
- * Returns the '<em><b>Destination Type</b></em>' literal with the specified name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static DestinationType get(String name) {
- for (int i = 0; i < VALUES_ARRAY.length; ++i) {
- DestinationType result = VALUES_ARRAY[i];
- if (result.toString().equals(name)) {
- return result;
- }
- }
- return null;
- }
-
- /**
- * Returns the '<em><b>Destination Type</b></em>' literal with the specified value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static DestinationType get(int value) {
- switch (value) {
- case QUEUE: return QUEUE_LITERAL;
- case TOPIC: return TOPIC_LITERAL;
- }
- return null;
- }
-
- /**
- * Only this class can construct instances.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private DestinationType(int value, String name) {
- super(value, name);
- }
-
-} //DestinationType
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/EJBExtensionFilter.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/EJBExtensionFilter.java
deleted file mode 100644
index abec44772..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/EJBExtensionFilter.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.ejb;
-
-import java.util.List;
-
-/**
- * Insert the type's description here.
- * Creation date: (11/28/2000 5:31:53 PM)
- * @author: Administrator
- */
-public interface EJBExtensionFilter {
-List filter(EnterpriseBean ejb) ;
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/EJBJar.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/EJBJar.java
deleted file mode 100644
index f8ba24bb2..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/EJBJar.java
+++ /dev/null
@@ -1,231 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.ejb;
-
-import java.util.List;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jst.j2ee.common.CompatibilityDescriptionGroup;
-import org.eclipse.jst.j2ee.common.EjbRef;
-
-/**
- * The root element of the EJB deployment descriptor. It contains an optional description of the ejb-jar file; optional display name; optional small icon file name; optional large icon file
- * name; mandatory structural information about all included enterprise beans; a descriptor for container managed relationships, if any; an optional application-assembly descriptor; and an optional name of an ejb-client-jar file for the ejb-jar.
- */
-public interface EJBJar extends CompatibilityDescriptionGroup{
-
-/**
- * Return true if there are any ContainerManagedEntity beans in this jar.
- */
-boolean containsContainerManagedBeans() ;
-public boolean containsSecurityRole(String name);
-/**
- * Return List of BeanManaged beans in this jar.
- * @return java.util.List
- */
-List getBeanManagedBeans() ;
-/**
- * Return List of ContainerManagedEntity beans in this jar.
- * @return java.util.List
- */
-List getContainerManagedBeans() ;
-/**
- * Return List of EJB 1.1 ContainerManagedEntity beans in this jar.
- * @return java.util.List
- */
-List getEJB11ContainerManagedBeans() ;
-/**
- * Return List of EJB 2.0 ContainerManagedEntity beans in this jar.
- * @return java.util.List
- */
-List getEJB20ContainerManagedBeans() ;
-/**
- * Return List of MessageDriven beans in this jar.
- * @return java.util.List
- */
-List getMessageDrivenBeans() ;
- /**
- * @return The list of EjbRelations references
- * A list of ejb-relation elements, which specify the container managed relationships.
- */
- public List getEjbRelations();
-/**
- * Return an enterprise bean referenced by the EjbRef, if one exists. The ejb-link value
- * of the ref must equate to a named enterprise bean contained in the jar; otherwise return
- * null
- */
-public EnterpriseBean getEnterpiseBeanFromRef(EjbRef ref);
- public EnterpriseBean getEnterpriseBeanNamed(String ejbName);
-/**
- * Return ALL EnterpriseBean(s) that are referencing @aJavaClass as a
- * home, remote, bean class, or key class.
- */
-List getEnterpriseBeansWithReference(JavaClass aJavaClass) ;
-/**
- * Return the *FIRST* EnterpriseBean that is referencing @aJavaClass as its
- * home, remote, bean class, or key class.
- */
-EnterpriseBean getEnterpriseBeanWithReference(JavaClass aJavaClass) ;
-/**
- * Return List of Session beans in this jar.
- * @return java.util.List
- */
-List getSessionBeans() ;
-/**
- * Return boolean indicating if this EJB JAR was populated from an EJB 1.1 descriptor
- * @return boolean
- * @deprecated Use getVersionID() to determine module level
- */
-boolean isVersion1_1Descriptor() ;
-/**
- * Return boolean indicating if this EJB JAR was populated from an EJB 2.0 descriptor
- * @return boolean
- * @deprecated Use getVersionID() to determine module level
- */
-boolean isVersion2_0Descriptor() ;
-/**
- * Rename the security role contained in the assembly descriptor; for each enterprise bean, fix the role-link on any contained role
- * refs
- */
-public void renameSecurityRole(String existingRoleName, String newRoleName);
- /**
- *This returns the j2ee version id. Compare with J2EEVersionConstants to determine j2ee level
- */
- public int getJ2EEVersionID() throws IllegalStateException ;
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the EjbClientJar attribute
- * The optional ejb-client-jar element specifies a JAR file that contains the
- * class files necessary for a client program to access the enterprise beans in
- * the ejb-jar file. The Deployer should make the ejb-client JAR file accessible
- * to the client's class-loader.
- * Example:<ejb-client-jar>employee_service_client.jar<//ejb-client-jar>
-
- */
- String getEjbClientJar();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param value The new value of the EjbClientJar attribute
- */
- void setEjbClientJar(String value);
-
- /**
- * Returns the value of the '<em><b>Version</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Version</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * @version J2EE1.4
- * The version specifies the version of the
- * EJB specification that the instance document must
- * comply with. This information enables deployment tools
- * to validate a particular EJB Deployment
- * Descriptor with respect to a specific version of the EJB
- * schema.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Version</em>' attribute.
- * @see #setVersion(String)
- * @see org.eclipse.jst.j2ee.internal.ejb.EjbPackage#getEJBJar_Version()
- * @model
- * @generated
- */
- String getVersion();
-
- /**
- * This returns the module version id. Compare with J2EEVersionConstants to determine module level
- */
- public int getVersionID() throws IllegalStateException ;
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.j2ee.internal.ejb.EJBJar#getVersion <em>Version</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Version</em>' attribute.
- * @see #getVersion()
- * @generated
- */
- void setVersion(String value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The AssemblyDescriptor reference
- */
- AssemblyDescriptor getAssemblyDescriptor();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param l The new value of the AssemblyDescriptor reference
- */
- void setAssemblyDescriptor(AssemblyDescriptor value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The list of EnterpriseBeans references
- * The enterprise-beans element contains the declarations of one or more
- * enterprise beans.
- */
- EList getEnterpriseBeans();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The RelationshipList reference
- * The relationships collection describes the relationships in which container
- * managed persistence entity beans and dependent objects participate. The
- * relationships element contains an optional description; a list of
- * ejb-entity-ref elements (references to entity beans that participate in
- * container managed relationships but whose abstract persistence schemas are not
- * included in the ejb-jar file);
- * and a list of ejb-relation elements, which specify the container managed
- * relationships.
- */
- Relationships getRelationshipList();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param l The new value of the RelationshipList reference
- */
- void setRelationshipList(Relationships value);
-
- /**
- * Return the EJBRelationshipRole with the same name as <code>aRoleName</code>
- * that has <code>sourceCMP</code> as its source bean.
- */
- EJBRelationshipRole getRelationshipRole(String aRoleName, ContainerManagedEntity sourceCMP) ;
-
- /**
- * Return the first EJBRelation with the same name as <code>aRelationName</code>.
- */
- EJBRelation getEJBRelation(String aRelationName) ;
-
- /**
- * Return all EJBRelation objects that have an EJBRelationshipRole with a
- * source EJB of <code>cmp</code>.
- */
- List getEJBRelationsForSource(ContainerManagedEntity cmp);
-
- /**
- * Return all EJBRelationshipRole objects that have an EJBRelationshipRole with a
- * type EJB of <code>cmp</code>.
- */
- List getEJBRelationshipRolesForType(ContainerManagedEntity cmp) ;
-}
-
-
-
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/EJBMethodCategory.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/EJBMethodCategory.java
deleted file mode 100644
index 11ce7d0be..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/EJBMethodCategory.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.ejb;
-
-import org.eclipse.emf.ecore.EObject;
-/**
- * The valid EJB method category names are: EJBHOMEMETHOD, EJBCREATEMETHOD, EJBFINDERMETHOD, EJBREMOTEMETHOD.
- */
-public interface EJBMethodCategory extends EObject{
- //EJBMethodCategory
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/EJBRelation.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/EJBRelation.java
deleted file mode 100644
index aeb9ba1db..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/EJBRelation.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.ejb;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-/**
- * The ejb-relation element describes a relationship between two entity beans with container managed persistence. An ejb-relation element contains a description; an optional ejb-relation-name element; and exactly two relationship role declarations, defined by the ejb-relationship-roles. The name of the relationship, if specified, is unique within the ejb-jar file.
- *
- * @invariant The name of the relationship, if specified, is unique within the ejb-jar file.
- * @invariant self.relationshipRoles.size == 2
- * @invariant self.relationshipRoles[0].name != self.relationshipRoles[1].name
- *
- * @migration EJB1.1 Moved from ejbext::EjbRelationshipRole contained under ejbext::EJBJarExtension
- * @migration EJB1.1 added optional attribute, description:String
- * @migration EJB1.1 added optional attribute, name:String (May have been inherited from EObject previously)
- */
-public interface EJBRelation extends EObject,CommonRelationship{
-
-boolean containsRelationshipRole(EJBRelationshipRole aRole) ;
-EJBRelationshipRole getFirstRole() ;
-/**
- * Return the other role.
- */
-
-EJBRelationshipRole getOppositeRole(EJBRelationshipRole aRole) ;
-EJBRelationshipRole getSecondRole() ;
-/**
- * Set the forward role.
- */
-
-void setFoward(EJBRelationshipRole aRole) ;
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the Description attribute
- * The description is used by the ejb-jar file producer to provide text describing
- * the ejb relation.
- *
- * The description should include any information that the ejb-jar file producer
- * wants to provide to the consumer of the ejb-jar file (i.e. to the Deployer).
- * Typically, the tools used by the ejb-jar file consumer will display the
- * description when processing the list of dependents.
- */
- String getDescription();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param value The new value of the Description attribute
- */
- void setDescription(String value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the Name attribute
- * The name of the relationship. If specified, must be unique within the ejb-jar
- * file.
- * @invariant self.name unique within Set<collect(ejbJar.ejbRelations.name)>
- */
- String getName();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param value The new value of the Name attribute
- */
- void setName(String value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The RelationshipList reference
- */
- Relationships getRelationshipList();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param l The new value of the RelationshipList reference
- */
- void setRelationshipList(Relationships value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The list of RelationshipRoles references
- * A collection containing exactly two relationship roles.
- *
- * @migration EJB1.1 Containment used to be by reference on relation--now by value.
-
- */
- EList getRelationshipRoles();
-
- /**
- * Returns the value of the '<em><b>Descriptions</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jst.j2ee.internal.common.Description}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Descriptions</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * @version J2EE1.4
- * <!-- end-model-doc -->
- * @return the value of the '<em>Descriptions</em>' containment reference list.
- * @see org.eclipse.jst.j2ee.internal.ejb.EjbPackage#getEJBRelation_Descriptions()
- * @model type="org.eclipse.jst.j2ee.internal.common.Description" containment="true"
- * @generated
- */
- EList getDescriptions();
-
- /**
- * Return the EJBRelationshipRole with the same name as <code>aRoleName</code>.
- */
- EJBRelationshipRole getRelationshipRole(String aRoleName) ;
-}
-
-
-
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/EJBRelationshipRole.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/EJBRelationshipRole.java
deleted file mode 100644
index 8cd21a567..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/EJBRelationshipRole.java
+++ /dev/null
@@ -1,307 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.j2ee.ejb;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-
-
-/**
- * The ejb-relationship-role element describes a role within a relationship.
- * There are two roles in each relationship. The ejb-relationship-role element contains an optional description; an optional name for the relationship role; a specification of the multiplicity of the role; an optional specification of cascade-delete functionality for the role; the role source; and a declaration of the cmr-field, if any, by means of which the other side of the relationship is accessed from the perspective of the role source. The multiplicity and relationship-role-source element are mandatory. The relationship-role-source element designates an entity-bean by means of an ejb-name element. For bidirectional relationships, both roles of a relationship must declare a relationship-role-source element that specifies a cmr-field in terms of which the relationship is accessed. The lack of a cmr-field element in an ejb-relationship-role specifies that the relationship is unidirectional in navigability and that entity bean that participates in the relationship is "not aware" of the relationship.
- *
- * @invariant multiplicity != null
- * @invariant roleSource != null
- * @invariant Cascade delete can only be specified in an EJBRelationshipRole element in which the roleSource element specifies a dependent object class.
- * @invariant Cascade delete can only be specified for an EJBRelationshipRole contained in an EJBrelation in which the other EJBRelationshipRole element specifies a multiplicity of One.
- *
- * Example:
- * <ejb-relation>
- * <ejb-relation-name>Product-LineItem<//ejb-relation-name>
- * <ejb-relationship-role>
- * <ejb-relationship-role-name>product-has-lineitems<//ejb-relationship-role-name>
- * <multiplicity>One<//multiplicity>
- * <relationship-role-source>
- * <ejb-name>ProductEJB<//ejb-name>
- * <//relationship-role-source>
- * <//ejb-relationship-role>
- * ...
- */
-public interface EJBRelationshipRole extends EObject,CommonRelationshipRole{
-
-/**
- * @return The logical name which can be used for naming this role.
- * Required to be unique within a JAR.
- * If a cmr-field is defined, then a name in the form %source-ejb-name%_%cmr-field-name% is computed.
- * Otherwise a default ID is generated.
- */
-public String getLogicalName();
-/**
- * Return the other role.
- */
-
-EJBRelationshipRole getOpposite() ;
-/**
- * @return java.lang.String the unique name for this role
- * */
-public java.lang.String getName();
-/**
- * @return The Source ejb
- * Compute the ContainerManagedEntity which is the source of a role that participates in a relationship.
- */
-public ContainerManagedEntity getSourceEntity();
-/**
-* @return The computed value of the isForward attribute
-* Specifies whether this role should be mapped to a persistent reference, such as a foreign key.
-*/
-public boolean isForward();
-/**
-* @return The computed value isMany
-* Returns whether the upper limit of our multiplicity is > 1
-*/
-public boolean isMany();
-/**
-* @return The computed value of the isNavigable attribute
-* Specifies that accessors should be generated for this relationship role.
-*/
-public boolean isNavigable();
-/**
- * Set this role to be the forward role.
- */
-
-void setFoward() ;
-
-public void setName(java.lang.String uniqueName);
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the Description attribute
- * The description is used by the ejb-jar file producer to provide text describing
- * the ejb relationship role.
- *
- * The description should include any information that the ejb-jar file producer
- * wants to provide to the consumer of the ejb-jar file (i.e. to the Deployer).
- * Typically, the tools used by the ejb-jar file consumer will display the
- * description when processing the list of dependents.
- */
- String getDescription();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param value The new value of the Description attribute
- */
- void setDescription(String value);
-
- /**
- * @generated This field/method will be replaced during code generation
- * @return The value of the RoleName attribute
- * Defines a name for a role that is unique within an ejb-relation. Different
- * relationships can use the same name for a role.
-
- */
- String getRoleName();
-
- /**
- * @generated This field/method will be replaced during code generation
- * @param value The new value of the RoleName attribute
- */
- void setRoleName(String value);
-
- /**
- * Returns the value of the '<em><b>Multiplicity</b></em>' attribute.
- * The literals are from the enumeration {@link org.eclipse.jst.j2ee.internal.ejb.MultiplicityKind}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Multiplicity</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * Describes the multiplicity of the role that participates in a relation.
- *
- * The multiplicity element must be one of the two following:
- * One
- * Many
- *
- * <!-- end-model-doc -->
- * @return the value of the '<em>Multiplicity</em>' attribute.
- * @see org.eclipse.jst.j2ee.internal.ejb.MultiplicityKind
- * @see #isSetMultiplicity()